@copilotkit/runtime 1.57.3 → 1.58.0-canary.thread-id-propagation

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.
Files changed (346) hide show
  1. package/dist/lib/observability.d.cts +1 -1
  2. package/dist/lib/observability.d.cts.map +1 -1
  3. package/dist/lib/observability.d.mts +1 -1
  4. package/dist/lib/observability.d.mts.map +1 -1
  5. package/dist/lib/runtime/copilot-runtime.cjs +2 -0
  6. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  7. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  8. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  9. package/dist/lib/runtime/copilot-runtime.mjs +2 -0
  10. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  11. package/dist/package.cjs +5 -8
  12. package/dist/package.mjs +5 -8
  13. package/dist/v2/runtime/core/runtime.cjs +4 -1
  14. package/dist/v2/runtime/core/runtime.cjs.map +1 -1
  15. package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
  16. package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
  17. package/dist/v2/runtime/core/runtime.mjs +4 -1
  18. package/dist/v2/runtime/core/runtime.mjs.map +1 -1
  19. package/dist/v2/runtime/handlers/get-runtime-info.cjs +1 -1
  20. package/dist/v2/runtime/handlers/get-runtime-info.mjs +1 -1
  21. package/dist/v2/runtime/handlers/handle-connect.cjs +1 -1
  22. package/dist/v2/runtime/handlers/handle-connect.mjs +1 -1
  23. package/dist/v2/runtime/handlers/handle-run.cjs +1 -1
  24. package/dist/v2/runtime/handlers/handle-run.mjs +1 -1
  25. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +1 -1
  26. package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
  27. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +1 -1
  28. package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
  29. package/dist/v2/runtime/telemetry/telemetry-client.cjs +22 -6
  30. package/dist/v2/runtime/telemetry/telemetry-client.cjs.map +1 -1
  31. package/dist/v2/runtime/telemetry/telemetry-client.mjs +27 -11
  32. package/dist/v2/runtime/telemetry/telemetry-client.mjs.map +1 -1
  33. package/package.json +9 -19
  34. package/skills/runtime/SKILL.md +98 -0
  35. package/skills/runtime/references/agent-runners-custom.md +161 -0
  36. package/skills/runtime/references/agent-runners-in-memory.md +64 -0
  37. package/skills/runtime/references/agent-runners-sqlite.md +90 -0
  38. package/skills/runtime/references/agent-runners.md +304 -0
  39. package/skills/runtime/references/built-in-agent-factory-modes.md +232 -0
  40. package/skills/runtime/references/built-in-agent-helper-utilities.md +123 -0
  41. package/skills/runtime/references/built-in-agent-model-identifiers.md +59 -0
  42. package/skills/runtime/references/built-in-agent.md +523 -0
  43. package/skills/runtime/references/intelligence-mode.md +336 -0
  44. package/skills/runtime/references/middleware.md +376 -0
  45. package/skills/runtime/references/server-side-tools.md +414 -0
  46. package/skills/runtime/references/setup-endpoint.md +503 -0
  47. package/skills/runtime/references/transcription.md +287 -0
  48. package/skills/runtime/references/wiring-a2a.md +40 -0
  49. package/skills/runtime/references/wiring-adk.md +45 -0
  50. package/skills/runtime/references/wiring-ag2.md +41 -0
  51. package/skills/runtime/references/wiring-agno.md +39 -0
  52. package/skills/runtime/references/wiring-aws-strands.md +59 -0
  53. package/skills/runtime/references/wiring-crewai-crews.md +51 -0
  54. package/skills/runtime/references/wiring-crewai-flows.md +45 -0
  55. package/skills/runtime/references/wiring-external-agents.md +348 -0
  56. package/skills/runtime/references/wiring-langgraph.md +50 -0
  57. package/skills/runtime/references/wiring-llamaindex.md +39 -0
  58. package/skills/runtime/references/wiring-mastra.md +70 -0
  59. package/skills/runtime/references/wiring-mcp-apps-middleware.md +68 -0
  60. package/skills/runtime/references/wiring-ms-agent-framework.md +41 -0
  61. package/skills/runtime/references/wiring-pydantic-ai.md +45 -0
  62. package/CHANGELOG.md +0 -3624
  63. package/__snapshots__/schema/schema.graphql +0 -371
  64. package/dist/v2/runtime/telemetry/scarf-client.cjs +0 -32
  65. package/dist/v2/runtime/telemetry/scarf-client.cjs.map +0 -1
  66. package/dist/v2/runtime/telemetry/scarf-client.mjs +0 -32
  67. package/dist/v2/runtime/telemetry/scarf-client.mjs.map +0 -1
  68. package/scripts/generate-gql-schema.ts +0 -16
  69. package/src/agent/__tests__/agent-test-helpers.ts +0 -476
  70. package/src/agent/__tests__/agent.test.ts +0 -593
  71. package/src/agent/__tests__/ai-sdk-v6-compat.test.ts +0 -116
  72. package/src/agent/__tests__/basic-agent.test.ts +0 -1698
  73. package/src/agent/__tests__/capabilities.test.ts +0 -81
  74. package/src/agent/__tests__/config-tools-execution.test.ts +0 -516
  75. package/src/agent/__tests__/converter-aisdk.test.ts +0 -692
  76. package/src/agent/__tests__/converter-custom.test.ts +0 -319
  77. package/src/agent/__tests__/converter-tanstack-input.test.ts +0 -211
  78. package/src/agent/__tests__/converter-tanstack.test.ts +0 -594
  79. package/src/agent/__tests__/mcp-clients.test.ts +0 -246
  80. package/src/agent/__tests__/mcp-servers-integration.test.ts +0 -373
  81. package/src/agent/__tests__/multimodal-tanstack.test.ts +0 -284
  82. package/src/agent/__tests__/multimodal.test.ts +0 -176
  83. package/src/agent/__tests__/property-overrides.test.ts +0 -598
  84. package/src/agent/__tests__/provider-id-collision.test.ts +0 -195
  85. package/src/agent/__tests__/standard-schema-tools.test.ts +0 -313
  86. package/src/agent/__tests__/standard-schema-types.test.ts +0 -158
  87. package/src/agent/__tests__/state-tools.test.ts +0 -436
  88. package/src/agent/__tests__/test-helpers.ts +0 -197
  89. package/src/agent/__tests__/utils.test.ts +0 -536
  90. package/src/agent/__tests__/zod-regression.test.ts +0 -350
  91. package/src/agent/converters/aisdk.ts +0 -326
  92. package/src/agent/converters/index.ts +0 -7
  93. package/src/agent/converters/tanstack.ts +0 -451
  94. package/src/agent/index.ts +0 -1743
  95. package/src/agents/langgraph/__tests__/event-source.test.ts +0 -256
  96. package/src/agents/langgraph/event-source.ts +0 -365
  97. package/src/agents/langgraph/events.ts +0 -394
  98. package/src/graphql/inputs/action.input.ts +0 -16
  99. package/src/graphql/inputs/agent-session.input.ts +0 -13
  100. package/src/graphql/inputs/agent-state.input.ts +0 -13
  101. package/src/graphql/inputs/cloud-guardrails.input.ts +0 -16
  102. package/src/graphql/inputs/cloud.input.ts +0 -8
  103. package/src/graphql/inputs/context-property.input.ts +0 -10
  104. package/src/graphql/inputs/copilot-context.input.ts +0 -10
  105. package/src/graphql/inputs/custom-property.input.ts +0 -15
  106. package/src/graphql/inputs/extensions.input.ts +0 -21
  107. package/src/graphql/inputs/forwarded-parameters.input.ts +0 -22
  108. package/src/graphql/inputs/frontend.input.ts +0 -14
  109. package/src/graphql/inputs/generate-copilot-response.input.ts +0 -59
  110. package/src/graphql/inputs/load-agent-state.input.ts +0 -10
  111. package/src/graphql/inputs/message.input.ts +0 -110
  112. package/src/graphql/inputs/meta-event.input.ts +0 -18
  113. package/src/graphql/message-conversion/agui-to-gql.test.ts +0 -1384
  114. package/src/graphql/message-conversion/agui-to-gql.ts +0 -384
  115. package/src/graphql/message-conversion/gql-to-agui.test.ts +0 -1653
  116. package/src/graphql/message-conversion/gql-to-agui.ts +0 -297
  117. package/src/graphql/message-conversion/index.ts +0 -2
  118. package/src/graphql/message-conversion/roundtrip-conversion.test.ts +0 -561
  119. package/src/graphql/resolvers/__tests__/resolve-message-id.test.ts +0 -25
  120. package/src/graphql/resolvers/copilot.resolver.ts +0 -785
  121. package/src/graphql/resolvers/resolve-message-id.ts +0 -14
  122. package/src/graphql/resolvers/state.resolver.ts +0 -30
  123. package/src/graphql/types/agents-response.type.ts +0 -19
  124. package/src/graphql/types/base/index.ts +0 -10
  125. package/src/graphql/types/converted/index.ts +0 -183
  126. package/src/graphql/types/copilot-response.type.ts +0 -141
  127. package/src/graphql/types/enums.ts +0 -38
  128. package/src/graphql/types/extensions-response.type.ts +0 -23
  129. package/src/graphql/types/guardrails-result.type.ts +0 -20
  130. package/src/graphql/types/load-agent-state-response.type.ts +0 -17
  131. package/src/graphql/types/message-status.type.ts +0 -48
  132. package/src/graphql/types/meta-events.type.ts +0 -78
  133. package/src/graphql/types/response-status.type.ts +0 -77
  134. package/src/index.ts +0 -3
  135. package/src/langgraph.ts +0 -1
  136. package/src/lib/__tests__/telemetry-disclosure.test.ts +0 -55
  137. package/src/lib/cloud/index.ts +0 -4
  138. package/src/lib/error-messages.ts +0 -211
  139. package/src/lib/index.ts +0 -52
  140. package/src/lib/integrations/index.ts +0 -6
  141. package/src/lib/integrations/nest/index.ts +0 -21
  142. package/src/lib/integrations/nextjs/app-router.ts +0 -47
  143. package/src/lib/integrations/nextjs/pages-router.ts +0 -45
  144. package/src/lib/integrations/node-express/index.ts +0 -21
  145. package/src/lib/integrations/node-http/__tests__/request-duck-type.test.ts +0 -66
  146. package/src/lib/integrations/node-http/index.ts +0 -187
  147. package/src/lib/integrations/node-http/request-handler.ts +0 -128
  148. package/src/lib/integrations/shared.ts +0 -112
  149. package/src/lib/logger.ts +0 -31
  150. package/src/lib/observability.ts +0 -167
  151. package/src/lib/runtime/__tests__/copilot-runtime-error.test.ts +0 -183
  152. package/src/lib/runtime/__tests__/handle-service-adapter.test.ts +0 -108
  153. package/src/lib/runtime/__tests__/mcp-tools-utils.test.ts +0 -499
  154. package/src/lib/runtime/__tests__/on-after-request.test.ts +0 -122
  155. package/src/lib/runtime/__tests__/retry-utils.test.ts +0 -137
  156. package/src/lib/runtime/__tests__/v1-agent-factory.test.ts +0 -109
  157. package/src/lib/runtime/agent-integrations/langgraph/__tests__/dispatch-event-filtering.test.ts +0 -345
  158. package/src/lib/runtime/agent-integrations/langgraph/__tests__/run-message-filtering.test.ts +0 -156
  159. package/src/lib/runtime/agent-integrations/langgraph/agent.ts +0 -263
  160. package/src/lib/runtime/agent-integrations/langgraph/consts.ts +0 -37
  161. package/src/lib/runtime/agent-integrations/langgraph/index.ts +0 -2
  162. package/src/lib/runtime/copilot-runtime.ts +0 -863
  163. package/src/lib/runtime/mcp-tools-utils.ts +0 -313
  164. package/src/lib/runtime/retry-utils.ts +0 -141
  165. package/src/lib/runtime/telemetry-agent-runner.ts +0 -151
  166. package/src/lib/runtime/types.ts +0 -48
  167. package/src/lib/runtime/utils.ts +0 -93
  168. package/src/lib/streaming.ts +0 -220
  169. package/src/lib/telemetry-client.ts +0 -66
  170. package/src/lib/telemetry-disclosure.ts +0 -53
  171. package/src/service-adapters/anthropic/anthropic-adapter.ts +0 -532
  172. package/src/service-adapters/anthropic/utils.ts +0 -219
  173. package/src/service-adapters/bedrock/bedrock-adapter.ts +0 -73
  174. package/src/service-adapters/conversion.test.ts +0 -56
  175. package/src/service-adapters/conversion.ts +0 -69
  176. package/src/service-adapters/empty/empty-adapter.ts +0 -38
  177. package/src/service-adapters/events.ts +0 -337
  178. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +0 -84
  179. package/src/service-adapters/google/google-genai-adapter.test.ts +0 -151
  180. package/src/service-adapters/google/google-genai-adapter.ts +0 -95
  181. package/src/service-adapters/groq/groq-adapter.ts +0 -229
  182. package/src/service-adapters/index.ts +0 -18
  183. package/src/service-adapters/langchain/langchain-adapter.ts +0 -113
  184. package/src/service-adapters/langchain/langserve.ts +0 -88
  185. package/src/service-adapters/langchain/types.ts +0 -20
  186. package/src/service-adapters/langchain/utils.ts +0 -330
  187. package/src/service-adapters/openai/__tests__/openai-v5-compat.test.ts +0 -177
  188. package/src/service-adapters/openai/openai-adapter.ts +0 -324
  189. package/src/service-adapters/openai/openai-assistant-adapter.ts +0 -385
  190. package/src/service-adapters/openai/utils.ts +0 -305
  191. package/src/service-adapters/service-adapter.ts +0 -50
  192. package/src/service-adapters/shared/error-utils.ts +0 -64
  193. package/src/service-adapters/shared/index.ts +0 -2
  194. package/src/service-adapters/shared/sdk-client-utils.ts +0 -19
  195. package/src/service-adapters/unify/unify-adapter.ts +0 -165
  196. package/src/utils/failed-response-status-reasons.ts +0 -70
  197. package/src/utils/index.ts +0 -1
  198. package/src/v2/express.ts +0 -1
  199. package/src/v2/hono.ts +0 -1
  200. package/src/v2/index.ts +0 -5
  201. package/src/v2/node.ts +0 -1
  202. package/src/v2/runtime/__tests__/agents-factory.test.ts +0 -136
  203. package/src/v2/runtime/__tests__/backward-compat.test.ts +0 -261
  204. package/src/v2/runtime/__tests__/code-review-fixes.test.ts +0 -500
  205. package/src/v2/runtime/__tests__/cors-credentials.test.ts +0 -320
  206. package/src/v2/runtime/__tests__/debug-sse-response.test.ts +0 -302
  207. package/src/v2/runtime/__tests__/express-adapter.test.ts +0 -188
  208. package/src/v2/runtime/__tests__/express-body-order.test.ts +0 -76
  209. package/src/v2/runtime/__tests__/express-fetch-bridge.test.ts +0 -344
  210. package/src/v2/runtime/__tests__/express-single-sse.test.ts +0 -122
  211. package/src/v2/runtime/__tests__/express-single-telemetry.integration.test.ts +0 -65
  212. package/src/v2/runtime/__tests__/express-telemetry.integration.test.ts +0 -101
  213. package/src/v2/runtime/__tests__/fetch-cors.test.ts +0 -205
  214. package/src/v2/runtime/__tests__/fetch-handler-validation.test.ts +0 -440
  215. package/src/v2/runtime/__tests__/fetch-handler.test.ts +0 -456
  216. package/src/v2/runtime/__tests__/fetch-router.test.ts +0 -276
  217. package/src/v2/runtime/__tests__/get-runtime-info.test.ts +0 -335
  218. package/src/v2/runtime/__tests__/handle-connect.test.ts +0 -585
  219. package/src/v2/runtime/__tests__/handle-run.test.ts +0 -1388
  220. package/src/v2/runtime/__tests__/handle-threads.test.ts +0 -930
  221. package/src/v2/runtime/__tests__/handle-transcribe.test.ts +0 -301
  222. package/src/v2/runtime/__tests__/header-utils.test.ts +0 -88
  223. package/src/v2/runtime/__tests__/hono-adapter.test.ts +0 -150
  224. package/src/v2/runtime/__tests__/hono-single-telemetry.integration.test.ts +0 -46
  225. package/src/v2/runtime/__tests__/hono-telemetry.integration.test.ts +0 -99
  226. package/src/v2/runtime/__tests__/hooks-edge-cases.test.ts +0 -457
  227. package/src/v2/runtime/__tests__/hooks.test.ts +0 -557
  228. package/src/v2/runtime/__tests__/in-process-agent-runner-messages.test.ts +0 -230
  229. package/src/v2/runtime/__tests__/in-process-agent-runner.test.ts +0 -1030
  230. package/src/v2/runtime/__tests__/integration/bun/bun-servers.integration.test.ts +0 -27
  231. package/src/v2/runtime/__tests__/integration/bun/elysia-multi.ts +0 -32
  232. package/src/v2/runtime/__tests__/integration/bun/elysia-single.ts +0 -33
  233. package/src/v2/runtime/__tests__/integration/bun/hono-bun-multi.ts +0 -25
  234. package/src/v2/runtime/__tests__/integration/bun/hono-bun-single.ts +0 -32
  235. package/src/v2/runtime/__tests__/integration/helpers/create-test-runtime.ts +0 -15
  236. package/src/v2/runtime/__tests__/integration/helpers/sse-reader.ts +0 -45
  237. package/src/v2/runtime/__tests__/integration/helpers/test-agent.ts +0 -58
  238. package/src/v2/runtime/__tests__/integration/node-servers.integration.test.ts +0 -58
  239. package/src/v2/runtime/__tests__/integration/servers/express-multi.ts +0 -35
  240. package/src/v2/runtime/__tests__/integration/servers/express-single.ts +0 -36
  241. package/src/v2/runtime/__tests__/integration/servers/fetch-direct.ts +0 -39
  242. package/src/v2/runtime/__tests__/integration/servers/hono-multi.ts +0 -30
  243. package/src/v2/runtime/__tests__/integration/servers/hono-single.ts +0 -37
  244. package/src/v2/runtime/__tests__/integration/servers/node-multi.ts +0 -45
  245. package/src/v2/runtime/__tests__/integration/servers/node-single.ts +0 -46
  246. package/src/v2/runtime/__tests__/integration/servers/types.ts +0 -18
  247. package/src/v2/runtime/__tests__/integration/suites/debug-events.suite.ts +0 -253
  248. package/src/v2/runtime/__tests__/integration/suites/multi-endpoint.suite.ts +0 -358
  249. package/src/v2/runtime/__tests__/integration/suites/single-endpoint.suite.ts +0 -363
  250. package/src/v2/runtime/__tests__/intelligence-run-telemetry.test.ts +0 -194
  251. package/src/v2/runtime/__tests__/mcp-apps-middleware-integration.test.ts +0 -275
  252. package/src/v2/runtime/__tests__/middleware-express.test.ts +0 -208
  253. package/src/v2/runtime/__tests__/middleware-single-express.test.ts +0 -213
  254. package/src/v2/runtime/__tests__/middleware-single.test.ts +0 -225
  255. package/src/v2/runtime/__tests__/middleware-sse-parser.test.ts +0 -237
  256. package/src/v2/runtime/__tests__/middleware.test.ts +0 -250
  257. package/src/v2/runtime/__tests__/node-fetch-handler.test.ts +0 -157
  258. package/src/v2/runtime/__tests__/open-generative-ui-middleware.e2e.test.ts +0 -728
  259. package/src/v2/runtime/__tests__/router-edge-cases.test.ts +0 -217
  260. package/src/v2/runtime/__tests__/routing-express.test.ts +0 -174
  261. package/src/v2/runtime/__tests__/routing-single-express.test.ts +0 -168
  262. package/src/v2/runtime/__tests__/routing-single.test.ts +0 -193
  263. package/src/v2/runtime/__tests__/routing.test.ts +0 -257
  264. package/src/v2/runtime/__tests__/runtime.test.ts +0 -234
  265. package/src/v2/runtime/__tests__/sse-response-telemetry.test.ts +0 -108
  266. package/src/v2/runtime/__tests__/telemetry.test.ts +0 -167
  267. package/src/v2/runtime/__tests__/thread-names.test.ts +0 -188
  268. package/src/v2/runtime/core/__tests__/debug-event-bus.test.ts +0 -156
  269. package/src/v2/runtime/core/debug-event-bus.ts +0 -45
  270. package/src/v2/runtime/core/fetch-cors.ts +0 -136
  271. package/src/v2/runtime/core/fetch-handler.ts +0 -492
  272. package/src/v2/runtime/core/fetch-router.ts +0 -203
  273. package/src/v2/runtime/core/hooks.ts +0 -160
  274. package/src/v2/runtime/core/middleware-sse-parser.ts +0 -210
  275. package/src/v2/runtime/core/middleware.ts +0 -115
  276. package/src/v2/runtime/core/runtime.ts +0 -432
  277. package/src/v2/runtime/endpoints/express-fetch-bridge.ts +0 -137
  278. package/src/v2/runtime/endpoints/express-single.ts +0 -54
  279. package/src/v2/runtime/endpoints/express.ts +0 -179
  280. package/src/v2/runtime/endpoints/hono-single.ts +0 -60
  281. package/src/v2/runtime/endpoints/hono.ts +0 -89
  282. package/src/v2/runtime/endpoints/index.ts +0 -4
  283. package/src/v2/runtime/endpoints/node-fetch-handler.ts +0 -48
  284. package/src/v2/runtime/endpoints/node.ts +0 -28
  285. package/src/v2/runtime/endpoints/single-route-helpers.ts +0 -125
  286. package/src/v2/runtime/express.ts +0 -2
  287. package/src/v2/runtime/handlers/__tests__/handle-debug-events.test.ts +0 -176
  288. package/src/v2/runtime/handlers/get-runtime-info.ts +0 -101
  289. package/src/v2/runtime/handlers/handle-connect.ts +0 -80
  290. package/src/v2/runtime/handlers/handle-debug-events.ts +0 -52
  291. package/src/v2/runtime/handlers/handle-run.ts +0 -111
  292. package/src/v2/runtime/handlers/handle-stop.ts +0 -77
  293. package/src/v2/runtime/handlers/handle-threads.ts +0 -11
  294. package/src/v2/runtime/handlers/handle-transcribe.ts +0 -269
  295. package/src/v2/runtime/handlers/header-utils.ts +0 -24
  296. package/src/v2/runtime/handlers/intelligence/connect.ts +0 -102
  297. package/src/v2/runtime/handlers/intelligence/run.ts +0 -351
  298. package/src/v2/runtime/handlers/intelligence/thread-names.ts +0 -246
  299. package/src/v2/runtime/handlers/intelligence/threads.ts +0 -420
  300. package/src/v2/runtime/handlers/shared/agent-utils.ts +0 -154
  301. package/src/v2/runtime/handlers/shared/intelligence-utils.ts +0 -41
  302. package/src/v2/runtime/handlers/shared/json-response.ts +0 -9
  303. package/src/v2/runtime/handlers/shared/resolve-intelligence-user.ts +0 -28
  304. package/src/v2/runtime/handlers/shared/sse-response.ts +0 -215
  305. package/src/v2/runtime/handlers/sse/__tests__/sse-connect-agent-id.test.ts +0 -71
  306. package/src/v2/runtime/handlers/sse/connect.ts +0 -30
  307. package/src/v2/runtime/handlers/sse/run.ts +0 -40
  308. package/src/v2/runtime/hono.ts +0 -2
  309. package/src/v2/runtime/index.ts +0 -51
  310. package/src/v2/runtime/intelligence-platform/__tests__/client.test.ts +0 -601
  311. package/src/v2/runtime/intelligence-platform/__tests__/intelligence-mcp-helper.test.ts +0 -246
  312. package/src/v2/runtime/intelligence-platform/client.ts +0 -818
  313. package/src/v2/runtime/intelligence-platform/index.ts +0 -10
  314. package/src/v2/runtime/node.ts +0 -6
  315. package/src/v2/runtime/open-generative-ui-middleware.ts +0 -373
  316. package/src/v2/runtime/runner/__tests__/finalize-events.test.ts +0 -109
  317. package/src/v2/runtime/runner/__tests__/in-memory-runner.e2e.test.ts +0 -775
  318. package/src/v2/runtime/runner/__tests__/in-memory-runner.test.ts +0 -777
  319. package/src/v2/runtime/runner/__tests__/intelligence-runner.test.ts +0 -1039
  320. package/src/v2/runtime/runner/agent-runner.ts +0 -35
  321. package/src/v2/runtime/runner/in-memory.ts +0 -467
  322. package/src/v2/runtime/runner/index.ts +0 -4
  323. package/src/v2/runtime/runner/intelligence.ts +0 -498
  324. package/src/v2/runtime/telemetry/__tests__/instance-created.test.ts +0 -96
  325. package/src/v2/runtime/telemetry/events.ts +0 -35
  326. package/src/v2/runtime/telemetry/index.ts +0 -7
  327. package/src/v2/runtime/telemetry/instance-created.ts +0 -44
  328. package/src/v2/runtime/telemetry/scarf-client.ts +0 -39
  329. package/src/v2/runtime/telemetry/telemetry-client.ts +0 -70
  330. package/src/v2/runtime/transcription-service/transcription-service.ts +0 -11
  331. package/tests/global.d.ts +0 -1
  332. package/tests/service-adapters/anthropic/allowlist-approach.test.ts +0 -259
  333. package/tests/service-adapters/anthropic/anthropic-adapter-language-model.test.ts +0 -101
  334. package/tests/service-adapters/anthropic/anthropic-adapter.test.ts +0 -645
  335. package/tests/service-adapters/anthropic/utils-token-trimming.test.ts +0 -301
  336. package/tests/service-adapters/groq/groq-adapter-language-model.test.ts +0 -102
  337. package/tests/service-adapters/openai/allowlist-approach.test.ts +0 -294
  338. package/tests/service-adapters/openai/openai-adapter-language-model.test.ts +0 -122
  339. package/tests/service-adapters/openai/openai-adapter.test.ts +0 -291
  340. package/tests/service-adapters/shared/sdk-client-utils.test.ts +0 -36
  341. package/tests/setup.vitest.ts +0 -8
  342. package/tests/tsconfig.json +0 -10
  343. package/tsconfig.json +0 -20
  344. package/tsdown.config.ts +0 -45
  345. package/typedoc.json +0 -4
  346. package/vitest.config.mjs +0 -13
