@copilotkit/runtime 1.55.0-next.8 → 1.55.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 (345) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/agent/index.cjs +101 -12
  3. package/dist/agent/index.cjs.map +1 -1
  4. package/dist/agent/index.d.cts.map +1 -1
  5. package/dist/agent/index.d.mts.map +1 -1
  6. package/dist/agent/index.mjs +102 -13
  7. package/dist/agent/index.mjs.map +1 -1
  8. package/dist/lib/runtime/agent-integrations/langgraph/agent.cjs.map +1 -1
  9. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts +4 -841
  10. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts.map +1 -1
  11. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.mts +4 -841
  12. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.mts.map +1 -1
  13. package/dist/lib/runtime/agent-integrations/langgraph/agent.mjs.map +1 -1
  14. package/dist/lib/runtime/copilot-runtime.cjs +3 -2
  15. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  16. package/dist/lib/runtime/copilot-runtime.d.cts +1 -1
  17. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  18. package/dist/lib/runtime/copilot-runtime.d.mts +3 -3
  19. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  20. package/dist/lib/runtime/copilot-runtime.mjs +3 -2
  21. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  22. package/dist/package.cjs +70 -47
  23. package/dist/package.mjs +70 -47
  24. package/dist/v2/express.cjs +8 -0
  25. package/dist/v2/express.d.cts +5 -0
  26. package/dist/v2/express.d.mts +5 -0
  27. package/dist/v2/express.mjs +5 -0
  28. package/dist/v2/hono.cjs +9 -0
  29. package/dist/v2/hono.d.cts +5 -0
  30. package/dist/v2/hono.d.mts +5 -0
  31. package/dist/v2/hono.mjs +5 -0
  32. package/dist/v2/index.cjs +8 -3
  33. package/dist/v2/index.d.cts +8 -5
  34. package/dist/v2/index.d.mts +8 -5
  35. package/dist/v2/index.mjs +5 -4
  36. package/dist/v2/node.cjs +8 -0
  37. package/dist/v2/node.d.cts +5 -0
  38. package/dist/v2/node.d.mts +5 -0
  39. package/dist/v2/node.mjs +5 -0
  40. package/dist/v2/runtime/core/fetch-cors.cjs +72 -0
  41. package/dist/v2/runtime/core/fetch-cors.cjs.map +1 -0
  42. package/dist/v2/runtime/core/fetch-cors.d.cts +20 -0
  43. package/dist/v2/runtime/core/fetch-cors.d.cts.map +1 -0
  44. package/dist/v2/runtime/core/fetch-cors.d.mts +20 -0
  45. package/dist/v2/runtime/core/fetch-cors.d.mts.map +1 -0
  46. package/dist/v2/runtime/core/fetch-cors.mjs +70 -0
  47. package/dist/v2/runtime/core/fetch-cors.mjs.map +1 -0
  48. package/dist/v2/runtime/core/fetch-handler.cjs +232 -0
  49. package/dist/v2/runtime/core/fetch-handler.cjs.map +1 -0
  50. package/dist/v2/runtime/core/fetch-handler.d.cts +40 -0
  51. package/dist/v2/runtime/core/fetch-handler.d.cts.map +1 -0
  52. package/dist/v2/runtime/core/fetch-handler.d.mts +40 -0
  53. package/dist/v2/runtime/core/fetch-handler.d.mts.map +1 -0
  54. package/dist/v2/runtime/core/fetch-handler.mjs +231 -0
  55. package/dist/v2/runtime/core/fetch-handler.mjs.map +1 -0
  56. package/dist/v2/runtime/core/fetch-router.cjs +68 -0
  57. package/dist/v2/runtime/core/fetch-router.cjs.map +1 -0
  58. package/dist/v2/runtime/core/fetch-router.mjs +67 -0
  59. package/dist/v2/runtime/core/fetch-router.mjs.map +1 -0
  60. package/dist/v2/runtime/core/hooks.cjs +29 -0
  61. package/dist/v2/runtime/core/hooks.cjs.map +1 -0
  62. package/dist/v2/runtime/core/hooks.d.cts +78 -0
  63. package/dist/v2/runtime/core/hooks.d.cts.map +1 -0
  64. package/dist/v2/runtime/core/hooks.d.mts +78 -0
  65. package/dist/v2/runtime/core/hooks.d.mts.map +1 -0
  66. package/dist/v2/runtime/core/hooks.mjs +25 -0
  67. package/dist/v2/runtime/core/hooks.mjs.map +1 -0
  68. package/dist/v2/runtime/{middleware-sse-parser.cjs → core/middleware-sse-parser.cjs} +2 -2
  69. package/dist/v2/runtime/core/middleware-sse-parser.cjs.map +1 -0
  70. package/dist/v2/runtime/{middleware-sse-parser.d.cts → core/middleware-sse-parser.d.cts} +1 -1
  71. package/dist/v2/runtime/core/middleware-sse-parser.d.cts.map +1 -0
  72. package/dist/v2/runtime/{middleware-sse-parser.d.mts → core/middleware-sse-parser.d.mts} +1 -1
  73. package/dist/v2/runtime/core/middleware-sse-parser.d.mts.map +1 -0
  74. package/dist/v2/runtime/{middleware-sse-parser.mjs → core/middleware-sse-parser.mjs} +1 -1
  75. package/dist/v2/runtime/core/middleware-sse-parser.mjs.map +1 -0
  76. package/dist/v2/runtime/{middleware.cjs → core/middleware.cjs} +2 -2
  77. package/dist/v2/runtime/core/middleware.cjs.map +1 -0
  78. package/dist/v2/runtime/{middleware.d.cts → core/middleware.d.cts} +1 -1
  79. package/dist/v2/runtime/core/middleware.d.cts.map +1 -0
  80. package/dist/v2/runtime/{middleware.d.mts → core/middleware.d.mts} +1 -1
  81. package/dist/v2/runtime/core/middleware.d.mts.map +1 -0
  82. package/dist/v2/runtime/{middleware.mjs → core/middleware.mjs} +1 -1
  83. package/dist/v2/runtime/core/middleware.mjs.map +1 -0
  84. package/dist/v2/runtime/{runtime.cjs → core/runtime.cjs} +35 -10
  85. package/dist/v2/runtime/core/runtime.cjs.map +1 -0
  86. package/dist/v2/runtime/{runtime.d.cts → core/runtime.d.cts} +41 -7
  87. package/dist/v2/runtime/core/runtime.d.cts.map +1 -0
  88. package/dist/v2/runtime/{runtime.d.mts → core/runtime.d.mts} +42 -8
  89. package/dist/v2/runtime/core/runtime.d.mts.map +1 -0
  90. package/dist/v2/runtime/{runtime.mjs → core/runtime.mjs} +36 -11
  91. package/dist/v2/runtime/core/runtime.mjs.map +1 -0
  92. package/dist/v2/runtime/endpoints/express-fetch-bridge.cjs +83 -0
  93. package/dist/v2/runtime/endpoints/express-fetch-bridge.cjs.map +1 -0
  94. package/dist/v2/runtime/endpoints/express-fetch-bridge.mjs +82 -0
  95. package/dist/v2/runtime/endpoints/express-fetch-bridge.mjs.map +1 -0
  96. package/dist/v2/runtime/endpoints/express-single.cjs +35 -181
  97. package/dist/v2/runtime/endpoints/express-single.cjs.map +1 -1
  98. package/dist/v2/runtime/endpoints/express-single.d.cts +35 -2
  99. package/dist/v2/runtime/endpoints/express-single.d.cts.map +1 -1
  100. package/dist/v2/runtime/endpoints/express-single.d.mts +35 -2
  101. package/dist/v2/runtime/endpoints/express-single.d.mts.map +1 -1
  102. package/dist/v2/runtime/endpoints/express-single.mjs +35 -178
  103. package/dist/v2/runtime/endpoints/express-single.mjs.map +1 -1
  104. package/dist/v2/runtime/endpoints/express.cjs +41 -195
  105. package/dist/v2/runtime/endpoints/express.cjs.map +1 -1
  106. package/dist/v2/runtime/endpoints/express.d.cts +26 -4
  107. package/dist/v2/runtime/endpoints/express.d.cts.map +1 -1
  108. package/dist/v2/runtime/endpoints/express.d.mts +26 -4
  109. package/dist/v2/runtime/endpoints/express.d.mts.map +1 -1
  110. package/dist/v2/runtime/endpoints/express.mjs +41 -195
  111. package/dist/v2/runtime/endpoints/express.mjs.map +1 -1
  112. package/dist/v2/runtime/endpoints/hono-single.cjs +11 -123
  113. package/dist/v2/runtime/endpoints/hono-single.cjs.map +1 -1
  114. package/dist/v2/runtime/endpoints/hono-single.d.cts +14 -11
  115. package/dist/v2/runtime/endpoints/hono-single.d.cts.map +1 -1
  116. package/dist/v2/runtime/endpoints/hono-single.d.mts +14 -11
  117. package/dist/v2/runtime/endpoints/hono-single.d.mts.map +1 -1
  118. package/dist/v2/runtime/endpoints/hono-single.mjs +11 -123
  119. package/dist/v2/runtime/endpoints/hono-single.mjs.map +1 -1
  120. package/dist/v2/runtime/endpoints/hono.cjs +23 -237
  121. package/dist/v2/runtime/endpoints/hono.cjs.map +1 -1
  122. package/dist/v2/runtime/endpoints/hono.d.cts +29 -120
  123. package/dist/v2/runtime/endpoints/hono.d.cts.map +1 -1
  124. package/dist/v2/runtime/endpoints/hono.d.mts +29 -120
  125. package/dist/v2/runtime/endpoints/hono.d.mts.map +1 -1
  126. package/dist/v2/runtime/endpoints/hono.mjs +22 -238
  127. package/dist/v2/runtime/endpoints/hono.mjs.map +1 -1
  128. package/dist/v2/runtime/endpoints/index.d.cts +2 -2
  129. package/dist/v2/runtime/endpoints/index.d.mts +2 -2
  130. package/dist/v2/runtime/endpoints/node-fetch-handler.cjs +26 -0
  131. package/dist/v2/runtime/endpoints/node-fetch-handler.cjs.map +1 -0
  132. package/dist/v2/runtime/endpoints/node-fetch-handler.d.cts +12 -0
  133. package/dist/v2/runtime/endpoints/node-fetch-handler.d.cts.map +1 -0
  134. package/dist/v2/runtime/endpoints/node-fetch-handler.d.mts +12 -0
  135. package/dist/v2/runtime/endpoints/node-fetch-handler.d.mts.map +1 -0
  136. package/dist/v2/runtime/endpoints/node-fetch-handler.mjs +24 -0
  137. package/dist/v2/runtime/endpoints/node-fetch-handler.mjs.map +1 -0
  138. package/dist/v2/runtime/endpoints/node.cjs +30 -0
  139. package/dist/v2/runtime/endpoints/node.cjs.map +1 -0
  140. package/dist/v2/runtime/endpoints/node.d.cts +27 -0
  141. package/dist/v2/runtime/endpoints/node.d.cts.map +1 -0
  142. package/dist/v2/runtime/endpoints/node.d.mts +27 -0
  143. package/dist/v2/runtime/endpoints/node.d.mts.map +1 -0
  144. package/dist/v2/runtime/endpoints/node.mjs +30 -0
  145. package/dist/v2/runtime/endpoints/node.mjs.map +1 -0
  146. package/dist/v2/runtime/express.d.cts +3 -0
  147. package/dist/v2/runtime/express.d.mts +3 -0
  148. package/dist/v2/runtime/handlers/get-runtime-info.cjs +2 -1
  149. package/dist/v2/runtime/handlers/get-runtime-info.cjs.map +1 -1
  150. package/dist/v2/runtime/handlers/get-runtime-info.mjs +2 -1
  151. package/dist/v2/runtime/handlers/get-runtime-info.mjs.map +1 -1
  152. package/dist/v2/runtime/handlers/handle-connect.cjs +6 -3
  153. package/dist/v2/runtime/handlers/handle-connect.cjs.map +1 -1
  154. package/dist/v2/runtime/handlers/handle-connect.mjs +6 -3
  155. package/dist/v2/runtime/handlers/handle-connect.mjs.map +1 -1
  156. package/dist/v2/runtime/handlers/handle-run.cjs +6 -3
  157. package/dist/v2/runtime/handlers/handle-run.cjs.map +1 -1
  158. package/dist/v2/runtime/handlers/handle-run.mjs +6 -3
  159. package/dist/v2/runtime/handlers/handle-run.mjs.map +1 -1
  160. package/dist/v2/runtime/handlers/handle-stop.cjs.map +1 -1
  161. package/dist/v2/runtime/handlers/handle-stop.mjs.map +1 -1
  162. package/dist/v2/runtime/handlers/handle-transcribe.cjs.map +1 -1
  163. package/dist/v2/runtime/handlers/handle-transcribe.mjs.map +1 -1
  164. package/dist/v2/runtime/handlers/intelligence/connect.cjs.map +1 -1
  165. package/dist/v2/runtime/handlers/intelligence/connect.mjs.map +1 -1
  166. package/dist/v2/runtime/handlers/intelligence/run.cjs +22 -1
  167. package/dist/v2/runtime/handlers/intelligence/run.cjs.map +1 -1
  168. package/dist/v2/runtime/handlers/intelligence/run.mjs +22 -1
  169. package/dist/v2/runtime/handlers/intelligence/run.mjs.map +1 -1
  170. package/dist/v2/runtime/handlers/intelligence/thread-names.cjs +1 -1
  171. package/dist/v2/runtime/handlers/intelligence/thread-names.cjs.map +1 -1
  172. package/dist/v2/runtime/handlers/intelligence/thread-names.mjs +1 -1
  173. package/dist/v2/runtime/handlers/intelligence/thread-names.mjs.map +1 -1
  174. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +21 -6
  175. package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
  176. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +21 -6
  177. package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
  178. package/dist/v2/runtime/handlers/shared/json-response.cjs +4 -1
  179. package/dist/v2/runtime/handlers/shared/json-response.cjs.map +1 -1
  180. package/dist/v2/runtime/handlers/shared/json-response.mjs +4 -1
  181. package/dist/v2/runtime/handlers/shared/json-response.mjs.map +1 -1
  182. package/dist/v2/runtime/handlers/shared/resolve-intelligence-user.cjs.map +1 -1
  183. package/dist/v2/runtime/handlers/shared/resolve-intelligence-user.mjs.map +1 -1
  184. package/dist/v2/runtime/handlers/sse/connect.cjs.map +1 -1
  185. package/dist/v2/runtime/handlers/sse/connect.mjs.map +1 -1
  186. package/dist/v2/runtime/handlers/sse/run.cjs.map +1 -1
  187. package/dist/v2/runtime/handlers/sse/run.mjs.map +1 -1
  188. package/dist/v2/runtime/hono.d.cts +3 -0
  189. package/dist/v2/runtime/hono.d.mts +3 -0
  190. package/dist/v2/runtime/index.d.cts +16 -4
  191. package/dist/v2/runtime/index.d.cts.map +1 -0
  192. package/dist/v2/runtime/index.d.mts +16 -4
  193. package/dist/v2/runtime/index.d.mts.map +1 -0
  194. package/dist/v2/runtime/intelligence-platform/client.cjs +10 -1
  195. package/dist/v2/runtime/intelligence-platform/client.cjs.map +1 -1
  196. package/dist/v2/runtime/intelligence-platform/client.d.cts +22 -0
  197. package/dist/v2/runtime/intelligence-platform/client.d.cts.map +1 -1
  198. package/dist/v2/runtime/intelligence-platform/client.d.mts +22 -0
  199. package/dist/v2/runtime/intelligence-platform/client.d.mts.map +1 -1
  200. package/dist/v2/runtime/intelligence-platform/client.mjs +10 -1
  201. package/dist/v2/runtime/intelligence-platform/client.mjs.map +1 -1
  202. package/dist/v2/runtime/node.d.cts +3 -0
  203. package/dist/v2/runtime/node.d.mts +3 -0
  204. package/dist/v2/runtime/open-generative-ui-middleware.cjs +282 -0
  205. package/dist/v2/runtime/open-generative-ui-middleware.cjs.map +1 -0
  206. package/dist/v2/runtime/open-generative-ui-middleware.mjs +280 -0
  207. package/dist/v2/runtime/open-generative-ui-middleware.mjs.map +1 -0
  208. package/dist/v2/runtime/runner/intelligence.cjs +4 -4
  209. package/dist/v2/runtime/runner/intelligence.cjs.map +1 -1
  210. package/dist/v2/runtime/runner/intelligence.d.cts +6 -2
  211. package/dist/v2/runtime/runner/intelligence.d.cts.map +1 -1
  212. package/dist/v2/runtime/runner/intelligence.d.mts +6 -2
  213. package/dist/v2/runtime/runner/intelligence.d.mts.map +1 -1
  214. package/dist/v2/runtime/runner/intelligence.mjs +4 -4
  215. package/dist/v2/runtime/runner/intelligence.mjs.map +1 -1
  216. package/dist/v2/runtime/telemetry/telemetry-client.cjs +37 -0
  217. package/dist/v2/runtime/telemetry/telemetry-client.cjs.map +1 -1
  218. package/dist/v2/runtime/telemetry/telemetry-client.mjs +36 -0
  219. package/dist/v2/runtime/telemetry/telemetry-client.mjs.map +1 -1
  220. package/dist/v2/runtime/telemetry/utils.cjs +15 -0
  221. package/dist/v2/runtime/telemetry/utils.cjs.map +1 -0
  222. package/dist/v2/runtime/telemetry/utils.mjs +14 -0
  223. package/dist/v2/runtime/telemetry/utils.mjs.map +1 -0
  224. package/package.json +81 -48
  225. package/src/agent/__tests__/multimodal.test.ts +176 -0
  226. package/src/agent/index.ts +130 -19
  227. package/src/lib/runtime/agent-integrations/langgraph/agent.ts +3 -3
  228. package/src/lib/runtime/copilot-runtime.ts +1 -0
  229. package/src/v2/express.ts +1 -0
  230. package/src/v2/hono.ts +1 -0
  231. package/src/v2/node.ts +1 -0
  232. package/src/v2/runtime/__tests__/backward-compat.test.ts +261 -0
  233. package/src/v2/runtime/__tests__/code-review-fixes.test.ts +500 -0
  234. package/src/v2/runtime/__tests__/cors-credentials.test.ts +2 -2
  235. package/src/v2/runtime/__tests__/express-adapter.test.ts +188 -0
  236. package/src/v2/runtime/__tests__/express-body-order.test.ts +1 -1
  237. package/src/v2/runtime/__tests__/express-fetch-bridge.test.ts +344 -0
  238. package/src/v2/runtime/__tests__/express-single-sse.test.ts +1 -1
  239. package/src/v2/runtime/__tests__/fetch-cors.test.ts +205 -0
  240. package/src/v2/runtime/__tests__/fetch-handler-validation.test.ts +372 -0
  241. package/src/v2/runtime/__tests__/fetch-handler.test.ts +456 -0
  242. package/src/v2/runtime/__tests__/fetch-router.test.ts +132 -0
  243. package/src/v2/runtime/__tests__/get-runtime-info.test.ts +4 -1
  244. package/src/v2/runtime/__tests__/handle-connect.test.ts +15 -13
  245. package/src/v2/runtime/__tests__/handle-run.test.ts +21 -17
  246. package/src/v2/runtime/__tests__/handle-threads.test.ts +1 -1
  247. package/src/v2/runtime/__tests__/handle-transcribe.test.ts +1 -1
  248. package/src/v2/runtime/__tests__/hono-adapter.test.ts +150 -0
  249. package/src/v2/runtime/__tests__/hooks-edge-cases.test.ts +457 -0
  250. package/src/v2/runtime/__tests__/hooks.test.ts +557 -0
  251. package/src/v2/runtime/__tests__/integration/bun/bun-servers.integration.test.ts +27 -0
  252. package/src/v2/runtime/__tests__/integration/bun/elysia-multi.ts +32 -0
  253. package/src/v2/runtime/__tests__/integration/bun/elysia-single.ts +33 -0
  254. package/src/v2/runtime/__tests__/integration/bun/hono-bun-multi.ts +25 -0
  255. package/src/v2/runtime/__tests__/integration/bun/hono-bun-single.ts +32 -0
  256. package/src/v2/runtime/__tests__/integration/helpers/create-test-runtime.ts +15 -0
  257. package/src/v2/runtime/__tests__/integration/helpers/sse-reader.ts +45 -0
  258. package/src/v2/runtime/__tests__/integration/helpers/test-agent.ts +58 -0
  259. package/src/v2/runtime/__tests__/integration/node-servers.integration.test.ts +39 -0
  260. package/src/v2/runtime/__tests__/integration/servers/express-multi.ts +35 -0
  261. package/src/v2/runtime/__tests__/integration/servers/express-single.ts +36 -0
  262. package/src/v2/runtime/__tests__/integration/servers/fetch-direct.ts +39 -0
  263. package/src/v2/runtime/__tests__/integration/servers/hono-multi.ts +30 -0
  264. package/src/v2/runtime/__tests__/integration/servers/hono-single.ts +37 -0
  265. package/src/v2/runtime/__tests__/integration/servers/node-multi.ts +45 -0
  266. package/src/v2/runtime/__tests__/integration/servers/node-single.ts +46 -0
  267. package/src/v2/runtime/__tests__/integration/servers/types.ts +18 -0
  268. package/src/v2/runtime/__tests__/integration/suites/multi-endpoint.suite.ts +358 -0
  269. package/src/v2/runtime/__tests__/integration/suites/single-endpoint.suite.ts +363 -0
  270. package/src/v2/runtime/__tests__/middleware-express.test.ts +25 -23
  271. package/src/v2/runtime/__tests__/middleware-single-express.test.ts +25 -23
  272. package/src/v2/runtime/__tests__/middleware-single.test.ts +1 -1
  273. package/src/v2/runtime/__tests__/middleware-sse-parser.test.ts +1 -1
  274. package/src/v2/runtime/__tests__/middleware.test.ts +1 -2
  275. package/src/v2/runtime/__tests__/node-fetch-handler.test.ts +157 -0
  276. package/src/v2/runtime/__tests__/open-generative-ui-middleware.e2e.test.ts +728 -0
  277. package/src/v2/runtime/__tests__/router-edge-cases.test.ts +217 -0
  278. package/src/v2/runtime/__tests__/routing-express.test.ts +1 -1
  279. package/src/v2/runtime/__tests__/routing-single-express.test.ts +1 -1
  280. package/src/v2/runtime/__tests__/routing-single.test.ts +1 -1
  281. package/src/v2/runtime/__tests__/routing.test.ts +1 -1
  282. package/src/v2/runtime/__tests__/runtime.test.ts +110 -1
  283. package/src/v2/runtime/__tests__/telemetry.test.ts +62 -1
  284. package/src/v2/runtime/core/fetch-cors.ts +136 -0
  285. package/src/v2/runtime/core/fetch-handler.ts +415 -0
  286. package/src/v2/runtime/core/fetch-router.ts +112 -0
  287. package/src/v2/runtime/core/hooks.ts +151 -0
  288. package/src/v2/runtime/{runtime.ts → core/runtime.ts} +79 -10
  289. package/src/v2/runtime/endpoints/express-fetch-bridge.ts +137 -0
  290. package/src/v2/runtime/endpoints/express-single.ts +42 -219
  291. package/src/v2/runtime/endpoints/express.ts +128 -230
  292. package/src/v2/runtime/endpoints/hono-single.ts +19 -171
  293. package/src/v2/runtime/endpoints/hono.ts +45 -270
  294. package/src/v2/runtime/endpoints/node-fetch-handler.ts +48 -0
  295. package/src/v2/runtime/endpoints/node.ts +28 -0
  296. package/src/v2/runtime/handlers/get-runtime-info.ts +3 -2
  297. package/src/v2/runtime/handlers/handle-connect.ts +7 -4
  298. package/src/v2/runtime/handlers/handle-run.ts +7 -4
  299. package/src/v2/runtime/handlers/handle-stop.ts +1 -1
  300. package/src/v2/runtime/handlers/handle-transcribe.ts +1 -1
  301. package/src/v2/runtime/handlers/intelligence/connect.ts +1 -1
  302. package/src/v2/runtime/handlers/intelligence/run.ts +31 -1
  303. package/src/v2/runtime/handlers/intelligence/thread-names.ts +2 -2
  304. package/src/v2/runtime/handlers/intelligence/threads.ts +1 -1
  305. package/src/v2/runtime/handlers/shared/agent-utils.ts +29 -10
  306. package/src/v2/runtime/handlers/shared/json-response.ts +4 -1
  307. package/src/v2/runtime/handlers/shared/resolve-intelligence-user.ts +1 -1
  308. package/src/v2/runtime/handlers/sse/connect.ts +1 -1
  309. package/src/v2/runtime/handlers/sse/run.ts +1 -1
  310. package/src/v2/runtime/hono.ts +2 -0
  311. package/src/v2/runtime/index.ts +27 -1
  312. package/src/v2/runtime/intelligence-platform/client.ts +50 -1
  313. package/src/v2/runtime/node.ts +6 -0
  314. package/src/v2/runtime/open-generative-ui-middleware.ts +373 -0
  315. package/src/v2/runtime/runner/intelligence.ts +14 -4
  316. package/src/v2/runtime/telemetry/telemetry-client.ts +56 -0
  317. package/src/v2/runtime/telemetry/utils.ts +15 -0
  318. package/tsdown.config.ts +8 -1
  319. package/vitest.config.mjs +2 -5
  320. package/.eslintrc.js +0 -7
  321. package/dist/v2/runtime/endpoints/express-utils.cjs +0 -119
  322. package/dist/v2/runtime/endpoints/express-utils.cjs.map +0 -1
  323. package/dist/v2/runtime/endpoints/express-utils.mjs +0 -117
  324. package/dist/v2/runtime/endpoints/express-utils.mjs.map +0 -1
  325. package/dist/v2/runtime/handlers/intelligence/threads.cjs +0 -159
  326. package/dist/v2/runtime/handlers/intelligence/threads.cjs.map +0 -1
  327. package/dist/v2/runtime/handlers/intelligence/threads.mjs +0 -154
  328. package/dist/v2/runtime/handlers/intelligence/threads.mjs.map +0 -1
  329. package/dist/v2/runtime/middleware-sse-parser.cjs.map +0 -1
  330. package/dist/v2/runtime/middleware-sse-parser.d.cts.map +0 -1
  331. package/dist/v2/runtime/middleware-sse-parser.d.mts.map +0 -1
  332. package/dist/v2/runtime/middleware-sse-parser.mjs.map +0 -1
  333. package/dist/v2/runtime/middleware.cjs.map +0 -1
  334. package/dist/v2/runtime/middleware.d.cts.map +0 -1
  335. package/dist/v2/runtime/middleware.d.mts.map +0 -1
  336. package/dist/v2/runtime/middleware.mjs.map +0 -1
  337. package/dist/v2/runtime/runtime.cjs.map +0 -1
  338. package/dist/v2/runtime/runtime.d.cts.map +0 -1
  339. package/dist/v2/runtime/runtime.d.mts.map +0 -1
  340. package/dist/v2/runtime/runtime.mjs.map +0 -1
  341. package/src/v2/runtime/__tests__/express-abort-signal.test.ts +0 -25
  342. package/src/v2/runtime/endpoints/express-utils.ts +0 -182
  343. package/src/v2/runtime/handler.ts +0 -3
  344. /package/src/v2/runtime/{middleware-sse-parser.ts → core/middleware-sse-parser.ts} +0 -0
  345. /package/src/v2/runtime/{middleware.ts → core/middleware.ts} +0 -0
