codex-a2a 0.7.2__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.2/src/codex_a2a.egg-info → codex_a2a-0.7.3}/PKG-INFO +21 -6
  2. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/README.md +20 -5
  3. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/guide.md +1 -1
  4. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/agent_card.py +0 -7
  5. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/payload_text.py +0 -3
  6. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/request_context.py +0 -3
  7. codex_a2a-0.7.3/src/codex_a2a/contracts/extension_specs.py +985 -0
  8. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/contracts/extensions.py +8 -982
  9. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/contracts/runtime_output.py +2 -21
  10. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/output_mapping.py +0 -23
  11. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/response_emitter.py +6 -4
  12. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_control.py +2 -4
  13. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_query.py +1 -1
  14. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/errors.py +1 -1
  15. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/exec_control.py +2 -2
  16. codex_a2a-0.7.3/src/codex_a2a/jsonrpc/exec_control_params.py +216 -0
  17. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_recovery.py +1 -1
  18. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupts.py +2 -2
  19. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/params.py +19 -18
  20. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/review_control.py +2 -2
  21. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/session_control.py +6 -6
  22. codex_a2a-0.7.2/src/codex_a2a/jsonrpc/control_params.py → codex_a2a-0.7.3/src/codex_a2a/jsonrpc/session_control_params.py +2 -212
  23. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/session_query.py +5 -5
  24. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/thread_lifecycle_control.py +18 -36
  25. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/turn_control.py +2 -2
  26. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/turn_control_params.py +1 -1
  27. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/agent_card.py +2 -267
  28. codex_a2a-0.7.3/src/codex_a2a/server/agent_card_extensions.py +272 -0
  29. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/application.py +10 -15
  30. codex_a2a-0.7.3/src/codex_a2a/server/openapi.py +132 -0
  31. codex_a2a-0.7.2/src/codex_a2a/server/openapi.py → codex_a2a-0.7.3/src/codex_a2a/server/openapi_contract_fragments.py +46 -191
  32. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/runtime_state.py +75 -188
  33. codex_a2a-0.7.3/src/codex_a2a/server/runtime_state_schema.py +151 -0
  34. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/task_store.py +0 -1
  35. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/conversation_facade.py +4 -2
  36. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/request_mapping.py +0 -7
  37. {codex_a2a-0.7.2 → codex_a2a-0.7.3/src/codex_a2a.egg-info}/PKG-INFO +21 -6
  38. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/SOURCES.txt +6 -1
  39. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_codex_agent_session_binding.py +2 -0
  40. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_streaming_output_contract.py +2 -0
  41. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_migrations.py +1 -1
  42. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_request_handler.py +77 -0
  43. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_runtime_state.py +2 -1
  44. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_task_store.py +11 -11
  45. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/uv.lock +136 -131
  46. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.github/dependabot.yml +0 -0
  47. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.github/workflows/ci.yml +0 -0
  48. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.github/workflows/dependency-health.yml +0 -0
  49. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.github/workflows/publish.yml +0 -0
  50. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.gitignore +0 -0
  51. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.pre-commit-config.yaml +0 -0
  52. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/.secrets.baseline +0 -0
  53. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/AGENTS.md +0 -0
  54. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/CONTRIBUTING.md +0 -0
  55. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/LICENSE +0 -0
  56. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/SECURITY.md +0 -0
  57. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/architecture.md +0 -0
  58. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/compatibility.md +0 -0
  59. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/conformance-triage.md +0 -0
  60. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/conformance.md +0 -0
  61. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/extension-specifications.md +0 -0
  62. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/docs/maintainer-architecture.md +0 -0
  63. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/mypy.ini +0 -0
  64. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/pyproject.toml +0 -0
  65. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/README.md +0 -0
  66. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/conformance.sh +0 -0
  67. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/dependency_health.sh +0 -0
  68. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/doctor.sh +0 -0
  69. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/health_common.sh +0 -0
  70. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/publish_github_release.sh +0 -0
  71. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/smoke_test_built_cli.sh +0 -0
  72. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/sync_codex_docs.sh +0 -0
  73. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/validate_baseline.sh +0 -0
  74. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/scripts/validate_runtime_matrix.sh +0 -0
  75. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/setup.cfg +0 -0
  76. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/__init__.py +0 -0
  77. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/auth.py +0 -0
  78. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/cli.py +0 -0
  79. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/__init__.py +0 -0
  80. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/auth.py +0 -0
  81. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/client.py +0 -0
  82. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/config.py +0 -0
  83. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/errors.py +0 -0
  84. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/manager.py +0 -0
  85. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/client/types.py +0 -0
  86. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/config.py +0 -0
  87. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/contracts/__init__.py +0 -0
  88. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/__init__.py +0 -0
  89. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/cancellation.py +0 -0
  90. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/directory_policy.py +0 -0
  91. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/discovery_runtime.py +0 -0
  92. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/exec_runtime.py +0 -0
  93. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/executor.py +0 -0
  94. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/request_metadata.py +0 -0
  95. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/request_overrides.py +0 -0
  96. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/review_runtime.py +0 -0
  97. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/session_runtime.py +0 -0
  98. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_chunks.py +0 -0
  99. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_interrupts.py +0 -0
  100. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_processor.py +1 -1
  101. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/stream_state.py +0 -0
  102. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/streaming.py +0 -0
  103. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/thread_lifecycle_runtime.py +0 -0
  104. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/tool_call_payloads.py +0 -0
  105. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/execution/watch_events.py +0 -0
  106. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/input_mapping.py +0 -0
  107. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/__init__.py +0 -0
  108. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/application.py +0 -0
  109. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_params.py +0 -0
  110. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/discovery_payload_mapping.py +0 -0
  111. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/dispatch.py +0 -0
  112. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/hooks.py +0 -0
  113. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_lifecycle.py +0 -0
  114. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_params.py +0 -0
  115. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/interrupt_recovery_params.py +0 -0
  116. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/owner_guard.py +0 -0
  117. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/params_common.py +0 -0
  118. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/payload_mapping.py +0 -0
  119. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/query_params.py +0 -0
  120. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/review_control_params.py +0 -0
  121. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/jsonrpc/thread_lifecycle_params.py +0 -0
  122. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/logging_context.py +0 -0
  123. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/media_modes.py +0 -0
  124. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/metrics.py +0 -0
  125. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/parts/text.py +0 -0
  126. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/payload_helpers.py +0 -0
  127. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/profile/__init__.py +0 -0
  128. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/profile/runtime.py +0 -0
  129. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/protocol_versions.py +0 -0
  130. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/py.typed +0 -0
  131. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/__init__.py +0 -0
  132. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/call_context.py +0 -0
  133. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/database.py +0 -0
  134. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/http_middlewares.py +0 -0
  135. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/migrations.py +0 -0
  136. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/output_negotiation.py +0 -0
  137. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/server/request_handler.py +0 -0
  138. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/__init__.py +0 -0
  139. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/client.py +0 -0
  140. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/discovery_payloads.py +0 -0
  141. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/exec_facade.py +0 -0
  142. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/interrupt_bridge.py +0 -0
  143. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/interrupts.py +0 -0
  144. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/models.py +0 -0
  145. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/notification_mapping.py +0 -0
  146. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/startup.py +0 -0
  147. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/stream_bridge.py +0 -0
  148. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a/upstream/transport.py +0 -0
  149. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/dependency_links.txt +0 -0
  150. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/entry_points.txt +0 -0
  151. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/requires.txt +0 -0
  152. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/src/codex_a2a.egg-info/top_level.txt +0 -0
  153. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/__init__.py +0 -0
  154. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/__init__.py +0 -0
  155. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_agent_card.py +0 -0
  156. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_cli.py +0 -0
  157. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_client_flow.py +0 -0
  158. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_client_manager.py +0 -0
  159. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_errors.py +0 -0
  160. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_lifecycle.py +0 -0
  161. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_payload_text.py +0 -0
  162. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_request_context.py +0 -0
  163. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/client/test_types.py +0 -0
  164. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/config/__init__.py +0 -0
  165. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/config/test_settings.py +0 -0
  166. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/contracts/__init__.py +0 -0
  167. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/contracts/test_extension_contract_consistency.py +0 -0
  168. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/__init__.py +0 -0
  169. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_agent_errors.py +0 -0
  170. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_cancellation.py +0 -0
  171. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_directory_validation.py +0 -0
  172. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_discovery_exec_runtime.py +0 -0
  173. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_metrics.py +0 -0
  174. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_review_runtime.py +0 -0
  175. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_session_ownership.py +0 -0
  176. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_session_persistence.py +0 -0
  177. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_session_runtime.py +0 -0
  178. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_stream_chunks.py +0 -0
  179. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_stream_interrupts.py +0 -0
  180. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_thread_lifecycle_runtime.py +0 -0
  181. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/execution/test_tool_call_payloads.py +0 -0
  182. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/fixtures/codex_app_server/command_execution_output_delta.json +0 -0
  183. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/fixtures/codex_app_server/file_change_output_delta.json +0 -0
  184. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/__init__.py +0 -0
  185. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_discovery_extension.py +0 -0
  186. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_exec_extension.py +0 -0
  187. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_session_extension.py +0 -0
  188. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_thread_lifecycle_extension.py +0 -0
  189. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_codex_turn_review_extension.py +0 -0
  190. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_dispatch.py +0 -0
  191. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_guard_hooks.py +0 -0
  192. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/jsonrpc/test_jsonrpc_models.py +0 -0
  193. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/package/__init__.py +0 -0
  194. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/package/test_logging.py +0 -0
  195. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/package/test_publish_github_release_script.py +0 -0
  196. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/package/test_release_distribution_contract.py +0 -0
  197. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/package/test_typing_contract.py +0 -0
  198. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/package/test_version.py +0 -0
  199. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/parts/__init__.py +0 -0
  200. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/parts/test_text.py +0 -0
  201. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/profile/__init__.py +0 -0
  202. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/profile/test_profile.py +0 -0
  203. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/scripts/__init__.py +0 -0
  204. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/scripts/test_script_health_contract.py +0 -0
  205. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/__init__.py +0 -0
  206. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_agent_card.py +0 -0
  207. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_auth.py +0 -0
  208. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_call_context_builder.py +0 -0
  209. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_cli.py +0 -0
  210. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_database.py +0 -0
  211. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_database_app_persistence.py +0 -0
  212. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/server/test_transport_contract.py +0 -0
  213. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/support/__init__.py +0 -0
  214. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/support/context.py +0 -0
  215. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/support/dummy_clients.py +0 -0
  216. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/support/fixtures.py +0 -0
  217. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/support/settings.py +0 -0
  218. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/test_input_mapping.py +0 -0
  219. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/test_protocol_versions.py +0 -0
  220. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/upstream/__init__.py +0 -0
  221. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/upstream/test_codex_client_params.py +0 -0
  222. {codex_a2a-0.7.2 → codex_a2a-0.7.3}/tests/upstream/test_interrupt_persistence.py +0 -0
  223. {codex_a2a-0.7.2 → 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.2
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.
@@ -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"]