asap-protocol 2.1.1__tar.gz → 2.2.0__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.
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/.gitignore +2 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/CHANGELOG.md +86 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/PKG-INFO +23 -33
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/README.md +17 -28
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/pyproject.toml +41 -5
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/__init__.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/__init__.py +30 -5
- asap_protocol-2.2.0/src/asap/auth/agent_jwt.py +420 -0
- asap_protocol-2.2.0/src/asap/auth/approval.py +398 -0
- asap_protocol-2.2.0/src/asap/auth/capabilities.py +282 -0
- asap_protocol-2.2.0/src/asap/auth/identity.py +217 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/introspection.py +1 -10
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/jwks.py +0 -6
- asap_protocol-2.2.0/src/asap/auth/lifecycle.py +67 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/middleware.py +7 -17
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/oauth2.py +1 -10
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/oidc.py +0 -9
- asap_protocol-2.2.0/src/asap/auth/self_auth.py +144 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/client/http_client.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/client/revocation.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/crypto/trust.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/discovery/dnssd.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/discovery/registry.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/discovery/validation.py +0 -6
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/__init__.py +13 -1
- asap_protocol-2.2.0/src/asap/economics/audit.py +334 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/delegation.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/sla.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/storage.py +2 -14
- asap_protocol-2.2.0/src/asap/errors.py +590 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/README.md +6 -0
- asap_protocol-2.2.0/src/asap/examples/a2h_approval.py +107 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/secure_agent.py +1 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/storage_backends.py +1 -1
- asap_protocol-2.2.0/src/asap/examples/streaming_agent.py +97 -0
- asap_protocol-2.2.0/src/asap/handlers/__init__.py +22 -0
- asap_protocol-2.2.0/src/asap/handlers/hitl.py +72 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/__init__.py +11 -0
- asap_protocol-2.2.0/src/asap/integrations/a2h.py +554 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/crewai.py +7 -2
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/llamaindex.py +10 -4
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/mcp/client.py +0 -14
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/mcp/server.py +9 -22
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/constants.py +5 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/entities.py +9 -6
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/enums.py +1 -4
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/payloads.py +33 -3
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/metrics.py +0 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/__init__.py +5 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/metering.py +42 -3
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/snapshot.py +67 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/stores/__init__.py +18 -7
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/stores/memory.py +69 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/stores/sqlite.py +139 -36
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/testing/__init__.py +10 -0
- asap_protocol-2.2.0/src/asap/testing/compliance.py +387 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/testing/mocks.py +0 -5
- asap_protocol-2.2.0/src/asap/transport/_auth_helpers.py +13 -0
- asap_protocol-2.2.0/src/asap/transport/agent_routes.py +760 -0
- asap_protocol-2.2.0/src/asap/transport/capability_routes.py +372 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/client.py +252 -80
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/executors.py +0 -9
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/handlers.py +123 -6
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/jsonrpc.py +6 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/middleware.py +70 -9
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/rate_limit.py +22 -1
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/server.py +597 -51
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/webhook.py +7 -3
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/websocket.py +76 -6
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/utils/sanitization.py +1 -7
- asap_protocol-2.1.1/.agents/rules/architecture-principles.md +0 -38
- asap_protocol-2.1.1/.agents/rules/frontend.md +0 -57
- asap_protocol-2.1.1/.agents/workflows/development.md +0 -87
- asap_protocol-2.1.1/.cursor/README.md +0 -33
- asap_protocol-2.1.1/.cursor/commands/create-prd.md +0 -60
- asap_protocol-2.1.1/.cursor/commands/generate-tasks.md +0 -125
- asap_protocol-2.1.1/.cursor/commands/reflect.md +0 -11
- asap_protocol-2.1.1/.cursor/commands/remove-ai-slop.md +0 -17
- asap_protocol-2.1.1/.cursor/commands/security-pr-review.md +0 -188
- asap_protocol-2.1.1/.cursor/commands/task-list-development.md +0 -87
- asap_protocol-2.1.1/.cursor/commands/test-coverage-review.md +0 -47
- asap_protocol-2.1.1/.cursor/design/landing-reference.png +0 -0
- asap_protocol-2.1.1/.cursor/design/mobile-strategy.md +0 -39
- asap_protocol-2.1.1/.cursor/dev-planning/architecture/rate-limiting.md +0 -411
- asap_protocol-2.1.1/.cursor/dev-planning/architecture/tech-stack-decisions.md +0 -313
- asap_protocol-2.1.1/.cursor/dev-planning/checkpoints.md +0 -187
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/security-review-report.md +0 -828
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/pre-pypi-release-review.md +0 -582
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/sprint3-code-review.md +0 -674
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/sprint4-code-review.md +0 -77
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.1.0/sprint5-code-review.md +0 -382
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s1-code-review.md +0 -73
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s2-code-review.md +0 -94
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s2.5-code-review.md +0 -444
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s3-code-review.md +0 -284
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s4-code-review.md +0 -99
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v0.5.0/sprint-s5-code-review.md +0 -353
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-23-security-review.md +0 -531
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-25-performance-optimizations-review.md +0 -725
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-26-review.md +0 -92
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-27-review.md +0 -85
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-30-review.md +0 -63
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-31-observability-review.md +0 -656
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-32-review.md +0 -125
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-33-review.md +0 -42
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.0.0/PR-34-review.md +0 -721
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-35-review.md +0 -200
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-36-review.md +0 -81
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-37-review.md +0 -233
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-38-review.md +0 -155
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-39-review.md +0 -102
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.1.0/PR-40-review.md +0 -285
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.2.0/PR-42-REVIEW.md +0 -35
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.2.0/PR-43-REVIEW.md +0 -48
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.2.0/PR-45-REVIEW.md +0 -51
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.3.0/PR-48-REVIEW.md +0 -419
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.3.0/PR-49-REVIEW.md +0 -175
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.3.0/PR-50-REVIEW.md +0 -262
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.4.0/PR-51-REVIEW.md +0 -42
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v1.4.0/PR-53-REVIEW.md +0 -217
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.0.0/PR-57-REVIEW.md +0 -399
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.0.0/PR-58-REVIEW.md +0 -518
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.0.0/PR-61-REVIEW.md +0 -297
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-71-REVIEW.md +0 -173
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-72-REVIEW.md +0 -66
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-73-REVIEW.md +0 -134
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/PR-76-REVIEW.md +0 -176
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/pr-75-sprint-e4-registry-ux.md +0 -206
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.1.0/review-v2.0.md +0 -393
- asap_protocol-2.1.1/.cursor/dev-planning/code-review/v2.2.0/review-pr-82.md +0 -174
- asap_protocol-2.1.1/.cursor/dev-planning/lessons-learned/v1.0.0-retro.md +0 -61
- asap_protocol-2.1.1/.cursor/dev-planning/manual-release-testing.md +0 -52
- asap_protocol-2.1.1/.cursor/dev-planning/references/mcp-specs.md +0 -81
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/sprint-planning-v0.1.0.md +0 -240
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/tasks-prd-asap-implementation.md +0 -850
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/tasks-security-review-report.md +0 -343
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.1.0/tasks-sprint3-improvements.md +0 -371
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-roadmap.md +0 -195
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s1-detailed.md +0 -231
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s2-detailed.md +0 -253
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s2.5-detailed.md +0 -174
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s3-detailed.md +0 -146
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s4-detailed.md +0 -108
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v0.5.0/tasks-v0.5.0-s5-detailed.md +0 -102
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-docs-detailed.md +0 -244
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-dx-detailed.md +0 -306
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-observability-detailed.md +0 -201
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-performance-detailed.md +0 -251
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-release-detailed.md +0 -249
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-roadmap.md +0 -450
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-security-detailed.md +0 -230
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/tasks-v1.0.0-testing-detailed.md +0 -262
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.0.0/upstream-slowapi-deprecation.md +0 -55
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/backlog-v1.1.md +0 -139
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S1-oauth2-foundation.md +0 -325
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S2-wellknown-discovery.md +0 -419
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S2.5-state-storage.md +0 -393
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S3-websocket-binding.md +0 -396
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/sprint-S4-webhooks-release.md +0 -417
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.1.0/tasks-v1.1.0-roadmap.md +0 -284
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/deferred/DEFERRED-sprint-T3-registry-core.md +0 -206
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/deferred/DEFERRED-sprint-T4-registry-features.md +0 -184
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/deferred/DEFERRED-sprint-T6-deepeval-release.md +0 -208
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T1-ed25519-pki.md +0 -208
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T2-trust-levels-mtls.md +0 -213
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T3-compliance-harness.md +0 -199
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/sprint-T4-testing-release.md +0 -127
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.0/tasks-v1.2.0-roadmap.md +0 -200
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.1/plan-security-remediation-pre-v1.3.md +0 -351
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.2.1/v1.2.0-security-review.md +0 -146
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/deferred/DEFERRED-sprint-E4-audit-release.md +0 -215
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/sprint-E1-usage-metering.md +0 -230
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/sprint-E2-delegation-tokens.md +0 -230
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/sprint-E3-sla-framework.md +0 -358
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.3.0/tasks-v1.3.0-roadmap.md +0 -208
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.4.0/sprint-S1-type-safety.md +0 -78
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.4.0/sprint-S2-pagination.md +0 -65
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v1.4.0/tasks-v1.4.0-roadmap.md +0 -27
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/deferred/DEFERRED-sprint-M1-production-registry.md +0 -112
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/deferred/DEFERRED-sprint-M2-service-integration.md +0 -99
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/launch-checklist-v2.0.md +0 -43
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/pre-M2-validation-guide.md +0 -234
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M1-webapp-foundation.md +0 -254
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M2-webapp-features.md +0 -177
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M3-developer-experience.md +0 -266
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/sprint-M4-launch-prep.md +0 -241
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/tasks-v2.0.0-roadmap.md +0 -228
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.0.0/v2.0-marketplace-usage-foundation.md +0 -238
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E1-trust-revocation.md +0 -150
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E2-consumer-sdk.md +0 -139
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E3-framework-integrations.md +0 -161
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E4-registry-ux.md +0 -169
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E5-openclaw-integration.md +0 -121
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/sprint-E6-pypi-distribution.md +0 -99
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.1.0/tasks-v2.1.0-roadmap.md +0 -187
- asap_protocol-2.1.1/.cursor/dev-planning/tasks/v2.2.0/tasks-v2.2.0-tech-debt.md +0 -182
- asap_protocol-2.1.1/.cursor/dev-planning/templates/task-template.md +0 -171
- asap_protocol-2.1.1/.cursor/product-specs/README.md +0 -46
- asap_protocol-2.1.1/.cursor/product-specs/decision-records/01-architecture.md +0 -251
- asap_protocol-2.1.1/.cursor/product-specs/decision-records/02-protocol.md +0 -196
- asap_protocol-2.1.1/.cursor/product-specs/decision-records/03-security.md +0 -141
- asap_protocol-2.1.1/.cursor/product-specs/decision-records/04-technology.md +0 -302
- asap_protocol-2.1.1/.cursor/product-specs/decision-records/05-product-strategy.md +0 -379
- asap_protocol-2.1.1/.cursor/product-specs/decision-records/README.md +0 -62
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-asap-implementation.md +0 -338
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-review-schedule.md +0 -226
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1-roadmap.md +0 -1403
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.1-roadmap.md +0 -418
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.2-roadmap.md +0 -287
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.3-roadmap.md +0 -226
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v1.4-roadmap.md +0 -92
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v2.0-roadmap.md +0 -261
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v2.1-ecosystem.md +0 -263
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v2.2-scale.md +0 -195
- asap_protocol-2.1.1/.cursor/product-specs/prd/prd-v3.0-economy.md +0 -238
- asap_protocol-2.1.1/.cursor/rules/architecture-principles.mdc +0 -38
- asap_protocol-2.1.1/.cursor/rules/frontend-best-practices.mdc +0 -61
- asap_protocol-2.1.1/.cursor/rules/git-commits.mdc +0 -60
- asap_protocol-2.1.1/.cursor/rules/python-best-practices.mdc +0 -42
- asap_protocol-2.1.1/.cursor/rules/security-standards.mdc +0 -43
- asap_protocol-2.1.1/.cursor/rules/testing-rate-limiting.mdc +0 -157
- asap_protocol-2.1.1/.cursor/rules/testing-standards.mdc +0 -38
- asap_protocol-2.1.1/.cursor/settings.json +0 -7
- asap_protocol-2.1.1/.cursor/skills/code-quality-review/SKILL.md +0 -37
- asap_protocol-2.1.1/.cursor/skills/security-review/SKILL.md +0 -34
- asap_protocol-2.1.1/.cursor/skills/skill-creator/SKILL.md +0 -32
- asap_protocol-2.1.1/.cursor/skills/skill-creator/scripts/init_skill.py +0 -62
- asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
- asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/feature_request.yml +0 -44
- asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/register_agent.yml +0 -123
- asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/remove_agent.yml +0 -29
- asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/request_verification.yml +0 -57
- asap_protocol-2.1.1/.github/ISSUE_TEMPLATE/revoke_agent.yml +0 -38
- asap_protocol-2.1.1/.github/PULL_REQUEST_TEMPLATE.md +0 -38
- asap_protocol-2.1.1/.github/actions/setup-python/action.yml +0 -20
- asap_protocol-2.1.1/.github/assets/asap-protocol-banner.png +0 -0
- asap_protocol-2.1.1/.github/dependabot.yml +0 -33
- asap_protocol-2.1.1/.github/workflows/ci.yml +0 -156
- asap_protocol-2.1.1/.github/workflows/docs.yml +0 -42
- asap_protocol-2.1.1/.github/workflows/register-agent.yml +0 -100
- asap_protocol-2.1.1/.github/workflows/release.yml +0 -170
- asap_protocol-2.1.1/.github/workflows/remove-agent.yml +0 -100
- asap_protocol-2.1.1/.github/workflows/revoke-agent.yml +0 -113
- asap_protocol-2.1.1/.github/workflows/validate-registry.yml +0 -29
- asap_protocol-2.1.1/AGENTS.md +0 -65
- asap_protocol-2.1.1/CODE_OF_CONDUCT.md +0 -18
- asap_protocol-2.1.1/CONTRIBUTING.md +0 -151
- asap_protocol-2.1.1/Dockerfile +0 -98
- asap_protocol-2.1.1/SECURITY.md +0 -97
- asap_protocol-2.1.1/apps/web/.gitignore +0 -49
- asap_protocol-2.1.1/apps/web/.prettierrc +0 -8
- asap_protocol-2.1.1/apps/web/README.md +0 -36
- asap_protocol-2.1.1/apps/web/components.json +0 -23
- asap_protocol-2.1.1/apps/web/eslint.config.mjs +0 -22
- asap_protocol-2.1.1/apps/web/next.config.ts +0 -44
- asap_protocol-2.1.1/apps/web/package-lock.json +0 -16978
- asap_protocol-2.1.1/apps/web/package.json +0 -68
- asap_protocol-2.1.1/apps/web/playwright.config.ts +0 -79
- asap_protocol-2.1.1/apps/web/postcss.config.mjs +0 -7
- asap_protocol-2.1.1/apps/web/public/file.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/globe.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/anthropic.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/crewai.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/huggingface.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/langchain.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/llamaindex.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/openclaw.svg +0 -242
- asap_protocol-2.1.1/apps/web/public/icons/pydantic.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/icons/vercel.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/next.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/registry.json +0 -3082
- asap_protocol-2.1.1/apps/web/public/vercel.svg +0 -1
- asap_protocol-2.1.1/apps/web/public/window.svg +0 -1
- asap_protocol-2.1.1/apps/web/scripts/validate-github-pr-flow.mjs +0 -129
- asap_protocol-2.1.1/apps/web/scripts/validate-registry-fetch.mjs +0 -32
- asap_protocol-2.1.1/apps/web/src/app/agents/[id]/agent-detail-client.tsx +0 -239
- asap_protocol-2.1.1/apps/web/src/app/agents/[id]/error.tsx +0 -24
- asap_protocol-2.1.1/apps/web/src/app/agents/[id]/opengraph-image.tsx +0 -188
- asap_protocol-2.1.1/apps/web/src/app/agents/[id]/page.tsx +0 -58
- asap_protocol-2.1.1/apps/web/src/app/agents/[id]/usage-snippets.tsx +0 -217
- asap_protocol-2.1.1/apps/web/src/app/api/auth/[...nextauth]/route.ts +0 -3
- asap_protocol-2.1.1/apps/web/src/app/api/debug/token/route.ts +0 -35
- asap_protocol-2.1.1/apps/web/src/app/api/fixtures/registry/route.ts +0 -48
- asap_protocol-2.1.1/apps/web/src/app/api/health-check/route.ts +0 -46
- asap_protocol-2.1.1/apps/web/src/app/api/proxy/check/__tests__/route.test.ts +0 -100
- asap_protocol-2.1.1/apps/web/src/app/api/proxy/check/route.ts +0 -60
- asap_protocol-2.1.1/apps/web/src/app/apple-icon.png +0 -0
- asap_protocol-2.1.1/apps/web/src/app/browse/__tests__/browse-content.test.tsx +0 -118
- asap_protocol-2.1.1/apps/web/src/app/browse/agent-card-skeleton.tsx +0 -29
- asap_protocol-2.1.1/apps/web/src/app/browse/browse-content.tsx +0 -419
- asap_protocol-2.1.1/apps/web/src/app/browse/error.tsx +0 -24
- asap_protocol-2.1.1/apps/web/src/app/browse/load-test/page.tsx +0 -73
- asap_protocol-2.1.1/apps/web/src/app/browse/loading.tsx +0 -45
- asap_protocol-2.1.1/apps/web/src/app/browse/page.tsx +0 -34
- asap_protocol-2.1.1/apps/web/src/app/dashboard/__tests__/dashboard-actions.test.ts +0 -121
- asap_protocol-2.1.1/apps/web/src/app/dashboard/actions.ts +0 -93
- asap_protocol-2.1.1/apps/web/src/app/dashboard/dashboard-client.tsx +0 -244
- asap_protocol-2.1.1/apps/web/src/app/dashboard/error.tsx +0 -24
- asap_protocol-2.1.1/apps/web/src/app/dashboard/page.tsx +0 -38
- asap_protocol-2.1.1/apps/web/src/app/dashboard/register/__tests__/register-actions.test.ts +0 -152
- asap_protocol-2.1.1/apps/web/src/app/dashboard/register/__tests__/register-form.test.tsx +0 -218
- asap_protocol-2.1.1/apps/web/src/app/dashboard/register/actions.ts +0 -78
- asap_protocol-2.1.1/apps/web/src/app/dashboard/register/page.tsx +0 -31
- asap_protocol-2.1.1/apps/web/src/app/dashboard/register/register-form.tsx +0 -324
- asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/__tests__/verify-actions.test.ts +0 -77
- asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/__tests__/verify-form.test.tsx +0 -220
- asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/actions.ts +0 -42
- asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/page.tsx +0 -46
- asap_protocol-2.1.1/apps/web/src/app/dashboard/verify/verify-form.tsx +0 -216
- asap_protocol-2.1.1/apps/web/src/app/demos/page.tsx +0 -223
- asap_protocol-2.1.1/apps/web/src/app/developer-experience/page.tsx +0 -206
- asap_protocol-2.1.1/apps/web/src/app/docs/register/page.tsx +0 -156
- asap_protocol-2.1.1/apps/web/src/app/favicon.ico +0 -0
- asap_protocol-2.1.1/apps/web/src/app/features/[slug]/page.tsx +0 -191
- asap_protocol-2.1.1/apps/web/src/app/globals.css +0 -126
- asap_protocol-2.1.1/apps/web/src/app/icon.png +0 -0
- asap_protocol-2.1.1/apps/web/src/app/layout.tsx +0 -46
- asap_protocol-2.1.1/apps/web/src/app/legal/privacy-policy/page.tsx +0 -26
- asap_protocol-2.1.1/apps/web/src/app/legal/terms-of-service/page.tsx +0 -26
- asap_protocol-2.1.1/apps/web/src/app/page.tsx +0 -32
- asap_protocol-2.1.1/apps/web/src/app/sitemap.ts +0 -49
- asap_protocol-2.1.1/apps/web/src/app/test-register/page.tsx +0 -28
- asap_protocol-2.1.1/apps/web/src/app.test.tsx +0 -7
- asap_protocol-2.1.1/apps/web/src/auth.ts +0 -60
- asap_protocol-2.1.1/apps/web/src/components/agent/agent-status-badge.tsx +0 -83
- asap_protocol-2.1.1/apps/web/src/components/landing/FeaturedAgents.tsx +0 -96
- asap_protocol-2.1.1/apps/web/src/components/landing/FeaturesSection.tsx +0 -84
- asap_protocol-2.1.1/apps/web/src/components/landing/HeroSection.tsx +0 -136
- asap_protocol-2.1.1/apps/web/src/components/landing/HowItWorksSection.tsx +0 -76
- asap_protocol-2.1.1/apps/web/src/components/layout/Footer.tsx +0 -80
- asap_protocol-2.1.1/apps/web/src/components/layout/Header.tsx +0 -122
- asap_protocol-2.1.1/apps/web/src/components/theme-provider.tsx +0 -11
- asap_protocol-2.1.1/apps/web/src/components/ui/alert.tsx +0 -66
- asap_protocol-2.1.1/apps/web/src/components/ui/avatar.tsx +0 -109
- asap_protocol-2.1.1/apps/web/src/components/ui/badge.tsx +0 -46
- asap_protocol-2.1.1/apps/web/src/components/ui/button.tsx +0 -62
- asap_protocol-2.1.1/apps/web/src/components/ui/card.tsx +0 -75
- asap_protocol-2.1.1/apps/web/src/components/ui/carousel.tsx +0 -230
- asap_protocol-2.1.1/apps/web/src/components/ui/checkbox.tsx +0 -32
- asap_protocol-2.1.1/apps/web/src/components/ui/command.tsx +0 -161
- asap_protocol-2.1.1/apps/web/src/components/ui/dialog.tsx +0 -144
- asap_protocol-2.1.1/apps/web/src/components/ui/dropdown-menu.tsx +0 -257
- asap_protocol-2.1.1/apps/web/src/components/ui/form.tsx +0 -167
- asap_protocol-2.1.1/apps/web/src/components/ui/input.tsx +0 -21
- asap_protocol-2.1.1/apps/web/src/components/ui/label.tsx +0 -24
- asap_protocol-2.1.1/apps/web/src/components/ui/navigation-menu.tsx +0 -168
- asap_protocol-2.1.1/apps/web/src/components/ui/scroll-area.tsx +0 -56
- asap_protocol-2.1.1/apps/web/src/components/ui/select.tsx +0 -190
- asap_protocol-2.1.1/apps/web/src/components/ui/separator.tsx +0 -28
- asap_protocol-2.1.1/apps/web/src/components/ui/sheet.tsx +0 -143
- asap_protocol-2.1.1/apps/web/src/components/ui/skeleton.tsx +0 -13
- asap_protocol-2.1.1/apps/web/src/components/ui/tabs.tsx +0 -91
- asap_protocol-2.1.1/apps/web/src/components/ui/textarea.tsx +0 -18
- asap_protocol-2.1.1/apps/web/src/lib/github-issues.test.ts +0 -81
- asap_protocol-2.1.1/apps/web/src/lib/github-issues.ts +0 -76
- asap_protocol-2.1.1/apps/web/src/lib/rate-limit.ts +0 -84
- asap_protocol-2.1.1/apps/web/src/lib/register-schema.ts +0 -35
- asap_protocol-2.1.1/apps/web/src/lib/registry-schema.ts +0 -38
- asap_protocol-2.1.1/apps/web/src/lib/registry.ts +0 -117
- asap_protocol-2.1.1/apps/web/src/lib/url-validator-server.ts +0 -75
- asap_protocol-2.1.1/apps/web/src/lib/url-validator.test.ts +0 -148
- asap_protocol-2.1.1/apps/web/src/lib/url-validator.ts +0 -79
- asap_protocol-2.1.1/apps/web/src/lib/utils.ts +0 -6
- asap_protocol-2.1.1/apps/web/src/proxy.ts +0 -38
- asap_protocol-2.1.1/apps/web/src/types/next-auth.d.ts +0 -31
- asap_protocol-2.1.1/apps/web/src/types/protocol.d.ts +0 -1807
- asap_protocol-2.1.1/apps/web/src/types/registry.d.ts +0 -22
- asap_protocol-2.1.1/apps/web/tests/browse.spec.ts +0 -24
- asap_protocol-2.1.1/apps/web/tests/load/browse-500.spec.ts +0 -71
- asap_protocol-2.1.1/apps/web/tsconfig.json +0 -34
- asap_protocol-2.1.1/apps/web/vitest.config.ts +0 -19
- asap_protocol-2.1.1/apps/web/vitest.setup.ts +0 -10
- asap_protocol-2.1.1/asap-compliance/README.md +0 -69
- asap_protocol-2.1.1/asap-compliance/asap_compliance/__init__.py +0 -7
- asap_protocol-2.1.1/asap-compliance/asap_compliance/config.py +0 -22
- asap_protocol-2.1.1/asap-compliance/asap_compliance/harness.py +0 -32
- asap_protocol-2.1.1/asap-compliance/asap_compliance/pytest_plugin.py +0 -52
- asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/__init__.py +0 -43
- asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/handshake.py +0 -336
- asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/schema.py +0 -285
- asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/sla.py +0 -252
- asap_protocol-2.1.1/asap-compliance/asap_compliance/validators/state.py +0 -230
- asap_protocol-2.1.1/asap-compliance/pyproject.toml +0 -58
- asap_protocol-2.1.1/asap-compliance/tests/__init__.py +0 -1
- asap_protocol-2.1.1/asap-compliance/tests/conftest.py +0 -55
- asap_protocol-2.1.1/asap-compliance/tests/test_handshake.py +0 -296
- asap_protocol-2.1.1/asap-compliance/tests/test_plugin.py +0 -26
- asap_protocol-2.1.1/asap-compliance/tests/test_schema.py +0 -260
- asap_protocol-2.1.1/asap-compliance/tests/test_sla.py +0 -105
- asap_protocol-2.1.1/asap-compliance/tests/test_state.py +0 -99
- asap_protocol-2.1.1/asap-compliance/tests/test_state_integration.py +0 -96
- asap_protocol-2.1.1/asap-compliance/uv.lock +0 -1268
- asap_protocol-2.1.1/benchmarks/README.md +0 -391
- asap_protocol-2.1.1/benchmarks/RESULTS.md +0 -220
- asap_protocol-2.1.1/benchmarks/__init__.py +0 -14
- asap_protocol-2.1.1/benchmarks/benchmark_crypto.py +0 -129
- asap_protocol-2.1.1/benchmarks/benchmark_models.py +0 -288
- asap_protocol-2.1.1/benchmarks/benchmark_transport.py +0 -806
- asap_protocol-2.1.1/benchmarks/conftest.py +0 -86
- asap_protocol-2.1.1/benchmarks/load_test.py +0 -451
- asap_protocol-2.1.1/benchmarks/memory_test.py +0 -504
- asap_protocol-2.1.1/benchmarks/stress_test.py +0 -507
- asap_protocol-2.1.1/docs/adr/ADR-001-ulid-for-id-generation.md +0 -60
- asap_protocol-2.1.1/docs/adr/ADR-002-async-first-api-design.md +0 -52
- asap_protocol-2.1.1/docs/adr/ADR-003-jsonrpc20-binding.md +0 -58
- asap_protocol-2.1.1/docs/adr/ADR-004-pydantic-for-models.md +0 -58
- asap_protocol-2.1.1/docs/adr/ADR-005-state-machine-design.md +0 -53
- asap_protocol-2.1.1/docs/adr/ADR-006-security-defaults.md +0 -51
- asap_protocol-2.1.1/docs/adr/ADR-007-fastapi-for-server.md +0 -59
- asap_protocol-2.1.1/docs/adr/ADR-008-httpx-for-client.md +0 -59
- asap_protocol-2.1.1/docs/adr/ADR-009-snapshot-vs-event-sourced.md +0 -59
- asap_protocol-2.1.1/docs/adr/ADR-010-python-313-requirement.md +0 -52
- asap_protocol-2.1.1/docs/adr/ADR-011-per-sender-rate-limiting.md +0 -53
- asap_protocol-2.1.1/docs/adr/ADR-012-error-taxonomy.md +0 -53
- asap_protocol-2.1.1/docs/adr/ADR-013-mcp-integration-approach.md +0 -53
- asap_protocol-2.1.1/docs/adr/ADR-014-testing-strategy.md +0 -52
- asap_protocol-2.1.1/docs/adr/ADR-015-observability-design.md +0 -53
- asap_protocol-2.1.1/docs/adr/ADR-016-versioning-policy.md +0 -52
- asap_protocol-2.1.1/docs/adr/ADR-017-failure-injection-strategy.md +0 -58
- asap_protocol-2.1.1/docs/adr/README.md +0 -42
- asap_protocol-2.1.1/docs/adr/template.md +0 -51
- asap_protocol-2.1.1/docs/api-reference.md +0 -45
- asap_protocol-2.1.1/docs/best-practices/agent-failover-migration.md +0 -284
- asap_protocol-2.1.1/docs/deployment/kubernetes.md +0 -161
- asap_protocol-2.1.1/docs/error-handling.md +0 -376
- asap_protocol-2.1.1/docs/guides/compliance-testing.md +0 -110
- asap_protocol-2.1.1/docs/guides/identity-signing.md +0 -124
- asap_protocol-2.1.1/docs/guides/migration-v1.1-to-v1.2.md +0 -96
- asap_protocol-2.1.1/docs/guides/openclaw-integration.md +0 -175
- asap_protocol-2.1.1/docs/guides/registry-verification-review.md +0 -77
- asap_protocol-2.1.1/docs/guides/vercel-ai-sdk.md +0 -186
- asap_protocol-2.1.1/docs/index.md +0 -99
- asap_protocol-2.1.1/docs/mcp-integration.md +0 -96
- asap_protocol-2.1.1/docs/metrics.md +0 -426
- asap_protocol-2.1.1/docs/migration.md +0 -650
- asap_protocol-2.1.1/docs/observability.md +0 -127
- asap_protocol-2.1.1/docs/raw-fetch.md +0 -142
- asap_protocol-2.1.1/docs/security/mtls.md +0 -137
- asap_protocol-2.1.1/docs/security/v1.1-security-model.md +0 -167
- asap_protocol-2.1.1/docs/security.md +0 -1314
- asap_protocol-2.1.1/docs/state-management.md +0 -561
- asap_protocol-2.1.1/docs/testing.md +0 -914
- asap_protocol-2.1.1/docs/transport.md +0 -661
- asap_protocol-2.1.1/docs/troubleshooting.md +0 -405
- asap_protocol-2.1.1/docs/tutorials/first-agent.md +0 -163
- asap_protocol-2.1.1/docs/tutorials/multi-agent.md +0 -253
- asap_protocol-2.1.1/docs/tutorials/production-checklist.md +0 -141
- asap_protocol-2.1.1/docs/tutorials/resilience.md +0 -255
- asap_protocol-2.1.1/docs/tutorials/stateful-workflows.md +0 -253
- asap_protocol-2.1.1/helm/asap-agent/Chart.yaml +0 -17
- asap_protocol-2.1.1/helm/asap-agent/README.md +0 -69
- asap_protocol-2.1.1/helm/asap-agent/templates/NOTES.txt +0 -16
- asap_protocol-2.1.1/helm/asap-agent/templates/_helpers.tpl +0 -24
- asap_protocol-2.1.1/helm/asap-agent/templates/deployment.yaml +0 -78
- asap_protocol-2.1.1/helm/asap-agent/templates/ingress.yaml +0 -41
- asap_protocol-2.1.1/helm/asap-agent/templates/service.yaml +0 -15
- asap_protocol-2.1.1/helm/asap-agent/values.yaml +0 -87
- asap_protocol-2.1.1/k8s/README.md +0 -40
- asap_protocol-2.1.1/k8s/deployment.yaml +0 -81
- asap_protocol-2.1.1/k8s/ingress.yaml +0 -37
- asap_protocol-2.1.1/k8s/service.yaml +0 -22
- asap_protocol-2.1.1/mkdocs.yml +0 -92
- asap_protocol-2.1.1/packages/asap-openclaw-skill/README.md +0 -63
- asap_protocol-2.1.1/packages/asap-openclaw-skill/package-lock.json +0 -1467
- asap_protocol-2.1.1/packages/asap-openclaw-skill/package.json +0 -42
- asap_protocol-2.1.1/packages/asap-openclaw-skill/src/index.test.ts +0 -273
- asap_protocol-2.1.1/packages/asap-openclaw-skill/src/index.ts +0 -201
- asap_protocol-2.1.1/packages/asap-openclaw-skill/tsconfig.json +0 -17
- asap_protocol-2.1.1/registry.json +0 -3082
- asap_protocol-2.1.1/revoked_agents.json +0 -4
- asap_protocol-2.1.1/scripts/__init__.py +0 -5
- asap_protocol-2.1.1/scripts/export_schemas.py +0 -26
- asap_protocol-2.1.1/scripts/generate_types.py +0 -78
- asap_protocol-2.1.1/scripts/lib/__init__.py +0 -0
- asap_protocol-2.1.1/scripts/lib/debug_id.py +0 -16
- asap_protocol-2.1.1/scripts/lib/registry_io.py +0 -92
- asap_protocol-2.1.1/scripts/observability-stack/README.md +0 -27
- asap_protocol-2.1.1/scripts/observability-stack/docker-compose.yml +0 -35
- asap_protocol-2.1.1/scripts/observability-stack/grafana/provisioning/dashboards/dashboards.yaml +0 -11
- asap_protocol-2.1.1/scripts/observability-stack/grafana/provisioning/datasources/datasources.yaml +0 -9
- asap_protocol-2.1.1/scripts/observability-stack/prometheus.yml +0 -13
- asap_protocol-2.1.1/scripts/process_registration.py +0 -318
- asap_protocol-2.1.1/scripts/process_removal.py +0 -163
- asap_protocol-2.1.1/scripts/process_revocation.py +0 -194
- asap_protocol-2.1.1/scripts/regenerate_signed_fixtures.py +0 -70
- asap_protocol-2.1.1/scripts/seed_registry.py +0 -189
- asap_protocol-2.1.1/scripts/test_k8s_deploy.sh +0 -84
- asap_protocol-2.1.1/scripts/validate_registry.py +0 -96
- asap_protocol-2.1.1/scripts/validate_revoked.py +0 -69
- asap_protocol-2.1.1/src/asap/errors.py +0 -342
- asap_protocol-2.1.1/tests/__init__.py +0 -1
- asap_protocol-2.1.1/tests/auth/__init__.py +0 -1
- asap_protocol-2.1.1/tests/auth/test_identity_binding.py +0 -309
- asap_protocol-2.1.1/tests/auth/test_introspection.py +0 -445
- asap_protocol-2.1.1/tests/auth/test_jwks.py +0 -279
- asap_protocol-2.1.1/tests/auth/test_middleware.py +0 -359
- asap_protocol-2.1.1/tests/auth/test_oauth2.py +0 -270
- asap_protocol-2.1.1/tests/auth/test_oidc.py +0 -235
- asap_protocol-2.1.1/tests/auth/test_scopes.py +0 -123
- asap_protocol-2.1.1/tests/auth/test_server_oauth2_integration.py +0 -130
- asap_protocol-2.1.1/tests/auth/test_utils.py +0 -29
- asap_protocol-2.1.1/tests/chaos/__init__.py +0 -17
- asap_protocol-2.1.1/tests/chaos/conftest.py +0 -75
- asap_protocol-2.1.1/tests/chaos/test_clock_skew.py +0 -738
- asap_protocol-2.1.1/tests/chaos/test_crashes.py +0 -506
- asap_protocol-2.1.1/tests/chaos/test_message_reliability.py +0 -722
- asap_protocol-2.1.1/tests/chaos/test_network_partition.py +0 -484
- asap_protocol-2.1.1/tests/chaos/test_websocket_stability.py +0 -707
- asap_protocol-2.1.1/tests/client/__init__.py +0 -1
- asap_protocol-2.1.1/tests/client/test_cache.py +0 -118
- asap_protocol-2.1.1/tests/client/test_market.py +0 -321
- asap_protocol-2.1.1/tests/client/test_revocation.py +0 -191
- asap_protocol-2.1.1/tests/client/test_trust.py +0 -104
- asap_protocol-2.1.1/tests/compatibility/__init__.py +0 -1
- asap_protocol-2.1.1/tests/compatibility/test_v0_1_0_compatibility.py +0 -95
- asap_protocol-2.1.1/tests/compatibility/test_v0_3_0_compatibility.py +0 -119
- asap_protocol-2.1.1/tests/conftest.py +0 -143
- asap_protocol-2.1.1/tests/contract/__init__.py +0 -9
- asap_protocol-2.1.1/tests/contract/conftest.py +0 -48
- asap_protocol-2.1.1/tests/contract/test_schema_evolution.py +0 -601
- asap_protocol-2.1.1/tests/contract/test_v0_1_to_v1_0.py +0 -669
- asap_protocol-2.1.1/tests/contract/test_v0_5_to_v1_0.py +0 -819
- asap_protocol-2.1.1/tests/contract/test_v1_0_to_v0_5.py +0 -891
- asap_protocol-2.1.1/tests/crypto/__init__.py +0 -1
- asap_protocol-2.1.1/tests/crypto/test_keys.py +0 -234
- asap_protocol-2.1.1/tests/crypto/test_signing.py +0 -386
- asap_protocol-2.1.1/tests/crypto/test_trust.py +0 -199
- asap_protocol-2.1.1/tests/discovery/__init__.py +0 -1
- asap_protocol-2.1.1/tests/discovery/test_discovery_client.py +0 -196
- asap_protocol-2.1.1/tests/discovery/test_dnssd.py +0 -576
- asap_protocol-2.1.1/tests/discovery/test_health.py +0 -168
- asap_protocol-2.1.1/tests/discovery/test_registry.py +0 -364
- asap_protocol-2.1.1/tests/discovery/test_validation.py +0 -329
- asap_protocol-2.1.1/tests/discovery/test_wellknown.py +0 -131
- asap_protocol-2.1.1/tests/e2e/__init__.py +0 -1
- asap_protocol-2.1.1/tests/e2e/test_two_agents.py +0 -48
- asap_protocol-2.1.1/tests/economics/__init__.py +0 -1
- asap_protocol-2.1.1/tests/economics/test_delegation.py +0 -850
- asap_protocol-2.1.1/tests/economics/test_delegation_storage.py +0 -464
- asap_protocol-2.1.1/tests/economics/test_metering.py +0 -229
- asap_protocol-2.1.1/tests/economics/test_metering_hooks.py +0 -592
- asap_protocol-2.1.1/tests/economics/test_sla.py +0 -493
- asap_protocol-2.1.1/tests/economics/test_sla_api.py +0 -449
- asap_protocol-2.1.1/tests/economics/test_sla_storage.py +0 -467
- asap_protocol-2.1.1/tests/economics/test_storage.py +0 -897
- asap_protocol-2.1.1/tests/economics/test_usage_api.py +0 -925
- asap_protocol-2.1.1/tests/examples/__init__.py +0 -1
- asap_protocol-2.1.1/tests/examples/test_agent_failover.py +0 -655
- asap_protocol-2.1.1/tests/examples/test_coordinator.py +0 -302
- asap_protocol-2.1.1/tests/examples/test_echo_agent.py +0 -141
- asap_protocol-2.1.1/tests/examples/test_examples_dx.py +0 -607
- asap_protocol-2.1.1/tests/examples/test_run_demo.py +0 -169
- asap_protocol-2.1.1/tests/examples/test_storage_backends.py +0 -85
- asap_protocol-2.1.1/tests/factories.py +0 -97
- asap_protocol-2.1.1/tests/fixtures/asap_ca/README.md +0 -13
- asap_protocol-2.1.1/tests/fixtures/asap_ca/ca_private.pem +0 -3
- asap_protocol-2.1.1/tests/fixtures/asap_ca/ca_public_b64.txt +0 -1
- asap_protocol-2.1.1/tests/fixtures/manifest_with_sla.json +0 -23
- asap_protocol-2.1.1/tests/fixtures/self_signed_manifest.json +0 -1
- asap_protocol-2.1.1/tests/fixtures/verified_manifest.json +0 -1
- asap_protocol-2.1.1/tests/fuzz/__init__.py +0 -1
- asap_protocol-2.1.1/tests/fuzz/test_envelope_fuzz.py +0 -147
- asap_protocol-2.1.1/tests/integration/test_cross_version_compatibility.py +0 -97
- asap_protocol-2.1.1/tests/integration/test_v1_3_cross_feature.py +0 -402
- asap_protocol-2.1.1/tests/integrations/__init__.py +0 -1
- asap_protocol-2.1.1/tests/integrations/test_crewai.py +0 -199
- asap_protocol-2.1.1/tests/integrations/test_integrations_init.py +0 -38
- asap_protocol-2.1.1/tests/integrations/test_langchain.py +0 -196
- asap_protocol-2.1.1/tests/integrations/test_llamaindex.py +0 -200
- asap_protocol-2.1.1/tests/integrations/test_openclaw.py +0 -334
- asap_protocol-2.1.1/tests/integrations/test_pydanticai.py +0 -163
- asap_protocol-2.1.1/tests/integrations/test_smolagents.py +0 -185
- asap_protocol-2.1.1/tests/integrations/test_vercel_ai.py +0 -242
- asap_protocol-2.1.1/tests/mcp/__init__.py +0 -1
- asap_protocol-2.1.1/tests/mcp/test_asap_integration.py +0 -540
- asap_protocol-2.1.1/tests/mcp/test_client.py +0 -359
- asap_protocol-2.1.1/tests/mcp/test_protocol.py +0 -119
- asap_protocol-2.1.1/tests/mcp/test_serve.py +0 -267
- asap_protocol-2.1.1/tests/mcp/test_server_client.py +0 -329
- asap_protocol-2.1.1/tests/mcp/test_server_runner.py +0 -132
- asap_protocol-2.1.1/tests/mcp/test_server_stdio.py +0 -129
- asap_protocol-2.1.1/tests/models/test_base.py +0 -114
- asap_protocol-2.1.1/tests/models/test_entities.py +0 -1277
- asap_protocol-2.1.1/tests/models/test_enums.py +0 -247
- asap_protocol-2.1.1/tests/models/test_envelope.py +0 -271
- asap_protocol-2.1.1/tests/models/test_ids.py +0 -101
- asap_protocol-2.1.1/tests/models/test_parts.py +0 -508
- asap_protocol-2.1.1/tests/models/test_payloads.py +0 -652
- asap_protocol-2.1.1/tests/models/test_payloads_validation.py +0 -84
- asap_protocol-2.1.1/tests/observability/__init__.py +0 -1
- asap_protocol-2.1.1/tests/observability/test_grafana_dashboards.py +0 -80
- asap_protocol-2.1.1/tests/observability/test_jaeger_tracing.py +0 -236
- asap_protocol-2.1.1/tests/observability/test_logging.py +0 -319
- asap_protocol-2.1.1/tests/observability/test_logging_integration.py +0 -255
- asap_protocol-2.1.1/tests/observability/test_metrics.py +0 -478
- asap_protocol-2.1.1/tests/observability/test_trace_parser.py +0 -441
- asap_protocol-2.1.1/tests/observability/test_trace_ui.py +0 -89
- asap_protocol-2.1.1/tests/observability/test_tracing.py +0 -376
- asap_protocol-2.1.1/tests/properties/__init__.py +0 -1
- asap_protocol-2.1.1/tests/properties/test_model_properties.py +0 -683
- asap_protocol-2.1.1/tests/properties/test_state_machine_properties.py +0 -72
- asap_protocol-2.1.1/tests/scripts/__init__.py +0 -1
- asap_protocol-2.1.1/tests/scripts/test_process_registration.py +0 -476
- asap_protocol-2.1.1/tests/scripts/test_process_removal.py +0 -94
- asap_protocol-2.1.1/tests/scripts/test_process_revocation.py +0 -150
- asap_protocol-2.1.1/tests/scripts/test_seed_registry.py +0 -89
- asap_protocol-2.1.1/tests/state/__init__.py +0 -1
- asap_protocol-2.1.1/tests/state/test_machine.py +0 -237
- asap_protocol-2.1.1/tests/state/test_metering.py +0 -279
- asap_protocol-2.1.1/tests/state/test_snapshot.py +0 -727
- asap_protocol-2.1.1/tests/state/test_sqlite_store.py +0 -398
- asap_protocol-2.1.1/tests/state/test_storage_factory.py +0 -111
- asap_protocol-2.1.1/tests/test_cli.py +0 -1171
- asap_protocol-2.1.1/tests/test_cli_edge_cases.py +0 -156
- asap_protocol-2.1.1/tests/test_docs_links.py +0 -131
- asap_protocol-2.1.1/tests/test_docs_troubleshooting_smoke.py +0 -64
- asap_protocol-2.1.1/tests/test_errors.py +0 -279
- asap_protocol-2.1.1/tests/test_schemas.py +0 -214
- asap_protocol-2.1.1/tests/test_version.py +0 -9
- asap_protocol-2.1.1/tests/testing/__init__.py +0 -3
- asap_protocol-2.1.1/tests/testing/test_assertions.py +0 -174
- asap_protocol-2.1.1/tests/testing/test_fixtures.py +0 -101
- asap_protocol-2.1.1/tests/testing/test_mocks.py +0 -178
- asap_protocol-2.1.1/tests/transport/__init__.py +0 -1
- asap_protocol-2.1.1/tests/transport/conftest.py +0 -249
- asap_protocol-2.1.1/tests/transport/e2e/__init__.py +0 -5
- asap_protocol-2.1.1/tests/transport/e2e/test_circuit_breaker_e2e.py +0 -281
- asap_protocol-2.1.1/tests/transport/e2e/test_full_agent_flow.py +0 -459
- asap_protocol-2.1.1/tests/transport/integration/__init__.py +0 -8
- asap_protocol-2.1.1/tests/transport/integration/test_batch_auth_pooling.py +0 -545
- asap_protocol-2.1.1/tests/transport/integration/test_compression_server.py +0 -642
- asap_protocol-2.1.1/tests/transport/integration/test_health_probes.py +0 -47
- asap_protocol-2.1.1/tests/transport/integration/test_lambda_negotiation.py +0 -173
- asap_protocol-2.1.1/tests/transport/integration/test_metrics_cardinality.py +0 -141
- asap_protocol-2.1.1/tests/transport/integration/test_rate_limiting.py +0 -354
- asap_protocol-2.1.1/tests/transport/integration/test_request_size_limits.py +0 -227
- asap_protocol-2.1.1/tests/transport/integration/test_server_core.py +0 -923
- asap_protocol-2.1.1/tests/transport/integration/test_thread_pool_bounds.py +0 -238
- asap_protocol-2.1.1/tests/transport/integration/test_validation_order.py +0 -272
- asap_protocol-2.1.1/tests/transport/integration/test_websocket_e2e.py +0 -161
- asap_protocol-2.1.1/tests/transport/test_ack_aware_client.py +0 -308
- asap_protocol-2.1.1/tests/transport/test_client.py +0 -1358
- asap_protocol-2.1.1/tests/transport/test_client_edge_cases.py +0 -318
- asap_protocol-2.1.1/tests/transport/test_client_signing.py +0 -127
- asap_protocol-2.1.1/tests/transport/test_delegation_api.py +0 -636
- asap_protocol-2.1.1/tests/transport/test_handlers.py +0 -1050
- asap_protocol-2.1.1/tests/transport/test_jsonrpc.py +0 -419
- asap_protocol-2.1.1/tests/transport/test_message_ack.py +0 -338
- asap_protocol-2.1.1/tests/transport/test_middleware.py +0 -826
- asap_protocol-2.1.1/tests/transport/test_mtls.py +0 -204
- asap_protocol-2.1.1/tests/transport/test_server.py +0 -949
- asap_protocol-2.1.1/tests/transport/test_server_edge_cases.py +0 -387
- asap_protocol-2.1.1/tests/transport/test_sla_websocket.py +0 -162
- asap_protocol-2.1.1/tests/transport/test_websocket.py +0 -2773
- asap_protocol-2.1.1/tests/transport/test_websocket_rate_limit.py +0 -173
- asap_protocol-2.1.1/tests/transport/unit/__init__.py +0 -5
- asap_protocol-2.1.1/tests/transport/unit/test_bounded_executor.py +0 -174
- asap_protocol-2.1.1/tests/transport/unit/test_cache.py +0 -542
- asap_protocol-2.1.1/tests/transport/unit/test_circuit_breaker.py +0 -440
- asap_protocol-2.1.1/tests/transport/unit/test_circuit_breaker_persistence.py +0 -72
- asap_protocol-2.1.1/tests/transport/unit/test_client_coverage_gaps.py +0 -742
- asap_protocol-2.1.1/tests/transport/unit/test_compression.py +0 -435
- asap_protocol-2.1.1/tests/transport/unit/test_lambda_codec.py +0 -231
- asap_protocol-2.1.1/tests/transport/unit/test_retry_backoff.py +0 -509
- asap_protocol-2.1.1/tests/transport/unit/test_retry_edge_cases.py +0 -134
- asap_protocol-2.1.1/tests/transport/unit/test_validators.py +0 -321
- asap_protocol-2.1.1/tests/transport/unit/test_validators_edge_cases.py +0 -124
- asap_protocol-2.1.1/tests/transport/unit/test_webhook.py +0 -667
- asap_protocol-2.1.1/tests/utils/__init__.py +0 -3
- asap_protocol-2.1.1/tests/utils/test_sanitization.py +0 -163
- asap_protocol-2.1.1/uv.lock +0 -5711
- asap_protocol-2.1.1/vercel.json +0 -8
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/LICENSE +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/agent.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/artifact.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/conversation.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/manifest.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/message.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/state_snapshot.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/entities/task.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/envelope.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/parts/data_part.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/parts/file_part.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/parts/resource_part.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/parts/template_part.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/parts/text_part.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/artifact_notify.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/mcp_resource_data.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/mcp_resource_fetch.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/mcp_tool_call.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/mcp_tool_result.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/message_send.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/state_query.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/state_restore.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/task_cancel.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/task_request.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/task_response.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/schemas/payloads/task_update.schema.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/scopes.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/auth/utils.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/cli.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/client/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/client/cache.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/client/market.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/client/trust.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/crypto/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/crypto/keys.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/crypto/models.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/crypto/signing.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/crypto/trust_levels.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/discovery/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/discovery/health.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/discovery/wellknown.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/delegation_storage.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/hooks.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/metering.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/economics/sla_storage.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/agent_failover.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/auth_patterns.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/coordinator.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/echo_agent.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/error_recovery.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/long_running.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/mcp_client_demo.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/mcp_integration.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/multi_step_workflow.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/orchestration.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/rate_limiting.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/run_demo.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/secure_handler.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/state_migration.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/streaming_response.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/v1_3_0_showcase.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/v1_4_0_showcase.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/examples/websocket_concept.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/langchain.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/openclaw.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/pydanticai.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/smolagents.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/integrations/vercel_ai.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/mcp/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/mcp/protocol.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/mcp/serve.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/mcp/server_runner.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/base.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/envelope.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/ids.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/parts.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/types.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/models/validators.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/dashboards/README.md +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/dashboards/asap-detailed.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/dashboards/asap-red.json +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/logging.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/trace_parser.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/trace_ui.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/observability/tracing.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/schemas.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/state/machine.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/testing/assertions.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/testing/fixtures.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/cache.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/circuit_breaker.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/codecs/__init__.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/codecs/lambda_codec.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/compression.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/delegation_api.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/mtls.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/sla_api.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/usage_api.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/src/asap/transport/validators.py +0 -0
- {asap_protocol-2.1.1 → asap_protocol-2.2.0}/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)
|
|
@@ -12,6 +12,92 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
+
## [2.2.0] - 2026-04-15
|
|
16
|
+
|
|
17
|
+
Protocol Hardening release: per-runtime agent identity, capability-based authorization, approval flows, SSE streaming, structured error taxonomy, version negotiation, and async state stores.
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
#### Per-Runtime Agent Identity (S1, ADR-17 extension)
|
|
22
|
+
- **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`)
|
|
23
|
+
- **Identity stores**: `HostIdentity`, `AgentSession`, `HostStore`, `AgentStore`, `InMemoryHostStore`, `InMemoryAgentStore` — per-host and per-agent identity with JWK thumbprint (RFC 7638) (`auth/identity.py`)
|
|
24
|
+
- **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`)
|
|
25
|
+
|
|
26
|
+
#### Capability-Based Authorization (S1)
|
|
27
|
+
- **Capability system**: `CapabilityDefinition`, `CapabilityGrant`, `CapabilityRegistry`, `validate_constraints` — grants with constraints (`max`, `min`, `in`, `not_in`) (`auth/capabilities.py`)
|
|
28
|
+
- **Capability endpoints**: `GET /asap/capability/list`, `GET /asap/capability/describe`, `POST /asap/capability/execute`, `POST /asap/agent/reactivate` (`transport/capability_routes.py`)
|
|
29
|
+
|
|
30
|
+
#### Agent Lifecycle (S1)
|
|
31
|
+
- **Session lifecycle**: `check_agent_expiry`, `extend_session`, `reactivate_agent` — TTL-based session management (`auth/lifecycle.py`)
|
|
32
|
+
|
|
33
|
+
#### Approval Flows (S2)
|
|
34
|
+
- **Device Authorization & CIBA**: `create_device_authorization`, `create_ciba_approval`, `select_approval_method`, `ApprovalStore`, `InMemoryApprovalStore` — RFC 8628 / CIBA-style approval (`auth/approval.py`)
|
|
35
|
+
- **A2H channel**: `A2HApprovalChannel` for agent-to-human approval resolution
|
|
36
|
+
|
|
37
|
+
#### Self-Auth Prevention (S2)
|
|
38
|
+
- **Fresh session**: `FreshSessionConfig`, `check_fresh_session`, `fresh_session_violation_detail` — time-windowed Host JWT validation (`auth/self_auth.py`)
|
|
39
|
+
- **WebAuthn**: Optional `WebAuthnVerifier` for high-risk capability registration
|
|
40
|
+
|
|
41
|
+
#### SSE Streaming (S3)
|
|
42
|
+
- **SSE endpoint**: `POST /asap/stream` returns `text/event-stream` with Envelope JSON events (`transport/server.py`)
|
|
43
|
+
- **TaskStream payload**: Streaming chunks with `chunk`, `progress`, `final`, `status` fields (`models/payloads.py`)
|
|
44
|
+
- **Client streaming**: `ASAPClient.stream(envelope)` parses SSE events into Envelope objects (`transport/client.py`)
|
|
45
|
+
- **Streaming handlers**: `HandlerRegistry.register_streaming_handler`, `dispatch_stream_async` for async generator handlers (`transport/handlers.py`)
|
|
46
|
+
|
|
47
|
+
#### Error Taxonomy (S3, PRD §4.7)
|
|
48
|
+
- **Error hierarchy**: `RecoverableError` / `FatalError` base classes with taxonomy URIs and JSON-RPC codes (-32000 to -32059) (`errors.py`)
|
|
49
|
+
- **Recovery hints**: `retry_after_ms`, `alternative_agents`, `fallback_action` on all ASAP errors
|
|
50
|
+
- **Remote errors**: `RemoteFatalRPCError`, `RemoteRecoverableRPCError` for client-side error reconstruction
|
|
51
|
+
- **Error code registry**: Documented in `docs/error-codes.md`
|
|
52
|
+
|
|
53
|
+
#### ASAP-Version Negotiation (S4)
|
|
54
|
+
- **Version header**: `ASAP-Version` request/response header for wire-level version negotiation (`models/constants.py`)
|
|
55
|
+
- **Version middleware**: `ASAPVersionMiddleware` validates version on `POST /asap` and `POST /asap/stream`; returns `VERSION_INCOMPATIBLE` JSON-RPC error for unsupported versions (`transport/middleware.py`)
|
|
56
|
+
- **Client negotiation**: `ASAPClient` sends supported versions and tracks `last_response_asap_version` (`transport/client.py`)
|
|
57
|
+
- **Manifest field**: `Manifest.supported_versions` for discovery-time version advertisement
|
|
58
|
+
|
|
59
|
+
#### Async State Stores (S4)
|
|
60
|
+
- **AsyncSnapshotStore**: Async protocol (`save`, `get`, `list_versions`, `delete`) replacing sync `SnapshotStore` (deprecated) (`state/snapshot.py`)
|
|
61
|
+
- **AsyncMeteringStore**: Async protocol (`record`, `query`, `aggregate`) replacing sync `MeteringStore` (deprecated) (`state/metering.py`)
|
|
62
|
+
- **SQLite async**: `SQLiteAsyncSnapshotStore` with WAL mode and pragma cache (`state/stores/sqlite.py`)
|
|
63
|
+
|
|
64
|
+
#### JSON-RPC Batch Operations (S5)
|
|
65
|
+
- **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`)
|
|
66
|
+
- **Batch size limit**: Configurable `max_batch_size` (default 50); oversized batches rejected with `INVALID_REQUEST` error
|
|
67
|
+
- **Rate limit integration**: `ASAPRateLimiter.check_n()` counts batch sub-requests against rate limits (`transport/rate_limit.py`)
|
|
68
|
+
- **Client batch**: `ASAPClient.batch(envelopes)` sends single HTTP request with JSON array body (`transport/client.py`)
|
|
69
|
+
|
|
70
|
+
#### Tamper-Evident Audit Logging (S5)
|
|
71
|
+
- **Audit models**: `AuditEntry` with SHA-256 hash chain (`prev_hash` → `hash`) for tamper detection (`economics/audit.py`)
|
|
72
|
+
- **AuditStore protocol**: `append`, `query`, `verify_chain`, `count` — with `InMemoryAuditStore` and `SQLiteAuditStore` implementations
|
|
73
|
+
- **Audit hooks**: Optional `audit_store` parameter in `create_app`; automatic logging of successful message processing
|
|
74
|
+
- **Audit API**: `GET /audit` with `urn`, `start`, `end`, `limit`, `offset` query parameters
|
|
75
|
+
|
|
76
|
+
#### Compliance Harness v2 (S5)
|
|
77
|
+
- **Harness runner**: `run_compliance_harness_v2(app)` validates ASGI applications against v2.2 spec (`testing/compliance.py`)
|
|
78
|
+
- **Check categories**: Identity, streaming, errors, versioning, batch, audit — each with multiple checks
|
|
79
|
+
- **Compliance report**: `ComplianceReport` with score (0.0–1.0), check results, and JSON export via `to_json()`
|
|
80
|
+
|
|
81
|
+
### Security
|
|
82
|
+
|
|
83
|
+
- **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)
|
|
84
|
+
- **Self-auth prevention**: Agents cannot register capabilities without fresh host session and optional WebAuthn verification
|
|
85
|
+
- **JTI replay cache**: Prevents JWT replay on mutating agent identity endpoints
|
|
86
|
+
|
|
87
|
+
### Changed
|
|
88
|
+
|
|
89
|
+
- **Wire version**: Default transport version bumped from `2.1` to `2.2`; backward compatible with `2.1`
|
|
90
|
+
- **State stores**: `SnapshotStore` and `MeteringStore` sync protocols deprecated in favor of async variants
|
|
91
|
+
|
|
92
|
+
### Technical Details
|
|
93
|
+
|
|
94
|
+
- **Python**: 3.13+
|
|
95
|
+
- **Tests**: 2941 passed, 7 skipped; full CI green (ruff, mypy, pytest, pip-audit)
|
|
96
|
+
- **Coverage**: ≥90% for new v2.2 modules
|
|
97
|
+
- **Full Changelog**: https://github.com/adriannoes/asap-protocol/compare/v2.1.1...v2.2.0
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
15
101
|
## [2.1.1] - 2026-03-01
|
|
16
102
|
|
|
17
103
|
Patch release addressing tech debt and findings from the v2.1.0 Red-Team code review. Backward compatible with v2.1.0.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: asap-protocol
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
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.
|
|
24
|
+
Requires-Dist: authlib>=1.6.9
|
|
25
25
|
Requires-Dist: brotli>=1.2.0
|
|
26
|
-
Requires-Dist: cryptography>=
|
|
26
|
+
Requires-Dist: cryptography>=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.
|
|
30
|
+
Requires-Dist: joserfc>=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
|
|
@@ -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>=
|
|
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
|
|
@@ -87,9 +88,9 @@ Description-Content-Type: text/markdown
|
|
|
87
88
|
|
|
88
89
|
> A production-ready protocol for agent-to-agent communication and task coordination.
|
|
89
90
|
|
|
90
|
-
**Quick Info**: `v2.1.
|
|
91
|
+
**Quick Info**: `v2.1.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
92
|
|
|
92
|
-
> 🚀 **Live now** our agentic marketplace**](https://asap-protocol.vercel.app/) — Browse agents, register yours, request verification.
|
|
93
|
+
> 🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.vercel.app/) — Browse agents, register yours, request verification.
|
|
93
94
|
|
|
94
95
|
## Why ASAP?
|
|
95
96
|
|
|
@@ -98,7 +99,7 @@ Building multi-agent systems today suffers from three core technical challenges
|
|
|
98
99
|
2. **State Drift**: Lack of native persistence makes it impossible to reliably resume long-running agentic workflows.
|
|
99
100
|
3. **Fragmentation**: No unified way to handle task delegation, artifact exchange and tool execution (MCP) in a single envelope.
|
|
100
101
|
|
|
101
|
-
**ASAP** provides a production-ready communication layer that simplifies these complexities. It's ideal for **multi-agent orchestration**, **stateful workflows** (persistence, resumability), **MCP
|
|
102
|
+
**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
103
|
|
|
103
104
|
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
105
|
|
|
@@ -109,11 +110,11 @@ For simple point-to-point communication, a basic HTTP API might suffice; ASAP sh
|
|
|
109
110
|
- **Async-native** — `asyncio` + `httpx`; sync and async handlers supported.
|
|
110
111
|
- **MCP integration** — Tool execution and coordination in a single envelope.
|
|
111
112
|
- **Observable** — `trace_id` and `correlation_id` for debugging.
|
|
112
|
-
- **Security** — Bearer auth, OAuth2/JWT
|
|
113
|
+
- **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).
|
|
113
114
|
- **Economics** — Usage metering, delegation tokens, SLA framework with breach alerts.
|
|
114
115
|
|
|
115
116
|
### 🆕 Framework Ecosystem
|
|
116
|
-
ASAP is built for interoperability. Seamlessly integrate your agents into **OpenClaw
|
|
117
|
+
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
118
|
|
|
118
119
|
## Installation
|
|
119
120
|
|
|
@@ -129,7 +130,7 @@ Or with pip:
|
|
|
129
130
|
pip install asap-protocol
|
|
130
131
|
```
|
|
131
132
|
|
|
132
|
-
📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)
|
|
133
|
+
📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)** — for reproducible environments, prefer `uv` when possible.
|
|
133
134
|
|
|
134
135
|
## Quick Start
|
|
135
136
|
|
|
@@ -168,10 +169,6 @@ pytest --asap-agent-url https://your-agent.example.com -m asap_compliance
|
|
|
168
169
|
|
|
169
170
|
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
171
|
|
|
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
172
|
## Documentation
|
|
176
173
|
|
|
177
174
|
**Learn**
|
|
@@ -196,40 +193,33 @@ See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/
|
|
|
196
193
|
|
|
197
194
|
## CLI
|
|
198
195
|
|
|
199
|
-
**v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite)
|
|
196
|
+
- **v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite) and Webhooks.
|
|
197
|
+
- **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).
|
|
198
|
+
- **v1.3** adds delegation commands (`asap delegation create`, `asap delegation revoke`).
|
|
200
199
|
|
|
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
|
|
206
|
-
asap manifest sign -k key.pem manifest.json # Sign manifest
|
|
207
|
-
asap manifest verify signed.json # Verify signature
|
|
208
|
-
asap manifest info signed.json # Show trust level
|
|
204
|
+
asap keys generate -o key.pem # Generate Ed25519 keypair
|
|
205
|
+
asap manifest sign -k key.pem manifest.json # Sign manifest
|
|
206
|
+
asap manifest verify signed.json # Verify signature
|
|
207
|
+
asap manifest info signed.json # Show trust level
|
|
209
208
|
```
|
|
210
209
|
|
|
211
210
|
See [CLI reference](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/identity-signing.md) or run `asap --help`.
|
|
212
211
|
|
|
213
212
|
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
213
|
|
|
215
|
-
## What's Next?
|
|
216
|
-
|
|
217
|
-
ASAP is evolving toward an **Agent Marketplace** — an open ecosystem where AI agents discover, trust and collaborate autonomously:
|
|
218
|
-
|
|
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) ✅
|
|
214
|
+
## 🔭 What's Next?
|
|
225
215
|
|
|
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.
|
|
216
|
+
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
217
|
|
|
228
218
|
## Contributing
|
|
229
219
|
|
|
230
|
-
**Community feedback and contributions are essential** for ASAP Protocol's evolution.
|
|
220
|
+
**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
221
|
|
|
232
|
-
|
|
222
|
+
Every contribution, from bug reports to feature suggestions, documentation improvements and code contributions, makes a real difference.
|
|
233
223
|
|
|
234
224
|
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
225
|
|
|
@@ -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.
|
|
10
|
+
**Quick Info**: `v2.1.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
|
|
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,11 @@ 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
|
|
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
33
|
- **Economics** — Usage metering, delegation tokens, SLA framework with breach alerts.
|
|
34
34
|
|
|
35
35
|
### 🆕 Framework Ecosystem
|
|
36
|
-
ASAP is built for interoperability. Seamlessly integrate your agents into **OpenClaw
|
|
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.
|
|
37
37
|
|
|
38
38
|
## Installation
|
|
39
39
|
|
|
@@ -49,7 +49,7 @@ Or with pip:
|
|
|
49
49
|
pip install asap-protocol
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)
|
|
52
|
+
📦 **Available on [PyPI](https://pypi.org/project/asap-protocol/)** — for reproducible environments, prefer `uv` when possible.
|
|
53
53
|
|
|
54
54
|
## Quick Start
|
|
55
55
|
|
|
@@ -88,10 +88,6 @@ pytest --asap-agent-url https://your-agent.example.com -m asap_compliance
|
|
|
88
88
|
|
|
89
89
|
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
90
|
|
|
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
91
|
## Documentation
|
|
96
92
|
|
|
97
93
|
**Learn**
|
|
@@ -116,40 +112,33 @@ See [Compliance Testing Guide](https://github.com/adriannoes/asap-protocol/blob/
|
|
|
116
112
|
|
|
117
113
|
## CLI
|
|
118
114
|
|
|
119
|
-
**v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite)
|
|
115
|
+
- **v1.1** adds OAuth2, WebSocket, Discovery (well-known + Lite Registry), State Storage (SQLite) and Webhooks.
|
|
116
|
+
- **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).
|
|
117
|
+
- **v1.3** adds delegation commands (`asap delegation create`, `asap delegation revoke`).
|
|
120
118
|
|
|
121
119
|
```bash
|
|
122
120
|
asap --version # Show version
|
|
123
121
|
asap list-schemas # List all available schemas
|
|
124
122
|
asap export-schemas # Export JSON schemas to file
|
|
125
|
-
asap keys generate -o key.pem # Generate Ed25519 keypair
|
|
126
|
-
asap manifest sign -k key.pem manifest.json # Sign manifest
|
|
127
|
-
asap manifest verify signed.json # Verify signature
|
|
128
|
-
asap manifest info signed.json # Show trust level
|
|
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
129
|
See [CLI reference](https://github.com/adriannoes/asap-protocol/blob/main/docs/guides/identity-signing.md) or run `asap --help`.
|
|
132
130
|
|
|
133
131
|
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.
|
|
134
132
|
|
|
135
|
-
## What's Next?
|
|
136
|
-
|
|
137
|
-
ASAP is evolving toward an **Agent Marketplace** — an open ecosystem where AI agents discover, trust and collaborate autonomously:
|
|
138
|
-
|
|
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) ✅
|
|
133
|
+
## 🔭 What's Next?
|
|
145
134
|
|
|
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.
|
|
135
|
+
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
136
|
|
|
148
137
|
## Contributing
|
|
149
138
|
|
|
150
|
-
**Community feedback and contributions are essential** for ASAP Protocol's evolution.
|
|
139
|
+
**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
140
|
|
|
152
|
-
|
|
141
|
+
Every contribution, from bug reports to feature suggestions, documentation improvements and code contributions, makes a real difference.
|
|
153
142
|
|
|
154
143
|
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
144
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "asap-protocol"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.2.0"
|
|
4
4
|
description = "Async Simple Agent Protocol - A streamlined protocol for agent-to-agent communication"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "ASAP Protocol Contributors"}
|
|
@@ -22,14 +22,14 @@ classifiers = [
|
|
|
22
22
|
|
|
23
23
|
dependencies = [
|
|
24
24
|
"aiosqlite>=0.20",
|
|
25
|
-
"cryptography>=
|
|
25
|
+
"cryptography>=46.0.7",
|
|
26
26
|
"jcs>=0.2.0",
|
|
27
27
|
"jsonschema>=4.23.0",
|
|
28
28
|
"pydantic>=2.12.5",
|
|
29
29
|
"fastapi>=0.128.0",
|
|
30
30
|
"httpx[http2]>=0.28.1",
|
|
31
|
-
"authlib>=1.
|
|
32
|
-
"joserfc>=1.
|
|
31
|
+
"authlib>=1.6.9",
|
|
32
|
+
"joserfc>=1.6.3",
|
|
33
33
|
"uvicorn>=0.34",
|
|
34
34
|
"python-ulid>=3.0",
|
|
35
35
|
"packaging>=25.0",
|
|
@@ -49,7 +49,7 @@ dependencies = [
|
|
|
49
49
|
[project.optional-dependencies]
|
|
50
50
|
dev = [
|
|
51
51
|
"brotli>=1.1.0",
|
|
52
|
-
"pytest>=
|
|
52
|
+
"pytest>=9.0.3",
|
|
53
53
|
"pytest-asyncio>=0.24",
|
|
54
54
|
"pytest-cov>=6.0",
|
|
55
55
|
"pytest-benchmark>=5.1",
|
|
@@ -63,6 +63,7 @@ docs = [
|
|
|
63
63
|
"ghp-import>=2.1.0",
|
|
64
64
|
"mkdocs-material>=9.5",
|
|
65
65
|
"mkdocstrings[python]>=0.27",
|
|
66
|
+
"pymdown-extensions>=10.21",
|
|
66
67
|
]
|
|
67
68
|
dns-sd = [
|
|
68
69
|
"zeroconf>=0.80",
|
|
@@ -101,6 +102,31 @@ Repository = "https://github.com/adriannoes/asap-protocol"
|
|
|
101
102
|
Issues = "https://github.com/adriannoes/asap-protocol/issues"
|
|
102
103
|
"PyPI" = "https://pypi.org/project/asap-protocol/"
|
|
103
104
|
|
|
105
|
+
# Override transitive dependencies for security fixes:
|
|
106
|
+
# - pyjwt>=2.12.0 for CVE-2026-32597 (crit header validation)
|
|
107
|
+
# - pyasn1>=0.6.3 for CVE-2026-30922 (DoS via unbounded recursion)
|
|
108
|
+
# - tinytag>=2.2.1 for CVE-2026-32889
|
|
109
|
+
# - cryptography>=46.0.7 for CVE-2026-39892 / CVE-2026-34073 (name-constraint / peer identity)
|
|
110
|
+
# - requests>=2.33.0 for CVE-2026-25645 (extract_zipped_paths temp file)
|
|
111
|
+
# - pillow>=12.2.0 for CVE-2026-40192 (transitive, e.g. pdf/vision stacks)
|
|
112
|
+
# - pytest>=9.0.3 for CVE-2025-71176 (dev)
|
|
113
|
+
# - python-multipart>=0.0.26 for CVE-2026-40347 (FastAPI stack)
|
|
114
|
+
# - pygments>=2.20.0 for CVE-2026-4539
|
|
115
|
+
# - langsmith>=0.7.31 for GHSA-rr7j-v2q5-chgv
|
|
116
|
+
[tool.uv]
|
|
117
|
+
override-dependencies = [
|
|
118
|
+
"pyjwt>=2.12.0",
|
|
119
|
+
"pyasn1>=0.6.3",
|
|
120
|
+
"tinytag>=2.2.1",
|
|
121
|
+
"cryptography>=46.0.7",
|
|
122
|
+
"requests>=2.33.0",
|
|
123
|
+
"pillow>=12.2.0",
|
|
124
|
+
"pytest>=9.0.3",
|
|
125
|
+
"python-multipart>=0.0.26",
|
|
126
|
+
"pygments>=2.20.0",
|
|
127
|
+
"langsmith>=0.7.31",
|
|
128
|
+
]
|
|
129
|
+
|
|
104
130
|
[project.scripts]
|
|
105
131
|
asap = "asap.cli:main"
|
|
106
132
|
asap-mcp-server = "asap.mcp.serve:main"
|
|
@@ -112,6 +138,16 @@ build-backend = "hatchling.build"
|
|
|
112
138
|
[tool.hatch.build.targets.wheel]
|
|
113
139
|
packages = ["src/asap"]
|
|
114
140
|
|
|
141
|
+
[tool.hatch.build.targets.sdist]
|
|
142
|
+
include = [
|
|
143
|
+
"/src",
|
|
144
|
+
"/schemas",
|
|
145
|
+
"/pyproject.toml",
|
|
146
|
+
"/README.md",
|
|
147
|
+
"/LICENSE",
|
|
148
|
+
"/CHANGELOG.md",
|
|
149
|
+
]
|
|
150
|
+
|
|
115
151
|
[tool.ruff]
|
|
116
152
|
target-version = "py313"
|
|
117
153
|
line-length = 100
|
|
@@ -19,8 +19,23 @@ Public exports:
|
|
|
19
19
|
OIDCDiscovery: OIDC discovery client
|
|
20
20
|
OIDCConfig: OIDC provider configuration model
|
|
21
21
|
JWKSValidator: JWKS fetcher and JWT validator with key rotation support
|
|
22
|
+
HostIdentity, AgentSession, HostStore, AgentStore, JWT helpers: per-runtime identity (Ed25519)
|
|
22
23
|
"""
|
|
23
24
|
|
|
25
|
+
from asap.auth.agent_jwt import (
|
|
26
|
+
create_agent_jwt,
|
|
27
|
+
create_host_jwt,
|
|
28
|
+
verify_agent_jwt,
|
|
29
|
+
verify_host_jwt,
|
|
30
|
+
)
|
|
31
|
+
from asap.auth.identity import (
|
|
32
|
+
AgentSession,
|
|
33
|
+
AgentStore,
|
|
34
|
+
HostIdentity,
|
|
35
|
+
HostStore,
|
|
36
|
+
host_urn_from_thumbprint,
|
|
37
|
+
jwk_thumbprint_sha256,
|
|
38
|
+
)
|
|
24
39
|
from asap.auth.introspection import TokenInfo, TokenIntrospector
|
|
25
40
|
from asap.auth.jwks import JWKSValidator, Claims, fetch_keys, validate_jwt
|
|
26
41
|
from asap.auth.oidc import OIDCConfig, OIDCDiscovery
|
|
@@ -29,21 +44,31 @@ from asap.auth.oauth2 import OAuth2ClientCredentials, Token
|
|
|
29
44
|
from asap.auth.scopes import SCOPE_ADMIN, SCOPE_EXECUTE, SCOPE_READ, require_scope
|
|
30
45
|
|
|
31
46
|
__all__ = [
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"OAuth2Config",
|
|
35
|
-
"OAuth2Middleware",
|
|
47
|
+
"AgentSession",
|
|
48
|
+
"AgentStore",
|
|
36
49
|
"Claims",
|
|
37
50
|
"JWKSValidator",
|
|
38
51
|
"OIDCConfig",
|
|
39
52
|
"OIDCDiscovery",
|
|
40
53
|
"fetch_keys",
|
|
41
|
-
"
|
|
54
|
+
"HostIdentity",
|
|
55
|
+
"HostStore",
|
|
56
|
+
"host_urn_from_thumbprint",
|
|
57
|
+
"jwk_thumbprint_sha256",
|
|
58
|
+
"OAuth2Claims",
|
|
59
|
+
"OAuth2ClientCredentials",
|
|
60
|
+
"OAuth2Config",
|
|
61
|
+
"OAuth2Middleware",
|
|
42
62
|
"SCOPE_ADMIN",
|
|
43
63
|
"SCOPE_EXECUTE",
|
|
44
64
|
"SCOPE_READ",
|
|
45
65
|
"Token",
|
|
46
66
|
"TokenInfo",
|
|
47
67
|
"TokenIntrospector",
|
|
68
|
+
"create_agent_jwt",
|
|
69
|
+
"create_host_jwt",
|
|
48
70
|
"require_scope",
|
|
71
|
+
"validate_jwt",
|
|
72
|
+
"verify_agent_jwt",
|
|
73
|
+
"verify_host_jwt",
|
|
49
74
|
]
|