agentenv-framework-protocol 0.1.453__tar.gz → 0.1.454__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.
Files changed (126) hide show
  1. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/PKG-INFO +1 -1
  2. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/pyproject.toml +1 -1
  3. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_recording.py +16 -3
  4. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/.gitignore +0 -0
  5. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/LICENSE +0 -0
  6. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/NOTICE +0 -0
  7. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/README.md +0 -0
  8. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/THIRD_PARTY_NOTICES.md +0 -0
  9. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/__init__.py +0 -0
  10. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/advanced_agent.py +0 -0
  11. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/basic_agent.py +0 -0
  12. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/custom_extensions_agent.py +0 -0
  13. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/multimodal_agent.py +0 -0
  14. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/reference_model.py +0 -0
  15. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/examples/streaming_agent.py +0 -0
  16. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/__init__.py +0 -0
  17. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/__init__.py +0 -0
  18. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/_trajectory_log.py +0 -0
  19. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/_triggers.py +0 -0
  20. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/extensions.py +0 -0
  21. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/framework.py +0 -0
  22. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/peer_agents.py +0 -0
  23. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/proxy.py +0 -0
  24. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/registry.py +0 -0
  25. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/staging.py +0 -0
  26. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/tasks/__init__.py +0 -0
  27. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/a2a_agent/tasks/v1.py +0 -0
  28. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/agent_env_environment.py +0 -0
  29. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/browser_cdp.py +0 -0
  30. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/client.py +0 -0
  31. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/__init__.py +0 -0
  32. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/_declare.py +0 -0
  33. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/_linux.py +0 -0
  34. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/_load.py +0 -0
  35. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/_with_fds.py +0 -0
  36. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/app.py +0 -0
  37. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/app_data.py +0 -0
  38. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/app_runtime.py +0 -0
  39. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/apps.py +0 -0
  40. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/card.py +0 -0
  41. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/checks.py +0 -0
  42. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/__init__.py +0 -0
  43. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/__main__.py +0 -0
  44. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/checks.py +0 -0
  45. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/client.py +0 -0
  46. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/fixture.py +0 -0
  47. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/mp4.py +0 -0
  48. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/page_fixture.py +0 -0
  49. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/conformance/report.py +0 -0
  50. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/dataplane.py +0 -0
  51. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/driver.py +0 -0
  52. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/errors.py +0 -0
  53. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/extensions.py +0 -0
  54. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/frames.py +0 -0
  55. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/keys.py +0 -0
  56. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/launch.py +0 -0
  57. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/manifest.py +0 -0
  58. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/operations.py +0 -0
  59. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/platform.py +0 -0
  60. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/queue.py +0 -0
  61. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/recording.py +0 -0
  62. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/results.py +0 -0
  63. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/run_install_step.py +0 -0
  64. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/runtime.py +0 -0
  65. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/seed.py +0 -0
  66. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/serve.py +0 -0
  67. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/serve_app.py +0 -0
  68. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/session.py +0 -0
  69. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/settings.py +0 -0
  70. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/skill.py +0 -0
  71. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/spaces.py +0 -0
  72. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/svc.py +0 -0
  73. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/computer/tools.py +0 -0
  74. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/errors.py +0 -0
  75. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/manifest.py +0 -0
  76. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/preflight.py +0 -0
  77. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/tool_access.py +0 -0
  78. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/tool_client.py +0 -0
  79. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/tool_context.py +0 -0
  80. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/transfers.py +0 -0
  81. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/types.py +0 -0
  82. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/src/agentenv_protocol/website_browser.py +0 -0
  83. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/computer_fake.py +0 -0
  84. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/probe_fake.py +0 -0
  85. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_agent.py +0 -0
  86. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_agent_examples.py +0 -0
  87. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_cdp_config.py +0 -0
  88. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_object_transfers.py +0 -0
  89. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_peer_agents.py +0 -0
  90. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_proxy.py +0 -0
  91. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_staging.py +0 -0
  92. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_a2a_trajectory_log.py +0 -0
  93. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_agent_env_environment.py +0 -0
  94. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_browser_cdp.py +0 -0
  95. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_client.py +0 -0
  96. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_app_data.py +0 -0
  97. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_app_server.py +0 -0
  98. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_conformance.py +0 -0
  99. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_conformance_checks.py +0 -0
  100. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_conformance_page.py +0 -0
  101. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_conformance_recording.py +0 -0
  102. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_dataplane.py +0 -0
  103. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_declare.py +0 -0
  104. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_driver.py +0 -0
  105. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_extensions.py +0 -0
  106. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_frames.py +0 -0
  107. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_page.py +0 -0
  108. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_queue.py +0 -0
  109. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_seed.py +0 -0
  110. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_serve.py +0 -0
  111. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_spaces.py +0 -0
  112. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_computer_svc_forward.py +0 -0
  113. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_control_token.py +0 -0
  114. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_data_objects.py +0 -0
  115. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_errors.py +0 -0
  116. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_extension_methods.py +0 -0
  117. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_intake.py +0 -0
  118. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_manifest.py +0 -0
  119. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_preflight.py +0 -0
  120. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_tool_access.py +0 -0
  121. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_tool_annotations.py +0 -0
  122. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_tool_client.py +0 -0
  123. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_tool_context.py +0 -0
  124. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_tool_context_fastmcp.py +0 -0
  125. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_tool_context_injection.py +0 -0
  126. {agentenv_framework_protocol-0.1.453 → agentenv_framework_protocol-0.1.454}/tests/test_website_browser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentenv-framework-protocol