@@ -1,35 +0,0 @@
1
- import {
2
- AbstractAgent,
3
- BaseEvent,
4
- Message,
5
- RunAgentInput,
6
- } from "@ag-ui/client";
7
- import { Observable } from "rxjs";
8
-
9
- export interface AgentRunnerRunRequest {
10
- threadId: string;
11
- agent: AbstractAgent;
12
- input: RunAgentInput;
13
- persistedInputMessages?: Message[];
14
- }
15
-
16
- export interface AgentRunnerConnectRequest {
17
- threadId: string;
18
- headers?: Record<string, string>;
19
- joinCode?: string;
20
- }
21
-
22
- export interface AgentRunnerIsRunningRequest {
23
- threadId: string;
24
- }
25
-
26
- export interface AgentRunnerStopRequest {
27
- threadId: string;
28
- }
29
-
30
- export abstract class AgentRunner {
31
- abstract run(request: AgentRunnerRunRequest): Observable<BaseEvent>;
32
- abstract connect(request: AgentRunnerConnectRequest): Observable<BaseEvent>;
33
- abstract isRunning(request: AgentRunnerIsRunningRequest): Promise<boolean>;
34
- abstract stop(request: AgentRunnerStopRequest): Promise<boolean | undefined>;
35
- }
@@ -1,467 +0,0 @@
1
- import {
2
- AgentRunner,
3
- AgentRunnerConnectRequest,
4
- AgentRunnerIsRunningRequest,
5
- AgentRunnerRunRequest,
6
- type AgentRunnerStopRequest,
7
- } from "./agent-runner";
8
- import { Observable, ReplaySubject } from "rxjs";
9
- import {
10
- AbstractAgent,
11
- BaseEvent,
12
- EventType,
13
- Message,
14
- RunStartedEvent,
15
- StateSnapshotEvent,
16
- compactEvents,
17
- } from "@ag-ui/client";
18
- import { finalizeRunEvents } from "@copilotkit/shared";
19
-
20
- interface HistoricRun {
21
- threadId: string;
22
- runId: string;
23
- /** ID of the agent that executed this run. */
24
- agentId: string;
25
- parentRunId: string | null;
26
- events: BaseEvent[];
27
- /**
28
- * Snapshot of all messages (input + generated) at the end of this run.
29
- * Used by the local thread-messages fallback endpoint.
30
- */
31
- messages: Message[];
32
- createdAt: number;
33
- }
34
-
35
- /**
36
- * Lightweight thread summary returned by {@link InMemoryAgentRunner.listThreads}.
37
- * Shape matches the Intelligence platform's ThreadRecord so the same HTTP
38
- * response envelope can be used for both backends.
39
- */
40
- export interface InMemoryThread {
41
- id: string;
42
- name: string | null;
43
- agentId: string;
44
- organizationId: ""; // always empty in in-memory mode
45
- createdById: ""; // always empty in in-memory mode
46
- archived: false; // always false in in-memory mode
47
- createdAt: string;
48
- updatedAt: string;
49
- }
50
-
51
- class InMemoryEventStore {
52
- constructor(public threadId: string) {}
53
-
54
- /** The subject that current consumers subscribe to. */
55
- subject: ReplaySubject<BaseEvent> | null = null;
56
-
57
- /** True while a run is actively producing events. */
58
- isRunning = false;
59
-
60
- /** Current run ID */
61
- currentRunId: string | null = null;
62
-
63
- /** Historic completed runs */
64
- historicRuns: HistoricRun[] = [];
65
-
66
- /** Currently running agent instance (if any). */
67
- agent: AbstractAgent | null = null;
68
-
69
- /** Subject returned from run() while the run is active. */
70
- runSubject: ReplaySubject<BaseEvent> | null = null;
71
-
72
- /** True once stop() has been requested but the run has not yet finalized. */
73
- stopRequested = false;
74
-
75
- /** Reference to the events emitted in the current run. */
76
- currentEvents: BaseEvent[] | null = null;
77
- }
78
-
79
- const GLOBAL_STORE = new Map<string, InMemoryEventStore>();
80
-
81
- export class InMemoryAgentRunner extends AgentRunner {
82
- run(request: AgentRunnerRunRequest): Observable<BaseEvent> {
83
- let existingStore = GLOBAL_STORE.get(request.threadId);
84
- if (!existingStore) {
85
- existingStore = new InMemoryEventStore(request.threadId);
86
- GLOBAL_STORE.set(request.threadId, existingStore);
87
- }
88
- const store = existingStore; // Now store is const and non-null
89
-
90
- if (store.isRunning) {
91
- throw new Error("Thread already running");
92
- }
93
- store.isRunning = true;
94
- store.currentRunId = request.input.runId;
95
- store.agent = request.agent;
96
- store.stopRequested = false;
97
-
98
- // Track seen message IDs and current run events for this run
99
- const seenMessageIds = new Set<string>();
100
- const currentRunEvents: BaseEvent[] = [];
101
- store.currentEvents = currentRunEvents;
102
-
103
- // Get all previously seen message IDs from historic runs
104
- const historicMessageIds = new Set<string>();
105
- for (const run of store.historicRuns) {
106
- for (const event of run.events) {
107
- if ("messageId" in event && typeof event.messageId === "string") {
108
- historicMessageIds.add(event.messageId);
109
- }
110
- if (event.type === EventType.RUN_STARTED) {
111
- const runStarted = event as RunStartedEvent;
112
- const messages = runStarted.input?.messages ?? [];
113
- for (const message of messages) {
114
- historicMessageIds.add(message.id);
115
- }
116
- }
117
- }
118
- }
119
-
120
- const nextSubject = new ReplaySubject<BaseEvent>(Infinity);
121
- const prevSubject = store.subject;
122
-
123
- // Update the store's subject immediately
124
- store.subject = nextSubject;
125
-
126
- // Create a subject for run() return value
127
- const runSubject = new ReplaySubject<BaseEvent>(Infinity);
128
- store.runSubject = runSubject;
129
-
130
- // Helper function to run the agent and handle errors
131
- const runAgent = async () => {
132
- // Get parent run ID for chaining
133
- const lastRun = store.historicRuns[store.historicRuns.length - 1];
134
- const parentRunId = lastRun?.runId ?? null;
135
-
136
- try {
137
- await request.agent.runAgent(request.input, {
138
- onEvent: ({ event }) => {
139
- let processedEvent: BaseEvent = event;
140
- if (event.type === EventType.RUN_STARTED) {
141
- const runStartedEvent = event as RunStartedEvent;
142
- if (!runStartedEvent.input) {
143
- const sanitizedMessages = request.input.messages
144
- ? request.input.messages.filter(
145
- (message) => !historicMessageIds.has(message.id),
146
- )
147
- : undefined;
148
- const updatedInput = {
149
- ...request.input,
150
- ...(sanitizedMessages !== undefined
151
- ? { messages: sanitizedMessages }
152
- : {}),
153
- };
154
- processedEvent = {
155
- ...runStartedEvent,
156
- input: updatedInput,
157
- } as RunStartedEvent;
158
- }
159
- }
160
-
161
- runSubject.next(processedEvent); // For run() return - only agent events
162
- nextSubject.next(processedEvent); // For connect() / store - all events
163
- currentRunEvents.push(processedEvent); // Accumulate for storage
164
- },
165
- onNewMessage: ({ message }) => {
166
- // Called for each new message
167
- if (!seenMessageIds.has(message.id)) {
168
- seenMessageIds.add(message.id);
169
- }
170
- },
171
- onRunStartedEvent: () => {
172
- // Mark any messages from the input as seen so they aren't emitted twice
173
- if (request.input.messages) {
174
- for (const message of request.input.messages) {
175
- if (!seenMessageIds.has(message.id)) {
176
- seenMessageIds.add(message.id);
177
- }
178
- }
179
- }
180
- },
181
- });
182
-
183
- const appendedEvents = finalizeRunEvents(currentRunEvents, {
184
- stopRequested: store.stopRequested,
185
- });
186
- for (const event of appendedEvents) {
187
- runSubject.next(event);
188
- nextSubject.next(event);
189
- }
190
-
191
- // Store the completed run in memory with ONLY its events
192
- if (store.currentRunId) {
193
- // Compact the events before storing (like SQLite does)
194
- const compactedEvents = compactEvents(currentRunEvents);
195
-
196
- store.historicRuns.push({
197
- threadId: request.threadId,
198
- runId: store.currentRunId,
199
- agentId: request.agent.agentId ?? "default",
200
- parentRunId,
201
- events: compactedEvents,
202
- // Snapshot all messages (input + generated) for the thread-messages endpoint
203
- messages: Array.isArray(request.agent.messages)
204
- ? [...request.agent.messages]
205
- : [],
206
- createdAt: Date.now(),
207
- });
208
- }
209
-
210
- // Complete the run
211
- store.currentEvents = null;
212
- store.currentRunId = null;
213
- store.agent = null;
214
- store.runSubject = null;
215
- store.stopRequested = false;
216
- store.isRunning = false;
217
- runSubject.complete();
218
- nextSubject.complete();
219
- } catch (error) {
220
- const interruptionMessage =
221
- error instanceof Error ? error.message : String(error);
222
- const appendedEvents = finalizeRunEvents(currentRunEvents, {
223
- stopRequested: store.stopRequested,
224
- interruptionMessage,
225
- });
226
- for (const event of appendedEvents) {
227
- runSubject.next(event);
228
- nextSubject.next(event);
229
- }
230
-
231
- // Store the run even if it failed (partial events)
232
- if (store.currentRunId && currentRunEvents.length > 0) {
233
- // Compact the events before storing (like SQLite does)
234
- const compactedEvents = compactEvents(currentRunEvents);
235
- store.historicRuns.push({
236
- threadId: request.threadId,
237
- runId: store.currentRunId,
238
- agentId: request.agent.agentId ?? "default",
239
- parentRunId,
240
- events: compactedEvents,
241
- messages: Array.isArray(request.agent.messages)
242
- ? [...request.agent.messages]
243
- : [],
244
- createdAt: Date.now(),
245
- });
246
- }
247
-
248
- // Complete the run
249
- store.currentEvents = null;
250
- store.currentRunId = null;
251
- store.agent = null;
252
- store.runSubject = null;
253
- store.stopRequested = false;
254
- store.isRunning = false;
255
- runSubject.complete();
256
- nextSubject.complete();
257
- }
258
- };
259
-
260
- // Bridge previous events if they exist
261
- if (prevSubject) {
262
- prevSubject.subscribe({
263
- next: (e) => nextSubject.next(e),
264
- error: (err) => nextSubject.error(err),
265
- complete: () => {
266
- // Don't complete nextSubject here - it needs to stay open for new events
267
- },
268
- });
269
- }
270
-
271
- // Start the agent execution immediately (not lazily)
272
- runAgent();
273
-
274
- // Return the run subject (only agent events, no injected messages)
275
- return runSubject.asObservable();
276
- }
277
-
278
- connect(request: AgentRunnerConnectRequest): Observable<BaseEvent> {
279
- const store = GLOBAL_STORE.get(request.threadId);
280
- const connectionSubject = new ReplaySubject<BaseEvent>(Infinity);
281
-
282
- if (!store) {
283
- // No store means no events
284
- connectionSubject.complete();
285
- return connectionSubject.asObservable();
286
- }
287
-
288
- // Collect all historic events from memory
289
- const allHistoricEvents: BaseEvent[] = [];
290
- for (const run of store.historicRuns) {
291
- allHistoricEvents.push(...run.events);
292
- }
293
-
294
- // Apply compaction to all historic events together (like SQLite)
295
- const compactedEvents = compactEvents(allHistoricEvents);
296
-
297
- // Emit compacted events and track message IDs
298
- const emittedMessageIds = new Set<string>();
299
- for (const event of compactedEvents) {
300
- connectionSubject.next(event);
301
- if ("messageId" in event && typeof event.messageId === "string") {
302
- emittedMessageIds.add(event.messageId);
303
- }
304
- }
305
-
306
- // Bridge active run to connection if exists
307
- if (store.subject && (store.isRunning || store.stopRequested)) {
308
- store.subject.subscribe({
309
- next: (event) => {
310
- // Skip message events that we've already emitted from historic
311
- if (
312
- "messageId" in event &&
313
- typeof event.messageId === "string" &&
314
- emittedMessageIds.has(event.messageId)
315
- ) {
316
- return;
317
- }
318
- connectionSubject.next(event);
319
- },
320
- complete: () => connectionSubject.complete(),
321
- error: (err) => connectionSubject.error(err),
322
- });
323
- } else {
324
- // No active run, complete after historic events
325
- connectionSubject.complete();
326
- }
327
-
328
- return connectionSubject.asObservable();
329
- }
330
-
331
- isRunning(request: AgentRunnerIsRunningRequest): Promise<boolean> {
332
- const store = GLOBAL_STORE.get(request.threadId);
333
- return Promise.resolve(store?.isRunning ?? false);
334
- }
335
-
336
- stop(request: AgentRunnerStopRequest): Promise<boolean | undefined> {
337
- const store = GLOBAL_STORE.get(request.threadId);
338
- if (!store || !store.isRunning) {
339
- return Promise.resolve(false);
340
- }
341
- if (store.stopRequested) {
342
- return Promise.resolve(false);
343
- }
344
-
345
- store.stopRequested = true;
346
- store.isRunning = false;
347
-
348
- const agent = store.agent;
349
- if (!agent) {
350
- store.stopRequested = false;
351
- store.isRunning = false;
352
- return Promise.resolve(false);
353
- }
354
-
355
- try {
356
- agent.abortRun();
357
- return Promise.resolve(true);
358
- } catch (error) {
359
- console.error("Failed to abort agent run", error);
360
- store.stopRequested = false;
361
- store.isRunning = true;
362
- return Promise.resolve(false);
363
- }
364
- }
365
-
366
- /**
367
- * Returns a summary of every thread that has been run through this runner.
368
- *
369
- * This powers the local-dev fallback for `GET /threads` when the Intelligence
370
- * platform is not configured. Each entry mirrors the shape of a platform
371
- * `ThreadRecord` so the HTTP handler can use the same response envelope.
372
- */
373
- listThreads(): InMemoryThread[] {
374
- const threads: InMemoryThread[] = [];
375
- for (const [threadId, store] of GLOBAL_STORE) {
376
- if (store.historicRuns.length === 0) continue;
377
- const firstRun = store.historicRuns[0]!;
378
- const lastRun = store.historicRuns[store.historicRuns.length - 1]!;
379
- threads.push({
380
- id: threadId,
381
- name: null,
382
- agentId: lastRun.agentId,
383
- organizationId: "",
384
- createdById: "",
385
- archived: false,
386
- createdAt: new Date(firstRun.createdAt).toISOString(),
387
- updatedAt: new Date(lastRun.createdAt).toISOString(),
388
- });
389
- }
390
- // Most recently updated first
391
- return threads.sort(
392
- (a, b) =>
393
- new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime(),
394
- );
395
- }
396
-
397
- /**
398
- * Returns all messages for a thread, using the snapshot captured at the end
399
- * of the most recent run.
400
- *
401
- * This powers the local-dev fallback for `GET /threads/:threadId/messages`
402
- * when the Intelligence platform is not configured. The returned `Message[]`
403
- * objects come directly from the ag-ui agent, so their shape is compatible
404
- * with the Intelligence platform's `ThreadMessage` type.
405
- */
406
- getThreadMessages(threadId: string): Message[] {
407
- const store = GLOBAL_STORE.get(threadId);
408
- if (!store || store.historicRuns.length === 0) return [];
409
- // The last run's snapshot has the complete conversation history
410
- return store.historicRuns[store.historicRuns.length - 1]!.messages;
411
- }
412
-
413
- /**
414
- * Returns all AG-UI events for a thread, compacted across historic runs.
415
- *
416
- * Powers the local-dev fallback for `GET /threads/:threadId/events` when the
417
- * Intelligence platform is not configured. The compaction logic matches
418
- * the connection-replay path in {@link connect}, so the stream a
419
- * late-joining inspector sees matches what this method returns.
420
- */
421
- getThreadEvents(threadId: string): BaseEvent[] {
422
- const store = GLOBAL_STORE.get(threadId);
423
- if (!store || store.historicRuns.length === 0) return [];
424
- const all: BaseEvent[] = [];
425
- for (const run of store.historicRuns) all.push(...run.events);
426
- return compactEvents(all);
427
- }
428
-
429
- /**
430
- * Returns the agent state snapshot for a thread.
431
- *
432
- * Derived from the last `STATE_SNAPSHOT` in the compacted event stream. The
433
- * AG-UI `compactEvents` helper consolidates STATE_DELTA events and produces
434
- * a single trailing STATE_SNAPSHOT when state changes exist, so this is a
435
- * faithful view of state at the end of the most recent run.
436
- *
437
- * Returns `null` when the thread has never emitted a STATE_SNAPSHOT.
438
- */
439
- getThreadState(threadId: string): Record<string, unknown> | null {
440
- const events = this.getThreadEvents(threadId);
441
- // Walk backwards — the last snapshot wins.
442
- for (let i = events.length - 1; i >= 0; i--) {
443
- const event = events[i]!;
444
- if (event.type === EventType.STATE_SNAPSHOT) {
445
- const snapshot = (event as StateSnapshotEvent).snapshot;
446
- if (snapshot && typeof snapshot === "object") {
447
- return snapshot as Record<string, unknown>;
448
- }
449
- return null;
450
- }
451
- }
452
- return null;
453
- }
454
-
455
- /**
456
- * Clears all in-memory thread history.
457
- *
458
- * Powers the local-dev fallback for `POST /threads/clear`, letting consumers
459
- * (e.g. the demo's Clear button) reset to an empty thread list without
460
- * restarting the runtime. Intentionally not exposed on the Intelligence
461
- * platform path: there, thread history lives in a real database and must
462
- * not be wiped this way.
463
- */
464
- clearThreads(): void {
465
- GLOBAL_STORE.clear();
466
- }
467
- }
@@ -1,4 +0,0 @@
1
- export * from "./agent-runner";
2
- export * from "./in-memory";
3
- export * from "./intelligence";
4
- export { finalizeRunEvents } from "@copilotkit/shared";