agentic-qe 3.3.4 → 3.4.0
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.
- package/.claude/agents/v3/qe-queen-coordinator.md +332 -166
- package/.claude/helpers/statusline-v3.cjs +85 -42
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +7 -4
- package/README.md +71 -2
- package/package.json +1 -1
- package/scripts/cloud-db-config.json +10 -5
- package/scripts/merge-v3-to-root.sql +48 -0
- package/v3/CHANGELOG.md +156 -0
- package/v3/README.md +118 -1
- package/v3/assets/agents/v3/qe-queen-coordinator.md +332 -166
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +7 -4
- package/v3/dist/adapters/a2a/agent-cards/generator.d.ts +153 -0
- package/v3/dist/adapters/a2a/agent-cards/generator.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/agent-cards/generator.js +478 -0
- package/v3/dist/adapters/a2a/agent-cards/generator.js.map +1 -0
- package/v3/dist/adapters/a2a/agent-cards/schema.d.ts +274 -0
- package/v3/dist/adapters/a2a/agent-cards/schema.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/agent-cards/schema.js +135 -0
- package/v3/dist/adapters/a2a/agent-cards/schema.js.map +1 -0
- package/v3/dist/adapters/a2a/agent-cards/validator.d.ts +514 -0
- package/v3/dist/adapters/a2a/agent-cards/validator.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/agent-cards/validator.js +555 -0
- package/v3/dist/adapters/a2a/agent-cards/validator.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/index.d.ts +23 -0
- package/v3/dist/adapters/a2a/auth/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/index.js +85 -0
- package/v3/dist/adapters/a2a/auth/index.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/jwt-utils.d.ts +215 -0
- package/v3/dist/adapters/a2a/auth/jwt-utils.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/jwt-utils.js +314 -0
- package/v3/dist/adapters/a2a/auth/jwt-utils.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/middleware.d.ts +173 -0
- package/v3/dist/adapters/a2a/auth/middleware.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/middleware.js +300 -0
- package/v3/dist/adapters/a2a/auth/middleware.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts +308 -0
- package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/oauth-provider.js +573 -0
- package/v3/dist/adapters/a2a/auth/oauth-provider.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/routes.d.ts +244 -0
- package/v3/dist/adapters/a2a/auth/routes.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/routes.js +496 -0
- package/v3/dist/adapters/a2a/auth/routes.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/scopes.d.ts +219 -0
- package/v3/dist/adapters/a2a/auth/scopes.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/scopes.js +292 -0
- package/v3/dist/adapters/a2a/auth/scopes.js.map +1 -0
- package/v3/dist/adapters/a2a/auth/token-store.d.ts +278 -0
- package/v3/dist/adapters/a2a/auth/token-store.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/auth/token-store.js +453 -0
- package/v3/dist/adapters/a2a/auth/token-store.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/agent-health.d.ts +226 -0
- package/v3/dist/adapters/a2a/discovery/agent-health.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/agent-health.js +426 -0
- package/v3/dist/adapters/a2a/discovery/agent-health.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/discovery-service.d.ts +296 -0
- package/v3/dist/adapters/a2a/discovery/discovery-service.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/discovery-service.js +520 -0
- package/v3/dist/adapters/a2a/discovery/discovery-service.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/file-watcher.d.ts +166 -0
- package/v3/dist/adapters/a2a/discovery/file-watcher.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/file-watcher.js +385 -0
- package/v3/dist/adapters/a2a/discovery/file-watcher.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/hot-reload-service.d.ts +226 -0
- package/v3/dist/adapters/a2a/discovery/hot-reload-service.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/hot-reload-service.js +433 -0
- package/v3/dist/adapters/a2a/discovery/hot-reload-service.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/index.d.ts +18 -0
- package/v3/dist/adapters/a2a/discovery/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/index.js +54 -0
- package/v3/dist/adapters/a2a/discovery/index.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/metrics.d.ts +200 -0
- package/v3/dist/adapters/a2a/discovery/metrics.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/metrics.js +371 -0
- package/v3/dist/adapters/a2a/discovery/metrics.js.map +1 -0
- package/v3/dist/adapters/a2a/discovery/routes.d.ts +184 -0
- package/v3/dist/adapters/a2a/discovery/routes.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/discovery/routes.js +453 -0
- package/v3/dist/adapters/a2a/discovery/routes.js.map +1 -0
- package/v3/dist/adapters/a2a/index.d.ts +18 -0
- package/v3/dist/adapters/a2a/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/index.js +139 -0
- package/v3/dist/adapters/a2a/index.js.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/envelope.d.ts +312 -0
- package/v3/dist/adapters/a2a/jsonrpc/envelope.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/envelope.js +554 -0
- package/v3/dist/adapters/a2a/jsonrpc/envelope.js.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/errors.d.ts +244 -0
- package/v3/dist/adapters/a2a/jsonrpc/errors.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/errors.js +365 -0
- package/v3/dist/adapters/a2a/jsonrpc/errors.js.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/index.d.ts +14 -0
- package/v3/dist/adapters/a2a/jsonrpc/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/index.js +59 -0
- package/v3/dist/adapters/a2a/jsonrpc/index.js.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/methods.d.ts +400 -0
- package/v3/dist/adapters/a2a/jsonrpc/methods.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/jsonrpc/methods.js +249 -0
- package/v3/dist/adapters/a2a/jsonrpc/methods.js.map +1 -0
- package/v3/dist/adapters/a2a/notifications/index.d.ts +60 -0
- package/v3/dist/adapters/a2a/notifications/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/notifications/index.js +99 -0
- package/v3/dist/adapters/a2a/notifications/index.js.map +1 -0
- package/v3/dist/adapters/a2a/notifications/retry-queue.d.ts +225 -0
- package/v3/dist/adapters/a2a/notifications/retry-queue.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/notifications/retry-queue.js +449 -0
- package/v3/dist/adapters/a2a/notifications/retry-queue.js.map +1 -0
- package/v3/dist/adapters/a2a/notifications/signature.d.ts +133 -0
- package/v3/dist/adapters/a2a/notifications/signature.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/notifications/signature.js +244 -0
- package/v3/dist/adapters/a2a/notifications/signature.js.map +1 -0
- package/v3/dist/adapters/a2a/notifications/subscription-store.d.ts +243 -0
- package/v3/dist/adapters/a2a/notifications/subscription-store.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/notifications/subscription-store.js +486 -0
- package/v3/dist/adapters/a2a/notifications/subscription-store.js.map +1 -0
- package/v3/dist/adapters/a2a/notifications/webhook-service.d.ts +257 -0
- package/v3/dist/adapters/a2a/notifications/webhook-service.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/notifications/webhook-service.js +542 -0
- package/v3/dist/adapters/a2a/notifications/webhook-service.js.map +1 -0
- package/v3/dist/adapters/a2a/tasks/index.d.ts +16 -0
- package/v3/dist/adapters/a2a/tasks/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/tasks/index.js +33 -0
- package/v3/dist/adapters/a2a/tasks/index.js.map +1 -0
- package/v3/dist/adapters/a2a/tasks/task-manager.d.ts +306 -0
- package/v3/dist/adapters/a2a/tasks/task-manager.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/tasks/task-manager.js +562 -0
- package/v3/dist/adapters/a2a/tasks/task-manager.js.map +1 -0
- package/v3/dist/adapters/a2a/tasks/task-router.d.ts +270 -0
- package/v3/dist/adapters/a2a/tasks/task-router.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/tasks/task-router.js +574 -0
- package/v3/dist/adapters/a2a/tasks/task-router.js.map +1 -0
- package/v3/dist/adapters/a2a/tasks/task-store.d.ts +251 -0
- package/v3/dist/adapters/a2a/tasks/task-store.d.ts.map +1 -0
- package/v3/dist/adapters/a2a/tasks/task-store.js +468 -0
- package/v3/dist/adapters/a2a/tasks/task-store.js.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/aria-attributes.d.ts +294 -0
- package/v3/dist/adapters/a2ui/accessibility/aria-attributes.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/aria-attributes.js +447 -0
- package/v3/dist/adapters/a2ui/accessibility/aria-attributes.js.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/index.d.ts +83 -0
- package/v3/dist/adapters/a2ui/accessibility/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/index.js +155 -0
- package/v3/dist/adapters/a2ui/accessibility/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.d.ts +177 -0
- package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.js +638 -0
- package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.js.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/wcag-validator.d.ts +186 -0
- package/v3/dist/adapters/a2ui/accessibility/wcag-validator.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/accessibility/wcag-validator.js +816 -0
- package/v3/dist/adapters/a2ui/accessibility/wcag-validator.js.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/component-schemas.d.ts +227 -0
- package/v3/dist/adapters/a2ui/catalog/component-schemas.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/component-schemas.js +1090 -0
- package/v3/dist/adapters/a2ui/catalog/component-schemas.js.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/index.d.ts +55 -0
- package/v3/dist/adapters/a2ui/catalog/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/index.js +100 -0
- package/v3/dist/adapters/a2ui/catalog/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/qe-catalog.d.ts +456 -0
- package/v3/dist/adapters/a2ui/catalog/qe-catalog.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/qe-catalog.js +413 -0
- package/v3/dist/adapters/a2ui/catalog/qe-catalog.js.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/standard-catalog.d.ts +581 -0
- package/v3/dist/adapters/a2ui/catalog/standard-catalog.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/catalog/standard-catalog.js +409 -0
- package/v3/dist/adapters/a2ui/catalog/standard-catalog.js.map +1 -0
- package/v3/dist/adapters/a2ui/data/bound-value.d.ts +252 -0
- package/v3/dist/adapters/a2ui/data/bound-value.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/data/bound-value.js +403 -0
- package/v3/dist/adapters/a2ui/data/bound-value.js.map +1 -0
- package/v3/dist/adapters/a2ui/data/index.d.ts +14 -0
- package/v3/dist/adapters/a2ui/data/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/data/index.js +41 -0
- package/v3/dist/adapters/a2ui/data/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/data/json-pointer-resolver.d.ts +187 -0
- package/v3/dist/adapters/a2ui/data/json-pointer-resolver.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/data/json-pointer-resolver.js +425 -0
- package/v3/dist/adapters/a2ui/data/json-pointer-resolver.js.map +1 -0
- package/v3/dist/adapters/a2ui/data/reactive-store.d.ts +241 -0
- package/v3/dist/adapters/a2ui/data/reactive-store.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/data/reactive-store.js +461 -0
- package/v3/dist/adapters/a2ui/data/reactive-store.js.map +1 -0
- package/v3/dist/adapters/a2ui/index.d.ts +17 -0
- package/v3/dist/adapters/a2ui/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/index.js +119 -0
- package/v3/dist/adapters/a2ui/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/integration/agui-sync.d.ts +259 -0
- package/v3/dist/adapters/a2ui/integration/agui-sync.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/integration/agui-sync.js +559 -0
- package/v3/dist/adapters/a2ui/integration/agui-sync.js.map +1 -0
- package/v3/dist/adapters/a2ui/integration/index.d.ts +11 -0
- package/v3/dist/adapters/a2ui/integration/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/integration/index.js +23 -0
- package/v3/dist/adapters/a2ui/integration/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/integration/surface-state-bridge.d.ts +209 -0
- package/v3/dist/adapters/a2ui/integration/surface-state-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/integration/surface-state-bridge.js +545 -0
- package/v3/dist/adapters/a2ui/integration/surface-state-bridge.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/component-builder.d.ts +227 -0
- package/v3/dist/adapters/a2ui/renderer/component-builder.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/component-builder.js +488 -0
- package/v3/dist/adapters/a2ui/renderer/component-builder.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/index.d.ts +16 -0
- package/v3/dist/adapters/a2ui/renderer/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/index.js +50 -0
- package/v3/dist/adapters/a2ui/renderer/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/message-types.d.ts +299 -0
- package/v3/dist/adapters/a2ui/renderer/message-types.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/message-types.js +187 -0
- package/v3/dist/adapters/a2ui/renderer/message-types.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/surface-generator.d.ts +210 -0
- package/v3/dist/adapters/a2ui/renderer/surface-generator.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/surface-generator.js +586 -0
- package/v3/dist/adapters/a2ui/renderer/surface-generator.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.d.ts +149 -0
- package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.js +414 -0
- package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.d.ts +95 -0
- package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.js +231 -0
- package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/index.d.ts +12 -0
- package/v3/dist/adapters/a2ui/renderer/templates/index.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/index.js +16 -0
- package/v3/dist/adapters/a2ui/renderer/templates/index.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/security-surface.d.ts +121 -0
- package/v3/dist/adapters/a2ui/renderer/templates/security-surface.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/security-surface.js +367 -0
- package/v3/dist/adapters/a2ui/renderer/templates/security-surface.js.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.d.ts +104 -0
- package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.d.ts.map +1 -0
- package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.js +294 -0
- package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.js.map +1 -0
- package/v3/dist/adapters/ag-ui/backpressure-handler.d.ts +201 -0
- package/v3/dist/adapters/ag-ui/backpressure-handler.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/backpressure-handler.js +399 -0
- package/v3/dist/adapters/ag-ui/backpressure-handler.js.map +1 -0
- package/v3/dist/adapters/ag-ui/event-adapter.d.ts +360 -0
- package/v3/dist/adapters/ag-ui/event-adapter.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/event-adapter.js +1083 -0
- package/v3/dist/adapters/ag-ui/event-adapter.js.map +1 -0
- package/v3/dist/adapters/ag-ui/event-batcher.d.ts +242 -0
- package/v3/dist/adapters/ag-ui/event-batcher.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/event-batcher.js +444 -0
- package/v3/dist/adapters/ag-ui/event-batcher.js.map +1 -0
- package/v3/dist/adapters/ag-ui/event-types.d.ts +450 -0
- package/v3/dist/adapters/ag-ui/event-types.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/event-types.js +173 -0
- package/v3/dist/adapters/ag-ui/event-types.js.map +1 -0
- package/v3/dist/adapters/ag-ui/index.d.ts +17 -0
- package/v3/dist/adapters/ag-ui/index.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/index.js +47 -0
- package/v3/dist/adapters/ag-ui/index.js.map +1 -0
- package/v3/dist/adapters/ag-ui/json-patch-utils.d.ts +136 -0
- package/v3/dist/adapters/ag-ui/json-patch-utils.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/json-patch-utils.js +574 -0
- package/v3/dist/adapters/ag-ui/json-patch-utils.js.map +1 -0
- package/v3/dist/adapters/ag-ui/json-patch.d.ts +241 -0
- package/v3/dist/adapters/ag-ui/json-patch.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/json-patch.js +726 -0
- package/v3/dist/adapters/ag-ui/json-patch.js.map +1 -0
- package/v3/dist/adapters/ag-ui/state-delta-cache.d.ts +218 -0
- package/v3/dist/adapters/ag-ui/state-delta-cache.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/state-delta-cache.js +422 -0
- package/v3/dist/adapters/ag-ui/state-delta-cache.js.map +1 -0
- package/v3/dist/adapters/ag-ui/state-manager.d.ts +249 -0
- package/v3/dist/adapters/ag-ui/state-manager.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/state-manager.js +511 -0
- package/v3/dist/adapters/ag-ui/state-manager.js.map +1 -0
- package/v3/dist/adapters/ag-ui/stream-controller.d.ts +195 -0
- package/v3/dist/adapters/ag-ui/stream-controller.d.ts.map +1 -0
- package/v3/dist/adapters/ag-ui/stream-controller.js +481 -0
- package/v3/dist/adapters/ag-ui/stream-controller.js.map +1 -0
- package/v3/dist/adapters/index.d.ts +4 -0
- package/v3/dist/adapters/index.d.ts.map +1 -1
- package/v3/dist/adapters/index.js +89 -0
- package/v3/dist/adapters/index.js.map +1 -1
- package/v3/dist/cli/bundle.js +1507 -425
- package/v3/dist/coordination/consensus/providers/claude-provider.js +1 -1
- package/v3/dist/coordination/consensus/providers/gemini-provider.js +1 -1
- package/v3/dist/coordination/consensus/providers/openai-provider.js +1 -1
- package/v3/dist/init/init-wizard.d.ts.map +1 -1
- package/v3/dist/init/init-wizard.js +19 -4
- package/v3/dist/init/init-wizard.js.map +1 -1
- package/v3/dist/init/migration/config-migrator.d.ts.map +1 -1
- package/v3/dist/init/migration/config-migrator.js +15 -1
- package/v3/dist/init/migration/config-migrator.js.map +1 -1
- package/v3/dist/init/phases/05-learning.js +1 -1
- package/v3/dist/init/phases/05-learning.js.map +1 -1
- package/v3/dist/init/self-configurator.d.ts +7 -0
- package/v3/dist/init/self-configurator.d.ts.map +1 -1
- package/v3/dist/init/self-configurator.js +23 -27
- package/v3/dist/init/self-configurator.js.map +1 -1
- package/v3/dist/integrations/ruvector/interfaces.js +1 -1
- package/v3/dist/integrations/ruvector/interfaces.js.map +1 -1
- package/v3/dist/kernel/index.d.ts +1 -1
- package/v3/dist/kernel/index.d.ts.map +1 -1
- package/v3/dist/kernel/index.js +3 -1
- package/v3/dist/kernel/index.js.map +1 -1
- package/v3/dist/kernel/plugin-loader.d.ts.map +1 -1
- package/v3/dist/kernel/plugin-loader.js +6 -1
- package/v3/dist/kernel/plugin-loader.js.map +1 -1
- package/v3/dist/kernel/unified-memory.d.ts +123 -0
- package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory.js +258 -2
- package/v3/dist/kernel/unified-memory.js.map +1 -1
- package/v3/dist/learning/qe-unified-memory.js +1 -1
- package/v3/dist/learning/qe-unified-memory.js.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.js +2 -2
- package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
- package/v3/dist/learning/sqlite-persistence.d.ts +1 -1
- package/v3/dist/learning/sqlite-persistence.js +1 -1
- package/v3/dist/learning/sqlite-persistence.js.map +1 -1
- package/v3/dist/learning/v2-to-v3-migration.d.ts +2 -2
- package/v3/dist/learning/v2-to-v3-migration.d.ts.map +1 -1
- package/v3/dist/learning/v2-to-v3-migration.js +2 -2
- package/v3/dist/learning/v2-to-v3-migration.js.map +1 -1
- package/v3/dist/mcp/bundle.js +63075 -53304
- package/v3/dist/mcp/entry.d.ts +5 -0
- package/v3/dist/mcp/entry.d.ts.map +1 -1
- package/v3/dist/mcp/entry.js +36 -0
- package/v3/dist/mcp/entry.js.map +1 -1
- package/v3/dist/mcp/http-server.d.ts +95 -0
- package/v3/dist/mcp/http-server.d.ts.map +1 -0
- package/v3/dist/mcp/http-server.js +833 -0
- package/v3/dist/mcp/http-server.js.map +1 -0
- package/v3/dist/mcp/protocol-server.d.ts +6 -0
- package/v3/dist/mcp/protocol-server.d.ts.map +1 -1
- package/v3/dist/mcp/protocol-server.js +40 -0
- package/v3/dist/mcp/protocol-server.js.map +1 -1
- package/v3/dist/mcp/transport/index.d.ts +25 -3
- package/v3/dist/mcp/transport/index.d.ts.map +1 -1
- package/v3/dist/mcp/transport/index.js +22 -4
- package/v3/dist/mcp/transport/index.js.map +1 -1
- package/v3/dist/mcp/transport/sse/connection-manager.d.ts +84 -0
- package/v3/dist/mcp/transport/sse/connection-manager.d.ts.map +1 -0
- package/v3/dist/mcp/transport/sse/connection-manager.js +271 -0
- package/v3/dist/mcp/transport/sse/connection-manager.js.map +1 -0
- package/v3/dist/mcp/transport/sse/index.d.ts +10 -0
- package/v3/dist/mcp/transport/sse/index.d.ts.map +1 -0
- package/v3/dist/mcp/transport/sse/index.js +15 -0
- package/v3/dist/mcp/transport/sse/index.js.map +1 -0
- package/v3/dist/mcp/transport/sse/sse-transport.d.ts +56 -0
- package/v3/dist/mcp/transport/sse/sse-transport.d.ts.map +1 -0
- package/v3/dist/mcp/transport/sse/sse-transport.js +381 -0
- package/v3/dist/mcp/transport/sse/sse-transport.js.map +1 -0
- package/v3/dist/mcp/transport/sse/types.d.ts +237 -0
- package/v3/dist/mcp/transport/sse/types.d.ts.map +1 -0
- package/v3/dist/mcp/transport/sse/types.js +37 -0
- package/v3/dist/mcp/transport/sse/types.js.map +1 -0
- package/v3/dist/mcp/transport/websocket/connection-manager.d.ts +143 -0
- package/v3/dist/mcp/transport/websocket/connection-manager.d.ts.map +1 -0
- package/v3/dist/mcp/transport/websocket/connection-manager.js +522 -0
- package/v3/dist/mcp/transport/websocket/connection-manager.js.map +1 -0
- package/v3/dist/mcp/transport/websocket/index.d.ts +10 -0
- package/v3/dist/mcp/transport/websocket/index.d.ts.map +1 -0
- package/v3/dist/mcp/transport/websocket/index.js +19 -0
- package/v3/dist/mcp/transport/websocket/index.js.map +1 -0
- package/v3/dist/mcp/transport/websocket/types.d.ts +354 -0
- package/v3/dist/mcp/transport/websocket/types.d.ts.map +1 -0
- package/v3/dist/mcp/transport/websocket/types.js +49 -0
- package/v3/dist/mcp/transport/websocket/types.js.map +1 -0
- package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts +77 -0
- package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts.map +1 -0
- package/v3/dist/mcp/transport/websocket/websocket-transport.js +622 -0
- package/v3/dist/mcp/transport/websocket/websocket-transport.js.map +1 -0
- package/v3/dist/memory/crdt/convergence-tracker.d.ts +59 -0
- package/v3/dist/memory/crdt/convergence-tracker.d.ts.map +1 -0
- package/v3/dist/memory/crdt/convergence-tracker.js +325 -0
- package/v3/dist/memory/crdt/convergence-tracker.js.map +1 -0
- package/v3/dist/memory/crdt/crdt-store.d.ts +55 -0
- package/v3/dist/memory/crdt/crdt-store.d.ts.map +1 -0
- package/v3/dist/memory/crdt/crdt-store.js +582 -0
- package/v3/dist/memory/crdt/crdt-store.js.map +1 -0
- package/v3/dist/memory/crdt/g-counter.d.ts +47 -0
- package/v3/dist/memory/crdt/g-counter.d.ts.map +1 -0
- package/v3/dist/memory/crdt/g-counter.js +134 -0
- package/v3/dist/memory/crdt/g-counter.js.map +1 -0
- package/v3/dist/memory/crdt/index.d.ts +52 -0
- package/v3/dist/memory/crdt/index.d.ts.map +1 -0
- package/v3/dist/memory/crdt/index.js +66 -0
- package/v3/dist/memory/crdt/index.js.map +1 -0
- package/v3/dist/memory/crdt/lww-register.d.ts +40 -0
- package/v3/dist/memory/crdt/lww-register.d.ts.map +1 -0
- package/v3/dist/memory/crdt/lww-register.js +133 -0
- package/v3/dist/memory/crdt/lww-register.js.map +1 -0
- package/v3/dist/memory/crdt/or-set.d.ts +62 -0
- package/v3/dist/memory/crdt/or-set.d.ts.map +1 -0
- package/v3/dist/memory/crdt/or-set.js +336 -0
- package/v3/dist/memory/crdt/or-set.js.map +1 -0
- package/v3/dist/memory/crdt/pn-counter.d.ts +53 -0
- package/v3/dist/memory/crdt/pn-counter.d.ts.map +1 -0
- package/v3/dist/memory/crdt/pn-counter.js +147 -0
- package/v3/dist/memory/crdt/pn-counter.js.map +1 -0
- package/v3/dist/memory/crdt/types.d.ts +397 -0
- package/v3/dist/memory/crdt/types.d.ts.map +1 -0
- package/v3/dist/memory/crdt/types.js +12 -0
- package/v3/dist/memory/crdt/types.js.map +1 -0
- package/v3/dist/memory/index.d.ts +5 -2
- package/v3/dist/memory/index.d.ts.map +1 -1
- package/v3/dist/memory/index.js +5 -2
- package/v3/dist/memory/index.js.map +1 -1
- package/v3/dist/performance/benchmarks.d.ts +215 -0
- package/v3/dist/performance/benchmarks.d.ts.map +1 -0
- package/v3/dist/performance/benchmarks.js +516 -0
- package/v3/dist/performance/benchmarks.js.map +1 -0
- package/v3/dist/performance/ci-gates.d.ts +149 -0
- package/v3/dist/performance/ci-gates.d.ts.map +1 -0
- package/v3/dist/performance/ci-gates.js +425 -0
- package/v3/dist/performance/ci-gates.js.map +1 -0
- package/v3/dist/performance/index.d.ts +18 -0
- package/v3/dist/performance/index.d.ts.map +1 -0
- package/v3/dist/performance/index.js +26 -0
- package/v3/dist/performance/index.js.map +1 -0
- package/v3/dist/performance/optimizer.d.ts +323 -0
- package/v3/dist/performance/optimizer.d.ts.map +1 -0
- package/v3/dist/performance/optimizer.js +592 -0
- package/v3/dist/performance/optimizer.js.map +1 -0
- package/v3/dist/performance/profiler.d.ts +195 -0
- package/v3/dist/performance/profiler.d.ts.map +1 -0
- package/v3/dist/performance/profiler.js +369 -0
- package/v3/dist/performance/profiler.js.map +1 -0
- package/v3/dist/performance/run-gates.d.ts +23 -0
- package/v3/dist/performance/run-gates.d.ts.map +1 -0
- package/v3/dist/performance/run-gates.js +122 -0
- package/v3/dist/performance/run-gates.js.map +1 -0
- package/v3/dist/sync/claude-flow-bridge.d.ts +1 -1
- package/v3/dist/sync/claude-flow-bridge.js +1 -1
- package/v3/dist/sync/interfaces.d.ts +6 -0
- package/v3/dist/sync/interfaces.d.ts.map +1 -1
- package/v3/dist/sync/interfaces.js +34 -47
- package/v3/dist/sync/interfaces.js.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.d.ts +1 -1
- package/v3/dist/sync/readers/sqlite-reader.js +1 -1
- package/v3/dist/testing/index.d.ts +6 -0
- package/v3/dist/testing/index.d.ts.map +1 -0
- package/v3/dist/testing/index.js +7 -0
- package/v3/dist/testing/index.js.map +1 -0
- package/v3/dist/testing/load/agent-load-tester.d.ts +221 -0
- package/v3/dist/testing/load/agent-load-tester.d.ts.map +1 -0
- package/v3/dist/testing/load/agent-load-tester.js +566 -0
- package/v3/dist/testing/load/agent-load-tester.js.map +1 -0
- package/v3/dist/testing/load/bottleneck-analyzer.d.ts +150 -0
- package/v3/dist/testing/load/bottleneck-analyzer.d.ts.map +1 -0
- package/v3/dist/testing/load/bottleneck-analyzer.js +442 -0
- package/v3/dist/testing/load/bottleneck-analyzer.js.map +1 -0
- package/v3/dist/testing/load/index.d.ts +17 -0
- package/v3/dist/testing/load/index.d.ts.map +1 -0
- package/v3/dist/testing/load/index.js +23 -0
- package/v3/dist/testing/load/index.js.map +1 -0
- package/v3/dist/testing/load/metrics-collector.d.ts +275 -0
- package/v3/dist/testing/load/metrics-collector.d.ts.map +1 -0
- package/v3/dist/testing/load/metrics-collector.js +475 -0
- package/v3/dist/testing/load/metrics-collector.js.map +1 -0
- package/v3/package.json +5 -1
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-RPC 2.0 Message Envelope for A2A Protocol
|
|
3
|
+
*
|
|
4
|
+
* Implements the JSON-RPC 2.0 message format for A2A communication.
|
|
5
|
+
* Provides request/response creation, parsing, and validation.
|
|
6
|
+
*
|
|
7
|
+
* @module adapters/a2a/jsonrpc/envelope
|
|
8
|
+
* @see https://www.jsonrpc.org/specification
|
|
9
|
+
* @see https://a2a-protocol.org/latest/specification/
|
|
10
|
+
*/
|
|
11
|
+
import { createParseError, createInvalidRequestError, createMethodNotFoundError, } from './errors.js';
|
|
12
|
+
import { isValidMethod, methodRequiresParams, } from './methods.js';
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Constants
|
|
15
|
+
// ============================================================================
|
|
16
|
+
/**
|
|
17
|
+
* JSON-RPC 2.0 protocol version.
|
|
18
|
+
*/
|
|
19
|
+
export const JSONRPC_VERSION = '2.0';
|
|
20
|
+
/**
|
|
21
|
+
* Maximum request ID length.
|
|
22
|
+
*/
|
|
23
|
+
export const MAX_ID_LENGTH = 256;
|
|
24
|
+
/**
|
|
25
|
+
* Maximum method name length.
|
|
26
|
+
*/
|
|
27
|
+
export const MAX_METHOD_LENGTH = 128;
|
|
28
|
+
/**
|
|
29
|
+
* Create a success result.
|
|
30
|
+
*/
|
|
31
|
+
export function ok(value) {
|
|
32
|
+
return { success: true, value };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create an error result.
|
|
36
|
+
*/
|
|
37
|
+
export function err(error) {
|
|
38
|
+
return { success: false, error };
|
|
39
|
+
}
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Request Creation
|
|
42
|
+
// ============================================================================
|
|
43
|
+
let requestIdCounter = 0;
|
|
44
|
+
/**
|
|
45
|
+
* Generate a unique request ID.
|
|
46
|
+
*/
|
|
47
|
+
export function generateRequestId() {
|
|
48
|
+
return `req-${Date.now()}-${++requestIdCounter}`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create a JSON-RPC 2.0 request.
|
|
52
|
+
*
|
|
53
|
+
* @param method - Method name to invoke
|
|
54
|
+
* @param params - Method parameters (optional)
|
|
55
|
+
* @param id - Request ID (auto-generated if not provided)
|
|
56
|
+
* @returns JSON-RPC 2.0 request object
|
|
57
|
+
*/
|
|
58
|
+
export function createRequest(method, params, id) {
|
|
59
|
+
const request = {
|
|
60
|
+
jsonrpc: JSONRPC_VERSION,
|
|
61
|
+
id: id ?? generateRequestId(),
|
|
62
|
+
method,
|
|
63
|
+
};
|
|
64
|
+
if (params !== undefined) {
|
|
65
|
+
request.params = params;
|
|
66
|
+
}
|
|
67
|
+
return request;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create a JSON-RPC 2.0 notification (request without id).
|
|
71
|
+
*
|
|
72
|
+
* @param method - Method name to invoke
|
|
73
|
+
* @param params - Method parameters (optional)
|
|
74
|
+
* @returns JSON-RPC 2.0 notification object
|
|
75
|
+
*/
|
|
76
|
+
export function createNotification(method, params) {
|
|
77
|
+
const notification = {
|
|
78
|
+
jsonrpc: JSONRPC_VERSION,
|
|
79
|
+
method,
|
|
80
|
+
};
|
|
81
|
+
if (params !== undefined) {
|
|
82
|
+
notification.params = params;
|
|
83
|
+
}
|
|
84
|
+
return notification;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a typed A2A request.
|
|
88
|
+
*
|
|
89
|
+
* @param method - A2A method name
|
|
90
|
+
* @param params - Method parameters
|
|
91
|
+
* @param id - Request ID (auto-generated if not provided)
|
|
92
|
+
* @returns Typed A2A request object
|
|
93
|
+
*/
|
|
94
|
+
export function createA2ARequest(method, params, id) {
|
|
95
|
+
return createRequest(method, params, id);
|
|
96
|
+
}
|
|
97
|
+
// ============================================================================
|
|
98
|
+
// Response Creation
|
|
99
|
+
// ============================================================================
|
|
100
|
+
/**
|
|
101
|
+
* Create a JSON-RPC 2.0 success response.
|
|
102
|
+
*
|
|
103
|
+
* @param id - Request ID (from the original request)
|
|
104
|
+
* @param result - Result value
|
|
105
|
+
* @returns JSON-RPC 2.0 success response
|
|
106
|
+
*/
|
|
107
|
+
export function createSuccessResponse(id, result) {
|
|
108
|
+
return {
|
|
109
|
+
jsonrpc: JSONRPC_VERSION,
|
|
110
|
+
id,
|
|
111
|
+
result,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a JSON-RPC 2.0 error response.
|
|
116
|
+
*
|
|
117
|
+
* @param id - Request ID (null if couldn't be determined)
|
|
118
|
+
* @param code - Error code
|
|
119
|
+
* @param message - Error message
|
|
120
|
+
* @param data - Additional error data (optional)
|
|
121
|
+
* @returns JSON-RPC 2.0 error response
|
|
122
|
+
*/
|
|
123
|
+
export function createErrorResponse(id, code, message, data) {
|
|
124
|
+
const response = {
|
|
125
|
+
jsonrpc: JSONRPC_VERSION,
|
|
126
|
+
id,
|
|
127
|
+
error: {
|
|
128
|
+
code,
|
|
129
|
+
message,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
if (data !== undefined) {
|
|
133
|
+
response.error.data = data;
|
|
134
|
+
}
|
|
135
|
+
return response;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create an error response from a JsonRpcError.
|
|
139
|
+
*
|
|
140
|
+
* @param id - Request ID
|
|
141
|
+
* @param error - JsonRpcError instance
|
|
142
|
+
* @returns JSON-RPC 2.0 error response
|
|
143
|
+
*/
|
|
144
|
+
export function createErrorResponseFromError(id, error) {
|
|
145
|
+
return {
|
|
146
|
+
jsonrpc: JSONRPC_VERSION,
|
|
147
|
+
id,
|
|
148
|
+
error: error.toErrorObject(),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Validate a JSON-RPC request ID.
|
|
153
|
+
*/
|
|
154
|
+
export function validateId(id) {
|
|
155
|
+
const errors = [];
|
|
156
|
+
if (id === undefined) {
|
|
157
|
+
errors.push('id is required');
|
|
158
|
+
}
|
|
159
|
+
else if (typeof id !== 'string' && typeof id !== 'number') {
|
|
160
|
+
errors.push('id must be a string or number');
|
|
161
|
+
}
|
|
162
|
+
else if (typeof id === 'string' && id.length > MAX_ID_LENGTH) {
|
|
163
|
+
errors.push(`id length exceeds maximum (${MAX_ID_LENGTH})`);
|
|
164
|
+
}
|
|
165
|
+
else if (typeof id === 'number' && (!Number.isFinite(id) || Number.isNaN(id))) {
|
|
166
|
+
errors.push('id must be a finite number');
|
|
167
|
+
}
|
|
168
|
+
return { valid: errors.length === 0, errors };
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Validate a JSON-RPC method name.
|
|
172
|
+
*/
|
|
173
|
+
export function validateMethod(method) {
|
|
174
|
+
const errors = [];
|
|
175
|
+
if (method === undefined || method === null) {
|
|
176
|
+
errors.push('method is required');
|
|
177
|
+
}
|
|
178
|
+
else if (typeof method !== 'string') {
|
|
179
|
+
errors.push('method must be a string');
|
|
180
|
+
}
|
|
181
|
+
else if (method.length === 0) {
|
|
182
|
+
errors.push('method cannot be empty');
|
|
183
|
+
}
|
|
184
|
+
else if (method.length > MAX_METHOD_LENGTH) {
|
|
185
|
+
errors.push(`method length exceeds maximum (${MAX_METHOD_LENGTH})`);
|
|
186
|
+
}
|
|
187
|
+
else if (method.startsWith('rpc.')) {
|
|
188
|
+
errors.push('method names starting with "rpc." are reserved');
|
|
189
|
+
}
|
|
190
|
+
return { valid: errors.length === 0, errors };
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Validate a JSON-RPC params object.
|
|
194
|
+
*/
|
|
195
|
+
export function validateParams(params, method) {
|
|
196
|
+
const errors = [];
|
|
197
|
+
if (params !== undefined) {
|
|
198
|
+
if (typeof params !== 'object' || params === null || Array.isArray(params)) {
|
|
199
|
+
errors.push('params must be an object (A2A uses named parameters only)');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Check if method requires params
|
|
203
|
+
if (method && isValidMethod(method) && methodRequiresParams(method) && params === undefined) {
|
|
204
|
+
errors.push(`params are required for method ${method}`);
|
|
205
|
+
}
|
|
206
|
+
return { valid: errors.length === 0, errors };
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Validate a complete JSON-RPC 2.0 request structure.
|
|
210
|
+
*/
|
|
211
|
+
export function validateRequestStructure(request) {
|
|
212
|
+
const errors = [];
|
|
213
|
+
if (typeof request !== 'object' || request === null) {
|
|
214
|
+
return { valid: false, errors: ['Request must be an object'] };
|
|
215
|
+
}
|
|
216
|
+
const req = request;
|
|
217
|
+
// Validate jsonrpc version
|
|
218
|
+
if (req.jsonrpc !== JSONRPC_VERSION) {
|
|
219
|
+
errors.push(`jsonrpc must be exactly "${JSONRPC_VERSION}"`);
|
|
220
|
+
}
|
|
221
|
+
// Validate id
|
|
222
|
+
const idResult = validateId(req.id);
|
|
223
|
+
errors.push(...idResult.errors);
|
|
224
|
+
// Validate method
|
|
225
|
+
const methodResult = validateMethod(req.method);
|
|
226
|
+
errors.push(...methodResult.errors);
|
|
227
|
+
// Validate params
|
|
228
|
+
const paramsResult = validateParams(req.params, req.method);
|
|
229
|
+
errors.push(...paramsResult.errors);
|
|
230
|
+
return { valid: errors.length === 0, errors };
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Validate that a method is a known A2A method.
|
|
234
|
+
*/
|
|
235
|
+
export function validateA2AMethod(method) {
|
|
236
|
+
if (!isValidMethod(method)) {
|
|
237
|
+
return {
|
|
238
|
+
valid: false,
|
|
239
|
+
errors: [`Unknown A2A method: ${method}`],
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
return { valid: true, errors: [] };
|
|
243
|
+
}
|
|
244
|
+
// ============================================================================
|
|
245
|
+
// Parsing
|
|
246
|
+
// ============================================================================
|
|
247
|
+
/**
|
|
248
|
+
* Parse a JSON string into a JSON-RPC request.
|
|
249
|
+
*
|
|
250
|
+
* @param json - JSON string to parse
|
|
251
|
+
* @returns Result with parsed request or error
|
|
252
|
+
*/
|
|
253
|
+
export function parseRequest(json) {
|
|
254
|
+
// Parse JSON
|
|
255
|
+
let parsed;
|
|
256
|
+
try {
|
|
257
|
+
parsed = JSON.parse(json);
|
|
258
|
+
}
|
|
259
|
+
catch (e) {
|
|
260
|
+
const message = e instanceof Error ? e.message : 'Unknown parse error';
|
|
261
|
+
return err(createParseError(message));
|
|
262
|
+
}
|
|
263
|
+
// Handle batch requests (return error for now - handle separately)
|
|
264
|
+
if (Array.isArray(parsed)) {
|
|
265
|
+
return err(createInvalidRequestError('Batch requests should use parseBatchRequest'));
|
|
266
|
+
}
|
|
267
|
+
// Validate structure
|
|
268
|
+
const validation = validateRequestStructure(parsed);
|
|
269
|
+
if (!validation.valid) {
|
|
270
|
+
return err(createInvalidRequestError(validation.errors.join('; ')));
|
|
271
|
+
}
|
|
272
|
+
return ok(parsed);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Parse and validate as an A2A request.
|
|
276
|
+
*
|
|
277
|
+
* @param json - JSON string to parse
|
|
278
|
+
* @returns Result with parsed A2A request or error
|
|
279
|
+
*/
|
|
280
|
+
export function parseA2ARequest(json) {
|
|
281
|
+
const result = parseRequest(json);
|
|
282
|
+
if (result.success === false) {
|
|
283
|
+
return err(result.error);
|
|
284
|
+
}
|
|
285
|
+
// Validate A2A method
|
|
286
|
+
const methodValidation = validateA2AMethod(result.value.method);
|
|
287
|
+
if (!methodValidation.valid) {
|
|
288
|
+
return err(createMethodNotFoundError(result.value.method));
|
|
289
|
+
}
|
|
290
|
+
return ok(result.value);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Parse a batch of JSON-RPC requests.
|
|
294
|
+
*
|
|
295
|
+
* @param json - JSON string to parse
|
|
296
|
+
* @returns Result with parsed requests or error
|
|
297
|
+
*/
|
|
298
|
+
export function parseBatchRequest(json) {
|
|
299
|
+
let parsed;
|
|
300
|
+
try {
|
|
301
|
+
parsed = JSON.parse(json);
|
|
302
|
+
}
|
|
303
|
+
catch (e) {
|
|
304
|
+
const message = e instanceof Error ? e.message : 'Unknown parse error';
|
|
305
|
+
return err(createParseError(message));
|
|
306
|
+
}
|
|
307
|
+
if (!Array.isArray(parsed)) {
|
|
308
|
+
return err(createInvalidRequestError('Batch request must be an array'));
|
|
309
|
+
}
|
|
310
|
+
if (parsed.length === 0) {
|
|
311
|
+
return err(createInvalidRequestError('Batch request cannot be empty'));
|
|
312
|
+
}
|
|
313
|
+
const requests = [];
|
|
314
|
+
const errors = [];
|
|
315
|
+
for (let i = 0; i < parsed.length; i++) {
|
|
316
|
+
const validation = validateRequestStructure(parsed[i]);
|
|
317
|
+
if (!validation.valid) {
|
|
318
|
+
errors.push(`Request[${i}]: ${validation.errors.join('; ')}`);
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
requests.push(parsed[i]);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
if (errors.length > 0) {
|
|
325
|
+
return err(createInvalidRequestError(errors.join('; ')));
|
|
326
|
+
}
|
|
327
|
+
return ok(requests);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Parse a JSON-RPC response.
|
|
331
|
+
*
|
|
332
|
+
* @param json - JSON string to parse
|
|
333
|
+
* @returns Result with parsed response or error
|
|
334
|
+
*/
|
|
335
|
+
export function parseResponse(json) {
|
|
336
|
+
let parsed;
|
|
337
|
+
try {
|
|
338
|
+
parsed = JSON.parse(json);
|
|
339
|
+
}
|
|
340
|
+
catch (e) {
|
|
341
|
+
const message = e instanceof Error ? e.message : 'Unknown parse error';
|
|
342
|
+
return err(createParseError(message));
|
|
343
|
+
}
|
|
344
|
+
if (typeof parsed !== 'object' || parsed === null) {
|
|
345
|
+
return err(createInvalidRequestError('Response must be an object'));
|
|
346
|
+
}
|
|
347
|
+
const resp = parsed;
|
|
348
|
+
// Validate jsonrpc version
|
|
349
|
+
if (resp.jsonrpc !== JSONRPC_VERSION) {
|
|
350
|
+
return err(createInvalidRequestError(`jsonrpc must be exactly "${JSONRPC_VERSION}"`));
|
|
351
|
+
}
|
|
352
|
+
// Must have either result or error, but not both
|
|
353
|
+
const hasResult = 'result' in resp;
|
|
354
|
+
const hasError = 'error' in resp;
|
|
355
|
+
if (!hasResult && !hasError) {
|
|
356
|
+
return err(createInvalidRequestError('Response must have either result or error'));
|
|
357
|
+
}
|
|
358
|
+
if (hasResult && hasError) {
|
|
359
|
+
return err(createInvalidRequestError('Response cannot have both result and error'));
|
|
360
|
+
}
|
|
361
|
+
// Validate error object structure if present
|
|
362
|
+
if (hasError) {
|
|
363
|
+
const error = resp.error;
|
|
364
|
+
if (typeof error !== 'object' || error === null) {
|
|
365
|
+
return err(createInvalidRequestError('error must be an object'));
|
|
366
|
+
}
|
|
367
|
+
const errorObj = error;
|
|
368
|
+
if (typeof errorObj.code !== 'number') {
|
|
369
|
+
return err(createInvalidRequestError('error.code must be a number'));
|
|
370
|
+
}
|
|
371
|
+
if (typeof errorObj.message !== 'string') {
|
|
372
|
+
return err(createInvalidRequestError('error.message must be a string'));
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
return ok(parsed);
|
|
376
|
+
}
|
|
377
|
+
// ============================================================================
|
|
378
|
+
// Serialization
|
|
379
|
+
// ============================================================================
|
|
380
|
+
/**
|
|
381
|
+
* Serialize a JSON-RPC request to JSON string.
|
|
382
|
+
*
|
|
383
|
+
* @param request - Request object to serialize
|
|
384
|
+
* @returns JSON string
|
|
385
|
+
*/
|
|
386
|
+
export function serializeRequest(request) {
|
|
387
|
+
return JSON.stringify(request);
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Serialize a JSON-RPC response to JSON string.
|
|
391
|
+
*
|
|
392
|
+
* @param response - Response object to serialize
|
|
393
|
+
* @returns JSON string
|
|
394
|
+
*/
|
|
395
|
+
export function serializeResponse(response) {
|
|
396
|
+
return JSON.stringify(response);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Serialize a batch of requests to JSON string.
|
|
400
|
+
*
|
|
401
|
+
* @param requests - Array of request objects
|
|
402
|
+
* @returns JSON string
|
|
403
|
+
*/
|
|
404
|
+
export function serializeBatchRequest(requests) {
|
|
405
|
+
return JSON.stringify(requests);
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Serialize a batch of responses to JSON string.
|
|
409
|
+
*
|
|
410
|
+
* @param responses - Array of response objects
|
|
411
|
+
* @returns JSON string
|
|
412
|
+
*/
|
|
413
|
+
export function serializeBatchResponse(responses) {
|
|
414
|
+
return JSON.stringify(responses);
|
|
415
|
+
}
|
|
416
|
+
// ============================================================================
|
|
417
|
+
// Type Guards
|
|
418
|
+
// ============================================================================
|
|
419
|
+
/**
|
|
420
|
+
* Check if a response is a success response.
|
|
421
|
+
*/
|
|
422
|
+
export function isSuccessResponse(response) {
|
|
423
|
+
return 'result' in response;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Check if a response is an error response.
|
|
427
|
+
*/
|
|
428
|
+
export function isErrorResponse(response) {
|
|
429
|
+
return 'error' in response;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Check if an object is a JSON-RPC request.
|
|
433
|
+
*/
|
|
434
|
+
export function isRequest(obj) {
|
|
435
|
+
if (typeof obj !== 'object' || obj === null)
|
|
436
|
+
return false;
|
|
437
|
+
const req = obj;
|
|
438
|
+
return req.jsonrpc === JSONRPC_VERSION && typeof req.method === 'string' && 'id' in req;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Check if an object is a JSON-RPC notification.
|
|
442
|
+
*/
|
|
443
|
+
export function isNotification(obj) {
|
|
444
|
+
if (typeof obj !== 'object' || obj === null)
|
|
445
|
+
return false;
|
|
446
|
+
const notif = obj;
|
|
447
|
+
return notif.jsonrpc === JSONRPC_VERSION && typeof notif.method === 'string' && !('id' in notif);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Check if an object is a JSON-RPC response.
|
|
451
|
+
*/
|
|
452
|
+
export function isResponse(obj) {
|
|
453
|
+
if (typeof obj !== 'object' || obj === null)
|
|
454
|
+
return false;
|
|
455
|
+
const resp = obj;
|
|
456
|
+
return resp.jsonrpc === JSONRPC_VERSION && ('result' in resp || 'error' in resp);
|
|
457
|
+
}
|
|
458
|
+
// ============================================================================
|
|
459
|
+
// Utility Functions
|
|
460
|
+
// ============================================================================
|
|
461
|
+
/**
|
|
462
|
+
* Extract the request ID from a request, handling parse errors gracefully.
|
|
463
|
+
*/
|
|
464
|
+
export function extractRequestId(json) {
|
|
465
|
+
try {
|
|
466
|
+
const parsed = JSON.parse(json);
|
|
467
|
+
if (typeof parsed === 'object' && parsed !== null) {
|
|
468
|
+
const id = parsed.id;
|
|
469
|
+
if (typeof id === 'string' || typeof id === 'number') {
|
|
470
|
+
return id;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
catch {
|
|
475
|
+
// Ignore parse errors
|
|
476
|
+
}
|
|
477
|
+
return null;
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Create a response matcher for correlating requests and responses.
|
|
481
|
+
*/
|
|
482
|
+
export function createResponseMatcher() {
|
|
483
|
+
const pending = new Map();
|
|
484
|
+
return {
|
|
485
|
+
/**
|
|
486
|
+
* Register a pending request.
|
|
487
|
+
*/
|
|
488
|
+
register(id) {
|
|
489
|
+
return new Promise((resolve) => {
|
|
490
|
+
pending.set(id, resolve);
|
|
491
|
+
});
|
|
492
|
+
},
|
|
493
|
+
/**
|
|
494
|
+
* Resolve a pending request with a response.
|
|
495
|
+
*/
|
|
496
|
+
resolve(response) {
|
|
497
|
+
const resolver = pending.get(response.id);
|
|
498
|
+
if (resolver) {
|
|
499
|
+
pending.delete(response.id);
|
|
500
|
+
resolver(response);
|
|
501
|
+
return true;
|
|
502
|
+
}
|
|
503
|
+
return false;
|
|
504
|
+
},
|
|
505
|
+
/**
|
|
506
|
+
* Cancel a pending request.
|
|
507
|
+
*/
|
|
508
|
+
cancel(id) {
|
|
509
|
+
return pending.delete(id);
|
|
510
|
+
},
|
|
511
|
+
/**
|
|
512
|
+
* Get count of pending requests.
|
|
513
|
+
*/
|
|
514
|
+
get pendingCount() {
|
|
515
|
+
return pending.size;
|
|
516
|
+
},
|
|
517
|
+
/**
|
|
518
|
+
* Clear all pending requests.
|
|
519
|
+
*/
|
|
520
|
+
clear() {
|
|
521
|
+
pending.clear();
|
|
522
|
+
},
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Format a request for logging (redacts sensitive data).
|
|
527
|
+
*/
|
|
528
|
+
export function formatRequestForLogging(request) {
|
|
529
|
+
const summary = {
|
|
530
|
+
id: request.id,
|
|
531
|
+
method: request.method,
|
|
532
|
+
hasParams: request.params !== undefined,
|
|
533
|
+
};
|
|
534
|
+
return JSON.stringify(summary);
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Format a response for logging.
|
|
538
|
+
*/
|
|
539
|
+
export function formatResponseForLogging(response) {
|
|
540
|
+
if (isErrorResponse(response)) {
|
|
541
|
+
return JSON.stringify({
|
|
542
|
+
id: response.id,
|
|
543
|
+
error: {
|
|
544
|
+
code: response.error.code,
|
|
545
|
+
message: response.error.message,
|
|
546
|
+
},
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
return JSON.stringify({
|
|
550
|
+
id: response.id,
|
|
551
|
+
hasResult: true,
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
//# sourceMappingURL=envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/adapters/a2a/jsonrpc/envelope.ts"],"names":[],"mappings":"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"}
|