3
- Version: 0.1.453
3
+ Version: 0.1.454
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agentenv-framework-protocol"
3
- version = "0.1.453"
3
+ version = "0.1.454"
4
4
  description = "Open data-plane protocol and server SDK for agent environments."
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -94,12 +94,16 @@ def _grant() -> dict:
94
94
  "file_field": "file"}}
95
95
 
96
96
 
97
- async def _record(driver, seconds: float, start: dict | None = None, end: dict | None = None) -> tuple[dict, dict]:
98
- """A recording that runs ``seconds`` from its first frame, however long that took to come, and then ends."""
97
+ async def _record(driver, seconds: float, start: dict | None = None, end: dict | None = None,
98
+ frames: int | None = None) -> tuple[dict, dict]:
99
+ """A recording that runs ``seconds`` from its first frame, however long that took to come, and, given ``frames``,
100
+ until its encoder holds that many, and then ends."""
99
101
  async with http_client(driver) as http:
100
102
  started = (await http.post(START, json={"request_id": "r", "fps": 10, **(start or {})})).json()
101
103
  await _first_frame(driver, started)
102
104
  await asyncio.sleep(seconds)
105
+ if frames is not None:
106
+ await _encoded(driver, started, frames)
103
107
  manifest = (await http.post(END, json={"recording_id": started["recording_id"], **(end or {})})).json()
104
108
  return started, manifest
105
109
 
@@ -237,7 +241,7 @@ async def test_a_stream_that_keeps_failing_ends_the_recording_with_its_error(hom
237
241
 
238
242
  @pytest.mark.asyncio
239
243
  async def test_a_stream_of_frames_keeps_each_frames_capture_time(home):
240
- _, manifest = await _record(Streamed(), 0.8, start={"fps": 20, "max_edge": 640})
244
+ _, manifest = await _record(Streamed(), 0.8, start={"fps": 20, "max_edge": 640}, frames=10)
241
245
  (segment,) = manifest["segments"]
242
246
  assert manifest["source"] == "stream" and (segment["width"], segment["height"]) == (640, 400)
243
247
  frames = _decoded(home / ".agentenv-recordings" / segment["path"])
@@ -511,3 +515,12 @@ async def test_frames_in_thread_keeps_the_latest_frames_for_a_slow_reader_and_cl
511
515
  await endless.aclose()
512
516
  assert first == 0 and rest == [26, 27, 28, 29]
513
517
  assert await asyncio.to_thread(stopped.wait, 5)
518
+
519
+
520
+ async def _encoded(driver, started: dict, frames: int) -> None:
521
+ """Until the recording's encoder holds ``frames`` frames: a busy machine captures fewer a second."""
522
+ recording = driver._computer.recordings.running[started["recording_id"]]
523
+ for _ in range(3000):
524
+ if recording.encoder and recording.encoder.frames >= frames:
525
+ return
526
+ await asyncio.sleep(0.01)