asap-protocol 2.1.1__tar.gz → 2.2.1__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 (780) hide show
  1. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/.gitignore +4 -0
  2. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/CHANGELOG.md +194 -1
  3. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/PKG-INFO +40 -37
  4. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/README.md +31 -31
  5. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/pyproject.toml +50 -7
  6. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/__init__.py +1 -1
  7. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/__init__.py +30 -5
  8. asap_protocol-2.2.1/src/asap/auth/agent_jwt.py +420 -0
  9. asap_protocol-2.2.1/src/asap/auth/approval.py +398 -0
  10. asap_protocol-2.2.1/src/asap/auth/capabilities.py +282 -0
  11. asap_protocol-2.2.1/src/asap/auth/identity.py +217 -0
  12. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/introspection.py +1 -10
  13. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/jwks.py +0 -6
  14. asap_protocol-2.2.1/src/asap/auth/lifecycle.py +67 -0
  15. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/middleware.py +7 -17
  16. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/oauth2.py +1 -10
  17. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/oidc.py +0 -9
  18. asap_protocol-2.2.1/src/asap/auth/self_auth.py +276 -0
  19. asap_protocol-2.2.1/src/asap/auth/webauthn.py +473 -0
  20. asap_protocol-2.1.1/src/asap/cli.py → asap_protocol-2.2.1/src/asap/cli/__init__.py +7 -0
  21. asap_protocol-2.2.1/src/asap/cli/audit_export.py +194 -0
  22. asap_protocol-2.2.1/src/asap/cli/compliance_check.py +108 -0
  23. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/client/http_client.py +4 -2
  24. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/client/market.py +27 -7
  25. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/client/revocation.py +1 -1
  26. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/crypto/trust.py +1 -1
  27. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/discovery/dnssd.py +2 -1
  28. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/discovery/registry.py +1 -1
  29. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/discovery/validation.py +0 -6
  30. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/__init__.py +13 -1
  31. asap_protocol-2.2.1/src/asap/economics/audit.py +342 -0
  32. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/delegation.py +1 -1
  33. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/delegation_storage.py +44 -44
  34. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/hooks.py +15 -13
  35. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/sla.py +3 -3
  36. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/sla_storage.py +20 -22
  37. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/storage.py +65 -62
  38. asap_protocol-2.2.1/src/asap/errors.py +590 -0
  39. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/README.md +6 -0
  40. asap_protocol-2.2.1/src/asap/examples/a2h_approval.py +107 -0
  41. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/secure_agent.py +1 -1
  42. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/storage_backends.py +1 -1
  43. asap_protocol-2.2.1/src/asap/examples/streaming_agent.py +97 -0
  44. asap_protocol-2.2.1/src/asap/handlers/__init__.py +22 -0
  45. asap_protocol-2.2.1/src/asap/handlers/hitl.py +72 -0
  46. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/__init__.py +11 -0
  47. asap_protocol-2.2.1/src/asap/integrations/a2h.py +554 -0
  48. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/crewai.py +7 -2
  49. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/llamaindex.py +10 -4
  50. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/mcp/client.py +0 -14
  51. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/mcp/server.py +9 -22
  52. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/constants.py +5 -0
  53. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/entities.py +9 -6
  54. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/enums.py +1 -4
  55. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/payloads.py +33 -3
  56. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/metrics.py +0 -1
  57. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/__init__.py +5 -1
  58. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/metering.py +42 -3
  59. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/snapshot.py +67 -1
  60. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/stores/__init__.py +18 -7
  61. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/stores/memory.py +69 -1
  62. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/stores/sqlite.py +169 -68
  63. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/testing/__init__.py +14 -0
  64. asap_protocol-2.2.1/src/asap/testing/asgi_factory.py +32 -0
  65. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/testing/assertions.py +33 -21
  66. asap_protocol-2.2.1/src/asap/testing/compliance.py +439 -0
  67. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/testing/mocks.py +0 -5
  68. asap_protocol-2.2.1/src/asap/transport/_auth_helpers.py +13 -0
  69. asap_protocol-2.2.1/src/asap/transport/agent_routes.py +772 -0
  70. asap_protocol-2.2.1/src/asap/transport/capability_routes.py +372 -0
  71. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/client.py +260 -82
  72. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/executors.py +0 -9
  73. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/handlers.py +123 -6
  74. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/jsonrpc.py +6 -0
  75. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/middleware.py +70 -9
  76. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/rate_limit.py +23 -2
  77. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/server.py +624 -81
  78. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/validators.py +5 -2
  79. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/webhook.py +10 -3
  80. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/websocket.py +76 -6
  81. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/utils/sanitization.py +1 -7
  82. asap_protocol-2.1.1/.agents/rules/architecture-principles.md +0 -38
  83. asap_protocol-2.1.1/.agents/rules/frontend.md +0 -57
  84. asap_protocol-2.1.1/.agents/workflows/development.md +0 -87
  85. asap_protocol-2.1.1/.cursor/README.md +0 -33
  86. asap_protocol-2.1.1/.cursor/commands/create-prd.md +0 -60
  87. asap_protocol-2.1.1/.cursor/commands/generate-tasks.md +0 -125
  88. asap_protocol-2.1.1/.cursor/commands/reflect.md +0 -11
  89. asap_protocol-2.1.1/.cursor/commands/remove-ai-slop.md +0 -17
  90. asap_protocol-2.1.1/.cursor/commands/security-pr-review.md +0 -188
  91. asap_protocol-2.1.1/.cursor/commands/task-list-development.md +0 -87
  92. asap_protocol-2.1.1/.cursor/commands/test-coverage-review.md +0 -47
  93. asap_protocol-2.1.1/.cursor/design/landing-reference.png +0 -0
  94. asap_protocol-2.1.1/.cursor/design/mobile-strategy.md +0 -39
  95. asap_protocol-2.1.1/.cursor/dev-planning/architecture/rate-limiting.md +0 -411
  96. asap_protocol-2.1.1/.cursor/dev-planning/architecture/tech-stack-decisions.md +0 -313
  97. asap_protocol-2.1.1/.cursor/dev-planning/checkpoints.md +0 -187
  98. asap_protocol-2.1.1/.cursor/dev-planning/code-review/security-review-report.md +0 -828
  99. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/pre-pypi-release-review.md +0 -582
  100. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/sprint3-code-review.md +0 -674
  101. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/sprint4-code-review.md +0 -77
  102. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/sprint5-code-review.md +0 -382
  103. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s1-code-review.md +0 -73
  104. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s2-code-review.md +0 -94
  105. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s2.5-code-review.md +0 -444
  106. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s3-code-review.md +0 -284
  107. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s4-code-review.md +0 -99
  108. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s5-code-review.md +0 -353
  109. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-23-security-review.md +0 -531
  110. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-25-performance-optimizations-review.md +0 -725
  111. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-26-review.md +0 -92
  112. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-27-review.md +0 -85
  113. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-30-review.md +0 -63
  114. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-31-observability-review.md +0 -656
  115. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-32-review.md +0 -125
  116. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-33-review.md +0 -42
  117. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-34-review.md +0 -721
  118. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-35-review.md +0 -200
  119. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-36-review.md +0 -81
  120. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-37-review.md +0 -233
  121. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-38-review.md +0 -155
  122. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-39-review.md +0 -102
  123. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-40-review.md +0 -285
  124. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.2.0/PR-42-REVIEW.md +0 -35
  125. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.2.0/PR-43-REVIEW.md +0 -48
  126. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.2.0/PR-45-REVIEW.md +0 -51
  127. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.3.0/PR-48-REVIEW.md +0 -419
  128. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.3.0/PR-49-REVIEW.md +0 -175
  129. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.3.0/PR-50-REVIEW.md +0 -262
  130. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.4.0/PR-51-REVIEW.md +0 -42
  131. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.4.0/PR-53-REVIEW.md +0 -217
  132. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.0.0/PR-57-REVIEW.md +0 -399
  133. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.0.0/PR-58-REVIEW.md +0 -518
  134. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.0.0/PR-61-REVIEW.md +0 -297
  135. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-71-REVIEW.md +0 -173
  136. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-72-REVIEW.md +0 -66
  137. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-73-REVIEW.md +0 -134
  138. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-76-REVIEW.md +0 -176
  139. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/pr-75-sprint-e4-registry-ux.md +0 -206
  140. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/review-v2.0.md +0 -393
  141. asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.2.0/review-pr-82.md +0 -174
  142. asap_protocol-2.1.1/.cursor/dev-planning/lessons-learned/v1.0.0-retro.md +0 -61
  143. asap_protocol-2.1.1/.cursor/dev-planning/manual-release-testing.md +0 -52
  144. asap_protocol-2.1.1/.cursor/dev-planning/references/mcp-specs.md +0 -81
  145. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/sprint-planning-v0.1.0.md +0 -240
  146. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/tasks-prd-asap-implementation.md +0 -850
  147. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/tasks-security-review-report.md +0 -343
  148. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/tasks-sprint3-improvements.md +0 -371
  149. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-roadmap.md +0 -195
  150. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s1-detailed.md +0 -231
  151. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s2-detailed.md +0 -253
  152. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s2.5-detailed.md +0 -174
  153. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s3-detailed.md +0 -146
  154. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s4-detailed.md +0 -108
  155. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s5-detailed.md +0 -102
  156. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-docs-detailed.md +0 -244
  157. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-dx-detailed.md +0 -306
  158. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-observability-detailed.md +0 -201
  159. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-performance-detailed.md +0 -251
  160. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-release-detailed.md +0 -249
  161. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-roadmap.md +0 -450
  162. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-security-detailed.md +0 -230
  163. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-testing-detailed.md +0 -262
  164. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/upstream-slowapi-deprecation.md +0 -55
  165. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/backlog-v1.1.md +0 -139
  166. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S1-oauth2-foundation.md +0 -325
  167. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S2-wellknown-discovery.md +0 -419
  168. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S2.5-state-storage.md +0 -393
  169. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S3-websocket-binding.md +0 -396
  170. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S4-webhooks-release.md +0 -417
  171. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/tasks-v1.1.0-roadmap.md +0 -284
  172. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/deferred/DEFERRED-sprint-T3-registry-core.md +0 -206
  173. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/deferred/DEFERRED-sprint-T4-registry-features.md +0 -184
  174. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/deferred/DEFERRED-sprint-T6-deepeval-release.md +0 -208
  175. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T1-ed25519-pki.md +0 -208
  176. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T2-trust-levels-mtls.md +0 -213
  177. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T3-compliance-harness.md +0 -199
  178. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T4-testing-release.md +0 -127
  179. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/tasks-v1.2.0-roadmap.md +0 -200
  180. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.1/plan-security-remediation-pre-v1.3.md +0 -351
  181. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.1/v1.2.0-security-review.md +0 -146
  182. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/deferred/DEFERRED-sprint-E4-audit-release.md +0 -215
  183. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/sprint-E1-usage-metering.md +0 -230
  184. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/sprint-E2-delegation-tokens.md +0 -230
  185. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/sprint-E3-sla-framework.md +0 -358
  186. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/tasks-v1.3.0-roadmap.md +0 -208
  187. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.4.0/sprint-S1-type-safety.md +0 -78
  188. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.4.0/sprint-S2-pagination.md +0 -65
  189. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.4.0/tasks-v1.4.0-roadmap.md +0 -27
  190. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/deferred/DEFERRED-sprint-M1-production-registry.md +0 -112
  191. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/deferred/DEFERRED-sprint-M2-service-integration.md +0 -99
  192. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/launch-checklist-v2.0.md +0 -43
  193. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/pre-M2-validation-guide.md +0 -234
  194. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M1-webapp-foundation.md +0 -254
  195. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M2-webapp-features.md +0 -177
  196. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M3-developer-experience.md +0 -266
  197. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M4-launch-prep.md +0 -241
  198. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/tasks-v2.0.0-roadmap.md +0 -228
  199. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/v2.0-marketplace-usage-foundation.md +0 -238
  200. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E1-trust-revocation.md +0 -150
  201. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E2-consumer-sdk.md +0 -139
  202. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E3-framework-integrations.md +0 -161
  203. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E4-registry-ux.md +0 -169
  204. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E5-openclaw-integration.md +0 -121
  205. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E6-pypi-distribution.md +0 -99
  206. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/tasks-v2.1.0-roadmap.md +0 -187
  207. asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.2.0/tasks-v2.2.0-tech-debt.md +0 -182
  208. asap_protocol-2.1.1/.cursor/dev-planning/templates/task-template.md +0 -171
  209. asap_protocol-2.1.1/.cursor/product-specs/README.md +0 -46
  210. asap_protocol-2.1.1/.cursor/product-specs/decision-records/01-architecture.md +0 -251
  211. asap_protocol-2.1.1/.cursor/product-specs/decision-records/02-protocol.md +0 -196
  212. asap_protocol-2.1.1/.cursor/product-specs/decision-records/03-security.md +0 -141
  213. asap_protocol-2.1.1/.cursor/product-specs/decision-records/04-technology.md +0 -302
  214. asap_protocol-2.1.1/.cursor/product-specs/decision-records/05-product-strategy.md +0 -379
  215. asap_protocol-2.1.1/.cursor/product-specs/decision-records/README.md +0 -62
  216. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-asap-implementation.md +0 -338
  217. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-review-schedule.md +0 -226
  218. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1-roadmap.md +0 -1403
  219. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.1-roadmap.md +0 -418
  220. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.2-roadmap.md +0 -287
  221. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.3-roadmap.md +0 -226
  222. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.4-roadmap.md +0 -92
  223. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v2.0-roadmap.md +0 -261
  224. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v2.1-ecosystem.md +0 -263
  225. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v2.2-scale.md +0 -195
  226. asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v3.0-economy.md +0 -238
  227. asap_protocol-2.1.1/.cursor/rules/architecture-principles.mdc +0 -38
  228. asap_protocol-2.1.1/.cursor/rules/frontend-best-practices.mdc +0 -61
  229. asap_protocol-2.1.1/.cursor/rules/git-commits.mdc +0 -60
  230. asap_protocol-2.1.1/.cursor/rules/python-best-practices.mdc +0 -42
  231. asap_protocol-2.1.1/.cursor/rules/security-standards.mdc +0 -43
  232. asap_protocol-2.1.1/.cursor/rules/testing-rate-limiting.mdc +0 -157
  233. asap_protocol-2.1.1/.cursor/rules/testing-standards.mdc +0 -38
  234. asap_protocol-2.1.1/.cursor/settings.json +0 -7
  235. asap_protocol-2.1.1/.cursor/skills/code-quality-review/SKILL.md +0 -37
  236. asap_protocol-2.1.1/.cursor/skills/security-review/SKILL.md +0 -34
  237. asap_protocol-2.1.1/.cursor/skills/skill-creator/SKILL.md +0 -32
  238. asap_protocol-2.1.1/.cursor/skills/skill-creator/scripts/init_skill.py +0 -62
  239. asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
  240. asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/feature_request.yml +0 -44
  241. asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/register_agent.yml +0 -123
  242. asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/remove_agent.yml +0 -29
  243. asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/request_verification.yml +0 -57
  244. asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/revoke_agent.yml +0 -38
  245. asap_protocol-2.1.1/.github/PULL_REQUEST_TEMPLATE.md +0 -38
  246. asap_protocol-2.1.1/.github/actions/setup-python/action.yml +0 -20
  247. asap_protocol-2.1.1/.github/assets/asap-protocol-banner.png +0 -0
  248. asap_protocol-2.1.1/.github/dependabot.yml +0 -33
  249. asap_protocol-2.1.1/.github/workflows/ci.yml +0 -156
  250. asap_protocol-2.1.1/.github/workflows/docs.yml +0 -42
  251. asap_protocol-2.1.1/.github/workflows/register-agent.yml +0 -100
  252. asap_protocol-2.1.1/.github/workflows/release.yml +0 -170
  253. asap_protocol-2.1.1/.github/workflows/remove-agent.yml +0 -100
  254. asap_protocol-2.1.1/.github/workflows/revoke-agent.yml +0 -113
  255. asap_protocol-2.1.1/.github/workflows/validate-registry.yml +0 -29
  256. asap_protocol-2.1.1/AGENTS.md +0 -65
  257. asap_protocol-2.1.1/CODE_OF_CONDUCT.md +0 -18
  258. asap_protocol-2.1.1/CONTRIBUTING.md +0 -151
  259. asap_protocol-2.1.1/Dockerfile +0 -98
  260. asap_protocol-2.1.1/SECURITY.md +0 -97
  261. asap_protocol-2.1.1/apps/web/.gitignore +0 -49
  262. asap_protocol-2.1.1/apps/web/.prettierrc +0 -8
  263. asap_protocol-2.1.1/apps/web/README.md +0 -36
  264. asap_protocol-2.1.1/apps/web/components.json +0 -23
  265. asap_protocol-2.1.1/apps/web/eslint.config.mjs +0 -22
  266. asap_protocol-2.1.1/apps/web/next.config.ts +0 -44
  267. asap_protocol-2.1.1/apps/web/package-lock.json +0 -16978
  268. asap_protocol-2.1.1/apps/web/package.json +0 -68
  269. asap_protocol-2.1.1/apps/web/playwright.config.ts +0 -79
  270. asap_protocol-2.1.1/apps/web/postcss.config.mjs +0 -7
  271. asap_protocol-2.1.1/apps/web/public/file.svg +0 -1
  272. asap_protocol-2.1.1/apps/web/public/globe.svg +0 -1
  273. asap_protocol-2.1.1/apps/web/public/icons/anthropic.svg +0 -1
  274. asap_protocol-2.1.1/apps/web/public/icons/crewai.svg +0 -1
  275. asap_protocol-2.1.1/apps/web/public/icons/huggingface.svg +0 -1
  276. asap_protocol-2.1.1/apps/web/public/icons/langchain.svg +0 -1
  277. asap_protocol-2.1.1/apps/web/public/icons/llamaindex.svg +0 -1
  278. asap_protocol-2.1.1/apps/web/public/icons/openclaw.svg +0 -242
  279. asap_protocol-2.1.1/apps/web/public/icons/pydantic.svg +0 -1
  280. asap_protocol-2.1.1/apps/web/public/icons/vercel.svg +0 -1
  281. asap_protocol-2.1.1/apps/web/public/next.svg +0 -1
  282. asap_protocol-2.1.1/apps/web/public/registry.json +0 -3082
  283. asap_protocol-2.1.1/apps/web/public/vercel.svg +0 -1
  284. asap_protocol-2.1.1/apps/web/public/window.svg +0 -1
  285. asap_protocol-2.1.1/apps/web/scripts/validate-github-pr-flow.mjs +0 -129
  286. asap_protocol-2.1.1/apps/web/scripts/validate-registry-fetch.mjs +0 -32
  287. asap_protocol-2.1.1/apps/web/src/app/agents/[id]/agent-detail-client.tsx +0 -239
  288. asap_protocol-2.1.1/apps/web/src/app/agents/[id]/error.tsx +0 -24
  289. asap_protocol-2.1.1/apps/web/src/app/agents/[id]/opengraph-image.tsx +0 -188
  290. asap_protocol-2.1.1/apps/web/src/app/agents/[id]/page.tsx +0 -58
  291. asap_protocol-2.1.1/apps/web/src/app/agents/[id]/usage-snippets.tsx +0 -217
  292. asap_protocol-2.1.1/apps/web/src/app/api/auth/[...nextauth]/route.ts +0 -3
  293. asap_protocol-2.1.1/apps/web/src/app/api/debug/token/route.ts +0 -35
  294. asap_protocol-2.1.1/apps/web/src/app/api/fixtures/registry/route.ts +0 -48
  295. asap_protocol-2.1.1/apps/web/src/app/api/health-check/route.ts +0 -46
  296. asap_protocol-2.1.1/apps/web/src/app/api/proxy/check/__tests__/route.test.ts +0 -100
  297. asap_protocol-2.1.1/apps/web/src/app/api/proxy/check/route.ts +0 -60
  298. asap_protocol-2.1.1/apps/web/src/app/apple-icon.png +0 -0
  299. asap_protocol-2.1.1/apps/web/src/app/browse/__tests__/browse-content.test.tsx +0 -118
  300. asap_protocol-2.1.1/apps/web/src/app/browse/agent-card-skeleton.tsx +0 -29
  301. asap_protocol-2.1.1/apps/web/src/app/browse/browse-content.tsx +0 -419
  302. asap_protocol-2.1.1/apps/web/src/app/browse/error.tsx +0 -24
  303. asap_protocol-2.1.1/apps/web/src/app/browse/load-test/page.tsx +0 -73
  304. asap_protocol-2.1.1/apps/web/src/app/browse/loading.tsx +0 -45
  305. asap_protocol-2.1.1/apps/web/src/app/browse/page.tsx +0 -34
  306. asap_protocol-2.1.1/apps/web/src/app/dashboard/__tests__/dashboard-actions.test.ts +0 -121
  307. asap_protocol-2.1.1/apps/web/src/app/dashboard/actions.ts +0 -93
  308. asap_protocol-2.1.1/apps/web/src/app/dashboard/dashboard-client.tsx +0 -244
  309. asap_protocol-2.1.1/apps/web/src/app/dashboard/error.tsx +0 -24
  310. asap_protocol-2.1.1/apps/web/src/app/dashboard/page.tsx +0 -38
  311. asap_protocol-2.1.1/apps/web/src/app/dashboard/register/__tests__/register-actions.test.ts +0 -152
  312. asap_protocol-2.1.1/apps/web/src/app/dashboard/register/__tests__/register-form.test.tsx +0 -218
  313. asap_protocol-2.1.1/apps/web/src/app/dashboard/register/actions.ts +0 -78
  314. asap_protocol-2.1.1/apps/web/src/app/dashboard/register/page.tsx +0 -31
  315. asap_protocol-2.1.1/apps/web/src/app/dashboard/register/register-form.tsx +0 -324
  316. asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/__tests__/verify-actions.test.ts +0 -77
  317. asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/__tests__/verify-form.test.tsx +0 -220
  318. asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/actions.ts +0 -42
  319. asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/page.tsx +0 -46
  320. asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/verify-form.tsx +0 -216
  321. asap_protocol-2.1.1/apps/web/src/app/demos/page.tsx +0 -223
  322. asap_protocol-2.1.1/apps/web/src/app/developer-experience/page.tsx +0 -206
  323. asap_protocol-2.1.1/apps/web/src/app/docs/register/page.tsx +0 -156
  324. asap_protocol-2.1.1/apps/web/src/app/favicon.ico +0 -0
  325. asap_protocol-2.1.1/apps/web/src/app/features/[slug]/page.tsx +0 -191
  326. asap_protocol-2.1.1/apps/web/src/app/globals.css +0 -126
  327. asap_protocol-2.1.1/apps/web/src/app/icon.png +0 -0
  328. asap_protocol-2.1.1/apps/web/src/app/layout.tsx +0 -46
  329. asap_protocol-2.1.1/apps/web/src/app/legal/privacy-policy/page.tsx +0 -26
  330. asap_protocol-2.1.1/apps/web/src/app/legal/terms-of-service/page.tsx +0 -26
  331. asap_protocol-2.1.1/apps/web/src/app/page.tsx +0 -32
  332. asap_protocol-2.1.1/apps/web/src/app/sitemap.ts +0 -49
  333. asap_protocol-2.1.1/apps/web/src/app/test-register/page.tsx +0 -28
  334. asap_protocol-2.1.1/apps/web/src/app.test.tsx +0 -7
  335. asap_protocol-2.1.1/apps/web/src/auth.ts +0 -60
  336. asap_protocol-2.1.1/apps/web/src/components/agent/agent-status-badge.tsx +0 -83
  337. asap_protocol-2.1.1/apps/web/src/components/landing/FeaturedAgents.tsx +0 -96
  338. asap_protocol-2.1.1/apps/web/src/components/landing/FeaturesSection.tsx +0 -84
  339. asap_protocol-2.1.1/apps/web/src/components/landing/HeroSection.tsx +0 -136
  340. asap_protocol-2.1.1/apps/web/src/components/landing/HowItWorksSection.tsx +0 -76
  341. asap_protocol-2.1.1/apps/web/src/components/layout/Footer.tsx +0 -80
  342. asap_protocol-2.1.1/apps/web/src/components/layout/Header.tsx +0 -122
  343. asap_protocol-2.1.1/apps/web/src/components/theme-provider.tsx +0 -11
  344. asap_protocol-2.1.1/apps/web/src/components/ui/alert.tsx +0 -66
  345. asap_protocol-2.1.1/apps/web/src/components/ui/avatar.tsx +0 -109
  346. asap_protocol-2.1.1/apps/web/src/components/ui/badge.tsx +0 -46
  347. asap_protocol-2.1.1/apps/web/src/components/ui/button.tsx +0 -62
  348. asap_protocol-2.1.1/apps/web/src/components/ui/card.tsx +0 -75
  349. asap_protocol-2.1.1/apps/web/src/components/ui/carousel.tsx +0 -230
  350. asap_protocol-2.1.1/apps/web/src/components/ui/checkbox.tsx +0 -32
  351. asap_protocol-2.1.1/apps/web/src/components/ui/command.tsx +0 -161
  352. asap_protocol-2.1.1/apps/web/src/components/ui/dialog.tsx +0 -144
  353. asap_protocol-2.1.1/apps/web/src/components/ui/dropdown-menu.tsx +0 -257
  354. asap_protocol-2.1.1/apps/web/src/components/ui/form.tsx +0 -167
  355. asap_protocol-2.1.1/apps/web/src/components/ui/input.tsx +0 -21
  356. asap_protocol-2.1.1/apps/web/src/components/ui/label.tsx +0 -24
  357. asap_protocol-2.1.1/apps/web/src/components/ui/navigation-menu.tsx +0 -168
  358. asap_protocol-2.1.1/apps/web/src/components/ui/scroll-area.tsx +0 -56
  359. asap_protocol-2.1.1/apps/web/src/components/ui/select.tsx +0 -190
  360. asap_protocol-2.1.1/apps/web/src/components/ui/separator.tsx +0 -28
  361. asap_protocol-2.1.1/apps/web/src/components/ui/sheet.tsx +0 -143
  362. asap_protocol-2.1.1/apps/web/src/components/ui/skeleton.tsx +0 -13
  363. asap_protocol-2.1.1/apps/web/src/components/ui/tabs.tsx +0 -91
  364. asap_protocol-2.1.1/apps/web/src/components/ui/textarea.tsx +0 -18
  365. asap_protocol-2.1.1/apps/web/src/lib/github-issues.test.ts +0 -81
  366. asap_protocol-2.1.1/apps/web/src/lib/github-issues.ts +0 -76
  367. asap_protocol-2.1.1/apps/web/src/lib/rate-limit.ts +0 -84
  368. asap_protocol-2.1.1/apps/web/src/lib/register-schema.ts +0 -35
  369. asap_protocol-2.1.1/apps/web/src/lib/registry-schema.ts +0 -38
  370. asap_protocol-2.1.1/apps/web/src/lib/registry.ts +0 -117
  371. asap_protocol-2.1.1/apps/web/src/lib/url-validator-server.ts +0 -75
  372. asap_protocol-2.1.1/apps/web/src/lib/url-validator.test.ts +0 -148
  373. asap_protocol-2.1.1/apps/web/src/lib/url-validator.ts +0 -79
  374. asap_protocol-2.1.1/apps/web/src/lib/utils.ts +0 -6
  375. asap_protocol-2.1.1/apps/web/src/proxy.ts +0 -38
  376. asap_protocol-2.1.1/apps/web/src/types/next-auth.d.ts +0 -31
  377. asap_protocol-2.1.1/apps/web/src/types/protocol.d.ts +0 -1807
  378. asap_protocol-2.1.1/apps/web/src/types/registry.d.ts +0 -22
  379. asap_protocol-2.1.1/apps/web/tests/browse.spec.ts +0 -24
  380. asap_protocol-2.1.1/apps/web/tests/load/browse-500.spec.ts +0 -71
  381. asap_protocol-2.1.1/apps/web/tsconfig.json +0 -34
  382. asap_protocol-2.1.1/apps/web/vitest.config.ts +0 -19
  383. asap_protocol-2.1.1/apps/web/vitest.setup.ts +0 -10
  384. asap_protocol-2.1.1/asap-compliance/README.md +0 -69
  385. asap_protocol-2.1.1/asap-compliance/asap_compliance/__init__.py +0 -7
  386. asap_protocol-2.1.1/asap-compliance/asap_compliance/config.py +0 -22
  387. asap_protocol-2.1.1/asap-compliance/asap_compliance/harness.py +0 -32
  388. asap_protocol-2.1.1/asap-compliance/asap_compliance/pytest_plugin.py +0 -52
  389. asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/__init__.py +0 -43
  390. asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/handshake.py +0 -336
  391. asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/schema.py +0 -285
  392. asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/sla.py +0 -252
  393. asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/state.py +0 -230
  394. asap_protocol-2.1.1/asap-compliance/pyproject.toml +0 -58
  395. asap_protocol-2.1.1/asap-compliance/tests/__init__.py +0 -1
  396. asap_protocol-2.1.1/asap-compliance/tests/conftest.py +0 -55
  397. asap_protocol-2.1.1/asap-compliance/tests/test_handshake.py +0 -296
  398. asap_protocol-2.1.1/asap-compliance/tests/test_plugin.py +0 -26
  399. asap_protocol-2.1.1/asap-compliance/tests/test_schema.py +0 -260
  400. asap_protocol-2.1.1/asap-compliance/tests/test_sla.py +0 -105
  401. asap_protocol-2.1.1/asap-compliance/tests/test_state.py +0 -99
  402. asap_protocol-2.1.1/asap-compliance/tests/test_state_integration.py +0 -96
  403. asap_protocol-2.1.1/asap-compliance/uv.lock +0 -1268
  404. asap_protocol-2.1.1/benchmarks/README.md +0 -391
  405. asap_protocol-2.1.1/benchmarks/RESULTS.md +0 -220
  406. asap_protocol-2.1.1/benchmarks/__init__.py +0 -14
  407. asap_protocol-2.1.1/benchmarks/benchmark_crypto.py +0 -129
  408. asap_protocol-2.1.1/benchmarks/benchmark_models.py +0 -288
  409. asap_protocol-2.1.1/benchmarks/benchmark_transport.py +0 -806
  410. asap_protocol-2.1.1/benchmarks/conftest.py +0 -86
  411. asap_protocol-2.1.1/benchmarks/load_test.py +0 -451
  412. asap_protocol-2.1.1/benchmarks/memory_test.py +0 -504
  413. asap_protocol-2.1.1/benchmarks/stress_test.py +0 -507
  414. asap_protocol-2.1.1/docs/adr/ADR-001-ulid-for-id-generation.md +0 -60
  415. asap_protocol-2.1.1/docs/adr/ADR-002-async-first-api-design.md +0 -52
  416. asap_protocol-2.1.1/docs/adr/ADR-003-jsonrpc20-binding.md +0 -58
  417. asap_protocol-2.1.1/docs/adr/ADR-004-pydantic-for-models.md +0 -58
  418. asap_protocol-2.1.1/docs/adr/ADR-005-state-machine-design.md +0 -53
  419. asap_protocol-2.1.1/docs/adr/ADR-006-security-defaults.md +0 -51
  420. asap_protocol-2.1.1/docs/adr/ADR-007-fastapi-for-server.md +0 -59
  421. asap_protocol-2.1.1/docs/adr/ADR-008-httpx-for-client.md +0 -59
  422. asap_protocol-2.1.1/docs/adr/ADR-009-snapshot-vs-event-sourced.md +0 -59
  423. asap_protocol-2.1.1/docs/adr/ADR-010-python-313-requirement.md +0 -52
  424. asap_protocol-2.1.1/docs/adr/ADR-011-per-sender-rate-limiting.md +0 -53
  425. asap_protocol-2.1.1/docs/adr/ADR-012-error-taxonomy.md +0 -53
  426. asap_protocol-2.1.1/docs/adr/ADR-013-mcp-integration-approach.md +0 -53
  427. asap_protocol-2.1.1/docs/adr/ADR-014-testing-strategy.md +0 -52
  428. asap_protocol-2.1.1/docs/adr/ADR-015-observability-design.md +0 -53
  429. asap_protocol-2.1.1/docs/adr/ADR-016-versioning-policy.md +0 -52
  430. asap_protocol-2.1.1/docs/adr/ADR-017-failure-injection-strategy.md +0 -58
  431. asap_protocol-2.1.1/docs/adr/README.md +0 -42
  432. asap_protocol-2.1.1/docs/adr/template.md +0 -51
  433. asap_protocol-2.1.1/docs/api-reference.md +0 -45
  434. asap_protocol-2.1.1/docs/best-practices/agent-failover-migration.md +0 -284
  435. asap_protocol-2.1.1/docs/deployment/kubernetes.md +0 -161
  436. asap_protocol-2.1.1/docs/error-handling.md +0 -376
  437. asap_protocol-2.1.1/docs/guides/compliance-testing.md +0 -110
  438. asap_protocol-2.1.1/docs/guides/identity-signing.md +0 -124
  439. asap_protocol-2.1.1/docs/guides/migration-v1.1-to-v1.2.md +0 -96
  440. asap_protocol-2.1.1/docs/guides/openclaw-integration.md +0 -175
  441. asap_protocol-2.1.1/docs/guides/registry-verification-review.md +0 -77
  442. asap_protocol-2.1.1/docs/guides/vercel-ai-sdk.md +0 -186
  443. asap_protocol-2.1.1/docs/index.md +0 -99
  444. asap_protocol-2.1.1/docs/mcp-integration.md +0 -96
  445. asap_protocol-2.1.1/docs/metrics.md +0 -426
  446. asap_protocol-2.1.1/docs/migration.md +0 -650
  447. asap_protocol-2.1.1/docs/observability.md +0 -127
  448. asap_protocol-2.1.1/docs/raw-fetch.md +0 -142
  449. asap_protocol-2.1.1/docs/security/mtls.md +0 -137
  450. asap_protocol-2.1.1/docs/security/v1.1-security-model.md +0 -167
  451. asap_protocol-2.1.1/docs/security.md +0 -1314
  452. asap_protocol-2.1.1/docs/state-management.md +0 -561
  453. asap_protocol-2.1.1/docs/testing.md +0 -914
  454. asap_protocol-2.1.1/docs/transport.md +0 -661
  455. asap_protocol-2.1.1/docs/troubleshooting.md +0 -405
  456. asap_protocol-2.1.1/docs/tutorials/first-agent.md +0 -163
  457. asap_protocol-2.1.1/docs/tutorials/multi-agent.md +0 -253
  458. asap_protocol-2.1.1/docs/tutorials/production-checklist.md +0 -141
  459. asap_protocol-2.1.1/docs/tutorials/resilience.md +0 -255
  460. asap_protocol-2.1.1/docs/tutorials/stateful-workflows.md +0 -253
  461. asap_protocol-2.1.1/helm/asap-agent/Chart.yaml +0 -17
  462. asap_protocol-2.1.1/helm/asap-agent/README.md +0 -69
  463. asap_protocol-2.1.1/helm/asap-agent/templates/NOTES.txt +0 -16
  464. asap_protocol-2.1.1/helm/asap-agent/templates/_helpers.tpl +0 -24
  465. asap_protocol-2.1.1/helm/asap-agent/templates/deployment.yaml +0 -78
  466. asap_protocol-2.1.1/helm/asap-agent/templates/ingress.yaml +0 -41
  467. asap_protocol-2.1.1/helm/asap-agent/templates/service.yaml +0 -15
  468. asap_protocol-2.1.1/helm/asap-agent/values.yaml +0 -87
  469. asap_protocol-2.1.1/k8s/README.md +0 -40
  470. asap_protocol-2.1.1/k8s/deployment.yaml +0 -81
  471. asap_protocol-2.1.1/k8s/ingress.yaml +0 -37
  472. asap_protocol-2.1.1/k8s/service.yaml +0 -22
  473. asap_protocol-2.1.1/mkdocs.yml +0 -92
  474. asap_protocol-2.1.1/packages/asap-openclaw-skill/README.md +0 -63
  475. asap_protocol-2.1.1/packages/asap-openclaw-skill/package-lock.json +0 -1467
  476. asap_protocol-2.1.1/packages/asap-openclaw-skill/package.json +0 -42
  477. asap_protocol-2.1.1/packages/asap-openclaw-skill/src/index.test.ts +0 -273
  478. asap_protocol-2.1.1/packages/asap-openclaw-skill/src/index.ts +0 -201
  479. asap_protocol-2.1.1/packages/asap-openclaw-skill/tsconfig.json +0 -17
  480. asap_protocol-2.1.1/registry.json +0 -3082
  481. asap_protocol-2.1.1/revoked_agents.json +0 -4
  482. asap_protocol-2.1.1/scripts/__init__.py +0 -5
  483. asap_protocol-2.1.1/scripts/export_schemas.py +0 -26
  484. asap_protocol-2.1.1/scripts/generate_types.py +0 -78
  485. asap_protocol-2.1.1/scripts/lib/__init__.py +0 -0
  486. asap_protocol-2.1.1/scripts/lib/debug_id.py +0 -16
  487. asap_protocol-2.1.1/scripts/lib/registry_io.py +0 -92
  488. asap_protocol-2.1.1/scripts/observability-stack/README.md +0 -27
  489. asap_protocol-2.1.1/scripts/observability-stack/docker-compose.yml +0 -35
  490. asap_protocol-2.1.1/scripts/observability-stack/grafana/provisioning/dashboards/dashboards.yaml +0 -11
  491. asap_protocol-2.1.1/scripts/observability-stack/grafana/provisioning/datasources/datasources.yaml +0 -9
  492. asap_protocol-2.1.1/scripts/observability-stack/prometheus.yml +0 -13
  493. asap_protocol-2.1.1/scripts/process_registration.py +0 -318
  494. asap_protocol-2.1.1/scripts/process_removal.py +0 -163
  495. asap_protocol-2.1.1/scripts/process_revocation.py +0 -194
  496. asap_protocol-2.1.1/scripts/regenerate_signed_fixtures.py +0 -70
  497. asap_protocol-2.1.1/scripts/seed_registry.py +0 -189
  498. asap_protocol-2.1.1/scripts/test_k8s_deploy.sh +0 -84
  499. asap_protocol-2.1.1/scripts/validate_registry.py +0 -96
  500. asap_protocol-2.1.1/scripts/validate_revoked.py +0 -69
  501. asap_protocol-2.1.1/src/asap/errors.py +0 -342
  502. asap_protocol-2.1.1/tests/__init__.py +0 -1
  503. asap_protocol-2.1.1/tests/auth/__init__.py +0 -1
  504. asap_protocol-2.1.1/tests/auth/test_identity_binding.py +0 -309
  505. asap_protocol-2.1.1/tests/auth/test_introspection.py +0 -445
  506. asap_protocol-2.1.1/tests/auth/test_jwks.py +0 -279
  507. asap_protocol-2.1.1/tests/auth/test_middleware.py +0 -359
  508. asap_protocol-2.1.1/tests/auth/test_oauth2.py +0 -270
  509. asap_protocol-2.1.1/tests/auth/test_oidc.py +0 -235
  510. asap_protocol-2.1.1/tests/auth/test_scopes.py +0 -123
  511. asap_protocol-2.1.1/tests/auth/test_server_oauth2_integration.py +0 -130
  512. asap_protocol-2.1.1/tests/auth/test_utils.py +0 -29
  513. asap_protocol-2.1.1/tests/chaos/__init__.py +0 -17
  514. asap_protocol-2.1.1/tests/chaos/conftest.py +0 -75
  515. asap_protocol-2.1.1/tests/chaos/test_clock_skew.py +0 -738
  516. asap_protocol-2.1.1/tests/chaos/test_crashes.py +0 -506
  517. asap_protocol-2.1.1/tests/chaos/test_message_reliability.py +0 -722
  518. asap_protocol-2.1.1/tests/chaos/test_network_partition.py +0 -484
  519. asap_protocol-2.1.1/tests/chaos/test_websocket_stability.py +0 -707
  520. asap_protocol-2.1.1/tests/client/__init__.py +0 -1
  521. asap_protocol-2.1.1/tests/client/test_cache.py +0 -118
  522. asap_protocol-2.1.1/tests/client/test_market.py +0 -321
  523. asap_protocol-2.1.1/tests/client/test_revocation.py +0 -191
  524. asap_protocol-2.1.1/tests/client/test_trust.py +0 -104
  525. asap_protocol-2.1.1/tests/compatibility/__init__.py +0 -1
  526. asap_protocol-2.1.1/tests/compatibility/test_v0_1_0_compatibility.py +0 -95
  527. asap_protocol-2.1.1/tests/compatibility/test_v0_3_0_compatibility.py +0 -119
  528. asap_protocol-2.1.1/tests/conftest.py +0 -143
  529. asap_protocol-2.1.1/tests/contract/__init__.py +0 -9
  530. asap_protocol-2.1.1/tests/contract/conftest.py +0 -48
  531. asap_protocol-2.1.1/tests/contract/test_schema_evolution.py +0 -601
  532. asap_protocol-2.1.1/tests/contract/test_v0_1_to_v1_0.py +0 -669
  533. asap_protocol-2.1.1/tests/contract/test_v0_5_to_v1_0.py +0 -819
  534. asap_protocol-2.1.1/tests/contract/test_v1_0_to_v0_5.py +0 -891
  535. asap_protocol-2.1.1/tests/crypto/__init__.py +0 -1
  536. asap_protocol-2.1.1/tests/crypto/test_keys.py +0 -234
  537. asap_protocol-2.1.1/tests/crypto/test_signing.py +0 -386
  538. asap_protocol-2.1.1/tests/crypto/test_trust.py +0 -199
  539. asap_protocol-2.1.1/tests/discovery/__init__.py +0 -1
  540. asap_protocol-2.1.1/tests/discovery/test_discovery_client.py +0 -196
  541. asap_protocol-2.1.1/tests/discovery/test_dnssd.py +0 -576
  542. asap_protocol-2.1.1/tests/discovery/test_health.py +0 -168
  543. asap_protocol-2.1.1/tests/discovery/test_registry.py +0 -364
  544. asap_protocol-2.1.1/tests/discovery/test_validation.py +0 -329
  545. asap_protocol-2.1.1/tests/discovery/test_wellknown.py +0 -131
  546. asap_protocol-2.1.1/tests/e2e/__init__.py +0 -1
  547. asap_protocol-2.1.1/tests/e2e/test_two_agents.py +0 -48
  548. asap_protocol-2.1.1/tests/economics/__init__.py +0 -1
  549. asap_protocol-2.1.1/tests/economics/test_delegation.py +0 -850
  550. asap_protocol-2.1.1/tests/economics/test_delegation_storage.py +0 -464
  551. asap_protocol-2.1.1/tests/economics/test_metering.py +0 -229
  552. asap_protocol-2.1.1/tests/economics/test_metering_hooks.py +0 -592
  553. asap_protocol-2.1.1/tests/economics/test_sla.py +0 -493
  554. asap_protocol-2.1.1/tests/economics/test_sla_api.py +0 -449
  555. asap_protocol-2.1.1/tests/economics/test_sla_storage.py +0 -467
  556. asap_protocol-2.1.1/tests/economics/test_storage.py +0 -897
  557. asap_protocol-2.1.1/tests/economics/test_usage_api.py +0 -925
  558. asap_protocol-2.1.1/tests/examples/__init__.py +0 -1
  559. asap_protocol-2.1.1/tests/examples/test_agent_failover.py +0 -655
  560. asap_protocol-2.1.1/tests/examples/test_coordinator.py +0 -302
  561. asap_protocol-2.1.1/tests/examples/test_echo_agent.py +0 -141
  562. asap_protocol-2.1.1/tests/examples/test_examples_dx.py +0 -607
  563. asap_protocol-2.1.1/tests/examples/test_run_demo.py +0 -169
  564. asap_protocol-2.1.1/tests/examples/test_storage_backends.py +0 -85
  565. asap_protocol-2.1.1/tests/factories.py +0 -97
  566. asap_protocol-2.1.1/tests/fixtures/asap_ca/README.md +0 -13
  567. asap_protocol-2.1.1/tests/fixtures/asap_ca/ca_private.pem +0 -3
  568. asap_protocol-2.1.1/tests/fixtures/asap_ca/ca_public_b64.txt +0 -1
  569. asap_protocol-2.1.1/tests/fixtures/manifest_with_sla.json +0 -23
  570. asap_protocol-2.1.1/tests/fixtures/self_signed_manifest.json +0 -1
  571. asap_protocol-2.1.1/tests/fixtures/verified_manifest.json +0 -1
  572. asap_protocol-2.1.1/tests/fuzz/__init__.py +0 -1
  573. asap_protocol-2.1.1/tests/fuzz/test_envelope_fuzz.py +0 -147
  574. asap_protocol-2.1.1/tests/integration/test_cross_version_compatibility.py +0 -97
  575. asap_protocol-2.1.1/tests/integration/test_v1_3_cross_feature.py +0 -402
  576. asap_protocol-2.1.1/tests/integrations/__init__.py +0 -1
  577. asap_protocol-2.1.1/tests/integrations/test_crewai.py +0 -199
  578. asap_protocol-2.1.1/tests/integrations/test_integrations_init.py +0 -38
  579. asap_protocol-2.1.1/tests/integrations/test_langchain.py +0 -196
  580. asap_protocol-2.1.1/tests/integrations/test_llamaindex.py +0 -200
  581. asap_protocol-2.1.1/tests/integrations/test_openclaw.py +0 -334
  582. asap_protocol-2.1.1/tests/integrations/test_pydanticai.py +0 -163
  583. asap_protocol-2.1.1/tests/integrations/test_smolagents.py +0 -185
  584. asap_protocol-2.1.1/tests/integrations/test_vercel_ai.py +0 -242
  585. asap_protocol-2.1.1/tests/mcp/__init__.py +0 -1
  586. asap_protocol-2.1.1/tests/mcp/test_asap_integration.py +0 -540
  587. asap_protocol-2.1.1/tests/mcp/test_client.py +0 -359
  588. asap_protocol-2.1.1/tests/mcp/test_protocol.py +0 -119
  589. asap_protocol-2.1.1/tests/mcp/test_serve.py +0 -267
  590. asap_protocol-2.1.1/tests/mcp/test_server_client.py +0 -329
  591. asap_protocol-2.1.1/tests/mcp/test_server_runner.py +0 -132
  592. asap_protocol-2.1.1/tests/mcp/test_server_stdio.py +0 -129
  593. asap_protocol-2.1.1/tests/models/test_base.py +0 -114
  594. asap_protocol-2.1.1/tests/models/test_entities.py +0 -1277
  595. asap_protocol-2.1.1/tests/models/test_enums.py +0 -247
  596. asap_protocol-2.1.1/tests/models/test_envelope.py +0 -271
  597. asap_protocol-2.1.1/tests/models/test_ids.py +0 -101
  598. asap_protocol-2.1.1/tests/models/test_parts.py +0 -508
  599. asap_protocol-2.1.1/tests/models/test_payloads.py +0 -652
  600. asap_protocol-2.1.1/tests/models/test_payloads_validation.py +0 -84
  601. asap_protocol-2.1.1/tests/observability/__init__.py +0 -1
  602. asap_protocol-2.1.1/tests/observability/test_grafana_dashboards.py +0 -80
  603. asap_protocol-2.1.1/tests/observability/test_jaeger_tracing.py +0 -236
  604. asap_protocol-2.1.1/tests/observability/test_logging.py +0 -319
  605. asap_protocol-2.1.1/tests/observability/test_logging_integration.py +0 -255
  606. asap_protocol-2.1.1/tests/observability/test_metrics.py +0 -478
  607. asap_protocol-2.1.1/tests/observability/test_trace_parser.py +0 -441
  608. asap_protocol-2.1.1/tests/observability/test_trace_ui.py +0 -89
  609. asap_protocol-2.1.1/tests/observability/test_tracing.py +0 -376
  610. asap_protocol-2.1.1/tests/properties/__init__.py +0 -1
  611. asap_protocol-2.1.1/tests/properties/test_model_properties.py +0 -683
  612. asap_protocol-2.1.1/tests/properties/test_state_machine_properties.py +0 -72
  613. asap_protocol-2.1.1/tests/scripts/__init__.py +0 -1
  614. asap_protocol-2.1.1/tests/scripts/test_process_registration.py +0 -476
  615. asap_protocol-2.1.1/tests/scripts/test_process_removal.py +0 -94
  616. asap_protocol-2.1.1/tests/scripts/test_process_revocation.py +0 -150
  617. asap_protocol-2.1.1/tests/scripts/test_seed_registry.py +0 -89
  618. asap_protocol-2.1.1/tests/state/__init__.py +0 -1
  619. asap_protocol-2.1.1/tests/state/test_machine.py +0 -237
  620. asap_protocol-2.1.1/tests/state/test_metering.py +0 -279
  621. asap_protocol-2.1.1/tests/state/test_snapshot.py +0 -727
  622. asap_protocol-2.1.1/tests/state/test_sqlite_store.py +0 -398
  623. asap_protocol-2.1.1/tests/state/test_storage_factory.py +0 -111
  624. asap_protocol-2.1.1/tests/test_cli.py +0 -1171
  625. asap_protocol-2.1.1/tests/test_cli_edge_cases.py +0 -156
  626. asap_protocol-2.1.1/tests/test_docs_links.py +0 -131
  627. asap_protocol-2.1.1/tests/test_docs_troubleshooting_smoke.py +0 -64
  628. asap_protocol-2.1.1/tests/test_errors.py +0 -279
  629. asap_protocol-2.1.1/tests/test_schemas.py +0 -214
  630. asap_protocol-2.1.1/tests/test_version.py +0 -9
  631. asap_protocol-2.1.1/tests/testing/__init__.py +0 -3
  632. asap_protocol-2.1.1/tests/testing/test_assertions.py +0 -174
  633. asap_protocol-2.1.1/tests/testing/test_fixtures.py +0 -101
  634. asap_protocol-2.1.1/tests/testing/test_mocks.py +0 -178
  635. asap_protocol-2.1.1/tests/transport/__init__.py +0 -1
  636. asap_protocol-2.1.1/tests/transport/conftest.py +0 -249
  637. asap_protocol-2.1.1/tests/transport/e2e/__init__.py +0 -5
  638. asap_protocol-2.1.1/tests/transport/e2e/test_circuit_breaker_e2e.py +0 -281
  639. asap_protocol-2.1.1/tests/transport/e2e/test_full_agent_flow.py +0 -459
  640. asap_protocol-2.1.1/tests/transport/integration/__init__.py +0 -8
  641. asap_protocol-2.1.1/tests/transport/integration/test_batch_auth_pooling.py +0 -545
  642. asap_protocol-2.1.1/tests/transport/integration/test_compression_server.py +0 -642
  643. asap_protocol-2.1.1/tests/transport/integration/test_health_probes.py +0 -47
  644. asap_protocol-2.1.1/tests/transport/integration/test_lambda_negotiation.py +0 -173
  645. asap_protocol-2.1.1/tests/transport/integration/test_metrics_cardinality.py +0 -141
  646. asap_protocol-2.1.1/tests/transport/integration/test_rate_limiting.py +0 -354
  647. asap_protocol-2.1.1/tests/transport/integration/test_request_size_limits.py +0 -227
  648. asap_protocol-2.1.1/tests/transport/integration/test_server_core.py +0 -923
  649. asap_protocol-2.1.1/tests/transport/integration/test_thread_pool_bounds.py +0 -238
  650. asap_protocol-2.1.1/tests/transport/integration/test_validation_order.py +0 -272
  651. asap_protocol-2.1.1/tests/transport/integration/test_websocket_e2e.py +0 -161
  652. asap_protocol-2.1.1/tests/transport/test_ack_aware_client.py +0 -308
  653. asap_protocol-2.1.1/tests/transport/test_client.py +0 -1358
  654. asap_protocol-2.1.1/tests/transport/test_client_edge_cases.py +0 -318
  655. asap_protocol-2.1.1/tests/transport/test_client_signing.py +0 -127
  656. asap_protocol-2.1.1/tests/transport/test_delegation_api.py +0 -636
  657. asap_protocol-2.1.1/tests/transport/test_handlers.py +0 -1050
  658. asap_protocol-2.1.1/tests/transport/test_jsonrpc.py +0 -419
  659. asap_protocol-2.1.1/tests/transport/test_message_ack.py +0 -338
  660. asap_protocol-2.1.1/tests/transport/test_middleware.py +0 -826
  661. asap_protocol-2.1.1/tests/transport/test_mtls.py +0 -204
  662. asap_protocol-2.1.1/tests/transport/test_server.py +0 -949
  663. asap_protocol-2.1.1/tests/transport/test_server_edge_cases.py +0 -387
  664. asap_protocol-2.1.1/tests/transport/test_sla_websocket.py +0 -162
  665. asap_protocol-2.1.1/tests/transport/test_websocket.py +0 -2773
  666. asap_protocol-2.1.1/tests/transport/test_websocket_rate_limit.py +0 -173
  667. asap_protocol-2.1.1/tests/transport/unit/__init__.py +0 -5
  668. asap_protocol-2.1.1/tests/transport/unit/test_bounded_executor.py +0 -174
  669. asap_protocol-2.1.1/tests/transport/unit/test_cache.py +0 -542
  670. asap_protocol-2.1.1/tests/transport/unit/test_circuit_breaker.py +0 -440
  671. asap_protocol-2.1.1/tests/transport/unit/test_circuit_breaker_persistence.py +0 -72
  672. asap_protocol-2.1.1/tests/transport/unit/test_client_coverage_gaps.py +0 -742
  673. asap_protocol-2.1.1/tests/transport/unit/test_compression.py +0 -435
  674. asap_protocol-2.1.1/tests/transport/unit/test_lambda_codec.py +0 -231
  675. asap_protocol-2.1.1/tests/transport/unit/test_retry_backoff.py +0 -509
  676. asap_protocol-2.1.1/tests/transport/unit/test_retry_edge_cases.py +0 -134
  677. asap_protocol-2.1.1/tests/transport/unit/test_validators.py +0 -321
  678. asap_protocol-2.1.1/tests/transport/unit/test_validators_edge_cases.py +0 -124
  679. asap_protocol-2.1.1/tests/transport/unit/test_webhook.py +0 -667
  680. asap_protocol-2.1.1/tests/utils/__init__.py +0 -3
  681. asap_protocol-2.1.1/tests/utils/test_sanitization.py +0 -163
  682. asap_protocol-2.1.1/uv.lock +0 -5711
  683. asap_protocol-2.1.1/vercel.json +0 -8
  684. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/LICENSE +0 -0
  685. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/agent.schema.json +0 -0
  686. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/artifact.schema.json +0 -0
  687. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/conversation.schema.json +0 -0
  688. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/manifest.schema.json +0 -0
  689. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/message.schema.json +0 -0
  690. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/state_snapshot.schema.json +0 -0
  691. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/entities/task.schema.json +0 -0
  692. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/envelope.schema.json +0 -0
  693. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/parts/data_part.schema.json +0 -0
  694. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/parts/file_part.schema.json +0 -0
  695. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/parts/resource_part.schema.json +0 -0
  696. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/parts/template_part.schema.json +0 -0
  697. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/parts/text_part.schema.json +0 -0
  698. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/artifact_notify.schema.json +0 -0
  699. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/mcp_resource_data.schema.json +0 -0
  700. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/mcp_resource_fetch.schema.json +0 -0
  701. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/mcp_tool_call.schema.json +0 -0
  702. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/mcp_tool_result.schema.json +0 -0
  703. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/message_send.schema.json +0 -0
  704. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/state_query.schema.json +0 -0
  705. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/state_restore.schema.json +0 -0
  706. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/task_cancel.schema.json +0 -0
  707. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/task_request.schema.json +0 -0
  708. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/task_response.schema.json +0 -0
  709. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/schemas/payloads/task_update.schema.json +0 -0
  710. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/scopes.py +0 -0
  711. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/auth/utils.py +0 -0
  712. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/client/__init__.py +0 -0
  713. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/client/cache.py +0 -0
  714. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/client/trust.py +0 -0
  715. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/crypto/__init__.py +0 -0
  716. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/crypto/keys.py +0 -0
  717. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/crypto/models.py +0 -0
  718. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/crypto/signing.py +0 -0
  719. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/crypto/trust_levels.py +0 -0
  720. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/discovery/__init__.py +0 -0
  721. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/discovery/health.py +0 -0
  722. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/discovery/wellknown.py +0 -0
  723. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/economics/metering.py +0 -0
  724. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/__init__.py +0 -0
  725. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/agent_failover.py +0 -0
  726. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/auth_patterns.py +0 -0
  727. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/coordinator.py +0 -0
  728. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/echo_agent.py +0 -0
  729. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/error_recovery.py +0 -0
  730. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/long_running.py +0 -0
  731. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/mcp_client_demo.py +0 -0
  732. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/mcp_integration.py +0 -0
  733. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/multi_step_workflow.py +0 -0
  734. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/orchestration.py +0 -0
  735. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/rate_limiting.py +0 -0
  736. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/run_demo.py +0 -0
  737. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/secure_handler.py +0 -0
  738. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/state_migration.py +0 -0
  739. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/streaming_response.py +0 -0
  740. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/v1_3_0_showcase.py +0 -0
  741. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/v1_4_0_showcase.py +0 -0
  742. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/examples/websocket_concept.py +0 -0
  743. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/langchain.py +0 -0
  744. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/openclaw.py +0 -0
  745. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/pydanticai.py +0 -0
  746. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/smolagents.py +0 -0
  747. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/integrations/vercel_ai.py +0 -0
  748. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/mcp/__init__.py +0 -0
  749. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/mcp/protocol.py +0 -0
  750. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/mcp/serve.py +0 -0
  751. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/mcp/server_runner.py +0 -0
  752. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/__init__.py +0 -0
  753. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/base.py +0 -0
  754. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/envelope.py +0 -0
  755. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/ids.py +0 -0
  756. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/parts.py +0 -0
  757. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/types.py +0 -0
  758. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/models/validators.py +0 -0
  759. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/__init__.py +0 -0
  760. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/dashboards/README.md +0 -0
  761. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/dashboards/asap-detailed.json +0 -0
  762. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/dashboards/asap-red.json +0 -0
  763. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/logging.py +0 -0
  764. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/trace_parser.py +0 -0
  765. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/trace_ui.py +0 -0
  766. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/observability/tracing.py +0 -0
  767. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/schemas.py +0 -0
  768. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/state/machine.py +0 -0
  769. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/testing/fixtures.py +0 -0
  770. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/__init__.py +0 -0
  771. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/cache.py +0 -0
  772. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/circuit_breaker.py +0 -0
  773. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/codecs/__init__.py +0 -0
  774. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/codecs/lambda_codec.py +0 -0
  775. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/compression.py +0 -0
  776. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/delegation_api.py +0 -0
  777. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/mtls.py +0 -0
  778. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/sla_api.py +0 -0
  779. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/transport/usage_api.py +0 -0
  780. {asap_protocol-2.1.1 → asap_protocol-2.2.1}/src/asap/utils/__init__.py +0 -0
