codex-a2a 0.7.1__tar.gz → 0.7.3__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 (223) hide show
  1. {codex_a2a-0.7.1/src/codex_a2a.egg-info → codex_a2a-0.7.3}/PKG-INFO +21 -6
  2. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/README.md +20 -5
  3. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/guide.md +2 -2
  4. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/agent_card.py +0 -7
  5. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/payload_text.py +0 -3
  6. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/request_context.py +0 -3
  7. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/config.py +1 -1
  8. codex_a2a-0.7.3/src/codex_a2a/contracts/extension_specs.py +985 -0
  9. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/contracts/extensions.py +8 -982
  10. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/contracts/runtime_output.py +2 -21
  11. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/cancellation.py +1 -1
  12. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/executor.py +1 -1
  13. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/output_mapping.py +0 -23
  14. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/response_emitter.py +6 -4
  15. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_chunks.py +16 -0
  16. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_processor.py +4 -4
  17. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/thread_lifecycle_runtime.py +2 -2
  18. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_control.py +2 -4
  19. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_query.py +1 -1
  20. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/errors.py +1 -1
  21. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/exec_control.py +2 -2
  22. codex_a2a-0.7.3/src/codex_a2a/jsonrpc/exec_control_params.py +216 -0
  23. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_recovery.py +1 -1
  24. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupts.py +2 -2
  25. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/params.py +19 -18
  26. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/review_control.py +2 -2
  27. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/session_control.py +6 -6
  28. codex_a2a-0.7.1/src/codex_a2a/jsonrpc/control_params.py → codex_a2a-0.7.3/src/codex_a2a/jsonrpc/session_control_params.py +2 -212
  29. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/session_query.py +5 -5
  30. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/thread_lifecycle_control.py +18 -36
  31. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/turn_control.py +2 -2
  32. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/turn_control_params.py +1 -1
  33. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/agent_card.py +2 -267
  34. codex_a2a-0.7.3/src/codex_a2a/server/agent_card_extensions.py +272 -0
  35. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/application.py +12 -17
  36. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/http_middlewares.py +2 -2
  37. codex_a2a-0.7.3/src/codex_a2a/server/openapi.py +132 -0
  38. codex_a2a-0.7.1/src/codex_a2a/server/openapi.py → codex_a2a-0.7.3/src/codex_a2a/server/openapi_contract_fragments.py +46 -191
  39. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/request_handler.py +2 -2
  40. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/runtime_state.py +75 -188
  41. codex_a2a-0.7.3/src/codex_a2a/server/runtime_state_schema.py +151 -0
  42. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/task_store.py +0 -1
  43. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/conversation_facade.py +4 -2
  44. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/request_mapping.py +0 -7
  45. {codex_a2a-0.7.1 → codex_a2a-0.7.3/src/codex_a2a.egg-info}/PKG-INFO +21 -6
  46. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/SOURCES.txt +6 -1
  47. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/config/test_settings.py +1 -0
  48. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_codex_agent_session_binding.py +2 -0
  49. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_stream_chunks.py +18 -0
  50. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_streaming_output_contract.py +4 -2
  51. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_cli.py +6 -0
  52. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_migrations.py +1 -1
  53. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_request_handler.py +77 -0
  54. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_runtime_state.py +2 -1
  55. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_task_store.py +11 -11
  56. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/uv.lock +136 -131
  57. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.github/dependabot.yml +0 -0
  58. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.github/workflows/ci.yml +0 -0
  59. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.github/workflows/dependency-health.yml +0 -0
  60. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.github/workflows/publish.yml +0 -0
  61. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.gitignore +0 -0
  62. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.pre-commit-config.yaml +0 -0
  63. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/.secrets.baseline +0 -0
  64. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/AGENTS.md +0 -0
  65. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/CONTRIBUTING.md +0 -0
  66. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/LICENSE +0 -0
  67. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/SECURITY.md +0 -0
  68. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/architecture.md +0 -0
  69. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/compatibility.md +0 -0
  70. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/conformance-triage.md +0 -0
  71. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/conformance.md +0 -0
  72. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/extension-specifications.md +0 -0
  73. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/docs/maintainer-architecture.md +0 -0
  74. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/mypy.ini +0 -0
  75. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/pyproject.toml +0 -0
  76. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/README.md +0 -0
  77. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/conformance.sh +0 -0
  78. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/dependency_health.sh +0 -0
  79. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/doctor.sh +0 -0
  80. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/health_common.sh +0 -0
  81. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/publish_github_release.sh +0 -0
  82. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/smoke_test_built_cli.sh +0 -0
  83. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/sync_codex_docs.sh +0 -0
  84. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/validate_baseline.sh +0 -0
  85. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/scripts/validate_runtime_matrix.sh +0 -0
  86. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/setup.cfg +0 -0
  87. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/__init__.py +0 -0
  88. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/auth.py +0 -0
  89. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/cli.py +0 -0
  90. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/__init__.py +0 -0
  91. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/auth.py +0 -0
  92. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/client.py +0 -0
  93. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/config.py +0 -0
  94. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/errors.py +0 -0
  95. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/manager.py +0 -0
  96. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/client/types.py +0 -0
  97. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/contracts/__init__.py +0 -0
  98. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/__init__.py +0 -0
  99. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/directory_policy.py +0 -0
  100. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/discovery_runtime.py +0 -0
  101. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/exec_runtime.py +0 -0
  102. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/request_metadata.py +0 -0
  103. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/request_overrides.py +0 -0
  104. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/review_runtime.py +0 -0
  105. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/session_runtime.py +0 -0
  106. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_interrupts.py +0 -0
  107. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_state.py +0 -0
  108. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/streaming.py +0 -0
  109. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/tool_call_payloads.py +0 -0
  110. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/execution/watch_events.py +0 -0
  111. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/input_mapping.py +0 -0
  112. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/__init__.py +0 -0
  113. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/application.py +0 -0
  114. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_params.py +0 -0
  115. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_payload_mapping.py +0 -0
  116. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/dispatch.py +0 -0
  117. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/hooks.py +0 -0
  118. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_lifecycle.py +0 -0
  119. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_params.py +0 -0
  120. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_recovery_params.py +0 -0
  121. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/owner_guard.py +0 -0
  122. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/params_common.py +0 -0
  123. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/payload_mapping.py +0 -0
  124. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/query_params.py +0 -0
  125. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/review_control_params.py +0 -0
  126. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/thread_lifecycle_params.py +0 -0
  127. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/logging_context.py +0 -0
  128. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/media_modes.py +0 -0
  129. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/metrics.py +0 -0
  130. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/parts/text.py +0 -0
  131. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/payload_helpers.py +0 -0
  132. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/profile/__init__.py +0 -0
  133. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/profile/runtime.py +0 -0
  134. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/protocol_versions.py +0 -0
  135. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/py.typed +0 -0
  136. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/__init__.py +0 -0
  137. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/call_context.py +0 -0
  138. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/database.py +0 -0
  139. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/migrations.py +0 -0
  140. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/server/output_negotiation.py +0 -0
  141. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/__init__.py +0 -0
  142. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/client.py +0 -0
  143. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/discovery_payloads.py +0 -0
  144. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/exec_facade.py +0 -0
  145. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/interrupt_bridge.py +0 -0
  146. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/interrupts.py +0 -0
  147. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/models.py +0 -0
  148. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/notification_mapping.py +0 -0
  149. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/startup.py +0 -0
  150. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/stream_bridge.py +0 -0
  151. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a/upstream/transport.py +0 -0
  152. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/dependency_links.txt +0 -0
  153. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/entry_points.txt +0 -0
  154. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/requires.txt +0 -0
  155. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/top_level.txt +0 -0
  156. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/__init__.py +0 -0
  157. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/__init__.py +0 -0
  158. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_agent_card.py +0 -0
  159. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_cli.py +0 -0
  160. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_client_flow.py +0 -0
  161. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_client_manager.py +0 -0
  162. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_errors.py +0 -0
  163. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_lifecycle.py +0 -0
  164. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_payload_text.py +0 -0
  165. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_request_context.py +0 -0
  166. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/client/test_types.py +0 -0
  167. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/config/__init__.py +0 -0
  168. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/contracts/__init__.py +0 -0
  169. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/contracts/test_extension_contract_consistency.py +0 -0
  170. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/__init__.py +0 -0
  171. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_agent_errors.py +0 -0
  172. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_cancellation.py +0 -0
  173. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_directory_validation.py +0 -0
  174. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_discovery_exec_runtime.py +0 -0
  175. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_metrics.py +0 -0
  176. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_review_runtime.py +0 -0
  177. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_session_ownership.py +0 -0
  178. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_session_persistence.py +0 -0
  179. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_session_runtime.py +0 -0
  180. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_stream_interrupts.py +0 -0
  181. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_thread_lifecycle_runtime.py +0 -0
  182. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/execution/test_tool_call_payloads.py +0 -0
  183. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/fixtures/codex_app_server/command_execution_output_delta.json +0 -0
  184. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/fixtures/codex_app_server/file_change_output_delta.json +0 -0
  185. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/__init__.py +0 -0
  186. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_discovery_extension.py +0 -0
  187. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_exec_extension.py +0 -0
  188. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_session_extension.py +0 -0
  189. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_thread_lifecycle_extension.py +0 -0
  190. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_turn_review_extension.py +0 -0
  191. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_dispatch.py +0 -0
  192. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_guard_hooks.py +0 -0
  193. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/jsonrpc/test_jsonrpc_models.py +0 -0
  194. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/package/__init__.py +0 -0
  195. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/package/test_logging.py +0 -0
  196. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/package/test_publish_github_release_script.py +0 -0
  197. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/package/test_release_distribution_contract.py +0 -0
  198. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/package/test_typing_contract.py +0 -0
  199. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/package/test_version.py +0 -0
  200. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/parts/__init__.py +0 -0
  201. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/parts/test_text.py +0 -0
  202. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/profile/__init__.py +0 -0
  203. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/profile/test_profile.py +0 -0
  204. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/scripts/__init__.py +0 -0
  205. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/scripts/test_script_health_contract.py +0 -0
  206. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/__init__.py +0 -0
  207. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_agent_card.py +0 -0
  208. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_auth.py +0 -0
  209. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_call_context_builder.py +0 -0
  210. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_database.py +0 -0
  211. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_database_app_persistence.py +0 -0
  212. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/server/test_transport_contract.py +0 -0
  213. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/support/__init__.py +0 -0
  214. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/support/context.py +0 -0
  215. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/support/dummy_clients.py +0 -0
  216. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/support/fixtures.py +0 -0
  217. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/support/settings.py +0 -0
  218. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/test_input_mapping.py +0 -0
  219. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/test_protocol_versions.py +0 -0
  220. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/upstream/__init__.py +0 -0
  221. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/upstream/test_codex_client_params.py +0 -0
  222. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/upstream/test_interrupt_persistence.py +0 -0
  223. {codex_a2a-0.7.1 → codex_a2a-0.7.3}/tests/upstream/test_modular_upstream_components.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codex-a2a