@@ -2,10 +2,9 @@ import { Observable } from "rxjs";
2
2
  import { describe, it, expect, vi } from "vitest";
3
3
  import { BaseEvent } from "@ag-ui/client";
4
4
  import { handleConnectAgent } from "../handlers/handle-connect";
5
- import { CopilotRuntime } from "../runtime";
5
+ import { CopilotRuntime } from "../core/runtime";
6
6
  import { AgentRunnerConnectRequest } from "../runner/agent-runner";
7
7
  import { IntelligenceAgentRunner } from "../runner/intelligence";
8
- import { CopilotKitIntelligence } from "../intelligence-platform/client";
9
8
 
10
9
  describe("handleConnectAgent", () => {
11
10
  const createMockRuntime = (
@@ -207,9 +206,12 @@ describe("handleConnectAgent", () => {
207
206
  }),
208
207
  });
209
208
 
210
- const createIntelligenceRuntime = (
211
- platform?: Partial<CopilotKitIntelligence>,
212
- ) => {
209
+ /** Loose mock type for CopilotKitIntelligence — avoids `as any` while the class has private fields. */
210
+ interface MockIntelligencePlatform {
211
+ [key: string]: ((...args: any[]) => any) | undefined;
212
+ }
213
+
214
+ const createIntelligenceRuntime = (platform?: MockIntelligencePlatform) => {
213
215
  const runner = Object.create(IntelligenceAgentRunner.prototype);
214
216
  runner.connect = vi.fn(
215
217
  () =>
@@ -240,7 +242,7 @@ describe("handleConnectAgent", () => {
240
242
  events: [],
241
243
  }),
242
244
  };
243
- const runtime = createIntelligenceRuntime(platform as any);
245
+ const runtime = createIntelligenceRuntime(platform);
244
246
 
245
247
  const response = await handleConnectAgent({
246
248
  runtime,
@@ -272,7 +274,7 @@ describe("handleConnectAgent", () => {
272
274
  events: [{ type: "MESSAGES_SNAPSHOT", messages: [] }],
273
275
  }),
274
276
  };
275
- const runtime = createIntelligenceRuntime(platform as any);
277
+ const runtime = createIntelligenceRuntime(platform);
276
278
 
277
279
  const response = await handleConnectAgent({
278
280
  runtime,
@@ -294,7 +296,7 @@ describe("handleConnectAgent", () => {
294
296
  ɵconnectThread: vi.fn().mockResolvedValue(null),
295
297
  createThread: vi.fn(),
296
298
  };
297
- const runtime = createIntelligenceRuntime(platform as any);
299
+ const runtime = createIntelligenceRuntime(platform);
298
300
 
299
301
  const response = await handleConnectAgent({
300
302
  runtime,
@@ -318,7 +320,7 @@ describe("handleConnectAgent", () => {
318
320
  .fn()
319
321
  .mockRejectedValue(new Error("No active connect plan")),
320
322
  };
321
- const runtime = createIntelligenceRuntime(platform as any);
323
+ const runtime = createIntelligenceRuntime(platform);
322
324
 
323
325
  const response = await handleConnectAgent({
324
326
  runtime,
@@ -335,7 +337,7 @@ describe("handleConnectAgent", () => {
335
337
  const platform = {
336
338
  ɵconnectThread: vi.fn().mockResolvedValue(null),
337
339
  };
338
- const runtime = createIntelligenceRuntime(platform as any);
340
+ const runtime = createIntelligenceRuntime(platform);
339
341
 
340
342
  const response = await handleConnectAgent({
341
343
  runtime,
@@ -356,7 +358,7 @@ describe("handleConnectAgent", () => {
356
358
  ɵconnectThread: vi.fn().mockResolvedValue(null),
357
359
  };
358
360
  const identifyUser = vi.fn().mockResolvedValue({ id: "resolved-user" });
359
- const runtime = createIntelligenceRuntime(platform as any);
361
+ const runtime = createIntelligenceRuntime(platform);
360
362
  runtime.identifyUser = identifyUser;
361
363
  const request = createConnectRequest(
362
364
  { "X-User-Id": "legacy-user" },
@@ -383,7 +385,7 @@ describe("handleConnectAgent", () => {
383
385
  const platform = {
384
386
  ɵconnectThread: vi.fn(),
385
387
  };
386
- const runtime = createIntelligenceRuntime(platform as any);
388
+ const runtime = createIntelligenceRuntime(platform);
387
389
  runtime.identifyUser = vi.fn().mockResolvedValue({ id: "" });
388
390
 
389
391
  const response = await handleConnectAgent({
@@ -400,7 +402,7 @@ describe("handleConnectAgent", () => {
400
402
  const platform = {
401
403
  ɵconnectThread: vi.fn(),
402
404
  };
403
- const runtime = createIntelligenceRuntime(platform as any);
405
+ const runtime = createIntelligenceRuntime(platform);
404
406
  runtime.identifyUser = vi
405
407
  .fn()
406
408
  .mockRejectedValue(new Error("auth failed"));
@@ -3,9 +3,8 @@ import { describe, it, expect, vi } from "vitest";
3
3
  import { AbstractAgent, HttpAgent } from "@ag-ui/client";
4
4
  import { A2UIMiddleware } from "@ag-ui/a2ui-middleware";
5
5
  import { handleRunAgent } from "../handlers/handle-run";
6
- import { CopilotRuntime } from "../runtime";
6
+ import { CopilotRuntime } from "../core/runtime";
7
7
  import { IntelligenceAgentRunner } from "../runner/intelligence";
8
- import { CopilotKitIntelligence } from "../intelligence-platform/client";
9
8
 
10
9
  describe("handleRunAgent", () => {
11
10
  const createMockRuntime = (
@@ -287,9 +286,14 @@ describe("handleRunAgent", () => {
287
286
  });
288
287
 
289
288
  describe("IntelligenceAgentRunner join code path", () => {
289
+ /** Loose mock type for CopilotKitIntelligence — avoids `as any` while the class has private fields. */
290
+ interface MockIntelligencePlatform {
291
+ [key: string]: ((...args: any[]) => any) | undefined;
292
+ }
293
+
290
294
  const createIntelligenceRuntime = (
291
295
  agent: AbstractAgent,
292
- platform?: Partial<CopilotKitIntelligence>,
296
+ platform?: MockIntelligencePlatform,
293
297
  options?: {
294
298
  generateThreadNames?: boolean;
295
299
  identifyUser?: (
@@ -352,7 +356,7 @@ describe("handleRunAgent", () => {
352
356
  .fn()
353
357
  .mockResolvedValue({ joinToken: "jt-123", joinCode: "jc-123" }),
354
358
  };
355
- const runtime = createIntelligenceRuntime(agent, platform as any);
359
+ const runtime = createIntelligenceRuntime(agent, platform);
356
360
 
357
361
  const response = await handleRunAgent({
358
362
  runtime,
@@ -392,7 +396,7 @@ describe("handleRunAgent", () => {
392
396
  .mockResolvedValue({ joinToken: "jt-123", joinCode: "jc-123" }),
393
397
  };
394
398
  const identifyUser = vi.fn().mockResolvedValue({ id: "resolved-user" });
395
- const runtime = createIntelligenceRuntime(agent, platform as any, {
399
+ const runtime = createIntelligenceRuntime(agent, platform, {
396
400
  identifyUser,
397
401
  });
398
402
  const request = createRunRequest({ "X-User-Id": "legacy-user" });
@@ -430,7 +434,7 @@ describe("handleRunAgent", () => {
430
434
  .fn()
431
435
  .mockResolvedValue({ joinToken: "jt-456", joinCode: "jc-456" }),
432
436
  };
433
- const runtime = createIntelligenceRuntime(agent, platform as any);
437
+ const runtime = createIntelligenceRuntime(agent, platform);
434
438
 
435
439
  await handleRunAgent({
436
440
  runtime,
@@ -453,7 +457,7 @@ describe("handleRunAgent", () => {
453
457
  getThreadMessages: vi.fn().mockResolvedValue({ messages: [] }),
454
458
  ɵacquireThreadLock: vi.fn().mockResolvedValue({ joinCode: "jc-789" }),
455
459
  };
456
- const runtime = createIntelligenceRuntime(agent, platform as any);
460
+ const runtime = createIntelligenceRuntime(agent, platform);
457
461
 
458
462
  const response = await handleRunAgent({
459
463
  runtime,
@@ -479,7 +483,7 @@ describe("handleRunAgent", () => {
479
483
  .fn()
480
484
  .mockRejectedValue(new Error("Thread is locked by another runner")),
481
485
  };
482
- const runtime = createIntelligenceRuntime(agent, platform as any);
486
+ const runtime = createIntelligenceRuntime(agent, platform);
483
487
 
484
488
  const response = await handleRunAgent({
485
489
  runtime,
@@ -512,7 +516,7 @@ describe("handleRunAgent", () => {
512
516
  .fn()
513
517
  .mockResolvedValue({ joinToken: "jt-123", joinCode: "jc-123" }),
514
518
  };
515
- const runtime = createIntelligenceRuntime(agent, platform as any);
519
+ const runtime = createIntelligenceRuntime(agent, platform);
516
520
  const response = await handleRunAgent({
517
521
  runtime,
518
522
  request: new Request("https://example.com/agent/my-agent/run", {
@@ -572,7 +576,7 @@ describe("handleRunAgent", () => {
572
576
  .fn()
573
577
  .mockResolvedValue({ joinToken: "jt-123", joinCode: "jc-123" }),
574
578
  };
575
- const runtime = createIntelligenceRuntime(agent, platform as any);
579
+ const runtime = createIntelligenceRuntime(agent, platform);
576
580
 
577
581
  const response = await handleRunAgent({
578
582
  runtime,
@@ -599,7 +603,7 @@ describe("handleRunAgent", () => {
599
603
  joinCode: "jc-created",
600
604
  }),
601
605
  };
602
- const runtime = createIntelligenceRuntime(agent, platform as any);
606
+ const runtime = createIntelligenceRuntime(agent, platform);
603
607
 
604
608
  const response = await handleRunAgent({
605
609
  runtime,
@@ -670,7 +674,7 @@ describe("handleRunAgent", () => {
670
674
  joinCode: "jc-created",
671
675
  }),
672
676
  };
673
- const runtime = createIntelligenceRuntime(baseAgent, platform as any, {
677
+ const runtime = createIntelligenceRuntime(baseAgent, platform, {
674
678
  generateThreadNames: true,
675
679
  });
676
680
  const response = await handleRunAgent({
@@ -725,7 +729,7 @@ describe("handleRunAgent", () => {
725
729
  joinCode: "jc-created",
726
730
  }),
727
731
  };
728
- const runtime = createIntelligenceRuntime(agent, platform as any, {
732
+ const runtime = createIntelligenceRuntime(agent, platform, {
729
733
  generateThreadNames: false,
730
734
  });
731
735
 
@@ -754,7 +758,7 @@ describe("handleRunAgent", () => {
754
758
  joinCode: "jc-created",
755
759
  }),
756
760
  };
757
- const runtime = createIntelligenceRuntime(agent, platform as any, {
761
+ const runtime = createIntelligenceRuntime(agent, platform, {
758
762
  generateThreadNames: true,
759
763
  });
760
764
 
@@ -810,7 +814,7 @@ describe("handleRunAgent", () => {
810
814
  joinCode: "jc-created",
811
815
  }),
812
816
  };
813
- const runtime = createIntelligenceRuntime(baseAgent, platform as any, {
817
+ const runtime = createIntelligenceRuntime(baseAgent, platform, {
814
818
  generateThreadNames: true,
815
819
  });
816
820
  const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
@@ -865,7 +869,7 @@ describe("handleRunAgent", () => {
865
869
  getThreadMessages: vi.fn(),
866
870
  ɵacquireThreadLock: vi.fn(),
867
871
  };
868
- const runtime = createIntelligenceRuntime(agent, platform as any, {
872
+ const runtime = createIntelligenceRuntime(agent, platform, {
869
873
  identifyUser: vi.fn().mockResolvedValue({ id: "" }),
870
874
  });
871
875
 
@@ -887,7 +891,7 @@ describe("handleRunAgent", () => {
887
891
  getThreadMessages: vi.fn(),
888
892
  ɵacquireThreadLock: vi.fn(),
889
893
  };
890
- const runtime = createIntelligenceRuntime(agent, platform as any, {
894
+ const runtime = createIntelligenceRuntime(agent, platform, {
891
895
  identifyUser: vi.fn().mockRejectedValue(new Error("auth failed")),
892
896
  });
893
897
  const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
@@ -7,7 +7,7 @@ import {
7
7
  handleSubscribeToThreads,
8
8
  handleUpdateThread,
9
9
  } from "../handlers/handle-threads";
10
- import { CopilotRuntime } from "../runtime";
10
+ import { CopilotRuntime } from "../core/runtime";
11
11
 
12
12
  describe("thread handlers", () => {
13
13
  const createIdentifyUser = () => vi.fn().mockResolvedValue({ id: "user-1" });
@@ -1,5 +1,5 @@
1
1
  import { handleTranscribe } from "../handlers/handle-transcribe";
2
- import { CopilotRuntime } from "../runtime";
2
+ import { CopilotRuntime } from "../core/runtime";
3
3
  import {
4
4
  TranscriptionService,
5
5
  TranscribeFileOptions,
@@ -0,0 +1,150 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ import type { AbstractAgent } from "@ag-ui/client";
3
+
4
+ import {
5
+ createCopilotEndpoint,
6
+ createCopilotEndpointSingleRoute,
7
+ } from "../endpoints";
8
+ import { CopilotRuntime } from "../core/runtime";
9
+
10
+ describe("Hono adapter with hooks", () => {
11
+ const createMockAgent = () => {
12
+ const agent: unknown = {
13
+ execute: async () => ({ events: [] }),
14
+ };
15
+ (agent as { clone: () => unknown }).clone = () => createMockAgent();
16
+ return agent as AbstractAgent;
17
+ };
18
+
19
+ const createMockRuntime = (opts?: Partial<CopilotRuntime>) =>
20
+ new CopilotRuntime({
21
+ agents: {
22
+ default: createMockAgent(),
23
+ myAgent: createMockAgent(),
24
+ testAgent: createMockAgent(),
25
+ },
26
+ ...opts,
27
+ });
28
+
29
+ describe("createCopilotEndpoint", () => {
30
+ const createEndpoint = (
31
+ hooks?: Parameters<typeof createCopilotEndpoint>[0]["hooks"],
32
+ runtimeOpts?: Partial<CopilotRuntime>,
33
+ ) => {
34
+ const runtime = createMockRuntime(runtimeOpts);
35
+ const endpoint = createCopilotEndpoint({
36
+ runtime,
37
+ basePath: "/",
38
+ hooks,
39
+ });
40
+ return { endpoint, runtime };
41
+ };
42
+
43
+ it("routes GET /info correctly", async () => {
44
+ const { endpoint } = createEndpoint();
45
+ const response = await endpoint.fetch(
46
+ new Request("https://example.com/info"),
47
+ );
48
+
49
+ expect(response.status).toBe(200);
50
+ const body = await response.json();
51
+ expect(body).toHaveProperty("version");
52
+ });
53
+
54
+ it("routes POST /agent/:id/run correctly", async () => {
55
+ const { endpoint } = createEndpoint();
56
+ const response = await endpoint.fetch(
57
+ new Request("https://example.com/agent/myAgent/run", {
58
+ method: "POST",
59
+ headers: { "Content-Type": "application/json" },
60
+ body: JSON.stringify({
61
+ messages: [],
62
+ state: {},
63
+ threadId: "thread-1",
64
+ }),
65
+ }),
66
+ );
67
+
68
+ expect(response.status).not.toBe(404);
69
+ });
70
+
71
+ it("forwards hooks — onRequest hook is called", async () => {
72
+ const onRequest = vi.fn();
73
+ const { endpoint, runtime } = createEndpoint({ onRequest });
74
+
75
+ await endpoint.fetch(new Request("https://example.com/info"));
76
+
77
+ expect(onRequest).toHaveBeenCalledTimes(1);
78
+ expect(onRequest).toHaveBeenCalledWith(
79
+ expect.objectContaining({
80
+ request: expect.any(Request),
81
+ path: expect.stringContaining("/info"),
82
+ runtime,
83
+ }),
84
+ );
85
+ });
86
+
87
+ it("hooks can modify response headers via onResponse", async () => {
88
+ const { endpoint } = createEndpoint({
89
+ onResponse: ({ response }) => {
90
+ const headers = new Headers(response.headers);
91
+ headers.set("x-custom-header", "hello-from-hook");
92
+ return new Response(response.body, {
93
+ status: response.status,
94
+ headers,
95
+ });
96
+ },
97
+ });
98
+
99
+ const response = await endpoint.fetch(
100
+ new Request("https://example.com/info"),
101
+ );
102
+
103
+ expect(response.status).toBe(200);
104
+ expect(response.headers.get("x-custom-header")).toBe("hello-from-hook");
105
+ });
106
+
107
+ it("Hono CORS headers are present", async () => {
108
+ const { endpoint } = createEndpoint();
109
+ const response = await endpoint.fetch(
110
+ new Request("https://example.com/info", {
111
+ method: "OPTIONS",
112
+ headers: {
113
+ Origin: "https://somesite.com",
114
+ "Access-Control-Request-Method": "GET",
115
+ },
116
+ }),
117
+ );
118
+
119
+ expect(response.headers.get("Access-Control-Allow-Origin")).toBe("*");
120
+ });
121
+ });
122
+
123
+ describe("createCopilotEndpointSingleRoute", () => {
124
+ it("dispatches single-route with method envelope", async () => {
125
+ const runtime = createMockRuntime();
126
+ const endpoint = createCopilotEndpointSingleRoute({
127
+ runtime,
128
+ basePath: "/rpc",
129
+ });
130
+
131
+ const response = await endpoint.fetch(
132
+ new Request("https://example.com/rpc", {
133
+ method: "POST",
134
+ headers: { "Content-Type": "application/json" },
135
+ body: JSON.stringify({
136
+ method: "agent/run",
137
+ params: { agentId: "myAgent" },
138
+ body: {
139
+ messages: [],
140
+ state: {},
141
+ threadId: "thread-1",
142
+ },
143
+ }),
144
+ }),
145
+ );
146
+
147
+ expect(response.status).not.toBe(404);
148
+ });
149
+ });
150
+ });