asap-protocol 2.5.6__tar.gz → 2.5.8__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 (239) hide show
  1. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/CHANGELOG.md +108 -0
  2. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/PKG-INFO +11 -9
  3. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/README.md +9 -7
  4. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/pyproject.toml +17 -7
  5. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/__init__.py +1 -1
  6. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/rate_limit.py +9 -3
  7. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/.gitignore +0 -0
  8. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/LICENSE +0 -0
  9. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/agent.schema.json +0 -0
  10. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/artifact.schema.json +0 -0
  11. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/conversation.schema.json +0 -0
  12. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/manifest.schema.json +0 -0
  13. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/message.schema.json +0 -0
  14. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/state_snapshot.schema.json +0 -0
  15. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/entities/task.schema.json +0 -0
  16. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/envelope.schema.json +0 -0
  17. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/examples/shellclaw-jetson-capabilities.json +0 -0
  18. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/parts/data_part.schema.json +0 -0
  19. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/parts/file_part.schema.json +0 -0
  20. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/parts/resource_part.schema.json +0 -0
  21. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/parts/template_part.schema.json +0 -0
  22. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/parts/text_part.schema.json +0 -0
  23. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/artifact_notify.schema.json +0 -0
  24. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/mcp_resource_data.schema.json +0 -0
  25. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/mcp_resource_fetch.schema.json +0 -0
  26. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/mcp_tool_call.schema.json +0 -0
  27. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/mcp_tool_result.schema.json +0 -0
  28. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/message_send.schema.json +0 -0
  29. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/state_query.schema.json +0 -0
  30. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/state_restore.schema.json +0 -0
  31. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/task_cancel.schema.json +0 -0
  32. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/task_request.schema.json +0 -0
  33. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/task_response.schema.json +0 -0
  34. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/schemas/payloads/task_update.schema.json +0 -0
  35. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/__init__.py +0 -0
  36. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/__init__.py +0 -0
  37. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/auth_middleware.py +0 -0
  38. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/capability_map.py +0 -0
  39. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/config.py +0 -0
  40. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/errors.py +0 -0
  41. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/jwt_extractor.py +0 -0
  42. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/mcp/protected_server.py +0 -0
  43. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/openapi/__init__.py +0 -0
  44. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/openapi/approval.py +0 -0
  45. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/openapi/capability_mapper.py +0 -0
  46. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/openapi/factory.py +0 -0
  47. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/openapi/handler.py +0 -0
  48. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/adapters/openapi/spec_loader.py +0 -0
  49. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/__init__.py +0 -0
  50. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/_scope_parse.py +0 -0
  51. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/agent_jwt.py +0 -0
  52. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/agent_jwt_session.py +0 -0
  53. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/approval.py +0 -0
  54. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/capabilities.py +0 -0
  55. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/identity.py +0 -0
  56. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/introspection.py +0 -0
  57. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/jti_replay_cache.py +0 -0
  58. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/jwks.py +0 -0
  59. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/middleware.py +0 -0
  60. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/oauth2.py +0 -0
  61. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/oidc.py +0 -0
  62. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/scopes.py +0 -0
  63. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/self_auth.py +0 -0
  64. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/webauthn.py +0 -0
  65. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/auth/webauthn_store.py +0 -0
  66. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/__init__.py +0 -0
  67. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/_compat.py +0 -0
  68. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/audit_export.py +0 -0
  69. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/compliance_check.py +0 -0
  70. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/delegation.py +0 -0
  71. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/keys.py +0 -0
  72. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/manifest.py +0 -0
  73. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/repl.py +0 -0
  74. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/schemas.py +0 -0
  75. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/cli/trace.py +0 -0
  76. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/client/__init__.py +0 -0
  77. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/client/cache.py +0 -0
  78. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/client/http_client.py +0 -0
  79. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/client/market.py +0 -0
  80. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/client/revocation.py +0 -0
  81. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/client/trust.py +0 -0
  82. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/crypto/__init__.py +0 -0
  83. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/crypto/keys.py +0 -0
  84. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/crypto/models.py +0 -0
  85. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/crypto/signing.py +0 -0
  86. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/crypto/trust.py +0 -0
  87. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/crypto/trust_levels.py +0 -0
  88. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/discovery/__init__.py +0 -0
  89. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/discovery/dnssd.py +0 -0
  90. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/discovery/health.py +0 -0
  91. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/discovery/registry.py +0 -0
  92. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/discovery/validation.py +0 -0
  93. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/discovery/wellknown.py +0 -0
  94. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/__init__.py +0 -0
  95. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/audit.py +0 -0
  96. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/delegation.py +0 -0
  97. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/delegation_storage.py +0 -0
  98. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/hooks.py +0 -0
  99. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/metering.py +0 -0
  100. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/sla.py +0 -0
  101. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/sla_storage.py +0 -0
  102. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/economics/storage.py +0 -0
  103. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/errors.py +0 -0
  104. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/README.md +0 -0
  105. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/__init__.py +0 -0
  106. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/a2h_approval.py +0 -0
  107. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/agent_failover.py +0 -0
  108. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/auth_patterns.py +0 -0
  109. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/coordinator.py +0 -0
  110. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/echo_agent.py +0 -0
  111. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/error_recovery.py +0 -0
  112. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/long_running.py +0 -0
  113. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/mcp_client_demo.py +0 -0
  114. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/mcp_integration.py +0 -0
  115. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/multi_step_workflow.py +0 -0
  116. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/orchestration.py +0 -0
  117. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/rate_limiting.py +0 -0
  118. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/run_demo.py +0 -0
  119. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/secure_agent.py +0 -0
  120. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/secure_handler.py +0 -0
  121. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/state_migration.py +0 -0
  122. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/storage_backends.py +0 -0
  123. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/streaming_agent.py +0 -0
  124. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/streaming_response.py +0 -0
  125. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/v1_3_0_showcase.py +0 -0
  126. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/examples/v1_4_0_showcase.py +0 -0
  127. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/handlers/__init__.py +0 -0
  128. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/handlers/hitl.py +0 -0
  129. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/__init__.py +0 -0
  130. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/_base.py +0 -0
  131. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/a2h.py +0 -0
  132. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/crewai.py +0 -0
  133. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/langchain.py +0 -0
  134. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/llamaindex.py +0 -0
  135. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/openclaw.py +0 -0
  136. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/pydanticai.py +0 -0
  137. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/smolagents.py +0 -0
  138. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/integrations/vercel_ai.py +0 -0
  139. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/__init__.py +0 -0
  140. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/__init__.py +0 -0
  141. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/auth_middleware.py +0 -0
  142. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/capability_map.py +0 -0
  143. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/config.py +0 -0
  144. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/errors.py +0 -0
  145. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/jwt_extractor.py +0 -0
  146. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/auth/protected_server.py +0 -0
  147. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/client.py +0 -0
  148. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/protocol.py +0 -0
  149. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/serve.py +0 -0
  150. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/server.py +0 -0
  151. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/mcp/server_runner.py +0 -0
  152. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/__init__.py +0 -0
  153. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/base.py +0 -0
  154. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/constants.py +0 -0
  155. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/entities.py +0 -0
  156. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/enums.py +0 -0
  157. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/envelope.py +0 -0
  158. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/ids.py +0 -0
  159. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/parts.py +0 -0
  160. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/payloads.py +0 -0
  161. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/types.py +0 -0
  162. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/models/validators.py +0 -0
  163. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/__init__.py +0 -0
  164. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/dashboards/README.md +0 -0
  165. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/dashboards/asap-detailed.json +0 -0
  166. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/dashboards/asap-red.json +0 -0
  167. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/logging.py +0 -0
  168. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/metrics.py +0 -0
  169. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/trace_parser.py +0 -0
  170. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/trace_ui.py +0 -0
  171. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/observability/tracing.py +0 -0
  172. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/registry/__init__.py +0 -0
  173. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/registry/anti_spam.py +0 -0
  174. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/registry/auto_registration.py +0 -0
  175. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/registry/bot_pr.py +0 -0
  176. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/registry/receipt_cache.py +0 -0
  177. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/schemas.py +0 -0
  178. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/__init__.py +0 -0
  179. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/machine.py +0 -0
  180. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/metering.py +0 -0
  181. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/snapshot.py +0 -0
  182. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/stores/__init__.py +0 -0
  183. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/stores/_sqlite_base.py +0 -0
  184. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/stores/_sync_bridge.py +0 -0
  185. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/stores/memory.py +0 -0
  186. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/state/stores/sqlite.py +0 -0
  187. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/testing/__init__.py +0 -0
  188. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/testing/asgi_factory.py +0 -0
  189. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/testing/assertions.py +0 -0
  190. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/testing/compliance.py +0 -0
  191. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/testing/fixtures.py +0 -0
  192. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/testing/mocks.py +0 -0
  193. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/__init__.py +0 -0
  194. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/_auth_helpers.py +0 -0
  195. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/_request_handler.py +0 -0
  196. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/_state_deps.py +0 -0
  197. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/agent_routes.py +0 -0
  198. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/cache.py +0 -0
  199. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/capability_routes.py +0 -0
  200. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/challenge.py +0 -0
  201. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/circuit_breaker.py +0 -0
  202. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/client/__init__.py +0 -0
  203. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/client/_core.py +0 -0
  204. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/client/_discovery.py +0 -0
  205. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/client/_helpers.py +0 -0
  206. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/client/_send.py +0 -0
  207. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/compression.py +0 -0
  208. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/delegation_api.py +0 -0
  209. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/errors.py +0 -0
  210. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/escalation_routes.py +0 -0
  211. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/executors.py +0 -0
  212. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/handlers.py +0 -0
  213. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/jsonrpc.py +0 -0
  214. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/lambda_codec.py +0 -0
  215. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/middleware.py +0 -0
  216. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/mtls.py +0 -0
  217. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/routes/__init__.py +0 -0
  218. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/routes/audit.py +0 -0
  219. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/routes/health.py +0 -0
  220. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/routes/jsonrpc.py +0 -0
  221. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/routes/websocket.py +0 -0
  222. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/server.py +0 -0
  223. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/sla_api.py +0 -0
  224. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/usage_api.py +0 -0
  225. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/validators.py +0 -0
  226. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/webhook.py +0 -0
  227. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/websocket.py +0 -0
  228. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/__init__.py +0 -0
  229. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/_ack.py +0 -0
  230. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/_actions.py +0 -0
  231. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/_dispatch.py +0 -0
  232. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/_errors.py +0 -0
  233. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/_recv.py +0 -0
  234. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/client.py +0 -0
  235. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/codecs.py +0 -0
  236. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/pool.py +0 -0
  237. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/transport/ws/server.py +0 -0
  238. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/utils/__init__.py +0 -0
  239. {asap_protocol-2.5.6 → asap_protocol-2.5.8}/src/asap/utils/sanitization.py +0 -0