@@ -177,9 +177,11 @@ cython_debug/
177
177
 
178
178
  # Project specific
179
179
  !/.cursor/
180
+ /drafts/
180
181
  # Strategy docs (private — do not commit)
181
182
  .cursor/product-specs/strategy/
182
183
  node_modules/
184
+ .pnpm-store/
183
185
  .github/wiki/
184
186
 
185
187
  # Next.js app lib (do not ignore; root lib/ is for Python)
@@ -192,3 +194,5 @@ node_modules/
192
194
 
193
195
  # ESLint report (generated)
194
196
  eslint-report.json
197
+ .vercel
198
+ .env*.local
@@ -7,8 +7,201 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ---
11
+
12
+ ## [2.2.1] - 2026-04-21
13
+
14
+ Patch release: optional WebAuthn verification, compliance and audit CLIs, docs,
15
+ and CI baselines.
16
+
10
17
  ### Added
11
- - Future changes will be documented here.
18
+
19
+ - **WebAuthn (optional extra)**: `asap-protocol[webauthn]` enables real
20
+ registration/assertion verification when `ASAP_WEBAUTHN_RP_ID` and
21
+ `ASAP_WEBAUTHN_ORIGIN` are set; otherwise behavior matches v2.2.0. See
22
+ [v2.2.0 → v2.2.1 migration](docs/migration.md#upgrading-from-v220-to-v221).
23
+ - **`asap compliance-check`**: Runs Compliance Harness v2 against an agent
24
+ `HTTP(S)` base URL; `--output {text,json}`, `--exit-on-fail`, `--timeout`,
25
+ `--asap-version`. Documented in [docs/cli.md](docs/cli.md) and
26
+ [docs/ci-compliance.md](docs/ci-compliance.md) (Actions example with
27
+ `--exit-on-fail`).
28
+ - **`asap audit export`**: Exports hash-chained audit rows from SQLite or an
29
+ in-memory store; `--verify-chain` fails on tampering. Documented in
30
+ [docs/cli.md](docs/cli.md#asap-audit-export) and [docs/audit.md](docs/audit.md).
31
+ - **`apps/example-agent`**: Minimal installable example; CI runs Harness v2 and
32
+ fails on score < 1.0 (regression guard).
33
+
34
+ ### Security
35
+
36
+ - **`python-dotenv`**: `tool.uv.override-dependencies` pins **≥ 1.2.2** (CVE-2026-28684)
37
+ on transitive installs.
38
+ - **`apps/web`**: Dependency updates closing npm audit findings (Next.js 16.2.4;
39
+ `micromatch` subtree forced to `picomatch` ≥ 2.3.2).
40
+
41
+ ### Changed
42
+
43
+ - **CLI package layout**: Typer subcommands live under `asap.cli` / `src/asap/cli/`
44
+ (replacing the monolithic `cli.py` module); `asap` console script unchanged.
45
+ - **`ResolvedAgent.run()`**: Tightens the contract from "tri-branch dict[str, Any]" to
46
+ "the TaskResponse.result dict, or empty dict if result is None". A protocol violation
47
+ (server responds with anything other than a TaskResponse envelope) now raises
48
+ `TypeError` so it surfaces at the call site instead of silently coercing into a dict.
49
+ Return type annotation remains `dict[str, Any]`; no caller API change. Closes the
50
+ deferred follow-up from v2.1 PR-73 review.
51
+ - **Dependency pins**: `cryptography`, `authlib`, `joserfc`, `pyjwt`, `webauthn` (extra),
52
+ and `pydantic` now carry explicit upper bounds to the next major version so breaking
53
+ upstream releases can't auto-install. Policy + bump procedure documented in
54
+ [SECURITY.md §Dependency policy](SECURITY.md#dependency-policy).
55
+ - **ID generation**: `asap.state.stores.sqlite`, `asap.economics.storage`,
56
+ `asap.economics.sla`, and `asap.integrations.a2h` now generate entity IDs through
57
+ `asap.models.ids.generate_id()` (ULID) instead of ad-hoc `uuid.uuid4()`. The
58
+ slowapi storage-URI suffix in `asap.transport.rate_limit` remains `uuid.uuid4().hex`
59
+ because it is a backend namespace, not a domain identifier; an inline comment
60
+ documents the distinction.
61
+ - **`asap.economics.storage` aggregate dispatch**: The six-branch `cast(list[UsageAggregate], ...)`
62
+ clusters in `InMemoryMeteringStorage.aggregate` and `SQLiteMeteringStorage.aggregate` are
63
+ consolidated into a single `_dispatch_aggregate(events, group_by)` helper. Eight
64
+ scattered casts become three, all documented in one place.
65
+ - **`asap.transport.server` helper types**: `_validate_envelope` and `_dispatch_to_handler`
66
+ now return a discriminable `EnvelopeOrError = JSONResponse | tuple[Envelope, str]`
67
+ union instead of `tuple[Envelope | None, JSONResponse | str]`. Callers narrow via
68
+ `isinstance(result, JSONResponse)` and no longer need `cast()` at the three call
69
+ sites. Internal-only refactor; public API unchanged.
70
+ - **`WebAuthnVerifierImpl.start_webauthn_*`**: Returns the full
71
+ `PublicKeyCredentialCreation/RequestOptions` dict from
72
+ `webauthn.helpers.options_to_json_dict` (previously a bare base64url
73
+ challenge). Integrators building a browser adapter get `rp`, `user`,
74
+ `pubKeyCredParams`, `allowCredentials`, and `userVerification` out of the
75
+ box and no longer need to hand-assemble the options envelope.
76
+ - **`default_webauthn_verifier()`**: The returned verifier is now cached
77
+ per-process (keyed by `extra_installed / rp_id / origin`). Pending
78
+ WebAuthn challenges persist across requests when the defensive fallback in
79
+ `agent_routes._webauthn_verifier` is hit — previously each fallback call
80
+ rebuilt an empty `InMemoryWebAuthnCredentialStore`, silently discarding
81
+ any `start_webauthn_assertion` state. Tests can reset the cache with
82
+ `asap.auth.self_auth.reset_default_webauthn_verifier_cache()`.
83
+
84
+ ### Fixed
85
+
86
+ - **Swallowed exceptions in `finish_webauthn_assertion`**: Bare
87
+ `except Exception:` blocks now catch the specific
88
+ `InvalidAuthenticationResponse` / `ValueError` / `TypeError` classes and
89
+ emit structured warnings (`asap.webauthn.assertion.invalid`,
90
+ `.malformed_challenge`, `.challenge_mismatch`, `.unknown_credential`)
91
+ via `asap.observability.get_logger` so SIEM rules can detect
92
+ cloned-authenticator and replay patterns.
93
+ - **`WebAuthnCeremonyError` payload**: Public `detail` is now a stable,
94
+ PII-free identifier (`webauthn_registration_state_missing`,
95
+ `webauthn_registration_verification_failed`). `host_id` and the upstream
96
+ library reason are logged internally instead of leaking into the error
97
+ surface.
98
+ - **`audit export --verify-chain`**: Replaces fragile string-matching on
99
+ `"AUDIT_CHAIN_BROKEN"` with a dedicated `asap.economics.audit.AuditChainBroken`
100
+ exception. Invalid `--since` / `--until` ISO-8601 values now surface as
101
+ `typer.BadParameter` instead of an unhandled traceback.
102
+ - **CSV export determinism**: `asap audit export --format csv` now writes
103
+ rows with `lineterminator="\n"` for reproducible diffs on Linux CI.
104
+ - **Test fixtures**: `tests/cli/test_compliance_check.py` uvicorn fixtures
105
+ now stop the server cooperatively via `server.should_exit = True` +
106
+ `thread.join`, preventing the leaked-socket flakes flagged under
107
+ `pytest-xdist` on long suites.
108
+
109
+ ### Known limitations
110
+
111
+ - **No reference HTTP enrollment route** for the WebAuthn registration
112
+ ceremony. `WebAuthnVerifierImpl.start_webauthn_registration` /
113
+ `.finish_webauthn_registration` are Python-only helpers in v2.2.1;
114
+ integrators must expose their own adapter route (see
115
+ [docs/security/self-authorization-prevention.md](docs/security/self-authorization-prevention.md#known-limitation-no-reference-http-enrollment-route-in-v221)).
116
+ A first-class `POST /asap/agent/webauthn/register/{begin,finish}` is
117
+ tracked for v2.3 (Adoption Multiplier), where new endpoint surface area
118
+ is permitted.
119
+
120
+ ---
121
+
122
+ ## [2.2.0] - 2026-04-15
123
+
124
+ Protocol Hardening release: per-runtime agent identity, capability-based authorization, approval flows, SSE streaming, structured error taxonomy, version negotiation, and async state stores.
125
+
126
+ ### Added
127
+
128
+ #### Per-Runtime Agent Identity (S1, ADR-17 extension)
129
+ - **Host/Agent JWT**: `create_host_jwt`, `create_agent_jwt`, `verify_host_jwt`, `verify_agent_jwt` — Ed25519 (EdDSA) JWTs with `jti` replay cache (`auth/agent_jwt.py`)
130
+ - **Identity stores**: `HostIdentity`, `AgentSession`, `HostStore`, `AgentStore`, `InMemoryHostStore`, `InMemoryAgentStore` — per-host and per-agent identity with JWK thumbprint (RFC 7638) (`auth/identity.py`)
131
+ - **Agent endpoints**: `POST /asap/agent/register`, `GET /asap/agent/status`, `POST /asap/agent/revoke`, `POST /asap/agent/rotate-key` — Host JWT Bearer authentication (`transport/agent_routes.py`)
132
+
133
+ #### Capability-Based Authorization (S1)
134
+ - **Capability system**: `CapabilityDefinition`, `CapabilityGrant`, `CapabilityRegistry`, `validate_constraints` — grants with constraints (`max`, `min`, `in`, `not_in`) (`auth/capabilities.py`)
135
+ - **Capability endpoints**: `GET /asap/capability/list`, `GET /asap/capability/describe`, `POST /asap/capability/execute`, `POST /asap/agent/reactivate` (`transport/capability_routes.py`)
136
+
137
+ #### Agent Lifecycle (S1)
138
+ - **Session lifecycle**: `check_agent_expiry`, `extend_session`, `reactivate_agent` — TTL-based session management (`auth/lifecycle.py`)
139
+
140
+ #### Approval Flows (S2)
141
+ - **Device Authorization & CIBA**: `create_device_authorization`, `create_ciba_approval`, `select_approval_method`, `ApprovalStore`, `InMemoryApprovalStore` — RFC 8628 / CIBA-style approval (`auth/approval.py`)
142
+ - **A2H channel**: `A2HApprovalChannel` for agent-to-human approval resolution
143
+
144
+ #### Self-Auth Prevention (S2)
145
+ - **Fresh session**: `FreshSessionConfig`, `check_fresh_session`, `fresh_session_violation_detail` — time-windowed Host JWT validation (`auth/self_auth.py`)
146
+ - **WebAuthn**: Optional `WebAuthnVerifier` for high-risk capability registration
147
+
148
+ #### SSE Streaming (S3)
149
+ - **SSE endpoint**: `POST /asap/stream` returns `text/event-stream` with Envelope JSON events (`transport/server.py`)
150
+ - **TaskStream payload**: Streaming chunks with `chunk`, `progress`, `final`, `status` fields (`models/payloads.py`)
151
+ - **Client streaming**: `ASAPClient.stream(envelope)` parses SSE events into Envelope objects (`transport/client.py`)
152
+ - **Streaming handlers**: `HandlerRegistry.register_streaming_handler`, `dispatch_stream_async` for async generator handlers (`transport/handlers.py`)
153
+
154
+ #### Error Taxonomy (S3, PRD §4.7)
155
+ - **Error hierarchy**: `RecoverableError` / `FatalError` base classes with taxonomy URIs and JSON-RPC codes (-32000 to -32059) (`errors.py`)
156
+ - **Recovery hints**: `retry_after_ms`, `alternative_agents`, `fallback_action` on all ASAP errors
157
+ - **Remote errors**: `RemoteFatalRPCError`, `RemoteRecoverableRPCError` for client-side error reconstruction
158
+ - **Error code registry**: Documented in `docs/error-codes.md`
159
+
160
+ #### ASAP-Version Negotiation (S4)
161
+ - **Version header**: `ASAP-Version` request/response header for wire-level version negotiation (`models/constants.py`)
162
+ - **Version middleware**: `ASAPVersionMiddleware` validates version on `POST /asap` and `POST /asap/stream`; returns `VERSION_INCOMPATIBLE` JSON-RPC error for unsupported versions (`transport/middleware.py`)
163
+ - **Client negotiation**: `ASAPClient` sends supported versions and tracks `last_response_asap_version` (`transport/client.py`)
164
+ - **Manifest field**: `Manifest.supported_versions` for discovery-time version advertisement
165
+
166
+ #### Async State Stores (S4)
167
+ - **AsyncSnapshotStore**: Async protocol (`save`, `get`, `list_versions`, `delete`) replacing sync `SnapshotStore` (deprecated) (`state/snapshot.py`)
168
+ - **AsyncMeteringStore**: Async protocol (`record`, `query`, `aggregate`) replacing sync `MeteringStore` (deprecated) (`state/metering.py`)
169
+ - **SQLite async**: `SQLiteAsyncSnapshotStore` with WAL mode and pragma cache (`state/stores/sqlite.py`)
170
+
171
+ #### JSON-RPC Batch Operations (S5)
172
+ - **Server-side batch**: `POST /asap` accepts JSON arrays per JSON-RPC 2.0 batch spec; processes each request independently and returns array of responses (`transport/server.py`)
173
+ - **Batch size limit**: Configurable `max_batch_size` (default 50); oversized batches rejected with `INVALID_REQUEST` error
174
+ - **Rate limit integration**: `ASAPRateLimiter.check_n()` counts batch sub-requests against rate limits (`transport/rate_limit.py`)
175
+ - **Client batch**: `ASAPClient.batch(envelopes)` sends single HTTP request with JSON array body (`transport/client.py`)
176
+
177
+ #### Tamper-Evident Audit Logging (S5)
178
+ - **Audit models**: `AuditEntry` with SHA-256 hash chain (`prev_hash` → `hash`) for tamper detection (`economics/audit.py`)
179
+ - **AuditStore protocol**: `append`, `query`, `verify_chain`, `count` — with `InMemoryAuditStore` and `SQLiteAuditStore` implementations
180
+ - **Audit hooks**: Optional `audit_store` parameter in `create_app`; automatic logging of successful message processing
181
+ - **Audit API**: `GET /audit` with `urn`, `start`, `end`, `limit`, `offset` query parameters
182
+
183
+ #### Compliance Harness v2 (S5)
184
+ - **Harness runner**: `run_compliance_harness_v2(app)` validates ASGI applications against v2.2 spec (`testing/compliance.py`)
185
+ - **Check categories**: Identity, streaming, errors, versioning, batch, audit — each with multiple checks
186
+ - **Compliance report**: `ComplianceReport` with score (0.0–1.0), check results, and JSON export via `to_json()`
187
+
188
+ ### Security
189
+
190
+ - **Dependency upgrades**: pillow 12.2.0 (CVE-2026-40192), pytest 9.0.3 (CVE-2025-71176), python-multipart 0.0.26 (CVE-2026-40347), langsmith 0.7.32 (GHSA-rr7j-v2q5-chgv)
191
+ - **Self-auth prevention**: Agents cannot register capabilities without fresh host session and optional WebAuthn verification
192
+ - **JTI replay cache**: Prevents JWT replay on mutating agent identity endpoints
193
+
194
+ ### Changed
195
+
196
+ - **Wire version**: Default transport version bumped from `2.1` to `2.2`; backward compatible with `2.1`
197
+ - **State stores**: `SnapshotStore` and `MeteringStore` sync protocols deprecated in favor of async variants
198
+
199
+ ### Technical Details
200
+
201
+ - **Python**: 3.13+
202
+ - **Tests**: 2941 passed, 7 skipped; full CI green (ruff, mypy, pytest, pip-audit)
203
+ - **Coverage**: ≥90% for new v2.2 modules
204
+ - **Full Changelog**: https://github.com/adriannoes/asap-protocol/compare/v2.1.1...v2.2.0
12
205
 
13
206
  ---
14
207
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asap-protocol
3
- Version: 2.1.1
3
+ Version: 2.2.1
4
4
  Summary: Async Simple Agent Protocol - A streamlined protocol for agent-to-agent communication
5
5
  Project-URL: Homepage, https://github.com/adriannoes/asap-protocol
6
6
  Project-URL: Documentation, https://adriannoes.github.io/asap-protocol
@@ -21,13 +21,13 @@ Classifier: Topic :: System :: Distributed Computing
21
21
  Classifier: Typing :: Typed
22
22
  Requires-Python: >=3.13
23
23
  Requires-Dist: aiosqlite>=0.20
24
- Requires-Dist: authlib>=1.3
24
+ Requires-Dist: authlib<2,>=1.6.11
25
25
  Requires-Dist: brotli>=1.2.0
26
- Requires-Dist: cryptography>=41.0
26
+ Requires-Dist: cryptography<47,>=46.0.7
27
27
  Requires-Dist: fastapi>=0.128.0
28
28
  Requires-Dist: httpx[http2]>=0.28.1
29
29
  Requires-Dist: jcs>=0.2.0
30
- Requires-Dist: joserfc>=1.0
30
+ Requires-Dist: joserfc<2,>=1.6.3
31
31
  Requires-Dist: jsonschema>=4.23.0
32
32
  Requires-Dist: limits>=3.0
33
33
  Requires-Dist: opentelemetry-api>=1.20
@@ -36,7 +36,7 @@ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.41
36
36
  Requires-Dist: opentelemetry-instrumentation-httpx>=0.41
37
37
  Requires-Dist: opentelemetry-sdk>=1.20
38
38
  Requires-Dist: packaging>=25.0
39
- Requires-Dist: pydantic>=2.12.5
39
+ Requires-Dist: pydantic<3,>=2.12.5
40
40
  Requires-Dist: python-ulid>=3.0
41
41
  Requires-Dist: structlog>=24.1
42
42
  Requires-Dist: typer>=0.21.1
@@ -53,7 +53,7 @@ Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
53
53
  Requires-Dist: pytest-benchmark>=5.1; extra == 'dev'
54
54
  Requires-Dist: pytest-cov>=6.0; extra == 'dev'
55
55
  Requires-Dist: pytest-xdist>=3.5.0; extra == 'dev'
56
- Requires-Dist: pytest>=8.0; extra == 'dev'
56
+ Requires-Dist: pytest>=9.0.3; extra == 'dev'
57
57
  Requires-Dist: ruff>=0.14.14; extra == 'dev'
58
58
  Requires-Dist: types-jsonschema>=4.0.0; extra == 'dev'
59
59
  Provides-Extra: dns-sd
@@ -62,6 +62,7 @@ Provides-Extra: docs
62
62
  Requires-Dist: ghp-import>=2.1.0; extra == 'docs'
63
63
  Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
64
64
  Requires-Dist: mkdocstrings[python]>=0.27; extra == 'docs'
65
+ Requires-Dist: pymdown-extensions>=10.21; extra == 'docs'
65
66
  Provides-Extra: langchain
66
67
  Requires-Dist: langchain-core>=0.2; extra == 'langchain'
67
68
  Provides-Extra: llamaindex
@@ -76,6 +77,8 @@ Provides-Extra: redis
76
77
  Requires-Dist: redis>=5.0.0; extra == 'redis'
77
78
  Provides-Extra: smolagents
78
79
  Requires-Dist: smolagents>=1.0; extra == 'smolagents'
80
+ Provides-Extra: webauthn
81
+ Requires-Dist: webauthn<3,>=2.6; extra == 'webauthn'
79
82
  Description-Content-Type: text/markdown
80
83
 
81
84
  # ASAP: Async Simple Agent Protocol
@@ -87,9 +90,9 @@ Description-Content-Type: text/markdown
87
90
 
88
91
  > A production-ready protocol for agent-to-agent communication and task coordination.
89
92
 
90
- **Quick Info**: `v2.1.0` | `Apache 2.0` | `Python 3.13+` | [Marketplace](https://asap-protocol.vercel.app/) | [Documentation](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md) | [PyPI](https://pypi.org/project/asap-protocol/) | [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md)
93
+ **Quick Info**: `v2.2.1` | `Apache 2.0` | `Python 3.13+` | [Documentation](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md) | [PyPI](https://pypi.org/project/asap-protocol/) | [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md)
91
94
 
92
- > 🚀 **Live now** our agentic marketplace**](https://asap-protocol.vercel.app/) — Browse agents, register yours, request verification.
95
+ > 🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.vercel.app/) — browse agents, register yours, request verification.
93
96
 
94
97
  ## Why ASAP?
95
98
 
@@ -98,7 +101,7 @@ Building multi-agent systems today suffers from three core technical challenges
98
101
  2. **State Drift**: Lack of native persistence makes it impossible to reliably resume long-running agentic workflows.
99
102
  3. **Fragmentation**: No unified way to handle task delegation, artifact exchange and tool execution (MCP) in a single envelope.
100
103
 
101
- **ASAP** provides a production-ready communication layer that simplifies these complexities. It's ideal for **multi-agent orchestration**, **stateful workflows** (persistence, resumability), **MCP integration**, and **production systems** requiring high-performance, type-safe agent communication.
104
+ **ASAP** provides a production-ready communication layer that simplifies these complexities. It's ideal for **multi-agent orchestration**, **stateful workflows** (persistence, resumability), **MCP support** and **production systems** requiring high-performance, type-safe agent communication.
102
105
 
103
106
  For simple point-to-point communication, a basic HTTP API might suffice; ASAP shines when you need orchestration, state management and multi-agent coordination. See the [spec](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/product-specs/strategy/v0-original-specs.md) for details.
104
107
 
@@ -109,11 +112,13 @@ For simple point-to-point communication, a basic HTTP API might suffice; ASAP sh
109
112
  - **Async-native** — `asyncio` + `httpx`; sync and async handlers supported.
110
113
  - **MCP integration** — Tool execution and coordination in a single envelope.
111
114
  - **Observable** — `trace_id` and `correlation_id` for debugging.
112
- - **Security** — Bearer auth, OAuth2/JWT (v1.1), Ed25519 signed manifests (v1.2), optional mTLS, replay prevention, HTTPS, rate limiting. [v1.1 Security Model](https://github.com/adriannoes/asap-protocol/blob/main/docs/security/v1.1-security-model.md) (trust limits, Custom Claims).
115
+ - **Security** — Bearer auth, OAuth2/JWT, Ed25519 signed manifests, optional mTLS, replay prevention, HTTPS, rate limiting. [Security Model](https://github.com/adriannoes/asap-protocol/blob/main/docs/security/v1.1-security-model.md) (trust limits, Custom Claims).
116
+ - **Identity & capabilities (v2.2, WebAuthn real in v2.2.1)** — Per-runtime Host/Agent JWTs, capability grants with constraints (`max`, `min`, `in`, `not_in`), approval flows (device authorization / CIBA-style), real WebAuthn attestation/assertion for high-risk registration (opt-in via `asap-protocol[webauthn]`).
117
+ - **Streaming & wire protocol (v2.2)** — `POST /asap/stream` (SSE / `TaskStream`), JSON-RPC 2.0 batch on `POST /asap`, `ASAP-Version` negotiation, tamper-evident audit logging, Compliance Harness v2.
113
118
  - **Economics** — Usage metering, delegation tokens, SLA framework with breach alerts.
114
119
 
115
120
  ### 🆕 Framework Ecosystem
116
- ASAP is built for interoperability. Seamlessly integrate your agents into **OpenClaw**,**LangChain**, **CrewAI** and **LlamaIndex** workflows using our growing library of native adapters and standardized tool-calling schemas.
121
+ ASAP is built for interoperability. Seamlessly integrate your agents into **OpenClaw**, **LangChain**, **CrewAI** and **LlamaIndex** workflows using our growing library of native adapters and standardized tool-calling schemas.
117
122
 
118
123
  ## Installation
119
124
 
@@ -129,7 +134,7 @@ Or with pip:
129
134
  pip install asap-protocol
130
135
  ```
131
136
 
132
- 📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)**. For reproducible environments, prefer `uv` when possible.
137
+ 📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)** for reproducible environments, prefer `uv` when possible.
133
138
 
134
139
  ## Quick Start
135
140
 
@@ -168,10 +173,6 @@ pytest --asap-agent-url https://your-agent.example.com -m asap_compliance
168
173
 
169
174
  See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/compliance-testing.md) for handshake, schema and state machine validation.
170
175
 
171
- ## Benchmarks
172
-
173
- [Benchmark Results](https://github.com/adriannoes/asap-protocol/blob/main/benchmarks/RESULTS.md): load (1,500+ RPS), stress, memory.
174
-
175
176
  ## Documentation
176
177
 
177
178
  **Learn**
@@ -187,7 +188,7 @@ See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/
187
188
  - [Observability](https://github.com/adriannoes/asap-protocol/blob/main/docs/observability.md) | [Testing](https://github.com/adriannoes/asap-protocol/blob/main/docs/testing.md)
188
189
 
189
190
  **Decisions & Operations**
190
- - [ADRs](https://github.com/adriannoes/asap-protocol/tree/main/docs/adr) — 17 Architecture Decision Records
191
+ - [ADRs](https://github.com/adriannoes/asap-protocol/tree/main/docs/adr) — 19 Architecture Decision Records
191
192
  - [Tech Stack](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/dev-planning/architecture/tech-stack-decisions.md) — Rationale for Python, Pydantic, Next.js choices
192
193
  - [Deployment](https://github.com/adriannoes/asap-protocol/blob/main/docs/deployment/kubernetes.md) | [Troubleshooting](https://github.com/adriannoes/asap-protocol/blob/main/docs/troubleshooting.md)
193
194
 
@@ -196,40 +197,42 @@ See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/
196
197
 
197
198
  ## CLI
198
199
 
199
- **v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite), and Webhooks. **v1.2** adds Ed25519 signed manifests, trust levels, optional mTLS and the [Compliance Harness](https://github.com/adriannoes/asap-protocol/blob/main/asap-compliance/README.md). **v1.3** adds delegation commands (`asap delegation create`, `asap delegation revoke`).
200
-
201
200
  ```bash
202
201
  asap --version # Show version
203
202
  asap list-schemas # List all available schemas
204
203
  asap export-schemas # Export JSON schemas to file
205
- asap keys generate -o key.pem # Generate Ed25519 keypair (v1.2)
206
- asap manifest sign -k key.pem manifest.json # Sign manifest (v1.2)
207
- asap manifest verify signed.json # Verify signature (v1.2)
208
- asap manifest info signed.json # Show trust level (v1.2)
204
+ asap compliance-check --url https://agent.example # Compliance Harness v2 (HTTP(S))
205
+ asap audit export --store memory --format json # Export audit log (stdout)
206
+ asap keys generate -o key.pem # Generate Ed25519 keypair
207
+ asap manifest sign -k key.pem manifest.json # Sign manifest
208
+ asap manifest verify signed.json # Verify signature
209
+ asap manifest info signed.json # Show trust level
209
210
  ```
210
211
 
211
- See [CLI reference](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/identity-signing.md) or run `asap --help`.
212
+ See the [CLI reference](docs/cli.md) for `compliance-check` and `audit export` flag details, the [CI compliance gate](docs/ci-compliance.md) for wiring `compliance-check` into GitHub Actions, the [audit export guide](docs/audit.md), [Identity Signing](docs/guides/identity-signing.md), or run `asap --help` for the full command surface.
212
213
 
213
- See [docs index](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md#v11-features-api-reference--guides) and [Identity Signing](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/identity-signing.md) for details.
214
+ ## Version History
214
215
 
215
- ## What's Next? 🔭
216
+ - **v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite) and Webhooks.
217
+ - **v1.2** adds Ed25519 signed manifests, trust levels, optional mTLS and the [Compliance Harness](https://github.com/adriannoes/asap-protocol/blob/main/asap-compliance/README.md).
218
+ - **v1.3** adds delegation commands (`asap delegation create`, `asap delegation revoke`).
219
+ - **v2.0** adds the Lean Marketplace Web App (Next.js), Lite Registry on GitHub Pages, IssueOps registration, OAuth sign-in for developers, and Verified Badge flow.
220
+ - **v2.1** adds the Consumer SDK (`MarketClient`), optional framework extras (LangChain, CrewAI, LlamaIndex, SmolAgents, OpenClaw, …), and registry UX improvements on PyPI.
221
+ - **v2.1.1** is a patch release: JWT algorithm allowlist, SQLite async bridging, optional Redis-backed rate limits, SSRF hardening in the web app, and related reliability fixes (see [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md)).
222
+ - **v2.2** adds per-runtime agent identity, capability-based authorization, SSE streaming (`POST /asap/stream`), `ASAP-Version` negotiation, JSON-RPC batch requests, tamper-evident audit logging, async state stores, and Compliance Harness v2.
223
+ - **v2.2.1** closes the SELF-002 follow-up with **real WebAuthn** attestation/assertion via the opt-in `asap-protocol[webauthn]` extra, ships the `asap compliance-check` and `asap audit export` CLIs, promotes the client SDK `ResolvedAgent.run()` to a typed contract (raises `TypeError` on protocol violation), introduces the `asap.economics.audit.AuditChainBroken` exception for scripted tamper handling, and pins upper bounds on security-sensitive deps (`cryptography`, `authlib`, `joserfc`, `pyjwt`, `webauthn`, `pydantic`) — see [dependency policy](https://github.com/adriannoes/asap-protocol/blob/main/SECURITY.md#dependency-policy) and full notes in the [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md).
216
224
 
217
- ASAP is evolving toward an **Agent Marketplace** — an open ecosystem where AI agents discover, trust and collaborate autonomously:
225
+ For a structured index of per-version features, see the [docs index](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md#v11-features-api-reference--guides).
218
226
 
219
- - **v1.1**: Identity Layer (OAuth2, WebSocket, Discovery) ✅
220
- - **v1.2**: Trust Layer (Signed Manifests, Compliance Harness, mTLS) ✅
221
- - **v1.3**: Economics Layer (Metering, SLAs, Delegation) ✅
222
- - **v1.4**: Resilience & Scale (Type Safety, Storage Pagination) ✅
223
- - **v2.0**: Agent Marketplace with Web App (Lean Registry, Verified Badge, IssueOps) ✅
224
- - **v2.1**: PyPI distribution, Consumer SDK, framework integrations (LangChain, CrewAI, LlamaIndex, SmolAgents, OpenClaw) ✅
227
+ ## 🔭 What's Next?
225
228
 
226
- See our [vision document](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/product-specs/strategy/vision-agent-marketplace.md) for the full roadmap.
229
+ ASAP is evolving toward an **Agent Marketplace** — an open ecosystem where AI agents discover, trust and collaborate autonomously. See our [vision document](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/product-specs/strategy/vision-agent-marketplace.md) for the full roadmap.
227
230
 
228
231
  ## Contributing
229
232
 
230
- **Community feedback and contributions are essential** for ASAP Protocol's evolution.
233
+ **Community feedback and contributions are essential** for ASAP Protocol's evolution. We're working on improvements and your input helps shape the future of the protocol.
231
234
 
232
- We're working on improvements and your input helps shape the future of the protocol. Every contribution, from bug reports to feature suggestions, documentation improvements and code contributions, makes a real difference.
235
+ Every contribution, from bug reports to feature suggestions, documentation improvements and code contributions, makes a real difference.
233
236
 
234
237
  Check out our [contributing guidelines](https://github.com/adriannoes/asap-protocol/blob/main/CONTRIBUTING.md) to get started. It's easier than you think! 🚀
235
238
 
@@ -239,4 +242,4 @@ This project is licensed under the Apache 2.0 License - see the [license](https:
239
242
 
240
243
  ---
241
244
 
242
- **Built with [Cursor](https://cursor.com/)** using Composer 1.5, Claude Opus 4.6, Gemini 3.1 Pro and Kimi K2.5.
245
+ **Built with [Cursor](https://cursor.com/) and [Claude Code](https://claude.com/claude-code)** — primarily Claude Opus 4.7 (1M context) with Cursor Composer 1.5, Gemini 3.1 Pro, and Kimi K2.5 as collaborators.
@@ -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.1.0` | `Apache 2.0` | `Python 3.13+` | [Marketplace](https://asap-protocol.vercel.app/) | [Documentation](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md) | [PyPI](https://pypi.org/project/asap-protocol/) | [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md)
10
+ **Quick Info**: `v2.2.1` | `Apache 2.0` | `Python 3.13+` | [Documentation](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md) | [PyPI](https://pypi.org/project/asap-protocol/) | [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md)
11
11
 
12
- > 🚀 **Live now** our agentic marketplace**](https://asap-protocol.vercel.app/) — Browse agents, register yours, request verification.
12
+ > 🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.vercel.app/) — browse agents, register yours, request verification.
13
13
 
14
14
  ## Why ASAP?
15
15
 
@@ -18,7 +18,7 @@ Building multi-agent systems today suffers from three core technical challenges
18
18
  2. **State Drift**: Lack of native persistence makes it impossible to reliably resume long-running agentic workflows.
19
19
  3. **Fragmentation**: No unified way to handle task delegation, artifact exchange and tool execution (MCP) in a single envelope.
20
20
 
21
- **ASAP** provides a production-ready communication layer that simplifies these complexities. It's ideal for **multi-agent orchestration**, **stateful workflows** (persistence, resumability), **MCP integration**, and **production systems** requiring high-performance, type-safe agent communication.
21
+ **ASAP** provides a production-ready communication layer that simplifies these complexities. It's ideal for **multi-agent orchestration**, **stateful workflows** (persistence, resumability), **MCP support** and **production systems** requiring high-performance, type-safe agent communication.
22
22
 
23
23
  For simple point-to-point communication, a basic HTTP API might suffice; ASAP shines when you need orchestration, state management and multi-agent coordination. See the [spec](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/product-specs/strategy/v0-original-specs.md) for details.
24
24
 
@@ -29,11 +29,13 @@ For simple point-to-point communication, a basic HTTP API might suffice; ASAP sh
29
29
  - **Async-native** — `asyncio` + `httpx`; sync and async handlers supported.
30
30
  - **MCP integration** — Tool execution and coordination in a single envelope.
31
31
  - **Observable** — `trace_id` and `correlation_id` for debugging.
32
- - **Security** — Bearer auth, OAuth2/JWT (v1.1), Ed25519 signed manifests (v1.2), optional mTLS, replay prevention, HTTPS, rate limiting. [v1.1 Security Model](https://github.com/adriannoes/asap-protocol/blob/main/docs/security/v1.1-security-model.md) (trust limits, Custom Claims).
32
+ - **Security** — Bearer auth, OAuth2/JWT, Ed25519 signed manifests, optional mTLS, replay prevention, HTTPS, rate limiting. [Security Model](https://github.com/adriannoes/asap-protocol/blob/main/docs/security/v1.1-security-model.md) (trust limits, Custom Claims).
33
+ - **Identity & capabilities (v2.2, WebAuthn real in v2.2.1)** — Per-runtime Host/Agent JWTs, capability grants with constraints (`max`, `min`, `in`, `not_in`), approval flows (device authorization / CIBA-style), real WebAuthn attestation/assertion for high-risk registration (opt-in via `asap-protocol[webauthn]`).
34
+ - **Streaming & wire protocol (v2.2)** — `POST /asap/stream` (SSE / `TaskStream`), JSON-RPC 2.0 batch on `POST /asap`, `ASAP-Version` negotiation, tamper-evident audit logging, Compliance Harness v2.
33
35
  - **Economics** — Usage metering, delegation tokens, SLA framework with breach alerts.
34
36
 
35
37
  ### 🆕 Framework Ecosystem
36
- ASAP is built for interoperability. Seamlessly integrate your agents into **OpenClaw**,**LangChain**, **CrewAI** and **LlamaIndex** workflows using our growing library of native adapters and standardized tool-calling schemas.
38
+ ASAP is built for interoperability. Seamlessly integrate your agents into **OpenClaw**, **LangChain**, **CrewAI** and **LlamaIndex** workflows using our growing library of native adapters and standardized tool-calling schemas.
37
39
 
38
40
  ## Installation
39
41
 
@@ -49,7 +51,7 @@ Or with pip:
49
51
  pip install asap-protocol
50
52
  ```
51
53
 
52
- 📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)**. For reproducible environments, prefer `uv` when possible.
54
+ 📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)** for reproducible environments, prefer `uv` when possible.
53
55
 
54
56
  ## Quick Start
55
57
 
@@ -88,10 +90,6 @@ pytest --asap-agent-url https://your-agent.example.com -m asap_compliance
88
90
 
89
91
  See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/compliance-testing.md) for handshake, schema and state machine validation.
90
92
 
91
- ## Benchmarks
92
-
93
- [Benchmark Results](https://github.com/adriannoes/asap-protocol/blob/main/benchmarks/RESULTS.md): load (1,500+ RPS), stress, memory.
94
-
95
93
  ## Documentation
96
94
 
97
95
  **Learn**
@@ -107,7 +105,7 @@ See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/
107
105
  - [Observability](https://github.com/adriannoes/asap-protocol/blob/main/docs/observability.md) | [Testing](https://github.com/adriannoes/asap-protocol/blob/main/docs/testing.md)
108
106
 
109
107
  **Decisions & Operations**
110
- - [ADRs](https://github.com/adriannoes/asap-protocol/tree/main/docs/adr) — 17 Architecture Decision Records
108
+ - [ADRs](https://github.com/adriannoes/asap-protocol/tree/main/docs/adr) — 19 Architecture Decision Records
111
109
  - [Tech Stack](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/dev-planning/architecture/tech-stack-decisions.md) — Rationale for Python, Pydantic, Next.js choices
112
110
  - [Deployment](https://github.com/adriannoes/asap-protocol/blob/main/docs/deployment/kubernetes.md) | [Troubleshooting](https://github.com/adriannoes/asap-protocol/blob/main/docs/troubleshooting.md)
113
111
 
@@ -116,40 +114,42 @@ See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/
116
114
 
117
115
  ## CLI
118
116
 
119
- **v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite), and Webhooks. **v1.2** adds Ed25519 signed manifests, trust levels, optional mTLS and the [Compliance Harness](https://github.com/adriannoes/asap-protocol/blob/main/asap-compliance/README.md). **v1.3** adds delegation commands (`asap delegation create`, `asap delegation revoke`).
120
-
121
117
  ```bash
122
118
  asap --version # Show version
123
119
  asap list-schemas # List all available schemas
124
120
  asap export-schemas # Export JSON schemas to file
125
- asap keys generate -o key.pem # Generate Ed25519 keypair (v1.2)
126
- asap manifest sign -k key.pem manifest.json # Sign manifest (v1.2)
127
- asap manifest verify signed.json # Verify signature (v1.2)
128
- asap manifest info signed.json # Show trust level (v1.2)
121
+ asap compliance-check --url https://agent.example # Compliance Harness v2 (HTTP(S))
122
+ asap audit export --store memory --format json # Export audit log (stdout)
123
+ asap keys generate -o key.pem # Generate Ed25519 keypair
124
+ asap manifest sign -k key.pem manifest.json # Sign manifest
125
+ asap manifest verify signed.json # Verify signature
126
+ asap manifest info signed.json # Show trust level
129
127
  ```
130
128
 
131
- See [CLI reference](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/identity-signing.md) or run `asap --help`.
129
+ See the [CLI reference](docs/cli.md) for `compliance-check` and `audit export` flag details, the [CI compliance gate](docs/ci-compliance.md) for wiring `compliance-check` into GitHub Actions, the [audit export guide](docs/audit.md), [Identity Signing](docs/guides/identity-signing.md), or run `asap --help` for the full command surface.
132
130
 
133
- See [docs index](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md#v11-features-api-reference--guides) and [Identity Signing](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/identity-signing.md) for details.
131
+ ## Version History
134
132
 
135
- ## What's Next? 🔭
133
+ - **v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite) and Webhooks.
134
+ - **v1.2** adds Ed25519 signed manifests, trust levels, optional mTLS and the [Compliance Harness](https://github.com/adriannoes/asap-protocol/blob/main/asap-compliance/README.md).
135
+ - **v1.3** adds delegation commands (`asap delegation create`, `asap delegation revoke`).
136
+ - **v2.0** adds the Lean Marketplace Web App (Next.js), Lite Registry on GitHub Pages, IssueOps registration, OAuth sign-in for developers, and Verified Badge flow.
137
+ - **v2.1** adds the Consumer SDK (`MarketClient`), optional framework extras (LangChain, CrewAI, LlamaIndex, SmolAgents, OpenClaw, …), and registry UX improvements on PyPI.
138
+ - **v2.1.1** is a patch release: JWT algorithm allowlist, SQLite async bridging, optional Redis-backed rate limits, SSRF hardening in the web app, and related reliability fixes (see [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md)).
139
+ - **v2.2** adds per-runtime agent identity, capability-based authorization, SSE streaming (`POST /asap/stream`), `ASAP-Version` negotiation, JSON-RPC batch requests, tamper-evident audit logging, async state stores, and Compliance Harness v2.
140
+ - **v2.2.1** closes the SELF-002 follow-up with **real WebAuthn** attestation/assertion via the opt-in `asap-protocol[webauthn]` extra, ships the `asap compliance-check` and `asap audit export` CLIs, promotes the client SDK `ResolvedAgent.run()` to a typed contract (raises `TypeError` on protocol violation), introduces the `asap.economics.audit.AuditChainBroken` exception for scripted tamper handling, and pins upper bounds on security-sensitive deps (`cryptography`, `authlib`, `joserfc`, `pyjwt`, `webauthn`, `pydantic`) — see [dependency policy](https://github.com/adriannoes/asap-protocol/blob/main/SECURITY.md#dependency-policy) and full notes in the [Changelog](https://github.com/adriannoes/asap-protocol/blob/main/CHANGELOG.md).
136
141
 
137
- ASAP is evolving toward an **Agent Marketplace** — an open ecosystem where AI agents discover, trust and collaborate autonomously:
142
+ For a structured index of per-version features, see the [docs index](https://github.com/adriannoes/asap-protocol/blob/main/docs/index.md#v11-features-api-reference--guides).
138
143
 
139
- - **v1.1**: Identity Layer (OAuth2, WebSocket, Discovery) ✅
140
- - **v1.2**: Trust Layer (Signed Manifests, Compliance Harness, mTLS) ✅
141
- - **v1.3**: Economics Layer (Metering, SLAs, Delegation) ✅
142
- - **v1.4**: Resilience & Scale (Type Safety, Storage Pagination) ✅
143
- - **v2.0**: Agent Marketplace with Web App (Lean Registry, Verified Badge, IssueOps) ✅
144
- - **v2.1**: PyPI distribution, Consumer SDK, framework integrations (LangChain, CrewAI, LlamaIndex, SmolAgents, OpenClaw) ✅
144
+ ## 🔭 What's Next?
145
145
 
146
- See our [vision document](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/product-specs/strategy/vision-agent-marketplace.md) for the full roadmap.
146
+ ASAP is evolving toward an **Agent Marketplace** — an open ecosystem where AI agents discover, trust and collaborate autonomously. See our [vision document](https://github.com/adriannoes/asap-protocol/blob/main/.cursor/product-specs/strategy/vision-agent-marketplace.md) for the full roadmap.
147
147
 
148
148
  ## Contributing
149
149
 
150
- **Community feedback and contributions are essential** for ASAP Protocol's evolution.
150
+ **Community feedback and contributions are essential** for ASAP Protocol's evolution. We're working on improvements and your input helps shape the future of the protocol.
151
151
 
152
- We're working on improvements and your input helps shape the future of the protocol. Every contribution, from bug reports to feature suggestions, documentation improvements and code contributions, makes a real difference.
152
+ Every contribution, from bug reports to feature suggestions, documentation improvements and code contributions, makes a real difference.
153
153
 
154
154
  Check out our [contributing guidelines](https://github.com/adriannoes/asap-protocol/blob/main/CONTRIBUTING.md) to get started. It's easier than you think! 🚀
155
155
 
@@ -159,4 +159,4 @@ This project is licensed under the Apache 2.0 License - see the [license](https:
159
159
 
160
160
  ---
161
161
 
162
- **Built with [Cursor](https://cursor.com/)** using Composer 1.5, Claude Opus 4.6, Gemini 3.1 Pro and Kimi K2.5.
162
+ **Built with [Cursor](https://cursor.com/) and [Claude Code](https://claude.com/claude-code)** — primarily Claude Opus 4.7 (1M context) with Cursor Composer 1.5, Gemini 3.1 Pro, and Kimi K2.5 as collaborators.