agentenv-framework-protocol 0.1.501__tar.gz → 0.1.504__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_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/PKG-INFO +8 -5
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/README.md +7 -4
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/pyproject.toml +1 -1
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/app.py +8 -5
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/skill.py +21 -4
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_driver.py +12 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/.gitignore +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/LICENSE +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/NOTICE +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/THIRD_PARTY_NOTICES.md +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/advanced_agent.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/basic_agent.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/custom_extensions_agent.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/multimodal_agent.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/reference_model.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/streaming_agent.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/.gitignore +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/Dockerfile +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/Dockerfile.dockerignore +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/README.md +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/data/seed.json +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/env.toml +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/site.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/web/index.html +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/web/package-lock.json +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/web/package.json +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/web/src/main.js +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/web/src/style.css +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/website/notes/web/vite.config.js +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/_trajectory_log.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/_triggers.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/extensions.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/framework.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/peer_agents.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/proxy.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/registry.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/staging.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/tasks/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/a2a_agent/tasks/v1.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/agent_env_environment.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/browser_cdp.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/client.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_declare.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_job.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_linux.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_load.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_macos.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_reaping.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_session_posix.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_session_windows.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_with_fds.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/_x11.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/app_data.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/app_runtime.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/apps.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/card.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/checks.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/__main__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/checks.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/client.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/desk.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/fixture.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/mp4.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/page_fixture.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/report.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/conformance/wayland_fixture.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/dataplane.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/driver.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/errors.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/extensions.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/frames.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/keys.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/launch.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/manifest.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/operations.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/platform.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/prefix.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/queue.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/recording.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/results.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/run_install_step.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/runtime.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/seed.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/serve.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/serve_app.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/served.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/session.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/settings.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/spaces.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/svc.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/computer/tools.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/errors.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/manifest.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/preflight.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/tool_access.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/tool_client.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/tool_context.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/transfers.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/types.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/clock.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/conformance.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/environment.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/errors.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/readiness.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/routes.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website/session.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website_browser/__init__.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website_browser/control.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website_browser/data.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website_browser/devtools.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website_browser/environment.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/src/agentenv_protocol/website_browser/shapes.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/computer_fake.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/probe_fake.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_agent.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_agent_examples.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_cdp_config.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_object_transfers.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_peer_agents.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_proxy.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_staging.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_trajectory_log.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_agent_env_environment.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_browser_cdp.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_browser_data.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_browser_state.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_client.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_app_data.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_app_server.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_conformance.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_conformance_checks.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_conformance_page.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_conformance_recording.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_dataplane.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_declare.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_extensions.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_frames.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_macos.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_page.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_queue.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_recording.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_seed.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_serve.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_served.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_session_windows.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_spaces.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_svc_forward.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_computer_tool_prefix.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_control_token.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_data_objects.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_errors.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_extension_methods.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_intake.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_manifest.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_preflight.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_tool_access.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_tool_annotations.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_tool_client.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_tool_context.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_tool_context_fastmcp.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_tool_context_injection.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_api.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_browser.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_conformance.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_environment.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_mcp.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_notes_example.py +0 -0
- {agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_website_readiness.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentenv-framework-protocol
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.504
|
|
4
4
|
Summary: Open data-plane protocol and server SDK for agent environments.
|
|
5
5
|
Project-URL: Homepage, https://www.agentenvframework.com
|
|
6
6
|
Project-URL: Documentation, https://www.agentenvframework.com/docs
|
|
@@ -652,8 +652,9 @@ driver has them, through the `served_tools`, `served_extensions` and `served_ope
|
|
|
652
652
|
features, among them `screen`: `desktop`, or `page` for a driver whose screen is a website
|
|
653
653
|
browser's active tab, which a computer env pairs with exactly one website browser. The driver serves its skill through `skill/v1` (an `@agent_skill` handler on the base
|
|
654
654
|
class): a SKILL.md written from the computer as it booted (its platform, session user and home,
|
|
655
|
-
the live screen size, what its input takes, its
|
|
656
|
-
|
|
655
|
+
the live screen size, what its input takes, its platform's shortcuts, a distribution's where it
|
|
656
|
+
has its own, as Omarchy does) and ending with the driver class's `notes`, markdown for what its
|
|
657
|
+
card can't say. A driver whose software ships a skill of
|
|
657
658
|
its own returns it from `bundled_skill()` (its description, body and other files), and the
|
|
658
659
|
computer skill leads with it, the computer's part following.
|
|
659
660
|
- **Framework extensions.** `computer-ready/v1` (`status`: real checks of the display and a
|
|
@@ -844,8 +845,10 @@ class MailApp(ComputerAppEnvironment):
|
|
|
844
845
|
installed into the venv every app gets beside them; `sources`, extra apt repositories
|
|
845
846
|
(`AptSource`, with a key file in the folder); `downloads`, files fetched by URL and checked by
|
|
846
847
|
sha256 (`Download`); `run`, scripts of the folder run as root or the session user (`RunScript`);
|
|
847
|
-
`services`, programs the computer's init runs from the prefix as the session user;
|
|
848
|
-
those it listens on
|
|
848
|
+
`services`, programs the computer's init runs from the prefix as the session user; `ports`,
|
|
849
|
+
those it listens on; and `shm_mb`, the shared memory it needs in `/dev/shm`, in MiB, which a
|
|
850
|
+
computer of it gets, the most its apps ask for, where its sandbox can size it (Chrome, say, which
|
|
851
|
+
keeps its renderers' memory there). Packages, requirements and downloads are resolved and fetched once, when the
|
|
849
852
|
computer env is put, and every build installs only those stored files, with the network closed.
|
|
850
853
|
Each value is checked as the class is defined: a URL, a sha256, a path that stays in the folder.
|
|
851
854
|
Installs are exact: apt installs each package without its recommends, and the venv gets exactly
|
|
@@ -587,8 +587,9 @@ driver has them, through the `served_tools`, `served_extensions` and `served_ope
|
|
|
587
587
|
features, among them `screen`: `desktop`, or `page` for a driver whose screen is a website
|
|
588
588
|
browser's active tab, which a computer env pairs with exactly one website browser. The driver serves its skill through `skill/v1` (an `@agent_skill` handler on the base
|
|
589
589
|
class): a SKILL.md written from the computer as it booted (its platform, session user and home,
|
|
590
|
-
the live screen size, what its input takes, its
|
|
591
|
-
|
|
590
|
+
the live screen size, what its input takes, its platform's shortcuts, a distribution's where it
|
|
591
|
+
has its own, as Omarchy does) and ending with the driver class's `notes`, markdown for what its
|
|
592
|
+
card can't say. A driver whose software ships a skill of
|
|
592
593
|
its own returns it from `bundled_skill()` (its description, body and other files), and the
|
|
593
594
|
computer skill leads with it, the computer's part following.
|
|
594
595
|
- **Framework extensions.** `computer-ready/v1` (`status`: real checks of the display and a
|
|
@@ -779,8 +780,10 @@ class MailApp(ComputerAppEnvironment):
|
|
|
779
780
|
installed into the venv every app gets beside them; `sources`, extra apt repositories
|
|
780
781
|
(`AptSource`, with a key file in the folder); `downloads`, files fetched by URL and checked by
|
|
781
782
|
sha256 (`Download`); `run`, scripts of the folder run as root or the session user (`RunScript`);
|
|
782
|
-
`services`, programs the computer's init runs from the prefix as the session user;
|
|
783
|
-
those it listens on
|
|
783
|
+
`services`, programs the computer's init runs from the prefix as the session user; `ports`,
|
|
784
|
+
those it listens on; and `shm_mb`, the shared memory it needs in `/dev/shm`, in MiB, which a
|
|
785
|
+
computer of it gets, the most its apps ask for, where its sandbox can size it (Chrome, say, which
|
|
786
|
+
keeps its renderers' memory there). Packages, requirements and downloads are resolved and fetched once, when the
|
|
784
787
|
computer env is put, and every build installs only those stored files, with the network closed.
|
|
785
788
|
Each value is checked as the class is defined: a URL, a sha256, a path that stays in the folder.
|
|
786
789
|
Installs are exact: apt installs each package without its recommends, and the venv gets exactly
|
|
@@ -134,7 +134,9 @@ class Linux(BaseModel):
|
|
|
134
134
|
"""How a Linux computer installs the app: ``files``, a folder of the app's copied under its prefix; ``packages``,
|
|
135
135
|
the OS's; ``python``, a requirements file in that folder installed into a venv beside them; ``sources``, extra apt
|
|
136
136
|
repositories; ``downloads``, files fetched by URL; ``run``, scripts run once those are in; ``services``, programs
|
|
137
|
-
its init runs; ``ports``, those it listens on
|
|
137
|
+
its init runs; ``ports``, those it listens on; ``shm_mb``, the shared memory it needs in ``/dev/shm``, in MiB, which
|
|
138
|
+
a computer of it gets where its sandbox can size it. Everything is fetched once at put, and builds install only
|
|
139
|
+
that."""
|
|
138
140
|
|
|
139
141
|
model_config = ConfigDict(extra="forbid")
|
|
140
142
|
|
|
@@ -146,6 +148,7 @@ class Linux(BaseModel):
|
|
|
146
148
|
run: Optional[list[RunScript]] = None
|
|
147
149
|
services: list[Service] = Field(default_factory=list)
|
|
148
150
|
ports: Optional[list[int]] = None
|
|
151
|
+
shm_mb: Optional[int] = None
|
|
149
152
|
|
|
150
153
|
|
|
151
154
|
class Windows(BaseModel):
|
|
@@ -349,13 +352,13 @@ def install(os_type: str, spec: BaseModel, *, launch: Optional[Launch] = None, p
|
|
|
349
352
|
def linux(*, distribution: Optional[str] = None, files: str = ".", packages: Optional[Packages] = None,
|
|
350
353
|
python: Optional[str] = None, sources: Optional[list[AptSource]] = None,
|
|
351
354
|
downloads: Optional[list[Download]] = None, run: Optional[list[RunScript]] = None,
|
|
352
|
-
services: Optional[list[Service]] = None, ports: Optional[list[int]] = None,
|
|
353
|
-
|
|
354
|
-
build_settings: Optional[type[BaseModel]] = None) -> Callable:
|
|
355
|
+
services: Optional[list[Service]] = None, ports: Optional[list[int]] = None, shm_mb: Optional[int] = None,
|
|
356
|
+
launch: Optional[Launch] = None, paths: Optional[list[str]] = None, skill: Optional[str] = None,
|
|
357
|
+
settings: Optional[type[BaseModel]] = None, build_settings: Optional[type[BaseModel]] = None) -> Callable:
|
|
355
358
|
"""``@install`` for Linux, or with ``distribution`` for that distribution alone: how such a computer installs the
|
|
356
359
|
app, ``Linux``'s fields, and what is its own there."""
|
|
357
360
|
spec = Linux(files=files, packages=packages, python=python, sources=sources, downloads=downloads, run=run,
|
|
358
|
-
services=services or [], ports=ports)
|
|
361
|
+
services=services or [], ports=ports, shm_mb=shm_mb)
|
|
359
362
|
return install(platform_key("linux", distribution), spec, launch=launch, paths=paths, skill=skill,
|
|
360
363
|
settings=settings, build_settings=build_settings)
|
|
361
364
|
|
|
@@ -10,18 +10,35 @@ from pathlib import Path
|
|
|
10
10
|
from typing import TYPE_CHECKING
|
|
11
11
|
|
|
12
12
|
from .keys import PRINTABLE_KEYS
|
|
13
|
+
from .platform import entry_for, platform_key
|
|
13
14
|
|
|
14
15
|
if TYPE_CHECKING:
|
|
15
16
|
from .driver import ComputerDriverEnvironment
|
|
16
17
|
|
|
17
|
-
#: The chords
|
|
18
|
-
|
|
19
|
-
"linux": """\
|
|
18
|
+
#: The chords Linux apps keep for editing, whatever their desktop.
|
|
19
|
+
_LINUX_APPS = """\
|
|
20
20
|
- Copy, cut and paste: `['Control', 'c']`, `['Control', 'x']`, `['Control', 'v']`; in a terminal, with `'Shift'` too.
|
|
21
21
|
- Undo `['Control', 'z']`, save `['Control', 's']`, select all `['Control', 'a']`, find `['Control', 'f']`.
|
|
22
|
+
"""
|
|
23
|
+
#: The chords each platform's desktops keep for the everyday actions, as ``computer_key`` takes them, by platform key: a
|
|
24
|
+
#: distribution's replace its OS type's.
|
|
25
|
+
SHORTCUTS = {
|
|
26
|
+
"linux": _LINUX_APPS + """\
|
|
22
27
|
- Switch windows `['Alt', 'Tab']`; close the focused one `['Alt', 'F4']`.
|
|
23
28
|
- In a file manager, `['Control', 'l']` takes a typed path, `['F2']` renames and `['Control', 'Shift', 'n']` makes a
|
|
24
29
|
folder.
|
|
30
|
+
""",
|
|
31
|
+
"linux/omarchy": """\
|
|
32
|
+
- Workspaces: `['Super', '1']` to `['Super', '9']` switch to one; `['Super', 'Shift', '1']` to `['Super', 'Shift', '9']`
|
|
33
|
+
move the focused window there.
|
|
34
|
+
- Windows tile side by side. `['Super', 'ArrowLeft']` and the other arrows focus the window that way, and with
|
|
35
|
+
`'Shift'` too move it there; `['Super', 'w']` closes the focused window, `['Super', 'f']` makes it full screen and
|
|
36
|
+
`['Super', 't']` floats or tiles it.
|
|
37
|
+
- `['Super', 'Enter']` opens a terminal, `['Super', 'Shift', 'f']` the file manager and `['Super', 'Shift', 'b']` the
|
|
38
|
+
browser; `['Super', 'Alt', ' ']` the app launcher, where a typed name and Enter start an app; `['Super', ' ']`
|
|
39
|
+
Omarchy's menu; `['Super', 'k']` the list of every shortcut.
|
|
40
|
+
""" + _LINUX_APPS + """\
|
|
41
|
+
- `['Super', 'c']`, `['Super', 'x']` and `['Super', 'v']` copy, cut and paste in any window, a terminal too.
|
|
25
42
|
""",
|
|
26
43
|
}
|
|
27
44
|
_SESSIONS = {"x11": "an X11 session", "wayland": "a Wayland session"}
|
|
@@ -56,7 +73,7 @@ async def skill(driver: ComputerDriverEnvironment) -> tuple[str, str, dict[str,
|
|
|
56
73
|
"## Input",
|
|
57
74
|
_input(driver),
|
|
58
75
|
]
|
|
59
|
-
if shortcuts := SHORTCUTS
|
|
76
|
+
if shortcuts := entry_for(SHORTCUTS, platform_key(platform.os, platform.distribution)):
|
|
60
77
|
sections += ["## Shortcuts", shortcuts.rstrip()]
|
|
61
78
|
if notes := driver.notes.strip():
|
|
62
79
|
sections += ["## Notes", notes]
|
|
@@ -221,6 +221,18 @@ async def test_the_skill_is_written_from_the_computer_as_it_booted_under_the_nam
|
|
|
221
221
|
assert refused.status_code == 400 and "lowercase letters, digits and single hyphens" in refused.text
|
|
222
222
|
|
|
223
223
|
|
|
224
|
+
@pytest.mark.asyncio
|
|
225
|
+
async def test_the_skills_shortcuts_are_its_distributions_own_where_it_has_them(monkeypatch):
|
|
226
|
+
monkeypatch.setattr("agentenv_protocol.computer.skill.getpass.getuser", lambda: "omarchy")
|
|
227
|
+
omarchy = Platform(os="linux", distribution="omarchy", version="4.5.0", arch="amd64", display="wayland")
|
|
228
|
+
async with http_client(FakeDriver(platform=omarchy)) as http:
|
|
229
|
+
skill_md = (await http.get("/agentenv/ext/skill/get", params={"name": "computer-desktop"})).json()["skill_md"]
|
|
230
|
+
|
|
231
|
+
shortcuts = skill_md.partition("## Shortcuts")[2]
|
|
232
|
+
assert "- Omarchy 4.5.0 (amd64), a Wayland session" in skill_md
|
|
233
|
+
assert "`['Super', 'Alt', ' ']` the app launcher" in shortcuts and "`['Alt', 'Tab']`" not in skill_md
|
|
234
|
+
|
|
235
|
+
|
|
224
236
|
@pytest.mark.asyncio
|
|
225
237
|
async def test_a_driver_whose_software_ships_a_skill_leads_with_it_and_the_computers_part_follows(monkeypatch):
|
|
226
238
|
class Bundling(FakeDriver):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/THIRD_PARTY_NOTICES.md
RENAMED
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/examples/basic_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/computer_fake.py
RENAMED
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/probe_fake.py
RENAMED
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_a2a_proxy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_intake.py
RENAMED
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_manifest.py
RENAMED
|
File without changes
|
{agentenv_framework_protocol-0.1.501 → agentenv_framework_protocol-0.1.504}/tests/test_preflight.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|