asap-protocol 2.5.8__tar.gz → 2.5.9__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.5.8 → asap_protocol-2.5.9}/CHANGELOG.md +60 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/PKG-INFO +17 -24
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/README.md +9 -16
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/pyproject.toml +34 -16
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/__init__.py +1 -1
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/.gitignore +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/LICENSE +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/agent.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/artifact.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/conversation.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/manifest.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/message.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/state_snapshot.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/entities/task.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/envelope.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/examples/shellclaw-jetson-capabilities.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/parts/data_part.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/parts/file_part.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/parts/resource_part.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/parts/template_part.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/parts/text_part.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/artifact_notify.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/mcp_resource_data.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/mcp_resource_fetch.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/mcp_tool_call.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/mcp_tool_result.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/message_send.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/state_query.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/state_restore.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/task_cancel.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/task_request.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/task_response.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/payloads/task_update.schema.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/auth_middleware.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/capability_map.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/config.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/errors.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/jwt_extractor.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/mcp/protected_server.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/openapi/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/openapi/approval.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/openapi/capability_mapper.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/openapi/factory.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/openapi/handler.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/adapters/openapi/spec_loader.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/_scope_parse.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/agent_jwt.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/agent_jwt_session.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/approval.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/capabilities.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/identity.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/introspection.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/jti_replay_cache.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/jwks.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/middleware.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/oauth2.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/oidc.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/scopes.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/self_auth.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/webauthn.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/auth/webauthn_store.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/_compat.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/audit_export.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/compliance_check.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/delegation.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/keys.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/manifest.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/repl.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/schemas.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/cli/trace.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/client/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/client/cache.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/client/http_client.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/client/market.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/client/revocation.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/client/trust.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/crypto/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/crypto/keys.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/crypto/models.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/crypto/signing.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/crypto/trust.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/crypto/trust_levels.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/discovery/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/discovery/dnssd.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/discovery/health.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/discovery/registry.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/discovery/validation.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/discovery/wellknown.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/audit.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/delegation.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/delegation_storage.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/hooks.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/metering.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/sla.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/sla_storage.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/economics/storage.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/errors.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/README.md +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/a2h_approval.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/agent_failover.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/auth_patterns.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/coordinator.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/echo_agent.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/error_recovery.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/long_running.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/mcp_client_demo.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/mcp_integration.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/multi_step_workflow.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/orchestration.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/rate_limiting.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/run_demo.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/secure_agent.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/secure_handler.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/state_migration.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/storage_backends.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/streaming_agent.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/streaming_response.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/v1_3_0_showcase.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/examples/v1_4_0_showcase.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/handlers/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/handlers/hitl.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/_base.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/a2h.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/crewai.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/langchain.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/llamaindex.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/openclaw.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/pydanticai.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/smolagents.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/integrations/vercel_ai.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/auth_middleware.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/capability_map.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/config.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/errors.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/jwt_extractor.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/auth/protected_server.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/client.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/protocol.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/serve.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/server.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/mcp/server_runner.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/base.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/constants.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/entities.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/enums.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/envelope.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/ids.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/parts.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/payloads.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/types.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/models/validators.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/dashboards/README.md +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/dashboards/asap-detailed.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/dashboards/asap-red.json +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/logging.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/metrics.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/trace_parser.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/trace_ui.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/observability/tracing.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/registry/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/registry/anti_spam.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/registry/auto_registration.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/registry/bot_pr.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/registry/receipt_cache.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/schemas.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/machine.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/metering.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/snapshot.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/stores/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/stores/_sqlite_base.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/stores/_sync_bridge.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/stores/memory.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/state/stores/sqlite.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/testing/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/testing/asgi_factory.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/testing/assertions.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/testing/compliance.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/testing/fixtures.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/testing/mocks.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/_auth_helpers.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/_request_handler.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/_state_deps.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/agent_routes.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/cache.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/capability_routes.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/challenge.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/circuit_breaker.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/client/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/client/_core.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/client/_discovery.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/client/_helpers.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/client/_send.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/compression.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/delegation_api.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/errors.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/escalation_routes.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/executors.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/handlers.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/jsonrpc.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/lambda_codec.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/middleware.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/mtls.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/rate_limit.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/routes/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/routes/audit.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/routes/health.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/routes/jsonrpc.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/routes/websocket.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/server.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/sla_api.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/usage_api.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/validators.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/webhook.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/websocket.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/_ack.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/_actions.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/_dispatch.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/_errors.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/_recv.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/client.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/codecs.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/pool.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/transport/ws/server.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/utils/__init__.py +0 -0
- {asap_protocol-2.5.8 → asap_protocol-2.5.9}/src/asap/utils/sanitization.py +0 -0
|
@@ -16,6 +16,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
+
## [2.5.9] - 2026-10-23
|
|
20
|
+
|
|
21
|
+
**Security & CI patch** — promote `development` onto `main` after v2.5.8.
|
|
22
|
+
Dependency floors, the `security (web)` job, and regression fences. This is
|
|
23
|
+
**not** Formal Spec & Interop. npm `@asap-protocol/*` packages remain at
|
|
24
|
+
**2.4.1**. PyPI `asap-compliance` remains **1.3.0**.
|
|
25
|
+
Tag [`v2.5.9`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.9)
|
|
26
|
+
· PyPI `asap-protocol==2.5.9`.
|
|
27
|
+
|
|
28
|
+
### Security
|
|
29
|
+
|
|
30
|
+
- **Direct floors** — `brotli>=1.2.1` (PYSEC-2026-4322 / GHSA-9v8h-qqgm-4m35)
|
|
31
|
+
and `opentelemetry-api>=1.45.1` (CVE-2026-114603), with the matching SDK,
|
|
32
|
+
exporter, and instrumentation releases. These are published requirements.
|
|
33
|
+
- **Repository uv overrides** — `fastmcp>=3.4.10,<4` (lock 3.4.11,
|
|
34
|
+
GHSA-7xgj-8392-5q4r) and `setuptools>=84.1.0` (lock 84.2.1,
|
|
35
|
+
GHSA-xmj3-9gf7-h52w). Another project's `pip install asap-protocol==2.5.9`
|
|
36
|
+
does not apply these pins.
|
|
37
|
+
- **`apps/web` `fast-uri`** — override `^3.1.9` (GHSA-w74x-v6f9-j3xg and the other 3.1.8 advisories).
|
|
38
|
+
- **`apps/web`** — Next.js and `eslint-config-next` **16.4.3**
|
|
39
|
+
(GHSA-2464-fhr4-w9xw, GHSA-p3m5-59mp-jv5r, GHSA-673q-mjm6-r5xr), `zod`
|
|
40
|
+
**4.6.7** (GHSA-mrhx-c7xc-m3w5), `shadcn` **4.22.1**, and `body-parser`
|
|
41
|
+
**^2.4.0** (GHSA-27r3-jxmh-p828). These pins are this repository's web
|
|
42
|
+
app, not PyPI requirements
|
|
43
|
+
([#425](https://github.com/asap-protocol/asap-protocol/pull/425),
|
|
44
|
+
[#426](https://github.com/asap-protocol/asap-protocol/pull/426)).
|
|
45
|
+
|
|
46
|
+
### CI
|
|
47
|
+
|
|
48
|
+
- **One diff base** — the path filter and Prettier share `base_sha`. Pull
|
|
49
|
+
requests use `merge-base`. `quality (web)` checks out the pull-request
|
|
50
|
+
head. An empty base fails the format step
|
|
51
|
+
([#425](https://github.com/asap-protocol/asap-protocol/pull/425)).
|
|
52
|
+
- **Stack jobs** — unchanged stacks are skipped; a failed `changes` job
|
|
53
|
+
still runs the suite
|
|
54
|
+
([#420](https://github.com/asap-protocol/asap-protocol/pull/420)).
|
|
55
|
+
- **Coverage** — collected in the parallel test run. `serial_mcp` stays out
|
|
56
|
+
of xdist and is appended with `--cov-append`. The coverage job enforces
|
|
57
|
+
`--fail-under=85`
|
|
58
|
+
([#419](https://github.com/asap-protocol/asap-protocol/pull/419)).
|
|
59
|
+
- **`security (web)`** — npm audits for `apps/web` live in their own job.
|
|
60
|
+
Protect main requires it.
|
|
61
|
+
|
|
62
|
+
### Quality
|
|
63
|
+
|
|
64
|
+
- **Auth, billing, and registry fences (#423)** — identity binding, keys,
|
|
65
|
+
delegation allow-list and reissue, metering windows, usage intervals,
|
|
66
|
+
registry IO, batch, auth helpers, and circuit-open refresh.
|
|
67
|
+
- **SLA and JWT fences (#426)** — oldest SLA timestamp on memory and SQLite,
|
|
68
|
+
legacy `alg: EdDSA` plus a real signature flip, and host/agent
|
|
69
|
+
`alg: Ed25519`.
|
|
70
|
+
|
|
71
|
+
### Migration
|
|
72
|
+
|
|
73
|
+
- **v2.5.8 → v2.5.9**: See [migration guide](docs/migration.md#upgrading-from-v258-to-v259).
|
|
74
|
+
No wire-protocol or manifest schema breaking changes. Installs pick up
|
|
75
|
+
`brotli>=1.2.1` and `opentelemetry-api>=1.45.1`.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
19
79
|
## [2.5.8] - 2026-10-21
|
|
20
80
|
|
|
21
81
|
**Security & coverage patch** — record the repository dependency overrides
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: asap-protocol
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.9
|
|
4
4
|
Summary: Async Simple Agent Protocol - A streamlined protocol for agent-to-agent communication
|
|
5
5
|
Project-URL: Homepage, https://github.com/asap-protocol/asap-protocol
|
|
6
6
|
Project-URL: Documentation, https://asap-protocol.github.io/asap-protocol
|
|
@@ -22,7 +22,7 @@ Classifier: Typing :: Typed
|
|
|
22
22
|
Requires-Python: >=3.13
|
|
23
23
|
Requires-Dist: aiosqlite>=0.20
|
|
24
24
|
Requires-Dist: authlib<2,>=1.6.12
|
|
25
|
-
Requires-Dist: brotli>=1.2.
|
|
25
|
+
Requires-Dist: brotli>=1.2.1
|
|
26
26
|
Requires-Dist: cryptography<51,>=50.0.0
|
|
27
27
|
Requires-Dist: fastapi>=0.136.1
|
|
28
28
|
Requires-Dist: httpx[http2]>=0.28.1
|
|
@@ -30,11 +30,11 @@ Requires-Dist: jcs>=0.2.0
|
|
|
30
30
|
Requires-Dist: joserfc<2,>=1.6.7
|
|
31
31
|
Requires-Dist: jsonschema>=4.23.0
|
|
32
32
|
Requires-Dist: limits>=3.0
|
|
33
|
-
Requires-Dist: opentelemetry-api>=1.
|
|
34
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.
|
|
35
|
-
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.
|
|
36
|
-
Requires-Dist: opentelemetry-instrumentation-httpx>=0.
|
|
37
|
-
Requires-Dist: opentelemetry-sdk>=1.
|
|
33
|
+
Requires-Dist: opentelemetry-api>=1.45.1
|
|
34
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.45.1
|
|
35
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.66b1
|
|
36
|
+
Requires-Dist: opentelemetry-instrumentation-httpx>=0.66b1
|
|
37
|
+
Requires-Dist: opentelemetry-sdk>=1.45.1
|
|
38
38
|
Requires-Dist: packaging>=25.0
|
|
39
39
|
Requires-Dist: pydantic<3,>=2.12.5
|
|
40
40
|
Requires-Dist: python-ulid>=3.0
|
|
@@ -47,7 +47,7 @@ Provides-Extra: crewai
|
|
|
47
47
|
Requires-Dist: crewai>=0.80; extra == 'crewai'
|
|
48
48
|
Provides-Extra: dev
|
|
49
49
|
Requires-Dist: asgi-lifespan>=2.1.0; extra == 'dev'
|
|
50
|
-
Requires-Dist: brotli>=1.1
|
|
50
|
+
Requires-Dist: brotli>=1.2.1; extra == 'dev'
|
|
51
51
|
Requires-Dist: fakeredis>=2.26.0; extra == 'dev'
|
|
52
52
|
Requires-Dist: mypy>=1.19.1; extra == 'dev'
|
|
53
53
|
Requires-Dist: pip-audit>=2.7; extra == 'dev'
|
|
@@ -99,9 +99,9 @@ Description-Content-Type: text/markdown
|
|
|
99
99
|
|
|
100
100
|
> A production-ready protocol for agent-to-agent communication and task coordination.
|
|
101
101
|
|
|
102
|
-
**Quick Info**: [`v2.5.
|
|
102
|
+
**Quick Info**: [`v2.5.9`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.9) · PyPI [`asap-protocol`](https://pypi.org/project/asap-protocol/) | `Apache 2.0` | `Python 3.13+` | [Documentation](docs/index.md) | [Changelog](CHANGELOG.md)
|
|
103
103
|
|
|
104
|
-
> 📦 **Install** — [`asap-protocol` **2.5.
|
|
104
|
+
> 📦 **Install** — [`asap-protocol` **2.5.9** on PyPI](https://pypi.org/project/asap-protocol/) (Python) · [`@asap-protocol/client` on npm](https://www.npmjs.com/package/@asap-protocol/client) (TypeScript)
|
|
105
105
|
|
|
106
106
|
🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.com/) — browse agents, register yours, request verification.
|
|
107
107
|
|
|
@@ -156,16 +156,16 @@ ASAP meets agents where they run — optional Python extras, npm tool bridges, a
|
|
|
156
156
|
We recommend using [uv](https://github.com/astral-sh/uv) for dependency management:
|
|
157
157
|
|
|
158
158
|
```bash
|
|
159
|
-
uv add asap-protocol # latest on PyPI (currently 2.5.
|
|
159
|
+
uv add asap-protocol # latest on PyPI (currently 2.5.9)
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
Or with pip:
|
|
163
163
|
|
|
164
164
|
```bash
|
|
165
|
-
pip install asap-protocol==2.5.
|
|
165
|
+
pip install asap-protocol==2.5.9
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
-
**TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.
|
|
168
|
+
**TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.9; `@asap-protocol/mcp-auth` HTTP middleware still deferred):
|
|
169
169
|
|
|
170
170
|
- [`@asap-protocol/client`](https://www.npmjs.com/package/@asap-protocol/client) — [SDK docs](docs/sdks/typescript.md)
|
|
171
171
|
- [`@asap-protocol/mastra`](https://www.npmjs.com/package/@asap-protocol/mastra) — [docs](docs/integrations/mastra.md) · [demo](apps/example-mastra/README.md)
|
|
@@ -177,7 +177,7 @@ npm install @asap-protocol/mastra@2.4.1 @asap-protocol/client @mastra/core zod
|
|
|
177
177
|
npm install @asap-protocol/openai-agents@2.4.1 @asap-protocol/client @openai/agents zod
|
|
178
178
|
```
|
|
179
179
|
|
|
180
|
-
**Python v2.5.
|
|
180
|
+
**Python v2.5.9** (security & CI patch) is **shipped** — see [Migration (v2.5.8 → v2.5.9)](docs/migration.md#upgrading-from-v258-to-v259). Dist Loop starters remain: [Build for agents](docs/guides/build-for-agents.md) · [starters](examples/starters/README.md).
|
|
181
181
|
|
|
182
182
|
## Quick Start
|
|
183
183
|
|
|
@@ -193,15 +193,7 @@ uv run python -m asap.examples.run_demo
|
|
|
193
193
|
|
|
194
194
|
## Testing
|
|
195
195
|
|
|
196
|
-
|
|
197
|
-
uv run pytest -n auto --tb=short
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
With coverage (separate run — do not combine with `-n auto`):
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
uv run pytest --tb=short --cov=asap --cov-report=term-missing --cov-fail-under=85
|
|
204
|
-
```
|
|
196
|
+
Fast loop, local coverage floor, and the CI argv are the [canonical commands](.cursor/README.md#canonical-commands).
|
|
205
197
|
|
|
206
198
|
[Testing Guide](https://github.com/asap-protocol/asap-protocol/blob/main/docs/testing.md) (structure, fixtures, property/load/chaos tests). [Contributing](https://github.com/asap-protocol/asap-protocol/blob/main/CONTRIBUTING.md) (dev setup, CI).
|
|
207
199
|
|
|
@@ -265,6 +257,7 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
|
|
|
265
257
|
|
|
266
258
|
| Version | What shipped |
|
|
267
259
|
| :-- | :-- |
|
|
260
|
+
| **v2.5.9** | **Security & CI patch** — **[GitHub Release `v2.5.9`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.9)** · `brotli` 1.2.1, OpenTelemetry 1.45.1, `security (web)`, and regression fences ([#419](https://github.com/asap-protocol/asap-protocol/pull/419)–[#426](https://github.com/asap-protocol/asap-protocol/pull/426)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#259---2026-10-23) and [Migration (v2.5.8 → v2.5.9)](docs/migration.md#upgrading-from-v258-to-v259) |
|
|
268
261
|
| **v2.5.8** | **Security & coverage patch** — **[GitHub Release `v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8)** · repository uv overrides (`aiohttp`, `certifi`, `pillow`), optional `[mcp]` extra `mcp>=1.30.0,<2`, `apps/web` Vite `8.1.6`, and regression tests ([#413](https://github.com/asap-protocol/asap-protocol/pull/413)–[#417](https://github.com/asap-protocol/asap-protocol/pull/417)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#258---2026-10-21) and [Migration (v2.5.7 → v2.5.8)](docs/migration.md#upgrading-from-v257-to-v258) |
|
|
269
262
|
| **v2.5.7** | **Quality & coverage patch** — **[GitHub Release `v2.5.7`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.7)** · batch rate-limit `check_n` fix, CI security gate deps + `apps/web` audit-ci, consolidated regression tests ([#394](https://github.com/asap-protocol/asap-protocol/pull/394)–[#399](https://github.com/asap-protocol/asap-protocol/pull/399)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#257---2026-10-11) and [Migration (v2.5.6 → v2.5.7)](docs/migration.md#upgrading-from-v256-to-v257) |
|
|
270
263
|
| **v2.5.6** | **Security & quality patch** — **[GitHub Release `v2.5.6`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.6)** · Lite Registry IssueOps envelope + endpoint SSRF, compliance open-redirect SSRF, constrained capability execute, rotate-key lifecycle race, deps + regression tests. npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#256---2026-10-01) and [Migration (v2.5.5 → v2.5.6)](docs/migration.md#upgrading-from-v255-to-v256) |
|
|
@@ -292,7 +285,7 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
|
|
|
292
285
|
|
|
293
286
|
The [agentic marketplace](https://asap-protocol.com/) and Lite Registry are live. The **v2.5.x train** focuses on interop and adoption:
|
|
294
287
|
|
|
295
|
-
- **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.
|
|
288
|
+
- **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.9** is the security/CI patch above)
|
|
296
289
|
- **`@asap-protocol/mcp-auth`** (npm) — HTTP/SSE MCP middleware
|
|
297
290
|
- **Formal spec track** — introspection, privacy, cross-protocol interop on the path to v3.0 economy
|
|
298
291
|
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
> A production-ready protocol for agent-to-agent communication and task coordination.
|
|
9
9
|
|
|
10
|
-
**Quick Info**: [`v2.5.
|
|
10
|
+
**Quick Info**: [`v2.5.9`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.9) · PyPI [`asap-protocol`](https://pypi.org/project/asap-protocol/) | `Apache 2.0` | `Python 3.13+` | [Documentation](docs/index.md) | [Changelog](CHANGELOG.md)
|
|
11
11
|
|
|
12
|
-
> 📦 **Install** — [`asap-protocol` **2.5.
|
|
12
|
+
> 📦 **Install** — [`asap-protocol` **2.5.9** on PyPI](https://pypi.org/project/asap-protocol/) (Python) · [`@asap-protocol/client` on npm](https://www.npmjs.com/package/@asap-protocol/client) (TypeScript)
|
|
13
13
|
|
|
14
14
|
🚀 **Live now** our [**agentic marketplace**](https://asap-protocol.com/) — browse agents, register yours, request verification.
|
|
15
15
|
|
|
@@ -64,16 +64,16 @@ ASAP meets agents where they run — optional Python extras, npm tool bridges, a
|
|
|
64
64
|
We recommend using [uv](https://github.com/astral-sh/uv) for dependency management:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
uv add asap-protocol # latest on PyPI (currently 2.5.
|
|
67
|
+
uv add asap-protocol # latest on PyPI (currently 2.5.9)
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Or with pip:
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
pip install asap-protocol==2.5.
|
|
73
|
+
pip install asap-protocol==2.5.9
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
**TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.
|
|
76
|
+
**TypeScript** (npm, **`2.4.1`** — unchanged for v2.5.9; `@asap-protocol/mcp-auth` HTTP middleware still deferred):
|
|
77
77
|
|
|
78
78
|
- [`@asap-protocol/client`](https://www.npmjs.com/package/@asap-protocol/client) — [SDK docs](docs/sdks/typescript.md)
|
|
79
79
|
- [`@asap-protocol/mastra`](https://www.npmjs.com/package/@asap-protocol/mastra) — [docs](docs/integrations/mastra.md) · [demo](apps/example-mastra/README.md)
|
|
@@ -85,7 +85,7 @@ npm install @asap-protocol/mastra@2.4.1 @asap-protocol/client @mastra/core zod
|
|
|
85
85
|
npm install @asap-protocol/openai-agents@2.4.1 @asap-protocol/client @openai/agents zod
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
**Python v2.5.
|
|
88
|
+
**Python v2.5.9** (security & CI patch) is **shipped** — see [Migration (v2.5.8 → v2.5.9)](docs/migration.md#upgrading-from-v258-to-v259). Dist Loop starters remain: [Build for agents](docs/guides/build-for-agents.md) · [starters](examples/starters/README.md).
|
|
89
89
|
|
|
90
90
|
## Quick Start
|
|
91
91
|
|
|
@@ -101,15 +101,7 @@ uv run python -m asap.examples.run_demo
|
|
|
101
101
|
|
|
102
102
|
## Testing
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
uv run pytest -n auto --tb=short
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
With coverage (separate run — do not combine with `-n auto`):
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
uv run pytest --tb=short --cov=asap --cov-report=term-missing --cov-fail-under=85
|
|
112
|
-
```
|
|
104
|
+
Fast loop, local coverage floor, and the CI argv are the [canonical commands](.cursor/README.md#canonical-commands).
|
|
113
105
|
|
|
114
106
|
[Testing Guide](https://github.com/asap-protocol/asap-protocol/blob/main/docs/testing.md) (structure, fixtures, property/load/chaos tests). [Contributing](https://github.com/asap-protocol/asap-protocol/blob/main/CONTRIBUTING.md) (dev setup, CI).
|
|
115
107
|
|
|
@@ -173,6 +165,7 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
|
|
|
173
165
|
|
|
174
166
|
| Version | What shipped |
|
|
175
167
|
| :-- | :-- |
|
|
168
|
+
| **v2.5.9** | **Security & CI patch** — **[GitHub Release `v2.5.9`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.9)** · `brotli` 1.2.1, OpenTelemetry 1.45.1, `security (web)`, and regression fences ([#419](https://github.com/asap-protocol/asap-protocol/pull/419)–[#426](https://github.com/asap-protocol/asap-protocol/pull/426)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#259---2026-10-23) and [Migration (v2.5.8 → v2.5.9)](docs/migration.md#upgrading-from-v258-to-v259) |
|
|
176
169
|
| **v2.5.8** | **Security & coverage patch** — **[GitHub Release `v2.5.8`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.8)** · repository uv overrides (`aiohttp`, `certifi`, `pillow`), optional `[mcp]` extra `mcp>=1.30.0,<2`, `apps/web` Vite `8.1.6`, and regression tests ([#413](https://github.com/asap-protocol/asap-protocol/pull/413)–[#417](https://github.com/asap-protocol/asap-protocol/pull/417)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#258---2026-10-21) and [Migration (v2.5.7 → v2.5.8)](docs/migration.md#upgrading-from-v257-to-v258) |
|
|
177
170
|
| **v2.5.7** | **Quality & coverage patch** — **[GitHub Release `v2.5.7`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.7)** · batch rate-limit `check_n` fix, CI security gate deps + `apps/web` audit-ci, consolidated regression tests ([#394](https://github.com/asap-protocol/asap-protocol/pull/394)–[#399](https://github.com/asap-protocol/asap-protocol/pull/399)). npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#257---2026-10-11) and [Migration (v2.5.6 → v2.5.7)](docs/migration.md#upgrading-from-v256-to-v257) |
|
|
178
171
|
| **v2.5.6** | **Security & quality patch** — **[GitHub Release `v2.5.6`](https://github.com/asap-protocol/asap-protocol/releases/tag/v2.5.6)** · Lite Registry IssueOps envelope + endpoint SSRF, compliance open-redirect SSRF, constrained capability execute, rotate-key lifecycle race, deps + regression tests. npm `@asap-protocol/*` remain **2.4.1**. See [CHANGELOG](CHANGELOG.md#256---2026-10-01) and [Migration (v2.5.5 → v2.5.6)](docs/migration.md#upgrading-from-v255-to-v256) |
|
|
@@ -200,7 +193,7 @@ High-level only — see **[Changelog](https://github.com/asap-protocol/asap-prot
|
|
|
200
193
|
|
|
201
194
|
The [agentic marketplace](https://asap-protocol.com/) and Lite Registry are live. The **v2.5.x train** focuses on interop and adoption:
|
|
202
195
|
|
|
203
|
-
- **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.
|
|
196
|
+
- **Formal Spec & Interop** — RFC, introspection, privacy (PRD [prd-v2.5.5-formal-spec-interop.md](product/prd/prd-v2.5.5-formal-spec-interop.md); library **2.5.9** is the security/CI patch above)
|
|
204
197
|
- **`@asap-protocol/mcp-auth`** (npm) — HTTP/SSE MCP middleware
|
|
205
198
|
- **Formal spec track** — introspection, privacy, cross-protocol interop on the path to v3.0 economy
|
|
206
199
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "asap-protocol"
|
|
3
|
-
version = "2.5.
|
|
3
|
+
version = "2.5.9"
|
|
4
4
|
description = "Async Simple Agent Protocol - A streamlined protocol for agent-to-agent communication"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "ASAP Protocol Contributors"}
|
|
@@ -39,18 +39,21 @@ dependencies = [
|
|
|
39
39
|
"typer>=0.21.1",
|
|
40
40
|
"watchfiles>=0.21.0",
|
|
41
41
|
"websockets>=12.0",
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"opentelemetry-
|
|
47
|
-
"opentelemetry-
|
|
42
|
+
# Floor 1.2.1 for PYSEC-2026-4322 / GHSA-9v8h-qqgm-4m35 (decoder OOB write).
|
|
43
|
+
"brotli>=1.2.1",
|
|
44
|
+
# Floor 1.45.1 for CVE-2026-114603. SDK 1.45.1 requires this API;
|
|
45
|
+
# instrumentation 0.66b1 is the matching release.
|
|
46
|
+
"opentelemetry-api>=1.45.1",
|
|
47
|
+
"opentelemetry-sdk>=1.45.1",
|
|
48
|
+
"opentelemetry-instrumentation-fastapi>=0.66b1",
|
|
49
|
+
"opentelemetry-instrumentation-httpx>=0.66b1",
|
|
50
|
+
"opentelemetry-exporter-otlp-proto-grpc>=1.45.1",
|
|
48
51
|
]
|
|
49
52
|
|
|
50
53
|
[project.optional-dependencies]
|
|
51
54
|
dev = [
|
|
52
55
|
"asgi-lifespan>=2.1.0",
|
|
53
|
-
"brotli>=1.1
|
|
56
|
+
"brotli>=1.2.1",
|
|
54
57
|
"pytest>=9.0.3",
|
|
55
58
|
"pytest-asyncio>=0.24",
|
|
56
59
|
"pytest-cov>=6.0",
|
|
@@ -84,7 +87,8 @@ webauthn = [
|
|
|
84
87
|
]
|
|
85
88
|
# Framework integration extras.
|
|
86
89
|
mcp = [
|
|
87
|
-
# Floor 1.30.0 for CVE-2026-59951 (
|
|
90
|
+
# Floor 1.30.0 for CVE-2026-59951 (also covers CVE-2026-52869 / CVE-2026-52870 /
|
|
91
|
+
# CVE-2026-59950). Stay on 1.x: mcp 2.x replaces mcp.server.fastmcp and depends on httpx2.
|
|
88
92
|
"mcp>=1.30.0,<2",
|
|
89
93
|
]
|
|
90
94
|
langchain = [
|
|
@@ -124,14 +128,15 @@ Issues = "https://github.com/asap-protocol/asap-protocol/issues"
|
|
|
124
128
|
# Override transitive dependencies for security fixes:
|
|
125
129
|
# - pyjwt>=2.14.0 for PYSEC-2026-4140–4152 (prior: CVE-2026-32597 baseline at 2.12.0)
|
|
126
130
|
# - anyio>=4.14.2 for PYSEC-2026-4024 / PYSEC-2026-4025
|
|
127
|
-
# - aiohttp>=3.14.4,<4 for CVE-2026-111063
|
|
131
|
+
# - aiohttp>=3.14.4,<4 for CVE-2026-111063–111066 / CVE-2026-111748–111750 / GHSA-2g87-pp6c-29x5 (prior: PYSEC-2026-3545/3546/3547 at >=3.14.3)
|
|
128
132
|
# - zeroconf>=0.149.5 for CVE-2026-47180/47183/47184 ([dns-sd] extra)
|
|
129
133
|
# - pyasn1>=0.6.4 for CVE-2026-30922 / CVE-2026-59885 / CVE-2026-59886 / PYSEC-2026-3455/3456/3457 (transitive, auth/JWT stack)
|
|
130
134
|
# - tinytag>=2.2.1 for CVE-2026-32889
|
|
131
135
|
# - cryptography>=50.0.0 for PYSEC-2026-3552 (PKCS7 Bleichenbacher; 3553/3554 fixed in 49.0.0; prior GHSA-537c-gmf6-5ccf at >=48.0.1)
|
|
132
136
|
# - requests>=2.33.0 for CVE-2026-25645 (extract_zipped_paths temp file)
|
|
133
|
-
# -
|
|
134
|
-
# -
|
|
137
|
+
# - certifi>=2026.10.19 for PYSEC-2026-4320 (transitive via requests / httpx)
|
|
138
|
+
# - pillow>=13.0.0 for the Pillow 12.3.0 advisories fixed in 13.0.0 (CVE-2026-112390 and related; prior: PYSEC-2026-2253–2257 at >=12.3.0)
|
|
139
|
+
# - mcp>=1.30.0,<2 for CVE-2026-59951 (2.2.0+ also fixes it; 2.x breaks FastMCP — see SECURITY.md)
|
|
135
140
|
# - click>=8.3.3 for PYSEC-2026-2132 (transitive, e.g. typer / uvicorn / mkdocs stacks)
|
|
136
141
|
# - pytest>=9.0.3 for CVE-2025-71176 (dev)
|
|
137
142
|
# - python-multipart>=0.0.31 for CVE-2026-53538–53540 (FastAPI stack; prior floor 0.0.27)
|
|
@@ -151,13 +156,16 @@ Issues = "https://github.com/asap-protocol/asap-protocol/issues"
|
|
|
151
156
|
# - joserfc>=1.6.7 for CVE-2026-48990 (JWT/JWS primitives; direct + override)
|
|
152
157
|
# - python-engineio>=4.13.2 for CVE-2026-48802 / CVE-2026-48809 (transitive, locust stack)
|
|
153
158
|
# - python-socketio>=5.16.2 for CVE-2026-48804 (transitive, locust stack)
|
|
154
|
-
# - setuptools>=
|
|
159
|
+
# - setuptools>=84.1.0 for GHSA-xmj3-9gf7-h52w (also covers PYSEC-2026-3447)
|
|
160
|
+
# - fastmcp>=3.4.10,<4 for GHSA-7xgj-8392-5q4r (transitive via pydantic-ai)
|
|
155
161
|
# - pyopenssl>=26.4.0 for cryptography 50 ABI (webauthn extra; GEN_EMAIL / PKCS7)
|
|
156
162
|
# - mkdocs-material>=9.7.7 for PYSEC-2026-3864 / CVE-2026-73295 (DOM XSS in search.suggest)
|
|
157
163
|
# - multidict>=6.9.1 for CVE-2026-104874
|
|
158
164
|
# - pydantic-ai>=1.107.7,<2 for CVE-2026-107287–107291
|
|
159
165
|
# - werkzeug>=3.1.9 for CVE-2026-102598
|
|
160
166
|
# - fsspec>=2026.6.0 for CVE-2026-104851
|
|
167
|
+
# - opentelemetry-api>=1.45.1 for CVE-2026-114603 (SDK and instrumentation move with it)
|
|
168
|
+
# - brotli>=1.2.1 for PYSEC-2026-4322 / GHSA-9v8h-qqgm-4m35 (direct dependency)
|
|
161
169
|
[tool.uv]
|
|
162
170
|
override-dependencies = [
|
|
163
171
|
"aiohttp>=3.14.4,<4",
|
|
@@ -169,6 +177,7 @@ override-dependencies = [
|
|
|
169
177
|
"cryptography>=50.0.0,<51",
|
|
170
178
|
"requests>=2.33.0",
|
|
171
179
|
"pillow>=13.0.0",
|
|
180
|
+
"mcp>=1.30.0,<2",
|
|
172
181
|
"click>=8.3.3",
|
|
173
182
|
"pytest>=9.0.3",
|
|
174
183
|
"python-multipart>=0.0.31",
|
|
@@ -188,7 +197,8 @@ override-dependencies = [
|
|
|
188
197
|
"joserfc>=1.6.7,<2",
|
|
189
198
|
"python-engineio>=4.13.2",
|
|
190
199
|
"python-socketio>=5.16.2",
|
|
191
|
-
"setuptools>=
|
|
200
|
+
"setuptools>=84.1.0",
|
|
201
|
+
"fastmcp>=3.4.10,<4",
|
|
192
202
|
"h2>=4.4.1",
|
|
193
203
|
"pyopenssl>=26.4.0",
|
|
194
204
|
"mkdocs-material>=9.7.7",
|
|
@@ -196,6 +206,8 @@ override-dependencies = [
|
|
|
196
206
|
"pydantic-ai>=1.107.7,<2",
|
|
197
207
|
"werkzeug>=3.1.9",
|
|
198
208
|
"fsspec>=2026.6.0",
|
|
209
|
+
"opentelemetry-api>=1.45.1",
|
|
210
|
+
"brotli>=1.2.1",
|
|
199
211
|
]
|
|
200
212
|
|
|
201
213
|
[project.scripts]
|
|
@@ -349,8 +361,11 @@ addopts = [
|
|
|
349
361
|
"--strict-markers",
|
|
350
362
|
"--strict-config",
|
|
351
363
|
]
|
|
352
|
-
# Coverage
|
|
353
|
-
#
|
|
364
|
+
# Coverage flags stay out of addopts: a partial run would fail the project-wide floor.
|
|
365
|
+
# Commands: .cursor/README.md#canonical-commands
|
|
366
|
+
markers = [
|
|
367
|
+
"serial_mcp: MCP example server started as a subprocess. Keep the test out of pytest-xdist; CI runs pytest for it outside xdist with --cov-append.",
|
|
368
|
+
]
|
|
354
369
|
testpaths = ["tests"]
|
|
355
370
|
# Note: benchmarks/ excluded from testpaths - Locust monkey-patches gevent/ssl which
|
|
356
371
|
# conflicts with pytest-xdist. Run benchmarks separately: uv run pytest benchmarks/
|
|
@@ -368,6 +383,9 @@ filterwarnings = [
|
|
|
368
383
|
[tool.coverage.run]
|
|
369
384
|
source = ["asap"]
|
|
370
385
|
branch = true
|
|
386
|
+
# The CI coverage job reads the data file on another runner. Relative paths
|
|
387
|
+
# still resolve after checkout; absolute workspace paths would not.
|
|
388
|
+
relative_files = true
|
|
371
389
|
omit = [
|
|
372
390
|
"src/asap/examples/*", # Runnable examples and demos; tested via tests/examples/
|
|
373
391
|
"src/asap/discovery/dnssd.py", # P3 optional, deferred to v1.1.1+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{asap_protocol-2.5.8 → asap_protocol-2.5.9}/schemas/examples/shellclaw-jetson-capabilities.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|