@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.
Files changed (673) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +135 -1
  3. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  4. package/dist/_virtual/_rolldown/runtime.mjs +20 -0
  5. package/dist/agent/converters/aisdk.cjs +355 -0
  6. package/dist/agent/converters/aisdk.cjs.map +1 -0
  7. package/dist/agent/converters/aisdk.d.cts +22 -0
  8. package/dist/agent/converters/aisdk.d.cts.map +1 -0
  9. package/dist/agent/converters/aisdk.d.mts +22 -0
  10. package/dist/agent/converters/aisdk.d.mts.map +1 -0
  11. package/dist/agent/converters/aisdk.mjs +351 -0
  12. package/dist/agent/converters/aisdk.mjs.map +1 -0
  13. package/dist/agent/converters/index.d.mts +2 -0
  14. package/dist/agent/converters/tanstack.cjs +374 -0
  15. package/dist/agent/converters/tanstack.cjs.map +1 -0
  16. package/dist/agent/converters/tanstack.d.cts +83 -0
  17. package/dist/agent/converters/tanstack.d.cts.map +1 -0
  18. package/dist/agent/converters/tanstack.d.mts +83 -0
  19. package/dist/agent/converters/tanstack.d.mts.map +1 -0
  20. package/dist/agent/converters/tanstack.mjs +372 -0
  21. package/dist/agent/converters/tanstack.mjs.map +1 -0
  22. package/dist/agent/converters/usage.cjs +68 -0
  23. package/dist/agent/converters/usage.cjs.map +1 -0
  24. package/dist/agent/converters/usage.d.cts +19 -0
  25. package/dist/agent/converters/usage.d.cts.map +1 -0
  26. package/dist/agent/converters/usage.d.mts +19 -0
  27. package/dist/agent/converters/usage.d.mts.map +1 -0
  28. package/dist/agent/converters/usage.mjs +62 -0
  29. package/dist/agent/converters/usage.mjs.map +1 -0
  30. package/dist/agent/index.cjs +1328 -0
  31. package/dist/agent/index.cjs.map +1 -0
  32. package/dist/agent/index.d.cts +467 -0
  33. package/dist/agent/index.d.cts.map +1 -0
  34. package/dist/agent/index.d.mts +468 -0
  35. package/dist/agent/index.d.mts.map +1 -0
  36. package/dist/agent/index.mjs +1318 -0
  37. package/dist/agent/index.mjs.map +1 -0
  38. package/dist/agent/learned-skills.cjs +76 -0
  39. package/dist/agent/learned-skills.cjs.map +1 -0
  40. package/dist/agent/learned-skills.d.cts +15 -0
  41. package/dist/agent/learned-skills.d.cts.map +1 -0
  42. package/dist/agent/learned-skills.d.mts +15 -0
  43. package/dist/agent/learned-skills.d.mts.map +1 -0
  44. package/dist/agent/learned-skills.mjs +74 -0
  45. package/dist/agent/learned-skills.mjs.map +1 -0
  46. package/dist/agent/mcp-tool-names.cjs +82 -0
  47. package/dist/agent/mcp-tool-names.cjs.map +1 -0
  48. package/dist/agent/mcp-tool-names.mjs +80 -0
  49. package/dist/agent/mcp-tool-names.mjs.map +1 -0
  50. package/dist/agent/state-delta.cjs +321 -0
  51. package/dist/agent/state-delta.cjs.map +1 -0
  52. package/dist/agent/state-delta.mjs +320 -0
  53. package/dist/agent/state-delta.mjs.map +1 -0
  54. package/dist/agent/url-download.cjs +503 -0
  55. package/dist/agent/url-download.cjs.map +1 -0
  56. package/dist/agent/url-download.d.cts +79 -0
  57. package/dist/agent/url-download.d.cts.map +1 -0
  58. package/dist/agent/url-download.d.mts +79 -0
  59. package/dist/agent/url-download.d.mts.map +1 -0
  60. package/dist/agent/url-download.mjs +500 -0
  61. package/dist/agent/url-download.mjs.map +1 -0
  62. package/dist/express.cjs +7 -0
  63. package/dist/express.d.cts +4 -0
  64. package/dist/express.d.mts +4 -0
  65. package/dist/express.mjs +4 -0
  66. package/dist/hono.cjs +8 -0
  67. package/dist/hono.d.cts +4 -0
  68. package/dist/hono.d.mts +4 -0
  69. package/dist/hono.mjs +4 -0
  70. package/dist/index.cjs +86 -0
  71. package/dist/index.d.cts +28 -0
  72. package/dist/index.d.mts +28 -0
  73. package/dist/index.mjs +21 -5598
  74. package/dist/internal/learned-skills.cjs +21 -0
  75. package/dist/internal/learned-skills.d.cts +9 -0
  76. package/dist/internal/learned-skills.d.mts +9 -0
  77. package/dist/internal/learned-skills.mjs +9 -0
  78. package/dist/node.cjs +7 -0
  79. package/dist/node.d.cts +4 -0
  80. package/dist/node.d.mts +4 -0
  81. package/dist/node.mjs +4 -0
  82. package/dist/runtime/core/channel-activation-config.cjs +87 -0
  83. package/dist/runtime/core/channel-activation-config.cjs.map +1 -0
  84. package/dist/runtime/core/channel-activation-config.d.cts +39 -0
  85. package/dist/runtime/core/channel-activation-config.d.cts.map +1 -0
  86. package/dist/runtime/core/channel-activation-config.d.mts +39 -0
  87. package/dist/runtime/core/channel-activation-config.d.mts.map +1 -0
  88. package/dist/runtime/core/channel-activation-config.mjs +85 -0
  89. package/dist/runtime/core/channel-activation-config.mjs.map +1 -0
  90. package/dist/runtime/core/channel-manager.cjs +973 -0
  91. package/dist/runtime/core/channel-manager.cjs.map +1 -0
  92. package/dist/runtime/core/channel-manager.d.cts +166 -0
  93. package/dist/runtime/core/channel-manager.d.cts.map +1 -0
  94. package/dist/runtime/core/channel-manager.d.mts +167 -0
  95. package/dist/runtime/core/channel-manager.d.mts.map +1 -0
  96. package/dist/runtime/core/channel-manager.mjs +972 -0
  97. package/dist/runtime/core/channel-manager.mjs.map +1 -0
  98. package/dist/runtime/core/debug-event-bus.cjs +57 -0
  99. package/dist/runtime/core/debug-event-bus.cjs.map +1 -0
  100. package/dist/runtime/core/debug-event-bus.d.cts +18 -0
  101. package/dist/runtime/core/debug-event-bus.d.cts.map +1 -0
  102. package/dist/runtime/core/debug-event-bus.d.mts +18 -0
  103. package/dist/runtime/core/debug-event-bus.d.mts.map +1 -0
  104. package/dist/runtime/core/debug-event-bus.mjs +55 -0
  105. package/dist/runtime/core/debug-event-bus.mjs.map +1 -0
  106. package/dist/runtime/core/fetch-cors.cjs +71 -0
  107. package/dist/runtime/core/fetch-cors.cjs.map +1 -0
  108. package/dist/runtime/core/fetch-cors.d.cts +19 -0
  109. package/dist/runtime/core/fetch-cors.d.cts.map +1 -0
  110. package/dist/runtime/core/fetch-cors.d.mts +19 -0
  111. package/dist/runtime/core/fetch-cors.d.mts.map +1 -0
  112. package/dist/runtime/core/fetch-cors.mjs +69 -0
  113. package/dist/runtime/core/fetch-cors.mjs.map +1 -0
  114. package/dist/runtime/core/fetch-handler.cjs +539 -0
  115. package/dist/runtime/core/fetch-handler.cjs.map +1 -0
  116. package/dist/runtime/core/fetch-handler.d.cts +100 -0
  117. package/dist/runtime/core/fetch-handler.d.cts.map +1 -0
  118. package/dist/runtime/core/fetch-handler.d.mts +100 -0
  119. package/dist/runtime/core/fetch-handler.d.mts.map +1 -0
  120. package/dist/runtime/core/fetch-handler.mjs +538 -0
  121. package/dist/runtime/core/fetch-handler.mjs.map +1 -0
  122. package/dist/runtime/core/fetch-router.cjs +141 -0
  123. package/dist/runtime/core/fetch-router.cjs.map +1 -0
  124. package/dist/runtime/core/fetch-router.mjs +140 -0
  125. package/dist/runtime/core/fetch-router.mjs.map +1 -0
  126. package/dist/runtime/core/hooks.cjs +28 -0
  127. package/dist/runtime/core/hooks.cjs.map +1 -0
  128. package/dist/runtime/core/hooks.d.cts +121 -0
  129. package/dist/runtime/core/hooks.d.cts.map +1 -0
  130. package/dist/runtime/core/hooks.d.mts +121 -0
  131. package/dist/runtime/core/hooks.d.mts.map +1 -0
  132. package/dist/runtime/core/hooks.mjs +24 -0
  133. package/dist/runtime/core/hooks.mjs.map +1 -0
  134. package/dist/runtime/core/learning.cjs +61 -0
  135. package/dist/runtime/core/learning.cjs.map +1 -0
  136. package/dist/runtime/core/learning.d.cts +61 -0
  137. package/dist/runtime/core/learning.d.cts.map +1 -0
  138. package/dist/runtime/core/learning.d.mts +61 -0
  139. package/dist/runtime/core/learning.d.mts.map +1 -0
  140. package/dist/runtime/core/learning.mjs +56 -0
  141. package/dist/runtime/core/learning.mjs.map +1 -0
  142. package/dist/runtime/core/logger.cjs +21 -0
  143. package/dist/runtime/core/logger.cjs.map +1 -0
  144. package/dist/runtime/core/logger.d.cts +12 -0
  145. package/dist/runtime/core/logger.d.cts.map +1 -0
  146. package/dist/runtime/core/logger.d.mts +12 -0
  147. package/dist/runtime/core/logger.d.mts.map +1 -0
  148. package/dist/runtime/core/logger.mjs +18 -0
  149. package/dist/runtime/core/logger.mjs.map +1 -0
  150. package/dist/runtime/core/middleware-sse-parser.cjs +149 -0
  151. package/dist/runtime/core/middleware-sse-parser.cjs.map +1 -0
  152. package/dist/runtime/core/middleware-sse-parser.d.cts +21 -0
  153. package/dist/runtime/core/middleware-sse-parser.d.cts.map +1 -0
  154. package/dist/runtime/core/middleware-sse-parser.d.mts +21 -0
  155. package/dist/runtime/core/middleware-sse-parser.d.mts.map +1 -0
  156. package/dist/runtime/core/middleware-sse-parser.mjs +148 -0
  157. package/dist/runtime/core/middleware-sse-parser.mjs.map +1 -0
  158. package/dist/runtime/core/middleware.cjs +34 -0
  159. package/dist/runtime/core/middleware.cjs.map +1 -0
  160. package/dist/runtime/core/middleware.d.cts +31 -0
  161. package/dist/runtime/core/middleware.d.cts.map +1 -0
  162. package/dist/runtime/core/middleware.d.mts +31 -0
  163. package/dist/runtime/core/middleware.d.mts.map +1 -0
  164. package/dist/runtime/core/middleware.mjs +32 -0
  165. package/dist/runtime/core/middleware.mjs.map +1 -0
  166. package/dist/runtime/core/package-info.cjs +9 -0
  167. package/dist/runtime/core/package-info.cjs.map +1 -0
  168. package/dist/runtime/core/package-info.mjs +7 -0
  169. package/dist/runtime/core/package-info.mjs.map +1 -0
  170. package/dist/runtime/core/runtime-error-reporter.cjs +21 -0
  171. package/dist/runtime/core/runtime-error-reporter.cjs.map +1 -0
  172. package/dist/runtime/core/runtime-error-reporter.mjs +18 -0
  173. package/dist/runtime/core/runtime-error-reporter.mjs.map +1 -0
  174. package/dist/runtime/core/runtime.cjs +256 -0
  175. package/dist/runtime/core/runtime.cjs.map +1 -0
  176. package/dist/runtime/core/runtime.d.cts +481 -0
  177. package/dist/runtime/core/runtime.d.cts.map +1 -0
  178. package/dist/runtime/core/runtime.d.mts +481 -0
  179. package/dist/runtime/core/runtime.d.mts.map +1 -0
  180. package/dist/runtime/core/runtime.mjs +249 -0
  181. package/dist/runtime/core/runtime.mjs.map +1 -0
  182. package/dist/runtime/endpoints/auto-start-channels.cjs +46 -0
  183. package/dist/runtime/endpoints/auto-start-channels.cjs.map +1 -0
  184. package/dist/runtime/endpoints/auto-start-channels.mjs +45 -0
  185. package/dist/runtime/endpoints/auto-start-channels.mjs.map +1 -0
  186. package/dist/runtime/endpoints/express-single.cjs +43 -0
  187. package/dist/runtime/endpoints/express-single.cjs.map +1 -0
  188. package/dist/runtime/endpoints/express-single.d.cts +48 -0
  189. package/dist/runtime/endpoints/express-single.d.cts.map +1 -0
  190. package/dist/runtime/endpoints/express-single.d.mts +48 -0
  191. package/dist/runtime/endpoints/express-single.d.mts.map +1 -0
  192. package/dist/runtime/endpoints/express-single.mjs +43 -0
  193. package/dist/runtime/endpoints/express-single.mjs.map +1 -0
  194. package/dist/runtime/endpoints/express.cjs +68 -0
  195. package/dist/runtime/endpoints/express.cjs.map +1 -0
  196. package/dist/runtime/endpoints/express.d.cts +84 -0
  197. package/dist/runtime/endpoints/express.d.cts.map +1 -0
  198. package/dist/runtime/endpoints/express.d.mts +84 -0
  199. package/dist/runtime/endpoints/express.d.mts.map +1 -0
  200. package/dist/runtime/endpoints/express.mjs +66 -0
  201. package/dist/runtime/endpoints/express.mjs.map +1 -0
  202. package/dist/runtime/endpoints/hono-single.cjs +28 -0
  203. package/dist/runtime/endpoints/hono-single.cjs.map +1 -0
  204. package/dist/runtime/endpoints/hono-single.d.cts +43 -0
  205. package/dist/runtime/endpoints/hono-single.d.cts.map +1 -0
  206. package/dist/runtime/endpoints/hono-single.d.mts +43 -0
  207. package/dist/runtime/endpoints/hono-single.d.mts.map +1 -0
  208. package/dist/runtime/endpoints/hono-single.mjs +27 -0
  209. package/dist/runtime/endpoints/hono-single.mjs.map +1 -0
  210. package/dist/runtime/endpoints/hono.cjs +37 -0
  211. package/dist/runtime/endpoints/hono.cjs.map +1 -0
  212. package/dist/runtime/endpoints/hono.d.cts +96 -0
  213. package/dist/runtime/endpoints/hono.d.cts.map +1 -0
  214. package/dist/runtime/endpoints/hono.d.mts +96 -0
  215. package/dist/runtime/endpoints/hono.d.mts.map +1 -0
  216. package/dist/runtime/endpoints/hono.mjs +34 -0
  217. package/dist/runtime/endpoints/hono.mjs.map +1 -0
  218. package/dist/runtime/endpoints/index.d.cts +4 -0
  219. package/dist/runtime/endpoints/index.d.mts +4 -0
  220. package/dist/runtime/endpoints/load-express.cjs +35 -0
  221. package/dist/runtime/endpoints/load-express.cjs.map +1 -0
  222. package/dist/runtime/endpoints/load-express.mjs +34 -0
  223. package/dist/runtime/endpoints/load-express.mjs.map +1 -0
  224. package/dist/runtime/endpoints/node-fetch-handler.cjs +75 -0
  225. package/dist/runtime/endpoints/node-fetch-handler.cjs.map +1 -0
  226. package/dist/runtime/endpoints/node-fetch-handler.d.cts +11 -0
  227. package/dist/runtime/endpoints/node-fetch-handler.d.cts.map +1 -0
  228. package/dist/runtime/endpoints/node-fetch-handler.d.mts +11 -0
  229. package/dist/runtime/endpoints/node-fetch-handler.d.mts.map +1 -0
  230. package/dist/runtime/endpoints/node-fetch-handler.mjs +73 -0
  231. package/dist/runtime/endpoints/node-fetch-handler.mjs.map +1 -0
  232. package/dist/runtime/endpoints/node.cjs +16 -0
  233. package/dist/runtime/endpoints/node.cjs.map +1 -0
  234. package/dist/runtime/endpoints/node.d.cts +104 -0
  235. package/dist/runtime/endpoints/node.d.cts.map +1 -0
  236. package/dist/runtime/endpoints/node.d.mts +104 -0
  237. package/dist/runtime/endpoints/node.d.mts.map +1 -0
  238. package/dist/runtime/endpoints/node.mjs +16 -0
  239. package/dist/runtime/endpoints/node.mjs.map +1 -0
  240. package/dist/runtime/endpoints/single-route-helpers.cjs +130 -0
  241. package/dist/runtime/endpoints/single-route-helpers.cjs.map +1 -0
  242. package/dist/runtime/endpoints/single-route-helpers.mjs +125 -0
  243. package/dist/runtime/endpoints/single-route-helpers.mjs.map +1 -0
  244. package/dist/runtime/express.d.cts +2 -0
  245. package/dist/runtime/express.d.mts +2 -0
  246. package/dist/runtime/generative-ui/generative-ui-middleware.cjs +393 -0
  247. package/dist/runtime/generative-ui/generative-ui-middleware.cjs.map +1 -0
  248. package/dist/runtime/generative-ui/generative-ui-middleware.d.cts +20 -0
  249. package/dist/runtime/generative-ui/generative-ui-middleware.d.cts.map +1 -0
  250. package/dist/runtime/generative-ui/generative-ui-middleware.d.mts +20 -0
  251. package/dist/runtime/generative-ui/generative-ui-middleware.d.mts.map +1 -0
  252. package/dist/runtime/generative-ui/generative-ui-middleware.mjs +392 -0
  253. package/dist/runtime/generative-ui/generative-ui-middleware.mjs.map +1 -0
  254. package/dist/runtime/generative-ui/index.d.cts +2 -0
  255. package/dist/runtime/generative-ui/index.d.mts +2 -0
  256. package/dist/runtime/generative-ui/surface-writer.cjs +85 -0
  257. package/dist/runtime/generative-ui/surface-writer.cjs.map +1 -0
  258. package/dist/runtime/generative-ui/surface-writer.d.cts +32 -0
  259. package/dist/runtime/generative-ui/surface-writer.d.cts.map +1 -0
  260. package/dist/runtime/generative-ui/surface-writer.d.mts +32 -0
  261. package/dist/runtime/generative-ui/surface-writer.d.mts.map +1 -0
  262. package/dist/runtime/generative-ui/surface-writer.mjs +84 -0
  263. package/dist/runtime/generative-ui/surface-writer.mjs.map +1 -0
  264. package/dist/runtime/handlers/get-runtime-info.cjs +140 -0
  265. package/dist/runtime/handlers/get-runtime-info.cjs.map +1 -0
  266. package/dist/runtime/handlers/get-runtime-info.mjs +140 -0
  267. package/dist/runtime/handlers/get-runtime-info.mjs.map +1 -0
  268. package/dist/runtime/handlers/handle-connect.cjs +62 -0
  269. package/dist/runtime/handlers/handle-connect.cjs.map +1 -0
  270. package/dist/runtime/handlers/handle-connect.mjs +62 -0
  271. package/dist/runtime/handlers/handle-connect.mjs.map +1 -0
  272. package/dist/runtime/handlers/handle-debug-events.cjs +33 -0
  273. package/dist/runtime/handlers/handle-debug-events.cjs.map +1 -0
  274. package/dist/runtime/handlers/handle-debug-events.mjs +33 -0
  275. package/dist/runtime/handlers/handle-debug-events.mjs.map +1 -0
  276. package/dist/runtime/handlers/handle-inspector-learning.cjs +56 -0
  277. package/dist/runtime/handlers/handle-inspector-learning.cjs.map +1 -0
  278. package/dist/runtime/handlers/handle-inspector-learning.mjs +55 -0
  279. package/dist/runtime/handlers/handle-inspector-learning.mjs.map +1 -0
  280. package/dist/runtime/handlers/handle-inspector-metadata.cjs +36 -0
  281. package/dist/runtime/handlers/handle-inspector-metadata.cjs.map +1 -0
  282. package/dist/runtime/handlers/handle-inspector-metadata.mjs +35 -0
  283. package/dist/runtime/handlers/handle-inspector-metadata.mjs.map +1 -0
  284. package/dist/runtime/handlers/handle-run.cjs +111 -0
  285. package/dist/runtime/handlers/handle-run.cjs.map +1 -0
  286. package/dist/runtime/handlers/handle-run.mjs +110 -0
  287. package/dist/runtime/handlers/handle-run.mjs.map +1 -0
  288. package/dist/runtime/handlers/handle-stop.cjs +102 -0
  289. package/dist/runtime/handlers/handle-stop.cjs.map +1 -0
  290. package/dist/runtime/handlers/handle-stop.mjs +101 -0
  291. package/dist/runtime/handlers/handle-stop.mjs.map +1 -0
  292. package/dist/runtime/handlers/handle-suggest.cjs +83 -0
  293. package/dist/runtime/handlers/handle-suggest.cjs.map +1 -0
  294. package/dist/runtime/handlers/handle-suggest.mjs +82 -0
  295. package/dist/runtime/handlers/handle-suggest.mjs.map +1 -0
  296. package/dist/runtime/handlers/handle-trajectory-connect.cjs +40 -0
  297. package/dist/runtime/handlers/handle-trajectory-connect.cjs.map +1 -0
  298. package/dist/runtime/handlers/handle-trajectory-connect.mjs +39 -0
  299. package/dist/runtime/handlers/handle-trajectory-connect.mjs.map +1 -0
  300. package/dist/runtime/handlers/handle-transcribe.cjs +112 -0
  301. package/dist/runtime/handlers/handle-transcribe.cjs.map +1 -0
  302. package/dist/runtime/handlers/handle-transcribe.mjs +111 -0
  303. package/dist/runtime/handlers/handle-transcribe.mjs.map +1 -0
  304. package/dist/runtime/handlers/header-utils.cjs +185 -0
  305. package/dist/runtime/handlers/header-utils.cjs.map +1 -0
  306. package/dist/runtime/handlers/header-utils.d.cts +53 -0
  307. package/dist/runtime/handlers/header-utils.d.cts.map +1 -0
  308. package/dist/runtime/handlers/header-utils.d.mts +53 -0
  309. package/dist/runtime/handlers/header-utils.d.mts.map +1 -0
  310. package/dist/runtime/handlers/header-utils.mjs +183 -0
  311. package/dist/runtime/handlers/header-utils.mjs.map +1 -0
  312. package/dist/runtime/handlers/intelligence/annotate.cjs +83 -0
  313. package/dist/runtime/handlers/intelligence/annotate.cjs.map +1 -0
  314. package/dist/runtime/handlers/intelligence/annotate.mjs +82 -0
  315. package/dist/runtime/handlers/intelligence/annotate.mjs.map +1 -0
  316. package/dist/runtime/handlers/intelligence/connect.cjs +68 -0
  317. package/dist/runtime/handlers/intelligence/connect.cjs.map +1 -0
  318. package/dist/runtime/handlers/intelligence/connect.mjs +68 -0
  319. package/dist/runtime/handlers/intelligence/connect.mjs.map +1 -0
  320. package/dist/runtime/handlers/intelligence/memories.cjs +260 -0
  321. package/dist/runtime/handlers/intelligence/memories.cjs.map +1 -0
  322. package/dist/runtime/handlers/intelligence/memories.mjs +254 -0
  323. package/dist/runtime/handlers/intelligence/memories.mjs.map +1 -0
  324. package/dist/runtime/handlers/intelligence/run.cjs +283 -0
  325. package/dist/runtime/handlers/intelligence/run.cjs.map +1 -0
  326. package/dist/runtime/handlers/intelligence/run.mjs +282 -0
  327. package/dist/runtime/handlers/intelligence/run.mjs.map +1 -0
  328. package/dist/runtime/handlers/intelligence/thread-names.cjs +172 -0
  329. package/dist/runtime/handlers/intelligence/thread-names.cjs.map +1 -0
  330. package/dist/runtime/handlers/intelligence/thread-names.mjs +171 -0
  331. package/dist/runtime/handlers/intelligence/thread-names.mjs.map +1 -0
  332. package/dist/runtime/handlers/intelligence/threads.cjs +399 -0
  333. package/dist/runtime/handlers/intelligence/threads.cjs.map +1 -0
  334. package/dist/runtime/handlers/intelligence/threads.mjs +390 -0
  335. package/dist/runtime/handlers/intelligence/threads.mjs.map +1 -0
  336. package/dist/runtime/handlers/shared/agent-utils.cjs +267 -0
  337. package/dist/runtime/handlers/shared/agent-utils.cjs.map +1 -0
  338. package/dist/runtime/handlers/shared/agent-utils.mjs +262 -0
  339. package/dist/runtime/handlers/shared/agent-utils.mjs.map +1 -0
  340. package/dist/runtime/handlers/shared/cloud-telemetry.cjs +30 -0
  341. package/dist/runtime/handlers/shared/cloud-telemetry.cjs.map +1 -0
  342. package/dist/runtime/handlers/shared/cloud-telemetry.mjs +29 -0
  343. package/dist/runtime/handlers/shared/cloud-telemetry.mjs.map +1 -0
  344. package/dist/runtime/handlers/shared/describe-endpoint.cjs +25 -0
  345. package/dist/runtime/handlers/shared/describe-endpoint.cjs.map +1 -0
  346. package/dist/runtime/handlers/shared/describe-endpoint.mjs +24 -0
  347. package/dist/runtime/handlers/shared/describe-endpoint.mjs.map +1 -0
  348. package/dist/runtime/handlers/shared/intelligence-utils.cjs +24 -0
  349. package/dist/runtime/handlers/shared/intelligence-utils.cjs.map +1 -0
  350. package/dist/runtime/handlers/shared/intelligence-utils.mjs +23 -0
  351. package/dist/runtime/handlers/shared/intelligence-utils.mjs.map +1 -0
  352. package/dist/runtime/handlers/shared/json-response.cjs +14 -0
  353. package/dist/runtime/handlers/shared/json-response.cjs.map +1 -0
  354. package/dist/runtime/handlers/shared/json-response.mjs +12 -0
  355. package/dist/runtime/handlers/shared/json-response.mjs.map +1 -0
  356. package/dist/runtime/handlers/shared/mcp-apps-servers.cjs +22 -0
  357. package/dist/runtime/handlers/shared/mcp-apps-servers.cjs.map +1 -0
  358. package/dist/runtime/handlers/shared/mcp-apps-servers.mjs +22 -0
  359. package/dist/runtime/handlers/shared/mcp-apps-servers.mjs.map +1 -0
  360. package/dist/runtime/handlers/shared/memory-policy.cjs +78 -0
  361. package/dist/runtime/handlers/shared/memory-policy.cjs.map +1 -0
  362. package/dist/runtime/handlers/shared/memory-policy.mjs +77 -0
  363. package/dist/runtime/handlers/shared/memory-policy.mjs.map +1 -0
  364. package/dist/runtime/handlers/shared/platform-error.cjs +39 -0
  365. package/dist/runtime/handlers/shared/platform-error.cjs.map +1 -0
  366. package/dist/runtime/handlers/shared/platform-error.mjs +39 -0
  367. package/dist/runtime/handlers/shared/platform-error.mjs.map +1 -0
  368. package/dist/runtime/handlers/shared/resolve-intelligence-user.cjs +50 -0
  369. package/dist/runtime/handlers/shared/resolve-intelligence-user.cjs.map +1 -0
  370. package/dist/runtime/handlers/shared/resolve-intelligence-user.mjs +49 -0
  371. package/dist/runtime/handlers/shared/resolve-intelligence-user.mjs.map +1 -0
  372. package/dist/runtime/handlers/shared/sse-keep-alive.cjs +68 -0
  373. package/dist/runtime/handlers/shared/sse-keep-alive.cjs.map +1 -0
  374. package/dist/runtime/handlers/shared/sse-keep-alive.mjs +66 -0
  375. package/dist/runtime/handlers/shared/sse-keep-alive.mjs.map +1 -0
  376. package/dist/runtime/handlers/shared/sse-response.cjs +237 -0
  377. package/dist/runtime/handlers/shared/sse-response.cjs.map +1 -0
  378. package/dist/runtime/handlers/shared/sse-response.mjs +236 -0
  379. package/dist/runtime/handlers/shared/sse-response.mjs.map +1 -0
  380. package/dist/runtime/handlers/shared/thread-access.cjs +137 -0
  381. package/dist/runtime/handlers/shared/thread-access.cjs.map +1 -0
  382. package/dist/runtime/handlers/shared/thread-access.d.cts +28 -0
  383. package/dist/runtime/handlers/shared/thread-access.d.cts.map +1 -0
  384. package/dist/runtime/handlers/shared/thread-access.d.mts +28 -0
  385. package/dist/runtime/handlers/shared/thread-access.d.mts.map +1 -0
  386. package/dist/runtime/handlers/shared/thread-access.mjs +132 -0
  387. package/dist/runtime/handlers/shared/thread-access.mjs.map +1 -0
  388. package/dist/runtime/handlers/sse/connect.cjs +23 -0
  389. package/dist/runtime/handlers/sse/connect.cjs.map +1 -0
  390. package/dist/runtime/handlers/sse/connect.mjs +23 -0
  391. package/dist/runtime/handlers/sse/connect.mjs.map +1 -0
  392. package/dist/runtime/handlers/sse/run.cjs +44 -0
  393. package/dist/runtime/handlers/sse/run.cjs.map +1 -0
  394. package/dist/runtime/handlers/sse/run.mjs +44 -0
  395. package/dist/runtime/handlers/sse/run.mjs.map +1 -0
  396. package/dist/runtime/hono.d.cts +2 -0
  397. package/dist/runtime/hono.d.mts +2 -0
  398. package/dist/runtime/index.d.cts +34 -0
  399. package/dist/runtime/index.d.cts.map +1 -0
  400. package/dist/runtime/index.d.mts +34 -0
  401. package/dist/runtime/index.d.mts.map +1 -0
  402. package/dist/runtime/intelligence-platform/client.cjs +1338 -0
  403. package/dist/runtime/intelligence-platform/client.cjs.map +1 -0
  404. package/dist/runtime/intelligence-platform/client.d.cts +824 -0
  405. package/dist/runtime/intelligence-platform/client.d.cts.map +1 -0
  406. package/dist/runtime/intelligence-platform/client.d.mts +824 -0
  407. package/dist/runtime/intelligence-platform/client.d.mts.map +1 -0
  408. package/dist/runtime/intelligence-platform/client.mjs +1334 -0
  409. package/dist/runtime/intelligence-platform/client.mjs.map +1 -0
  410. package/dist/runtime/intelligence-platform/experimental.d.cts +26 -0
  411. package/dist/runtime/intelligence-platform/experimental.d.cts.map +1 -0
  412. package/dist/runtime/intelligence-platform/experimental.d.mts +26 -0
  413. package/dist/runtime/intelligence-platform/experimental.d.mts.map +1 -0
  414. package/dist/runtime/intelligence-platform/index.d.cts +3 -0
  415. package/dist/runtime/intelligence-platform/index.d.mts +3 -0
  416. package/dist/runtime/intelligence-platform/learned-skills.cjs +95 -0
  417. package/dist/runtime/intelligence-platform/learned-skills.cjs.map +1 -0
  418. package/dist/runtime/intelligence-platform/learned-skills.d.cts +43 -0
  419. package/dist/runtime/intelligence-platform/learned-skills.d.cts.map +1 -0
  420. package/dist/runtime/intelligence-platform/learned-skills.d.mts +43 -0
  421. package/dist/runtime/intelligence-platform/learned-skills.d.mts.map +1 -0
  422. package/dist/runtime/intelligence-platform/learned-skills.mjs +92 -0
  423. package/dist/runtime/intelligence-platform/learned-skills.mjs.map +1 -0
  424. package/dist/runtime/intelligence-platform/learning-management.cjs +203 -0
  425. package/dist/runtime/intelligence-platform/learning-management.cjs.map +1 -0
  426. package/dist/runtime/intelligence-platform/learning-management.d.cts +111 -0
  427. package/dist/runtime/intelligence-platform/learning-management.d.cts.map +1 -0
  428. package/dist/runtime/intelligence-platform/learning-management.d.mts +111 -0
  429. package/dist/runtime/intelligence-platform/learning-management.d.mts.map +1 -0
  430. package/dist/runtime/intelligence-platform/learning-management.mjs +193 -0
  431. package/dist/runtime/intelligence-platform/learning-management.mjs.map +1 -0
  432. package/dist/runtime/intelligence-platform/skill-registry/archive.cjs +131 -0
  433. package/dist/runtime/intelligence-platform/skill-registry/archive.cjs.map +1 -0
  434. package/dist/runtime/intelligence-platform/skill-registry/archive.d.cts +10 -0
  435. package/dist/runtime/intelligence-platform/skill-registry/archive.d.cts.map +1 -0
  436. package/dist/runtime/intelligence-platform/skill-registry/archive.d.mts +10 -0
  437. package/dist/runtime/intelligence-platform/skill-registry/archive.d.mts.map +1 -0
  438. package/dist/runtime/intelligence-platform/skill-registry/archive.mjs +127 -0
  439. package/dist/runtime/intelligence-platform/skill-registry/archive.mjs.map +1 -0
  440. package/dist/runtime/intelligence-platform/skill-registry/config.cjs +65 -0
  441. package/dist/runtime/intelligence-platform/skill-registry/config.cjs.map +1 -0
  442. package/dist/runtime/intelligence-platform/skill-registry/config.d.cts +47 -0
  443. package/dist/runtime/intelligence-platform/skill-registry/config.d.cts.map +1 -0
  444. package/dist/runtime/intelligence-platform/skill-registry/config.d.mts +47 -0
  445. package/dist/runtime/intelligence-platform/skill-registry/config.d.mts.map +1 -0
  446. package/dist/runtime/intelligence-platform/skill-registry/config.mjs +65 -0
  447. package/dist/runtime/intelligence-platform/skill-registry/config.mjs.map +1 -0
  448. package/dist/runtime/intelligence-platform/skill-registry/errors.cjs +10 -0
  449. package/dist/runtime/intelligence-platform/skill-registry/errors.cjs.map +1 -0
  450. package/dist/runtime/intelligence-platform/skill-registry/errors.d.cts +7 -0
  451. package/dist/runtime/intelligence-platform/skill-registry/errors.d.cts.map +1 -0
  452. package/dist/runtime/intelligence-platform/skill-registry/errors.d.mts +7 -0
  453. package/dist/runtime/intelligence-platform/skill-registry/errors.d.mts.map +1 -0
  454. package/dist/runtime/intelligence-platform/skill-registry/errors.mjs +10 -0
  455. package/dist/runtime/intelligence-platform/skill-registry/errors.mjs.map +1 -0
  456. package/dist/runtime/intelligence-platform/skill-registry/index.d.cts +7 -0
  457. package/dist/runtime/intelligence-platform/skill-registry/index.d.mts +7 -0
  458. package/dist/runtime/intelligence-platform/skill-registry/registry.cjs +247 -0
  459. package/dist/runtime/intelligence-platform/skill-registry/registry.cjs.map +1 -0
  460. package/dist/runtime/intelligence-platform/skill-registry/registry.d.cts +36 -0
  461. package/dist/runtime/intelligence-platform/skill-registry/registry.d.cts.map +1 -0
  462. package/dist/runtime/intelligence-platform/skill-registry/registry.d.mts +36 -0
  463. package/dist/runtime/intelligence-platform/skill-registry/registry.d.mts.map +1 -0
  464. package/dist/runtime/intelligence-platform/skill-registry/registry.mjs +246 -0
  465. package/dist/runtime/intelligence-platform/skill-registry/registry.mjs.map +1 -0
  466. package/dist/runtime/intelligence-platform/skill-registry/skill-content.cjs +41 -0
  467. package/dist/runtime/intelligence-platform/skill-registry/skill-content.cjs.map +1 -0
  468. package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.cts +12 -0
  469. package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.cts.map +1 -0
  470. package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.mts +12 -0
  471. package/dist/runtime/intelligence-platform/skill-registry/skill-content.d.mts.map +1 -0
  472. package/dist/runtime/intelligence-platform/skill-registry/skill-content.mjs +38 -0
  473. package/dist/runtime/intelligence-platform/skill-registry/skill-content.mjs.map +1 -0
  474. package/dist/runtime/intelligence-platform/skill-registry/snapshot.cjs +92 -0
  475. package/dist/runtime/intelligence-platform/skill-registry/snapshot.cjs.map +1 -0
  476. package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.cts +27 -0
  477. package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.cts.map +1 -0
  478. package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.mts +27 -0
  479. package/dist/runtime/intelligence-platform/skill-registry/snapshot.d.mts.map +1 -0
  480. package/dist/runtime/intelligence-platform/skill-registry/snapshot.mjs +91 -0
  481. package/dist/runtime/intelligence-platform/skill-registry/snapshot.mjs.map +1 -0
  482. package/dist/runtime/intelligence-platform/thread-lock-heartbeat.cjs +142 -0
  483. package/dist/runtime/intelligence-platform/thread-lock-heartbeat.cjs.map +1 -0
  484. package/dist/runtime/intelligence-platform/thread-lock-heartbeat.mjs +141 -0
  485. package/dist/runtime/intelligence-platform/thread-lock-heartbeat.mjs.map +1 -0
  486. package/dist/runtime/intelligence-platform/trajectories.cjs +95 -0
  487. package/dist/runtime/intelligence-platform/trajectories.cjs.map +1 -0
  488. package/dist/runtime/intelligence-platform/trajectories.d.cts +11 -0
  489. package/dist/runtime/intelligence-platform/trajectories.d.cts.map +1 -0
  490. package/dist/runtime/intelligence-platform/trajectories.d.mts +11 -0
  491. package/dist/runtime/intelligence-platform/trajectories.d.mts.map +1 -0
  492. package/dist/runtime/intelligence-platform/trajectories.mjs +91 -0
  493. package/dist/runtime/intelligence-platform/trajectories.mjs.map +1 -0
  494. package/dist/runtime/node.d.cts +2 -0
  495. package/dist/runtime/node.d.mts +2 -0
  496. package/dist/runtime/runner/agent-runner.cjs +82 -0
  497. package/dist/runtime/runner/agent-runner.cjs.map +1 -0
  498. package/dist/runtime/runner/agent-runner.d.cts +151 -0
  499. package/dist/runtime/runner/agent-runner.d.cts.map +1 -0
  500. package/dist/runtime/runner/agent-runner.d.mts +151 -0
  501. package/dist/runtime/runner/agent-runner.d.mts.map +1 -0
  502. package/dist/runtime/runner/agent-runner.mjs +73 -0
  503. package/dist/runtime/runner/agent-runner.mjs.map +1 -0
  504. package/dist/runtime/runner/in-memory.cjs +741 -0
  505. package/dist/runtime/runner/in-memory.cjs.map +1 -0
  506. package/dist/runtime/runner/in-memory.d.cts +427 -0
  507. package/dist/runtime/runner/in-memory.d.cts.map +1 -0
  508. package/dist/runtime/runner/in-memory.d.mts +427 -0
  509. package/dist/runtime/runner/in-memory.d.mts.map +1 -0
  510. package/dist/runtime/runner/in-memory.mjs +734 -0
  511. package/dist/runtime/runner/in-memory.mjs.map +1 -0
  512. package/dist/runtime/runner/index.d.cts +5 -0
  513. package/dist/runtime/runner/index.d.mts +5 -0
  514. package/dist/runtime/runner/index.mjs +6 -0
  515. package/dist/runtime/runner/intelligence.cjs +617 -0
  516. package/dist/runtime/runner/intelligence.cjs.map +1 -0
  517. package/dist/runtime/runner/intelligence.d.cts +104 -0
  518. package/dist/runtime/runner/intelligence.d.cts.map +1 -0
  519. package/dist/runtime/runner/intelligence.d.mts +104 -0
  520. package/dist/runtime/runner/intelligence.d.mts.map +1 -0
  521. package/dist/runtime/runner/intelligence.mjs +616 -0
  522. package/dist/runtime/runner/intelligence.mjs.map +1 -0
  523. package/dist/runtime/telemetry/disclosure.cjs +25 -0
  524. package/dist/runtime/telemetry/disclosure.cjs.map +1 -0
  525. package/dist/runtime/telemetry/disclosure.mjs +24 -0
  526. package/dist/runtime/telemetry/disclosure.mjs.map +1 -0
  527. package/dist/runtime/telemetry/events.d.cts +66 -0
  528. package/dist/runtime/telemetry/events.d.cts.map +1 -0
  529. package/dist/runtime/telemetry/events.d.mts +66 -0
  530. package/dist/runtime/telemetry/events.d.mts.map +1 -0
  531. package/dist/runtime/telemetry/instance-created.cjs +34 -0
  532. package/dist/runtime/telemetry/instance-created.cjs.map +1 -0
  533. package/dist/runtime/telemetry/instance-created.mjs +34 -0
  534. package/dist/runtime/telemetry/instance-created.mjs.map +1 -0
  535. package/dist/runtime/telemetry/telemetry-client.cjs +108 -0
  536. package/dist/runtime/telemetry/telemetry-client.cjs.map +1 -0
  537. package/dist/runtime/telemetry/telemetry-client.d.cts +10 -0
  538. package/dist/runtime/telemetry/telemetry-client.d.cts.map +1 -0
  539. package/dist/runtime/telemetry/telemetry-client.d.mts +10 -0
  540. package/dist/runtime/telemetry/telemetry-client.d.mts.map +1 -0
  541. package/dist/runtime/telemetry/telemetry-client.mjs +107 -0
  542. package/dist/runtime/telemetry/telemetry-client.mjs.map +1 -0
  543. package/dist/runtime/telemetry/telemetry-identity.cjs +12 -0
  544. package/dist/runtime/telemetry/telemetry-identity.cjs.map +1 -0
  545. package/dist/runtime/telemetry/telemetry-identity.mjs +11 -0
  546. package/dist/runtime/telemetry/telemetry-identity.mjs.map +1 -0
  547. package/dist/runtime/transcription-service/transcription-service.cjs +7 -0
  548. package/dist/runtime/transcription-service/transcription-service.cjs.map +1 -0
  549. package/dist/runtime/transcription-service/transcription-service.d.cts +14 -0
  550. package/dist/runtime/transcription-service/transcription-service.d.cts.map +1 -0
  551. package/dist/runtime/transcription-service/transcription-service.d.mts +14 -0
  552. package/dist/runtime/transcription-service/transcription-service.d.mts.map +1 -0
  553. package/dist/runtime/transcription-service/transcription-service.mjs +6 -0
  554. package/dist/runtime/transcription-service/transcription-service.mjs.map +1 -0
  555. package/package.json +119 -104
  556. package/.eslintrc.js +0 -7
  557. package/CHANGELOG.md +0 -2920
  558. package/__snapshots__/schema/schema.graphql +0 -371
  559. package/dist/index.d.ts +0 -1494
  560. package/dist/index.js +0 -5641
  561. package/dist/index.js.map +0 -1
  562. package/dist/index.mjs.map +0 -1
  563. package/dist/langgraph.d.ts +0 -284
  564. package/dist/langgraph.js +0 -211
  565. package/dist/langgraph.js.map +0 -1
  566. package/dist/langgraph.mjs +0 -206
  567. package/dist/langgraph.mjs.map +0 -1
  568. package/dist/v2/index.d.ts +0 -2
  569. package/dist/v2/index.js +0 -22
  570. package/dist/v2/index.js.map +0 -1
  571. package/dist/v2/index.mjs +0 -5
  572. package/dist/v2/index.mjs.map +0 -1
  573. package/jest.config.js +0 -10
  574. package/scripts/generate-gql-schema.ts +0 -13
  575. package/src/agents/langgraph/event-source.ts +0 -329
  576. package/src/agents/langgraph/events.ts +0 -377
  577. package/src/graphql/inputs/action.input.ts +0 -16
  578. package/src/graphql/inputs/agent-session.input.ts +0 -13
  579. package/src/graphql/inputs/agent-state.input.ts +0 -13
  580. package/src/graphql/inputs/cloud-guardrails.input.ts +0 -16
  581. package/src/graphql/inputs/cloud.input.ts +0 -8
  582. package/src/graphql/inputs/context-property.input.ts +0 -10
  583. package/src/graphql/inputs/copilot-context.input.ts +0 -10
  584. package/src/graphql/inputs/custom-property.input.ts +0 -15
  585. package/src/graphql/inputs/extensions.input.ts +0 -21
  586. package/src/graphql/inputs/forwarded-parameters.input.ts +0 -22
  587. package/src/graphql/inputs/frontend.input.ts +0 -14
  588. package/src/graphql/inputs/generate-copilot-response.input.ts +0 -59
  589. package/src/graphql/inputs/load-agent-state.input.ts +0 -10
  590. package/src/graphql/inputs/message.input.ts +0 -110
  591. package/src/graphql/inputs/meta-event.input.ts +0 -18
  592. package/src/graphql/message-conversion/agui-to-gql.test.ts +0 -1263
  593. package/src/graphql/message-conversion/agui-to-gql.ts +0 -333
  594. package/src/graphql/message-conversion/gql-to-agui.test.ts +0 -1580
  595. package/src/graphql/message-conversion/gql-to-agui.ts +0 -278
  596. package/src/graphql/message-conversion/index.ts +0 -2
  597. package/src/graphql/message-conversion/roundtrip-conversion.test.ts +0 -526
  598. package/src/graphql/resolvers/copilot.resolver.ts +0 -708
  599. package/src/graphql/resolvers/state.resolver.ts +0 -27
  600. package/src/graphql/types/agents-response.type.ts +0 -19
  601. package/src/graphql/types/base/index.ts +0 -10
  602. package/src/graphql/types/converted/index.ts +0 -176
  603. package/src/graphql/types/copilot-response.type.ts +0 -138
  604. package/src/graphql/types/enums.ts +0 -38
  605. package/src/graphql/types/extensions-response.type.ts +0 -23
  606. package/src/graphql/types/guardrails-result.type.ts +0 -20
  607. package/src/graphql/types/load-agent-state-response.type.ts +0 -17
  608. package/src/graphql/types/message-status.type.ts +0 -42
  609. package/src/graphql/types/meta-events.type.ts +0 -71
  610. package/src/graphql/types/response-status.type.ts +0 -66
  611. package/src/index.ts +0 -4
  612. package/src/langgraph.ts +0 -1
  613. package/src/lib/cloud/index.ts +0 -4
  614. package/src/lib/error-messages.ts +0 -200
  615. package/src/lib/index.ts +0 -52
  616. package/src/lib/integrations/index.ts +0 -6
  617. package/src/lib/integrations/nest/index.ts +0 -14
  618. package/src/lib/integrations/nextjs/app-router.ts +0 -38
  619. package/src/lib/integrations/nextjs/pages-router.ts +0 -39
  620. package/src/lib/integrations/node-express/index.ts +0 -14
  621. package/src/lib/integrations/node-http/index.ts +0 -143
  622. package/src/lib/integrations/node-http/request-handler.ts +0 -111
  623. package/src/lib/integrations/shared.ts +0 -161
  624. package/src/lib/logger.ts +0 -28
  625. package/src/lib/observability.ts +0 -160
  626. package/src/lib/runtime/__tests__/copilot-runtime-error.test.ts +0 -169
  627. package/src/lib/runtime/__tests__/mcp-tools-utils.test.ts +0 -464
  628. package/src/lib/runtime/agent-integrations/langgraph/agent.ts +0 -209
  629. package/src/lib/runtime/agent-integrations/langgraph/consts.ts +0 -34
  630. package/src/lib/runtime/agent-integrations/langgraph/index.ts +0 -2
  631. package/src/lib/runtime/copilot-runtime.ts +0 -710
  632. package/src/lib/runtime/mcp-tools-utils.ts +0 -254
  633. package/src/lib/runtime/retry-utils.ts +0 -96
  634. package/src/lib/runtime/telemetry-agent-runner.ts +0 -139
  635. package/src/lib/runtime/types.ts +0 -49
  636. package/src/lib/runtime/utils.ts +0 -87
  637. package/src/lib/streaming.ts +0 -202
  638. package/src/lib/telemetry-client.ts +0 -64
  639. package/src/service-adapters/anthropic/anthropic-adapter.ts +0 -452
  640. package/src/service-adapters/anthropic/utils.ts +0 -152
  641. package/src/service-adapters/bedrock/bedrock-adapter.ts +0 -73
  642. package/src/service-adapters/conversion.ts +0 -67
  643. package/src/service-adapters/empty/empty-adapter.ts +0 -38
  644. package/src/service-adapters/events.ts +0 -294
  645. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +0 -84
  646. package/src/service-adapters/google/google-genai-adapter.test.ts +0 -104
  647. package/src/service-adapters/google/google-genai-adapter.ts +0 -88
  648. package/src/service-adapters/groq/groq-adapter.ts +0 -203
  649. package/src/service-adapters/index.ts +0 -18
  650. package/src/service-adapters/langchain/langchain-adapter.ts +0 -111
  651. package/src/service-adapters/langchain/langserve.ts +0 -88
  652. package/src/service-adapters/langchain/types.ts +0 -14
  653. package/src/service-adapters/langchain/utils.ts +0 -313
  654. package/src/service-adapters/openai/openai-adapter.ts +0 -283
  655. package/src/service-adapters/openai/openai-assistant-adapter.ts +0 -344
  656. package/src/service-adapters/openai/utils.ts +0 -199
  657. package/src/service-adapters/service-adapter.ts +0 -41
  658. package/src/service-adapters/shared/error-utils.ts +0 -61
  659. package/src/service-adapters/shared/index.ts +0 -1
  660. package/src/service-adapters/unify/unify-adapter.ts +0 -151
  661. package/src/utils/failed-response-status-reasons.ts +0 -70
  662. package/src/utils/index.ts +0 -1
  663. package/src/v2/index.ts +0 -3
  664. package/tests/global.d.ts +0 -13
  665. package/tests/service-adapters/anthropic/allowlist-approach.test.ts +0 -226
  666. package/tests/service-adapters/anthropic/anthropic-adapter.test.ts +0 -389
  667. package/tests/service-adapters/openai/allowlist-approach.test.ts +0 -238
  668. package/tests/service-adapters/openai/openai-adapter.test.ts +0 -301
  669. package/tests/setup.jest.ts +0 -21
  670. package/tests/tsconfig.json +0 -10
  671. package/tsconfig.json +0 -13
  672. package/tsup.config.ts +0 -20
  673. 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":"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"}