@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
@@ -1,132 +1,20 @@
1
1
  import "reflect-metadata";
2
- import { handleRunAgent } from "../handlers/handle-run.mjs";
3
- import { handleGetRuntimeInfo } from "../handlers/get-runtime-info.mjs";
4
- import { handleTranscribe } from "../handlers/handle-transcribe.mjs";
5
- import { callAfterRequestMiddleware, callBeforeRequestMiddleware } from "../middleware.mjs";
6
- import { handleConnectAgent } from "../handlers/handle-connect.mjs";
7
- import { handleStopAgent } from "../handlers/handle-stop.mjs";
8
- import { createJsonRequest, expectString, parseMethodCall } from "./single-route-helpers.mjs";
9
- import { logger } from "@copilotkit/shared";
2
+ import { createCopilotRuntimeHandler } from "../core/fetch-handler.mjs";
3
+ import { toFetchCorsConfig } from "./hono.mjs";
10
4
  import { Hono } from "hono";
11
- import { cors } from "hono/cors";
12
5
 
13
6
  //#region src/v2/runtime/endpoints/hono-single.ts
14
- function createCopilotEndpointSingleRoute({ runtime, basePath, cors: corsConfig }) {
15
- const app = new Hono();
7
+ /** @deprecated Use `createCopilotHonoHandler` with `mode: "single-route"` instead. */
8
+ function createCopilotEndpointSingleRoute({ runtime, basePath, cors: corsConfig, hooks }) {
16
9
  const routePath = normalizePath(basePath);
17
- return app.basePath(routePath).use("*", cors({
18
- origin: corsConfig?.origin ?? "*",
19
- allowMethods: [
20
- "GET",
21
- "HEAD",
22
- "PUT",
23
- "POST",
24
- "DELETE",
25
- "PATCH",
26
- "OPTIONS"
27
- ],
28
- allowHeaders: ["*"],
29
- credentials: corsConfig?.credentials ?? false
30
- })).use("*", async (c, next) => {
31
- const request = c.req.raw;
32
- const path = c.req.path;
33
- try {
34
- const maybeModifiedRequest = await callBeforeRequestMiddleware({
35
- runtime,
36
- request,
37
- path
38
- });
39
- if (maybeModifiedRequest) c.set("modifiedRequest", maybeModifiedRequest);
40
- } catch (error) {
41
- logger.error({
42
- err: error,
43
- url: request.url,
44
- path
45
- }, "Error running before request middleware");
46
- if (error instanceof Response) return error;
47
- throw error;
48
- }
49
- await next();
50
- }).use("*", async (c, next) => {
51
- await next();
52
- const response = c.res.clone();
53
- const path = c.req.path;
54
- callAfterRequestMiddleware({
55
- runtime,
56
- response,
57
- path
58
- }).catch((error) => {
59
- logger.error({
60
- err: error,
61
- url: c.req.url,
62
- path
63
- }, "Error running after request middleware");
64
- });
65
- }).post("/", async (c) => {
66
- const request = c.get("modifiedRequest") || c.req.raw;
67
- let methodCall;
68
- try {
69
- methodCall = await parseMethodCall(request);
70
- } catch (error) {
71
- if (error instanceof Response) {
72
- logger.warn({ url: request.url }, "Invalid single-route payload");
73
- return error;
74
- }
75
- logger.warn({
76
- err: error,
77
- url: request.url
78
- }, "Invalid single-route payload");
79
- return c.json({
80
- error: "invalid_request",
81
- message: error instanceof Error ? error.message : "Invalid request payload"
82
- }, 400);
83
- }
84
- try {
85
- switch (methodCall.method) {
86
- case "agent/run": {
87
- const agentId = expectString(methodCall.params, "agentId");
88
- return await handleRunAgent({
89
- runtime,
90
- request: createJsonRequest(request, methodCall.body),
91
- agentId
92
- });
93
- }
94
- case "agent/connect": {
95
- const agentId = expectString(methodCall.params, "agentId");
96
- return await handleConnectAgent({
97
- runtime,
98
- request: createJsonRequest(request, methodCall.body),
99
- agentId
100
- });
101
- }
102
- case "agent/stop": return await handleStopAgent({
103
- runtime,
104
- request,
105
- agentId: expectString(methodCall.params, "agentId"),
106
- threadId: expectString(methodCall.params, "threadId")
107
- });
108
- case "info": return await handleGetRuntimeInfo({
109
- runtime,
110
- request
111
- });
112
- case "transcribe": return await handleTranscribe({
113
- runtime,
114
- request: createJsonRequest(request, methodCall.body)
115
- });
116
- default: return methodCall.method;
117
- }
118
- } catch (error) {
119
- if (error instanceof Response) return error;
120
- logger.error({
121
- err: error,
122
- url: request.url,
123
- method: methodCall.method
124
- }, "Error running single-route handler");
125
- throw error;
126
- }
127
- }).notFound((c) => {
128
- return c.json({ error: "Not found" }, 404);
10
+ const handler = createCopilotRuntimeHandler({
11
+ runtime,
12
+ basePath: routePath,
13
+ mode: "single-route",
14
+ cors: corsConfig ? toFetchCorsConfig(corsConfig) : true,
15
+ hooks
129
16
  });
17
+ return new Hono().basePath(routePath).all("*", async (c) => handler(c.req.raw));
130
18
  }
131
19
  function normalizePath(path) {
132
20
  if (!path) throw new Error("basePath must be provided for single-route endpoint");
@@ -1 +1 @@
1
- {"version":3,"file":"hono-single.mjs","names":[],"sources":["../../../../src/v2/runtime/endpoints/hono-single.ts"],"sourcesContent":["import { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\n\nimport { CopilotRuntimeLike } from \"../runtime\";\nimport { handleRunAgent } from \"../handlers/handle-run\";\nimport { handleConnectAgent } from \"../handlers/handle-connect\";\nimport { handleStopAgent } from \"../handlers/handle-stop\";\nimport { handleGetRuntimeInfo } from \"../handlers/get-runtime-info\";\nimport { handleTranscribe } from \"../handlers/handle-transcribe\";\nimport { logger } from \"@copilotkit/shared\";\nimport {\n callBeforeRequestMiddleware,\n callAfterRequestMiddleware,\n} from \"../middleware\";\nimport {\n createJsonRequest,\n expectString,\n MethodCall,\n parseMethodCall,\n} from \"./single-route-helpers\";\n\nimport { CopilotEndpointCorsConfig } from \"./hono\";\n\ninterface CopilotSingleEndpointParams {\n runtime: CopilotRuntimeLike;\n /**\n * Absolute path at which to mount the single-route endpoint (e.g. \"/api/copilotkit\").\n */\n basePath: string;\n /**\n * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.\n * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.\n */\n cors?: CopilotEndpointCorsConfig;\n}\n\ntype CopilotEndpointContext = {\n Variables: {\n modifiedRequest?: Request;\n };\n};\n\nexport function createCopilotEndpointSingleRoute({\n runtime,\n basePath,\n cors: corsConfig,\n}: CopilotSingleEndpointParams) {\n const app = new Hono<CopilotEndpointContext>();\n const routePath = normalizePath(basePath);\n\n return app\n .basePath(routePath)\n .use(\n \"*\",\n cors({\n origin: corsConfig?.origin ?? \"*\",\n allowMethods: [\n \"GET\",\n \"HEAD\",\n \"PUT\",\n \"POST\",\n \"DELETE\",\n \"PATCH\",\n \"OPTIONS\",\n ],\n allowHeaders: [\"*\"],\n credentials: corsConfig?.credentials ?? false,\n }),\n )\n .use(\"*\", async (c, next) => {\n const request = c.req.raw;\n const path = c.req.path;\n\n try {\n const maybeModifiedRequest = await callBeforeRequestMiddleware({\n runtime,\n request,\n path,\n });\n if (maybeModifiedRequest) {\n c.set(\"modifiedRequest\", maybeModifiedRequest);\n }\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path },\n \"Error running before request middleware\",\n );\n if (error instanceof Response) {\n return error;\n }\n throw error;\n }\n\n await next();\n })\n .use(\"*\", async (c, next) => {\n await next();\n\n const response = c.res.clone();\n const path = c.req.path;\n\n callAfterRequestMiddleware({\n runtime,\n response,\n path,\n }).catch((error) => {\n logger.error(\n { err: error, url: c.req.url, path },\n \"Error running after request middleware\",\n );\n });\n })\n .post(\"/\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n let methodCall: MethodCall;\n try {\n methodCall = await parseMethodCall(request);\n } catch (error) {\n if (error instanceof Response) {\n logger.warn({ url: request.url }, \"Invalid single-route payload\");\n return error;\n }\n logger.warn(\n { err: error, url: request.url },\n \"Invalid single-route payload\",\n );\n return c.json(\n {\n error: \"invalid_request\",\n message:\n error instanceof Error\n ? error.message\n : \"Invalid request payload\",\n },\n 400,\n );\n }\n\n try {\n switch (methodCall.method) {\n case \"agent/run\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleRunAgent({\n runtime,\n request: handlerRequest,\n agentId,\n });\n }\n case \"agent/connect\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleConnectAgent({\n runtime,\n request: handlerRequest,\n agentId,\n });\n }\n case \"agent/stop\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const threadId = expectString(methodCall.params, \"threadId\");\n return await handleStopAgent({\n runtime,\n request,\n agentId,\n threadId,\n });\n }\n case \"info\": {\n return await handleGetRuntimeInfo({ runtime, request });\n }\n case \"transcribe\": {\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleTranscribe({ runtime, request: handlerRequest });\n }\n default: {\n const exhaustiveCheck: never = methodCall.method;\n return exhaustiveCheck;\n }\n }\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n logger.error(\n { err: error, url: request.url, method: methodCall.method },\n \"Error running single-route handler\",\n );\n throw error;\n }\n })\n .notFound((c) => {\n return c.json({ error: \"Not found\" }, 404);\n });\n}\n\nfunction normalizePath(path: string): string {\n if (!path) {\n throw new Error(\"basePath must be provided for single-route endpoint\");\n }\n\n if (!path.startsWith(\"/\")) {\n return `/${path}`;\n }\n\n if (path.length > 1 && path.endsWith(\"/\")) {\n return path.slice(0, -1);\n }\n\n return path;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"hono-single.mjs","names":[],"sources":["../../../../src/v2/runtime/endpoints/hono-single.ts"],"sourcesContent":["import { Hono } from \"hono\";\nimport type { CopilotRuntimeLike } from \"../core/runtime\";\nimport { createCopilotRuntimeHandler } from \"../core/fetch-handler\";\nimport type { CopilotRuntimeHooks } from \"../core/hooks\";\nimport { CopilotEndpointCorsConfig, toFetchCorsConfig } from \"./hono\";\n\ninterface CopilotSingleEndpointParams {\n runtime: CopilotRuntimeLike;\n /**\n * Absolute path at which to mount the single-route endpoint (e.g. \"/api/copilotkit\").\n */\n basePath: string;\n /**\n * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.\n * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.\n */\n cors?: CopilotEndpointCorsConfig;\n /**\n * Lifecycle hooks for request processing.\n */\n hooks?: CopilotRuntimeHooks;\n}\n\n/** @deprecated Use `createCopilotHonoHandler` with `mode: \"single-route\"` instead. */\nexport function createCopilotEndpointSingleRoute({\n runtime,\n basePath,\n cors: corsConfig,\n hooks,\n}: CopilotSingleEndpointParams) {\n const routePath = normalizePath(basePath);\n\n const handler = createCopilotRuntimeHandler({\n runtime,\n basePath: routePath,\n mode: \"single-route\",\n cors: corsConfig ? toFetchCorsConfig(corsConfig) : true,\n hooks,\n });\n\n const app = new Hono();\n\n return app.basePath(routePath).all(\"*\", async (c) => handler(c.req.raw));\n}\n\nfunction normalizePath(path: string): string {\n if (!path) {\n throw new Error(\"basePath must be provided for single-route endpoint\");\n }\n\n if (!path.startsWith(\"/\")) {\n return `/${path}`;\n }\n\n if (path.length > 1 && path.endsWith(\"/\")) {\n return path.slice(0, -1);\n }\n\n return path;\n}\n"],"mappings":";;;;;;;AAwBA,SAAgB,iCAAiC,EAC/C,SACA,UACA,MAAM,YACN,SAC8B;CAC9B,MAAM,YAAY,cAAc,SAAS;CAEzC,MAAM,UAAU,4BAA4B;EAC1C;EACA,UAAU;EACV,MAAM;EACN,MAAM,aAAa,kBAAkB,WAAW,GAAG;EACnD;EACD,CAAC;AAIF,QAFY,IAAI,MAAM,CAEX,SAAS,UAAU,CAAC,IAAI,KAAK,OAAO,MAAM,QAAQ,EAAE,IAAI,IAAI,CAAC;;AAG1E,SAAS,cAAc,MAAsB;AAC3C,KAAI,CAAC,KACH,OAAM,IAAI,MAAM,sDAAsD;AAGxE,KAAI,CAAC,KAAK,WAAW,IAAI,CACvB,QAAO,IAAI;AAGb,KAAI,KAAK,SAAS,KAAK,KAAK,SAAS,IAAI,CACvC,QAAO,KAAK,MAAM,GAAG,GAAG;AAG1B,QAAO"}
@@ -1,248 +1,34 @@
1
1
  require("reflect-metadata");
2
2
  const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
3
- const require_telemetry_client = require('../telemetry/telemetry-client.cjs');
4
- const require_handle_run = require('../handlers/handle-run.cjs');
5
- const require_get_runtime_info = require('../handlers/get-runtime-info.cjs');
6
- const require_handle_transcribe = require('../handlers/handle-transcribe.cjs');
7
- const require_middleware = require('../middleware.cjs');
8
- const require_handle_connect = require('../handlers/handle-connect.cjs');
9
- const require_handle_stop = require('../handlers/handle-stop.cjs');
10
- const require_threads = require('../handlers/intelligence/threads.cjs');
11
- let _copilotkit_shared = require("@copilotkit/shared");
3
+ const require_fetch_handler = require('../core/fetch-handler.cjs');
12
4
  let hono = require("hono");
13
- let hono_cors = require("hono/cors");
14
5
 
15
6
  //#region src/v2/runtime/endpoints/hono.ts
16
- function createCopilotEndpoint({ runtime, basePath, cors: corsConfig }) {
17
- const app = new hono.Hono();
18
- Promise.resolve(runtime.agents).then((agents) => {
19
- require_telemetry_client.default.capture("oss.runtime.instance_created", {
20
- actionsAmount: 0,
21
- endpointTypes: [],
22
- endpointsAmount: 0,
23
- agentsAmount: Object.keys(agents).length,
24
- "cloud.api_key_provided": false
25
- });
26
- }).catch(() => {});
27
- return app.basePath(basePath).use("*", (0, hono_cors.cors)({
28
- origin: corsConfig?.origin ?? "*",
29
- allowMethods: [
30
- "GET",
31
- "HEAD",
32
- "PUT",
33
- "POST",
34
- "DELETE",
35
- "PATCH",
36
- "OPTIONS"
37
- ],
38
- allowHeaders: ["*"],
39
- credentials: corsConfig?.credentials ?? false
40
- })).use("*", async (c, next) => {
41
- const request = c.req.raw;
42
- const path = c.req.path;
43
- try {
44
- const maybeModifiedRequest = await require_middleware.callBeforeRequestMiddleware({
45
- runtime,
46
- request,
47
- path
48
- });
49
- if (maybeModifiedRequest) c.set("modifiedRequest", maybeModifiedRequest);
50
- } catch (error) {
51
- _copilotkit_shared.logger.error({
52
- err: error,
53
- url: request.url,
54
- path
55
- }, "Error running before request middleware");
56
- if (error instanceof Response) return error;
57
- throw error;
58
- }
59
- const warning = (0, _copilotkit_shared.getLicenseWarningHeader)(runtime.licenseChecker);
60
- if (warning) c.header(warning.key, warning.value);
61
- await next();
62
- }).use("*", async (c, next) => {
63
- await next();
64
- const response = c.res.clone();
65
- const path = c.req.path;
66
- require_middleware.callAfterRequestMiddleware({
67
- runtime,
68
- response,
69
- path
70
- }).catch((error) => {
71
- _copilotkit_shared.logger.error({
72
- err: error,
73
- url: c.req.url,
74
- path
75
- }, "Error running after request middleware");
76
- });
77
- }).post("/agent/:agentId/run", async (c) => {
78
- const agentId = c.req.param("agentId");
79
- const request = c.get("modifiedRequest") || c.req.raw;
80
- try {
81
- return await require_handle_run.handleRunAgent({
82
- runtime,
83
- request,
84
- agentId
85
- });
86
- } catch (error) {
87
- _copilotkit_shared.logger.error({
88
- err: error,
89
- url: request.url,
90
- path: c.req.path
91
- }, "Error running request handler");
92
- throw error;
93
- }
94
- }).post("/agent/:agentId/connect", async (c) => {
95
- const agentId = c.req.param("agentId");
96
- const request = c.get("modifiedRequest") || c.req.raw;
97
- try {
98
- return await require_handle_connect.handleConnectAgent({
99
- runtime,
100
- request,
101
- agentId
102
- });
103
- } catch (error) {
104
- _copilotkit_shared.logger.error({
105
- err: error,
106
- url: request.url,
107
- path: c.req.path
108
- }, "Error running request handler");
109
- throw error;
110
- }
111
- }).post("/agent/:agentId/stop/:threadId", async (c) => {
112
- const agentId = c.req.param("agentId");
113
- const threadId = c.req.param("threadId");
114
- const request = c.get("modifiedRequest") || c.req.raw;
115
- try {
116
- return await require_handle_stop.handleStopAgent({
117
- runtime,
118
- request,
119
- agentId,
120
- threadId
121
- });
122
- } catch (error) {
123
- _copilotkit_shared.logger.error({
124
- err: error,
125
- url: request.url,
126
- path: c.req.path
127
- }, "Error running request handler");
128
- throw error;
129
- }
130
- }).get("/info", async (c) => {
131
- const request = c.get("modifiedRequest") || c.req.raw;
132
- try {
133
- return await require_get_runtime_info.handleGetRuntimeInfo({
134
- runtime,
135
- request
136
- });
137
- } catch (error) {
138
- _copilotkit_shared.logger.error({
139
- err: error,
140
- url: request.url,
141
- path: c.req.path
142
- }, "Error running request handler");
143
- throw error;
144
- }
145
- }).post("/transcribe", async (c) => {
146
- const request = c.get("modifiedRequest") || c.req.raw;
147
- try {
148
- return await require_handle_transcribe.handleTranscribe({
149
- runtime,
150
- request
151
- });
152
- } catch (error) {
153
- _copilotkit_shared.logger.error({
154
- err: error,
155
- url: request.url,
156
- path: c.req.path
157
- }, "Error running request handler");
158
- throw error;
159
- }
160
- }).get("/threads", async (c) => {
161
- const request = c.get("modifiedRequest") || c.req.raw;
162
- try {
163
- return await require_threads.handleListThreads({
164
- runtime,
165
- request
166
- });
167
- } catch (error) {
168
- _copilotkit_shared.logger.error({
169
- err: error,
170
- url: request.url,
171
- path: c.req.path
172
- }, "Error running request handler");
173
- throw error;
174
- }
175
- }).post("/threads/subscribe", async (c) => {
176
- const request = c.get("modifiedRequest") || c.req.raw;
177
- try {
178
- return await require_threads.handleSubscribeToThreads({
179
- runtime,
180
- request
181
- });
182
- } catch (error) {
183
- _copilotkit_shared.logger.error({
184
- err: error,
185
- url: request.url,
186
- path: c.req.path
187
- }, "Error running request handler");
188
- throw error;
189
- }
190
- }).patch("/threads/:threadId", async (c) => {
191
- const threadId = c.req.param("threadId");
192
- const request = c.get("modifiedRequest") || c.req.raw;
193
- try {
194
- return await require_threads.handleUpdateThread({
195
- runtime,
196
- request,
197
- threadId
198
- });
199
- } catch (error) {
200
- _copilotkit_shared.logger.error({
201
- err: error,
202
- url: request.url,
203
- path: c.req.path
204
- }, "Error running request handler");
205
- throw error;
206
- }
207
- }).post("/threads/:threadId/archive", async (c) => {
208
- const threadId = c.req.param("threadId");
209
- const request = c.get("modifiedRequest") || c.req.raw;
210
- try {
211
- return await require_threads.handleArchiveThread({
212
- runtime,
213
- request,
214
- threadId
215
- });
216
- } catch (error) {
217
- _copilotkit_shared.logger.error({
218
- err: error,
219
- url: request.url,
220
- path: c.req.path
221
- }, "Error running request handler");
222
- throw error;
223
- }
224
- }).delete("/threads/:threadId", async (c) => {
225
- const threadId = c.req.param("threadId");
226
- const request = c.get("modifiedRequest") || c.req.raw;
227
- try {
228
- return await require_threads.handleDeleteThread({
229
- runtime,
230
- request,
231
- threadId
232
- });
233
- } catch (error) {
234
- _copilotkit_shared.logger.error({
235
- err: error,
236
- url: request.url,
237
- path: c.req.path
238
- }, "Error running request handler");
239
- throw error;
240
- }
241
- }).notFound((c) => {
242
- return c.json({ error: "Not found" }, 404);
7
+ /** @deprecated Use `createCopilotHonoHandler` instead. */
8
+ const createCopilotEndpoint = createCopilotHonoHandler;
9
+ function createCopilotHonoHandler({ runtime, basePath, mode = "multi-route", cors: corsConfig, hooks }) {
10
+ const handler = require_fetch_handler.createCopilotRuntimeHandler({
11
+ runtime,
12
+ basePath,
13
+ mode,
14
+ cors: corsConfig ? toFetchCorsConfig(corsConfig) : true,
15
+ hooks
243
16
  });
17
+ return new hono.Hono().basePath(basePath).all("*", async (c) => handler(c.req.raw));
18
+ }
19
+ /**
20
+ * Convert Hono-specific CORS config to the fetch handler's CopilotCorsConfig.
21
+ */
22
+ function toFetchCorsConfig(config) {
23
+ const origin = config.origin;
24
+ return {
25
+ origin: typeof origin === "function" ? (reqOrigin) => origin(reqOrigin, void 0) ?? null : origin,
26
+ credentials: config.credentials
27
+ };
244
28
  }
245
29
 
246
30
  //#endregion
247
31
  exports.createCopilotEndpoint = createCopilotEndpoint;
32
+ exports.createCopilotHonoHandler = createCopilotHonoHandler;
33
+ exports.toFetchCorsConfig = toFetchCorsConfig;
248
34
  //# sourceMappingURL=hono.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hono.cjs","names":["Hono","callBeforeRequestMiddleware","handleRunAgent","handleConnectAgent","handleStopAgent","handleGetRuntimeInfo","handleTranscribe","handleListThreads","handleSubscribeToThreads","handleUpdateThread","handleArchiveThread","handleDeleteThread"],"sources":["../../../../src/v2/runtime/endpoints/hono.ts"],"sourcesContent":["import { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\nimport { CopilotRuntimeLike } from \"../runtime\";\nimport { telemetry } from \"../telemetry\";\nimport { handleRunAgent } from \"../handlers/handle-run\";\nimport { handleGetRuntimeInfo } from \"../handlers/get-runtime-info\";\nimport { handleTranscribe } from \"../handlers/handle-transcribe\";\nimport { logger, getLicenseWarningHeader } from \"@copilotkit/shared\";\nimport {\n callBeforeRequestMiddleware,\n callAfterRequestMiddleware,\n} from \"../middleware\";\nimport { handleConnectAgent } from \"../handlers/handle-connect\";\nimport { handleStopAgent } from \"../handlers/handle-stop\";\nimport {\n handleListThreads,\n handleSubscribeToThreads,\n handleUpdateThread,\n handleArchiveThread,\n handleDeleteThread,\n} from \"../handlers/handle-threads\";\n\n/**\n * CORS configuration for CopilotKit endpoints.\n * When using credentials (e.g., HTTP-only cookies), you must specify an explicit origin.\n */\nexport interface CopilotEndpointCorsConfig {\n /**\n * Allowed origin(s) for CORS. Can be:\n * - A string: exact origin (e.g., \"https://myapp.com\")\n * - An array: list of allowed origins\n * - A function: dynamic origin resolution\n *\n * Note: When credentials is true, origin cannot be \"*\"\n */\n origin:\n | string\n | string[]\n | ((origin: string, c: any) => string | undefined | null);\n /**\n * Whether to allow credentials (cookies, HTTP authentication).\n * When true, origin must be explicitly specified (not \"*\").\n */\n credentials?: boolean;\n}\n\ninterface CopilotEndpointParams {\n runtime: CopilotRuntimeLike;\n basePath: string;\n /**\n * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.\n * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.\n */\n cors?: CopilotEndpointCorsConfig;\n}\n\n// Define the context variables type\ntype CopilotEndpointContext = {\n Variables: {\n modifiedRequest?: Request;\n };\n};\n\nexport function createCopilotEndpoint({\n runtime,\n basePath,\n cors: corsConfig,\n}: CopilotEndpointParams) {\n const app = new Hono<CopilotEndpointContext>();\n\n // Fire instance_created telemetry - resolve agents if needed\n Promise.resolve(runtime.agents)\n .then((agents) => {\n telemetry.capture(\"oss.runtime.instance_created\", {\n actionsAmount: 0,\n endpointTypes: [],\n endpointsAmount: 0,\n agentsAmount: Object.keys(agents).length,\n \"cloud.api_key_provided\": false,\n });\n })\n .catch(() => {\n // Silently fail - telemetry should not break the application\n });\n\n return app\n .basePath(basePath)\n .use(\n \"*\",\n cors({\n origin: corsConfig?.origin ?? \"*\",\n allowMethods: [\n \"GET\",\n \"HEAD\",\n \"PUT\",\n \"POST\",\n \"DELETE\",\n \"PATCH\",\n \"OPTIONS\",\n ],\n allowHeaders: [\"*\"],\n credentials: corsConfig?.credentials ?? false,\n }),\n )\n .use(\"*\", async (c, next) => {\n const request = c.req.raw;\n const path = c.req.path;\n\n try {\n const maybeModifiedRequest = await callBeforeRequestMiddleware({\n runtime,\n request,\n path,\n });\n if (maybeModifiedRequest) {\n c.set(\"modifiedRequest\", maybeModifiedRequest);\n }\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path },\n \"Error running before request middleware\",\n );\n if (error instanceof Response) {\n return error;\n }\n throw error;\n }\n\n const warning = getLicenseWarningHeader(runtime.licenseChecker);\n if (warning) c.header(warning.key, warning.value);\n\n await next();\n })\n .use(\"*\", async (c, next) => {\n await next();\n\n const response = c.res.clone();\n const path = c.req.path;\n\n // Non-blocking after middleware\n callAfterRequestMiddleware({\n runtime,\n response,\n path,\n }).catch((error) => {\n logger.error(\n { err: error, url: c.req.url, path },\n \"Error running after request middleware\",\n );\n });\n })\n .post(\"/agent/:agentId/run\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleRunAgent({\n runtime,\n request,\n agentId,\n });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .post(\"/agent/:agentId/connect\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleConnectAgent({\n runtime,\n request,\n agentId,\n });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n\n .post(\"/agent/:agentId/stop/:threadId\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const threadId = c.req.param(\"threadId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleStopAgent({\n runtime,\n request,\n agentId,\n threadId,\n });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .get(\"/info\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleGetRuntimeInfo({\n runtime,\n request,\n });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .post(\"/transcribe\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleTranscribe({\n runtime,\n request,\n });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .get(\"/threads\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleListThreads({ runtime, request });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .post(\"/threads/subscribe\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleSubscribeToThreads({ runtime, request });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .patch(\"/threads/:threadId\", async (c) => {\n const threadId = c.req.param(\"threadId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleUpdateThread({ runtime, request, threadId });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .post(\"/threads/:threadId/archive\", async (c) => {\n const threadId = c.req.param(\"threadId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleArchiveThread({ runtime, request, threadId });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .delete(\"/threads/:threadId\", async (c) => {\n const threadId = c.req.param(\"threadId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleDeleteThread({ runtime, request, threadId });\n } catch (error) {\n logger.error(\n { err: error, url: request.url, path: c.req.path },\n \"Error running request handler\",\n );\n throw error;\n }\n })\n .notFound((c) => {\n return c.json({ error: \"Not found\" }, 404);\n });\n\n // return app;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"hono.cjs","names":["createCopilotRuntimeHandler","Hono"],"sources":["../../../../src/v2/runtime/endpoints/hono.ts"],"sourcesContent":["import { Hono } from \"hono\";\nimport type { CopilotRuntimeLike } from \"../core/runtime\";\nimport { createCopilotRuntimeHandler } from \"../core/fetch-handler\";\nimport type { CopilotCorsConfig } from \"../core/fetch-cors\";\nimport type { CopilotRuntimeHooks } from \"../core/hooks\";\n\n/**\n * CORS configuration for CopilotKit endpoints.\n * When using credentials (e.g., HTTP-only cookies), you must specify an explicit origin.\n */\nexport interface CopilotEndpointCorsConfig {\n /**\n * Allowed origin(s) for CORS. Can be:\n * - A string: exact origin (e.g., \"https://myapp.com\")\n * - An array: list of allowed origins\n * - A function: dynamic origin resolution\n *\n * Note: When credentials is true, origin cannot be \"*\"\n */\n origin:\n | string\n | string[]\n | ((origin: string, c: any) => string | undefined | null);\n /**\n * Whether to allow credentials (cookies, HTTP authentication).\n * When true, origin must be explicitly specified (not \"*\").\n */\n credentials?: boolean;\n}\n\ninterface CopilotEndpointParams {\n runtime: CopilotRuntimeLike;\n basePath: string;\n\n /**\n * Endpoint mode.\n * - `\"multi-route\"` (default): separate routes for each operation\n * - `\"single-route\"`: single POST endpoint with JSON envelope dispatch\n */\n mode?: \"multi-route\" | \"single-route\";\n\n /**\n * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.\n * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.\n */\n cors?: CopilotEndpointCorsConfig;\n /**\n * Lifecycle hooks for request processing.\n */\n hooks?: CopilotRuntimeHooks;\n}\n/** @deprecated Use `createCopilotHonoHandler` instead. */\nexport const createCopilotEndpoint = createCopilotHonoHandler;\n\nexport function createCopilotHonoHandler({\n runtime,\n basePath,\n mode = \"multi-route\",\n cors: corsConfig,\n hooks,\n}: CopilotEndpointParams) {\n const handler = createCopilotRuntimeHandler({\n runtime,\n basePath,\n mode,\n cors: corsConfig ? toFetchCorsConfig(corsConfig) : true,\n hooks,\n });\n\n const app = new Hono();\n\n return app.basePath(basePath).all(\"*\", async (c) => handler(c.req.raw));\n}\n\n/**\n * Convert Hono-specific CORS config to the fetch handler's CopilotCorsConfig.\n */\nexport function toFetchCorsConfig(\n config: CopilotEndpointCorsConfig,\n): CopilotCorsConfig {\n const origin = config.origin;\n return {\n origin:\n typeof origin === \"function\"\n ? (reqOrigin: string) => origin(reqOrigin, undefined) ?? null\n : origin,\n credentials: config.credentials,\n };\n}\n"],"mappings":";;;;;;;AAoDA,MAAa,wBAAwB;AAErC,SAAgB,yBAAyB,EACvC,SACA,UACA,OAAO,eACP,MAAM,YACN,SACwB;CACxB,MAAM,UAAUA,kDAA4B;EAC1C;EACA;EACA;EACA,MAAM,aAAa,kBAAkB,WAAW,GAAG;EACnD;EACD,CAAC;AAIF,QAFY,IAAIC,WAAM,CAEX,SAAS,SAAS,CAAC,IAAI,KAAK,OAAO,MAAM,QAAQ,EAAE,IAAI,IAAI,CAAC;;;;;AAMzE,SAAgB,kBACd,QACmB;CACnB,MAAM,SAAS,OAAO;AACtB,QAAO;EACL,QACE,OAAO,WAAW,cACb,cAAsB,OAAO,WAAW,OAAU,IAAI,OACvD;EACN,aAAa,OAAO;EACrB"}
@@ -1,5 +1,8 @@
1
1
 
2
- import { CopilotRuntimeLike } from "../runtime.cjs";
2
+ import { CopilotRuntimeLike } from "../core/runtime.cjs";
3
+ import { CopilotCorsConfig } from "../core/fetch-cors.cjs";
4
+ import { CopilotRuntimeHooks } from "../core/hooks.cjs";
5
+ import * as hono_types0 from "hono/types";
3
6
  import * as hono_utils_http_status0 from "hono/utils/http-status";
4
7
  import * as hono_hono_base0 from "hono/hono-base";
5
8
 
@@ -27,138 +30,44 @@ interface CopilotEndpointCorsConfig {
27
30
  interface CopilotEndpointParams {
28
31
  runtime: CopilotRuntimeLike;
29
32
  basePath: string;
33
+ /**
34
+ * Endpoint mode.
35
+ * - `"multi-route"` (default): separate routes for each operation
36
+ * - `"single-route"`: single POST endpoint with JSON envelope dispatch
37
+ */
38
+ mode?: "multi-route" | "single-route";
30
39
  /**
31
40
  * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.
32
41
  * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.
33
42
  */
34
43
  cors?: CopilotEndpointCorsConfig;
44
+ /**
45
+ * Lifecycle hooks for request processing.
46
+ */
47
+ hooks?: CopilotRuntimeHooks;
35
48
  }
36
- type CopilotEndpointContext = {
37
- Variables: {
38
- modifiedRequest?: Request;
39
- };
40
- };
41
- declare function createCopilotEndpoint({
49
+ /** @deprecated Use `createCopilotHonoHandler` instead. */
50
+ declare const createCopilotEndpoint: typeof createCopilotHonoHandler;
51
+ declare function createCopilotHonoHandler({
42
52
  runtime,
43
53
  basePath,
44
- cors: corsConfig
45
- }: CopilotEndpointParams): hono_hono_base0.HonoBase<CopilotEndpointContext, {
46
- [x: `${string}/agent/:agentId/run`]: {
47
- $post: {
48
- input: {
49
- param: {
50
- agentId: string;
51
- };
52
- };
53
- output: {};
54
- outputFormat: string;
55
- status: hono_utils_http_status0.StatusCode;
56
- };
57
- };
58
- } & {
59
- [x: `${string}/agent/:agentId/connect`]: {
60
- $post: {
61
- input: {
62
- param: {
63
- agentId: string;
64
- };
65
- };
66
- output: {};
67
- outputFormat: string;
68
- status: hono_utils_http_status0.StatusCode;
69
- };
70
- };
71
- } & {
72
- [x: `${string}/agent/:agentId/stop/:threadId`]: {
73
- $post: {
74
- input: {
75
- param: {
76
- agentId: string;
77
- } & {
78
- threadId: string;
79
- };
80
- };
81
- output: {};
82
- outputFormat: string;
83
- status: hono_utils_http_status0.StatusCode;
84
- };
85
- };
86
- } & {
87
- [x: `${string}/info`]: {
88
- $get: {
89
- input: {};
90
- output: {};
91
- outputFormat: string;
92
- status: hono_utils_http_status0.StatusCode;
93
- };
94
- };
95
- } & {
96
- [x: `${string}/transcribe`]: {
97
- $post: {
54
+ mode,
55
+ cors: corsConfig,
56
+ hooks
57
+ }: CopilotEndpointParams): hono_hono_base0.HonoBase<hono_types0.BlankEnv, {
58
+ [x: `${string}/*`]: {
59
+ $all: {
98
60
  input: {};
99
61
  output: {};
100
62
  outputFormat: string;
101
63
  status: hono_utils_http_status0.StatusCode;
102
64
  };
103
65
  };
104
- } & {
105
- [x: `${string}/threads`]: {
106
- $get: {
107
- input: {};
108
- output: {};
109
- outputFormat: string;
110
- status: hono_utils_http_status0.StatusCode;
111
- };
112
- };
113
- } & {
114
- [x: `${string}/threads/subscribe`]: {
115
- $post: {
116
- input: {};
117
- output: {};
118
- outputFormat: string;
119
- status: hono_utils_http_status0.StatusCode;
120
- };
121
- };
122
- } & {
123
- [x: `${string}/threads/:threadId`]: {
124
- $patch: {
125
- input: {
126
- param: {
127
- threadId: string;
128
- };
129
- };
130
- output: {};
131
- outputFormat: string;
132
- status: hono_utils_http_status0.StatusCode;
133
- };
134
- };
135
- } & {
136
- [x: `${string}/threads/:threadId/archive`]: {
137
- $post: {
138
- input: {
139
- param: {
140
- threadId: string;
141
- };
142
- };
143
- output: {};
144
- outputFormat: string;
145
- status: hono_utils_http_status0.StatusCode;
146
- };
147
- };
148
- } & {
149
- [x: `${string}/threads/:threadId`]: {
150
- $delete: {
151
- input: {
152
- param: {
153
- threadId: string;
154
- };
155
- };
156
- output: {};
157
- outputFormat: string;
158
- status: hono_utils_http_status0.StatusCode;
159
- };
160
- };
161
- }, string, `${string}/threads/:threadId`>;
66
+ }, string, `${string}/*`>;
67
+ /**
68
+ * Convert Hono-specific CORS config to the fetch handler's CopilotCorsConfig.
69
+ */
70
+ declare function toFetchCorsConfig(config: CopilotEndpointCorsConfig): CopilotCorsConfig;
162
71
  //#endregion
163
- export { CopilotEndpointCorsConfig, createCopilotEndpoint };
72
+ export { CopilotEndpointCorsConfig, createCopilotEndpoint, createCopilotHonoHandler, toFetchCorsConfig };
164
73
  //# sourceMappingURL=hono.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hono.d.cts","names":[],"sources":["../../../../src/v2/runtime/endpoints/hono.ts"],"mappings":";;;;;;;;;;UA0BiB,yBAAA;EAAyB;;;;;;;;EASxC,MAAA,wBAGM,MAAA,UAAgB,CAAA;EAQd;;;;EAHR,WAAA;AAAA;AAAA,UAGQ,qBAAA;EACR,OAAA,EAAS,kBAAA;EACT,QAAA;EAKgC;;AAAA;;EAAhC,IAAA,GAAO,yBAAA;AAAA;AAAA,KAIJ,sBAAA;EACH,SAAA;IACE,eAAA,GAAkB,OAAA;EAAA;AAAA;AAAA,iBAIN,qBAAA,CAAA;EACd,OAAA;EACA,QAAA;EACA,IAAA,EAAM;AAAA,GACL,qBAAA,mBAAqB,QAAA,CAAA,sBAAA;EAAA;;;;;;;;;cAAA,uBAAA,CAAA,UAAA;IAAA;EAAA;AAAA;EAAA"}
1
+ {"version":3,"file":"hono.d.cts","names":[],"sources":["../../../../src/v2/runtime/endpoints/hono.ts"],"mappings":";;;;;;;;;;;;;UAUiB,yBAAA;EAAA;;;;;;;;EASf,MAAA,wBAGM,MAAA,UAAgB,CAAA;EAKX;AACZ;;;EADC,WAAA;AAAA;AAAA,UAGQ,qBAAA;EACR,OAAA,EAAS,kBAAA;EACT,QAAA;EADA;;;;;EAQA,IAAA;EAUA;;;;EAJA,IAAA,GAAO,yBAAA;EAOoD;;;EAH3D,KAAA,GAAQ,mBAAA;AAAA;;cAGG,qBAAA,SAAqB,wBAAA;AAAA,iBAElB,wBAAA,CAAA;EACd,OAAA;EACA,QAAA;EACA,IAAA;EACA,IAAA,EAAM,UAAA;EACN;AAAA,GACC,qBAAA,mBAAqB,QAAA,CAAA,WAAA,CAAA,QAAA;EAAA;;;;;cAAA,uBAAA,CAAA,UAAA;IAAA;EAAA;AAAA;;;;iBAiBR,iBAAA,CACd,MAAA,EAAQ,yBAAA,GACP,iBAAA"}