@copilotkit/runtime 2.0.0-next.1 → 2.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +135 -1
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/_virtual/_rolldown/runtime.mjs +20 -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/express.cjs +7 -0
- package/dist/express.d.cts +4 -0
- package/dist/express.d.mts +4 -0
- package/dist/express.mjs +4 -0
- package/dist/hono.cjs +8 -0
- package/dist/hono.d.cts +4 -0
- package/dist/hono.d.mts +4 -0
- package/dist/hono.mjs +4 -0
- package/dist/index.cjs +86 -0
- package/dist/index.d.cts +28 -0
- package/dist/index.d.mts +28 -0
- package/dist/index.mjs +21 -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 +100 -0
- package/dist/runtime/core/fetch-handler.d.cts.map +1 -0
- package/dist/runtime/core/fetch-handler.d.mts +100 -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/express-single.cjs +43 -0
- package/dist/runtime/endpoints/express-single.cjs.map +1 -0
- package/dist/runtime/endpoints/express-single.d.cts +48 -0
- package/dist/runtime/endpoints/express-single.d.cts.map +1 -0
- package/dist/runtime/endpoints/express-single.d.mts +48 -0
- package/dist/runtime/endpoints/express-single.d.mts.map +1 -0
- package/dist/runtime/endpoints/express-single.mjs +43 -0
- package/dist/runtime/endpoints/express-single.mjs.map +1 -0
- package/dist/runtime/endpoints/express.cjs +68 -0
- package/dist/runtime/endpoints/express.cjs.map +1 -0
- package/dist/runtime/endpoints/express.d.cts +84 -0
- package/dist/runtime/endpoints/express.d.cts.map +1 -0
- package/dist/runtime/endpoints/express.d.mts +84 -0
- package/dist/runtime/endpoints/express.d.mts.map +1 -0
- package/dist/runtime/endpoints/express.mjs +66 -0
- package/dist/runtime/endpoints/express.mjs.map +1 -0
- package/dist/runtime/endpoints/hono-single.cjs +28 -0
- package/dist/runtime/endpoints/hono-single.cjs.map +1 -0
- package/dist/runtime/endpoints/hono-single.d.cts +43 -0
- package/dist/runtime/endpoints/hono-single.d.cts.map +1 -0
- package/dist/runtime/endpoints/hono-single.d.mts +43 -0
- package/dist/runtime/endpoints/hono-single.d.mts.map +1 -0
- package/dist/runtime/endpoints/hono-single.mjs +27 -0
- package/dist/runtime/endpoints/hono-single.mjs.map +1 -0
- package/dist/runtime/endpoints/hono.cjs +37 -0
- package/dist/runtime/endpoints/hono.cjs.map +1 -0
- package/dist/runtime/endpoints/hono.d.cts +96 -0
- package/dist/runtime/endpoints/hono.d.cts.map +1 -0
- package/dist/runtime/endpoints/hono.d.mts +96 -0
- package/dist/runtime/endpoints/hono.d.mts.map +1 -0
- package/dist/runtime/endpoints/hono.mjs +34 -0
- package/dist/runtime/endpoints/hono.mjs.map +1 -0
- package/dist/runtime/endpoints/index.d.cts +4 -0
- package/dist/runtime/endpoints/index.d.mts +4 -0
- package/dist/runtime/endpoints/load-express.cjs +35 -0
- package/dist/runtime/endpoints/load-express.cjs.map +1 -0
- package/dist/runtime/endpoints/load-express.mjs +34 -0
- package/dist/runtime/endpoints/load-express.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/express.d.cts +2 -0
- package/dist/runtime/express.d.mts +2 -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/hono.d.cts +2 -0
- package/dist/runtime/hono.d.mts +2 -0
- package/dist/runtime/index.d.cts +34 -0
- package/dist/runtime/index.d.cts.map +1 -0
- package/dist/runtime/index.d.mts +34 -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 +119 -104
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-names.cjs","names":[],"sources":["../../src/agent/mcp-tool-names.ts"],"sourcesContent":["import type { ToolSet } from \"ai\";\n\n/** The tools that one MCP source contributed, with the label used to prefix them. */\nexport interface MCPToolSource {\n label: string;\n tools: ToolSet;\n}\n\n/**\n * Reduces a server name to the characters that model providers accept in a\n * tool name (`^[a-zA-Z0-9_-]+$`).\n */\nexport function toToolNamePrefix(name: string): string {\n return name.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n}\n\n// A collision is usually permanent configuration, and agents resolve tools on\n// every run. Warning each time would repeat one message for every request.\nconst warnedCollisions = new Set<string>();\n\n// v1 requests can choose their own MCP servers, so the set of distinct\n// messages has no natural bound. Forgetting old ones costs a repeated warning.\nconst MAX_WARNED_COLLISIONS = 1000;\n\nfunction warnOnce(message: string): void {\n if (warnedCollisions.has(message)) return;\n if (warnedCollisions.size >= MAX_WARNED_COLLISIONS) warnedCollisions.clear();\n warnedCollisions.add(message);\n console.warn(message);\n}\n\n/**\n * Chooses the name under which each MCP tool is exposed, so that no tool is\n * dropped or replaced.\n *\n * A tool name that more than one MCP source exposes is prefixed with each\n * source's label, so the model sees every copy. A tool name that the app\n * already uses keeps the app's tool, and the MCP copy is prefixed. Names that\n * collide with nothing are left as they are, so adding a server does not\n * rename tools that apps and prompts already use. If a prefixed name is\n * already in use, for example because two servers share a label, a number is\n * added: `<label>_<tool>_2`.\n *\n * @returns For each source, the exposed names in the same order as `names`.\n */\nexport function resolveMCPToolNames(\n appToolNames: ReadonlySet<string>,\n sources: { label: string; names: string[] }[],\n hint = \" Set `name` on an `mcpServers` entry to choose its prefix. `mcpClients` entries always use `mcp<N>`.\",\n): string[][] {\n const sourceCount = new Map<string, number>();\n for (const { names } of sources) {\n for (const name of new Set(names)) {\n sourceCount.set(name, (sourceCount.get(name) ?? 0) + 1);\n }\n }\n const collides = (name: string) =>\n (sourceCount.get(name) ?? 0) > 1 || appToolNames.has(name);\n\n // Names that keep their bare form are reserved before any prefixed name is\n // chosen, so a prefixed name can never replace one of them.\n const taken = new Set(appToolNames);\n for (const { names } of sources) {\n for (const name of names) if (!collides(name)) taken.add(name);\n }\n\n const renamed = new Map<string, string[]>();\n const numberedLabels = new Set<string>();\n const resolved = sources.map(({ label, names }) =>\n names.map((name) => {\n if (!collides(name)) return name;\n let prefixed = `${label}_${name}`;\n for (let n = 2; taken.has(prefixed); n++) {\n prefixed = `${label}_${name}_${n}`;\n numberedLabels.add(label);\n }\n taken.add(prefixed);\n renamed.set(name, [...(renamed.get(name) ?? []), prefixed]);\n return prefixed;\n }),\n );\n\n const labelCount = new Map<string, number>();\n for (const { label } of sources) {\n labelCount.set(label, (labelCount.get(label) ?? 0) + 1);\n }\n for (const [label, count] of labelCount) {\n if (count < 2 || !numberedLabels.has(label)) continue;\n warnOnce(\n `[CopilotKit] More than one MCP server uses the prefix \"${label}\", so their colliding tools differ only by a number. Give each server a different \\`name\\`.`,\n );\n }\n\n for (const [name, prefixed] of renamed) {\n const owner = appToolNames.has(name)\n ? \" The app's own tool keeps the name.\"\n : \"\";\n warnOnce(\n `[CopilotKit] MCP tool name \"${name}\" is used more than once, so the MCP copies are exposed as ${prefixed\n .map((n) => `\"${n}\"`)\n .join(\", \")}.${owner}${hint}`,\n );\n }\n\n return resolved;\n}\n\n/** Merges MCP tools into the agent's own tools under {@link resolveMCPToolNames}. */\nexport function mergeMCPTools(\n appTools: ToolSet,\n sources: MCPToolSource[],\n): ToolSet {\n const entries = sources.map((source) => Object.entries(source.tools));\n const names = resolveMCPToolNames(\n new Set(Object.keys(appTools)),\n sources.map((source, i) => ({\n label: source.label,\n names: entries[i]!.map(([name]) => name),\n })),\n );\n\n const merged: ToolSet = { ...appTools };\n entries.forEach((sourceEntries, i) => {\n sourceEntries.forEach(([, tool], j) => {\n merged[names[i]![j]!] = tool;\n });\n });\n return merged;\n}\n"],"mappings":";;;;;;AAYA,SAAgB,iBAAiB,MAAsB;AACrD,QAAO,KAAK,QAAQ,mBAAmB,IAAI;;AAK7C,MAAM,mCAAmB,IAAI,KAAa;AAI1C,MAAM,wBAAwB;AAE9B,SAAS,SAAS,SAAuB;AACvC,KAAI,iBAAiB,IAAI,QAAQ,CAAE;AACnC,KAAI,iBAAiB,QAAQ,sBAAuB,kBAAiB,OAAO;AAC5E,kBAAiB,IAAI,QAAQ;AAC7B,SAAQ,KAAK,QAAQ;;;;;;;;;;;;;;;;AAiBvB,SAAgB,oBACd,cACA,SACA,OAAO,wGACK;CACZ,MAAM,8BAAc,IAAI,KAAqB;AAC7C,MAAK,MAAM,EAAE,WAAW,QACtB,MAAK,MAAM,QAAQ,IAAI,IAAI,MAAM,CAC/B,aAAY,IAAI,OAAO,YAAY,IAAI,KAAK,IAAI,KAAK,EAAE;CAG3D,MAAM,YAAY,UACf,YAAY,IAAI,KAAK,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK;CAI5D,MAAM,QAAQ,IAAI,IAAI,aAAa;AACnC,MAAK,MAAM,EAAE,WAAW,QACtB,MAAK,MAAM,QAAQ,MAAO,KAAI,CAAC,SAAS,KAAK,CAAE,OAAM,IAAI,KAAK;CAGhE,MAAM,0BAAU,IAAI,KAAuB;CAC3C,MAAM,iCAAiB,IAAI,KAAa;CACxC,MAAM,WAAW,QAAQ,KAAK,EAAE,OAAO,YACrC,MAAM,KAAK,SAAS;AAClB,MAAI,CAAC,SAAS,KAAK,CAAE,QAAO;EAC5B,IAAI,WAAW,GAAG,MAAM,GAAG;AAC3B,OAAK,IAAI,IAAI,GAAG,MAAM,IAAI,SAAS,EAAE,KAAK;AACxC,cAAW,GAAG,MAAM,GAAG,KAAK,GAAG;AAC/B,kBAAe,IAAI,MAAM;;AAE3B,QAAM,IAAI,SAAS;AACnB,UAAQ,IAAI,MAAM,CAAC,GAAI,QAAQ,IAAI,KAAK,IAAI,EAAE,EAAG,SAAS,CAAC;AAC3D,SAAO;GACP,CACH;CAED,MAAM,6BAAa,IAAI,KAAqB;AAC5C,MAAK,MAAM,EAAE,WAAW,QACtB,YAAW,IAAI,QAAQ,WAAW,IAAI,MAAM,IAAI,KAAK,EAAE;AAEzD,MAAK,MAAM,CAAC,OAAO,UAAU,YAAY;AACvC,MAAI,QAAQ,KAAK,CAAC,eAAe,IAAI,MAAM,CAAE;AAC7C,WACE,0DAA0D,MAAM,6FACjE;;AAGH,MAAK,MAAM,CAAC,MAAM,aAAa,SAAS;EACtC,MAAM,QAAQ,aAAa,IAAI,KAAK,GAChC,wCACA;AACJ,WACE,+BAA+B,KAAK,6DAA6D,SAC9F,KAAK,MAAM,IAAI,EAAE,GAAG,CACpB,KAAK,KAAK,CAAC,GAAG,QAAQ,OAC1B;;AAGH,QAAO;;;AAIT,SAAgB,cACd,UACA,SACS;CACT,MAAM,UAAU,QAAQ,KAAK,WAAW,OAAO,QAAQ,OAAO,MAAM,CAAC;CACrE,MAAM,QAAQ,oBACZ,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,EAC9B,QAAQ,KAAK,QAAQ,OAAO;EAC1B,OAAO,OAAO;EACd,OAAO,QAAQ,GAAI,KAAK,CAAC,UAAU,KAAK;EACzC,EAAE,CACJ;CAED,MAAM,SAAkB,EAAE,GAAG,UAAU;AACvC,SAAQ,SAAS,eAAe,MAAM;AACpC,gBAAc,SAAS,GAAG,OAAO,MAAM;AACrC,UAAO,MAAM,GAAI,MAAO;IACxB;GACF;AACF,QAAO"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
//#region src/agent/mcp-tool-names.ts
|
|
2
|
+
/**
|
|
3
|
+
* Reduces a server name to the characters that model providers accept in a
|
|
4
|
+
* tool name (`^[a-zA-Z0-9_-]+$`).
|
|
5
|
+
*/
|
|
6
|
+
function toToolNamePrefix(name) {
|
|
7
|
+
return name.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
8
|
+
}
|
|
9
|
+
const warnedCollisions = /* @__PURE__ */ new Set();
|
|
10
|
+
const MAX_WARNED_COLLISIONS = 1e3;
|
|
11
|
+
function warnOnce(message) {
|
|
12
|
+
if (warnedCollisions.has(message)) return;
|
|
13
|
+
if (warnedCollisions.size >= MAX_WARNED_COLLISIONS) warnedCollisions.clear();
|
|
14
|
+
warnedCollisions.add(message);
|
|
15
|
+
console.warn(message);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Chooses the name under which each MCP tool is exposed, so that no tool is
|
|
19
|
+
* dropped or replaced.
|
|
20
|
+
*
|
|
21
|
+
* A tool name that more than one MCP source exposes is prefixed with each
|
|
22
|
+
* source's label, so the model sees every copy. A tool name that the app
|
|
23
|
+
* already uses keeps the app's tool, and the MCP copy is prefixed. Names that
|
|
24
|
+
* collide with nothing are left as they are, so adding a server does not
|
|
25
|
+
* rename tools that apps and prompts already use. If a prefixed name is
|
|
26
|
+
* already in use, for example because two servers share a label, a number is
|
|
27
|
+
* added: `<label>_<tool>_2`.
|
|
28
|
+
*
|
|
29
|
+
* @returns For each source, the exposed names in the same order as `names`.
|
|
30
|
+
*/
|
|
31
|
+
function resolveMCPToolNames(appToolNames, sources, hint = " Set `name` on an `mcpServers` entry to choose its prefix. `mcpClients` entries always use `mcp<N>`.") {
|
|
32
|
+
const sourceCount = /* @__PURE__ */ new Map();
|
|
33
|
+
for (const { names } of sources) for (const name of new Set(names)) sourceCount.set(name, (sourceCount.get(name) ?? 0) + 1);
|
|
34
|
+
const collides = (name) => (sourceCount.get(name) ?? 0) > 1 || appToolNames.has(name);
|
|
35
|
+
const taken = new Set(appToolNames);
|
|
36
|
+
for (const { names } of sources) for (const name of names) if (!collides(name)) taken.add(name);
|
|
37
|
+
const renamed = /* @__PURE__ */ new Map();
|
|
38
|
+
const numberedLabels = /* @__PURE__ */ new Set();
|
|
39
|
+
const resolved = sources.map(({ label, names }) => names.map((name) => {
|
|
40
|
+
if (!collides(name)) return name;
|
|
41
|
+
let prefixed = `${label}_${name}`;
|
|
42
|
+
for (let n = 2; taken.has(prefixed); n++) {
|
|
43
|
+
prefixed = `${label}_${name}_${n}`;
|
|
44
|
+
numberedLabels.add(label);
|
|
45
|
+
}
|
|
46
|
+
taken.add(prefixed);
|
|
47
|
+
renamed.set(name, [...renamed.get(name) ?? [], prefixed]);
|
|
48
|
+
return prefixed;
|
|
49
|
+
}));
|
|
50
|
+
const labelCount = /* @__PURE__ */ new Map();
|
|
51
|
+
for (const { label } of sources) labelCount.set(label, (labelCount.get(label) ?? 0) + 1);
|
|
52
|
+
for (const [label, count] of labelCount) {
|
|
53
|
+
if (count < 2 || !numberedLabels.has(label)) continue;
|
|
54
|
+
warnOnce(`[CopilotKit] More than one MCP server uses the prefix "${label}", so their colliding tools differ only by a number. Give each server a different \`name\`.`);
|
|
55
|
+
}
|
|
56
|
+
for (const [name, prefixed] of renamed) {
|
|
57
|
+
const owner = appToolNames.has(name) ? " The app's own tool keeps the name." : "";
|
|
58
|
+
warnOnce(`[CopilotKit] MCP tool name "${name}" is used more than once, so the MCP copies are exposed as ${prefixed.map((n) => `"${n}"`).join(", ")}.${owner}${hint}`);
|
|
59
|
+
}
|
|
60
|
+
return resolved;
|
|
61
|
+
}
|
|
62
|
+
/** Merges MCP tools into the agent's own tools under {@link resolveMCPToolNames}. */
|
|
63
|
+
function mergeMCPTools(appTools, sources) {
|
|
64
|
+
const entries = sources.map((source) => Object.entries(source.tools));
|
|
65
|
+
const names = resolveMCPToolNames(new Set(Object.keys(appTools)), sources.map((source, i) => ({
|
|
66
|
+
label: source.label,
|
|
67
|
+
names: entries[i].map(([name]) => name)
|
|
68
|
+
})));
|
|
69
|
+
const merged = { ...appTools };
|
|
70
|
+
entries.forEach((sourceEntries, i) => {
|
|
71
|
+
sourceEntries.forEach(([, tool], j) => {
|
|
72
|
+
merged[names[i][j]] = tool;
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
return merged;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
export { mergeMCPTools, toToolNamePrefix };
|
|
80
|
+
//# sourceMappingURL=mcp-tool-names.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-names.mjs","names":[],"sources":["../../src/agent/mcp-tool-names.ts"],"sourcesContent":["import type { ToolSet } from \"ai\";\n\n/** The tools that one MCP source contributed, with the label used to prefix them. */\nexport interface MCPToolSource {\n label: string;\n tools: ToolSet;\n}\n\n/**\n * Reduces a server name to the characters that model providers accept in a\n * tool name (`^[a-zA-Z0-9_-]+$`).\n */\nexport function toToolNamePrefix(name: string): string {\n return name.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n}\n\n// A collision is usually permanent configuration, and agents resolve tools on\n// every run. Warning each time would repeat one message for every request.\nconst warnedCollisions = new Set<string>();\n\n// v1 requests can choose their own MCP servers, so the set of distinct\n// messages has no natural bound. Forgetting old ones costs a repeated warning.\nconst MAX_WARNED_COLLISIONS = 1000;\n\nfunction warnOnce(message: string): void {\n if (warnedCollisions.has(message)) return;\n if (warnedCollisions.size >= MAX_WARNED_COLLISIONS) warnedCollisions.clear();\n warnedCollisions.add(message);\n console.warn(message);\n}\n\n/**\n * Chooses the name under which each MCP tool is exposed, so that no tool is\n * dropped or replaced.\n *\n * A tool name that more than one MCP source exposes is prefixed with each\n * source's label, so the model sees every copy. A tool name that the app\n * already uses keeps the app's tool, and the MCP copy is prefixed. Names that\n * collide with nothing are left as they are, so adding a server does not\n * rename tools that apps and prompts already use. If a prefixed name is\n * already in use, for example because two servers share a label, a number is\n * added: `<label>_<tool>_2`.\n *\n * @returns For each source, the exposed names in the same order as `names`.\n */\nexport function resolveMCPToolNames(\n appToolNames: ReadonlySet<string>,\n sources: { label: string; names: string[] }[],\n hint = \" Set `name` on an `mcpServers` entry to choose its prefix. `mcpClients` entries always use `mcp<N>`.\",\n): string[][] {\n const sourceCount = new Map<string, number>();\n for (const { names } of sources) {\n for (const name of new Set(names)) {\n sourceCount.set(name, (sourceCount.get(name) ?? 0) + 1);\n }\n }\n const collides = (name: string) =>\n (sourceCount.get(name) ?? 0) > 1 || appToolNames.has(name);\n\n // Names that keep their bare form are reserved before any prefixed name is\n // chosen, so a prefixed name can never replace one of them.\n const taken = new Set(appToolNames);\n for (const { names } of sources) {\n for (const name of names) if (!collides(name)) taken.add(name);\n }\n\n const renamed = new Map<string, string[]>();\n const numberedLabels = new Set<string>();\n const resolved = sources.map(({ label, names }) =>\n names.map((name) => {\n if (!collides(name)) return name;\n let prefixed = `${label}_${name}`;\n for (let n = 2; taken.has(prefixed); n++) {\n prefixed = `${label}_${name}_${n}`;\n numberedLabels.add(label);\n }\n taken.add(prefixed);\n renamed.set(name, [...(renamed.get(name) ?? []), prefixed]);\n return prefixed;\n }),\n );\n\n const labelCount = new Map<string, number>();\n for (const { label } of sources) {\n labelCount.set(label, (labelCount.get(label) ?? 0) + 1);\n }\n for (const [label, count] of labelCount) {\n if (count < 2 || !numberedLabels.has(label)) continue;\n warnOnce(\n `[CopilotKit] More than one MCP server uses the prefix \"${label}\", so their colliding tools differ only by a number. Give each server a different \\`name\\`.`,\n );\n }\n\n for (const [name, prefixed] of renamed) {\n const owner = appToolNames.has(name)\n ? \" The app's own tool keeps the name.\"\n : \"\";\n warnOnce(\n `[CopilotKit] MCP tool name \"${name}\" is used more than once, so the MCP copies are exposed as ${prefixed\n .map((n) => `\"${n}\"`)\n .join(\", \")}.${owner}${hint}`,\n );\n }\n\n return resolved;\n}\n\n/** Merges MCP tools into the agent's own tools under {@link resolveMCPToolNames}. */\nexport function mergeMCPTools(\n appTools: ToolSet,\n sources: MCPToolSource[],\n): ToolSet {\n const entries = sources.map((source) => Object.entries(source.tools));\n const names = resolveMCPToolNames(\n new Set(Object.keys(appTools)),\n sources.map((source, i) => ({\n label: source.label,\n names: entries[i]!.map(([name]) => name),\n })),\n );\n\n const merged: ToolSet = { ...appTools };\n entries.forEach((sourceEntries, i) => {\n sourceEntries.forEach(([, tool], j) => {\n merged[names[i]![j]!] = tool;\n });\n });\n return merged;\n}\n"],"mappings":";;;;;AAYA,SAAgB,iBAAiB,MAAsB;AACrD,QAAO,KAAK,QAAQ,mBAAmB,IAAI;;AAK7C,MAAM,mCAAmB,IAAI,KAAa;AAI1C,MAAM,wBAAwB;AAE9B,SAAS,SAAS,SAAuB;AACvC,KAAI,iBAAiB,IAAI,QAAQ,CAAE;AACnC,KAAI,iBAAiB,QAAQ,sBAAuB,kBAAiB,OAAO;AAC5E,kBAAiB,IAAI,QAAQ;AAC7B,SAAQ,KAAK,QAAQ;;;;;;;;;;;;;;;;AAiBvB,SAAgB,oBACd,cACA,SACA,OAAO,wGACK;CACZ,MAAM,8BAAc,IAAI,KAAqB;AAC7C,MAAK,MAAM,EAAE,WAAW,QACtB,MAAK,MAAM,QAAQ,IAAI,IAAI,MAAM,CAC/B,aAAY,IAAI,OAAO,YAAY,IAAI,KAAK,IAAI,KAAK,EAAE;CAG3D,MAAM,YAAY,UACf,YAAY,IAAI,KAAK,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK;CAI5D,MAAM,QAAQ,IAAI,IAAI,aAAa;AACnC,MAAK,MAAM,EAAE,WAAW,QACtB,MAAK,MAAM,QAAQ,MAAO,KAAI,CAAC,SAAS,KAAK,CAAE,OAAM,IAAI,KAAK;CAGhE,MAAM,0BAAU,IAAI,KAAuB;CAC3C,MAAM,iCAAiB,IAAI,KAAa;CACxC,MAAM,WAAW,QAAQ,KAAK,EAAE,OAAO,YACrC,MAAM,KAAK,SAAS;AAClB,MAAI,CAAC,SAAS,KAAK,CAAE,QAAO;EAC5B,IAAI,WAAW,GAAG,MAAM,GAAG;AAC3B,OAAK,IAAI,IAAI,GAAG,MAAM,IAAI,SAAS,EAAE,KAAK;AACxC,cAAW,GAAG,MAAM,GAAG,KAAK,GAAG;AAC/B,kBAAe,IAAI,MAAM;;AAE3B,QAAM,IAAI,SAAS;AACnB,UAAQ,IAAI,MAAM,CAAC,GAAI,QAAQ,IAAI,KAAK,IAAI,EAAE,EAAG,SAAS,CAAC;AAC3D,SAAO;GACP,CACH;CAED,MAAM,6BAAa,IAAI,KAAqB;AAC5C,MAAK,MAAM,EAAE,WAAW,QACtB,YAAW,IAAI,QAAQ,WAAW,IAAI,MAAM,IAAI,KAAK,EAAE;AAEzD,MAAK,MAAM,CAAC,OAAO,UAAU,YAAY;AACvC,MAAI,QAAQ,KAAK,CAAC,eAAe,IAAI,MAAM,CAAE;AAC7C,WACE,0DAA0D,MAAM,6FACjE;;AAGH,MAAK,MAAM,CAAC,MAAM,aAAa,SAAS;EACtC,MAAM,QAAQ,aAAa,IAAI,KAAK,GAChC,wCACA;AACJ,WACE,+BAA+B,KAAK,6DAA6D,SAC9F,KAAK,MAAM,IAAI,EAAE,GAAG,CACpB,KAAK,KAAK,CAAC,GAAG,QAAQ,OAC1B;;AAGH,QAAO;;;AAIT,SAAgB,cACd,UACA,SACS;CACT,MAAM,UAAU,QAAQ,KAAK,WAAW,OAAO,QAAQ,OAAO,MAAM,CAAC;CACrE,MAAM,QAAQ,oBACZ,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,EAC9B,QAAQ,KAAK,QAAQ,OAAO;EAC1B,OAAO,OAAO;EACd,OAAO,QAAQ,GAAI,KAAK,CAAC,UAAU,KAAK;EACzC,EAAE,CACJ;CAED,MAAM,SAAkB,EAAE,GAAG,UAAU;AACvC,SAAQ,SAAS,eAAe,MAAM;AACpC,gBAAc,SAAS,GAAG,OAAO,MAAM;AACrC,UAAO,MAAM,GAAI,MAAO;IACxB;GACF;AACF,QAAO"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
let _ag_ui_client = require("@ag-ui/client");
|
|
3
|
+
|
|
4
|
+
//#region src/agent/state-delta.ts
|
|
5
|
+
function parseJsonPointer(pointer) {
|
|
6
|
+
if (pointer === "") return [];
|
|
7
|
+
if (!pointer.startsWith("/")) return void 0;
|
|
8
|
+
const segments = pointer.slice(1).split("/");
|
|
9
|
+
if (segments.some((segment) => /~(?![01])/.test(segment))) return;
|
|
10
|
+
return segments.map((segment) => segment.replace(/~1/g, "/").replace(/~0/g, "~"));
|
|
11
|
+
}
|
|
12
|
+
function encodeJsonPointer(segments) {
|
|
13
|
+
if (segments.length === 0) return "";
|
|
14
|
+
return `/${segments.map((segment) => segment.replace(/~/g, "~0").replace(/\//g, "~1")).join("/")}`;
|
|
15
|
+
}
|
|
16
|
+
function getArrayIndex(segment, length) {
|
|
17
|
+
if (segment !== "0" && !/^[1-9]\d*$/.test(segment)) return void 0;
|
|
18
|
+
const index = Number(segment);
|
|
19
|
+
return Number.isSafeInteger(index) && index < length ? index : void 0;
|
|
20
|
+
}
|
|
21
|
+
function getJsonPointerValue(root, pointer) {
|
|
22
|
+
const segments = parseJsonPointer(pointer);
|
|
23
|
+
if (segments === void 0) return { exists: false };
|
|
24
|
+
let current = root;
|
|
25
|
+
for (const segment of segments) {
|
|
26
|
+
if (current === null || typeof current !== "object") return { exists: false };
|
|
27
|
+
if (Array.isArray(current)) {
|
|
28
|
+
const index = getArrayIndex(segment, current.length);
|
|
29
|
+
if (index === void 0) return { exists: false };
|
|
30
|
+
current = current[index];
|
|
31
|
+
} else {
|
|
32
|
+
if (!Object.prototype.hasOwnProperty.call(current, segment)) return { exists: false };
|
|
33
|
+
current = current[segment];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
exists: true,
|
|
38
|
+
value: current
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function getParent(root, segments) {
|
|
42
|
+
return getJsonPointerValue(root, encodeJsonPointer(segments.slice(0, -1)));
|
|
43
|
+
}
|
|
44
|
+
function cloneStateFallback(state, seen = /* @__PURE__ */ new WeakMap()) {
|
|
45
|
+
if (state === null || typeof state !== "object") return state;
|
|
46
|
+
const existing = seen.get(state);
|
|
47
|
+
if (existing !== void 0) return existing;
|
|
48
|
+
let clone;
|
|
49
|
+
try {
|
|
50
|
+
clone = Array.isArray(state) ? [] : Object.create(Object.getPrototypeOf(state));
|
|
51
|
+
} catch {
|
|
52
|
+
clone = Array.isArray(state) ? [] : {};
|
|
53
|
+
}
|
|
54
|
+
seen.set(state, clone);
|
|
55
|
+
let keys = [];
|
|
56
|
+
try {
|
|
57
|
+
keys = Reflect.ownKeys(state);
|
|
58
|
+
} catch {
|
|
59
|
+
return clone;
|
|
60
|
+
}
|
|
61
|
+
for (const key of keys) try {
|
|
62
|
+
const descriptor = Object.getOwnPropertyDescriptor(state, key);
|
|
63
|
+
if (!descriptor) continue;
|
|
64
|
+
if ("value" in descriptor) descriptor.value = cloneStateFallback(descriptor.value, seen);
|
|
65
|
+
Object.defineProperty(clone, key, descriptor);
|
|
66
|
+
} catch {}
|
|
67
|
+
return clone;
|
|
68
|
+
}
|
|
69
|
+
function cloneState(state) {
|
|
70
|
+
try {
|
|
71
|
+
return structuredClone(state);
|
|
72
|
+
} catch {
|
|
73
|
+
return cloneStateFallback(state);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function addValue(root, segments, value) {
|
|
77
|
+
if (segments.length === 0) return {
|
|
78
|
+
root: cloneState(value),
|
|
79
|
+
applied: true
|
|
80
|
+
};
|
|
81
|
+
const parent = getParent(root, segments);
|
|
82
|
+
if (!parent.exists || parent.value === null || typeof parent.value !== "object") return {
|
|
83
|
+
root,
|
|
84
|
+
applied: false
|
|
85
|
+
};
|
|
86
|
+
const segment = segments[segments.length - 1];
|
|
87
|
+
if (Array.isArray(parent.value)) {
|
|
88
|
+
if (segment === "-") {
|
|
89
|
+
parent.value.push(cloneState(value));
|
|
90
|
+
return {
|
|
91
|
+
root,
|
|
92
|
+
applied: true
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
const index = segment === "0" ? 0 : /^[1-9]\d*$/.test(segment) ? Number(segment) : void 0;
|
|
96
|
+
if (index === void 0 || !Number.isSafeInteger(index) || index > parent.value.length) return {
|
|
97
|
+
root,
|
|
98
|
+
applied: false
|
|
99
|
+
};
|
|
100
|
+
parent.value.splice(index, 0, cloneState(value));
|
|
101
|
+
return {
|
|
102
|
+
root,
|
|
103
|
+
applied: true
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
parent.value[segment] = cloneState(value);
|
|
107
|
+
return {
|
|
108
|
+
root,
|
|
109
|
+
applied: true
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function removeValue(root, segments) {
|
|
113
|
+
if (segments.length === 0) return {
|
|
114
|
+
root: void 0,
|
|
115
|
+
applied: true
|
|
116
|
+
};
|
|
117
|
+
const parent = getParent(root, segments);
|
|
118
|
+
if (!parent.exists || parent.value === null || typeof parent.value !== "object") return {
|
|
119
|
+
root,
|
|
120
|
+
applied: false
|
|
121
|
+
};
|
|
122
|
+
const segment = segments[segments.length - 1];
|
|
123
|
+
if (Array.isArray(parent.value)) {
|
|
124
|
+
const index = getArrayIndex(segment, parent.value.length);
|
|
125
|
+
if (index === void 0) return {
|
|
126
|
+
root,
|
|
127
|
+
applied: false
|
|
128
|
+
};
|
|
129
|
+
parent.value.splice(index, 1);
|
|
130
|
+
return {
|
|
131
|
+
root,
|
|
132
|
+
applied: true
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
if (!Object.prototype.hasOwnProperty.call(parent.value, segment)) return {
|
|
136
|
+
root,
|
|
137
|
+
applied: false
|
|
138
|
+
};
|
|
139
|
+
delete parent.value[segment];
|
|
140
|
+
return {
|
|
141
|
+
root,
|
|
142
|
+
applied: true
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function replaceValue(root, segments, value) {
|
|
146
|
+
if (segments.length === 0) return {
|
|
147
|
+
root: cloneState(value),
|
|
148
|
+
applied: true
|
|
149
|
+
};
|
|
150
|
+
const parent = getParent(root, segments);
|
|
151
|
+
if (!parent.exists || parent.value === null || typeof parent.value !== "object") return {
|
|
152
|
+
root,
|
|
153
|
+
applied: false
|
|
154
|
+
};
|
|
155
|
+
const segment = segments[segments.length - 1];
|
|
156
|
+
if (Array.isArray(parent.value)) {
|
|
157
|
+
const index = getArrayIndex(segment, parent.value.length);
|
|
158
|
+
if (index === void 0) return {
|
|
159
|
+
root,
|
|
160
|
+
applied: false
|
|
161
|
+
};
|
|
162
|
+
parent.value[index] = cloneState(value);
|
|
163
|
+
return {
|
|
164
|
+
root,
|
|
165
|
+
applied: true
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
if (!Object.prototype.hasOwnProperty.call(parent.value, segment)) return {
|
|
169
|
+
root,
|
|
170
|
+
applied: false
|
|
171
|
+
};
|
|
172
|
+
parent.value[segment] = cloneState(value);
|
|
173
|
+
return {
|
|
174
|
+
root,
|
|
175
|
+
applied: true
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
function jsonValueEqual(left, right) {
|
|
179
|
+
if (Object.is(left, right)) return true;
|
|
180
|
+
if (left === null || right === null || typeof left !== "object" || typeof right !== "object") return false;
|
|
181
|
+
if (Array.isArray(left) !== Array.isArray(right)) return false;
|
|
182
|
+
const leftKeys = Object.keys(left);
|
|
183
|
+
const rightKeys = Object.keys(right);
|
|
184
|
+
if (leftKeys.length !== rightKeys.length) return false;
|
|
185
|
+
return leftKeys.every((key) => Object.prototype.hasOwnProperty.call(right, key) && jsonValueEqual(left[key], right[key]));
|
|
186
|
+
}
|
|
187
|
+
function applyStateDeltaOperation(root, operation) {
|
|
188
|
+
if (typeof operation.path !== "string") return {
|
|
189
|
+
root,
|
|
190
|
+
applied: false
|
|
191
|
+
};
|
|
192
|
+
const path = parseJsonPointer(operation.path);
|
|
193
|
+
if (path === void 0) return {
|
|
194
|
+
root,
|
|
195
|
+
applied: false
|
|
196
|
+
};
|
|
197
|
+
switch (operation.op) {
|
|
198
|
+
case "add": return addValue(root, path, operation.value);
|
|
199
|
+
case "remove": return removeValue(root, path);
|
|
200
|
+
case "replace": return replaceValue(root, path, operation.value);
|
|
201
|
+
case "test": {
|
|
202
|
+
const actual = getJsonPointerValue(root, operation.path);
|
|
203
|
+
return {
|
|
204
|
+
root,
|
|
205
|
+
applied: actual.exists && jsonValueEqual(actual.value, operation.value)
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
case "copy": {
|
|
209
|
+
if (typeof operation.from !== "string") return {
|
|
210
|
+
root,
|
|
211
|
+
applied: false
|
|
212
|
+
};
|
|
213
|
+
const source = getJsonPointerValue(root, operation.from);
|
|
214
|
+
if (!source.exists) return {
|
|
215
|
+
root,
|
|
216
|
+
applied: false
|
|
217
|
+
};
|
|
218
|
+
return addValue(root, path, source.value);
|
|
219
|
+
}
|
|
220
|
+
case "move": {
|
|
221
|
+
if (typeof operation.from !== "string") return {
|
|
222
|
+
root,
|
|
223
|
+
applied: false
|
|
224
|
+
};
|
|
225
|
+
const from = parseJsonPointer(operation.from);
|
|
226
|
+
if (from === void 0) return {
|
|
227
|
+
root,
|
|
228
|
+
applied: false
|
|
229
|
+
};
|
|
230
|
+
const source = getJsonPointerValue(root, operation.from);
|
|
231
|
+
if (!source.exists) return {
|
|
232
|
+
root,
|
|
233
|
+
applied: false
|
|
234
|
+
};
|
|
235
|
+
if (operation.from === operation.path) return {
|
|
236
|
+
root,
|
|
237
|
+
applied: true
|
|
238
|
+
};
|
|
239
|
+
const removed = removeValue(cloneState(root), from);
|
|
240
|
+
if (!removed.applied) return {
|
|
241
|
+
root,
|
|
242
|
+
applied: false
|
|
243
|
+
};
|
|
244
|
+
const added = addValue(removed.root, path, source.value);
|
|
245
|
+
return added.applied ? added : {
|
|
246
|
+
root,
|
|
247
|
+
applied: false
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
default: return {
|
|
251
|
+
root,
|
|
252
|
+
applied: false
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
function normalizeStateDelta(delta, initialState) {
|
|
257
|
+
let state = cloneState(initialState);
|
|
258
|
+
const normalized = [];
|
|
259
|
+
for (const operation of delta) {
|
|
260
|
+
const candidate = operation !== null && typeof operation === "object" ? operation : void 0;
|
|
261
|
+
if (candidate?.op === "add" && typeof candidate.path === "string" && candidate.path.endsWith("/-")) {
|
|
262
|
+
const arrayPath = candidate.path.slice(0, -2);
|
|
263
|
+
if (!getJsonPointerValue(state, arrayPath).exists) {
|
|
264
|
+
const lastSlash = arrayPath.lastIndexOf("/");
|
|
265
|
+
const parentPath = lastSlash > 0 ? arrayPath.slice(0, lastSlash) : "";
|
|
266
|
+
if (getJsonPointerValue(state, parentPath).exists) {
|
|
267
|
+
const initializer = {
|
|
268
|
+
op: "add",
|
|
269
|
+
path: arrayPath,
|
|
270
|
+
value: []
|
|
271
|
+
};
|
|
272
|
+
const applied = applyStateDeltaOperation(state, initializer);
|
|
273
|
+
if (applied.applied) {
|
|
274
|
+
normalized.push(initializer);
|
|
275
|
+
state = applied.root;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
normalized.push(operation);
|
|
281
|
+
if (candidate) {
|
|
282
|
+
const applied = applyStateDeltaOperation(state, candidate);
|
|
283
|
+
if (applied.applied) state = applied.root;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
delta: normalized,
|
|
288
|
+
state
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
function createStateEventNormalizer(initialState) {
|
|
292
|
+
let state = cloneState(initialState);
|
|
293
|
+
let hasEmittedState = false;
|
|
294
|
+
return (event) => {
|
|
295
|
+
if (event.type === _ag_ui_client.EventType.STATE_SNAPSHOT) {
|
|
296
|
+
state = cloneState(event.snapshot);
|
|
297
|
+
hasEmittedState = true;
|
|
298
|
+
return [event];
|
|
299
|
+
}
|
|
300
|
+
if (event.type !== _ag_ui_client.EventType.STATE_DELTA) return [event];
|
|
301
|
+
const stateDeltaEvent = event;
|
|
302
|
+
const initialSnapshot = !hasEmittedState && initialState !== void 0 ? [{
|
|
303
|
+
type: _ag_ui_client.EventType.STATE_SNAPSHOT,
|
|
304
|
+
snapshot: cloneState(state)
|
|
305
|
+
}] : [];
|
|
306
|
+
const normalized = Array.isArray(stateDeltaEvent.delta) ? normalizeStateDelta(stateDeltaEvent.delta, state) : {
|
|
307
|
+
delta: stateDeltaEvent.delta,
|
|
308
|
+
state
|
|
309
|
+
};
|
|
310
|
+
state = normalized.state;
|
|
311
|
+
hasEmittedState = true;
|
|
312
|
+
return [...initialSnapshot, {
|
|
313
|
+
...stateDeltaEvent,
|
|
314
|
+
delta: normalized.delta
|
|
315
|
+
}];
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
//#endregion
|
|
320
|
+
exports.createStateEventNormalizer = createStateEventNormalizer;
|
|
321
|
+
//# sourceMappingURL=state-delta.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-delta.cjs","names":["EventType"],"sources":["../../src/agent/state-delta.ts"],"sourcesContent":["import type {\n BaseEvent,\n StateDeltaEvent,\n StateSnapshotEvent,\n} from \"@ag-ui/client\";\nimport { EventType } from \"@ag-ui/client\";\n\ntype StateDeltaOperation = {\n op?: string;\n path?: string;\n from?: string;\n value?: unknown;\n};\n\ntype PointerResult = {\n exists: boolean;\n value?: unknown;\n};\n\ntype OperationResult = {\n root: unknown;\n applied: boolean;\n};\n\nfunction parseJsonPointer(pointer: string): string[] | undefined {\n if (pointer === \"\") return [];\n if (!pointer.startsWith(\"/\")) return undefined;\n\n const segments = pointer.slice(1).split(\"/\");\n if (segments.some((segment) => /~(?![01])/.test(segment))) {\n return undefined;\n }\n\n return segments.map((segment) =>\n segment.replace(/~1/g, \"/\").replace(/~0/g, \"~\"),\n );\n}\n\nfunction encodeJsonPointer(segments: string[]): string {\n if (segments.length === 0) return \"\";\n return `/${segments\n .map((segment) => segment.replace(/~/g, \"~0\").replace(/\\//g, \"~1\"))\n .join(\"/\")}`;\n}\n\nfunction getArrayIndex(segment: string, length: number): number | undefined {\n if (segment !== \"0\" && !/^[1-9]\\d*$/.test(segment)) return undefined;\n const index = Number(segment);\n return Number.isSafeInteger(index) && index < length ? index : undefined;\n}\n\nfunction getJsonPointerValue(root: unknown, pointer: string): PointerResult {\n const segments = parseJsonPointer(pointer);\n if (segments === undefined) return { exists: false };\n\n let current = root;\n for (const segment of segments) {\n if (current === null || typeof current !== \"object\") {\n return { exists: false };\n }\n\n if (Array.isArray(current)) {\n const index = getArrayIndex(segment, current.length);\n if (index === undefined) return { exists: false };\n current = current[index];\n } else {\n if (!Object.prototype.hasOwnProperty.call(current, segment)) {\n return { exists: false };\n }\n current = (current as Record<string, unknown>)[segment];\n }\n }\n\n return { exists: true, value: current };\n}\n\nfunction getParent(root: unknown, segments: string[]): PointerResult {\n return getJsonPointerValue(root, encodeJsonPointer(segments.slice(0, -1)));\n}\n\nfunction cloneStateFallback(\n state: unknown,\n seen = new WeakMap<object, unknown>(),\n): unknown {\n if (state === null || typeof state !== \"object\") return state;\n\n const existing = seen.get(state);\n if (existing !== undefined) return existing;\n\n let clone: object;\n try {\n clone = Array.isArray(state)\n ? []\n : Object.create(Object.getPrototypeOf(state));\n } catch {\n clone = Array.isArray(state) ? [] : {};\n }\n seen.set(state, clone);\n\n let keys: (string | symbol)[] = [];\n try {\n keys = Reflect.ownKeys(state);\n } catch {\n return clone;\n }\n\n for (const key of keys) {\n try {\n const descriptor = Object.getOwnPropertyDescriptor(state, key);\n if (!descriptor) continue;\n if (\"value\" in descriptor) {\n descriptor.value = cloneStateFallback(descriptor.value, seen);\n }\n Object.defineProperty(clone, key, descriptor);\n } catch {\n // Keep the cloned container distinct when a property is inaccessible.\n }\n }\n\n return clone;\n}\n\nfunction cloneState(state: unknown): unknown {\n try {\n return structuredClone(state);\n } catch {\n return cloneStateFallback(state);\n }\n}\n\nfunction addValue(\n root: unknown,\n segments: string[],\n value: unknown,\n): OperationResult {\n if (segments.length === 0) {\n return { root: cloneState(value), applied: true };\n }\n\n const parent = getParent(root, segments);\n if (\n !parent.exists ||\n parent.value === null ||\n typeof parent.value !== \"object\"\n ) {\n return { root, applied: false };\n }\n\n const segment = segments[segments.length - 1];\n if (Array.isArray(parent.value)) {\n if (segment === \"-\") {\n parent.value.push(cloneState(value));\n return { root, applied: true };\n }\n\n const index =\n segment === \"0\"\n ? 0\n : /^[1-9]\\d*$/.test(segment)\n ? Number(segment)\n : undefined;\n if (\n index === undefined ||\n !Number.isSafeInteger(index) ||\n index > parent.value.length\n ) {\n return { root, applied: false };\n }\n parent.value.splice(index, 0, cloneState(value));\n return { root, applied: true };\n }\n\n (parent.value as Record<string, unknown>)[segment] = cloneState(value);\n return { root, applied: true };\n}\n\nfunction removeValue(root: unknown, segments: string[]): OperationResult {\n if (segments.length === 0) return { root: undefined, applied: true };\n\n const parent = getParent(root, segments);\n if (\n !parent.exists ||\n parent.value === null ||\n typeof parent.value !== \"object\"\n ) {\n return { root, applied: false };\n }\n\n const segment = segments[segments.length - 1];\n if (Array.isArray(parent.value)) {\n const index = getArrayIndex(segment, parent.value.length);\n if (index === undefined) return { root, applied: false };\n parent.value.splice(index, 1);\n return { root, applied: true };\n }\n\n if (!Object.prototype.hasOwnProperty.call(parent.value, segment)) {\n return { root, applied: false };\n }\n delete (parent.value as Record<string, unknown>)[segment];\n return { root, applied: true };\n}\n\nfunction replaceValue(\n root: unknown,\n segments: string[],\n value: unknown,\n): OperationResult {\n if (segments.length === 0) {\n return { root: cloneState(value), applied: true };\n }\n\n const parent = getParent(root, segments);\n if (\n !parent.exists ||\n parent.value === null ||\n typeof parent.value !== \"object\"\n ) {\n return { root, applied: false };\n }\n\n const segment = segments[segments.length - 1];\n if (Array.isArray(parent.value)) {\n const index = getArrayIndex(segment, parent.value.length);\n if (index === undefined) return { root, applied: false };\n parent.value[index] = cloneState(value);\n return { root, applied: true };\n }\n\n if (!Object.prototype.hasOwnProperty.call(parent.value, segment)) {\n return { root, applied: false };\n }\n (parent.value as Record<string, unknown>)[segment] = cloneState(value);\n return { root, applied: true };\n}\n\nfunction jsonValueEqual(left: unknown, right: unknown): boolean {\n if (Object.is(left, right)) return true;\n if (\n left === null ||\n right === null ||\n typeof left !== \"object\" ||\n typeof right !== \"object\"\n ) {\n return false;\n }\n if (Array.isArray(left) !== Array.isArray(right)) return false;\n\n const leftKeys = Object.keys(left as object);\n const rightKeys = Object.keys(right as object);\n if (leftKeys.length !== rightKeys.length) return false;\n\n return leftKeys.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(right, key) &&\n jsonValueEqual(\n (left as Record<string, unknown>)[key],\n (right as Record<string, unknown>)[key],\n ),\n );\n}\n\nfunction applyStateDeltaOperation(\n root: unknown,\n operation: StateDeltaOperation,\n): OperationResult {\n if (typeof operation.path !== \"string\") return { root, applied: false };\n\n const path = parseJsonPointer(operation.path);\n if (path === undefined) return { root, applied: false };\n\n switch (operation.op) {\n case \"add\":\n return addValue(root, path, operation.value);\n case \"remove\":\n return removeValue(root, path);\n case \"replace\":\n return replaceValue(root, path, operation.value);\n case \"test\": {\n const actual = getJsonPointerValue(root, operation.path);\n return {\n root,\n applied: actual.exists && jsonValueEqual(actual.value, operation.value),\n };\n }\n case \"copy\": {\n if (typeof operation.from !== \"string\") return { root, applied: false };\n const source = getJsonPointerValue(root, operation.from);\n if (!source.exists) return { root, applied: false };\n return addValue(root, path, source.value);\n }\n case \"move\": {\n if (typeof operation.from !== \"string\") return { root, applied: false };\n const from = parseJsonPointer(operation.from);\n if (from === undefined) return { root, applied: false };\n const source = getJsonPointerValue(root, operation.from);\n if (!source.exists) return { root, applied: false };\n if (operation.from === operation.path) return { root, applied: true };\n\n const nextRoot = cloneState(root);\n const removed = removeValue(nextRoot, from);\n if (!removed.applied) return { root, applied: false };\n const added = addValue(removed.root, path, source.value);\n return added.applied ? added : { root, applied: false };\n }\n default:\n return { root, applied: false };\n }\n}\n\nfunction normalizeStateDelta(\n delta: unknown[],\n initialState: unknown,\n): { delta: unknown[]; state: unknown } {\n let state = cloneState(initialState);\n const normalized: unknown[] = [];\n\n for (const operation of delta) {\n const candidate =\n operation !== null && typeof operation === \"object\"\n ? (operation as StateDeltaOperation)\n : undefined;\n if (\n candidate?.op === \"add\" &&\n typeof candidate.path === \"string\" &&\n candidate.path.endsWith(\"/-\")\n ) {\n const arrayPath = candidate.path.slice(0, -2);\n const array = getJsonPointerValue(state, arrayPath);\n if (!array.exists) {\n const lastSlash = arrayPath.lastIndexOf(\"/\");\n const parentPath = lastSlash > 0 ? arrayPath.slice(0, lastSlash) : \"\";\n if (getJsonPointerValue(state, parentPath).exists) {\n const initializer: StateDeltaOperation = {\n op: \"add\",\n path: arrayPath,\n value: [],\n };\n const applied = applyStateDeltaOperation(state, initializer);\n if (applied.applied) {\n normalized.push(initializer);\n state = applied.root;\n }\n }\n }\n }\n\n normalized.push(operation);\n if (candidate) {\n const applied = applyStateDeltaOperation(state, candidate);\n if (applied.applied) state = applied.root;\n }\n }\n\n return { delta: normalized, state };\n}\n\nexport function createStateEventNormalizer(\n initialState: unknown,\n): (event: BaseEvent) => BaseEvent[] {\n let state = cloneState(initialState);\n let hasEmittedState = false;\n\n return (event) => {\n if (event.type === EventType.STATE_SNAPSHOT) {\n state = cloneState((event as StateSnapshotEvent).snapshot);\n hasEmittedState = true;\n return [event];\n }\n\n if (event.type !== EventType.STATE_DELTA) return [event];\n\n const stateDeltaEvent = event as StateDeltaEvent;\n const initialSnapshot: StateSnapshotEvent[] =\n !hasEmittedState && initialState !== undefined\n ? [\n {\n type: EventType.STATE_SNAPSHOT,\n snapshot: cloneState(state),\n },\n ]\n : [];\n const normalized = Array.isArray(stateDeltaEvent.delta)\n ? normalizeStateDelta(stateDeltaEvent.delta, state)\n : { delta: stateDeltaEvent.delta, state };\n state = normalized.state;\n hasEmittedState = true;\n\n return [\n ...initialSnapshot,\n {\n ...stateDeltaEvent,\n delta: normalized.delta as StateDeltaEvent[\"delta\"],\n },\n ];\n };\n}\n"],"mappings":";;;;AAwBA,SAAS,iBAAiB,SAAuC;AAC/D,KAAI,YAAY,GAAI,QAAO,EAAE;AAC7B,KAAI,CAAC,QAAQ,WAAW,IAAI,CAAE,QAAO;CAErC,MAAM,WAAW,QAAQ,MAAM,EAAE,CAAC,MAAM,IAAI;AAC5C,KAAI,SAAS,MAAM,YAAY,YAAY,KAAK,QAAQ,CAAC,CACvD;AAGF,QAAO,SAAS,KAAK,YACnB,QAAQ,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAChD;;AAGH,SAAS,kBAAkB,UAA4B;AACrD,KAAI,SAAS,WAAW,EAAG,QAAO;AAClC,QAAO,IAAI,SACR,KAAK,YAAY,QAAQ,QAAQ,MAAM,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,CAClE,KAAK,IAAI;;AAGd,SAAS,cAAc,SAAiB,QAAoC;AAC1E,KAAI,YAAY,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAE,QAAO;CAC3D,MAAM,QAAQ,OAAO,QAAQ;AAC7B,QAAO,OAAO,cAAc,MAAM,IAAI,QAAQ,SAAS,QAAQ;;AAGjE,SAAS,oBAAoB,MAAe,SAAgC;CAC1E,MAAM,WAAW,iBAAiB,QAAQ;AAC1C,KAAI,aAAa,OAAW,QAAO,EAAE,QAAQ,OAAO;CAEpD,IAAI,UAAU;AACd,MAAK,MAAM,WAAW,UAAU;AAC9B,MAAI,YAAY,QAAQ,OAAO,YAAY,SACzC,QAAO,EAAE,QAAQ,OAAO;AAG1B,MAAI,MAAM,QAAQ,QAAQ,EAAE;GAC1B,MAAM,QAAQ,cAAc,SAAS,QAAQ,OAAO;AACpD,OAAI,UAAU,OAAW,QAAO,EAAE,QAAQ,OAAO;AACjD,aAAU,QAAQ;SACb;AACL,OAAI,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,QAAQ,CACzD,QAAO,EAAE,QAAQ,OAAO;AAE1B,aAAW,QAAoC;;;AAInD,QAAO;EAAE,QAAQ;EAAM,OAAO;EAAS;;AAGzC,SAAS,UAAU,MAAe,UAAmC;AACnE,QAAO,oBAAoB,MAAM,kBAAkB,SAAS,MAAM,GAAG,GAAG,CAAC,CAAC;;AAG5E,SAAS,mBACP,OACA,uBAAO,IAAI,SAA0B,EAC5B;AACT,KAAI,UAAU,QAAQ,OAAO,UAAU,SAAU,QAAO;CAExD,MAAM,WAAW,KAAK,IAAI,MAAM;AAChC,KAAI,aAAa,OAAW,QAAO;CAEnC,IAAI;AACJ,KAAI;AACF,UAAQ,MAAM,QAAQ,MAAM,GACxB,EAAE,GACF,OAAO,OAAO,OAAO,eAAe,MAAM,CAAC;SACzC;AACN,UAAQ,MAAM,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;;AAExC,MAAK,IAAI,OAAO,MAAM;CAEtB,IAAI,OAA4B,EAAE;AAClC,KAAI;AACF,SAAO,QAAQ,QAAQ,MAAM;SACvB;AACN,SAAO;;AAGT,MAAK,MAAM,OAAO,KAChB,KAAI;EACF,MAAM,aAAa,OAAO,yBAAyB,OAAO,IAAI;AAC9D,MAAI,CAAC,WAAY;AACjB,MAAI,WAAW,WACb,YAAW,QAAQ,mBAAmB,WAAW,OAAO,KAAK;AAE/D,SAAO,eAAe,OAAO,KAAK,WAAW;SACvC;AAKV,QAAO;;AAGT,SAAS,WAAW,OAAyB;AAC3C,KAAI;AACF,SAAO,gBAAgB,MAAM;SACvB;AACN,SAAO,mBAAmB,MAAM;;;AAIpC,SAAS,SACP,MACA,UACA,OACiB;AACjB,KAAI,SAAS,WAAW,EACtB,QAAO;EAAE,MAAM,WAAW,MAAM;EAAE,SAAS;EAAM;CAGnD,MAAM,SAAS,UAAU,MAAM,SAAS;AACxC,KACE,CAAC,OAAO,UACR,OAAO,UAAU,QACjB,OAAO,OAAO,UAAU,SAExB,QAAO;EAAE;EAAM,SAAS;EAAO;CAGjC,MAAM,UAAU,SAAS,SAAS,SAAS;AAC3C,KAAI,MAAM,QAAQ,OAAO,MAAM,EAAE;AAC/B,MAAI,YAAY,KAAK;AACnB,UAAO,MAAM,KAAK,WAAW,MAAM,CAAC;AACpC,UAAO;IAAE;IAAM,SAAS;IAAM;;EAGhC,MAAM,QACJ,YAAY,MACR,IACA,aAAa,KAAK,QAAQ,GACxB,OAAO,QAAQ,GACf;AACR,MACE,UAAU,UACV,CAAC,OAAO,cAAc,MAAM,IAC5B,QAAQ,OAAO,MAAM,OAErB,QAAO;GAAE;GAAM,SAAS;GAAO;AAEjC,SAAO,MAAM,OAAO,OAAO,GAAG,WAAW,MAAM,CAAC;AAChD,SAAO;GAAE;GAAM,SAAS;GAAM;;AAGhC,CAAC,OAAO,MAAkC,WAAW,WAAW,MAAM;AACtE,QAAO;EAAE;EAAM,SAAS;EAAM;;AAGhC,SAAS,YAAY,MAAe,UAAqC;AACvE,KAAI,SAAS,WAAW,EAAG,QAAO;EAAE,MAAM;EAAW,SAAS;EAAM;CAEpE,MAAM,SAAS,UAAU,MAAM,SAAS;AACxC,KACE,CAAC,OAAO,UACR,OAAO,UAAU,QACjB,OAAO,OAAO,UAAU,SAExB,QAAO;EAAE;EAAM,SAAS;EAAO;CAGjC,MAAM,UAAU,SAAS,SAAS,SAAS;AAC3C,KAAI,MAAM,QAAQ,OAAO,MAAM,EAAE;EAC/B,MAAM,QAAQ,cAAc,SAAS,OAAO,MAAM,OAAO;AACzD,MAAI,UAAU,OAAW,QAAO;GAAE;GAAM,SAAS;GAAO;AACxD,SAAO,MAAM,OAAO,OAAO,EAAE;AAC7B,SAAO;GAAE;GAAM,SAAS;GAAM;;AAGhC,KAAI,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,OAAO,QAAQ,CAC9D,QAAO;EAAE;EAAM,SAAS;EAAO;AAEjC,QAAQ,OAAO,MAAkC;AACjD,QAAO;EAAE;EAAM,SAAS;EAAM;;AAGhC,SAAS,aACP,MACA,UACA,OACiB;AACjB,KAAI,SAAS,WAAW,EACtB,QAAO;EAAE,MAAM,WAAW,MAAM;EAAE,SAAS;EAAM;CAGnD,MAAM,SAAS,UAAU,MAAM,SAAS;AACxC,KACE,CAAC,OAAO,UACR,OAAO,UAAU,QACjB,OAAO,OAAO,UAAU,SAExB,QAAO;EAAE;EAAM,SAAS;EAAO;CAGjC,MAAM,UAAU,SAAS,SAAS,SAAS;AAC3C,KAAI,MAAM,QAAQ,OAAO,MAAM,EAAE;EAC/B,MAAM,QAAQ,cAAc,SAAS,OAAO,MAAM,OAAO;AACzD,MAAI,UAAU,OAAW,QAAO;GAAE;GAAM,SAAS;GAAO;AACxD,SAAO,MAAM,SAAS,WAAW,MAAM;AACvC,SAAO;GAAE;GAAM,SAAS;GAAM;;AAGhC,KAAI,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,OAAO,QAAQ,CAC9D,QAAO;EAAE;EAAM,SAAS;EAAO;AAEjC,CAAC,OAAO,MAAkC,WAAW,WAAW,MAAM;AACtE,QAAO;EAAE;EAAM,SAAS;EAAM;;AAGhC,SAAS,eAAe,MAAe,OAAyB;AAC9D,KAAI,OAAO,GAAG,MAAM,MAAM,CAAE,QAAO;AACnC,KACE,SAAS,QACT,UAAU,QACV,OAAO,SAAS,YAChB,OAAO,UAAU,SAEjB,QAAO;AAET,KAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,MAAM,CAAE,QAAO;CAEzD,MAAM,WAAW,OAAO,KAAK,KAAe;CAC5C,MAAM,YAAY,OAAO,KAAK,MAAgB;AAC9C,KAAI,SAAS,WAAW,UAAU,OAAQ,QAAO;AAEjD,QAAO,SAAS,OACb,QACC,OAAO,UAAU,eAAe,KAAK,OAAO,IAAI,IAChD,eACG,KAAiC,MACjC,MAAkC,KACpC,CACJ;;AAGH,SAAS,yBACP,MACA,WACiB;AACjB,KAAI,OAAO,UAAU,SAAS,SAAU,QAAO;EAAE;EAAM,SAAS;EAAO;CAEvE,MAAM,OAAO,iBAAiB,UAAU,KAAK;AAC7C,KAAI,SAAS,OAAW,QAAO;EAAE;EAAM,SAAS;EAAO;AAEvD,SAAQ,UAAU,IAAlB;EACE,KAAK,MACH,QAAO,SAAS,MAAM,MAAM,UAAU,MAAM;EAC9C,KAAK,SACH,QAAO,YAAY,MAAM,KAAK;EAChC,KAAK,UACH,QAAO,aAAa,MAAM,MAAM,UAAU,MAAM;EAClD,KAAK,QAAQ;GACX,MAAM,SAAS,oBAAoB,MAAM,UAAU,KAAK;AACxD,UAAO;IACL;IACA,SAAS,OAAO,UAAU,eAAe,OAAO,OAAO,UAAU,MAAM;IACxE;;EAEH,KAAK,QAAQ;AACX,OAAI,OAAO,UAAU,SAAS,SAAU,QAAO;IAAE;IAAM,SAAS;IAAO;GACvE,MAAM,SAAS,oBAAoB,MAAM,UAAU,KAAK;AACxD,OAAI,CAAC,OAAO,OAAQ,QAAO;IAAE;IAAM,SAAS;IAAO;AACnD,UAAO,SAAS,MAAM,MAAM,OAAO,MAAM;;EAE3C,KAAK,QAAQ;AACX,OAAI,OAAO,UAAU,SAAS,SAAU,QAAO;IAAE;IAAM,SAAS;IAAO;GACvE,MAAM,OAAO,iBAAiB,UAAU,KAAK;AAC7C,OAAI,SAAS,OAAW,QAAO;IAAE;IAAM,SAAS;IAAO;GACvD,MAAM,SAAS,oBAAoB,MAAM,UAAU,KAAK;AACxD,OAAI,CAAC,OAAO,OAAQ,QAAO;IAAE;IAAM,SAAS;IAAO;AACnD,OAAI,UAAU,SAAS,UAAU,KAAM,QAAO;IAAE;IAAM,SAAS;IAAM;GAGrE,MAAM,UAAU,YADC,WAAW,KAAK,EACK,KAAK;AAC3C,OAAI,CAAC,QAAQ,QAAS,QAAO;IAAE;IAAM,SAAS;IAAO;GACrD,MAAM,QAAQ,SAAS,QAAQ,MAAM,MAAM,OAAO,MAAM;AACxD,UAAO,MAAM,UAAU,QAAQ;IAAE;IAAM,SAAS;IAAO;;EAEzD,QACE,QAAO;GAAE;GAAM,SAAS;GAAO;;;AAIrC,SAAS,oBACP,OACA,cACsC;CACtC,IAAI,QAAQ,WAAW,aAAa;CACpC,MAAM,aAAwB,EAAE;AAEhC,MAAK,MAAM,aAAa,OAAO;EAC7B,MAAM,YACJ,cAAc,QAAQ,OAAO,cAAc,WACtC,YACD;AACN,MACE,WAAW,OAAO,SAClB,OAAO,UAAU,SAAS,YAC1B,UAAU,KAAK,SAAS,KAAK,EAC7B;GACA,MAAM,YAAY,UAAU,KAAK,MAAM,GAAG,GAAG;AAE7C,OAAI,CADU,oBAAoB,OAAO,UAAU,CACxC,QAAQ;IACjB,MAAM,YAAY,UAAU,YAAY,IAAI;IAC5C,MAAM,aAAa,YAAY,IAAI,UAAU,MAAM,GAAG,UAAU,GAAG;AACnE,QAAI,oBAAoB,OAAO,WAAW,CAAC,QAAQ;KACjD,MAAM,cAAmC;MACvC,IAAI;MACJ,MAAM;MACN,OAAO,EAAE;MACV;KACD,MAAM,UAAU,yBAAyB,OAAO,YAAY;AAC5D,SAAI,QAAQ,SAAS;AACnB,iBAAW,KAAK,YAAY;AAC5B,cAAQ,QAAQ;;;;;AAMxB,aAAW,KAAK,UAAU;AAC1B,MAAI,WAAW;GACb,MAAM,UAAU,yBAAyB,OAAO,UAAU;AAC1D,OAAI,QAAQ,QAAS,SAAQ,QAAQ;;;AAIzC,QAAO;EAAE,OAAO;EAAY;EAAO;;AAGrC,SAAgB,2BACd,cACmC;CACnC,IAAI,QAAQ,WAAW,aAAa;CACpC,IAAI,kBAAkB;AAEtB,SAAQ,UAAU;AAChB,MAAI,MAAM,SAASA,wBAAU,gBAAgB;AAC3C,WAAQ,WAAY,MAA6B,SAAS;AAC1D,qBAAkB;AAClB,UAAO,CAAC,MAAM;;AAGhB,MAAI,MAAM,SAASA,wBAAU,YAAa,QAAO,CAAC,MAAM;EAExD,MAAM,kBAAkB;EACxB,MAAM,kBACJ,CAAC,mBAAmB,iBAAiB,SACjC,CACE;GACE,MAAMA,wBAAU;GAChB,UAAU,WAAW,MAAM;GAC5B,CACF,GACD,EAAE;EACR,MAAM,aAAa,MAAM,QAAQ,gBAAgB,MAAM,GACnD,oBAAoB,gBAAgB,OAAO,MAAM,GACjD;GAAE,OAAO,gBAAgB;GAAO;GAAO;AAC3C,UAAQ,WAAW;AACnB,oBAAkB;AAElB,SAAO,CACL,GAAG,iBACH;GACE,GAAG;GACH,OAAO,WAAW;GACnB,CACF"}
|