3
- Version: 0.7.1
3
+ Version: 0.7.3
4
4
  Summary: Codex A2A runtime adapter
5
5
  Author: liujuanjuan1984@Intelligent-Internet
6
6
  License-Expression: Apache-2.0
@@ -157,11 +157,7 @@ Use this project when:
157
157
  - you want a thin service boundary instead of building your own adapter
158
158
  - you want inbound serving and outbound peer access in one deployable unit
159
159
 
160
- Prefer [a2a-client-hub](https://github.com/liujuanjuan1984/a2a-client-hub) when:
161
-
162
- - you need a broader application-facing client integration layer
163
- - you want higher-level A2A consumption and upstream adapter normalization
164
- - you want client-side integration concerns separated from the Codex runtime boundary
160
+ Prefer **[a2a-client-hub](https://github.com/liujuanjuan1984/a2a-client-hub)** when you need a broader application-facing integration layer or higher-level A2A consumption (see [Ecosystem](#ecosystem) for details).
165
161
 
166
162
  Look elsewhere if:
167
163
 
@@ -201,6 +197,25 @@ The normative compatibility split and deployment model live in [Compatibility Gu
201
197
  - [External Conformance Experiments](docs/conformance.md) Manual A2A TCK experiment entrypoint and triage workflow.
202
198
  - [Security Policy](SECURITY.md) Threat model, deployment caveats, and vulnerability disclosure guidance.
203
199
 
200
+ ## Ecosystem
201
+
202
+ `codex-a2a` is part of a growing landscape of A2A-compliant projects. Depending on your architecture, you may find these related projects useful:
203
+
204
+ ### Foundations (Upstream)
205
+
206
+ - **[Intelligent-Internet/a2a-python](https://github.com/Intelligent-Internet/a2a-python)**: The core protocol implementation and SDK used by this adapter.
207
+ - **Codex**: The underlying local agent runtime (Proprietary).
208
+
209
+ ### Gateways & Hubs (Vertical Integration)
210
+
211
+ - **[liujuanjuan1984/a2a-client-hub](https://github.com/liujuanjuan1984/a2a-client-hub)**: An application-facing integration layer that consumes A2A-compliant instances (like `codex-a2a`) and provides higher-level normalization.
212
+ - **[jinyitao123/a2a-gateway](https://github.com/jinyitao123/a2a-gateway)**: Operates at the protocol-bridging layer, sitting between agent platforms and the A2A/MCP ecosystem to handle discovery and routing.
213
+
214
+ ### Alternative Implementations & Runtimes (Horizontal Differences)
215
+
216
+ - **[Intelligent-Internet/opencode-a2a](https://github.com/Intelligent-Internet/opencode-a2a)**: A complementary Python runtime implementation that shares similar protocol patterns and output negotiation practices.
217
+ - **[MyPrototypeWhat/codex-a2a](https://github.com/MyPrototypeWhat/codex-a2a)**: A lightweight **TypeScript** Express middleware implementation. Ideal for developers looking for in-process SDK integration within a Node.js environment.
218
+
204
219
  ## Development
205
220
 
206
221
  For contributor workflow, validation, release handling, and helper scripts, see [Contributing Guide](CONTRIBUTING.md) and [Scripts Reference](scripts/README.md). Use that workflow to create a PR from the working branch and merge into `main` after human review.
@@ -110,11 +110,7 @@ Use this project when:
110
110
  - you want a thin service boundary instead of building your own adapter
111
111
  - you want inbound serving and outbound peer access in one deployable unit
112
112
 
113
- Prefer [a2a-client-hub](https://github.com/liujuanjuan1984/a2a-client-hub) when:
114
-
115
- - you need a broader application-facing client integration layer
116
- - you want higher-level A2A consumption and upstream adapter normalization
117
- - you want client-side integration concerns separated from the Codex runtime boundary
113
+ Prefer **[a2a-client-hub](https://github.com/liujuanjuan1984/a2a-client-hub)** when you need a broader application-facing integration layer or higher-level A2A consumption (see [Ecosystem](#ecosystem) for details).
118
114
 
119
115
  Look elsewhere if:
120
116
 
@@ -154,6 +150,25 @@ The normative compatibility split and deployment model live in [Compatibility Gu
154
150
  - [External Conformance Experiments](docs/conformance.md) Manual A2A TCK experiment entrypoint and triage workflow.
155
151
  - [Security Policy](SECURITY.md) Threat model, deployment caveats, and vulnerability disclosure guidance.
156
152
 
153
+ ## Ecosystem
154
+
155
+ `codex-a2a` is part of a growing landscape of A2A-compliant projects. Depending on your architecture, you may find these related projects useful:
156
+
157
+ ### Foundations (Upstream)
158
+
159
+ - **[Intelligent-Internet/a2a-python](https://github.com/Intelligent-Internet/a2a-python)**: The core protocol implementation and SDK used by this adapter.
160
+ - **Codex**: The underlying local agent runtime (Proprietary).
161
+
162
+ ### Gateways & Hubs (Vertical Integration)
163
+
164
+ - **[liujuanjuan1984/a2a-client-hub](https://github.com/liujuanjuan1984/a2a-client-hub)**: An application-facing integration layer that consumes A2A-compliant instances (like `codex-a2a`) and provides higher-level normalization.
165
+ - **[jinyitao123/a2a-gateway](https://github.com/jinyitao123/a2a-gateway)**: Operates at the protocol-bridging layer, sitting between agent platforms and the A2A/MCP ecosystem to handle discovery and routing.
166
+
167
+ ### Alternative Implementations & Runtimes (Horizontal Differences)
168
+
169
+ - **[Intelligent-Internet/opencode-a2a](https://github.com/Intelligent-Internet/opencode-a2a)**: A complementary Python runtime implementation that shares similar protocol patterns and output negotiation practices.
170
+ - **[MyPrototypeWhat/codex-a2a](https://github.com/MyPrototypeWhat/codex-a2a)**: A lightweight **TypeScript** Express middleware implementation. Ideal for developers looking for in-process SDK integration within a Node.js environment.
171
+
157
172
  ## Development
158
173
 
159
174
  For contributor workflow, validation, release handling, and helper scripts, see [Contributing Guide](CONTRIBUTING.md) and [Scripts Reference](scripts/README.md). Use that workflow to create a PR from the working branch and merge into `main` after human review.
@@ -191,7 +191,7 @@ Use the grouped sections below as the deployment-first reading order:
191
191
  - `A2A_DATABASE_URL` also owns the adapter-managed runtime-state schema lifecycle. On startup, `codex-a2a` auto-creates the runtime-state tables, records a schema version for the `runtime_state` scope, and applies in-place migrations for those tables only.
192
192
  - The adapter-managed runtime-state schema is limited to `a2a_session_bindings`, `a2a_session_owners`, `a2a_pending_session_claims`, `a2a_pending_interrupt_requests`, and `a2a_schema_version`. It does not own the A2A SDK task-store tables or any upstream Codex/provider-local state.
193
193
  - For deployment-specific durability constraints and migration-scope boundaries, see [compatibility.md](./compatibility.md).
194
- - `A2A_LOG_LEVEL`: `DEBUG/INFO/WARNING/ERROR`, default `INFO`
194
+ - `A2A_LOG_LEVEL`: `DEBUG/INFO/WARNING/ERROR`, default `WARNING`
195
195
  - `A2A_LOG_PAYLOADS`: log A2A/Codex payload bodies, default `false`
196
196
  - `A2A_LOG_BODY_LIMIT`: payload log body size limit, default `0` (no truncation)
197
197
  - `A2A_TITLE`: agent name, default `Codex A2A`
@@ -438,7 +438,7 @@ This path is for contributors. End users should prefer the released CLI path des
438
438
  - `mention.path` and `skill.path` are forwarded verbatim. The service does not guess app or plugin identifiers from display names.
439
439
  - `local_image` is not part of the current declared stable rich-input contract.
440
440
  - Session query projections currently use the upstream Codex `session_id` as the A2A `contextId`. This is intentional for the current deployment model: `contextId` and `metadata.shared.session.id` refer to the same upstream session identity, and the contract declares that equality explicitly.
441
- - Task state defaults to `input-required` to support multi-turn interactions.
441
+ - Completed chat turns are persisted as `completed`; `input-required` is reserved for active interrupt asks that still need a reply.
442
442
  - Non-streaming requests return a `Task` directly.
443
443
  - Non-streaming `message:send` responses may include normalized token usage at `Task.metadata.shared.usage` with the same field schema.
444
444
  - `tasks/resubscribe` remains part of the core A2A method baseline, but this deployment's terminal-task replay-once policy is a declared service-level behavior rather than a generic A2A guarantee.
@@ -64,10 +64,3 @@ def build_agent_card_request_kwargs(config: A2AClientConfig) -> dict[str, Any]:
64
64
  key: str(value) for key, value in config.default_headers.items() if value is not None
65
65
  }
66
66
  return http_kwargs
67
-
68
-
69
- __all__ = [
70
- "AgentCardEndpoint",
71
- "build_agent_card_request_kwargs",
72
- "resolve_agent_card_endpoint",
73
- ]
@@ -186,6 +186,3 @@ def extract_text_from_payload(payload: Any) -> str | None:
186
186
  return mapped_text
187
187
 
188
188
  return None
189
-
190
-
191
- __all__ = ["extract_text_from_payload"]
@@ -39,6 +39,3 @@ def build_call_context(
39
39
  if not extra_headers:
40
40
  return None
41
41
  return ClientCallContext(state={"headers": dict(extra_headers)})
42
-
43
-
44
- __all__ = ["build_call_context", "build_default_headers", "split_request_metadata"]
@@ -330,7 +330,7 @@ class Settings(BaseSettings):
330
330
  a2a_enable_turn_control: bool = Field(default=True, alias="A2A_ENABLE_TURN_CONTROL")
331
331
  a2a_enable_review_control: bool = Field(default=False, alias="A2A_ENABLE_REVIEW_CONTROL")
332
332
  a2a_enable_exec_control: bool = Field(default=False, alias="A2A_ENABLE_EXEC_CONTROL")
333
- a2a_log_level: str = Field(default="INFO", alias="A2A_LOG_LEVEL")
333
+ a2a_log_level: str = Field(default="WARNING", alias="A2A_LOG_LEVEL")
334
334
  a2a_log_payloads: bool = Field(default=False, alias="A2A_LOG_PAYLOADS")
335
335
  a2a_log_body_limit: int = Field(default=0, alias="A2A_LOG_BODY_LIMIT")
336
336
  a2a_documentation_url: str | None = Field(default=None, alias="A2A_DOCUMENTATION_URL")