@copilotkit/runtime 2.0.0-next.1 → 2.0.0-rc.1
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/LICENSE +21 -0
- package/README.md +135 -1
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/_virtual/_rolldown/runtime.mjs +18 -0
- package/dist/agent/converters/aisdk.cjs +355 -0
- package/dist/agent/converters/aisdk.cjs.map +1 -0
- package/dist/agent/converters/aisdk.d.cts +22 -0
- package/dist/agent/converters/aisdk.d.cts.map +1 -0
- package/dist/agent/converters/aisdk.d.mts +22 -0
- package/dist/agent/converters/aisdk.d.mts.map +1 -0
- package/dist/agent/converters/aisdk.mjs +351 -0
- package/dist/agent/converters/aisdk.mjs.map +1 -0
- package/dist/agent/converters/index.d.mts +2 -0
- package/dist/agent/converters/tanstack.cjs +374 -0
- package/dist/agent/converters/tanstack.cjs.map +1 -0
- package/dist/agent/converters/tanstack.d.cts +83 -0
- package/dist/agent/converters/tanstack.d.cts.map +1 -0
- package/dist/agent/converters/tanstack.d.mts +83 -0
- package/dist/agent/converters/tanstack.d.mts.map +1 -0
- package/dist/agent/converters/tanstack.mjs +372 -0
- package/dist/agent/converters/tanstack.mjs.map +1 -0
- package/dist/agent/converters/usage.cjs +68 -0
- package/dist/agent/converters/usage.cjs.map +1 -0
- package/dist/agent/converters/usage.d.cts +19 -0
- package/dist/agent/converters/usage.d.cts.map +1 -0
- package/dist/agent/converters/usage.d.mts +19 -0
- package/dist/agent/converters/usage.d.mts.map +1 -0
- package/dist/agent/converters/usage.mjs +62 -0
- package/dist/agent/converters/usage.mjs.map +1 -0
- package/dist/agent/index.cjs +1328 -0
- package/dist/agent/index.cjs.map +1 -0
- package/dist/agent/index.d.cts +467 -0
- package/dist/agent/index.d.cts.map +1 -0
- package/dist/agent/index.d.mts +468 -0
- package/dist/agent/index.d.mts.map +1 -0
- package/dist/agent/index.mjs +1318 -0
- package/dist/agent/index.mjs.map +1 -0
- package/dist/agent/learned-skills.cjs +76 -0
- package/dist/agent/learned-skills.cjs.map +1 -0
- package/dist/agent/learned-skills.d.cts +15 -0
- package/dist/agent/learned-skills.d.cts.map +1 -0
- package/dist/agent/learned-skills.d.mts +15 -0
- package/dist/agent/learned-skills.d.mts.map +1 -0
- package/dist/agent/learned-skills.mjs +74 -0
- package/dist/agent/learned-skills.mjs.map +1 -0
- package/dist/agent/mcp-tool-names.cjs +82 -0
- package/dist/agent/mcp-tool-names.cjs.map +1 -0
- package/dist/agent/mcp-tool-names.mjs +80 -0
- package/dist/agent/mcp-tool-names.mjs.map +1 -0
- package/dist/agent/state-delta.cjs +321 -0
- package/dist/agent/state-delta.cjs.map +1 -0
- package/dist/agent/state-delta.mjs +320 -0
- package/dist/agent/state-delta.mjs.map +1 -0
- package/dist/agent/url-download.cjs +503 -0
- package/dist/agent/url-download.cjs.map +1 -0
- package/dist/agent/url-download.d.cts +79 -0
- package/dist/agent/url-download.d.cts.map +1 -0
- package/dist/agent/url-download.d.mts +79 -0
- package/dist/agent/url-download.d.mts.map +1 -0
- package/dist/agent/url-download.mjs +500 -0
- package/dist/agent/url-download.mjs.map +1 -0
- package/dist/index.cjs +75 -0
- package/dist/index.d.cts +24 -0
- package/dist/index.d.mts +24 -0
- package/dist/index.mjs +17 -5598
- package/dist/internal/learned-skills.cjs +21 -0
- package/dist/internal/learned-skills.d.cts +9 -0
- package/dist/internal/learned-skills.d.mts +9 -0
- package/dist/internal/learned-skills.mjs +9 -0
- package/dist/node.cjs +7 -0
- package/dist/node.d.cts +4 -0
- package/dist/node.d.mts +4 -0
- package/dist/node.mjs +4 -0
- package/dist/runtime/core/channel-activation-config.cjs +87 -0
- package/dist/runtime/core/channel-activation-config.cjs.map +1 -0
- package/dist/runtime/core/channel-activation-config.d.cts +39 -0
- package/dist/runtime/core/channel-activation-config.d.cts.map +1 -0
- package/dist/runtime/core/channel-activation-config.d.mts +39 -0
- package/dist/runtime/core/channel-activation-config.d.mts.map +1 -0
- package/dist/runtime/core/channel-activation-config.mjs +85 -0
- package/dist/runtime/core/channel-activation-config.mjs.map +1 -0
- package/dist/runtime/core/channel-manager.cjs +973 -0
- package/dist/runtime/core/channel-manager.cjs.map +1 -0
- package/dist/runtime/core/channel-manager.d.cts +166 -0
- package/dist/runtime/core/channel-manager.d.cts.map +1 -0
- package/dist/runtime/core/channel-manager.d.mts +167 -0
- package/dist/runtime/core/channel-manager.d.mts.map +1 -0
- package/dist/runtime/core/channel-manager.mjs +972 -0
- package/dist/runtime/core/channel-manager.mjs.map +1 -0
- package/dist/runtime/core/debug-event-bus.cjs +57 -0
- package/dist/runtime/core/debug-event-bus.cjs.map +1 -0
- package/dist/runtime/core/debug-event-bus.d.cts +18 -0
- package/dist/runtime/core/debug-event-bus.d.cts.map +1 -0
- package/dist/runtime/core/debug-event-bus.d.mts +18 -0
- package/dist/runtime/core/debug-event-bus.d.mts.map +1 -0
- package/dist/runtime/core/debug-event-bus.mjs +55 -0
- package/dist/runtime/core/debug-event-bus.mjs.map +1 -0
- package/dist/runtime/core/fetch-cors.cjs +71 -0
- package/dist/runtime/core/fetch-cors.cjs.map +1 -0
- package/dist/runtime/core/fetch-cors.d.cts +19 -0
- package/dist/runtime/core/fetch-cors.d.cts.map +1 -0
- package/dist/runtime/core/fetch-cors.d.mts +19 -0
- package/dist/runtime/core/fetch-cors.d.mts.map +1 -0
- package/dist/runtime/core/fetch-cors.mjs +69 -0
- package/dist/runtime/core/fetch-cors.mjs.map +1 -0
- package/dist/runtime/core/fetch-handler.cjs +539 -0
- package/dist/runtime/core/fetch-handler.cjs.map +1 -0
- package/dist/runtime/core/fetch-handler.d.cts +99 -0
- package/dist/runtime/core/fetch-handler.d.cts.map +1 -0
- package/dist/runtime/core/fetch-handler.d.mts +99 -0
- package/dist/runtime/core/fetch-handler.d.mts.map +1 -0
- package/dist/runtime/core/fetch-handler.mjs +538 -0
- package/dist/runtime/core/fetch-handler.mjs.map +1 -0
- package/dist/runtime/core/fetch-router.cjs +141 -0
- package/dist/runtime/core/fetch-router.cjs.map +1 -0
- package/dist/runtime/core/fetch-router.mjs +140 -0
- package/dist/runtime/core/fetch-router.mjs.map +1 -0
- package/dist/runtime/core/hooks.cjs +28 -0
- package/dist/runtime/core/hooks.cjs.map +1 -0
- package/dist/runtime/core/hooks.d.cts +121 -0
- package/dist/runtime/core/hooks.d.cts.map +1 -0
- package/dist/runtime/core/hooks.d.mts +121 -0
- package/dist/runtime/core/hooks.d.mts.map +1 -0
- package/dist/runtime/core/hooks.mjs +24 -0
- package/dist/runtime/core/hooks.mjs.map +1 -0
- package/dist/runtime/core/learning.cjs +61 -0
- package/dist/runtime/core/learning.cjs.map +1 -0
- package/dist/runtime/core/learning.d.cts +61 -0
- package/dist/runtime/core/learning.d.cts.map +1 -0
- package/dist/runtime/core/learning.d.mts +61 -0
- package/dist/runtime/core/learning.d.mts.map +1 -0
- package/dist/runtime/core/learning.mjs +56 -0
- package/dist/runtime/core/learning.mjs.map +1 -0
- package/dist/runtime/core/logger.cjs +21 -0
- package/dist/runtime/core/logger.cjs.map +1 -0
- package/dist/runtime/core/logger.d.cts +12 -0
- package/dist/runtime/core/logger.d.cts.map +1 -0
- package/dist/runtime/core/logger.d.mts +12 -0
- package/dist/runtime/core/logger.d.mts.map +1 -0
- package/dist/runtime/core/logger.mjs +18 -0
- package/dist/runtime/core/logger.mjs.map +1 -0
- package/dist/runtime/core/middleware-sse-parser.cjs +149 -0
- package/dist/runtime/core/middleware-sse-parser.cjs.map +1 -0
- package/dist/runtime/core/middleware-sse-parser.d.cts +21 -0
- package/dist/runtime/core/middleware-sse-parser.d.cts.map +1 -0
- package/dist/runtime/core/middleware-sse-parser.d.mts +21 -0
- package/dist/runtime/core/middleware-sse-parser.d.mts.map +1 -0
- package/dist/runtime/core/middleware-sse-parser.mjs +148 -0
- package/dist/runtime/core/middleware-sse-parser.mjs.map +1 -0
- package/dist/runtime/core/middleware.cjs +34 -0
- package/dist/runtime/core/middleware.cjs.map +1 -0
- package/dist/runtime/core/middleware.d.cts +31 -0
- package/dist/runtime/core/middleware.d.cts.map +1 -0
- package/dist/runtime/core/middleware.d.mts +31 -0
- package/dist/runtime/core/middleware.d.mts.map +1 -0
- package/dist/runtime/core/middleware.mjs +32 -0
- package/dist/runtime/core/middleware.mjs.map +1 -0
- package/dist/runtime/core/package-info.cjs +9 -0
- package/dist/runtime/core/package-info.cjs.map +1 -0
- package/dist/runtime/core/package-info.mjs +7 -0
- package/dist/runtime/core/package-info.mjs.map +1 -0
- package/dist/runtime/core/runtime-error-reporter.cjs +21 -0
- package/dist/runtime/core/runtime-error-reporter.cjs.map +1 -0
- package/dist/runtime/core/runtime-error-reporter.mjs +18 -0
- package/dist/runtime/core/runtime-error-reporter.mjs.map +1 -0
- package/dist/runtime/core/runtime.cjs +256 -0
- package/dist/runtime/core/runtime.cjs.map +1 -0
- package/dist/runtime/core/runtime.d.cts +481 -0
- package/dist/runtime/core/runtime.d.cts.map +1 -0
- package/dist/runtime/core/runtime.d.mts +481 -0
- package/dist/runtime/core/runtime.d.mts.map +1 -0
- package/dist/runtime/core/runtime.mjs +249 -0
- package/dist/runtime/core/runtime.mjs.map +1 -0
- package/dist/runtime/endpoints/auto-start-channels.cjs +46 -0
- package/dist/runtime/endpoints/auto-start-channels.cjs.map +1 -0
- package/dist/runtime/endpoints/auto-start-channels.mjs +45 -0
- package/dist/runtime/endpoints/auto-start-channels.mjs.map +1 -0
- package/dist/runtime/endpoints/node-fetch-handler.cjs +75 -0
- package/dist/runtime/endpoints/node-fetch-handler.cjs.map +1 -0
- package/dist/runtime/endpoints/node-fetch-handler.d.cts +11 -0
- package/dist/runtime/endpoints/node-fetch-handler.d.cts.map +1 -0
- package/dist/runtime/endpoints/node-fetch-handler.d.mts +11 -0
- package/dist/runtime/endpoints/node-fetch-handler.d.mts.map +1 -0
- package/dist/runtime/endpoints/node-fetch-handler.mjs +73 -0
- package/dist/runtime/endpoints/node-fetch-handler.mjs.map +1 -0
- package/dist/runtime/endpoints/node.cjs +16 -0
- package/dist/runtime/endpoints/node.cjs.map +1 -0
- package/dist/runtime/endpoints/node.d.cts +104 -0
- package/dist/runtime/endpoints/node.d.cts.map +1 -0
- package/dist/runtime/endpoints/node.d.mts +104 -0
- package/dist/runtime/endpoints/node.d.mts.map +1 -0
- package/dist/runtime/endpoints/node.mjs +16 -0
- package/dist/runtime/endpoints/node.mjs.map +1 -0
- package/dist/runtime/endpoints/single-route-helpers.cjs +130 -0
- package/dist/runtime/endpoints/single-route-helpers.cjs.map +1 -0
- package/dist/runtime/endpoints/single-route-helpers.mjs +125 -0
- package/dist/runtime/endpoints/single-route-helpers.mjs.map +1 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.cjs +393 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.cjs.map +1 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.d.cts +20 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.d.cts.map +1 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.d.mts +20 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.d.mts.map +1 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.mjs +392 -0
- package/dist/runtime/generative-ui/generative-ui-middleware.mjs.map +1 -0
- package/dist/runtime/generative-ui/index.d.cts +2 -0
- package/dist/runtime/generative-ui/index.d.mts +2 -0
- package/dist/runtime/generative-ui/surface-writer.cjs +85 -0
- package/dist/runtime/generative-ui/surface-writer.cjs.map +1 -0
- package/dist/runtime/generative-ui/surface-writer.d.cts +32 -0
- package/dist/runtime/generative-ui/surface-writer.d.cts.map +1 -0
- package/dist/runtime/generative-ui/surface-writer.d.mts +32 -0
- package/dist/runtime/generative-ui/surface-writer.d.mts.map +1 -0
- package/dist/runtime/generative-ui/surface-writer.mjs +84 -0
- package/dist/runtime/generative-ui/surface-writer.mjs.map +1 -0
- package/dist/runtime/handlers/get-runtime-info.cjs +140 -0
- package/dist/runtime/handlers/get-runtime-info.cjs.map +1 -0
- package/dist/runtime/handlers/get-runtime-info.mjs +140 -0
- package/dist/runtime/handlers/get-runtime-info.mjs.map +1 -0
- package/dist/runtime/handlers/handle-connect.cjs +62 -0
- package/dist/runtime/handlers/handle-connect.cjs.map +1 -0
- package/dist/runtime/handlers/handle-connect.mjs +62 -0
- package/dist/runtime/handlers/handle-connect.mjs.map +1 -0
- package/dist/runtime/handlers/handle-debug-events.cjs +33 -0
- package/dist/runtime/handlers/handle-debug-events.cjs.map +1 -0
- package/dist/runtime/handlers/handle-debug-events.mjs +33 -0
- package/dist/runtime/handlers/handle-debug-events.mjs.map +1 -0
- package/dist/runtime/handlers/handle-inspector-learning.cjs +56 -0
- package/dist/runtime/handlers/handle-inspector-learning.cjs.map +1 -0
- package/dist/runtime/handlers/handle-inspector-learning.mjs +55 -0
- package/dist/runtime/handlers/handle-inspector-learning.mjs.map +1 -0
- package/dist/runtime/handlers/handle-inspector-metadata.cjs +36 -0
- package/dist/runtime/handlers/handle-inspector-metadata.cjs.map +1 -0
- package/dist/runtime/handlers/handle-inspector-metadata.mjs +35 -0
- package/dist/runtime/handlers/handle-inspector-metadata.mjs.map +1 -0
- package/dist/runtime/handlers/handle-run.cjs +111 -0
- package/dist/runtime/handlers/handle-run.cjs.map +1 -0
- package/dist/runtime/handlers/handle-run.mjs +110 -0
- package/dist/runtime/handlers/handle-run.mjs.map +1 -0
- package/dist/runtime/handlers/handle-stop.cjs +102 -0
- package/dist/runtime/handlers/handle-stop.cjs.map +1 -0
- package/dist/runtime/handlers/handle-stop.mjs +101 -0
- package/dist/runtime/handlers/handle-stop.mjs.map +1 -0
- package/dist/runtime/handlers/handle-suggest.cjs +83 -0
- package/dist/runtime/handlers/handle-suggest.cjs.map +1 -0
- package/dist/runtime/handlers/handle-suggest.mjs +82 -0
- package/dist/runtime/handlers/handle-suggest.mjs.map +1 -0
- package/dist/runtime/handlers/handle-trajectory-connect.cjs +40 -0
- package/dist/runtime/handlers/handle-trajectory-connect.cjs.map +1 -0
- package/dist/runtime/handlers/handle-trajectory-connect.mjs +39 -0
- package/dist/runtime/handlers/handle-trajectory-connect.mjs.map +1 -0
- package/dist/runtime/handlers/handle-transcribe.cjs +112 -0
- package/dist/runtime/handlers/handle-transcribe.cjs.map +1 -0
- package/dist/runtime/handlers/handle-transcribe.mjs +111 -0
- package/dist/runtime/handlers/handle-transcribe.mjs.map +1 -0
- package/dist/runtime/handlers/header-utils.cjs +185 -0
- package/dist/runtime/handlers/header-utils.cjs.map +1 -0
- package/dist/runtime/handlers/header-utils.d.cts +53 -0
- package/dist/runtime/handlers/header-utils.d.cts.map +1 -0
- package/dist/runtime/handlers/header-utils.d.mts +53 -0
- package/dist/runtime/handlers/header-utils.d.mts.map +1 -0
- package/dist/runtime/handlers/header-utils.mjs +183 -0
- package/dist/runtime/handlers/header-utils.mjs.map +1 -0
- package/dist/runtime/handlers/intelligence/annotate.cjs +83 -0
- package/dist/runtime/handlers/intelligence/annotate.cjs.map +1 -0
- package/dist/runtime/handlers/intelligence/annotate.mjs +82 -0
- package/dist/runtime/handlers/intelligence/annotate.mjs.map +1 -0
- package/dist/runtime/handlers/intelligence/connect.cjs +68 -0
- package/dist/runtime/handlers/intelligence/connect.cjs.map +1 -0
- package/dist/runtime/handlers/intelligence/connect.mjs +68 -0
- package/dist/runtime/handlers/intelligence/connect.mjs.map +1 -0
- package/dist/runtime/handlers/intelligence/memories.cjs +260 -0
- package/dist/runtime/handlers/intelligence/memories.cjs.map +1 -0
- package/dist/runtime/handlers/intelligence/memories.mjs +254 -0
- package/dist/runtime/handlers/intelligence/memories.mjs.map +1 -0
- package/dist/runtime/handlers/intelligence/run.cjs +283 -0
- package/dist/runtime/handlers/intelligence/run.cjs.map +1 -0
- package/dist/runtime/handlers/intelligence/run.mjs +282 -0
- package/dist/runtime/handlers/intelligence/run.mjs.map +1 -0
- package/dist/runtime/handlers/intelligence/thread-names.cjs +172 -0
- package/dist/runtime/handlers/intelligence/thread-names.cjs.map +1 -0
- package/dist/runtime/handlers/intelligence/thread-names.mjs +171 -0
- package/dist/runtime/handlers/intelligence/thread-names.mjs.map +1 -0
- package/dist/runtime/handlers/intelligence/threads.cjs +399 -0
- package/dist/runtime/handlers/intelligence/threads.cjs.map +1 -0
- package/dist/runtime/handlers/intelligence/threads.mjs +390 -0
- package/dist/runtime/handlers/intelligence/threads.mjs.map +1 -0
- package/dist/runtime/handlers/shared/agent-utils.cjs +267 -0
- package/dist/runtime/handlers/shared/agent-utils.cjs.map +1 -0
- package/dist/runtime/handlers/shared/agent-utils.mjs +262 -0
- package/dist/runtime/handlers/shared/agent-utils.mjs.map +1 -0
- package/dist/runtime/handlers/shared/cloud-telemetry.cjs +30 -0
- package/dist/runtime/handlers/shared/cloud-telemetry.cjs.map +1 -0
- package/dist/runtime/handlers/shared/cloud-telemetry.mjs +29 -0
- package/dist/runtime/handlers/shared/cloud-telemetry.mjs.map +1 -0
- package/dist/runtime/handlers/shared/describe-endpoint.cjs +25 -0
- package/dist/runtime/handlers/shared/describe-endpoint.cjs.map +1 -0
- package/dist/runtime/handlers/shared/describe-endpoint.mjs +24 -0
- package/dist/runtime/handlers/shared/describe-endpoint.mjs.map +1 -0
- package/dist/runtime/handlers/shared/intelligence-utils.cjs +24 -0
- package/dist/runtime/handlers/shared/intelligence-utils.cjs.map +1 -0
- package/dist/runtime/handlers/shared/intelligence-utils.mjs +23 -0
- package/dist/runtime/handlers/shared/intelligence-utils.mjs.map +1 -0
- package/dist/runtime/handlers/shared/json-response.cjs +14 -0
- package/dist/runtime/handlers/shared/json-response.cjs.map +1 -0
- package/dist/runtime/handlers/shared/json-response.mjs +12 -0
- package/dist/runtime/handlers/shared/json-response.mjs.map +1 -0
- package/dist/runtime/handlers/shared/mcp-apps-servers.cjs +22 -0
- package/dist/runtime/handlers/shared/mcp-apps-servers.cjs.map +1 -0
- package/dist/runtime/handlers/shared/mcp-apps-servers.mjs +22 -0
- package/dist/runtime/handlers/shared/mcp-apps-servers.mjs.map +1 -0
- package/dist/runtime/handlers/shared/memory-policy.cjs +78 -0
- package/dist/runtime/handlers/shared/memory-policy.cjs.map +1 -0
- package/dist/runtime/handlers/shared/memory-policy.mjs +77 -0
- package/dist/runtime/handlers/shared/memory-policy.mjs.map +1 -0
- package/dist/runtime/handlers/shared/platform-error.cjs +39 -0
- package/dist/runtime/handlers/shared/platform-error.cjs.map +1 -0
- package/dist/runtime/handlers/shared/platform-error.mjs +39 -0
- package/dist/runtime/handlers/shared/platform-error.mjs.map +1 -0
- package/dist/runtime/handlers/shared/resolve-intelligence-user.cjs +50 -0
- package/dist/runtime/handlers/shared/resolve-intelligence-user.cjs.map +1 -0
- package/dist/runtime/handlers/shared/resolve-intelligence-user.mjs +49 -0
- package/dist/runtime/handlers/shared/resolve-intelligence-user.mjs.map +1 -0
- package/dist/runtime/handlers/shared/sse-keep-alive.cjs +68 -0
- package/dist/runtime/handlers/shared/sse-keep-alive.cjs.map +1 -0
- package/dist/runtime/handlers/shared/sse-keep-alive.mjs +66 -0
- package/dist/runtime/handlers/shared/sse-keep-alive.mjs.map +1 -0
- package/dist/runtime/handlers/shared/sse-response.cjs +237 -0
- package/dist/runtime/handlers/shared/sse-response.cjs.map +1 -0
- package/dist/runtime/handlers/shared/sse-response.mjs +236 -0
- package/dist/runtime/handlers/shared/sse-response.mjs.map +1 -0
- package/dist/runtime/handlers/shared/thread-access.cjs +137 -0
- package/dist/runtime/handlers/shared/thread-access.cjs.map +1 -0
- package/dist/runtime/handlers/shared/thread-access.d.cts +28 -0
- package/dist/runtime/handlers/shared/thread-access.d.cts.map +1 -0
- package/dist/runtime/handlers/shared/thread-access.d.mts +28 -0
- package/dist/runtime/handlers/shared/thread-access.d.mts.map +1 -0
- package/dist/runtime/handlers/shared/thread-access.mjs +132 -0
- package/dist/runtime/handlers/shared/thread-access.mjs.map +1 -0
- package/dist/runtime/handlers/sse/connect.cjs +23 -0
- package/dist/runtime/handlers/sse/connect.cjs.map +1 -0
- package/dist/runtime/handlers/sse/connect.mjs +23 -0
- package/dist/runtime/handlers/sse/connect.mjs.map +1 -0
- package/dist/runtime/handlers/sse/run.cjs +44 -0
- package/dist/runtime/handlers/sse/run.cjs.map +1 -0
- package/dist/runtime/handlers/sse/run.mjs +44 -0
- package/dist/runtime/handlers/sse/run.mjs.map +1 -0
- package/dist/runtime/index.d.cts +29 -0
- package/dist/runtime/index.d.cts.map +1 -0
- package/dist/runtime/index.d.mts +29 -0
- package/dist/runtime/index.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/client.cjs +1338 -0
- package/dist/runtime/intelligence-platform/client.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/client.d.cts +824 -0
- package/dist/runtime/intelligence-platform/client.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/client.d.mts +824 -0
- package/dist/runtime/intelligence-platform/client.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/client.mjs +1334 -0
- package/dist/runtime/intelligence-platform/client.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/experimental.d.cts +26 -0
- package/dist/runtime/intelligence-platform/experimental.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/experimental.d.mts +26 -0
- package/dist/runtime/intelligence-platform/experimental.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/index.d.cts +3 -0
- package/dist/runtime/intelligence-platform/index.d.mts +3 -0
- package/dist/runtime/intelligence-platform/learned-skills.cjs +95 -0
- package/dist/runtime/intelligence-platform/learned-skills.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/learned-skills.d.cts +43 -0
- package/dist/runtime/intelligence-platform/learned-skills.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/learned-skills.d.mts +43 -0
- package/dist/runtime/intelligence-platform/learned-skills.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/learned-skills.mjs +92 -0
- package/dist/runtime/intelligence-platform/learned-skills.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/learning-management.cjs +203 -0
- package/dist/runtime/intelligence-platform/learning-management.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/learning-management.d.cts +111 -0
- package/dist/runtime/intelligence-platform/learning-management.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/learning-management.d.mts +111 -0
- package/dist/runtime/intelligence-platform/learning-management.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/learning-management.mjs +193 -0
- package/dist/runtime/intelligence-platform/learning-management.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.cjs +131 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.d.cts +10 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.d.mts +10 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.mjs +127 -0
- package/dist/runtime/intelligence-platform/skill-registry/archive.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.cjs +65 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.d.cts +47 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.d.mts +47 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.mjs +65 -0
- package/dist/runtime/intelligence-platform/skill-registry/config.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.cjs +10 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.d.cts +7 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.d.mts +7 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.mjs +10 -0
- package/dist/runtime/intelligence-platform/skill-registry/errors.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/index.d.cts +7 -0
- package/dist/runtime/intelligence-platform/skill-registry/index.d.mts +7 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.cjs +247 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.d.cts +36 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.d.mts +36 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.mjs +246 -0
- package/dist/runtime/intelligence-platform/skill-registry/registry.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.cjs +41 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.cts +12 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.mts +12 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.mjs +38 -0
- package/dist/runtime/intelligence-platform/skill-registry/skill-content.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.cjs +92 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.cts +27 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.mts +27 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.mjs +91 -0
- package/dist/runtime/intelligence-platform/skill-registry/snapshot.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/thread-lock-heartbeat.cjs +142 -0
- package/dist/runtime/intelligence-platform/thread-lock-heartbeat.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/thread-lock-heartbeat.mjs +141 -0
- package/dist/runtime/intelligence-platform/thread-lock-heartbeat.mjs.map +1 -0
- package/dist/runtime/intelligence-platform/trajectories.cjs +95 -0
- package/dist/runtime/intelligence-platform/trajectories.cjs.map +1 -0
- package/dist/runtime/intelligence-platform/trajectories.d.cts +11 -0
- package/dist/runtime/intelligence-platform/trajectories.d.cts.map +1 -0
- package/dist/runtime/intelligence-platform/trajectories.d.mts +11 -0
- package/dist/runtime/intelligence-platform/trajectories.d.mts.map +1 -0
- package/dist/runtime/intelligence-platform/trajectories.mjs +91 -0
- package/dist/runtime/intelligence-platform/trajectories.mjs.map +1 -0
- package/dist/runtime/node.d.cts +2 -0
- package/dist/runtime/node.d.mts +2 -0
- package/dist/runtime/runner/agent-runner.cjs +82 -0
- package/dist/runtime/runner/agent-runner.cjs.map +1 -0
- package/dist/runtime/runner/agent-runner.d.cts +151 -0
- package/dist/runtime/runner/agent-runner.d.cts.map +1 -0
- package/dist/runtime/runner/agent-runner.d.mts +151 -0
- package/dist/runtime/runner/agent-runner.d.mts.map +1 -0
- package/dist/runtime/runner/agent-runner.mjs +73 -0
- package/dist/runtime/runner/agent-runner.mjs.map +1 -0
- package/dist/runtime/runner/in-memory.cjs +741 -0
- package/dist/runtime/runner/in-memory.cjs.map +1 -0
- package/dist/runtime/runner/in-memory.d.cts +427 -0
- package/dist/runtime/runner/in-memory.d.cts.map +1 -0
- package/dist/runtime/runner/in-memory.d.mts +427 -0
- package/dist/runtime/runner/in-memory.d.mts.map +1 -0
- package/dist/runtime/runner/in-memory.mjs +734 -0
- package/dist/runtime/runner/in-memory.mjs.map +1 -0
- package/dist/runtime/runner/index.d.cts +5 -0
- package/dist/runtime/runner/index.d.mts +5 -0
- package/dist/runtime/runner/index.mjs +6 -0
- package/dist/runtime/runner/intelligence.cjs +617 -0
- package/dist/runtime/runner/intelligence.cjs.map +1 -0
- package/dist/runtime/runner/intelligence.d.cts +104 -0
- package/dist/runtime/runner/intelligence.d.cts.map +1 -0
- package/dist/runtime/runner/intelligence.d.mts +104 -0
- package/dist/runtime/runner/intelligence.d.mts.map +1 -0
- package/dist/runtime/runner/intelligence.mjs +616 -0
- package/dist/runtime/runner/intelligence.mjs.map +1 -0
- package/dist/runtime/telemetry/disclosure.cjs +25 -0
- package/dist/runtime/telemetry/disclosure.cjs.map +1 -0
- package/dist/runtime/telemetry/disclosure.mjs +24 -0
- package/dist/runtime/telemetry/disclosure.mjs.map +1 -0
- package/dist/runtime/telemetry/events.d.cts +66 -0
- package/dist/runtime/telemetry/events.d.cts.map +1 -0
- package/dist/runtime/telemetry/events.d.mts +66 -0
- package/dist/runtime/telemetry/events.d.mts.map +1 -0
- package/dist/runtime/telemetry/instance-created.cjs +34 -0
- package/dist/runtime/telemetry/instance-created.cjs.map +1 -0
- package/dist/runtime/telemetry/instance-created.mjs +34 -0
- package/dist/runtime/telemetry/instance-created.mjs.map +1 -0
- package/dist/runtime/telemetry/telemetry-client.cjs +108 -0
- package/dist/runtime/telemetry/telemetry-client.cjs.map +1 -0
- package/dist/runtime/telemetry/telemetry-client.d.cts +10 -0
- package/dist/runtime/telemetry/telemetry-client.d.cts.map +1 -0
- package/dist/runtime/telemetry/telemetry-client.d.mts +10 -0
- package/dist/runtime/telemetry/telemetry-client.d.mts.map +1 -0
- package/dist/runtime/telemetry/telemetry-client.mjs +107 -0
- package/dist/runtime/telemetry/telemetry-client.mjs.map +1 -0
- package/dist/runtime/telemetry/telemetry-identity.cjs +12 -0
- package/dist/runtime/telemetry/telemetry-identity.cjs.map +1 -0
- package/dist/runtime/telemetry/telemetry-identity.mjs +11 -0
- package/dist/runtime/telemetry/telemetry-identity.mjs.map +1 -0
- package/dist/runtime/transcription-service/transcription-service.cjs +7 -0
- package/dist/runtime/transcription-service/transcription-service.cjs.map +1 -0
- package/dist/runtime/transcription-service/transcription-service.d.cts +14 -0
- package/dist/runtime/transcription-service/transcription-service.d.cts.map +1 -0
- package/dist/runtime/transcription-service/transcription-service.d.mts +14 -0
- package/dist/runtime/transcription-service/transcription-service.d.mts.map +1 -0
- package/dist/runtime/transcription-service/transcription-service.mjs +6 -0
- package/dist/runtime/transcription-service/transcription-service.mjs.map +1 -0
- package/package.json +104 -105
- package/.eslintrc.js +0 -7
- package/CHANGELOG.md +0 -2920
- package/__snapshots__/schema/schema.graphql +0 -371
- package/dist/index.d.ts +0 -1494
- package/dist/index.js +0 -5641
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/langgraph.d.ts +0 -284
- package/dist/langgraph.js +0 -211
- package/dist/langgraph.js.map +0 -1
- package/dist/langgraph.mjs +0 -206
- package/dist/langgraph.mjs.map +0 -1
- package/dist/v2/index.d.ts +0 -2
- package/dist/v2/index.js +0 -22
- package/dist/v2/index.js.map +0 -1
- package/dist/v2/index.mjs +0 -5
- package/dist/v2/index.mjs.map +0 -1
- package/jest.config.js +0 -10
- package/scripts/generate-gql-schema.ts +0 -13
- package/src/agents/langgraph/event-source.ts +0 -329
- package/src/agents/langgraph/events.ts +0 -377
- package/src/graphql/inputs/action.input.ts +0 -16
- package/src/graphql/inputs/agent-session.input.ts +0 -13
- package/src/graphql/inputs/agent-state.input.ts +0 -13
- package/src/graphql/inputs/cloud-guardrails.input.ts +0 -16
- package/src/graphql/inputs/cloud.input.ts +0 -8
- package/src/graphql/inputs/context-property.input.ts +0 -10
- package/src/graphql/inputs/copilot-context.input.ts +0 -10
- package/src/graphql/inputs/custom-property.input.ts +0 -15
- package/src/graphql/inputs/extensions.input.ts +0 -21
- package/src/graphql/inputs/forwarded-parameters.input.ts +0 -22
- package/src/graphql/inputs/frontend.input.ts +0 -14
- package/src/graphql/inputs/generate-copilot-response.input.ts +0 -59
- package/src/graphql/inputs/load-agent-state.input.ts +0 -10
- package/src/graphql/inputs/message.input.ts +0 -110
- package/src/graphql/inputs/meta-event.input.ts +0 -18
- package/src/graphql/message-conversion/agui-to-gql.test.ts +0 -1263
- package/src/graphql/message-conversion/agui-to-gql.ts +0 -333
- package/src/graphql/message-conversion/gql-to-agui.test.ts +0 -1580
- package/src/graphql/message-conversion/gql-to-agui.ts +0 -278
- package/src/graphql/message-conversion/index.ts +0 -2
- package/src/graphql/message-conversion/roundtrip-conversion.test.ts +0 -526
- package/src/graphql/resolvers/copilot.resolver.ts +0 -708
- package/src/graphql/resolvers/state.resolver.ts +0 -27
- package/src/graphql/types/agents-response.type.ts +0 -19
- package/src/graphql/types/base/index.ts +0 -10
- package/src/graphql/types/converted/index.ts +0 -176
- package/src/graphql/types/copilot-response.type.ts +0 -138
- package/src/graphql/types/enums.ts +0 -38
- package/src/graphql/types/extensions-response.type.ts +0 -23
- package/src/graphql/types/guardrails-result.type.ts +0 -20
- package/src/graphql/types/load-agent-state-response.type.ts +0 -17
- package/src/graphql/types/message-status.type.ts +0 -42
- package/src/graphql/types/meta-events.type.ts +0 -71
- package/src/graphql/types/response-status.type.ts +0 -66
- package/src/index.ts +0 -4
- package/src/langgraph.ts +0 -1
- package/src/lib/cloud/index.ts +0 -4
- package/src/lib/error-messages.ts +0 -200
- package/src/lib/index.ts +0 -52
- package/src/lib/integrations/index.ts +0 -6
- package/src/lib/integrations/nest/index.ts +0 -14
- package/src/lib/integrations/nextjs/app-router.ts +0 -38
- package/src/lib/integrations/nextjs/pages-router.ts +0 -39
- package/src/lib/integrations/node-express/index.ts +0 -14
- package/src/lib/integrations/node-http/index.ts +0 -143
- package/src/lib/integrations/node-http/request-handler.ts +0 -111
- package/src/lib/integrations/shared.ts +0 -161
- package/src/lib/logger.ts +0 -28
- package/src/lib/observability.ts +0 -160
- package/src/lib/runtime/__tests__/copilot-runtime-error.test.ts +0 -169
- package/src/lib/runtime/__tests__/mcp-tools-utils.test.ts +0 -464
- package/src/lib/runtime/agent-integrations/langgraph/agent.ts +0 -209
- package/src/lib/runtime/agent-integrations/langgraph/consts.ts +0 -34
- package/src/lib/runtime/agent-integrations/langgraph/index.ts +0 -2
- package/src/lib/runtime/copilot-runtime.ts +0 -710
- package/src/lib/runtime/mcp-tools-utils.ts +0 -254
- package/src/lib/runtime/retry-utils.ts +0 -96
- package/src/lib/runtime/telemetry-agent-runner.ts +0 -139
- package/src/lib/runtime/types.ts +0 -49
- package/src/lib/runtime/utils.ts +0 -87
- package/src/lib/streaming.ts +0 -202
- package/src/lib/telemetry-client.ts +0 -64
- package/src/service-adapters/anthropic/anthropic-adapter.ts +0 -452
- package/src/service-adapters/anthropic/utils.ts +0 -152
- package/src/service-adapters/bedrock/bedrock-adapter.ts +0 -73
- package/src/service-adapters/conversion.ts +0 -67
- package/src/service-adapters/empty/empty-adapter.ts +0 -38
- package/src/service-adapters/events.ts +0 -294
- package/src/service-adapters/experimental/ollama/ollama-adapter.ts +0 -84
- package/src/service-adapters/google/google-genai-adapter.test.ts +0 -104
- package/src/service-adapters/google/google-genai-adapter.ts +0 -88
- package/src/service-adapters/groq/groq-adapter.ts +0 -203
- package/src/service-adapters/index.ts +0 -18
- package/src/service-adapters/langchain/langchain-adapter.ts +0 -111
- package/src/service-adapters/langchain/langserve.ts +0 -88
- package/src/service-adapters/langchain/types.ts +0 -14
- package/src/service-adapters/langchain/utils.ts +0 -313
- package/src/service-adapters/openai/openai-adapter.ts +0 -283
- package/src/service-adapters/openai/openai-assistant-adapter.ts +0 -344
- package/src/service-adapters/openai/utils.ts +0 -199
- package/src/service-adapters/service-adapter.ts +0 -41
- package/src/service-adapters/shared/error-utils.ts +0 -61
- package/src/service-adapters/shared/index.ts +0 -1
- package/src/service-adapters/unify/unify-adapter.ts +0 -151
- package/src/utils/failed-response-status-reasons.ts +0 -70
- package/src/utils/index.ts +0 -1
- package/src/v2/index.ts +0 -3
- package/tests/global.d.ts +0 -13
- package/tests/service-adapters/anthropic/allowlist-approach.test.ts +0 -226
- package/tests/service-adapters/anthropic/anthropic-adapter.test.ts +0 -389
- package/tests/service-adapters/openai/allowlist-approach.test.ts +0 -238
- package/tests/service-adapters/openai/openai-adapter.test.ts +0 -301
- package/tests/setup.jest.ts +0 -21
- package/tests/tsconfig.json +0 -10
- package/tsconfig.json +0 -13
- package/tsup.config.ts +0 -20
- package/typedoc.json +0 -4
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CopilotKitIntelligence } from "../client.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/runtime/intelligence-platform/skill-registry/config.d.ts
|
|
4
|
+
interface SkillRegistryCommonOptions {
|
|
5
|
+
client?: CopilotKitIntelligence;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
apiUrl?: string;
|
|
8
|
+
freshnessWindowMs?: number;
|
|
9
|
+
requestTimeoutMs?: number;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/** One published container and an optional exact revision pin. */
|
|
13
|
+
interface SkillRegistryContainer {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly revision?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Legacy selection and explicit multi-container selection cannot be combined. */
|
|
18
|
+
type SkillRegistryOptions = SkillRegistryCommonOptions & ({
|
|
19
|
+
containerId?: string;
|
|
20
|
+
revision?: string;
|
|
21
|
+
containers?: never;
|
|
22
|
+
} | {
|
|
23
|
+
containers: readonly SkillRegistryContainer[];
|
|
24
|
+
containerId?: never;
|
|
25
|
+
revision?: never;
|
|
26
|
+
});
|
|
27
|
+
interface RegistryCommonConfig {
|
|
28
|
+
readonly client: CopilotKitIntelligence;
|
|
29
|
+
readonly freshnessWindowMs: number;
|
|
30
|
+
readonly requestTimeoutMs: number;
|
|
31
|
+
readonly debug: boolean;
|
|
32
|
+
}
|
|
33
|
+
type SingleContainerConfig = RegistryCommonConfig & {
|
|
34
|
+
readonly containerId: string;
|
|
35
|
+
readonly revision?: string;
|
|
36
|
+
readonly containers?: never;
|
|
37
|
+
};
|
|
38
|
+
type RegistryConfig = SingleContainerConfig | (RegistryCommonConfig & {
|
|
39
|
+
readonly containers: readonly SkillRegistryContainer[];
|
|
40
|
+
readonly containerId?: never;
|
|
41
|
+
readonly revision?: never;
|
|
42
|
+
});
|
|
43
|
+
/** Resolve once. Never retain the options object, environment, or a second key. */
|
|
44
|
+
declare function resolveRegistryConfig(options?: SkillRegistryOptions, environment?: NodeJS.ProcessEnv): RegistryConfig;
|
|
45
|
+
//#endregion
|
|
46
|
+
export { RegistryConfig, SingleContainerConfig, SkillRegistryCommonOptions, SkillRegistryContainer, SkillRegistryOptions, resolveRegistryConfig };
|
|
47
|
+
//# sourceMappingURL=config.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.cts","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/config.ts"],"mappings":";;;UAGiB,0BAAA;EACf,MAAA,GAAS,sBAAA;EACT,MAAA;EACA,MAAA;EACA,iBAAA;EACA,gBAAA;EACA,KAAA;AAAA;;UAGe,sBAAA;EAAA,SACN,EAAA;EAAA,SACA,QAAA;AAAA;;KAIC,oBAAA,GAAuB,0BAAA;EAE3B,WAAA;EAAsB,QAAA;EAAmB,UAAA;AAAA;EAEzC,UAAA,WAAqB,sBAAA;EACrB,WAAA;EACA,QAAA;AAAA;AAAA,UAIE,oBAAA;EAAA,SACC,MAAA,EAAQ,sBAAA;EAAA,SACR,iBAAA;EAAA,SACA,gBAAA;EAAA,SACA,KAAA;AAAA;AAAA,KAGC,qBAAA,GAAwB,oBAAA;EAAA,SACzB,WAAA;EAAA,SACA,QAAA;EAAA,SACA,UAAA;AAAA;AAAA,KAGC,cAAA,GACR,qBAAA,IACC,oBAAA;EAAA,SACU,UAAA,WAAqB,sBAAA;EAAA,SACrB,WAAA;EAAA,SACA,QAAA;AAAA;;iBAIC,qBAAA,CACd,OAAA,GAAS,oBAAA,EACT,WAAA,GAAa,MAAA,CAAO,UAAA,GACnB,cAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CopilotKitIntelligence } from "../client.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/runtime/intelligence-platform/skill-registry/config.d.ts
|
|
4
|
+
interface SkillRegistryCommonOptions {
|
|
5
|
+
client?: CopilotKitIntelligence;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
apiUrl?: string;
|
|
8
|
+
freshnessWindowMs?: number;
|
|
9
|
+
requestTimeoutMs?: number;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/** One published container and an optional exact revision pin. */
|
|
13
|
+
interface SkillRegistryContainer {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly revision?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Legacy selection and explicit multi-container selection cannot be combined. */
|
|
18
|
+
type SkillRegistryOptions = SkillRegistryCommonOptions & ({
|
|
19
|
+
containerId?: string;
|
|
20
|
+
revision?: string;
|
|
21
|
+
containers?: never;
|
|
22
|
+
} | {
|
|
23
|
+
containers: readonly SkillRegistryContainer[];
|
|
24
|
+
containerId?: never;
|
|
25
|
+
revision?: never;
|
|
26
|
+
});
|
|
27
|
+
interface RegistryCommonConfig {
|
|
28
|
+
readonly client: CopilotKitIntelligence;
|
|
29
|
+
readonly freshnessWindowMs: number;
|
|
30
|
+
readonly requestTimeoutMs: number;
|
|
31
|
+
readonly debug: boolean;
|
|
32
|
+
}
|
|
33
|
+
type SingleContainerConfig = RegistryCommonConfig & {
|
|
34
|
+
readonly containerId: string;
|
|
35
|
+
readonly revision?: string;
|
|
36
|
+
readonly containers?: never;
|
|
37
|
+
};
|
|
38
|
+
type RegistryConfig = SingleContainerConfig | (RegistryCommonConfig & {
|
|
39
|
+
readonly containers: readonly SkillRegistryContainer[];
|
|
40
|
+
readonly containerId?: never;
|
|
41
|
+
readonly revision?: never;
|
|
42
|
+
});
|
|
43
|
+
/** Resolve once. Never retain the options object, environment, or a second key. */
|
|
44
|
+
declare function resolveRegistryConfig(options?: SkillRegistryOptions, environment?: NodeJS.ProcessEnv): RegistryConfig;
|
|
45
|
+
//#endregion
|
|
46
|
+
export { RegistryConfig, SingleContainerConfig, SkillRegistryCommonOptions, SkillRegistryContainer, SkillRegistryOptions, resolveRegistryConfig };
|
|
47
|
+
//# sourceMappingURL=config.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.mts","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/config.ts"],"mappings":";;;UAGiB,0BAAA;EACf,MAAA,GAAS,sBAAA;EACT,MAAA;EACA,MAAA;EACA,iBAAA;EACA,gBAAA;EACA,KAAA;AAAA;;UAGe,sBAAA;EAAA,SACN,EAAA;EAAA,SACA,QAAA;AAAA;;KAIC,oBAAA,GAAuB,0BAAA;EAE3B,WAAA;EAAsB,QAAA;EAAmB,UAAA;AAAA;EAEzC,UAAA,WAAqB,sBAAA;EACrB,WAAA;EACA,QAAA;AAAA;AAAA,UAIE,oBAAA;EAAA,SACC,MAAA,EAAQ,sBAAA;EAAA,SACR,iBAAA;EAAA,SACA,gBAAA;EAAA,SACA,KAAA;AAAA;AAAA,KAGC,qBAAA,GAAwB,oBAAA;EAAA,SACzB,WAAA;EAAA,SACA,QAAA;EAAA,SACA,UAAA;AAAA;AAAA,KAGC,cAAA,GACR,qBAAA,IACC,oBAAA;EAAA,SACU,UAAA,WAAqB,sBAAA;EAAA,SACrB,WAAA;EAAA,SACA,QAAA;AAAA;;iBAIC,qBAAA,CACd,OAAA,GAAS,oBAAA,EACT,WAAA,GAAa,MAAA,CAAO,UAAA,GACnB,cAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { LearnedSkillsError } from "../learned-skills.mjs";
|
|
2
|
+
import { CopilotKitIntelligence } from "../client.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/runtime/intelligence-platform/skill-registry/config.ts
|
|
5
|
+
/** Resolve once. Never retain the options object, environment, or a second key. */
|
|
6
|
+
function resolveRegistryConfig(options = {}, environment = process.env) {
|
|
7
|
+
try {
|
|
8
|
+
const multiple = options.containers !== void 0;
|
|
9
|
+
if (multiple && (options.containerId !== void 0 || options.revision !== void 0)) throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
10
|
+
const containerId = multiple ? void 0 : options.containerId ?? environment.CPK_INTELLIGENCE_LEARNING_CONTAINER_ID;
|
|
11
|
+
const revision = multiple ? void 0 : options.revision ?? environment.CPK_INTELLIGENCE_SKILLS_REVISION;
|
|
12
|
+
let containers;
|
|
13
|
+
if (multiple) {
|
|
14
|
+
if (!Array.isArray(options.containers) || options.containers.length === 0 || options.containers.length > 50) throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
15
|
+
const seen = /* @__PURE__ */ new Set();
|
|
16
|
+
containers = Object.freeze(options.containers.map((source) => {
|
|
17
|
+
if (!source || typeof source.id !== "string" || !source.id.trim() || /[\u0000-\u001f\u007f]/.test(source.id) || seen.has(source.id) || source.revision !== void 0 && (typeof source.revision !== "string" || !source.revision.trim())) throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
18
|
+
encodeURIComponent(source.id);
|
|
19
|
+
seen.add(source.id);
|
|
20
|
+
return Object.freeze({
|
|
21
|
+
id: source.id,
|
|
22
|
+
...source.revision !== void 0 ? { revision: source.revision } : {}
|
|
23
|
+
});
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
const freshnessWindowMs = options.freshnessWindowMs ?? 5e3;
|
|
27
|
+
const requestTimeoutMs = options.requestTimeoutMs ?? 5e3;
|
|
28
|
+
const debug = options.debug ?? false;
|
|
29
|
+
if (!multiple && (typeof containerId !== "string" || !containerId.trim()) || revision !== void 0 && (typeof revision !== "string" || revision.length === 0) || !Number.isSafeInteger(freshnessWindowMs) || freshnessWindowMs < 0 || !Number.isSafeInteger(requestTimeoutMs) || requestTimeoutMs < 1 || requestTimeoutMs > 2147483647 || typeof debug !== "boolean") throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
30
|
+
let client = options.client;
|
|
31
|
+
if (client !== void 0) {
|
|
32
|
+
if (!client || typeof (multiple ? client.getLearnedSkillsSnapshots : client.getLearnedSkillsSnapshot) !== "function") throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
33
|
+
} else {
|
|
34
|
+
const apiKey = options.apiKey ?? environment.CPK_INTELLIGENCE_API_KEY;
|
|
35
|
+
const apiUrl = options.apiUrl ?? environment.INTELLIGENCE_API_URL;
|
|
36
|
+
if (typeof apiKey !== "string" || !apiKey.trim()) throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
37
|
+
if (apiUrl?.trim()) {
|
|
38
|
+
const url = new URL(apiUrl);
|
|
39
|
+
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new LearnedSkillsError("INVALID_CONFIG", false);
|
|
40
|
+
}
|
|
41
|
+
client = new CopilotKitIntelligence({
|
|
42
|
+
apiKey,
|
|
43
|
+
...apiUrl !== void 0 ? { apiUrl } : {},
|
|
44
|
+
...apiUrl?.trim() ? { wsUrl: "wss://realtime.intelligence.copilotkit.ai" } : {}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return Object.freeze({
|
|
48
|
+
client,
|
|
49
|
+
...containers ? { containers } : {
|
|
50
|
+
containerId,
|
|
51
|
+
...revision !== void 0 ? { revision } : {}
|
|
52
|
+
},
|
|
53
|
+
freshnessWindowMs,
|
|
54
|
+
requestTimeoutMs,
|
|
55
|
+
debug
|
|
56
|
+
});
|
|
57
|
+
} catch (error) {
|
|
58
|
+
if (error instanceof LearnedSkillsError) throw error;
|
|
59
|
+
throw new LearnedSkillsError("INVALID_CONFIG", false, error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
export { resolveRegistryConfig };
|
|
65
|
+
//# sourceMappingURL=config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.mjs","names":["SkillDeliveryError"],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/config.ts"],"sourcesContent":["import { CopilotKitIntelligence } from \"../client\";\nimport { SkillDeliveryError } from \"./errors\";\n\nexport interface SkillRegistryCommonOptions {\n client?: CopilotKitIntelligence;\n apiKey?: string;\n apiUrl?: string;\n freshnessWindowMs?: number;\n requestTimeoutMs?: number;\n debug?: boolean;\n}\n/** One published container and an optional exact revision pin. */\nexport interface SkillRegistryContainer {\n readonly id: string;\n readonly revision?: string;\n}\n\n/** Legacy selection and explicit multi-container selection cannot be combined. */\nexport type SkillRegistryOptions = SkillRegistryCommonOptions &\n (\n | { containerId?: string; revision?: string; containers?: never }\n | {\n containers: readonly SkillRegistryContainer[];\n containerId?: never;\n revision?: never;\n }\n );\n\ninterface RegistryCommonConfig {\n readonly client: CopilotKitIntelligence;\n readonly freshnessWindowMs: number;\n readonly requestTimeoutMs: number;\n readonly debug: boolean;\n}\n\nexport type SingleContainerConfig = RegistryCommonConfig & {\n readonly containerId: string;\n readonly revision?: string;\n readonly containers?: never;\n};\n\nexport type RegistryConfig =\n | SingleContainerConfig\n | (RegistryCommonConfig & {\n readonly containers: readonly SkillRegistryContainer[];\n readonly containerId?: never;\n readonly revision?: never;\n });\n\n/** Resolve once. Never retain the options object, environment, or a second key. */\nexport function resolveRegistryConfig(\n options: SkillRegistryOptions = {},\n environment: NodeJS.ProcessEnv = process.env,\n): RegistryConfig {\n try {\n const multiple = options.containers !== undefined;\n if (\n multiple &&\n (options.containerId !== undefined || options.revision !== undefined)\n ) {\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n }\n const containerId = multiple\n ? undefined\n : (options.containerId ??\n environment.CPK_INTELLIGENCE_LEARNING_CONTAINER_ID);\n const revision = multiple\n ? undefined\n : (options.revision ?? environment.CPK_INTELLIGENCE_SKILLS_REVISION);\n let containers: readonly SkillRegistryContainer[] | undefined;\n if (multiple) {\n if (\n !Array.isArray(options.containers) ||\n options.containers.length === 0 ||\n options.containers.length > 50\n ) {\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n }\n const seen = new Set<string>();\n containers = Object.freeze(\n options.containers.map((source) => {\n if (\n !source ||\n typeof source.id !== \"string\" ||\n !source.id.trim() ||\n // Reject control characters in caller-provided container IDs.\n // eslint-disable-next-line no-control-regex\n /[\\u0000-\\u001f\\u007f]/.test(source.id) ||\n seen.has(source.id) ||\n (source.revision !== undefined &&\n (typeof source.revision !== \"string\" || !source.revision.trim()))\n ) {\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n }\n // Reject malformed Unicode before constructing a qualified tool name.\n encodeURIComponent(source.id);\n seen.add(source.id);\n return Object.freeze({\n id: source.id,\n ...(source.revision !== undefined\n ? { revision: source.revision }\n : {}),\n });\n }),\n );\n }\n const freshnessWindowMs = options.freshnessWindowMs ?? 5_000;\n const requestTimeoutMs = options.requestTimeoutMs ?? 5_000;\n const debug = options.debug ?? false;\n if (\n (!multiple && (typeof containerId !== \"string\" || !containerId.trim())) ||\n (revision !== undefined &&\n (typeof revision !== \"string\" || revision.length === 0)) ||\n !Number.isSafeInteger(freshnessWindowMs) ||\n freshnessWindowMs < 0 ||\n !Number.isSafeInteger(requestTimeoutMs) ||\n requestTimeoutMs < 1 ||\n requestTimeoutMs > 2_147_483_647 ||\n typeof debug !== \"boolean\"\n )\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n let client = options.client;\n if (client !== undefined) {\n if (\n !client ||\n typeof (multiple\n ? client.getLearnedSkillsSnapshots\n : client.getLearnedSkillsSnapshot) !== \"function\"\n )\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n } else {\n const apiKey = options.apiKey ?? environment.CPK_INTELLIGENCE_API_KEY;\n const apiUrl = options.apiUrl ?? environment.INTELLIGENCE_API_URL;\n if (typeof apiKey !== \"string\" || !apiKey.trim())\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n if (apiUrl?.trim()) {\n const url = new URL(apiUrl);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n )\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false);\n }\n client = new CopilotKitIntelligence({\n apiKey,\n ...(apiUrl !== undefined ? { apiUrl } : {}),\n // This private helper client uses REST only. Explicitly retain the\n // canonical websocket default to prevent an irrelevant host warning.\n ...(apiUrl?.trim()\n ? { wsUrl: \"wss://realtime.intelligence.copilotkit.ai\" }\n : {}),\n });\n }\n return Object.freeze({\n client,\n ...(containers\n ? { containers }\n : {\n containerId: containerId!,\n ...(revision !== undefined ? { revision } : {}),\n }),\n freshnessWindowMs,\n requestTimeoutMs,\n debug,\n });\n } catch (error) {\n if (error instanceof SkillDeliveryError) throw error;\n throw new SkillDeliveryError(\"INVALID_CONFIG\", false, error);\n }\n}\n"],"mappings":";;;;;AAkDA,SAAgB,sBACd,UAAgC,EAAE,EAClC,cAAiC,QAAQ,KACzB;AAChB,KAAI;EACF,MAAM,WAAW,QAAQ,eAAe;AACxC,MACE,aACC,QAAQ,gBAAgB,UAAa,QAAQ,aAAa,QAE3D,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;EAEvD,MAAM,cAAc,WAChB,SACC,QAAQ,eACT,YAAY;EAChB,MAAM,WAAW,WACb,SACC,QAAQ,YAAY,YAAY;EACrC,IAAI;AACJ,MAAI,UAAU;AACZ,OACE,CAAC,MAAM,QAAQ,QAAQ,WAAW,IAClC,QAAQ,WAAW,WAAW,KAC9B,QAAQ,WAAW,SAAS,GAE5B,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;GAEvD,MAAM,uBAAO,IAAI,KAAa;AAC9B,gBAAa,OAAO,OAClB,QAAQ,WAAW,KAAK,WAAW;AACjC,QACE,CAAC,UACD,OAAO,OAAO,OAAO,YACrB,CAAC,OAAO,GAAG,MAAM,IAGjB,wBAAwB,KAAK,OAAO,GAAG,IACvC,KAAK,IAAI,OAAO,GAAG,IAClB,OAAO,aAAa,WAClB,OAAO,OAAO,aAAa,YAAY,CAAC,OAAO,SAAS,MAAM,EAEjE,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;AAGvD,uBAAmB,OAAO,GAAG;AAC7B,SAAK,IAAI,OAAO,GAAG;AACnB,WAAO,OAAO,OAAO;KACnB,IAAI,OAAO;KACX,GAAI,OAAO,aAAa,SACpB,EAAE,UAAU,OAAO,UAAU,GAC7B,EAAE;KACP,CAAC;KACF,CACH;;EAEH,MAAM,oBAAoB,QAAQ,qBAAqB;EACvD,MAAM,mBAAmB,QAAQ,oBAAoB;EACrD,MAAM,QAAQ,QAAQ,SAAS;AAC/B,MACG,CAAC,aAAa,OAAO,gBAAgB,YAAY,CAAC,YAAY,MAAM,KACpE,aAAa,WACX,OAAO,aAAa,YAAY,SAAS,WAAW,MACvD,CAAC,OAAO,cAAc,kBAAkB,IACxC,oBAAoB,KACpB,CAAC,OAAO,cAAc,iBAAiB,IACvC,mBAAmB,KACnB,mBAAmB,cACnB,OAAO,UAAU,UAEjB,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;EACvD,IAAI,SAAS,QAAQ;AACrB,MAAI,WAAW,QACb;OACE,CAAC,UACD,QAAQ,WACJ,OAAO,4BACP,OAAO,8BAA8B,WAEzC,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;SAClD;GACL,MAAM,SAAS,QAAQ,UAAU,YAAY;GAC7C,MAAM,SAAS,QAAQ,UAAU,YAAY;AAC7C,OAAI,OAAO,WAAW,YAAY,CAAC,OAAO,MAAM,CAC9C,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;AACvD,OAAI,QAAQ,MAAM,EAAE;IAClB,MAAM,MAAM,IAAI,IAAI,OAAO;AAC3B,QACE,CAAC,CAAC,SAAS,SAAS,CAAC,SAAS,IAAI,SAAS,IAC3C,IAAI,YACJ,IAAI,YACJ,IAAI,UACJ,IAAI,KAEJ,OAAM,IAAIA,mBAAmB,kBAAkB,MAAM;;AAEzD,YAAS,IAAI,uBAAuB;IAClC;IACA,GAAI,WAAW,SAAY,EAAE,QAAQ,GAAG,EAAE;IAG1C,GAAI,QAAQ,MAAM,GACd,EAAE,OAAO,6CAA6C,GACtD,EAAE;IACP,CAAC;;AAEJ,SAAO,OAAO,OAAO;GACnB;GACA,GAAI,aACA,EAAE,YAAY,GACd;IACe;IACb,GAAI,aAAa,SAAY,EAAE,UAAU,GAAG,EAAE;IAC/C;GACL;GACA;GACA;GACD,CAAC;UACK,OAAO;AACd,MAAI,iBAAiBA,mBAAoB,OAAM;AAC/C,QAAM,IAAIA,mBAAmB,kBAAkB,OAAO,MAAM"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const require_learned_skills = require('../learned-skills.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/runtime/intelligence-platform/skill-registry/errors.ts
|
|
4
|
+
function invalidSnapshot(cause) {
|
|
5
|
+
return new require_learned_skills.LearnedSkillsError("INVALID_SNAPSHOT", false, cause);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
exports.invalidSnapshot = invalidSnapshot;
|
|
10
|
+
//# sourceMappingURL=errors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.cjs","names":["LearnedSkillsError"],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/errors.ts"],"sourcesContent":["import { LearnedSkillsError } from \"../learned-skills\";\n\n// Reuse the canonical delivery error identity across transport and adapter code.\nexport { LearnedSkillsError as SkillDeliveryError } from \"../learned-skills\";\nexport type { LearnedSkillsErrorCode as SkillDeliveryErrorCode } from \"../learned-skills\";\n\nexport function invalidSnapshot(cause?: unknown): LearnedSkillsError {\n return new LearnedSkillsError(\"INVALID_SNAPSHOT\", false, cause);\n}\n"],"mappings":";;;AAMA,SAAgB,gBAAgB,OAAqC;AACnE,QAAO,IAAIA,0CAAmB,oBAAoB,OAAO,MAAM"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LearnedSkillsError, LearnedSkillsErrorCode } from "../learned-skills.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/runtime/intelligence-platform/skill-registry/errors.d.ts
|
|
4
|
+
declare function invalidSnapshot(cause?: unknown): LearnedSkillsError;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { invalidSnapshot };
|
|
7
|
+
//# sourceMappingURL=errors.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.cts","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/errors.ts"],"mappings":";;;iBAMgB,eAAA,CAAgB,KAAA,aAAkB,kBAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LearnedSkillsError, LearnedSkillsErrorCode } from "../learned-skills.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/runtime/intelligence-platform/skill-registry/errors.d.ts
|
|
4
|
+
declare function invalidSnapshot(cause?: unknown): LearnedSkillsError;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { invalidSnapshot };
|
|
7
|
+
//# sourceMappingURL=errors.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.mts","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/errors.ts"],"mappings":";;;iBAMgB,eAAA,CAAgB,KAAA,aAAkB,kBAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LearnedSkillsError } from "../learned-skills.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/runtime/intelligence-platform/skill-registry/errors.ts
|
|
4
|
+
function invalidSnapshot(cause) {
|
|
5
|
+
return new LearnedSkillsError("INVALID_SNAPSHOT", false, cause);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { invalidSnapshot };
|
|
10
|
+
//# sourceMappingURL=errors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.mjs","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/errors.ts"],"sourcesContent":["import { LearnedSkillsError } from \"../learned-skills\";\n\n// Reuse the canonical delivery error identity across transport and adapter code.\nexport { LearnedSkillsError as SkillDeliveryError } from \"../learned-skills\";\nexport type { LearnedSkillsErrorCode as SkillDeliveryErrorCode } from \"../learned-skills\";\n\nexport function invalidSnapshot(cause?: unknown): LearnedSkillsError {\n return new LearnedSkillsError(\"INVALID_SNAPSHOT\", false, cause);\n}\n"],"mappings":";;;AAMA,SAAgB,gBAAgB,OAAqC;AACnE,QAAO,IAAI,mBAAmB,oBAAoB,OAAO,MAAM"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LearnedSkillsError, LearnedSkillsErrorCode } from "../learned-skills.cjs";
|
|
2
|
+
import { MAX_ARCHIVE_ENTRIES, MAX_SNAPSHOT_BYTES, readArchive, safeRelativePath } from "./archive.cjs";
|
|
3
|
+
import { RegistryConfig, SingleContainerConfig, SkillRegistryCommonOptions, SkillRegistryContainer, SkillRegistryOptions, resolveRegistryConfig } from "./config.cjs";
|
|
4
|
+
import { invalidSnapshot } from "./errors.cjs";
|
|
5
|
+
import { SnapshotFile, SnapshotSkill, VerifiedSnapshot, validateSnapshot } from "./snapshot.cjs";
|
|
6
|
+
import { SkillRegistry, SkillRegistryStatus } from "./registry.cjs";
|
|
7
|
+
import { formatSkillCatalog, loadSkill, readSkillFile } from "./skill-content.cjs";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LearnedSkillsError, LearnedSkillsErrorCode } from "../learned-skills.mjs";
|
|
2
|
+
import { MAX_ARCHIVE_ENTRIES, MAX_SNAPSHOT_BYTES, readArchive, safeRelativePath } from "./archive.mjs";
|
|
3
|
+
import { RegistryConfig, SingleContainerConfig, SkillRegistryCommonOptions, SkillRegistryContainer, SkillRegistryOptions, resolveRegistryConfig } from "./config.mjs";
|
|
4
|
+
import { invalidSnapshot } from "./errors.mjs";
|
|
5
|
+
import { SnapshotFile, SnapshotSkill, VerifiedSnapshot, validateSnapshot } from "./snapshot.mjs";
|
|
6
|
+
import { SkillRegistry, SkillRegistryStatus } from "./registry.mjs";
|
|
7
|
+
import { formatSkillCatalog, loadSkill, readSkillFile } from "./skill-content.mjs";
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_learned_skills = require('../learned-skills.cjs');
|
|
3
|
+
const require_errors = require('./errors.cjs');
|
|
4
|
+
const require_config = require('./config.cjs');
|
|
5
|
+
const require_snapshot = require('./snapshot.cjs');
|
|
6
|
+
let node_crypto = require("node:crypto");
|
|
7
|
+
|
|
8
|
+
//#region src/runtime/intelligence-platform/skill-registry/registry.ts
|
|
9
|
+
function transient(error) {
|
|
10
|
+
return [
|
|
11
|
+
"NETWORK_ERROR",
|
|
12
|
+
"TIMEOUT",
|
|
13
|
+
"INVALID_SNAPSHOT",
|
|
14
|
+
"UNSUPPORTED_SERVER"
|
|
15
|
+
].includes(error.code);
|
|
16
|
+
}
|
|
17
|
+
function deliveryError(error) {
|
|
18
|
+
if (error instanceof require_learned_skills.LearnedSkillsError) return error;
|
|
19
|
+
return new require_learned_skills.LearnedSkillsError(error instanceof Error && error.name === "TimeoutError" ? "TIMEOUT" : "NETWORK_ERROR", true, error);
|
|
20
|
+
}
|
|
21
|
+
/** Internal registry shared by framework adapters; public API is framework-native. */
|
|
22
|
+
var SingleContainerRegistry = class {
|
|
23
|
+
#config;
|
|
24
|
+
#snapshot;
|
|
25
|
+
#inFlight;
|
|
26
|
+
#lastCheckedAt;
|
|
27
|
+
#stale = false;
|
|
28
|
+
#lastError;
|
|
29
|
+
#blocked;
|
|
30
|
+
constructor(config, fetchSnapshot = (request) => config.client.getLearnedSkillsSnapshot(request)) {
|
|
31
|
+
this.fetchSnapshot = fetchSnapshot;
|
|
32
|
+
this.#config = config;
|
|
33
|
+
}
|
|
34
|
+
async initialize() {
|
|
35
|
+
await this.acquireSnapshot();
|
|
36
|
+
}
|
|
37
|
+
/** Capture exactly one immutable snapshot before model work begins. */
|
|
38
|
+
acquireSnapshot() {
|
|
39
|
+
if (this.#inFlight) return this.#inFlight;
|
|
40
|
+
if (this.#snapshot && !this.#blocked && this.#lastCheckedAt !== void 0 && Date.now() - this.#lastCheckedAt < this.#config.freshnessWindowMs) return Promise.resolve(this.#snapshot);
|
|
41
|
+
this.#inFlight = Promise.resolve().then(() => this.#refresh()).finally(() => {
|
|
42
|
+
this.#inFlight = void 0;
|
|
43
|
+
});
|
|
44
|
+
return this.#inFlight;
|
|
45
|
+
}
|
|
46
|
+
get status() {
|
|
47
|
+
const error = this.#lastError;
|
|
48
|
+
return Object.freeze({
|
|
49
|
+
initialized: this.#snapshot !== void 0,
|
|
50
|
+
...this.#snapshot ? { revision: this.#snapshot.revision } : {},
|
|
51
|
+
mode: this.#config.revision === void 0 ? "latest" : "pinned",
|
|
52
|
+
...this.#lastCheckedAt !== void 0 ? { lastCheckedAt: new Date(this.#lastCheckedAt).toISOString() } : {},
|
|
53
|
+
stale: this.#stale,
|
|
54
|
+
...error ? { lastError: Object.freeze({
|
|
55
|
+
code: error.code,
|
|
56
|
+
message: error.message,
|
|
57
|
+
retryable: error.retryable
|
|
58
|
+
}) } : {}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async #refresh() {
|
|
62
|
+
const startedAt = Date.now();
|
|
63
|
+
const controller = new AbortController();
|
|
64
|
+
let timer;
|
|
65
|
+
const deadline = new Promise((_, reject) => {
|
|
66
|
+
timer = setTimeout(() => {
|
|
67
|
+
const error = new require_learned_skills.LearnedSkillsError("TIMEOUT", true);
|
|
68
|
+
controller.abort(error);
|
|
69
|
+
timer = setTimeout(() => reject(error), 0);
|
|
70
|
+
}, this.#config.requestTimeoutMs);
|
|
71
|
+
});
|
|
72
|
+
const replacement = async () => {
|
|
73
|
+
const response = await this.fetchSnapshot({
|
|
74
|
+
containerId: this.#config.containerId,
|
|
75
|
+
...this.#config.revision !== void 0 ? { revision: this.#config.revision } : {},
|
|
76
|
+
...this.#snapshot ? { ifNoneMatch: this.#snapshot.etag } : {},
|
|
77
|
+
signal: controller.signal
|
|
78
|
+
});
|
|
79
|
+
controller.signal.throwIfAborted();
|
|
80
|
+
if (!response || typeof response !== "object") throw require_errors.invalidSnapshot();
|
|
81
|
+
if (response.status === "unchanged") {
|
|
82
|
+
if (!this.#snapshot || response.etag !== this.#snapshot.etag || response.revision !== this.#snapshot.revision) throw require_errors.invalidSnapshot();
|
|
83
|
+
return this.#snapshot;
|
|
84
|
+
}
|
|
85
|
+
if (this.#config.revision !== void 0 && response.revision !== this.#config.revision) throw require_errors.invalidSnapshot();
|
|
86
|
+
return require_snapshot.validateSnapshot(response, controller.signal);
|
|
87
|
+
};
|
|
88
|
+
try {
|
|
89
|
+
const snapshot = await Promise.race([replacement(), deadline]);
|
|
90
|
+
this.#snapshot = snapshot;
|
|
91
|
+
this.#lastCheckedAt = Date.now();
|
|
92
|
+
this.#stale = false;
|
|
93
|
+
this.#lastError = void 0;
|
|
94
|
+
this.#blocked = void 0;
|
|
95
|
+
this.#debug("refresh-success", startedAt);
|
|
96
|
+
return snapshot;
|
|
97
|
+
} catch (cause) {
|
|
98
|
+
const error = deliveryError(cause);
|
|
99
|
+
if (!transient(error)) {
|
|
100
|
+
this.#blocked = error;
|
|
101
|
+
this.#stale = false;
|
|
102
|
+
this.#lastError = error;
|
|
103
|
+
this.#debug("refresh-denied", startedAt, error.code);
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
if (this.#blocked) {
|
|
107
|
+
this.#lastError = this.#blocked;
|
|
108
|
+
this.#debug("refresh-failed", startedAt, error.code);
|
|
109
|
+
throw this.#blocked;
|
|
110
|
+
}
|
|
111
|
+
this.#lastError = error;
|
|
112
|
+
this.#stale = this.#snapshot !== void 0;
|
|
113
|
+
this.#debug("refresh-failed", startedAt, error.code);
|
|
114
|
+
if (this.#snapshot) return this.#snapshot;
|
|
115
|
+
throw error;
|
|
116
|
+
} finally {
|
|
117
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
#debug(event, startedAt, errorCode) {
|
|
121
|
+
if (!this.#config.debug) return;
|
|
122
|
+
console.debug("CopilotKit learned skills", {
|
|
123
|
+
event,
|
|
124
|
+
containerId: this.#config.containerId,
|
|
125
|
+
revision: this.#snapshot?.revision,
|
|
126
|
+
durationMs: Date.now() - startedAt,
|
|
127
|
+
...errorCode ? { errorCode } : {}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
/** Coalesce refreshes from this registry into one request in the next microtask. */
|
|
132
|
+
function batchLoader(client) {
|
|
133
|
+
let pending = [];
|
|
134
|
+
return (request) => new Promise((resolve, reject) => {
|
|
135
|
+
pending.push({
|
|
136
|
+
request,
|
|
137
|
+
resolve,
|
|
138
|
+
reject
|
|
139
|
+
});
|
|
140
|
+
if (pending.length !== 1) return;
|
|
141
|
+
queueMicrotask(async () => {
|
|
142
|
+
const batch = pending;
|
|
143
|
+
pending = [];
|
|
144
|
+
try {
|
|
145
|
+
const results = await client.getLearnedSkillsSnapshots({
|
|
146
|
+
containers: batch.map(({ request: { signal: _signal, ...source } }) => source),
|
|
147
|
+
signal: batch[0].request.signal
|
|
148
|
+
});
|
|
149
|
+
if (!Array.isArray(results) || results.length !== batch.length || results.some((result, index) => result?.containerId !== batch[index].request.containerId)) throw require_errors.invalidSnapshot();
|
|
150
|
+
for (let index = 0; index < batch.length; index++) {
|
|
151
|
+
const result = results[index];
|
|
152
|
+
if (result.status === "error") batch[index].reject(result.error);
|
|
153
|
+
else batch[index].resolve(result);
|
|
154
|
+
}
|
|
155
|
+
} catch (error) {
|
|
156
|
+
for (const item of batch) item.reject(error);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/** Compose independent container caches into one immutable invocation snapshot. */
|
|
162
|
+
var SkillRegistry = class {
|
|
163
|
+
#sources;
|
|
164
|
+
#multiple;
|
|
165
|
+
#snapshot;
|
|
166
|
+
#parts;
|
|
167
|
+
#inFlight;
|
|
168
|
+
constructor(options = {}) {
|
|
169
|
+
const config = require_config.resolveRegistryConfig(options);
|
|
170
|
+
this.#multiple = config.containers !== void 0;
|
|
171
|
+
const fetchBatch = batchLoader(config.client);
|
|
172
|
+
this.#sources = config.containers !== void 0 ? config.containers.map(({ id, revision }) => ({
|
|
173
|
+
id,
|
|
174
|
+
registry: new SingleContainerRegistry(Object.freeze({
|
|
175
|
+
client: config.client,
|
|
176
|
+
freshnessWindowMs: config.freshnessWindowMs,
|
|
177
|
+
requestTimeoutMs: config.requestTimeoutMs,
|
|
178
|
+
debug: config.debug,
|
|
179
|
+
containerId: id,
|
|
180
|
+
...revision !== void 0 ? { revision } : {}
|
|
181
|
+
}), fetchBatch)
|
|
182
|
+
})) : [{
|
|
183
|
+
id: config.containerId,
|
|
184
|
+
registry: new SingleContainerRegistry({
|
|
185
|
+
client: config.client,
|
|
186
|
+
containerId: config.containerId,
|
|
187
|
+
revision: config.revision,
|
|
188
|
+
freshnessWindowMs: config.freshnessWindowMs,
|
|
189
|
+
requestTimeoutMs: config.requestTimeoutMs,
|
|
190
|
+
debug: config.debug
|
|
191
|
+
})
|
|
192
|
+
}];
|
|
193
|
+
}
|
|
194
|
+
/** Load every configured container before agent initialization completes. */
|
|
195
|
+
async initialize() {
|
|
196
|
+
await this.acquireSnapshot();
|
|
197
|
+
}
|
|
198
|
+
/** Capture every container once; a failed source cannot yield a partial catalog. */
|
|
199
|
+
acquireSnapshot() {
|
|
200
|
+
if (!this.#multiple) return this.#sources[0].registry.acquireSnapshot();
|
|
201
|
+
if (this.#inFlight) return this.#inFlight;
|
|
202
|
+
this.#inFlight = Promise.all(this.#sources.map(({ registry }) => registry.acquireSnapshot())).then((parts) => {
|
|
203
|
+
if (this.#snapshot && parts.every((part, index) => part === this.#parts?.[index])) return this.#snapshot;
|
|
204
|
+
const identity = (0, node_crypto.createHash)("sha256").update(JSON.stringify(parts.map((part, index) => [
|
|
205
|
+
this.#sources[index].id,
|
|
206
|
+
part.revision,
|
|
207
|
+
part.etag
|
|
208
|
+
]))).digest("hex");
|
|
209
|
+
const skills = Object.freeze(parts.flatMap((part, index) => part.skills.map((skill) => Object.freeze({
|
|
210
|
+
...skill,
|
|
211
|
+
name: `${encodeURIComponent(this.#sources[index].id)}/${skill.name}`
|
|
212
|
+
}))));
|
|
213
|
+
this.#parts = parts;
|
|
214
|
+
this.#snapshot = Object.freeze({
|
|
215
|
+
revision: `multi:${identity}`,
|
|
216
|
+
etag: `"${identity}"`,
|
|
217
|
+
skills
|
|
218
|
+
});
|
|
219
|
+
return this.#snapshot;
|
|
220
|
+
}).finally(() => {
|
|
221
|
+
this.#inFlight = void 0;
|
|
222
|
+
});
|
|
223
|
+
return this.#inFlight;
|
|
224
|
+
}
|
|
225
|
+
/** Report each container's real revision; no aggregate server revision exists. */
|
|
226
|
+
get status() {
|
|
227
|
+
if (!this.#multiple) return this.#sources[0].registry.status;
|
|
228
|
+
const containers = Object.freeze(this.#sources.map(({ id, registry }) => Object.freeze({
|
|
229
|
+
id,
|
|
230
|
+
...registry.status
|
|
231
|
+
})));
|
|
232
|
+
const error = containers.find((source) => source.lastError && !source.lastError.retryable)?.lastError ?? containers.find((source) => source.lastError)?.lastError;
|
|
233
|
+
const timestamps = containers.map((source) => source.lastCheckedAt);
|
|
234
|
+
return Object.freeze({
|
|
235
|
+
initialized: this.#snapshot !== void 0,
|
|
236
|
+
mode: containers.every((source) => source.mode === "pinned") ? "pinned" : "latest",
|
|
237
|
+
stale: containers.some((source) => source.stale),
|
|
238
|
+
...timestamps.every((timestamp) => timestamp !== void 0) ? { lastCheckedAt: [...timestamps].sort()[0] } : {},
|
|
239
|
+
...error ? { lastError: error } : {},
|
|
240
|
+
containers
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
//#endregion
|
|
246
|
+
exports.SkillRegistry = SkillRegistry;
|
|
247
|
+
//# sourceMappingURL=registry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.cjs","names":["SkillDeliveryError","#config","#inFlight","#snapshot","#blocked","#lastCheckedAt","#refresh","#lastError","#stale","invalidSnapshot","validateSnapshot","#debug","#sources","#multiple","resolveRegistryConfig","#parts"],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/registry.ts"],"sourcesContent":["import type { CopilotKitIntelligence } from \"../client\";\nimport type {\n GetLearnedSkillsSnapshotRequest,\n LearnedSkillsSnapshotResult,\n} from \"../learned-skills\";\nimport { createHash } from \"node:crypto\";\nimport { resolveRegistryConfig } from \"./config\";\nimport type { SingleContainerConfig, SkillRegistryOptions } from \"./config\";\nimport { SkillDeliveryError, invalidSnapshot } from \"./errors\";\nimport type { SkillDeliveryErrorCode } from \"./errors\";\nimport { validateSnapshot } from \"./snapshot\";\nimport type { VerifiedSnapshot } from \"./snapshot\";\n\nexport interface SkillRegistryStatus {\n /** Present only for the explicit containers interface. */\n readonly containers?: readonly (SkillRegistryStatus & {\n readonly id: string;\n })[];\n readonly initialized: boolean;\n readonly revision?: string;\n readonly mode: \"latest\" | \"pinned\";\n /** ISO 8601 timestamp of the last successful 200 or matching 304 check. */\n readonly lastCheckedAt?: string;\n readonly stale: boolean;\n readonly lastError?: Readonly<{\n code: SkillDeliveryErrorCode;\n message: string;\n retryable: boolean;\n }>;\n}\n\nfunction transient(error: SkillDeliveryError): boolean {\n return [\n \"NETWORK_ERROR\",\n \"TIMEOUT\",\n \"INVALID_SNAPSHOT\",\n \"UNSUPPORTED_SERVER\",\n ].includes(error.code);\n}\nfunction deliveryError(error: unknown): SkillDeliveryError {\n if (error instanceof SkillDeliveryError) return error;\n return new SkillDeliveryError(\n error instanceof Error && error.name === \"TimeoutError\"\n ? \"TIMEOUT\"\n : \"NETWORK_ERROR\",\n true,\n error,\n );\n}\n\n/** Internal registry shared by framework adapters; public API is framework-native. */\nclass SingleContainerRegistry {\n readonly #config: SingleContainerConfig;\n #snapshot?: VerifiedSnapshot;\n #inFlight?: Promise<VerifiedSnapshot>;\n #lastCheckedAt?: number;\n #stale = false;\n #lastError?: SkillDeliveryError;\n #blocked?: SkillDeliveryError;\n\n constructor(\n config: SingleContainerConfig,\n private readonly fetchSnapshot = (\n request: GetLearnedSkillsSnapshotRequest,\n ) => config.client.getLearnedSkillsSnapshot(request),\n ) {\n this.#config = config;\n }\n\n async initialize(): Promise<void> {\n await this.acquireSnapshot();\n }\n\n /** Capture exactly one immutable snapshot before model work begins. */\n acquireSnapshot(): Promise<VerifiedSnapshot> {\n if (this.#inFlight) return this.#inFlight;\n if (\n this.#snapshot &&\n !this.#blocked &&\n this.#lastCheckedAt !== undefined &&\n Date.now() - this.#lastCheckedAt < this.#config.freshnessWindowMs\n ) {\n return Promise.resolve(this.#snapshot);\n }\n // Defer work one microtask so reentrant and concurrent callers observe the\n // same promise before an injected client can start its request.\n this.#inFlight = Promise.resolve()\n .then(() => this.#refresh())\n .finally(() => {\n this.#inFlight = undefined;\n });\n return this.#inFlight;\n }\n\n get status(): SkillRegistryStatus {\n const error = this.#lastError;\n return Object.freeze({\n initialized: this.#snapshot !== undefined,\n ...(this.#snapshot ? { revision: this.#snapshot.revision } : {}),\n mode: this.#config.revision === undefined ? \"latest\" : \"pinned\",\n ...(this.#lastCheckedAt !== undefined\n ? { lastCheckedAt: new Date(this.#lastCheckedAt).toISOString() }\n : {}),\n stale: this.#stale,\n ...(error\n ? {\n lastError: Object.freeze({\n code: error.code,\n message: error.message,\n retryable: error.retryable,\n }),\n }\n : {}),\n });\n }\n\n async #refresh(): Promise<VerifiedSnapshot> {\n const startedAt = Date.now();\n const controller = new AbortController();\n let timer: ReturnType<typeof setTimeout> | undefined;\n const deadline = new Promise<never>((_, reject) => {\n timer = setTimeout(() => {\n const error = new SkillDeliveryError(\"TIMEOUT\", true);\n controller.abort(error);\n // Give a canonical client that already received denial headers one\n // event-loop turn to report that denial before the watchdog wins.\n timer = setTimeout(() => reject(error), 0);\n }, this.#config.requestTimeoutMs);\n });\n const replacement = async (): Promise<VerifiedSnapshot> => {\n const response = await this.fetchSnapshot({\n containerId: this.#config.containerId,\n ...(this.#config.revision !== undefined\n ? { revision: this.#config.revision }\n : {}),\n ...(this.#snapshot ? { ifNoneMatch: this.#snapshot.etag } : {}),\n signal: controller.signal,\n });\n controller.signal.throwIfAborted();\n if (!response || typeof response !== \"object\") throw invalidSnapshot();\n if (response.status === \"unchanged\") {\n if (\n !this.#snapshot ||\n response.etag !== this.#snapshot.etag ||\n response.revision !== this.#snapshot.revision\n )\n throw invalidSnapshot();\n return this.#snapshot;\n }\n if (\n this.#config.revision !== undefined &&\n response.revision !== this.#config.revision\n )\n throw invalidSnapshot();\n return validateSnapshot(response, controller.signal);\n };\n try {\n const snapshot = await Promise.race([replacement(), deadline]);\n // An abandoned parse never writes registry state: only the winning\n // complete replacement reaches this assignment.\n this.#snapshot = snapshot;\n this.#lastCheckedAt = Date.now();\n this.#stale = false;\n this.#lastError = undefined;\n this.#blocked = undefined;\n this.#debug(\"refresh-success\", startedAt);\n return snapshot;\n } catch (cause) {\n const error = deliveryError(cause);\n if (!transient(error)) {\n this.#blocked = error;\n this.#stale = false;\n this.#lastError = error;\n this.#debug(\"refresh-denied\", startedAt, error.code);\n throw error;\n }\n // A later unreachable server cannot undo an already confirmed denial.\n if (this.#blocked) {\n this.#lastError = this.#blocked;\n this.#debug(\"refresh-failed\", startedAt, error.code);\n throw this.#blocked;\n }\n this.#lastError = error;\n this.#stale = this.#snapshot !== undefined;\n this.#debug(\"refresh-failed\", startedAt, error.code);\n if (this.#snapshot) return this.#snapshot;\n throw error;\n } finally {\n if (timer !== undefined) clearTimeout(timer);\n }\n }\n\n #debug(\n event: string,\n startedAt: number,\n errorCode?: SkillDeliveryErrorCode,\n ): void {\n if (!this.#config.debug) return;\n console.debug(\"CopilotKit learned skills\", {\n event,\n containerId: this.#config.containerId,\n revision: this.#snapshot?.revision,\n durationMs: Date.now() - startedAt,\n ...(errorCode ? { errorCode } : {}),\n });\n }\n}\n\n/** Coalesce refreshes from this registry into one request in the next microtask. */\nfunction batchLoader(client: CopilotKitIntelligence) {\n let pending: {\n request: GetLearnedSkillsSnapshotRequest;\n resolve: (value: LearnedSkillsSnapshotResult) => void;\n reject: (error: unknown) => void;\n }[] = [];\n return (\n request: GetLearnedSkillsSnapshotRequest,\n ): Promise<LearnedSkillsSnapshotResult> =>\n new Promise((resolve, reject) => {\n pending.push({ request, resolve, reject });\n if (pending.length !== 1) return;\n queueMicrotask(async () => {\n const batch = pending;\n pending = [];\n try {\n const results = await client.getLearnedSkillsSnapshots({\n containers: batch.map(\n ({ request: { signal: _signal, ...source } }) => source,\n ),\n signal: batch[0].request.signal,\n });\n if (\n !Array.isArray(results) ||\n results.length !== batch.length ||\n results.some(\n (result, index) =>\n result?.containerId !== batch[index].request.containerId,\n )\n )\n throw invalidSnapshot();\n for (let index = 0; index < batch.length; index++) {\n const result = results[index];\n if (result.status === \"error\") batch[index].reject(result.error);\n else batch[index].resolve(result);\n }\n } catch (error) {\n for (const item of batch) item.reject(error);\n }\n });\n });\n}\n\n/** Compose independent container caches into one immutable invocation snapshot. */\nexport class SkillRegistry {\n readonly #sources: readonly {\n readonly id: string;\n readonly registry: SingleContainerRegistry;\n }[];\n readonly #multiple: boolean;\n #snapshot?: VerifiedSnapshot;\n #parts?: readonly VerifiedSnapshot[];\n #inFlight?: Promise<VerifiedSnapshot>;\n\n constructor(options: SkillRegistryOptions = {}) {\n const config = resolveRegistryConfig(options);\n this.#multiple = config.containers !== undefined;\n const fetchBatch = batchLoader(config.client);\n this.#sources =\n config.containers !== undefined\n ? config.containers.map(({ id, revision }) => ({\n id,\n registry: new SingleContainerRegistry(\n Object.freeze({\n client: config.client,\n freshnessWindowMs: config.freshnessWindowMs,\n requestTimeoutMs: config.requestTimeoutMs,\n debug: config.debug,\n containerId: id,\n ...(revision !== undefined ? { revision } : {}),\n }),\n fetchBatch,\n ),\n }))\n : [\n {\n id: config.containerId!,\n registry: new SingleContainerRegistry({\n client: config.client,\n containerId: config.containerId!,\n revision: config.revision,\n freshnessWindowMs: config.freshnessWindowMs,\n requestTimeoutMs: config.requestTimeoutMs,\n debug: config.debug,\n }),\n },\n ];\n }\n\n /** Load every configured container before agent initialization completes. */\n async initialize(): Promise<void> {\n await this.acquireSnapshot();\n }\n\n /** Capture every container once; a failed source cannot yield a partial catalog. */\n acquireSnapshot(): Promise<VerifiedSnapshot> {\n if (!this.#multiple) return this.#sources[0].registry.acquireSnapshot();\n if (this.#inFlight) return this.#inFlight;\n this.#inFlight = Promise.all(\n this.#sources.map(({ registry }) => registry.acquireSnapshot()),\n )\n .then((parts) => {\n if (\n this.#snapshot &&\n parts.every((part, index) => part === this.#parts?.[index])\n ) {\n return this.#snapshot;\n }\n const identity = createHash(\"sha256\")\n .update(\n JSON.stringify(\n parts.map((part, index) => [\n this.#sources[index].id,\n part.revision,\n part.etag,\n ]),\n ),\n )\n .digest(\"hex\");\n const skills = Object.freeze(\n parts.flatMap((part, index) =>\n part.skills.map((skill) =>\n Object.freeze({\n ...skill,\n name: `${encodeURIComponent(this.#sources[index].id)}/${skill.name}`,\n }),\n ),\n ),\n );\n this.#parts = parts;\n this.#snapshot = Object.freeze({\n revision: `multi:${identity}`,\n etag: `\"${identity}\"`,\n skills,\n });\n return this.#snapshot;\n })\n .finally(() => {\n this.#inFlight = undefined;\n });\n return this.#inFlight;\n }\n\n /** Report each container's real revision; no aggregate server revision exists. */\n get status(): SkillRegistryStatus {\n if (!this.#multiple) return this.#sources[0].registry.status;\n const containers = Object.freeze(\n this.#sources.map(({ id, registry }) =>\n Object.freeze({ id, ...registry.status }),\n ),\n );\n const error =\n containers.find(\n (source) => source.lastError && !source.lastError.retryable,\n )?.lastError ?? containers.find((source) => source.lastError)?.lastError;\n const timestamps = containers.map((source) => source.lastCheckedAt);\n return Object.freeze({\n initialized: this.#snapshot !== undefined,\n mode: containers.every((source) => source.mode === \"pinned\")\n ? \"pinned\"\n : \"latest\",\n stale: containers.some((source) => source.stale),\n ...(timestamps.every((timestamp) => timestamp !== undefined)\n ? { lastCheckedAt: [...timestamps].sort()[0] }\n : {}),\n ...(error ? { lastError: error } : {}),\n containers,\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { LearnedSkillsErrorCode } from "../learned-skills.cjs";
|
|
2
|
+
import { SkillRegistryOptions } from "./config.cjs";
|
|
3
|
+
import { VerifiedSnapshot } from "./snapshot.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/runtime/intelligence-platform/skill-registry/registry.d.ts
|
|
6
|
+
interface SkillRegistryStatus {
|
|
7
|
+
/** Present only for the explicit containers interface. */
|
|
8
|
+
readonly containers?: readonly (SkillRegistryStatus & {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
})[];
|
|
11
|
+
readonly initialized: boolean;
|
|
12
|
+
readonly revision?: string;
|
|
13
|
+
readonly mode: "latest" | "pinned";
|
|
14
|
+
/** ISO 8601 timestamp of the last successful 200 or matching 304 check. */
|
|
15
|
+
readonly lastCheckedAt?: string;
|
|
16
|
+
readonly stale: boolean;
|
|
17
|
+
readonly lastError?: Readonly<{
|
|
18
|
+
code: LearnedSkillsErrorCode;
|
|
19
|
+
message: string;
|
|
20
|
+
retryable: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
/** Compose independent container caches into one immutable invocation snapshot. */
|
|
24
|
+
declare class SkillRegistry {
|
|
25
|
+
#private;
|
|
26
|
+
constructor(options?: SkillRegistryOptions);
|
|
27
|
+
/** Load every configured container before agent initialization completes. */
|
|
28
|
+
initialize(): Promise<void>;
|
|
29
|
+
/** Capture every container once; a failed source cannot yield a partial catalog. */
|
|
30
|
+
acquireSnapshot(): Promise<VerifiedSnapshot>;
|
|
31
|
+
/** Report each container's real revision; no aggregate server revision exists. */
|
|
32
|
+
get status(): SkillRegistryStatus;
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { SkillRegistry, SkillRegistryStatus };
|
|
36
|
+
//# sourceMappingURL=registry.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.cts","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/registry.ts"],"mappings":";;;;;UAaiB,mBAAA;;WAEN,UAAA,aAAuB,mBAAA;IAAA,SACrB,EAAA;EAAA;EAAA,SAEF,WAAA;EAAA,SACA,QAAA;EAAA,SACA,IAAA;EAIoB;EAAA,SAFpB,aAAA;EAAA,SACA,KAAA;EAAA,SACA,SAAA,GAAY,QAAA;IACnB,IAAA,EAAM,sBAAA;IACN,OAAA;IACA,SAAA;EAAA;AAAA;;cAkOS,aAAA;EAAA;cAUC,OAAA,GAAS,oBAAA;EA9Ob;EAkRF,UAAA,CAAA,GAAc,OAAA;EAhRlB;EAqRF,eAAA,CAAA,GAAmB,OAAA,CAAQ,gBAAA;EArRhB;EAAA,IAsUP,MAAA,CAAA,GAAU,mBAAA;AAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { LearnedSkillsErrorCode } from "../learned-skills.mjs";
|
|
2
|
+
import { SkillRegistryOptions } from "./config.mjs";
|
|
3
|
+
import { VerifiedSnapshot } from "./snapshot.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/runtime/intelligence-platform/skill-registry/registry.d.ts
|
|
6
|
+
interface SkillRegistryStatus {
|
|
7
|
+
/** Present only for the explicit containers interface. */
|
|
8
|
+
readonly containers?: readonly (SkillRegistryStatus & {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
})[];
|
|
11
|
+
readonly initialized: boolean;
|
|
12
|
+
readonly revision?: string;
|
|
13
|
+
readonly mode: "latest" | "pinned";
|
|
14
|
+
/** ISO 8601 timestamp of the last successful 200 or matching 304 check. */
|
|
15
|
+
readonly lastCheckedAt?: string;
|
|
16
|
+
readonly stale: boolean;
|
|
17
|
+
readonly lastError?: Readonly<{
|
|
18
|
+
code: LearnedSkillsErrorCode;
|
|
19
|
+
message: string;
|
|
20
|
+
retryable: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
/** Compose independent container caches into one immutable invocation snapshot. */
|
|
24
|
+
declare class SkillRegistry {
|
|
25
|
+
#private;
|
|
26
|
+
constructor(options?: SkillRegistryOptions);
|
|
27
|
+
/** Load every configured container before agent initialization completes. */
|
|
28
|
+
initialize(): Promise<void>;
|
|
29
|
+
/** Capture every container once; a failed source cannot yield a partial catalog. */
|
|
30
|
+
acquireSnapshot(): Promise<VerifiedSnapshot>;
|
|
31
|
+
/** Report each container's real revision; no aggregate server revision exists. */
|
|
32
|
+
get status(): SkillRegistryStatus;
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { SkillRegistry, SkillRegistryStatus };
|
|
36
|
+
//# sourceMappingURL=registry.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.mts","names":[],"sources":["../../../../src/runtime/intelligence-platform/skill-registry/registry.ts"],"mappings":";;;;;UAaiB,mBAAA;;WAEN,UAAA,aAAuB,mBAAA;IAAA,SACrB,EAAA;EAAA;EAAA,SAEF,WAAA;EAAA,SACA,QAAA;EAAA,SACA,IAAA;EAIoB;EAAA,SAFpB,aAAA;EAAA,SACA,KAAA;EAAA,SACA,SAAA,GAAY,QAAA;IACnB,IAAA,EAAM,sBAAA;IACN,OAAA;IACA,SAAA;EAAA;AAAA;;cAkOS,aAAA;EAAA;cAUC,OAAA,GAAS,oBAAA;EA9Ob;EAkRF,UAAA,CAAA,GAAc,OAAA;EAhRlB;EAqRF,eAAA,CAAA,GAAmB,OAAA,CAAQ,gBAAA;EArRhB;EAAA,IAsUP,MAAA,CAAA,GAAU,mBAAA;AAAA"}
|