Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
97a7770
fix(store): the local object store writes atomically and keeps conten…
earakely-scale Sep 30, 2026
8ef1ddf
feat(store): the local object store issues HTTPS transfer grants
earakely-scale Sep 30, 2026
a9af97e
fix(store): keep the local CA's public trust files in their own reada…
earakely-scale Sep 30, 2026
e91eea9
fix(store): a recorded content type names the file it describes, and …
earakely-scale Sep 30, 2026
0cbb1ac
Merge remote-tracking branch 'origin/edgararakelyan/local-store-atomi…
earakely-scale Sep 30, 2026
38846c9
fix(store): a process keeps one local CA, and grant uploads bound the…
earakely-scale Sep 30, 2026
1271813
fix(store): a write-once put stays exclusive on a filesystem without …
earakely-scale Sep 30, 2026
dd586ab
Merge remote-tracking branch 'origin/edgararakelyan/local-store-atomi…
earakely-scale Sep 30, 2026
5896423
fix(store): a live writer keeps its claim, and recorded types survive…
earakely-scale Sep 30, 2026
0214a47
Merge remote-tracking branch 'origin/edgararakelyan/local-store-atomi…
earakely-scale Sep 30, 2026
a2d2793
fix(store): claim a key without hard links with a lock that dies with…
earakely-scale Sep 30, 2026
14081e1
Merge remote-tracking branch 'origin/edgararakelyan/local-store-atomi…
earakely-scale Sep 30, 2026
d46296d
fix(store): a key's bytes and type are written and read under its loc…
earakely-scale Sep 30, 2026
67e8cb0
Merge the local store's key locks into the grant server, whose downlo…
earakely-scale Sep 30, 2026
7bf3aa2
fix(store): a grant download sends the bytes and type of one write
earakely-scale Sep 30, 2026
1b8b548
fix(store): a failed overwrite keeps the old type, and the sweep spar…
earakely-scale Sep 30, 2026
26ffcb7
Merge remote-tracking branch 'origin/edgararakelyan/local-store-atomi…
earakely-scale Sep 30, 2026
35ea9bc
fix(store): an overwrite that lands is never reported as failed, and …
earakely-scale Sep 30, 2026
cea9c1b
Merge remote-tracking branch 'origin/edgararakelyan/local-store-atomi…
earakely-scale Sep 30, 2026
f48f5a8
Merge remote-tracking branch 'origin/main' into edgararakelyan/local-…
earakely-scale Sep 30, 2026
d31ce4a
Merge remote-tracking branch 'origin/main' into edgararakelyan/local-…
earakely-scale Oct 1, 2026
72e35d4
Merge remote-tracking branch 'origin/main' into edgararakelyan/local-…
earakely-scale Oct 5, 2026
98f20a3
refactor(store): the local object store and its grant server live tog…
earakely-scale Oct 5, 2026
e653679
Merge main into local-transfer-grants
earakely-scale Oct 5, 2026
9ba5dea
fix(store): a HEAD through a local read grant reports the size and ty…
earakely-scale Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,20 @@ classifiers = [
dependencies = [
"agentenv-framework-protocol>=0.1.0",
"boto3>=1.35.0",
"certifi>=2024.2.2", # the public roots the local transfer CA's trust bundle carries
"click>=8.0.0",
"cryptography>=42", # the local transfer CA
"httpx>=0.27.0",
"litellm>=1.96.0,<1.97",
"mcp>=1.0.0,<2", # 2.0.0 removed mcp.server.fastmcp, imported at module scope by env/gateway
"packaging>=22", # evaluates a plugin's requirement markers with no extra
"a2a-sdk==0.3.26",
"pydantic>=2.12", # model_validate(extra=...) reads agent responses tolerantly
"pymongo>=4.7",
"python-multipart>=0.0.13", # the local grant server's upload forms
"pyyaml>=6.0",
"starlette>=0.40", # the local grant server
"uvicorn>=0.47", # 0.47 adds ssl_context_factory, how the local grant server gets its TLS context
"modal>=1.5.2.dev2", # dev2 adds VM-mode V2 (_experimental_create + vm_runtime)
"e2b~=2.46.4", # AsyncSandbox/AsyncTemplate APIs validated against the 2.46 line
]
Expand Down
4 changes: 2 additions & 2 deletions src/agent_env/store/object_store/__init__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"""Backend-agnostic object store abstraction + its implementations.

``object_store`` defines the abstraction (ObjectStore); ``s3_object_store``,
``local_object_store`` and ``gcs_object_store`` are implementations. The last needs
``local`` and ``gcs_object_store`` are implementations. The last needs
the ``gcp`` extra, so it is not re-exported here: an impl pointer names its module.
"""

from agent_env.store.object_store.local_object_store import LocalFilesystemObjectStore
from agent_env.store.object_store.local.store import LocalFilesystemObjectStore
Comment thread
greptile-apps[bot] marked this conversation as resolved.
from agent_env.store.object_store.object_store import (
DEFAULT_CONTENT_TYPE,
ObjectMetadata,
Expand Down
6 changes: 6 additions & 0 deletions src/agent_env/store/object_store/local/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""The local filesystem object store, and the HTTPS transfer grants it issues: signed tokens, a local
certificate authority, and the in-process server that honours them."""

from agent_env.store.object_store.local.store import LocalFilesystemObjectStore

__all__ = ["LocalFilesystemObjectStore"]
Loading
Loading