@@ -16,6 +16,114 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
16
 
17
17
  ---
18
18
 
19
+ ## [2.5.8] - 2026-10-21
20
+
21
+ **Security & coverage patch** — record the repository dependency overrides
22
+ and regression tests that landed on `main` after v2.5.7 via
23
+ [#413](https://github.com/asap-protocol/asap-protocol/pull/413)–[#417](https://github.com/asap-protocol/asap-protocol/pull/417).
24
+ This is **not** Formal Spec & Interop. npm `@asap-protocol/*` packages remain
25
+ at **2.4.1**. PyPI `asap-compliance` remains **1.3.0**.
26
+ Tag [`v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8)
27
+ · PyPI `asap-protocol==2.5.8`.
28
+
29
+ ### Security
30
+
31
+ - **Repository uv overrides and `[mcp]` extra (#413)** —
32
+ ``[tool.uv] override-dependencies`` pins ``aiohttp>=3.14.4,<4``
33
+ (CVE-2026-111063 and related), ``certifi>=2026.10.19`` (PYSEC-2026-4320),
34
+ and ``pillow>=13.0.0`` (CVE-2026-112395 / 112397 / 112400 / 112404 /
35
+ 112895 / 112896 / 112897 / 112899). Those overrides apply in this
36
+ repository. They are not requirements of the published wheel. The
37
+ optional ``[mcp]`` extra requires ``mcp>=1.30.0,<2`` (CVE-2026-59951).
38
+ - **`apps/web` Vite (#413)** — npm override pins ``vite`` to ``8.1.6``
39
+ (GHSA-587h-7wmj-h5pm and the other launch-editor advisories on Vite
40
+ 8.0.0–8.1.5). This pin is the web app in this repository, not a PyPI
41
+ requirement.
42
+ - **`apps/web` audit CI** — ``quality (web)`` installs npm 11.21.0 before
43
+ ``npm audit`` and ``audit-ci``. ``audit-ci.jsonc`` sets
44
+ ``package-manager`` to ``npm``. npm 10 (Node 20) and pnpm 9 still call
45
+ the retired ``/-/npm/v1/security/audits/quick`` endpoint. Both audit
46
+ steps retry a registry 503 and still fail immediately on a real advisory.
47
+
48
+ ### Quality
49
+
50
+ - **Quota, replay, and nonce regression tests (#413)** — webhook partial
51
+ refill, truncated public keys, JTI eviction, nonce expiry, and discovery
52
+ health. Batch ``check_n`` cost shipped in v2.5.7.
53
+ - **Metering, SLA, usage, and delivery regression tests (#414)** — metering
54
+ windows, SLA boundaries, audit queries, the existing one-time
55
+ ``delegate_urn`` column add, usage pagination, webhook status band, batch
56
+ size, OpenAPI schema depth, and snapshot-loop edges.
57
+ - **Refresh, cache, and revocation regression tests (#415)** — OAuth refresh
58
+ on the buffer second, introspection cache expiry, discovery and registry
59
+ cache TTL, delegation expiry, ack timeout, revocation of a non-agent URN,
60
+ and dashboard action edges.
61
+ - **Expiry, receipt, and session regression tests (#416)** — receipt reads
62
+ at exact expiry, registration receipts, reactivation lifetime, approval
63
+ deadlines, host JWT skew, scope-claim types, envelope timestamps, and
64
+ compliance preflight edges.
65
+ - **Lifetime and size regression tests (#417)** — verify and reactivate
66
+ lifetime edges, blank IssueOps fields, request and decompressed size caps,
67
+ WebSocket idle and heartbeat fences, and truncated key age
68
+ (``timedelta.days`` inside ``warn_if_key_old``, distinct from the truncated
69
+ public-key fence in #413).
70
+
71
+ ### Migration
72
+
73
+ - **v2.5.7 → v2.5.8**: See [migration guide](docs/migration.md#upgrading-from-v257-to-v258).
74
+ No wire-protocol or manifest schema breaking changes. Installs of the
75
+ optional ``[mcp]`` extra now require ``mcp>=1.30.0,<2``.
76
+
77
+ ---
78
+
79
+ ## [2.5.7] - 2026-10-11
80
+
81
+ **Quality & coverage patch** — correct batch HTTP rate-limit accounting,
82
+ transitive dependency overrides for CI security gates, `apps/web` audit-ci
83
+ enforcement, and consolidated regression tests on `main` via
84
+ [#394](https://github.com/asap-protocol/asap-protocol/pull/394)–[#399](https://github.com/asap-protocol/asap-protocol/pull/399).
85
+ This is **not** Formal Spec & Interop. npm `@asap-protocol/*` packages remain
86
+ at **2.4.1**. PyPI `asap-compliance` remains **1.3.0**.
87
+ Tag [`v2.5.7`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.7)
88
+ · PyPI `asap-protocol==2.5.7`.
89
+
90
+ ### Fixed
91
+
92
+ - **Batch rate limits (#394)** — ``ASAPRateLimiter.check_n`` passes ``cost=n`` to
93
+ the moving-window strategy instead of ``n`` separate unit-cost ``hit`` calls,
94
+ so multi-item requests consume the correct quota.
95
+
96
+ ### Security
97
+
98
+ - **Transitive Python deps** — ``uv`` override pins for advisories on optional
99
+ integration paths (``multidict``, ``pydantic-ai``, ``werkzeug``, ``fsspec``)
100
+ so CI ``pip-audit`` stays green ([#395](https://github.com/asap-protocol/asap-protocol/pull/395)
101
+ train).
102
+ - **`apps/web` npm audit** — CI uses ``audit-ci`` with ``audit-ci.jsonc``;
103
+ production overrides bump ``sharp`` and ``source-map-js``
104
+ ([#395](https://github.com/asap-protocol/asap-protocol/pull/395) train).
105
+
106
+ ### Quality
107
+
108
+ - **Transport & auth regression tests (#395, #397, #394)** — stale-key grants and
109
+ 409 races, WebSocket token bursts and snapshot replace, streamed limits and
110
+ ceremony retry paths.
111
+ - **Registry & compliance harness (#389)** — endpoint rewrite, webhook DNS match,
112
+ compliance preflight edges.
113
+ - **Identity, economics, ingress (#398, #399)** — JWT middleware and metering
114
+ bridges, SSRF and ingress policy, adapter storage edges.
115
+
116
+ ### Migration
117
+
118
+ - **v2.5.6 → v2.5.7**: See [migration guide](docs/migration.md#upgrading-from-v256-to-v257).
119
+ No wire-protocol or manifest schema breaking changes. Operators using
120
+ JSON-RPC batch or other ``check_n`` paths should expect quota to reflect batch
121
+ size; oversized batches that v2.5.6 could accept may now raise
122
+ ``RateLimitExceeded`` (intended behavior). With default limits, a batch of 50
123
+ against ``10/second`` can trip in one call.
124
+
125
+ ---
126
+
19
127
  ## [2.5.6] - 2026-10-01
20
128
 
21
129
  **Security & quality patch** — Lite Registry IssueOps envelope and endpoint SSRF
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: asap-protocol
3
- Version: 2.5.6
3
+ Version: 2.5.8
4
4
  Summary: Async Simple Agent Protocol - A streamlined protocol for agent-to-agent communication
5
5
  Project-URL: Homepage, https://github.com/asap-protocol/asap-protocol
6
6
  Project-URL: Documentation, https://asap-protocol.github.io/asap-protocol
@@ -73,7 +73,7 @@ Requires-Dist: langchain-core>=1.3.3; extra == 'langchain'
73
73
  Provides-Extra: llamaindex
74
74
  Requires-Dist: llama-index-core>=0.10; extra == 'llamaindex'
75
75
  Provides-Extra: mcp
76
- Requires-Dist: mcp>=1.28.1; extra == 'mcp'
76
+ Requires-Dist: mcp<2,>=1.30.0; extra == 'mcp'
77
77
  Provides-Extra: openapi
78
78
  Requires-Dist: openapi-pydantic>=0.5; extra == 'openapi'
79
79
  Provides-Extra: openclaw
@@ -99,9 +99,9 @@ Description-Content-Type: text/markdown
99
99
 
100
100
  > A production-ready protocol for agent-to-agent communication and task coordination.
101
101
 
102
- **Quick Info**: [`v2.5.6`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.6) · PyPI [`asap-protocol`](https://pypi.org/project/asap-protocol/) | `Apache 2.0` | `Python 3.13+` | [Documentation](docs/index.md) | [Changelog](CHANGELOG.md)
102
+ **Quick Info**: [`v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8) · PyPI [`asap-protocol`](https://pypi.org/project/asap-protocol/) | `Apache 2.0` | `Python 3.13+` | [Documentation](docs/index.md) | [Changelog](CHANGELOG.md)
103
103
 
104
- > 📦 **Install** — [`asap-protocol` **2.5.6** on PyPI](https://pypi.org/project/asap-protocol/) (Python) · [`@asap-protocol/client` on npm](https://www.npmjs.com/package/@asap-protocol/client) (TypeScript)
104
+ > 📦 **Install** — [`asap-protocol` **2.5.8** on PyPI](https://pypi.org/project/asap-protocol/) (Python) · [`@asap-protocol/client` on npm](https://www.npmjs.com/package/@asap-protocol/client) (TypeScript)
105
105
 
106
106
  🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.com/) — browse agents, register yours, request verification.
107
107
 
@@ -156,16 +156,16 @@ ASAP meets agents where they run — optional Python extras, npm tool bridges, a
156
156
  We recommend using [uv](https://github.com/astral-sh/uv) for dependency management:
157
157
 
158
158
  ```bash
159
- uv add asap-protocol # latest on PyPI (currently 2.5.6)
159
+ uv add asap-protocol # latest on PyPI (currently 2.5.8)
160
160
  ```
161
161
 
162
162
  Or with pip:
163
163
 
164
164
  ```bash
165
- pip install asap-protocol==2.5.6
165
+ pip install asap-protocol==2.5.8
166
166
  ```
167
167
 
168
- **TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.6; `@asap-protocol/mcp-auth` HTTP middleware still deferred):
168
+ **TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.8; `@asap-protocol/mcp-auth` HTTP middleware still deferred):
169
169
 
170
170
  - [`@asap-protocol/client`](https://www.npmjs.com/package/@asap-protocol/client) — [SDK docs](docs/sdks/typescript.md)
171
171
  - [`@asap-protocol/mastra`](https://www.npmjs.com/package/@asap-protocol/mastra) — [docs](docs/integrations/mastra.md) · [demo](apps/example-mastra/README.md)
@@ -177,7 +177,7 @@ npm install @asap-protocol/mastra@2.4.1 @asap-protocol/client @mastra/core zod
177
177
  npm install @asap-protocol/openai-agents@2.4.1 @asap-protocol/client @openai/agents zod
178
178
  ```
179
179
 
180
- **Python v2.5.6** (security & quality patch) is **shipped** — see [Migration (v2.5.5 → v2.5.6)](docs/migration.md#upgrading-from-v255-to-v256). Dist Loop starters remain: [Build for agents](docs/guides/build-for-agents.md) · [starters](examples/starters/README.md).
180
+ **Python v2.5.8** (security & coverage patch) is **shipped** — see [Migration (v2.5.7 → v2.5.8)](docs/migration.md#upgrading-from-v257-to-v258). Dist Loop starters remain: [Build for agents](docs/guides/build-for-agents.md) · [starters](examples/starters/README.md).
181
181
 
182
182
  ## Quick Start
183
183
 
@@ -265,6 +265,8 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
265
265
 
266
266
  | Version | What shipped |
267
267
  | :-- | :-- |
268
+ | **v2.5.8** | **Security & coverage patch** — **[GitHub Release `v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8)** · repository uv overrides (`aiohttp`, `certifi`, `pillow`), optional `[mcp]` extra `mcp>=1.30.0,<2`, `apps/web` Vite `8.1.6`, and regression tests ([#413](https://github.com/asap-protocol/asap-protocol/pull/413)–[#417](https://github.com/asap-protocol/asap-protocol/pull/417)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#258---2026-10-21) and [Migration (v2.5.7 → v2.5.8)](docs/migration.md#upgrading-from-v257-to-v258) |
269
+ | **v2.5.7** | **Quality & coverage patch** — **[GitHub Release `v2.5.7`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.7)** · batch rate-limit `check_n` fix, CI security gate deps + `apps/web` audit-ci, consolidated regression tests ([#394](https://github.com/asap-protocol/asap-protocol/pull/394)–[#399](https://github.com/asap-protocol/asap-protocol/pull/399)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#257---2026-10-11) and [Migration (v2.5.6 → v2.5.7)](docs/migration.md#upgrading-from-v256-to-v257) |
268
270
  | **v2.5.6** | **Security & quality patch** — **[GitHub Release `v2.5.6`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.6)** · Lite Registry IssueOps envelope + endpoint SSRF, compliance open-redirect SSRF, constrained capability execute, rotate-key lifecycle race, deps + regression tests. npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#256---2026-10-01) and [Migration (v2.5.5 → v2.5.6)](docs/migration.md#upgrading-from-v255-to-v256) |
269
271
  | **v2.5.5** | **Security & quality patch** — **[GitHub Release `v2.5.5`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.5)** · OpenAPI path-param climb, registry URN overwrite guard, marketplace SSRF DNS pin, capability-replace consent, fail-closed reactivate, Agent JWT persist/revoke races. npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#255---2026-09-11) and [Migration (v2.5.4 → v2.5.5)](docs/migration.md#upgrading-from-v254-to-v255) |
270
272
  | **v2.5.4** | **Distribution Loop** — **[GitHub Release `v2.5.4`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.4)** · thin starters (`examples/starters/`), [Build for agents](docs/guides/build-for-agents.md), homepage agent-first CTAs, telemetry ops (no public metrics UI). See [CHANGELOG](CHANGELOG.md#254---2026-07-18), [PRD](product/prd/prd-v2.5.4-distribution-loop.md), and [Migration (v2.5.3 → v2.5.4)](docs/migration.md#upgrading-from-v253-to-v254) |
@@ -290,7 +292,7 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
290
292
 
291
293
  The [agentic marketplace](https://asap-protocol.com/) and Lite Registry are live. The **v2.5.x train** focuses on interop and adoption:
292
294
 
293
- - **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.6** is the security/quality patch above)
295
+ - **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.8** is the security/coverage patch above)
294
296
  - **`@asap-protocol/mcp-auth`** (npm) — HTTP/SSE MCP middleware
295
297
  - **Formal spec track** — introspection, privacy, cross-protocol interop on the path to v3.0 economy
296
298
 
@@ -7,9 +7,9 @@
7
7
 
8
8
  > A production-ready protocol for agent-to-agent communication and task coordination.
9
9
 
10
- **Quick Info**: [`v2.5.6`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.6) · PyPI [`asap-protocol`](https://pypi.org/project/asap-protocol/) | `Apache 2.0` | `Python 3.13+` | [Documentation](docs/index.md) | [Changelog](CHANGELOG.md)
10
+ **Quick Info**: [`v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8) · PyPI [`asap-protocol`](https://pypi.org/project/asap-protocol/) | `Apache 2.0` | `Python 3.13+` | [Documentation](docs/index.md) | [Changelog](CHANGELOG.md)
11
11
 
12
- > 📦 **Install** — [`asap-protocol` **2.5.6** on PyPI](https://pypi.org/project/asap-protocol/) (Python) · [`@asap-protocol/client` on npm](https://www.npmjs.com/package/@asap-protocol/client) (TypeScript)
12
+ > 📦 **Install** — [`asap-protocol` **2.5.8** on PyPI](https://pypi.org/project/asap-protocol/) (Python) · [`@asap-protocol/client` on npm](https://www.npmjs.com/package/@asap-protocol/client) (TypeScript)
13
13
 
14
14
  🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.com/) — browse agents, register yours, request verification.
15
15
 
@@ -64,16 +64,16 @@ ASAP meets agents where they run — optional Python extras, npm tool bridges, a
64
64
  We recommend using [uv](https://github.com/astral-sh/uv) for dependency management:
65
65
 
66
66
  ```bash
67
- uv add asap-protocol # latest on PyPI (currently 2.5.6)
67
+ uv add asap-protocol # latest on PyPI (currently 2.5.8)
68
68
  ```
69
69
 
70
70
  Or with pip:
71
71
 
72
72
  ```bash
73
- pip install asap-protocol==2.5.6
73
+ pip install asap-protocol==2.5.8
74
74
  ```
75
75
 
76
- **TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.6; `@asap-protocol/mcp-auth` HTTP middleware still deferred):
76
+ **TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.8; `@asap-protocol/mcp-auth` HTTP middleware still deferred):
77
77
 
78
78
  - [`@asap-protocol/client`](https://www.npmjs.com/package/@asap-protocol/client) — [SDK docs](docs/sdks/typescript.md)
79
79
  - [`@asap-protocol/mastra`](https://www.npmjs.com/package/@asap-protocol/mastra) — [docs](docs/integrations/mastra.md) · [demo](apps/example-mastra/README.md)
@@ -85,7 +85,7 @@ npm install @asap-protocol/mastra@2.4.1 @asap-protocol/client @mastra/core zod
85
85
  npm install @asap-protocol/openai-agents@2.4.1 @asap-protocol/client @openai/agents zod
86
86
  ```
87
87
 
88
- **Python v2.5.6** (security & quality patch) is **shipped** — see [Migration (v2.5.5 → v2.5.6)](docs/migration.md#upgrading-from-v255-to-v256). Dist Loop starters remain: [Build for agents](docs/guides/build-for-agents.md) · [starters](examples/starters/README.md).
88
+ **Python v2.5.8** (security & coverage patch) is **shipped** — see [Migration (v2.5.7 → v2.5.8)](docs/migration.md#upgrading-from-v257-to-v258). Dist Loop starters remain: [Build for agents](docs/guides/build-for-agents.md) · [starters](examples/starters/README.md).
89
89
 
90
90
  ## Quick Start
91
91
 
@@ -173,6 +173,8 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
173
173
 
174
174
  | Version | What shipped |
175
175
  | :-- | :-- |
176
+ | **v2.5.8** | **Security & coverage patch** — **[GitHub Release `v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8)** · repository uv overrides (`aiohttp`, `certifi`, `pillow`), optional `[mcp]` extra `mcp>=1.30.0,<2`, `apps/web` Vite `8.1.6`, and regression tests ([#413](https://github.com/asap-protocol/asap-protocol/pull/413)–[#417](https://github.com/asap-protocol/asap-protocol/pull/417)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#258---2026-10-21) and [Migration (v2.5.7 → v2.5.8)](docs/migration.md#upgrading-from-v257-to-v258) |
177
+ | **v2.5.7** | **Quality & coverage patch** — **[GitHub Release `v2.5.7`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.7)** · batch rate-limit `check_n` fix, CI security gate deps + `apps/web` audit-ci, consolidated regression tests ([#394](https://github.com/asap-protocol/asap-protocol/pull/394)–[#399](https://github.com/asap-protocol/asap-protocol/pull/399)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#257---2026-10-11) and [Migration (v2.5.6 → v2.5.7)](docs/migration.md#upgrading-from-v256-to-v257) |
176
178
  | **v2.5.6** | **Security & quality patch** — **[GitHub Release `v2.5.6`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.6)** · Lite Registry IssueOps envelope + endpoint SSRF, compliance open-redirect SSRF, constrained capability execute, rotate-key lifecycle race, deps + regression tests. npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#256---2026-10-01) and [Migration (v2.5.5 → v2.5.6)](docs/migration.md#upgrading-from-v255-to-v256) |
177
179
  | **v2.5.5** | **Security & quality patch** — **[GitHub Release `v2.5.5`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.5)** · OpenAPI path-param climb, registry URN overwrite guard, marketplace SSRF DNS pin, capability-replace consent, fail-closed reactivate, Agent JWT persist/revoke races. npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#255---2026-09-11) and [Migration (v2.5.4 → v2.5.5)](docs/migration.md#upgrading-from-v254-to-v255) |
178
180
  | **v2.5.4** | **Distribution Loop** — **[GitHub Release `v2.5.4`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.4)** · thin starters (`examples/starters/`), [Build for agents](docs/guides/build-for-agents.md), homepage agent-first CTAs, telemetry ops (no public metrics UI). See [CHANGELOG](CHANGELOG.md#254---2026-07-18), [PRD](product/prd/prd-v2.5.4-distribution-loop.md), and [Migration (v2.5.3 → v2.5.4)](docs/migration.md#upgrading-from-v253-to-v254) |
@@ -198,7 +200,7 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
198
200
 
199
201
  The [agentic marketplace](https://asap-protocol.com/) and Lite Registry are live. The **v2.5.x train** focuses on interop and adoption:
200
202
 
201
- - **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.6** is the security/quality patch above)
203
+ - **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.8** is the security/coverage patch above)
202
204
  - **`@asap-protocol/mcp-auth`** (npm) — HTTP/SSE MCP middleware
203
205
  - **Formal spec track** — introspection, privacy, cross-protocol interop on the path to v3.0 economy
204
206
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "asap-protocol"
3
- version = "2.5.6"
3
+ version = "2.5.8"
4
4
  description = "Async Simple Agent Protocol - A streamlined protocol for agent-to-agent communication"
5
5
  authors = [
6
6
  {name = "ASAP Protocol Contributors"}
@@ -84,8 +84,8 @@ webauthn = [
84
84
  ]
85
85
  # Framework integration extras.
86
86
  mcp = [
87
- # Floor 1.28.1 for CVE-2026-52869 / CVE-2026-52870 / CVE-2026-59950.
88
- "mcp>=1.28.1",
87
+ # Floor 1.30.0 for CVE-2026-59951 (prior: 1.28.1 for CVE-2026-52869 / 52870 / 59950).
88
+ "mcp>=1.30.0,<2",
89
89
  ]
90
90
  langchain = [
91
91
  "langchain-core>=1.3.3",
@@ -124,13 +124,14 @@ Issues = "https://github.com/asap-protocol/asap-protocol/issues"
124
124
  # Override transitive dependencies for security fixes:
125
125
  # - pyjwt>=2.14.0 for PYSEC-2026-4140–4152 (prior: CVE-2026-32597 baseline at 2.12.0)
126
126
  # - anyio>=4.14.2 for PYSEC-2026-4024 / PYSEC-2026-4025
127
- # - aiohttp>=3.14.3,<4 for PYSEC-2026-3545/3546/3547 (prior: CVE-2026-34993 / CVE-2026-47265 at >=3.14.0)
127
+ # - aiohttp>=3.14.4,<4 for CVE-2026-111063/111064/111065/111066/111748/111749/111750 and GHSA-2g87-pp6c-29x5 (prior: PYSEC-2026-3545/3546/3547 at >=3.14.3)
128
128
  # - zeroconf>=0.149.5 for CVE-2026-47180/47183/47184 ([dns-sd] extra)
129
129
  # - pyasn1>=0.6.4 for CVE-2026-30922 / CVE-2026-59885 / CVE-2026-59886 / PYSEC-2026-3455/3456/3457 (transitive, auth/JWT stack)
130
130
  # - tinytag>=2.2.1 for CVE-2026-32889
131
131
  # - cryptography>=50.0.0 for PYSEC-2026-3552 (PKCS7 Bleichenbacher; 3553/3554 fixed in 49.0.0; prior GHSA-537c-gmf6-5ccf at >=48.0.1)
132
132
  # - requests>=2.33.0 for CVE-2026-25645 (extract_zipped_paths temp file)
133
- # - pillow>=12.3.0 for PYSEC-2026-2253–2257 (prior: CVE-2026-40192 at >=12.2.0; transitive, e.g. pdf/vision stacks)
133
+ # - pillow>=13.0.0 for CVE-2026-112395/112397/112400/112404/112895/112896/112897/112899 (prior: PYSEC-2026-2253–2257 at >=12.3.0; transitive, e.g. pdf/vision stacks)
134
+ # - certifi>=2026.10.19 for PYSEC-2026-4320 (transitive via requests/httpx)
134
135
  # - click>=8.3.3 for PYSEC-2026-2132 (transitive, e.g. typer / uvicorn / mkdocs stacks)
135
136
  # - pytest>=9.0.3 for CVE-2025-71176 (dev)
136
137
  # - python-multipart>=0.0.31 for CVE-2026-53538–53540 (FastAPI stack; prior floor 0.0.27)
@@ -153,16 +154,21 @@ Issues = "https://github.com/asap-protocol/asap-protocol/issues"
153
154
  # - setuptools>=83.0.0 for PYSEC-2026-3447 (transitive build/tooling path)
154
155
  # - pyopenssl>=26.4.0 for cryptography 50 ABI (webauthn extra; GEN_EMAIL / PKCS7)
155
156
  # - mkdocs-material>=9.7.7 for PYSEC-2026-3864 / CVE-2026-73295 (DOM XSS in search.suggest)
157
+ # - multidict>=6.9.1 for CVE-2026-104874
158
+ # - pydantic-ai>=1.107.7,<2 for CVE-2026-107287–107291
159
+ # - werkzeug>=3.1.9 for CVE-2026-102598
160
+ # - fsspec>=2026.6.0 for CVE-2026-104851
156
161
  [tool.uv]
157
162
  override-dependencies = [
158
- "aiohttp>=3.14.3,<4",
163
+ "aiohttp>=3.14.4,<4",
164
+ "certifi>=2026.10.19",
159
165
  "anyio>=4.14.2",
160
166
  "pyjwt>=2.14.0,<3",
161
167
  "pyasn1>=0.6.4",
162
168
  "tinytag>=2.2.1",
163
169
  "cryptography>=50.0.0,<51",
164
170
  "requests>=2.33.0",
165
- "pillow>=12.3.0",
171
+ "pillow>=13.0.0",
166
172
  "click>=8.3.3",
167
173
  "pytest>=9.0.3",
168
174
  "python-multipart>=0.0.31",
@@ -186,6 +192,10 @@ override-dependencies = [
186
192
  "h2>=4.4.1",
187
193
  "pyopenssl>=26.4.0",
188
194
  "mkdocs-material>=9.7.7",
195
+ "multidict>=6.9.1",
196
+ "pydantic-ai>=1.107.7,<2",
197
+ "werkzeug>=3.1.9",
198
+ "fsspec>=2026.6.0",
189
199
  ]
190
200
 
191
201
  [project.scripts]
@@ -8,7 +8,7 @@ from __future__ import annotations
8
8
 
9
9
  from typing import Any
10
10
 
11
- __version__ = "2.5.6"
11
+ __version__ = "2.5.8"
12
12
 
13
13
  __all__ = ["__version__", "create_from_openapi"]
14
14
 
@@ -142,7 +142,7 @@ class ASAPRateLimiter:
142
142
  return
143
143
  key = self._key_func(request)
144
144
  for rate_limit in self._rate_limits:
145
- if not self._strategy.test(rate_limit, key):
145
+ if not self._strategy.test(rate_limit, key, cost=n):
146
146
  window_stats = self._strategy.get_window_stats(rate_limit, key)
147
147
  retry_seconds = max(1, int(window_stats[0] - time.time()))
148
148
  raise RateLimitExceeded(
@@ -151,8 +151,14 @@ class ASAPRateLimiter:
151
151
  limit=str(rate_limit),
152
152
  )
153
153
  for rate_limit in self._rate_limits:
154
- for _ in range(n):
155
- self._strategy.hit(rate_limit, key)
154
+ if not self._strategy.hit(rate_limit, key, cost=n):
155
+ window_stats = self._strategy.get_window_stats(rate_limit, key)
156
+ retry_seconds = max(1, int(window_stats[0] - time.time()))
157
+ raise RateLimitExceeded(
158
+ detail=f"Rate limit exceeded: {rate_limit}",
159
+ retry_after=retry_seconds,
160
+ limit=str(rate_limit),
161
+ )
156
162
 
157
163
  def test(self, request: Request) -> bool:
158
164
  """Return True if *request* would pass all limits (no counter increment)."""
File without changes
File without changes