@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Atai Barkai
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -37,7 +37,6 @@
|
|
|
37
37
|
|
|
38
38
|
<img src="https://github.com/user-attachments/assets/3b810240-e9f8-43ae-acec-31a58095e223" alt="headless-ui" style="border-radius: 12px; border: 2px solid #d6d4fa;">
|
|
39
39
|
|
|
40
|
-
|
|
41
40
|
## 🏆 Featured Examples
|
|
42
41
|
|
|
43
42
|
<p align="center">
|
|
@@ -52,10 +51,79 @@
|
|
|
52
51
|
</a>
|
|
53
52
|
</p>
|
|
54
53
|
|
|
54
|
+
## Trusted Inspector metadata
|
|
55
|
+
|
|
56
|
+
An Intelligence-backed v2 runtime can proxy trusted project and license context
|
|
57
|
+
to the Inspector. The runtime advertises this support with
|
|
58
|
+
`inspectorMetadata: true` in its runtime-info response.
|
|
59
|
+
|
|
60
|
+
| Runtime mode | Request |
|
|
61
|
+
| ------------ | ----------------------------------------------------------- |
|
|
62
|
+
| Multi-route | `GET {basePath}/inspector-metadata` |
|
|
63
|
+
| Single-route | `POST {basePath}` with `{ "method": "inspector/metadata" }` |
|
|
64
|
+
|
|
65
|
+
A valid response is a sanitized `InspectorMetadataV1` JSON object with
|
|
66
|
+
`Cache-Control: no-store, private`. Missing data, an unsupported schema, a
|
|
67
|
+
non-Intelligence runtime, or a provider failure returns `204` with the same
|
|
68
|
+
cache policy. This optional request never changes the main runtime connection
|
|
69
|
+
state. The upstream Intelligence request has a five-second deadline; a timeout
|
|
70
|
+
uses the same private `204` path.
|
|
71
|
+
|
|
72
|
+
Runtime keeps `schemaVersion: 1` and returns the object normalized by Shared.
|
|
73
|
+
Older producers may omit `usage.expiringSoonCount`, and `0` stays a known zero.
|
|
74
|
+
If this optional leaf is malformed, Shared removes only the leaf and keeps valid
|
|
75
|
+
base usage and sibling modules. Runtime does not calculate or cache expiry, and
|
|
76
|
+
older consumers ignore the additive leaf.
|
|
77
|
+
|
|
78
|
+
The Intelligence request uses the API key configured on the server-side
|
|
79
|
+
`CopilotKitIntelligence` client. The proxy does not forward browser headers or
|
|
80
|
+
cookies to Intelligence, and it does not expose provider error bodies to the
|
|
81
|
+
browser. Browser headers and configured fetch credentials still apply between
|
|
82
|
+
`@copilotkit/core` and your Copilot Runtime, so you can protect the runtime route
|
|
83
|
+
with your normal app auth.
|
|
84
|
+
|
|
85
|
+
Deploy the Intelligence producer before releasing a runtime that advertises the
|
|
86
|
+
capability. New runtimes treat a `404` from an older Intelligence App API as
|
|
87
|
+
compatible absence and return `204` to the client.
|
|
88
|
+
|
|
55
89
|
## Documentation
|
|
56
90
|
|
|
57
91
|
To get started with CopilotKit, please check out the [documentation](https://docs.copilotkit.ai).
|
|
58
92
|
|
|
93
|
+
## Intelligence identity and Memory
|
|
94
|
+
|
|
95
|
+
An Intelligence Runtime supports web only, Channels only, or both. Web routes
|
|
96
|
+
need `identifyUser(request)`. Each Channel has its own `identifyUser` policy in
|
|
97
|
+
`createChannel`. A Channels-only Runtime omits the web callback and exposes no
|
|
98
|
+
functional web routes.
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
const runtime = new CopilotRuntime({
|
|
102
|
+
agents,
|
|
103
|
+
intelligence,
|
|
104
|
+
identifyUser: authenticateApplicationUser,
|
|
105
|
+
channels: [supportChannel],
|
|
106
|
+
memory: {
|
|
107
|
+
access: async ({ request, user, consumer }) => {
|
|
108
|
+
const role = await roleFor(request, user);
|
|
109
|
+
if (role === "blocked") return null;
|
|
110
|
+
return consumer === "client"
|
|
111
|
+
? { user: "read", project: "none" }
|
|
112
|
+
: { user: "read-write", project: "read" };
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The callback runs once per web request. Its user owns ordinary web Threads and
|
|
119
|
+
is reused for agent and browser Memory policy. Adding `memory` exposes the
|
|
120
|
+
browser Memory routes and agent tools under the same policy. A denial returns
|
|
121
|
+
403; a policy error fails the request. Omitting `memory` hides the browser
|
|
122
|
+
routes and does not attach Memory tools.
|
|
123
|
+
|
|
124
|
+
`exposeMemoryRoutes` and
|
|
125
|
+
`CopilotKitIntelligence({ enableEnterpriseLearning: true })` remain for one
|
|
126
|
+
compatibility window. New code should use `memory.access`.
|
|
59
127
|
|
|
60
128
|
## Analytics & Privacy
|
|
61
129
|
|
|
@@ -74,3 +142,69 @@ Or use the `DO_NOT_TRACK` standard:
|
|
|
74
142
|
```bash
|
|
75
143
|
export DO_NOT_TRACK=1
|
|
76
144
|
```
|
|
145
|
+
|
|
146
|
+
## Stopping Intelligence runs
|
|
147
|
+
|
|
148
|
+
Await Stop before sending another message on the same thread. With
|
|
149
|
+
`IntelligenceAgentRunner`, `stopped: true` means the gateway acknowledged the
|
|
150
|
+
run's terminal events and the runtime completed local cleanup. The gateway
|
|
151
|
+
releases only the lock owned by that run.
|
|
152
|
+
|
|
153
|
+
Stop requests agent cancellation and excludes late agent events from thread
|
|
154
|
+
history. Agents that support `detachActiveRun()` also detach their local
|
|
155
|
+
subscription. Older agents remain supported. An adapter must honor cancellation
|
|
156
|
+
to stop external work; Stop cannot undo tool calls that already took effect.
|
|
157
|
+
|
|
158
|
+
The HTTP request and response formats are unchanged. Empty-body Stop requests
|
|
159
|
+
still stop the current run. Direct runner callers can pass the existing optional
|
|
160
|
+
`runId` to stop only that run. A missing, mismatched, or already-requested Stop
|
|
161
|
+
returns `false`. Failed terminal delivery rejects Stop; the HTTP handler returns
|
|
162
|
+
its existing error response instead of reporting success. The wait is bounded by
|
|
163
|
+
the existing 60-second durability window.
|
|
164
|
+
|
|
165
|
+
No Intelligence upgrade is required. The runtime uses the existing terminal
|
|
166
|
+
events and supports both single-event and batched gateway acknowledgments.
|
|
167
|
+
|
|
168
|
+
## BuiltInAgent skill delivery from multiple containers
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
import { BuiltInAgent } from "@copilotkit/runtime";
|
|
172
|
+
|
|
173
|
+
const agent = new BuiltInAgent({
|
|
174
|
+
model: "openai/gpt-4o",
|
|
175
|
+
learnedSkills: {
|
|
176
|
+
containers: [
|
|
177
|
+
{ id: "support", revision: "revision-123" },
|
|
178
|
+
{ id: "company-wide" },
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Set `CPK_INTELLIGENCE_API_KEY` or supply an Intelligence client in `learnedSkills.client`.
|
|
185
|
+
The existing `containerId` and top-level `revision` interface remains supported.
|
|
186
|
+
The SDK rejects a combination of the old fields and `containers`.
|
|
187
|
+
The new interface ignores legacy container and revision environment variables.
|
|
188
|
+
Each container keeps its own revision and cache. A cold failure or confirmed denial blocks the whole invocation.
|
|
189
|
+
Skill names include the container prefix, such as `support/refund-policy`, when you use `containers`.
|
|
190
|
+
See [Skill delivery](https://docs.copilotkit.ai/intelligence/learned-skills) for all adapters, environment defaults, and factory-mode wiring.
|
|
191
|
+
|
|
192
|
+
Explicit `containers` accepts 1–50 unique container IDs and sends one batch request for all sources that need a refresh. This also applies to a list with one entry.
|
|
193
|
+
The server must support `POST /api/v1/learning/skills/batch` before you use this configuration. The SDK does not fall back to separate requests.
|
|
194
|
+
Legacy `containerId` configuration keeps its existing single-container request. Both interfaces use the same authentication configuration.
|
|
195
|
+
|
|
196
|
+
## Intelligence runner reconnects
|
|
197
|
+
|
|
198
|
+
`IntelligenceAgentRunner` retains unacknowledged events and retries them with the
|
|
199
|
+
same IDs after reconnect. An unexpected normal WebSocket close (`1000`) also
|
|
200
|
+
reconnects while the run remains active. Intentional cleanup does not reconnect.
|
|
201
|
+
|
|
202
|
+
Recovery also depends on the Intelligence gateway's reconnect grace period.
|
|
203
|
+
The current gateway defaults to 15 seconds and stores pending disconnects in
|
|
204
|
+
Redis so another gateway replica can finish cleanup. The gateway controls this
|
|
205
|
+
period; the runner does not negotiate it. A gateway with no reconnect grace can
|
|
206
|
+
record `RUNNER_CONNECTION_DROPPED` before the runner reconnects.
|
|
207
|
+
|
|
208
|
+
This recovers a lost WebSocket while the agent runtime remains alive. It does
|
|
209
|
+
not restart an agent after its runtime process exits. The existing 60-second
|
|
210
|
+
event acknowledgment deadline still applies.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
|
|
29
|
+
exports.__toESM = __toESM;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) {
|
|
6
|
+
__defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (!no_symbols) {
|
|
12
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { __exportAll };
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_state_delta = require('../state-delta.cjs');
|
|
3
|
+
const require_usage = require('./usage.cjs');
|
|
4
|
+
let _copilotkit_shared = require("@copilotkit/shared");
|
|
5
|
+
let _ag_ui_client = require("@ag-ui/client");
|
|
6
|
+
|
|
7
|
+
//#region src/agent/converters/aisdk.ts
|
|
8
|
+
/**
|
|
9
|
+
* Reads aggregate usage from an AI SDK finish part without inventing values
|
|
10
|
+
* when a provider omits a token count.
|
|
11
|
+
*/
|
|
12
|
+
function getAISDKRunFinishedDetails(part, identity = {}) {
|
|
13
|
+
const details = {};
|
|
14
|
+
if (typeof part.finishReason === "string") details.metadata = { finishReason: part.finishReason };
|
|
15
|
+
if (part.totalUsage === null || typeof part.totalUsage !== "object" || Array.isArray(part.totalUsage)) return details;
|
|
16
|
+
const totalUsage = part.totalUsage;
|
|
17
|
+
const counts = {};
|
|
18
|
+
for (const key of require_usage.tokenCountKeys) {
|
|
19
|
+
const value = require_usage.getTokenCount(totalUsage[key]);
|
|
20
|
+
if (value !== void 0) counts[key] = value;
|
|
21
|
+
}
|
|
22
|
+
require_usage.aggregateRunUsage(details, [{
|
|
23
|
+
...identity,
|
|
24
|
+
...counts
|
|
25
|
+
}]);
|
|
26
|
+
return details;
|
|
27
|
+
}
|
|
28
|
+
function formatToolError(error) {
|
|
29
|
+
if (error instanceof Error) return error.message;
|
|
30
|
+
if (error && typeof error === "object" && "message" in error && typeof error.message === "string") return error.message;
|
|
31
|
+
if (typeof error === "string") return error;
|
|
32
|
+
if (error === void 0 || error === null) return "Unknown tool error";
|
|
33
|
+
try {
|
|
34
|
+
const serialized = JSON.stringify(error);
|
|
35
|
+
return serialized === void 0 ? String(error) : serialized;
|
|
36
|
+
} catch {
|
|
37
|
+
return String(error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Returns the AG-UI message id for an AI SDK `text-start` / `reasoning-start`
|
|
42
|
+
* part.
|
|
43
|
+
*
|
|
44
|
+
* Several providers number stream parts per response instead of giving them
|
|
45
|
+
* a unique id: @ai-sdk/anthropic and @ai-sdk/google use a block counter
|
|
46
|
+
* ("0", "1", ...) and @ai-sdk/openai-compatible always uses "txt-0" /
|
|
47
|
+
* "reasoning-0". Those ids repeat on every step and every run, so reusing
|
|
48
|
+
* them would append later replies to an earlier message. Only ids that look
|
|
49
|
+
* unique are kept.
|
|
50
|
+
*/
|
|
51
|
+
function resolveStreamPartMessageId(providedId) {
|
|
52
|
+
if (typeof providedId !== "string" || providedId === "" || /^(\d+|(txt|reasoning|msg)-0)$/.test(providedId)) return (0, _copilotkit_shared.randomUUID)();
|
|
53
|
+
return providedId;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Converts an AI SDK `fullStream` into AG-UI `BaseEvent` objects.
|
|
57
|
+
*
|
|
58
|
+
* This is a pure converter — it does NOT emit lifecycle events
|
|
59
|
+
* (RUN_STARTED / RUN_FINISHED / RUN_ERROR). The caller (Agent class)
|
|
60
|
+
* is responsible for those.
|
|
61
|
+
*
|
|
62
|
+
* Terminal stream events (finish, error, abort) cause the generator to
|
|
63
|
+
* return so the caller can handle lifecycle appropriately.
|
|
64
|
+
*
|
|
65
|
+
* `pendingInterrupts`, when provided, is filled with one AG-UI Interrupt per
|
|
66
|
+
* AI SDK `tool-approval-request` part (a tool declared `needsApproval: true`).
|
|
67
|
+
* The caller turns a non-empty array into a RUN_FINISHED `outcome:interrupt`.
|
|
68
|
+
*/
|
|
69
|
+
async function* convertAISDKStream(fullStream, abortSignal, pendingInterrupts, initialState, runFinishedDetails) {
|
|
70
|
+
let messageId = (0, _copilotkit_shared.randomUUID)();
|
|
71
|
+
let reasoningMessageId = (0, _copilotkit_shared.randomUUID)();
|
|
72
|
+
let isInReasoning = false;
|
|
73
|
+
const normalizeStateEvent = require_state_delta.createStateEventNormalizer(initialState);
|
|
74
|
+
const toolCallStates = /* @__PURE__ */ new Map();
|
|
75
|
+
const ensureToolCallState = (toolCallId) => {
|
|
76
|
+
let state = toolCallStates.get(toolCallId);
|
|
77
|
+
if (!state) {
|
|
78
|
+
state = {
|
|
79
|
+
started: false,
|
|
80
|
+
hasArgsDelta: false,
|
|
81
|
+
ended: false
|
|
82
|
+
};
|
|
83
|
+
toolCallStates.set(toolCallId, state);
|
|
84
|
+
}
|
|
85
|
+
return state;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Auto-close an open reasoning lifecycle.
|
|
89
|
+
* Some AI SDK providers (notably @ai-sdk/anthropic) never emit "reasoning-end",
|
|
90
|
+
* which leaves downstream state machines stuck. This helper emits the
|
|
91
|
+
* missing REASONING_MESSAGE_END + REASONING_END events so the stream
|
|
92
|
+
* can transition to text, tool-call, or finish phases.
|
|
93
|
+
*/
|
|
94
|
+
function* closeReasoningIfOpen() {
|
|
95
|
+
if (!isInReasoning) return;
|
|
96
|
+
isInReasoning = false;
|
|
97
|
+
yield {
|
|
98
|
+
type: _ag_ui_client.EventType.REASONING_MESSAGE_END,
|
|
99
|
+
messageId: reasoningMessageId
|
|
100
|
+
};
|
|
101
|
+
yield {
|
|
102
|
+
type: _ag_ui_client.EventType.REASONING_END,
|
|
103
|
+
messageId: reasoningMessageId
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const warnedUnknownPartTypes = /* @__PURE__ */ new Set();
|
|
108
|
+
for await (const part of fullStream) {
|
|
109
|
+
const p = part;
|
|
110
|
+
if (p.type !== "reasoning-delta") yield* closeReasoningIfOpen();
|
|
111
|
+
switch (p.type) {
|
|
112
|
+
case "abort": return;
|
|
113
|
+
case "reasoning-start":
|
|
114
|
+
reasoningMessageId = resolveStreamPartMessageId("id" in p ? p.id : void 0);
|
|
115
|
+
yield {
|
|
116
|
+
type: _ag_ui_client.EventType.REASONING_START,
|
|
117
|
+
messageId: reasoningMessageId
|
|
118
|
+
};
|
|
119
|
+
yield {
|
|
120
|
+
type: _ag_ui_client.EventType.REASONING_MESSAGE_START,
|
|
121
|
+
messageId: reasoningMessageId,
|
|
122
|
+
role: "reasoning"
|
|
123
|
+
};
|
|
124
|
+
isInReasoning = true;
|
|
125
|
+
break;
|
|
126
|
+
case "reasoning-delta": {
|
|
127
|
+
const delta = p.text ?? "";
|
|
128
|
+
if (!delta) break;
|
|
129
|
+
yield {
|
|
130
|
+
type: _ag_ui_client.EventType.REASONING_MESSAGE_CONTENT,
|
|
131
|
+
messageId: reasoningMessageId,
|
|
132
|
+
delta
|
|
133
|
+
};
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
case "reasoning-end": break;
|
|
137
|
+
case "tool-input-start": {
|
|
138
|
+
const toolCallId = p.id;
|
|
139
|
+
const state = ensureToolCallState(toolCallId);
|
|
140
|
+
state.toolName = p.toolName;
|
|
141
|
+
if (!state.started) {
|
|
142
|
+
state.started = true;
|
|
143
|
+
yield {
|
|
144
|
+
type: _ag_ui_client.EventType.TOOL_CALL_START,
|
|
145
|
+
parentMessageId: messageId,
|
|
146
|
+
toolCallId,
|
|
147
|
+
toolCallName: p.toolName
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
case "tool-input-delta": {
|
|
153
|
+
const toolCallId = p.id;
|
|
154
|
+
const state = ensureToolCallState(toolCallId);
|
|
155
|
+
state.hasArgsDelta = true;
|
|
156
|
+
yield {
|
|
157
|
+
type: _ag_ui_client.EventType.TOOL_CALL_ARGS,
|
|
158
|
+
toolCallId,
|
|
159
|
+
delta: p.delta
|
|
160
|
+
};
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
case "tool-input-end": break;
|
|
164
|
+
case "text-start":
|
|
165
|
+
messageId = resolveStreamPartMessageId("id" in p ? p.id : void 0);
|
|
166
|
+
break;
|
|
167
|
+
case "text-delta": {
|
|
168
|
+
const textDelta = "text" in p ? p.text : "";
|
|
169
|
+
yield {
|
|
170
|
+
type: _ag_ui_client.EventType.TEXT_MESSAGE_CHUNK,
|
|
171
|
+
role: "assistant",
|
|
172
|
+
messageId,
|
|
173
|
+
delta: textDelta
|
|
174
|
+
};
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case "tool-call": {
|
|
178
|
+
const toolCallId = p.toolCallId;
|
|
179
|
+
const state = ensureToolCallState(toolCallId);
|
|
180
|
+
state.toolName = p.toolName ?? state.toolName;
|
|
181
|
+
if (!state.started) {
|
|
182
|
+
state.started = true;
|
|
183
|
+
yield {
|
|
184
|
+
type: _ag_ui_client.EventType.TOOL_CALL_START,
|
|
185
|
+
parentMessageId: messageId,
|
|
186
|
+
toolCallId,
|
|
187
|
+
toolCallName: p.toolName
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
if (!state.hasArgsDelta && "input" in p && p.input !== void 0) {
|
|
191
|
+
let serializedInput = "";
|
|
192
|
+
if (typeof p.input === "string") serializedInput = p.input;
|
|
193
|
+
else try {
|
|
194
|
+
serializedInput = JSON.stringify(p.input);
|
|
195
|
+
} catch {
|
|
196
|
+
serializedInput = String(p.input);
|
|
197
|
+
}
|
|
198
|
+
if (serializedInput.length > 0) {
|
|
199
|
+
yield {
|
|
200
|
+
type: _ag_ui_client.EventType.TOOL_CALL_ARGS,
|
|
201
|
+
toolCallId,
|
|
202
|
+
delta: serializedInput
|
|
203
|
+
};
|
|
204
|
+
state.hasArgsDelta = true;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (!state.ended) {
|
|
208
|
+
state.ended = true;
|
|
209
|
+
yield {
|
|
210
|
+
type: _ag_ui_client.EventType.TOOL_CALL_END,
|
|
211
|
+
toolCallId
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
case "tool-approval-request": {
|
|
217
|
+
const nested = p.toolCall ?? {};
|
|
218
|
+
const toolCallId = p.toolCallId ?? nested.toolCallId;
|
|
219
|
+
if (!toolCallId) throw new Error("AI SDK tool-approval-request is missing toolCallId");
|
|
220
|
+
const state = ensureToolCallState(toolCallId);
|
|
221
|
+
const toolName = state.toolName ?? nested.toolName;
|
|
222
|
+
if (!state.started) {
|
|
223
|
+
state.started = true;
|
|
224
|
+
yield {
|
|
225
|
+
type: _ag_ui_client.EventType.TOOL_CALL_START,
|
|
226
|
+
parentMessageId: messageId,
|
|
227
|
+
toolCallId,
|
|
228
|
+
toolCallName: toolName ?? ""
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
if (!state.hasArgsDelta && nested.input !== void 0) {
|
|
232
|
+
let serialized = "";
|
|
233
|
+
try {
|
|
234
|
+
serialized = typeof nested.input === "string" ? nested.input : JSON.stringify(nested.input);
|
|
235
|
+
} catch {
|
|
236
|
+
serialized = String(nested.input);
|
|
237
|
+
}
|
|
238
|
+
if (serialized.length > 0) {
|
|
239
|
+
yield {
|
|
240
|
+
type: _ag_ui_client.EventType.TOOL_CALL_ARGS,
|
|
241
|
+
toolCallId,
|
|
242
|
+
delta: serialized
|
|
243
|
+
};
|
|
244
|
+
state.hasArgsDelta = true;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (!state.ended) {
|
|
248
|
+
state.ended = true;
|
|
249
|
+
yield {
|
|
250
|
+
type: _ag_ui_client.EventType.TOOL_CALL_END,
|
|
251
|
+
toolCallId
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
pendingInterrupts?.push({
|
|
255
|
+
id: toolCallId,
|
|
256
|
+
toolCallId,
|
|
257
|
+
reason: "tool_approval",
|
|
258
|
+
message: toolName ? `Approve "${toolName}"?` : void 0,
|
|
259
|
+
...toolName ? { metadata: { toolName } } : {}
|
|
260
|
+
});
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
case "tool-error": {
|
|
264
|
+
const toolCallId = p.toolCallId;
|
|
265
|
+
if (!toolCallId) throw new Error("AI SDK tool-error is missing toolCallId");
|
|
266
|
+
if (pendingInterrupts?.some((interrupt) => interrupt.toolCallId === toolCallId)) {
|
|
267
|
+
toolCallStates.delete(toolCallId);
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
toolCallStates.delete(toolCallId);
|
|
271
|
+
yield {
|
|
272
|
+
type: _ag_ui_client.EventType.TOOL_CALL_RESULT,
|
|
273
|
+
role: "tool",
|
|
274
|
+
messageId: (0, _copilotkit_shared.randomUUID)(),
|
|
275
|
+
toolCallId,
|
|
276
|
+
content: `Error: ${formatToolError(p.error)}`
|
|
277
|
+
};
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
case "tool-result": {
|
|
281
|
+
const toolResult = "output" in p ? p.output : "result" in p ? p.result : null;
|
|
282
|
+
const toolName = "toolName" in p ? p.toolName : "";
|
|
283
|
+
toolCallStates.delete(p.toolCallId);
|
|
284
|
+
if (toolName === "AGUISendStateSnapshot" && toolResult && typeof toolResult === "object") {
|
|
285
|
+
const snapshot = toolResult.snapshot;
|
|
286
|
+
if (snapshot !== void 0) {
|
|
287
|
+
const stateSnapshotEvent = {
|
|
288
|
+
type: _ag_ui_client.EventType.STATE_SNAPSHOT,
|
|
289
|
+
snapshot
|
|
290
|
+
};
|
|
291
|
+
for (const event of normalizeStateEvent(stateSnapshotEvent)) yield event;
|
|
292
|
+
}
|
|
293
|
+
} else if (toolName === "AGUISendStateDelta" && toolResult && typeof toolResult === "object") {
|
|
294
|
+
const delta = toolResult.delta;
|
|
295
|
+
if (delta !== void 0) {
|
|
296
|
+
const stateDeltaEvent = {
|
|
297
|
+
type: _ag_ui_client.EventType.STATE_DELTA,
|
|
298
|
+
delta
|
|
299
|
+
};
|
|
300
|
+
for (const event of normalizeStateEvent(stateDeltaEvent)) yield event;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
let serializedResult;
|
|
304
|
+
try {
|
|
305
|
+
serializedResult = JSON.stringify(toolResult);
|
|
306
|
+
} catch {
|
|
307
|
+
serializedResult = `[Unserializable tool result from ${toolName || "unknown tool"}]`;
|
|
308
|
+
}
|
|
309
|
+
yield {
|
|
310
|
+
type: _ag_ui_client.EventType.TOOL_CALL_RESULT,
|
|
311
|
+
role: "tool",
|
|
312
|
+
messageId: (0, _copilotkit_shared.randomUUID)(),
|
|
313
|
+
toolCallId: p.toolCallId,
|
|
314
|
+
content: serializedResult
|
|
315
|
+
};
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
case "finish":
|
|
319
|
+
if (runFinishedDetails) Object.assign(runFinishedDetails, getAISDKRunFinishedDetails(p));
|
|
320
|
+
return;
|
|
321
|
+
case "error": {
|
|
322
|
+
if (abortSignal.aborted) return;
|
|
323
|
+
const err = p.error ?? p.message ?? p.cause;
|
|
324
|
+
if (err instanceof Error) throw err;
|
|
325
|
+
throw new Error(typeof err === "string" ? err : `AI SDK stream error: ${JSON.stringify(p)}`);
|
|
326
|
+
}
|
|
327
|
+
case "start":
|
|
328
|
+
case "start-step":
|
|
329
|
+
case "finish-step":
|
|
330
|
+
case "text-end":
|
|
331
|
+
case "source":
|
|
332
|
+
case "file":
|
|
333
|
+
case "tool-output-denied":
|
|
334
|
+
case "raw": break;
|
|
335
|
+
default: {
|
|
336
|
+
const unknownType = String(p.type);
|
|
337
|
+
if (!warnedUnknownPartTypes.has(unknownType)) {
|
|
338
|
+
warnedUnknownPartTypes.add(unknownType);
|
|
339
|
+
console.warn(`[convertAISDKStream] Ignoring unhandled AI SDK stream part: ${unknownType}`);
|
|
340
|
+
}
|
|
341
|
+
break;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
} finally {
|
|
346
|
+
yield* closeReasoningIfOpen();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
//#endregion
|
|
351
|
+
exports.convertAISDKStream = convertAISDKStream;
|
|
352
|
+
exports.formatToolError = formatToolError;
|
|
353
|
+
exports.getAISDKRunFinishedDetails = getAISDKRunFinishedDetails;
|
|
354
|
+
exports.resolveStreamPartMessageId = resolveStreamPartMessageId;
|
|
355
|
+
//# sourceMappingURL=aisdk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aisdk.cjs","names":["tokenCountKeys","getTokenCount","createStateEventNormalizer","EventType"],"sources":["../../../src/agent/converters/aisdk.ts"],"sourcesContent":["import type {\n BaseEvent,\n Interrupt,\n ReasoningEndEvent,\n ReasoningMessageContentEvent,\n ReasoningMessageEndEvent,\n ReasoningMessageStartEvent,\n ReasoningStartEvent,\n TextMessageChunkEvent,\n ToolCallArgsEvent,\n ToolCallEndEvent,\n ToolCallStartEvent,\n ToolCallResultEvent,\n StateSnapshotEvent,\n StateDeltaEvent,\n} from \"@ag-ui/client\";\nimport { EventType } from \"@ag-ui/client\";\nimport { randomUUID } from \"@copilotkit/shared\";\nimport { createStateEventNormalizer } from \"../state-delta\";\nimport { aggregateRunUsage, getTokenCount, tokenCountKeys } from \"./usage\";\nimport type { AgentRunFinishedDetails, AgentRunUsage } from \"./usage\";\n\n/**\n * Reads aggregate usage from an AI SDK finish part without inventing values\n * when a provider omits a token count.\n */\nexport function getAISDKRunFinishedDetails(\n part: Record<string, unknown>,\n identity: { provider?: string; model?: string } = {},\n): AgentRunFinishedDetails {\n const details: AgentRunFinishedDetails = {};\n\n if (typeof part.finishReason === \"string\") {\n details.metadata = { finishReason: part.finishReason };\n }\n\n if (\n part.totalUsage === null ||\n typeof part.totalUsage !== \"object\" ||\n Array.isArray(part.totalUsage)\n ) {\n return details;\n }\n\n const totalUsage = part.totalUsage as Record<string, unknown>;\n const counts: AgentRunUsage = {};\n\n for (const key of tokenCountKeys) {\n const value = getTokenCount(totalUsage[key]);\n if (value !== undefined) {\n counts[key] = value;\n }\n }\n\n aggregateRunUsage(details, [{ ...identity, ...counts }]);\n\n return details;\n}\n\nexport function formatToolError(error: unknown): string {\n if (error instanceof Error) return error.message;\n if (\n error &&\n typeof error === \"object\" &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n return error.message;\n }\n if (typeof error === \"string\") return error;\n if (error === undefined || error === null) return \"Unknown tool error\";\n\n try {\n const serialized = JSON.stringify(error);\n return serialized === undefined ? String(error) : serialized;\n } catch {\n return String(error);\n }\n}\n\n/**\n * Returns the AG-UI message id for an AI SDK `text-start` / `reasoning-start`\n * part.\n *\n * Several providers number stream parts per response instead of giving them\n * a unique id: @ai-sdk/anthropic and @ai-sdk/google use a block counter\n * (\"0\", \"1\", ...) and @ai-sdk/openai-compatible always uses \"txt-0\" /\n * \"reasoning-0\". Those ids repeat on every step and every run, so reusing\n * them would append later replies to an earlier message. Only ids that look\n * unique are kept.\n */\nexport function resolveStreamPartMessageId(providedId: unknown): string {\n if (\n typeof providedId !== \"string\" ||\n providedId === \"\" ||\n /^(\\d+|(txt|reasoning|msg)-0)$/.test(providedId)\n ) {\n return randomUUID();\n }\n return providedId;\n}\n\n/**\n * Converts an AI SDK `fullStream` into AG-UI `BaseEvent` objects.\n *\n * This is a pure converter — it does NOT emit lifecycle events\n * (RUN_STARTED / RUN_FINISHED / RUN_ERROR). The caller (Agent class)\n * is responsible for those.\n *\n * Terminal stream events (finish, error, abort) cause the generator to\n * return so the caller can handle lifecycle appropriately.\n *\n * `pendingInterrupts`, when provided, is filled with one AG-UI Interrupt per\n * AI SDK `tool-approval-request` part (a tool declared `needsApproval: true`).\n * The caller turns a non-empty array into a RUN_FINISHED `outcome:interrupt`.\n */\nexport async function* convertAISDKStream(\n fullStream: AsyncIterable<unknown>,\n abortSignal: AbortSignal,\n pendingInterrupts?: Interrupt[],\n initialState?: unknown,\n runFinishedDetails?: AgentRunFinishedDetails,\n): AsyncGenerator<BaseEvent> {\n let messageId = randomUUID();\n let reasoningMessageId = randomUUID();\n let isInReasoning = false;\n const normalizeStateEvent = createStateEventNormalizer(initialState);\n\n const toolCallStates = new Map<\n string,\n {\n started: boolean;\n hasArgsDelta: boolean;\n ended: boolean;\n toolName?: string;\n }\n >();\n\n const ensureToolCallState = (toolCallId: string) => {\n let state = toolCallStates.get(toolCallId);\n if (!state) {\n state = { started: false, hasArgsDelta: false, ended: false };\n toolCallStates.set(toolCallId, state);\n }\n return state;\n };\n\n /**\n * Auto-close an open reasoning lifecycle.\n * Some AI SDK providers (notably @ai-sdk/anthropic) never emit \"reasoning-end\",\n * which leaves downstream state machines stuck. This helper emits the\n * missing REASONING_MESSAGE_END + REASONING_END events so the stream\n * can transition to text, tool-call, or finish phases.\n */\n function* closeReasoningIfOpen(): Generator<BaseEvent> {\n if (!isInReasoning) return;\n isInReasoning = false;\n const reasoningMsgEnd: ReasoningMessageEndEvent = {\n type: EventType.REASONING_MESSAGE_END,\n messageId: reasoningMessageId,\n };\n yield reasoningMsgEnd;\n const reasoningEnd: ReasoningEndEvent = {\n type: EventType.REASONING_END,\n messageId: reasoningMessageId,\n };\n yield reasoningEnd;\n }\n\n try {\n const warnedUnknownPartTypes = new Set<string>();\n for await (const part of fullStream) {\n const p = part as Record<string, unknown>;\n\n // Close any open reasoning lifecycle on every event except\n // reasoning-delta, which arrives mid-block and must not interrupt it.\n if (p.type !== \"reasoning-delta\") {\n yield* closeReasoningIfOpen();\n }\n\n switch (p.type) {\n case \"abort\": {\n // Terminal — let the caller handle lifecycle\n return;\n }\n\n case \"reasoning-start\": {\n reasoningMessageId = resolveStreamPartMessageId(\n \"id\" in p ? p.id : undefined,\n );\n const reasoningStartEvent: ReasoningStartEvent = {\n type: EventType.REASONING_START,\n messageId: reasoningMessageId,\n };\n yield reasoningStartEvent;\n const reasoningMessageStart: ReasoningMessageStartEvent = {\n type: EventType.REASONING_MESSAGE_START,\n messageId: reasoningMessageId,\n role: \"reasoning\",\n };\n yield reasoningMessageStart;\n isInReasoning = true;\n break;\n }\n\n case \"reasoning-delta\": {\n const delta = (p.text as string) ?? \"\";\n if (!delta) break; // skip — @ag-ui/core schema requires delta to be non-empty\n const reasoningDeltaEvent: ReasoningMessageContentEvent = {\n type: EventType.REASONING_MESSAGE_CONTENT,\n messageId: reasoningMessageId,\n delta,\n };\n yield reasoningDeltaEvent;\n break;\n }\n\n case \"reasoning-end\": {\n // closeReasoningIfOpen() already called before the switch — no-op here\n // if the SDK never emits this event (e.g. @ai-sdk/anthropic).\n break;\n }\n\n case \"tool-input-start\": {\n const toolCallId = p.id as string;\n const state = ensureToolCallState(toolCallId);\n state.toolName = p.toolName as string;\n if (!state.started) {\n state.started = true;\n const startEvent: ToolCallStartEvent = {\n type: EventType.TOOL_CALL_START,\n parentMessageId: messageId,\n toolCallId,\n toolCallName: p.toolName as string,\n };\n yield startEvent;\n }\n break;\n }\n\n case \"tool-input-delta\": {\n const toolCallId = p.id as string;\n const state = ensureToolCallState(toolCallId);\n state.hasArgsDelta = true;\n const argsEvent: ToolCallArgsEvent = {\n type: EventType.TOOL_CALL_ARGS,\n toolCallId,\n delta: p.delta as string,\n };\n yield argsEvent;\n break;\n }\n\n case \"tool-input-end\": {\n // No direct event – the subsequent \"tool-call\" part marks completion.\n break;\n }\n\n case \"text-start\": {\n messageId = resolveStreamPartMessageId(\"id\" in p ? p.id : undefined);\n break;\n }\n\n case \"text-delta\": {\n // AI SDK text-delta events use 'text' (not 'delta')\n const textDelta = \"text\" in p ? (p.text as string) : \"\";\n const textEvent: TextMessageChunkEvent = {\n type: EventType.TEXT_MESSAGE_CHUNK,\n role: \"assistant\",\n messageId,\n delta: textDelta,\n };\n yield textEvent;\n break;\n }\n\n case \"tool-call\": {\n const toolCallId = p.toolCallId as string;\n const state = ensureToolCallState(toolCallId);\n state.toolName = (p.toolName as string) ?? state.toolName;\n\n if (!state.started) {\n state.started = true;\n const startEvent: ToolCallStartEvent = {\n type: EventType.TOOL_CALL_START,\n parentMessageId: messageId,\n toolCallId,\n toolCallName: p.toolName as string,\n };\n yield startEvent;\n }\n\n if (!state.hasArgsDelta && \"input\" in p && p.input !== undefined) {\n let serializedInput = \"\";\n if (typeof p.input === \"string\") {\n serializedInput = p.input;\n } else {\n try {\n serializedInput = JSON.stringify(p.input);\n } catch {\n serializedInput = String(p.input);\n }\n }\n\n if (serializedInput.length > 0) {\n const argsEvent: ToolCallArgsEvent = {\n type: EventType.TOOL_CALL_ARGS,\n toolCallId,\n delta: serializedInput,\n };\n yield argsEvent;\n state.hasArgsDelta = true;\n }\n }\n\n if (!state.ended) {\n state.ended = true;\n const endEvent: ToolCallEndEvent = {\n type: EventType.TOOL_CALL_END,\n toolCallId,\n };\n yield endEvent;\n }\n break;\n }\n\n case \"tool-approval-request\": {\n // AI SDK native human-in-the-loop: a tool declared `needsApproval`\n // was called. The preceding \"tool-call\" part already streamed the\n // tool name + args; this part carries the toolCallId to pause on.\n // (Some shapes nest the call under `toolCall` — read both.)\n const nested = (p.toolCall ?? {}) as {\n toolCallId?: string;\n toolName?: string;\n input?: unknown;\n };\n const toolCallId =\n (p.toolCallId as string | undefined) ?? nested.toolCallId;\n if (!toolCallId) {\n throw new Error(\n \"AI SDK tool-approval-request is missing toolCallId\",\n );\n }\n const state = ensureToolCallState(toolCallId);\n const toolName = state.toolName ?? nested.toolName;\n\n // Defensive: emit the tool-call lifecycle if the \"tool-call\" part\n // didn't precede this one, so the assistant tool-call is in history\n // for the resume run (which keys the injected result by toolCallId).\n if (!state.started) {\n state.started = true;\n const startEvent: ToolCallStartEvent = {\n type: EventType.TOOL_CALL_START,\n parentMessageId: messageId,\n toolCallId,\n toolCallName: toolName ?? \"\",\n };\n yield startEvent;\n }\n if (!state.hasArgsDelta && nested.input !== undefined) {\n let serialized = \"\";\n try {\n serialized =\n typeof nested.input === \"string\"\n ? nested.input\n : JSON.stringify(nested.input);\n } catch {\n serialized = String(nested.input);\n }\n if (serialized.length > 0) {\n const argsEvent: ToolCallArgsEvent = {\n type: EventType.TOOL_CALL_ARGS,\n toolCallId,\n delta: serialized,\n };\n yield argsEvent;\n state.hasArgsDelta = true;\n }\n }\n if (!state.ended) {\n state.ended = true;\n const endEvent: ToolCallEndEvent = {\n type: EventType.TOOL_CALL_END,\n toolCallId,\n };\n yield endEvent;\n }\n\n pendingInterrupts?.push({\n id: toolCallId,\n toolCallId,\n reason: \"tool_approval\",\n message: toolName ? `Approve \"${toolName}\"?` : undefined,\n ...(toolName ? { metadata: { toolName } } : {}),\n });\n break;\n }\n\n case \"tool-error\": {\n const toolCallId = p.toolCallId as string | undefined;\n if (!toolCallId) {\n throw new Error(\"AI SDK tool-error is missing toolCallId\");\n }\n\n // Interrupt tools do not execute on the server. Their result is\n // supplied by the human on the resume run, so suppress this part.\n if (\n pendingInterrupts?.some(\n (interrupt) => interrupt.toolCallId === toolCallId,\n )\n ) {\n toolCallStates.delete(toolCallId);\n break;\n }\n\n toolCallStates.delete(toolCallId);\n const resultEvent: ToolCallResultEvent = {\n type: EventType.TOOL_CALL_RESULT,\n role: \"tool\",\n messageId: randomUUID(),\n toolCallId,\n // A tool exception is a tool result from the model's perspective.\n // Keeping the Error prefix consistent with the core tool runner\n // lets both the client and the next model step see the failure.\n content: `Error: ${formatToolError(p.error)}`,\n };\n yield resultEvent;\n break;\n }\n\n case \"tool-result\": {\n // AI SDK tool-result uses \"output\"; older versions used \"result\" — check both\n const toolResult =\n \"output\" in p ? p.output : \"result\" in p ? p.result : null;\n const toolName = \"toolName\" in p ? (p.toolName as string) : \"\";\n toolCallStates.delete(p.toolCallId as string);\n\n // Check if this is a state update tool\n if (\n toolName === \"AGUISendStateSnapshot\" &&\n toolResult &&\n typeof toolResult === \"object\"\n ) {\n const snapshot = (toolResult as Record<string, unknown>).snapshot;\n if (snapshot !== undefined) {\n const stateSnapshotEvent: StateSnapshotEvent = {\n type: EventType.STATE_SNAPSHOT,\n snapshot,\n };\n for (const event of normalizeStateEvent(stateSnapshotEvent)) {\n yield event;\n }\n }\n } else if (\n toolName === \"AGUISendStateDelta\" &&\n toolResult &&\n typeof toolResult === \"object\"\n ) {\n const delta = (toolResult as { delta?: StateDeltaEvent[\"delta\"] })\n .delta;\n if (delta !== undefined) {\n const stateDeltaEvent: StateDeltaEvent = {\n type: EventType.STATE_DELTA,\n delta,\n };\n for (const event of normalizeStateEvent(stateDeltaEvent)) {\n yield event;\n }\n }\n }\n\n // Always emit the tool result event for the LLM\n let serializedResult: string;\n try {\n serializedResult = JSON.stringify(toolResult);\n } catch {\n serializedResult = `[Unserializable tool result from ${toolName || \"unknown tool\"}]`;\n }\n const resultEvent: ToolCallResultEvent = {\n type: EventType.TOOL_CALL_RESULT,\n role: \"tool\",\n messageId: randomUUID(),\n toolCallId: p.toolCallId as string,\n content: serializedResult,\n };\n yield resultEvent;\n break;\n }\n\n case \"finish\": {\n if (runFinishedDetails) {\n Object.assign(runFinishedDetails, getAISDKRunFinishedDetails(p));\n }\n // Terminal — let the caller handle lifecycle\n return;\n }\n\n case \"error\": {\n if (abortSignal.aborted) {\n return;\n }\n // Re-throw so the caller can emit RUN_ERROR\n const err = p.error ?? p.message ?? p.cause;\n if (err instanceof Error) throw err;\n throw new Error(\n typeof err === \"string\"\n ? err\n : `AI SDK stream error: ${JSON.stringify(p)}`,\n );\n }\n\n // These AI SDK fullStream parts carry metadata that has no AG-UI event\n // equivalent. They are known and intentionally ignored; listing them\n // keeps the default's warning for genuinely new parts.\n case \"start\":\n case \"start-step\":\n case \"finish-step\":\n case \"text-end\":\n case \"source\":\n case \"file\":\n case \"tool-output-denied\":\n case \"raw\":\n break;\n\n default: {\n // Parts come from the caller's own `ai` install, which can be newer\n // than ours. Warn once per type and keep the run alive.\n const unknownType = String(p.type);\n if (!warnedUnknownPartTypes.has(unknownType)) {\n warnedUnknownPartTypes.add(unknownType);\n console.warn(\n `[convertAISDKStream] Ignoring unhandled AI SDK stream part: ${unknownType}`,\n );\n }\n break;\n }\n }\n }\n } finally {\n // Always close reasoning on exit (normal or exceptional)\n yield* closeReasoningIfOpen();\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AgentRunFinishedDetails } from "./usage.cjs";
|
|
2
|
+
import { BaseEvent, Interrupt } from "@ag-ui/client";
|
|
3
|
+
|
|
4
|
+
//#region src/agent/converters/aisdk.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Converts an AI SDK `fullStream` into AG-UI `BaseEvent` objects.
|
|
7
|
+
*
|
|
8
|
+
* This is a pure converter — it does NOT emit lifecycle events
|
|
9
|
+
* (RUN_STARTED / RUN_FINISHED / RUN_ERROR). The caller (Agent class)
|
|
10
|
+
* is responsible for those.
|
|
11
|
+
*
|
|
12
|
+
* Terminal stream events (finish, error, abort) cause the generator to
|
|
13
|
+
* return so the caller can handle lifecycle appropriately.
|
|
14
|
+
*
|
|
15
|
+
* `pendingInterrupts`, when provided, is filled with one AG-UI Interrupt per
|
|
16
|
+
* AI SDK `tool-approval-request` part (a tool declared `needsApproval: true`).
|
|
17
|
+
* The caller turns a non-empty array into a RUN_FINISHED `outcome:interrupt`.
|
|
18
|
+
*/
|
|
19
|
+
declare function convertAISDKStream(fullStream: AsyncIterable<unknown>, abortSignal: AbortSignal, pendingInterrupts?: Interrupt[], initialState?: unknown, runFinishedDetails?: AgentRunFinishedDetails): AsyncGenerator<BaseEvent>;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { convertAISDKStream };
|
|
22
|
+
//# sourceMappingURL=aisdk.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aisdk.d.cts","names":[],"sources":["../../../src/agent/converters/aisdk.ts"],"mappings":";;;;;;;;;;;;;;;;;;iBAoHuB,kBAAA,CACrB,UAAA,EAAY,aAAA,WACZ,WAAA,EAAa,WAAA,EACb,iBAAA,GAAoB,SAAA,IACpB,YAAA,YACA,kBAAA,GAAqB,uBAAA,GACpB,cAAA,CAAe,SAAA"}
|