agentenv-framework 0.9.1301__tar.gz → 0.9.1302__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/PKG-INFO +2 -2
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/pyproject.toml +1 -1
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/pyproject.toml +2 -2
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/docker_image.py +87 -39
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/materialize.py +1 -1
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/parse.py +1 -5
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/put.py +1 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/mcp_server.py +1 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/document_store.py +1 -1
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/firestore_mongo_document_store.py +1 -1
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/mongo_document_store.py +78 -9
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/ids.py +6 -0
- agentenv_framework-0.9.1302/src/agent_env/utils/build_context.py +216 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/paths.py +5 -1
- agentenv_framework-0.9.1302/tst/unit/artifact/test_docker_image_build_context.py +166 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/conftest.py +5 -2
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/materialize_test.py +1 -1
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/docker_image.json +3 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_backends_composition_test.py +3 -0
- agentenv_framework-0.9.1302/tst/unit/store/mongo_document_store_test.py +204 -0
- agentenv_framework-0.9.1302/tst/unit/utils/build_context_test.py +214 -0
- agentenv_framework-0.9.1301/tst/unit/artifact/test_dockerfile_copy_sources.py +0 -41
- agentenv_framework-0.9.1301/tst/unit/store/mongo_document_store_test.py +0 -36
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/.github/scripts/check_clean_install.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/.github/scripts/check_plugin_api.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/.github/scripts/check_skip_policy.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/.github/scripts/clean_install.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/.gitignore +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/LICENSE +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/NOTICE +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/README.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/THIRD_PARTY_NOTICES.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/LICENSE +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/NOTICE +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/README.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/THIRD_PARTY_NOTICES.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/advanced_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/basic_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/custom_extensions_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/multimodal_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/reference_model.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/examples/streaming_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/_triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/extensions.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/framework.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/registry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/staging.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/tasks/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/a2a_agent/tasks/v1.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/agent_env_environment.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/client.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/manifest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/preflight.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/transfers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/src/agentenv_protocol/types.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_a2a_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_a2a_agent_examples.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_a2a_object_transfers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_a2a_staging.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_agent_env_environment.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_client.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_data_objects.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_intake.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_manifest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/packages/agentenv-protocol/tests/test_preflight.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/a2a_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/conversation_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/object_transfer.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/protocol.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/staging.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/a2a_agent/validator.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifact.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/cli.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/environment.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/environment_universe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/file.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/file_artifact_universe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/artifacts/skill.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/ref.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/registry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/artifact/universe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/attribution.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/_fs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/authoring.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/installed.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/ledger.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/plan.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/preflight.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/resolve.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/run.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/__main__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/_installers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/_plugin_changes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/add_skill.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/deploy.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/get.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/get_instance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/validate.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/artifact/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/artifact/cli.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/artifact/environment.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/artifact/environment_universe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/artifact/file_artifact_universe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/artifact/skill.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/banner.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/deploy.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/gateway.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/get_instance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/multi.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/service_db.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/snapshot.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/state/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/state/init.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/state/teardown.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/website.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/website_browser.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/eval/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/eval/add_tasks.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/eval/create.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/eval/run.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/identity/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/identity/client_identity.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/plugin.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/run.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/task/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/task/create.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/task/get.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/task/get_instance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/task/run.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/task/validate.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/teardown_output.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/up.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/utils.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/describe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/errors.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/loader.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/model.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/paths.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/plugin_tables.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/provenance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/runtime.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/config/snapshot.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/entity_refs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/bootstrap.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/env_artifact_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/_deployment.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/gateway_server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/mcp_server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/multi_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/service_db/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/service_db/Dockerfile.db-mcp +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/service_db/Dockerfile.db-web +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/service_db.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/website.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/website_browser/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/website_browser/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/envs/website_browser/entrypoint.sh +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/clock.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/constants.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/entrypoint.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/gateway.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/get_time.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/requirements.txt +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/gateway/triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/legacy_protocol.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/registry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/snapshot_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/env/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/eval/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/eval/eval.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/eval/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/examples/hello/README.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/examples/hello/artifacts/greeting/check.sh +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/examples/hello/artifacts/greeting/hello.txt +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/examples/hello/tasks/hello.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/app.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/entity_ids.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/openapi_docs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/plugin.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/routers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/routers/common.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/routers/conversations.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/routers/objects.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/routers/runs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/routers/triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/.env.example +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/.gitignore +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/README.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/eslint.config.mjs +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/next-env.d.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/next.config.mjs +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/package-lock.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/package.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/postcss.config.mjs +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/prettier.config.js +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/android-chrome-192x192.png +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/android-chrome-512x512.png +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/apple-touch-icon.png +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/favicon.ico +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/favicon.svg +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/logos/agentenv-icon.svg +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/logos/claude.svg +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/logos/scale-logo.svg +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/public/site.webmanifest +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/scripts/run-smokes.mjs +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/advertised-agent-card.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/advertised-environment-card.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/agent-detail-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/agents-hub-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/backend-status-banner.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/conversations-panel.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/docs-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/env-detail-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/environments-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/flow-shared.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/home-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/mcp-env-validation-entry.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/peer-qna-panel.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/rollout-deep-link.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/rubric-grading-results.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/rubric-matrix.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/run-group-step-funnel.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/run-step-progress.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/server-config-panel.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/shared.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/start-runs-panel.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/step-attempt-failures.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/step-progress.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/steps-pipeline.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/task-detail-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/task-instance-viewer.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/task-runner-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/task-steps-shared.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/tasks-hub-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/trajectory-viewer.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/trigger-timeline.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/triggers-graph.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/triggers-panel.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/universe-detail-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/components/universes-page.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/env.mjs +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/hooks/useLiveTriggers.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/hooks/useRunGroupPolling.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/pages/[[...slug]].tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/pages/_app.tsx +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/styles/globals.css +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/styles/tokens.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/src/types/pptx-preview.d.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/tailwind.config.ts +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/explorer/ui/tsconfig.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/_cli.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/_discovery.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/_inventory.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/_registration.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/_report.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/plugins/_requirements.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_providers/constants.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_providers/env_gateway_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_providers/env_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_providers/env_server_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_state/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_state/env_state_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_state/local_postgres.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/env_state/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/chained_sandbox_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/e2b/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/e2b/provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/e2b/sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/e2b/template.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/local_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/modal_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/modal_vm_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sail_vm/README.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sail_vm/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sail_vm/_sdk.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sail_vm/model_key.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sail_vm/provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sail_vm/sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/providers/sandbox_providers/sandbox_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/py.typed +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/runner/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/runner/local_runner.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/runner/runner.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/runner/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/_google.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/_lazy.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/base.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/dynamodb_document_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/evaluation.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/document_store/sqlite_document_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/ecr_image_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/google_credentials.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/image_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/local_registry_image_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/oci_registry_credentials.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/image_store/registry_api.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/local_state.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/gcs_object_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/local/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/local/grant_server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/local/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/local/tls.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/local/tokens.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/object_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/object_store/s3_object_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/query.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/routing.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/secret_store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/secret_store/aws_secrets_manager_secret_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/secret_store/gcp_secret_manager_secret_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/secret_store/local_secret_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/store/secret_store/secret_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/interrupts.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/registry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/step_journal.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/task.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task/teardown.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/context.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/context_ops.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/registry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/review_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/snapshot_utils/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/snapshot_utils/agent_state_capture.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/snapshot_utils/snapshot_series.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_step.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/README.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/clip.m4a +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/clip.mp3 +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/clip.mp4 +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/clip.ogg +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/clip.wav +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/document.pdf +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/red.gif +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/red.jpg +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/fixtures/red.png +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_agent_card.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_agent_config_identity.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_agent_mcp.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_core_protocol.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_install.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_modalities.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_peer_agents.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_role.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_skill_config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_snapshot.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_system_prompt.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/a2a_agent_validator/verify_a2a_trajectory.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/add_skills.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/apply_server_config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/collect_artifacts.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/deploy_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/deploy_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/deploy_human_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/deploy_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/env_card_validator/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/env_card_validator/verify_env_card.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/env_card_validator/verify_env_core_protocol.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/install_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/load_artifact.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_cli_builder/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_cli_builder/build_mcp_cli.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_cli_builder/codegen.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_env_validator/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_env_validator/validation_gate_aggregator.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_env_validator/verify_mcp_env_assessment.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_env_validator/verify_mcp_tool_schema.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/mcp_env_validator/verify_spec_conformance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/modify_env_tool_access.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/multienv_validator/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/multienv_validator/combine_universe_verdicts.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/multienv_validator/universe_comparison.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/multienv_validator/verify_universe_agent_judge.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/multienv_validator/verify_universe_roundtrip.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/peer_agents.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/prompt_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/register_agent_triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/register_env_triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/reset_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/review.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/run_code.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/run_code_runner.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/run_docker_container.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/sandbox_utils/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/sandbox_utils/sandbox_utils.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/snapshot_agent_state.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/snapshot_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/sync_env_clock.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/teardown_sandboxes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/agent_prompt_response_verifier.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/aggregate_verifiers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/env_outcome_verifier.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/judge_utils/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/judge_utils/frame_selection.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/judge_utils/judge_output_format.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/judge_utils/trajectory_filter.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/rubrics_verifier.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/run_container_unit_tests_verifier.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/scoring.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/task_steps/verifiers/verify_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/task_step/thread_work.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/build_metadata.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/card_naming.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/deprecation.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/docker_build.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/utils/exec_retry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/benchmarks/explorer_reads.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/benchmarks/journal_union.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/benchmarks/task_graphs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/benchmarks/version_lookup.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/conftest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/a2a_agent/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/a2a_agent/agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/agentenv_mcp/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/agentenv_mcp/seed.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/agentenv_mcp/server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/agentenv_website/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/agentenv_website/server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/base_mcp/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/base_mcp/base_database.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/base_mcp/base_service.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/cardless_mcp/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/cardless_mcp/server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_artifact.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/database.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/email_service.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/generated_data.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/models.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/requirements.txt +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/email_mcp/sample_data.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/legacy_stub/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/legacy_stub/server.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/skills/sample_skill/SKILL.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/skills/sample_skill/references/notes.md +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/skills/sample_skill/scripts/hello.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/database.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/generated_data.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/models.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/requirements.txt +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/sample_data.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_mcp/slack_service.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/api/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/api/routes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/app.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/db_extensions.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/requirements.txt +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/backend/schemas.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/frontend/Dockerfile +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/slack_website/frontend/index.html +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/data/test_outcome_verifier.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/env/gateway/clock_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/env/task_step/deploy_env_resources_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/env/task_step/prompt_agent_parts_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/env/task_step/verify_a2a_modalities_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/installer/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/installer/conftest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/installer/test_container_journey.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/installer/test_plugin_changes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/installer/test_wheel.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/installer/toys.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/agent/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/agent/a2a_agent/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/agent/a2a_agent/a2a_agent_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/agent/a2a_agent/agent_triggers_e2e_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/agent/a2a_agent/conversation_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/conftest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/docker_image_artifact_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/environment_artifact_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/environment_universe_artifact_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/file_artifact_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/file_artifact_universe_artifact_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/artifact/artifacts/skill_artifact_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/cli/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/cli/cli_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/cli/run_bundle_built_agents_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/cli/run_bundle_built_envs_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/cli/run_bundle_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/custom_env_config_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/env_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/envs/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/envs/multi_env_local_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/envs/server_env_local_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/envs/server_env_modal_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/envs/service_db_changelog_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/gateway/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/gateway/gateway_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/task_step/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/task_step/task_steps_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/task_step/test_record_step_concurrency.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/env/task_step/test_task_instance_retry_resume.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/eval/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/eval/eval_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/providers/sandbox_providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/providers/sandbox_providers/e2b_sandbox_smoke_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/providers/sandbox_providers/sail_vm_sandbox_smoke_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/providers/state/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/store/local_image_composition_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/store/local_parallel_deploy_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/store/local_registry_image_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/store/local_task_lifecycle_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/store/oci_registry_image_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/review_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_agent_on_local_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_container_sandbox_files_local.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_enable_docker_e2e.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_multiturn_verifier_delivery.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_prompt_agent_file_parts_local.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_run_code_named_sandbox_local.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_run_docker_container_local.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/integration/task_step/test_verify_sandbox_local.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/store/conformance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/store/image_conformance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/store/object_conformance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/store/secret_conformance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/task/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/task/journal_invariants.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/add_skill_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/deploy_cleanup_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/negotiate_agent_config_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/object_transfer_reach_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/object_transfer_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/protocol_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/readable_parts_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/staging_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/test_validator_changelog_objects.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/test_validator_skill_variants.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/validator_trajectory_dag_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/validator_uri_probes_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/a2a_agent/verify_a2a_agent_card_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/registry_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_artifact_put.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_docker_image_github_clone.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_docker_image_github_push.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_docker_image_pulled.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_docker_image_put_ref.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_object_url_keys.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_removed_service_aliases.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_service_artifact_alias.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_service_universe_file_view.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/artifact/test_store_put_document.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/attribution_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/_support.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/artifact_toml_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/authoring_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/env_toml_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/file_artifacts_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/installed_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/ledger_digest_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/ledger_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/parse_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/plan_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/preflight_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/resolve_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/run_teardown_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/run_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/bundle/toml_refs_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/base_metadata_version_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/build_platform_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/card_naming_relocation_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/deploy_vm_sizing_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/deployed_env_output_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/env_provider_type_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/env_put_validation_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/env_state_type_parity_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/environment_name_alias_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/eval_run_teardown_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/golden/plugin_report/check.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/golden/plugin_report/check_broken.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/golden/plugin_report/list.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/golden/plugin_report/list_no_load.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/golden/plugin_report/show.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/golden/plugin_report/show_bundles.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/image_ref_put_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/init_env_state_cli_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/load_artifact_target_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/plugin_command_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/plugin_install_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/plugin_report_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/plugins_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/sandbox_url_relocation_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/stage_free_commands_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/task_run_teardown_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/teardown_env_state_cli_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/test_release_gate_decision.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/test_removed_cli_aliases.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/test_spec_conformance_display.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/test_task_create_preflight.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/user_facing_errors_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/cli/write_context_filename_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_config_holds_its_document.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_config_profiles.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_default_a2a_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_describe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_explain_and_sources.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_fixture_prefix_keys.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_human_a2a_url.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_loader.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_model.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_no_stage_concept.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_one_document_per_process.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_paths.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_registry_builders_take_a_config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_reset_config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/config/test_unread_keys.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/conftest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/bootstrap_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/service_db/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/service_db/service_db_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_env_card_loads.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_env_close_teardown.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_environment_name_alias.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_mcp_server_container_mode.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_mcp_server_load.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_mcp_server_plugin_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_load_concurrency.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_load_resume.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_name.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_plugin_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_snapshot_bake.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_snapshot_guard.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_snapshot_reload_name.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_multi_env_vm_sizing.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_put_from_github_token.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/envs/test_website_env_name_alias.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/data_plane_timeout_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/env_trajectory_route_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/gateway_card_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/get_time_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/import_graph_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/rest_proxy_socket_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/rest_proxy_stream_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/role_rules_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/trajectory_virtual_time_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/triggers_ctx_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/triggers_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/gateway/triggers_time_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/task_step/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/task_step/deploy_agent_env_vars_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/task_step/test_context_ops.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/task_step/test_score_aggregator.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/task_step/verify_env_card_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/task_step/verify_env_core_protocol_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/test_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/test_legacy_protocol.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/test_registry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/env/test_snapshot_fingerprint.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/event_loop_probe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/explorer/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/explorer/entity_ids_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/explorer/explorer_app_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/plugin_inventory_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/plugin_requirements_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/plugin_settings_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/plugins_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/compose_host_port_publish_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_providers/env_gateway_provider_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_providers/env_provider_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_providers/env_server_provider_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_state/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_state/fakes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_state/test_config_state_providers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/env_state/test_env_state_provider.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/attribution_wire_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/e2b_sandbox_provider_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/e2b_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/e2b_template_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/egress_hosts_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/local_sandbox_host_ports_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/local_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_create_signature_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_gpu_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_network_policy_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_network_policy_wiring_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_sandbox_started_log_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_sandbox_tags_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/modal_vm_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/network_policy_providers_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/network_policy_stamping_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/network_policy_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/sail_vm_model_key_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/sail_vm_sandbox_provider_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/sail_vm_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/sandbox_provider_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/test_config_sandbox_providers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/test_reachability_contributions.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/test_url_rewrites.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/vm_file_transfer_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/vm_object_push_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/providers/sandbox_providers/vm_sandbox_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/runner/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/runner/local_runner_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/runner/run_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/cli.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/environment.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/environment_universe.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/file.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/file_artifact_universe.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/artifact/skill.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/env/gateway_server.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/env/mcp_server.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/env/multi.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/env/service_db.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/golden/env/website.json +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/serialization/test_golden_wire_format.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/aws_secret_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/conftest.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/dynamodb_document_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/dynamodb_step_journal_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/ecr_image_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/s3_grant_lifetime_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/s3_object_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/s3_transfer_grants_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/test_secret_logging.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/aws/test_shared_credentials.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/derived_ids_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/fake_object_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/fakes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/firestore_mongo_document_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/gcp_secret_manager_secret_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/gcs_object_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/google_credentials_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/google_transport_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/grant_lifetime_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/ids_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_grant_server_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_id_acceptance_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_object_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_registry_image_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_secret_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_tls_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/local_tokens_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/oci_registry_credentials_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/oci_registry_image_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/readable_url_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/registry_api_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/routing_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/sqlite_document_store_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_document_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_image_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_model.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_mongo_client.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_object_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_secret_bundle_keys.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_config_secret_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_document_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_object_transfer_grants.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/test_task_instance_indexes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/store/version_lookup_benchmark_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/batch_universe_ids_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/benchmark_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/depends_on_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/local_run_write_fence_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/step_journal_rules_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/step_journal_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/task_document_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/task_failure_write_retry_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/task_instance_reads_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task/teardown_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/attribution_serialization_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/capture_stubs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/context_ops_journal_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/deploy_agent_cleanup_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/deploy_agent_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/deploy_env_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/deploy_human_agent_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/deploy_sandbox_network_policy_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/deploy_sandbox_provider_override_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/install_agent_guards_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/install_agent_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/local_container_urls_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/local_step_containers_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/prompt_agent_file_parts_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/retry_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/run_context_object_url_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/run_docker_container_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/skill_object_url_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/snapshot_env_upload_grant_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/stored_priority_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/stored_s3_form_fields_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/sync_env_clock_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_agent_model_precedence.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_agent_state_capture.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_apply_server_config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_collect_artifacts.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_collect_artifacts_universe_suffix.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_collect_artifacts_vm_host.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_collect_integrity.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_combine_universe_verdicts.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_config_task_steps.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_container_sandbox_routing.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_deploy_agent_changelog_objects.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_deploy_agent_enable_docker.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_deploy_agent_live_endpoint.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_deploy_agent_mcp_alias.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_deploy_agent_snapshot_objects.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_deploy_ttl_from_budget.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_entity_refs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_install_agent_registers_instance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_agent_container_target.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_container_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_env_binding.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_file.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_overrides.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_service_payload.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_service_universe.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_snapshot_reporting.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_url_filenames.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_load_artifact_vm_target.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_manifest_cli_builder.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_mcp_cli_builder.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_modify_env_tool_access.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_parallel_deploy_env_binding.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent_human_default.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent_model_params.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent_snapshots.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent_triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent_unreachable.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_prompt_agent_user_model.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_register_agent_triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_register_env_triggers.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_reset_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_review.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_run_code.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_sandbox_utils_agent_container.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_sandbox_utils_logs.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_snapshot_agent_state.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_snapshot_env.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_snapshot_env_env_binding.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_teardown_sandboxes.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_universe_comparison.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_validation_gate_aggregator.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_verify_a2a_agent_mcp.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_verify_spec_conformance.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_verify_universe_agent_judge.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/test_verify_universe_roundtrip.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/thread_work_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/judge_short_keys_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/judge_utils/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/judge_utils/test_frame_selection.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/judge_utils/test_frame_selection_tool_name.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/judge_utils/test_judge_output_format.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/judge_utils/test_trajectory_filter.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/run_container_unit_tests_verifier_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_env_outcome_verifier_step.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_criteria_override.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_judge_retry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_judge_teardown.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_judge_timeout.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_judge_trajectory.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_mistakes_entry.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_multiturn.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_per_criterion.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_rubrics_verifier_screenshots.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_score_parity.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_trajectory_mistakes_format.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/task_step/verifiers/test_verify_sandbox.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_capabilities.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_check_plugin_api.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_check_skip_policy.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_clean_install_wheel.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_client_identity.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_optional_extras_stay_optional.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_runtime_dependencies_are_imported.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/test_tls_verification.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/utils/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/utils/docker_build_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/utils/exec_retry_test.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/utils/test_card_naming_github_token.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/unit/utils/test_paths.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/__init__.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/a2a_test_agent.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/capabilities.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/config.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/exec_scripts.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/fake_a2a.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/granting_object_store.py +0 -0
- {agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/tst/util/image_cache.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentenv-framework
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.1302
|
|
4
4
|
Summary: SDK and CLI for building, deploying and running agent environments and the tasks that grade agents in them.
|
|
5
5
|
Project-URL: Homepage, https://www.agentenvframework.com
|
|
6
6
|
Project-URL: Documentation, https://www.agentenvframework.com/docs
|
|
@@ -29,7 +29,7 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
|
29
29
|
Classifier: Typing :: Typed
|
|
30
30
|
Requires-Python: >=3.11
|
|
31
31
|
Requires-Dist: a2a-sdk==0.3.26
|
|
32
|
-
Requires-Dist: agentenv-framework-protocol==0.1.
|
|
32
|
+
Requires-Dist: agentenv-framework-protocol==0.1.317
|
|
33
33
|
Requires-Dist: certifi>=2024.2.2
|
|
34
34
|
Requires-Dist: click>=8.0.0
|
|
35
35
|
Requires-Dist: cryptography>=42
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agentenv-framework"
|
|
7
|
-
version = "0.9.
|
|
7
|
+
version = "0.9.1302"
|
|
8
8
|
description = "SDK and CLI for building, deploying and running agent environments and the tasks that grade agents in them."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -29,7 +29,7 @@ classifiers = [
|
|
|
29
29
|
"Typing :: Typed",
|
|
30
30
|
]
|
|
31
31
|
dependencies = [
|
|
32
|
-
"agentenv-framework-protocol==0.1.
|
|
32
|
+
"agentenv-framework-protocol==0.1.317",
|
|
33
33
|
"certifi>=2024.2.2", # the public roots the local transfer CA's trust bundle carries
|
|
34
34
|
"click>=8.0.0",
|
|
35
35
|
"cryptography>=42", # the local transfer CA
|
|
@@ -10,7 +10,6 @@ import posixpath
|
|
|
10
10
|
import re
|
|
11
11
|
import shlex
|
|
12
12
|
import subprocess
|
|
13
|
-
import tarfile
|
|
14
13
|
import tempfile
|
|
15
14
|
import uuid
|
|
16
15
|
from dataclasses import dataclass
|
|
@@ -22,10 +21,12 @@ from urllib.parse import urlparse
|
|
|
22
21
|
from pydantic import ConfigDict, Field, model_serializer
|
|
23
22
|
|
|
24
23
|
from agent_env.artifact.artifact import Artifact, _write_twin
|
|
25
|
-
from agent_env.store.ids import fs_safe, image_repository, is_local_id
|
|
24
|
+
from agent_env.store.ids import fs_safe, image_repository, is_local_id, local_image_repository
|
|
26
25
|
from agent_env.store.image_store.local_registry_image_store import LocalRegistryImageStore
|
|
27
26
|
from agent_env.store.image_store.oci_registry_credentials import is_loopback_host, names_registry, registry_host_from_ref
|
|
28
27
|
from agent_env.store.image_store.registry_api import pin_digest
|
|
28
|
+
from agent_env.utils.build_context import BuildContext
|
|
29
|
+
from agent_env.utils.docker_build import DEFAULT_BUILD_PLATFORM
|
|
29
30
|
|
|
30
31
|
logger = logging.getLogger(__name__)
|
|
31
32
|
|
|
@@ -64,8 +65,8 @@ def _git_clone_commands(owner: str, repo: str, ref: str | None, token: str | Non
|
|
|
64
65
|
]
|
|
65
66
|
|
|
66
67
|
class DockerImageArtifact(Artifact):
|
|
67
|
-
"""A Docker image artifact: a tar.gz of the image in the object store
|
|
68
|
-
sandbox pulls."""
|
|
68
|
+
"""A Docker image artifact: a tar.gz of the image in the object store; without one, a registry reference a
|
|
69
|
+
sandbox pulls; or, with neither, only its build context."""
|
|
69
70
|
|
|
70
71
|
model_config = ConfigDict(populate_by_name=True)
|
|
71
72
|
|
|
@@ -78,6 +79,11 @@ class DockerImageArtifact(Artifact):
|
|
|
78
79
|
default=None, alias="tar_gz_s3_url", description="Object-store locator of the tar.gz file, if it has one"
|
|
79
80
|
)
|
|
80
81
|
build_context_object_url: str | None = Field(default=None, alias="build_context_s3_url", description="Object-store locator of the build context tar.gz")
|
|
82
|
+
dockerfile_path: str | None = Field(default=None, description="The Dockerfile's path in the build context, POSIX")
|
|
83
|
+
platform: str | None = Field(default=None, description="The platform the image is built for, as `docker build --platform` names it")
|
|
84
|
+
source_digest: str | None = Field(
|
|
85
|
+
default=None, description="sha256 over the build context's files and modes, the Dockerfile's path and the platform"
|
|
86
|
+
)
|
|
81
87
|
|
|
82
88
|
# No return annotation: pydantic builds the serialization schema from one, and a dict drops the fields.
|
|
83
89
|
@model_serializer(mode="wrap")
|
|
@@ -97,10 +103,15 @@ class DockerImageArtifact(Artifact):
|
|
|
97
103
|
image_name: str,
|
|
98
104
|
build_context_path: str | None = None,
|
|
99
105
|
dockerfile_path: str | None = None,
|
|
106
|
+
platform: str | None = None,
|
|
100
107
|
) -> "DockerImageArtifact":
|
|
101
108
|
from agent_env.artifact.store import get_artifact_store
|
|
102
109
|
from agent_env.config import get_config
|
|
103
110
|
|
|
111
|
+
context = None
|
|
112
|
+
if build_context_path:
|
|
113
|
+
context_dir = Path(build_context_path)
|
|
114
|
+
context = BuildContext.of(context_dir, _resolve_dockerfile(context_dir, dockerfile_path))
|
|
104
115
|
store = get_artifact_store()
|
|
105
116
|
version = store.next_version(id)
|
|
106
117
|
# Objects are written once, so each attempt writes under a prefix of its own: one that stopped
|
|
@@ -114,6 +125,7 @@ class DockerImageArtifact(Artifact):
|
|
|
114
125
|
image_ref = image_store.image_ref(repository, f"v{version}")
|
|
115
126
|
image_store.ensure_repository(repository)
|
|
116
127
|
_push_local_image(image_name, image_ref, image_store)
|
|
128
|
+
platform = platform or _image_platform(image_ref)
|
|
117
129
|
|
|
118
130
|
with tempfile.NamedTemporaryFile(suffix=".tar.gz", delete=False) as tmp:
|
|
119
131
|
tmp_path = Path(tmp.name)
|
|
@@ -143,31 +155,15 @@ class DockerImageArtifact(Artifact):
|
|
|
143
155
|
if tmp_path.exists():
|
|
144
156
|
tmp_path.unlink()
|
|
145
157
|
|
|
146
|
-
build_context_object_url = None
|
|
147
|
-
if build_context_path:
|
|
148
|
-
context_dir = Path(build_context_path)
|
|
149
|
-
paths_to_include = _get_dockerfile_copy_sources(context_dir, dockerfile_path)
|
|
150
|
-
with tempfile.NamedTemporaryFile(suffix=".tar.gz", delete=False) as ctx_tmp:
|
|
151
|
-
ctx_tmp_path = Path(ctx_tmp.name)
|
|
152
|
-
try:
|
|
153
|
-
with tarfile.open(ctx_tmp_path, "w:gz") as tar:
|
|
154
|
-
for rel_path in paths_to_include:
|
|
155
|
-
full_path = context_dir / rel_path
|
|
156
|
-
if full_path.exists():
|
|
157
|
-
tar.add(str(full_path), arcname=rel_path)
|
|
158
|
-
build_context_object_url = objects.put_file_at(
|
|
159
|
-
f"{prefix}build-context.tar.gz", str(ctx_tmp_path), "application/gzip"
|
|
160
|
-
)
|
|
161
|
-
finally:
|
|
162
|
-
if ctx_tmp_path.exists():
|
|
163
|
-
ctx_tmp_path.unlink()
|
|
164
|
-
|
|
165
158
|
return cls.put_tar(
|
|
166
159
|
id,
|
|
167
160
|
description=description,
|
|
168
161
|
image_name=image_ref,
|
|
169
162
|
tar_gz_object_url=tar_gz_object_url,
|
|
170
|
-
build_context_object_url=
|
|
163
|
+
build_context_object_url=_upload_context(objects, prefix, context) if context else None,
|
|
164
|
+
dockerfile_path=context.dockerfile if context else None,
|
|
165
|
+
platform=platform,
|
|
166
|
+
source_digest=context.source_digest(platform) if context else None,
|
|
171
167
|
)
|
|
172
168
|
|
|
173
169
|
@classmethod
|
|
@@ -179,6 +175,9 @@ class DockerImageArtifact(Artifact):
|
|
|
179
175
|
image_name: str,
|
|
180
176
|
tar_gz_object_url: str,
|
|
181
177
|
build_context_object_url: str | None = None,
|
|
178
|
+
dockerfile_path: str | None = None,
|
|
179
|
+
platform: str | None = None,
|
|
180
|
+
source_digest: str | None = None,
|
|
182
181
|
) -> "DockerImageArtifact":
|
|
183
182
|
from agent_env.artifact.store import get_artifact_store
|
|
184
183
|
from agent_env.config import get_config
|
|
@@ -198,6 +197,9 @@ class DockerImageArtifact(Artifact):
|
|
|
198
197
|
image_name=image_name,
|
|
199
198
|
tar_gz_object_url=tar_gz_object_url,
|
|
200
199
|
build_context_object_url=build_context_object_url,
|
|
200
|
+
dockerfile_path=dockerfile_path,
|
|
201
|
+
platform=platform,
|
|
202
|
+
source_digest=source_digest,
|
|
201
203
|
)
|
|
202
204
|
return store.put_document(instance)
|
|
203
205
|
|
|
@@ -226,17 +228,53 @@ class DockerImageArtifact(Artifact):
|
|
|
226
228
|
version = store.next_version(id)
|
|
227
229
|
return store.put_document(cls(id=id, version=version, description=description, image_name=pinned))
|
|
228
230
|
|
|
231
|
+
@classmethod
|
|
232
|
+
def put_context(cls, id: str, *, description: str, context_path: str, dockerfile_path: str,
|
|
233
|
+
platform: str = DEFAULT_BUILD_PLATFORM) -> "DockerImageArtifact":
|
|
234
|
+
"""Register an image by its build context alone, to be built where it runs: the context is uploaded and
|
|
235
|
+
nothing is built, pushed or saved, so no Docker is needed here. Its ``image_name``,
|
|
236
|
+
``local/<slug>-<hash>:v<version>``, names no registry: it's the tag the build gives the image.
|
|
237
|
+
``source_digest`` is equal for equal sources, so one build can serve both."""
|
|
238
|
+
from agent_env.artifact.store import get_artifact_store
|
|
239
|
+
from agent_env.config import get_config
|
|
240
|
+
|
|
241
|
+
root = Path(context_path)
|
|
242
|
+
dockerfile = _resolve_dockerfile(root, dockerfile_path)
|
|
243
|
+
if not dockerfile.is_file():
|
|
244
|
+
raise ValueError(f"no Dockerfile at {dockerfile}")
|
|
245
|
+
context = BuildContext.of(root, dockerfile)
|
|
246
|
+
if context.dockerfile is None:
|
|
247
|
+
raise ValueError(f"{dockerfile} is outside the build context {root}; the image is built from the context "
|
|
248
|
+
"alone, so the Dockerfile must be in it")
|
|
249
|
+
store = get_artifact_store()
|
|
250
|
+
version = store.next_version(id)
|
|
251
|
+
prefix = store.attempt_prefix("docker_image", id)
|
|
252
|
+
build_context_object_url = _upload_context(get_config().get_object_store_to_write(prefix, id), prefix, context)
|
|
253
|
+
return store.put_document(cls(
|
|
254
|
+
id=id,
|
|
255
|
+
version=version,
|
|
256
|
+
description=description,
|
|
257
|
+
image_name=f"{local_image_repository(id)}:v{version}",
|
|
258
|
+
build_context_object_url=build_context_object_url,
|
|
259
|
+
dockerfile_path=context.dockerfile,
|
|
260
|
+
platform=platform,
|
|
261
|
+
source_digest=context.source_digest(platform),
|
|
262
|
+
))
|
|
263
|
+
|
|
229
264
|
def load(self) -> bytes:
|
|
230
265
|
from agent_env.artifact.store import get_artifact_store
|
|
231
266
|
if not self.tar_gz_object_url:
|
|
232
|
-
raise ValueError(f"{self.id!r} v{self.version} has no tar.gz; its image is pulled
|
|
267
|
+
raise ValueError(self.load_problem() or f"{self.id!r} v{self.version} has no tar.gz; its image is pulled "
|
|
268
|
+
f"from {self.image_name}")
|
|
233
269
|
return get_artifact_store().get_object(self.tar_gz_object_url)
|
|
234
270
|
|
|
235
271
|
def load_problem(self) -> str | None:
|
|
236
272
|
"""Why no sandbox can get this image, or None when one can: a tar.gz is loaded, and with none, ``image_name``
|
|
237
|
-
is pulled, so it must name its registry."""
|
|
273
|
+
is pulled, so it must name its registry. One registered by its build context alone isn't built yet."""
|
|
238
274
|
if self.tar_gz_object_url or names_registry(self.image_name):
|
|
239
275
|
return None
|
|
276
|
+
if self.build_context_object_url:
|
|
277
|
+
return f"{self.id!r} v{self.version} is only a build context, and sandboxes don't build images from one yet"
|
|
240
278
|
return (f"{self.id!r} v{self.version} has no tar.gz, and its image name {self.image_name!r} doesn't name a "
|
|
241
279
|
"registry to pull it from")
|
|
242
280
|
|
|
@@ -482,19 +520,29 @@ def _parse_copy_sources(dockerfile_text: str, dockerfile_rel_path: str | None =
|
|
|
482
520
|
return paths if paths else ["."]
|
|
483
521
|
|
|
484
522
|
|
|
485
|
-
def
|
|
486
|
-
"""
|
|
487
|
-
|
|
488
|
-
|
|
523
|
+
def _image_platform(image_ref: str) -> str | None:
|
|
524
|
+
"""The platform of the local image ``image_ref`` as ``docker build --platform`` names it, or None when docker
|
|
525
|
+
can't say."""
|
|
526
|
+
result = subprocess.run(["docker", "image", "inspect", "--format", "{{.Os}}/{{.Architecture}}/{{.Variant}}", image_ref],
|
|
527
|
+
capture_output=True, text=True)
|
|
528
|
+
if result.returncode != 0 or result.stdout.count("/") != 2:
|
|
529
|
+
return None
|
|
530
|
+
os_name, architecture, variant = result.stdout.strip().split("/")
|
|
531
|
+
# arm64 has one variant, so it goes unnamed as in `--platform linux/arm64`; 32-bit arm's v6 and v7 differ.
|
|
532
|
+
return f"{os_name}/{architecture}/{variant}" if architecture == "arm" and variant else f"{os_name}/{architecture}"
|
|
533
|
+
|
|
489
534
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
535
|
+
def _resolve_dockerfile(context_dir: Path, dockerfile_path: str | None) -> Path | None:
|
|
536
|
+
"""``dockerfile_path`` as given, or under ``context_dir`` when it's relative and not found from here."""
|
|
537
|
+
if not dockerfile_path:
|
|
538
|
+
return None
|
|
539
|
+
dockerfile = Path(dockerfile_path)
|
|
540
|
+
return dockerfile if dockerfile.is_absolute() or dockerfile.exists() else context_dir / dockerfile
|
|
493
541
|
|
|
494
|
-
try:
|
|
495
|
-
df_rel = str(df.relative_to(context_dir))
|
|
496
|
-
except ValueError:
|
|
497
|
-
df_rel = None
|
|
498
542
|
|
|
499
|
-
|
|
500
|
-
|
|
543
|
+
def _upload_context(objects, prefix: str, context: BuildContext) -> str:
|
|
544
|
+
"""Write ``context`` under ``prefix`` as a tar.gz and return its object URL."""
|
|
545
|
+
with tempfile.TemporaryDirectory(prefix="agent-env-context-") as tmp:
|
|
546
|
+
path = Path(tmp) / "build-context.tar.gz"
|
|
547
|
+
context.write(path)
|
|
548
|
+
return objects.put_file_at(f"{prefix}build-context.tar.gz", str(path), "application/gzip")
|
{agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/bundle/materialize.py
RENAMED
|
@@ -158,7 +158,7 @@ def _write_built_image(plan: Plan, write: Write) -> int:
|
|
|
158
158
|
try:
|
|
159
159
|
return DockerImageArtifact.put(
|
|
160
160
|
id=write.id, description=f"built from {_path(plan, write)}/{image.dockerfile}", image_name=tag,
|
|
161
|
-
build_context_path=str(context),
|
|
161
|
+
build_context_path=str(context), dockerfile_path=str(context / image.dockerfile),
|
|
162
162
|
).version
|
|
163
163
|
except RuntimeError as e: # the image store, docker push or docker save
|
|
164
164
|
raise BundleError([f"{_path(plan, write)}: {e}"]) from None
|
|
@@ -24,6 +24,7 @@ from typing import Any, NoReturn
|
|
|
24
24
|
from agent_env.bundle._fs import Unreadable, fold, home, on_disk, os_reason, read_regular, show
|
|
25
25
|
from agent_env.entity_refs import EntityKind
|
|
26
26
|
from agent_env.store.ids import LOCAL_PREFIX, MAX_AUTHORED_LOCAL_ID_BYTES, validate_local_id
|
|
27
|
+
from agent_env.utils.paths import LEAVINGS
|
|
27
28
|
|
|
28
29
|
BUNDLE_TOML = "bundle.toml"
|
|
29
30
|
DOCKERFILE = "Dockerfile"
|
|
@@ -98,11 +99,6 @@ class BundleError(ValueError):
|
|
|
98
99
|
return self.problems[0] + (f" (and {more} more)" if more else "")
|
|
99
100
|
|
|
100
101
|
|
|
101
|
-
# What the OS or Python writes into a folder on its own. In an artifact or skill folder, everything
|
|
102
|
-
# else is content, dot files included.
|
|
103
|
-
LEAVINGS = frozenset({".DS_Store", "Thumbs.db", "desktop.ini", "__pycache__"})
|
|
104
|
-
|
|
105
|
-
|
|
106
102
|
def is_ignored(name: str) -> bool:
|
|
107
103
|
"""Dot entries and ``__pycache__`` (pip compiles the .py files of an installed bundle) are never
|
|
108
104
|
entities."""
|
{agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/a2a_agent/put.py
RENAMED
|
@@ -73,6 +73,7 @@ def put(agent_id: str, dockerfile: str | None, context_path: str | None, image_r
|
|
|
73
73
|
image_name=image_tag,
|
|
74
74
|
build_context_path=str(context),
|
|
75
75
|
dockerfile_path=str(dockerfile_path),
|
|
76
|
+
platform=build_platform,
|
|
76
77
|
)
|
|
77
78
|
click.echo(f"Created artifact: id={artifact.id} version={artifact.version}")
|
|
78
79
|
metadata = detect_env_metadata(dockerfile_path, context)
|
{agentenv_framework-0.9.1301 → agentenv_framework-0.9.1302}/src/agent_env/cli/env/mcp_server.py
RENAMED
|
@@ -219,6 +219,7 @@ def put(env_id: str, dockerfile: str | None, context_path: str | None, dockerfil
|
|
|
219
219
|
image_name=image_tag,
|
|
220
220
|
build_context_path=str(context),
|
|
221
221
|
dockerfile_path=str(dockerfile_path),
|
|
222
|
+
platform=build_platform,
|
|
222
223
|
)
|
|
223
224
|
click.echo(f"Created artifact: id={artifact.id} version={artifact.version}")
|
|
224
225
|
metadata = detect_env_metadata(dockerfile_path, context)
|
|
@@ -369,7 +369,7 @@ class DocumentStore(ABC):
|
|
|
369
369
|
unique: bool = False,
|
|
370
370
|
ttl_seconds: Optional[int] = None,
|
|
371
371
|
) -> None:
|
|
372
|
-
"""Register an index over ``fields`` (idempotent); ``unique=True`` is enforced by ``insert`` and upserts via ``DuplicateKeyError``. ``ttl_seconds`` requests server-side expiry off the single indexed datetime field (backends without TTL may ignore it)."""
|
|
372
|
+
"""Register an index over ``fields`` (idempotent); ``unique=True`` is enforced by ``insert`` and upserts via ``DuplicateKeyError``. ``ttl_seconds`` requests server-side expiry off the single indexed datetime field (backends without TTL may ignore it). A backend may return while a long build is still running; the index applies once built."""
|
|
373
373
|
|
|
374
374
|
def check_id(self, entity_id: str) -> None:
|
|
375
375
|
"""Raise ValueError unless an entity with ``entity_id`` may be written here. No store takes an id
|
|
@@ -200,7 +200,7 @@ class FirestoreMongoDocumentStore(MongoDocumentStore):
|
|
|
200
200
|
if key in _built_indexes:
|
|
201
201
|
return
|
|
202
202
|
with pymongo.timeout(_INDEX_BUILD_SECONDS):
|
|
203
|
-
|
|
203
|
+
self._create_index(collection, fields, unique=unique, ttl_seconds=ttl_seconds)
|
|
204
204
|
_built_indexes.add(key)
|
|
205
205
|
|
|
206
206
|
def _stamped(self, update: UpdateSpec) -> tuple[dict, str]:
|
|
@@ -8,15 +8,19 @@ currently spread across the individual ``*/store.py`` modules.
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
10
|
import logging
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
import threading
|
|
12
|
+
import time
|
|
13
|
+
from collections.abc import Callable, Iterator
|
|
14
|
+
from concurrent.futures import Future, wait
|
|
15
|
+
from contextlib import contextmanager, suppress
|
|
16
|
+
from functools import partial
|
|
13
17
|
from typing import Optional
|
|
14
18
|
|
|
15
19
|
from pymongo import ASCENDING, DESCENDING, MongoClient, ReturnDocument
|
|
16
20
|
from pymongo.collection import Collection
|
|
17
21
|
from pymongo.database import Database
|
|
18
22
|
from pymongo.errors import DuplicateKeyError as PyMongoDuplicateKeyError
|
|
19
|
-
from pymongo.errors import OperationFailure
|
|
23
|
+
from pymongo.errors import ConnectionFailure, OperationFailure
|
|
20
24
|
|
|
21
25
|
from agent_env.store.document_store.document_store import (
|
|
22
26
|
AbsentOrNull,
|
|
@@ -37,6 +41,10 @@ from agent_env.store.document_store.document_store import (
|
|
|
37
41
|
|
|
38
42
|
logger = logging.getLogger(__name__)
|
|
39
43
|
|
|
44
|
+
# Not pymongo.timeout: that sends maxTimeMS, and MongoDB aborts a build whose createIndexes runs out of it.
|
|
45
|
+
_INDEX_BUILD_WAIT_SECONDS = 5
|
|
46
|
+
_INDEX_RETRY_SECONDS = 1
|
|
47
|
+
|
|
40
48
|
|
|
41
49
|
def _field_cond(mongo: dict, field: str) -> dict:
|
|
42
50
|
if field in mongo and not isinstance(mongo[field], dict):
|
|
@@ -116,6 +124,41 @@ def _unique_violations() -> Iterator[None]:
|
|
|
116
124
|
raise DuplicateKeyError(str(e)) from e
|
|
117
125
|
|
|
118
126
|
|
|
127
|
+
def _index_spec(fields: list[str], unique: bool) -> tuple[list[tuple[str, int]], str]:
|
|
128
|
+
return [(f, ASCENDING) for f in fields], "_".join(fields) + ("_unique" if unique else "_index")
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def _build_index(build: Future[bool], create: Callable[[], None], listed: Callable[[], bool]) -> None:
|
|
132
|
+
"""Resolve ``build`` to True once MongoDB has built the index, or to False once a request cut off by a connection
|
|
133
|
+
failure has left a build that MongoDB lists. A request that left none is sent again, so an index the caller
|
|
134
|
+
stopped waiting for is never left missing."""
|
|
135
|
+
try:
|
|
136
|
+
while True:
|
|
137
|
+
try:
|
|
138
|
+
create()
|
|
139
|
+
except ConnectionFailure:
|
|
140
|
+
with suppress(ConnectionFailure):
|
|
141
|
+
if listed():
|
|
142
|
+
build.set_result(False)
|
|
143
|
+
return
|
|
144
|
+
time.sleep(_INDEX_RETRY_SECONDS)
|
|
145
|
+
else:
|
|
146
|
+
build.set_result(True)
|
|
147
|
+
return
|
|
148
|
+
except BaseException as exc:
|
|
149
|
+
build.set_exception(exc)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def _report_late_build(collection: str, name: str, build: Future[bool]) -> None:
|
|
153
|
+
error = build.exception()
|
|
154
|
+
if error is not None:
|
|
155
|
+
logger.error("MongoDB did not build index %s on %s: %s", name, collection, error)
|
|
156
|
+
elif build.result():
|
|
157
|
+
logger.info("MongoDB finished building index %s on %s", name, collection)
|
|
158
|
+
else:
|
|
159
|
+
logger.info("Lost the connection while MongoDB builds index %s on %s; it finishes the build", name, collection)
|
|
160
|
+
|
|
161
|
+
|
|
119
162
|
def _strip_id(doc: Optional[dict]) -> Optional[dict]:
|
|
120
163
|
if doc is not None:
|
|
121
164
|
doc.pop("_id", None)
|
|
@@ -248,16 +291,42 @@ class MongoDocumentStore(DocumentStore):
|
|
|
248
291
|
unique: bool = False,
|
|
249
292
|
ttl_seconds: Optional[int] = None,
|
|
250
293
|
) -> None:
|
|
294
|
+
"""Wait at most ``_INDEX_BUILD_WAIT_SECONDS`` for a missing plain index, then go on while a background thread
|
|
295
|
+
sees the build through: over a large collection it takes minutes, and holding up the write that asked for it
|
|
296
|
+
fails that write. A unique index is awaited in full, since writes rely on its constraint."""
|
|
297
|
+
if unique:
|
|
298
|
+
self._create_index(collection, fields, unique, ttl_seconds)
|
|
299
|
+
return
|
|
300
|
+
keys, name = _index_spec(fields, unique)
|
|
301
|
+
if self._listed(collection, keys, name):
|
|
302
|
+
return
|
|
303
|
+
build: Future[bool] = Future()
|
|
304
|
+
create = partial(self._create_index, collection, fields, unique, ttl_seconds)
|
|
305
|
+
listed = partial(self._listed, collection, keys, name)
|
|
306
|
+
thread_name = f"ensure-index-{collection}.{name}"
|
|
307
|
+
threading.Thread(target=_build_index, args=(build, create, listed), name=thread_name, daemon=True).start()
|
|
308
|
+
if wait([build], timeout=_INDEX_BUILD_WAIT_SECONDS).done and build.result():
|
|
309
|
+
return
|
|
310
|
+
logger.warning("Index %s on %s is not built yet; going on without waiting for it", name, collection)
|
|
311
|
+
build.add_done_callback(partial(_report_late_build, collection, name))
|
|
312
|
+
|
|
313
|
+
def _listed(self, collection: str, keys: list[tuple[str, int]], name: str) -> bool:
|
|
314
|
+
existing = self._c(collection).index_information()
|
|
315
|
+
return name in existing or any(spec["key"] == keys for spec in existing.values())
|
|
316
|
+
|
|
317
|
+
def _create_index(
|
|
318
|
+
self,
|
|
319
|
+
collection: str,
|
|
320
|
+
fields: list[str],
|
|
321
|
+
unique: bool = False,
|
|
322
|
+
ttl_seconds: Optional[int] = None,
|
|
323
|
+
) -> None:
|
|
324
|
+
keys, name = _index_spec(fields, unique)
|
|
251
325
|
kwargs: dict = {}
|
|
252
326
|
if ttl_seconds is not None:
|
|
253
327
|
kwargs["expireAfterSeconds"] = ttl_seconds
|
|
254
328
|
try:
|
|
255
|
-
self._c(collection).create_index(
|
|
256
|
-
[(f, ASCENDING) for f in fields],
|
|
257
|
-
unique=unique,
|
|
258
|
-
name="_".join(fields) + ("_unique" if unique else "_index"),
|
|
259
|
-
**kwargs,
|
|
260
|
-
)
|
|
329
|
+
self._c(collection).create_index(keys, unique=unique, name=name, **kwargs)
|
|
261
330
|
except OperationFailure as e:
|
|
262
331
|
# 85=IndexOptionsConflict, 86=IndexKeySpecsConflict: an equivalent index
|
|
263
332
|
# already exists under a different name/spec (pre-refactor). Tolerate it.
|
|
@@ -114,6 +114,12 @@ def image_repository(entity_id: str) -> str:
|
|
|
114
114
|
return key_segment(entity_id)
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
def local_image_repository(entity_id: str) -> str:
|
|
118
|
+
"""A repository for ``entity_id`` that is a valid OCI repository path and names no registry, whatever the id:
|
|
119
|
+
``local/<slug>-<hash>``, the name an image built where it runs is tagged with."""
|
|
120
|
+
return _local_segment(entity_id)
|
|
121
|
+
|
|
122
|
+
|
|
117
123
|
def fs_safe(entity_id: str) -> str:
|
|
118
124
|
"""A filename for an ``@local`` id: its key segment with no ``/``. Any other id is returned
|
|
119
125
|
unchanged, so it is only as filename-safe as it already was."""
|