@copilotkit/runtime 1.69.0 → 1.69.1

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 (506) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +1 -15
  2. package/dist/agents/langgraph/events.cjs +1 -1
  3. package/dist/agents/langgraph/events.cjs.map +1 -1
  4. package/dist/agents/langgraph/events.mjs +1 -1
  5. package/dist/agents/langgraph/events.mjs.map +1 -1
  6. package/dist/graphql/inputs/action.input.cjs +1 -1
  7. package/dist/graphql/inputs/action.input.cjs.map +1 -1
  8. package/dist/graphql/inputs/action.input.d.cts +1 -1
  9. package/dist/graphql/inputs/action.input.d.cts.map +1 -1
  10. package/dist/graphql/inputs/action.input.d.mts +1 -1
  11. package/dist/graphql/inputs/action.input.d.mts.map +1 -1
  12. package/dist/graphql/inputs/action.input.mjs +1 -1
  13. package/dist/graphql/inputs/action.input.mjs.map +1 -1
  14. package/dist/graphql/inputs/agent-session.input.cjs +1 -1
  15. package/dist/graphql/inputs/agent-session.input.cjs.map +1 -1
  16. package/dist/graphql/inputs/agent-session.input.d.cts +1 -1
  17. package/dist/graphql/inputs/agent-session.input.d.cts.map +1 -1
  18. package/dist/graphql/inputs/agent-session.input.d.mts +1 -1
  19. package/dist/graphql/inputs/agent-session.input.d.mts.map +1 -1
  20. package/dist/graphql/inputs/agent-session.input.mjs +1 -1
  21. package/dist/graphql/inputs/agent-session.input.mjs.map +1 -1
  22. package/dist/graphql/inputs/agent-state.input.cjs +1 -1
  23. package/dist/graphql/inputs/agent-state.input.cjs.map +1 -1
  24. package/dist/graphql/inputs/agent-state.input.d.cts +1 -1
  25. package/dist/graphql/inputs/agent-state.input.d.cts.map +1 -1
  26. package/dist/graphql/inputs/agent-state.input.d.mts +1 -1
  27. package/dist/graphql/inputs/agent-state.input.d.mts.map +1 -1
  28. package/dist/graphql/inputs/agent-state.input.mjs +1 -1
  29. package/dist/graphql/inputs/agent-state.input.mjs.map +1 -1
  30. package/dist/graphql/inputs/cloud-guardrails.input.cjs +1 -1
  31. package/dist/graphql/inputs/cloud-guardrails.input.cjs.map +1 -1
  32. package/dist/graphql/inputs/cloud-guardrails.input.mjs +1 -1
  33. package/dist/graphql/inputs/cloud-guardrails.input.mjs.map +1 -1
  34. package/dist/graphql/inputs/cloud.input.cjs +1 -1
  35. package/dist/graphql/inputs/cloud.input.cjs.map +1 -1
  36. package/dist/graphql/inputs/cloud.input.mjs +1 -1
  37. package/dist/graphql/inputs/cloud.input.mjs.map +1 -1
  38. package/dist/graphql/inputs/copilot-context.input.cjs +1 -1
  39. package/dist/graphql/inputs/copilot-context.input.cjs.map +1 -1
  40. package/dist/graphql/inputs/copilot-context.input.mjs +1 -1
  41. package/dist/graphql/inputs/copilot-context.input.mjs.map +1 -1
  42. package/dist/graphql/inputs/extensions.input.cjs +1 -1
  43. package/dist/graphql/inputs/extensions.input.cjs.map +1 -1
  44. package/dist/graphql/inputs/extensions.input.d.cts +1 -1
  45. package/dist/graphql/inputs/extensions.input.d.cts.map +1 -1
  46. package/dist/graphql/inputs/extensions.input.d.mts +1 -1
  47. package/dist/graphql/inputs/extensions.input.d.mts.map +1 -1
  48. package/dist/graphql/inputs/extensions.input.mjs +1 -1
  49. package/dist/graphql/inputs/extensions.input.mjs.map +1 -1
  50. package/dist/graphql/inputs/forwarded-parameters.input.cjs +2 -3
  51. package/dist/graphql/inputs/forwarded-parameters.input.cjs.map +1 -1
  52. package/dist/graphql/inputs/forwarded-parameters.input.d.cts +2 -2
  53. package/dist/graphql/inputs/forwarded-parameters.input.d.cts.map +1 -1
  54. package/dist/graphql/inputs/forwarded-parameters.input.d.mts +2 -2
  55. package/dist/graphql/inputs/forwarded-parameters.input.d.mts.map +1 -1
  56. package/dist/graphql/inputs/forwarded-parameters.input.mjs +2 -3
  57. package/dist/graphql/inputs/forwarded-parameters.input.mjs.map +1 -1
  58. package/dist/graphql/inputs/frontend.input.cjs +1 -1
  59. package/dist/graphql/inputs/frontend.input.cjs.map +1 -1
  60. package/dist/graphql/inputs/frontend.input.mjs +1 -1
  61. package/dist/graphql/inputs/frontend.input.mjs.map +1 -1
  62. package/dist/graphql/inputs/generate-copilot-response.input.cjs +1 -1
  63. package/dist/graphql/inputs/generate-copilot-response.input.cjs.map +1 -1
  64. package/dist/graphql/inputs/generate-copilot-response.input.mjs +1 -1
  65. package/dist/graphql/inputs/generate-copilot-response.input.mjs.map +1 -1
  66. package/dist/graphql/inputs/load-agent-state.input.cjs +1 -1
  67. package/dist/graphql/inputs/load-agent-state.input.cjs.map +1 -1
  68. package/dist/graphql/inputs/load-agent-state.input.mjs +1 -1
  69. package/dist/graphql/inputs/load-agent-state.input.mjs.map +1 -1
  70. package/dist/graphql/inputs/message.input.cjs +10 -10
  71. package/dist/graphql/inputs/message.input.cjs.map +1 -1
  72. package/dist/graphql/inputs/message.input.d.cts +2 -2
  73. package/dist/graphql/inputs/message.input.d.cts.map +1 -1
  74. package/dist/graphql/inputs/message.input.d.mts +2 -2
  75. package/dist/graphql/inputs/message.input.d.mts.map +1 -1
  76. package/dist/graphql/inputs/message.input.mjs +10 -10
  77. package/dist/graphql/inputs/message.input.mjs.map +1 -1
  78. package/dist/graphql/inputs/meta-event.input.cjs +1 -1
  79. package/dist/graphql/inputs/meta-event.input.cjs.map +1 -1
  80. package/dist/graphql/inputs/meta-event.input.mjs +1 -1
  81. package/dist/graphql/inputs/meta-event.input.mjs.map +1 -1
  82. package/dist/graphql/message-conversion/agui-to-gql.cjs +1 -1
  83. package/dist/graphql/message-conversion/agui-to-gql.cjs.map +1 -1
  84. package/dist/graphql/message-conversion/agui-to-gql.mjs +1 -1
  85. package/dist/graphql/message-conversion/agui-to-gql.mjs.map +1 -1
  86. package/dist/graphql/resolvers/copilot.resolver.cjs +1 -1
  87. package/dist/graphql/resolvers/copilot.resolver.cjs.map +1 -1
  88. package/dist/graphql/resolvers/copilot.resolver.mjs +1 -1
  89. package/dist/graphql/resolvers/copilot.resolver.mjs.map +1 -1
  90. package/dist/graphql/resolvers/resolve-message-id.cjs +1 -1
  91. package/dist/graphql/resolvers/resolve-message-id.cjs.map +1 -1
  92. package/dist/graphql/resolvers/resolve-message-id.mjs +1 -1
  93. package/dist/graphql/resolvers/resolve-message-id.mjs.map +1 -1
  94. package/dist/graphql/resolvers/state.resolver.cjs +1 -1
  95. package/dist/graphql/resolvers/state.resolver.cjs.map +1 -1
  96. package/dist/graphql/resolvers/state.resolver.mjs +1 -1
  97. package/dist/graphql/resolvers/state.resolver.mjs.map +1 -1
  98. package/dist/graphql/types/agents-response.type.cjs +1 -1
  99. package/dist/graphql/types/agents-response.type.cjs.map +1 -1
  100. package/dist/graphql/types/agents-response.type.mjs +1 -1
  101. package/dist/graphql/types/agents-response.type.mjs.map +1 -1
  102. package/dist/graphql/types/base/index.cjs +1 -1
  103. package/dist/graphql/types/base/index.cjs.map +1 -1
  104. package/dist/graphql/types/base/index.d.cts +1 -1
  105. package/dist/graphql/types/base/index.d.cts.map +1 -1
  106. package/dist/graphql/types/base/index.d.mts +1 -1
  107. package/dist/graphql/types/base/index.d.mts.map +1 -1
  108. package/dist/graphql/types/base/index.mjs +1 -1
  109. package/dist/graphql/types/base/index.mjs.map +1 -1
  110. package/dist/graphql/types/converted/index.cjs +2 -2
  111. package/dist/graphql/types/converted/index.cjs.map +1 -1
  112. package/dist/graphql/types/converted/index.d.cts +1 -1
  113. package/dist/graphql/types/converted/index.d.cts.map +1 -1
  114. package/dist/graphql/types/converted/index.d.mts +1 -1
  115. package/dist/graphql/types/converted/index.d.mts.map +1 -1
  116. package/dist/graphql/types/converted/index.mjs +2 -2
  117. package/dist/graphql/types/converted/index.mjs.map +1 -1
  118. package/dist/graphql/types/copilot-response.type.cjs +1 -1
  119. package/dist/graphql/types/copilot-response.type.cjs.map +1 -1
  120. package/dist/graphql/types/copilot-response.type.d.cts +1 -1
  121. package/dist/graphql/types/copilot-response.type.d.cts.map +1 -1
  122. package/dist/graphql/types/copilot-response.type.d.mts +1 -1
  123. package/dist/graphql/types/copilot-response.type.d.mts.map +1 -1
  124. package/dist/graphql/types/copilot-response.type.mjs +1 -1
  125. package/dist/graphql/types/copilot-response.type.mjs.map +1 -1
  126. package/dist/graphql/types/enums.cjs +1 -1
  127. package/dist/graphql/types/enums.cjs.map +1 -1
  128. package/dist/graphql/types/enums.d.cts +1 -1
  129. package/dist/graphql/types/enums.d.cts.map +1 -1
  130. package/dist/graphql/types/enums.d.mts +1 -1
  131. package/dist/graphql/types/enums.d.mts.map +1 -1
  132. package/dist/graphql/types/enums.mjs +1 -1
  133. package/dist/graphql/types/enums.mjs.map +1 -1
  134. package/dist/graphql/types/extensions-response.type.cjs +1 -1
  135. package/dist/graphql/types/extensions-response.type.cjs.map +1 -1
  136. package/dist/graphql/types/extensions-response.type.d.cts +1 -1
  137. package/dist/graphql/types/extensions-response.type.d.cts.map +1 -1
  138. package/dist/graphql/types/extensions-response.type.d.mts +1 -1
  139. package/dist/graphql/types/extensions-response.type.d.mts.map +1 -1
  140. package/dist/graphql/types/extensions-response.type.mjs +1 -1
  141. package/dist/graphql/types/extensions-response.type.mjs.map +1 -1
  142. package/dist/graphql/types/load-agent-state-response.type.cjs +1 -1
  143. package/dist/graphql/types/load-agent-state-response.type.cjs.map +1 -1
  144. package/dist/graphql/types/load-agent-state-response.type.mjs +1 -1
  145. package/dist/graphql/types/load-agent-state-response.type.mjs.map +1 -1
  146. package/dist/graphql/types/message-status.type.cjs +1 -1
  147. package/dist/graphql/types/message-status.type.cjs.map +1 -1
  148. package/dist/graphql/types/message-status.type.d.cts +1 -1
  149. package/dist/graphql/types/message-status.type.d.cts.map +1 -1
  150. package/dist/graphql/types/message-status.type.d.mts +1 -1
  151. package/dist/graphql/types/message-status.type.d.mts.map +1 -1
  152. package/dist/graphql/types/message-status.type.mjs +1 -1
  153. package/dist/graphql/types/message-status.type.mjs.map +1 -1
  154. package/dist/graphql/types/meta-events.type.cjs +2 -2
  155. package/dist/graphql/types/meta-events.type.cjs.map +1 -1
  156. package/dist/graphql/types/meta-events.type.mjs +2 -2
  157. package/dist/graphql/types/meta-events.type.mjs.map +1 -1
  158. package/dist/graphql/types/response-status.type.cjs +1 -1
  159. package/dist/graphql/types/response-status.type.cjs.map +1 -1
  160. package/dist/graphql/types/response-status.type.d.cts +1 -1
  161. package/dist/graphql/types/response-status.type.d.cts.map +1 -1
  162. package/dist/graphql/types/response-status.type.d.mts +1 -1
  163. package/dist/graphql/types/response-status.type.d.mts.map +1 -1
  164. package/dist/graphql/types/response-status.type.mjs +1 -1
  165. package/dist/graphql/types/response-status.type.mjs.map +1 -1
  166. package/dist/index.d.cts +618 -4
  167. package/dist/index.d.mts +618 -4
  168. package/dist/langgraph.d.cts +54 -1
  169. package/dist/langgraph.d.mts +54 -1
  170. package/dist/lib/cloud/index.d.cts +1 -1
  171. package/dist/lib/cloud/index.d.cts.map +1 -1
  172. package/dist/lib/cloud/index.d.mts +1 -1
  173. package/dist/lib/cloud/index.d.mts.map +1 -1
  174. package/dist/lib/index.cjs +1 -1
  175. package/dist/lib/index.cjs.map +1 -1
  176. package/dist/lib/index.d.cts +2 -2
  177. package/dist/lib/index.d.cts.map +1 -1
  178. package/dist/lib/index.d.mts +2 -2
  179. package/dist/lib/index.d.mts.map +1 -1
  180. package/dist/lib/index.mjs +1 -1
  181. package/dist/lib/index.mjs.map +1 -1
  182. package/dist/lib/integrations/index.d.cts +1 -1
  183. package/dist/lib/integrations/index.d.mts +1 -1
  184. package/dist/lib/integrations/nest/index.cjs +1 -1
  185. package/dist/lib/integrations/nest/index.cjs.map +1 -1
  186. package/dist/lib/integrations/nest/index.d.cts +1 -1
  187. package/dist/lib/integrations/nest/index.d.cts.map +1 -1
  188. package/dist/lib/integrations/nest/index.d.mts +1 -1
  189. package/dist/lib/integrations/nest/index.d.mts.map +1 -1
  190. package/dist/lib/integrations/nest/index.mjs +1 -1
  191. package/dist/lib/integrations/nest/index.mjs.map +1 -1
  192. package/dist/lib/integrations/nextjs/app-router.cjs +1 -1
  193. package/dist/lib/integrations/nextjs/app-router.cjs.map +1 -1
  194. package/dist/lib/integrations/nextjs/app-router.d.cts +1 -1
  195. package/dist/lib/integrations/nextjs/app-router.d.cts.map +1 -1
  196. package/dist/lib/integrations/nextjs/app-router.d.mts +1 -1
  197. package/dist/lib/integrations/nextjs/app-router.d.mts.map +1 -1
  198. package/dist/lib/integrations/nextjs/app-router.mjs +1 -1
  199. package/dist/lib/integrations/nextjs/app-router.mjs.map +1 -1
  200. package/dist/lib/integrations/nextjs/pages-router.cjs +1 -1
  201. package/dist/lib/integrations/nextjs/pages-router.cjs.map +1 -1
  202. package/dist/lib/integrations/nextjs/pages-router.d.cts +1 -2
  203. package/dist/lib/integrations/nextjs/pages-router.d.cts.map +1 -1
  204. package/dist/lib/integrations/nextjs/pages-router.d.mts +1 -2
  205. package/dist/lib/integrations/nextjs/pages-router.d.mts.map +1 -1
  206. package/dist/lib/integrations/nextjs/pages-router.mjs +1 -1
  207. package/dist/lib/integrations/nextjs/pages-router.mjs.map +1 -1
  208. package/dist/lib/integrations/node-express/index.cjs +1 -1
  209. package/dist/lib/integrations/node-express/index.cjs.map +1 -1
  210. package/dist/lib/integrations/node-express/index.d.cts +1 -1
  211. package/dist/lib/integrations/node-express/index.d.cts.map +1 -1
  212. package/dist/lib/integrations/node-express/index.d.mts +1 -1
  213. package/dist/lib/integrations/node-express/index.d.mts.map +1 -1
  214. package/dist/lib/integrations/node-express/index.mjs +1 -1
  215. package/dist/lib/integrations/node-express/index.mjs.map +1 -1
  216. package/dist/lib/integrations/node-http/index.cjs +1 -1
  217. package/dist/lib/integrations/node-http/index.cjs.map +1 -1
  218. package/dist/lib/integrations/node-http/index.d.cts +1 -1
  219. package/dist/lib/integrations/node-http/index.d.cts.map +1 -1
  220. package/dist/lib/integrations/node-http/index.d.mts +1 -1
  221. package/dist/lib/integrations/node-http/index.d.mts.map +1 -1
  222. package/dist/lib/integrations/node-http/index.mjs +1 -1
  223. package/dist/lib/integrations/node-http/index.mjs.map +1 -1
  224. package/dist/lib/integrations/node-http/request-handler.cjs +1 -1
  225. package/dist/lib/integrations/node-http/request-handler.cjs.map +1 -1
  226. package/dist/lib/integrations/node-http/request-handler.mjs +1 -1
  227. package/dist/lib/integrations/node-http/request-handler.mjs.map +1 -1
  228. package/dist/lib/integrations/shared.cjs +1 -1
  229. package/dist/lib/integrations/shared.cjs.map +1 -1
  230. package/dist/lib/integrations/shared.d.cts +30 -4
  231. package/dist/lib/integrations/shared.d.cts.map +1 -1
  232. package/dist/lib/integrations/shared.d.mts +30 -4
  233. package/dist/lib/integrations/shared.d.mts.map +1 -1
  234. package/dist/lib/integrations/shared.mjs +1 -1
  235. package/dist/lib/integrations/shared.mjs.map +1 -1
  236. package/dist/lib/logger.cjs +1 -1
  237. package/dist/lib/logger.cjs.map +1 -1
  238. package/dist/lib/logger.d.cts +1 -1
  239. package/dist/lib/logger.d.cts.map +1 -1
  240. package/dist/lib/logger.d.mts +1 -1
  241. package/dist/lib/logger.d.mts.map +1 -1
  242. package/dist/lib/logger.mjs +1 -1
  243. package/dist/lib/logger.mjs.map +1 -1
  244. package/dist/lib/observability.d.cts +1 -1
  245. package/dist/lib/observability.d.cts.map +1 -1
  246. package/dist/lib/observability.d.mts +1 -1
  247. package/dist/lib/observability.d.mts.map +1 -1
  248. package/dist/lib/runtime/agent-integrations/langgraph/agent.cjs +1 -1
  249. package/dist/lib/runtime/agent-integrations/langgraph/agent.cjs.map +1 -1
  250. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts +13 -3
  251. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts.map +1 -1
  252. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.mts +13 -3
  253. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.mts.map +1 -1
  254. package/dist/lib/runtime/agent-integrations/langgraph/agent.mjs +1 -1
  255. package/dist/lib/runtime/agent-integrations/langgraph/agent.mjs.map +1 -1
  256. package/dist/lib/runtime/agent-integrations/langgraph/consts.cjs +1 -1
  257. package/dist/lib/runtime/agent-integrations/langgraph/consts.cjs.map +1 -1
  258. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.cts +1 -1
  259. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.cts.map +1 -1
  260. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.mts +1 -1
  261. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.mts.map +1 -1
  262. package/dist/lib/runtime/agent-integrations/langgraph/consts.mjs +1 -1
  263. package/dist/lib/runtime/agent-integrations/langgraph/consts.mjs.map +1 -1
  264. package/dist/lib/runtime/copilot-runtime.cjs +9 -1
  265. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  266. package/dist/lib/runtime/copilot-runtime.d.cts +9 -1
  267. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  268. package/dist/lib/runtime/copilot-runtime.d.mts +9 -1
  269. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  270. package/dist/lib/runtime/copilot-runtime.mjs +9 -1
  271. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  272. package/dist/lib/runtime/mcp-tools-utils.cjs +1 -1
  273. package/dist/lib/runtime/mcp-tools-utils.cjs.map +1 -1
  274. package/dist/lib/runtime/mcp-tools-utils.d.cts +1 -1
  275. package/dist/lib/runtime/mcp-tools-utils.d.cts.map +1 -1
  276. package/dist/lib/runtime/mcp-tools-utils.d.mts +1 -1
  277. package/dist/lib/runtime/mcp-tools-utils.d.mts.map +1 -1
  278. package/dist/lib/runtime/mcp-tools-utils.mjs +1 -1
  279. package/dist/lib/runtime/mcp-tools-utils.mjs.map +1 -1
  280. package/dist/lib/runtime/telemetry-agent-runner.cjs +1 -1
  281. package/dist/lib/runtime/telemetry-agent-runner.cjs.map +1 -1
  282. package/dist/lib/runtime/telemetry-agent-runner.d.cts +1 -1
  283. package/dist/lib/runtime/telemetry-agent-runner.d.cts.map +1 -1
  284. package/dist/lib/runtime/telemetry-agent-runner.d.mts +1 -1
  285. package/dist/lib/runtime/telemetry-agent-runner.d.mts.map +1 -1
  286. package/dist/lib/runtime/telemetry-agent-runner.mjs +1 -1
  287. package/dist/lib/runtime/telemetry-agent-runner.mjs.map +1 -1
  288. package/dist/lib/runtime/types.cjs +1 -1
  289. package/dist/lib/runtime/types.cjs.map +1 -1
  290. package/dist/lib/runtime/types.d.cts +1 -1
  291. package/dist/lib/runtime/types.d.cts.map +1 -1
  292. package/dist/lib/runtime/types.d.mts +1 -1
  293. package/dist/lib/runtime/types.d.mts.map +1 -1
  294. package/dist/lib/runtime/types.mjs +1 -1
  295. package/dist/lib/runtime/types.mjs.map +1 -1
  296. package/dist/lib/telemetry-client.cjs +1 -1
  297. package/dist/lib/telemetry-client.cjs.map +1 -1
  298. package/dist/lib/telemetry-client.mjs +2 -2
  299. package/dist/lib/telemetry-client.mjs.map +1 -1
  300. package/dist/lib/telemetry-disclosure.cjs +1 -1
  301. package/dist/lib/telemetry-disclosure.cjs.map +1 -1
  302. package/dist/lib/telemetry-disclosure.mjs +1 -1
  303. package/dist/lib/telemetry-disclosure.mjs.map +1 -1
  304. package/dist/package.cjs +5 -5
  305. package/dist/{runtime/package.mjs → package.mjs} +6 -6
  306. package/dist/package.mjs.map +1 -0
  307. package/dist/service-adapters/anthropic/anthropic-adapter.cjs +1 -1
  308. package/dist/service-adapters/anthropic/anthropic-adapter.cjs.map +1 -1
  309. package/dist/service-adapters/anthropic/anthropic-adapter.d.cts +4 -4
  310. package/dist/service-adapters/anthropic/anthropic-adapter.d.cts.map +1 -1
  311. package/dist/service-adapters/anthropic/anthropic-adapter.d.mts +5 -4
  312. package/dist/service-adapters/anthropic/anthropic-adapter.d.mts.map +1 -1
  313. package/dist/service-adapters/anthropic/anthropic-adapter.mjs +1 -1
  314. package/dist/service-adapters/anthropic/anthropic-adapter.mjs.map +1 -1
  315. package/dist/service-adapters/anthropic/utils.cjs +1 -1
  316. package/dist/service-adapters/anthropic/utils.cjs.map +1 -1
  317. package/dist/service-adapters/anthropic/utils.mjs +1 -1
  318. package/dist/service-adapters/anthropic/utils.mjs.map +1 -1
  319. package/dist/service-adapters/bedrock/bedrock-adapter.cjs +1 -1
  320. package/dist/service-adapters/bedrock/bedrock-adapter.cjs.map +1 -1
  321. package/dist/service-adapters/bedrock/bedrock-adapter.d.cts +1 -1
  322. package/dist/service-adapters/bedrock/bedrock-adapter.d.cts.map +1 -1
  323. package/dist/service-adapters/bedrock/bedrock-adapter.d.mts +1 -1
  324. package/dist/service-adapters/bedrock/bedrock-adapter.d.mts.map +1 -1
  325. package/dist/service-adapters/bedrock/bedrock-adapter.mjs +1 -1
  326. package/dist/service-adapters/bedrock/bedrock-adapter.mjs.map +1 -1
  327. package/dist/service-adapters/empty/empty-adapter.cjs +1 -1
  328. package/dist/service-adapters/empty/empty-adapter.cjs.map +1 -1
  329. package/dist/service-adapters/empty/empty-adapter.d.cts +1 -1
  330. package/dist/service-adapters/empty/empty-adapter.d.cts.map +1 -1
  331. package/dist/service-adapters/empty/empty-adapter.d.mts +1 -1
  332. package/dist/service-adapters/empty/empty-adapter.d.mts.map +1 -1
  333. package/dist/service-adapters/empty/empty-adapter.mjs +1 -1
  334. package/dist/service-adapters/empty/empty-adapter.mjs.map +1 -1
  335. package/dist/service-adapters/events.cjs +1 -1
  336. package/dist/service-adapters/events.cjs.map +1 -1
  337. package/dist/service-adapters/events.d.cts +1 -1
  338. package/dist/service-adapters/events.d.cts.map +1 -1
  339. package/dist/service-adapters/events.d.mts +1 -1
  340. package/dist/service-adapters/events.d.mts.map +1 -1
  341. package/dist/service-adapters/events.mjs +1 -1
  342. package/dist/service-adapters/events.mjs.map +1 -1
  343. package/dist/service-adapters/experimental/ollama/ollama-adapter.cjs +1 -1
  344. package/dist/service-adapters/experimental/ollama/ollama-adapter.cjs.map +1 -1
  345. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.cts +1 -1
  346. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.cts.map +1 -1
  347. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.mts +1 -1
  348. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.mts.map +1 -1
  349. package/dist/service-adapters/experimental/ollama/ollama-adapter.mjs +1 -1
  350. package/dist/service-adapters/experimental/ollama/ollama-adapter.mjs.map +1 -1
  351. package/dist/service-adapters/google/google-genai-adapter.cjs +1 -1
  352. package/dist/service-adapters/google/google-genai-adapter.cjs.map +1 -1
  353. package/dist/service-adapters/google/google-genai-adapter.d.cts +1 -1
  354. package/dist/service-adapters/google/google-genai-adapter.d.cts.map +1 -1
  355. package/dist/service-adapters/google/google-genai-adapter.d.mts +1 -1
  356. package/dist/service-adapters/google/google-genai-adapter.d.mts.map +1 -1
  357. package/dist/service-adapters/google/google-genai-adapter.mjs +1 -1
  358. package/dist/service-adapters/google/google-genai-adapter.mjs.map +1 -1
  359. package/dist/service-adapters/groq/groq-adapter.cjs +1 -1
  360. package/dist/service-adapters/groq/groq-adapter.cjs.map +1 -1
  361. package/dist/service-adapters/groq/groq-adapter.d.cts +4 -4
  362. package/dist/service-adapters/groq/groq-adapter.d.cts.map +1 -1
  363. package/dist/service-adapters/groq/groq-adapter.d.mts +5 -4
  364. package/dist/service-adapters/groq/groq-adapter.d.mts.map +1 -1
  365. package/dist/service-adapters/groq/groq-adapter.mjs +1 -1
  366. package/dist/service-adapters/groq/groq-adapter.mjs.map +1 -1
  367. package/dist/service-adapters/index.d.cts +2 -2
  368. package/dist/service-adapters/index.d.mts +3 -3
  369. package/dist/service-adapters/langchain/langchain-adapter.cjs +1 -1
  370. package/dist/service-adapters/langchain/langchain-adapter.cjs.map +1 -1
  371. package/dist/service-adapters/langchain/langchain-adapter.d.cts +1 -1
  372. package/dist/service-adapters/langchain/langchain-adapter.d.cts.map +1 -1
  373. package/dist/service-adapters/langchain/langchain-adapter.d.mts +1 -1
  374. package/dist/service-adapters/langchain/langchain-adapter.d.mts.map +1 -1
  375. package/dist/service-adapters/langchain/langchain-adapter.mjs +1 -1
  376. package/dist/service-adapters/langchain/langchain-adapter.mjs.map +1 -1
  377. package/dist/service-adapters/langchain/langserve.cjs +1 -1
  378. package/dist/service-adapters/langchain/langserve.cjs.map +1 -1
  379. package/dist/service-adapters/langchain/langserve.d.cts +1 -1
  380. package/dist/service-adapters/langchain/langserve.d.cts.map +1 -1
  381. package/dist/service-adapters/langchain/langserve.d.mts +1 -1
  382. package/dist/service-adapters/langchain/langserve.d.mts.map +1 -1
  383. package/dist/service-adapters/langchain/langserve.mjs +1 -1
  384. package/dist/service-adapters/langchain/langserve.mjs.map +1 -1
  385. package/dist/service-adapters/langchain/types.d.cts +1 -1
  386. package/dist/service-adapters/langchain/types.d.cts.map +1 -1
  387. package/dist/service-adapters/langchain/types.d.mts +1 -1
  388. package/dist/service-adapters/langchain/types.d.mts.map +1 -1
  389. package/dist/service-adapters/langchain/utils.cjs +1 -1
  390. package/dist/service-adapters/langchain/utils.cjs.map +1 -1
  391. package/dist/service-adapters/langchain/utils.mjs +1 -1
  392. package/dist/service-adapters/langchain/utils.mjs.map +1 -1
  393. package/dist/service-adapters/openai/openai-adapter.cjs +1 -1
  394. package/dist/service-adapters/openai/openai-adapter.cjs.map +1 -1
  395. package/dist/service-adapters/openai/openai-adapter.d.cts +1 -1
  396. package/dist/service-adapters/openai/openai-adapter.d.cts.map +1 -1
  397. package/dist/service-adapters/openai/openai-adapter.d.mts +1 -1
  398. package/dist/service-adapters/openai/openai-adapter.d.mts.map +1 -1
  399. package/dist/service-adapters/openai/openai-adapter.mjs +1 -1
  400. package/dist/service-adapters/openai/openai-adapter.mjs.map +1 -1
  401. package/dist/service-adapters/openai/openai-assistant-adapter.cjs +1 -1
  402. package/dist/service-adapters/openai/openai-assistant-adapter.cjs.map +1 -1
  403. package/dist/service-adapters/openai/openai-assistant-adapter.d.cts +1 -1
  404. package/dist/service-adapters/openai/openai-assistant-adapter.d.cts.map +1 -1
  405. package/dist/service-adapters/openai/openai-assistant-adapter.d.mts +1 -1
  406. package/dist/service-adapters/openai/openai-assistant-adapter.d.mts.map +1 -1
  407. package/dist/service-adapters/openai/openai-assistant-adapter.mjs +1 -1
  408. package/dist/service-adapters/openai/openai-assistant-adapter.mjs.map +1 -1
  409. package/dist/service-adapters/openai/utils.cjs +1 -1
  410. package/dist/service-adapters/openai/utils.cjs.map +1 -1
  411. package/dist/service-adapters/openai/utils.mjs +1 -1
  412. package/dist/service-adapters/openai/utils.mjs.map +1 -1
  413. package/dist/service-adapters/service-adapter.d.cts +1 -1
  414. package/dist/service-adapters/service-adapter.d.cts.map +1 -1
  415. package/dist/service-adapters/service-adapter.d.mts +1 -1
  416. package/dist/service-adapters/service-adapter.d.mts.map +1 -1
  417. package/dist/service-adapters/shared/error-utils.cjs +1 -1
  418. package/dist/service-adapters/shared/error-utils.cjs.map +1 -1
  419. package/dist/service-adapters/shared/error-utils.d.cts +1 -1
  420. package/dist/service-adapters/shared/error-utils.d.cts.map +1 -1
  421. package/dist/service-adapters/shared/error-utils.d.mts +1 -1
  422. package/dist/service-adapters/shared/error-utils.d.mts.map +1 -1
  423. package/dist/service-adapters/shared/error-utils.mjs +1 -1
  424. package/dist/service-adapters/shared/error-utils.mjs.map +1 -1
  425. package/dist/service-adapters/shared/index.d.mts +1 -1
  426. package/dist/service-adapters/shared/sdk-client-utils.cjs +1 -1
  427. package/dist/service-adapters/shared/sdk-client-utils.cjs.map +1 -1
  428. package/dist/service-adapters/shared/sdk-client-utils.d.cts +21 -2
  429. package/dist/service-adapters/shared/sdk-client-utils.d.cts.map +1 -1
  430. package/dist/service-adapters/shared/sdk-client-utils.d.mts +21 -2
  431. package/dist/service-adapters/shared/sdk-client-utils.d.mts.map +1 -1
  432. package/dist/service-adapters/shared/sdk-client-utils.mjs +1 -1
  433. package/dist/service-adapters/shared/sdk-client-utils.mjs.map +1 -1
  434. package/dist/service-adapters/unify/unify-adapter.cjs +1 -1
  435. package/dist/service-adapters/unify/unify-adapter.cjs.map +1 -1
  436. package/dist/service-adapters/unify/unify-adapter.d.cts +1 -1
  437. package/dist/service-adapters/unify/unify-adapter.d.cts.map +1 -1
  438. package/dist/service-adapters/unify/unify-adapter.d.mts +1 -1
  439. package/dist/service-adapters/unify/unify-adapter.d.mts.map +1 -1
  440. package/dist/service-adapters/unify/unify-adapter.mjs +1 -1
  441. package/dist/service-adapters/unify/unify-adapter.mjs.map +1 -1
  442. package/dist/utils/failed-response-status-reasons.cjs +1 -1
  443. package/dist/utils/failed-response-status-reasons.cjs.map +1 -1
  444. package/dist/utils/failed-response-status-reasons.d.cts +1 -1
  445. package/dist/utils/failed-response-status-reasons.d.cts.map +1 -1
  446. package/dist/utils/failed-response-status-reasons.d.mts +1 -1
  447. package/dist/utils/failed-response-status-reasons.d.mts.map +1 -1
  448. package/dist/utils/failed-response-status-reasons.mjs +1 -1
  449. package/dist/utils/failed-response-status-reasons.mjs.map +1 -1
  450. package/dist/v2/runtime/core/channel-activation-config.cjs.map +1 -1
  451. package/dist/v2/runtime/core/channel-activation-config.d.cts +2 -2
  452. package/dist/v2/runtime/core/channel-activation-config.d.cts.map +1 -1
  453. package/dist/v2/runtime/core/channel-activation-config.d.mts +2 -2
  454. package/dist/v2/runtime/core/channel-activation-config.d.mts.map +1 -1
  455. package/dist/v2/runtime/core/channel-activation-config.mjs.map +1 -1
  456. package/dist/v2/runtime/core/channel-manager.cjs.map +1 -1
  457. package/dist/v2/runtime/core/channel-manager.d.cts +2 -2
  458. package/dist/v2/runtime/core/channel-manager.d.cts.map +1 -1
  459. package/dist/v2/runtime/core/channel-manager.d.mts +2 -2
  460. package/dist/v2/runtime/core/channel-manager.d.mts.map +1 -1
  461. package/dist/v2/runtime/core/channel-manager.mjs.map +1 -1
  462. package/dist/v2/runtime/core/runtime.cjs +1 -0
  463. package/dist/v2/runtime/core/runtime.cjs.map +1 -1
  464. package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
  465. package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
  466. package/dist/v2/runtime/core/runtime.mjs +2 -1
  467. package/dist/v2/runtime/core/runtime.mjs.map +1 -1
  468. package/dist/v2/runtime/handlers/intelligence/memories.cjs +1 -1
  469. package/dist/v2/runtime/handlers/intelligence/memories.cjs.map +1 -1
  470. package/dist/v2/runtime/handlers/intelligence/memories.mjs +1 -1
  471. package/dist/v2/runtime/handlers/intelligence/memories.mjs.map +1 -1
  472. package/dist/v2/runtime/handlers/intelligence/threads.cjs +1 -1
  473. package/dist/v2/runtime/handlers/intelligence/threads.cjs.map +1 -1
  474. package/dist/v2/runtime/handlers/intelligence/threads.mjs +1 -1
  475. package/dist/v2/runtime/handlers/intelligence/threads.mjs.map +1 -1
  476. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +1 -1
  477. package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
  478. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +1 -1
  479. package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
  480. package/dist/v2/runtime/handlers/shared/sse-response.cjs.map +1 -1
  481. package/dist/v2/runtime/handlers/shared/sse-response.mjs.map +1 -1
  482. package/dist/v2/runtime/handlers/sse/run.cjs.map +1 -1
  483. package/dist/v2/runtime/handlers/sse/run.mjs.map +1 -1
  484. package/dist/v2/runtime/intelligence-platform/client.cjs +6 -6
  485. package/dist/v2/runtime/intelligence-platform/client.cjs.map +1 -1
  486. package/dist/v2/runtime/intelligence-platform/client.d.cts +8 -8
  487. package/dist/v2/runtime/intelligence-platform/client.d.mts +8 -8
  488. package/dist/v2/runtime/intelligence-platform/client.mjs +6 -6
  489. package/dist/v2/runtime/intelligence-platform/client.mjs.map +1 -1
  490. package/dist/v2/runtime/runner/in-memory.cjs +3 -3
  491. package/dist/v2/runtime/runner/in-memory.cjs.map +1 -1
  492. package/dist/v2/runtime/runner/in-memory.d.cts +4 -4
  493. package/dist/v2/runtime/runner/in-memory.d.mts +4 -4
  494. package/dist/v2/runtime/runner/in-memory.mjs +3 -3
  495. package/dist/v2/runtime/runner/in-memory.mjs.map +1 -1
  496. package/dist/v2/runtime/telemetry/telemetry-client.mjs +1 -1
  497. package/package.json +6 -6
  498. package/skills/runtime/SKILL.md +1 -1
  499. package/skills/runtime/references/agent-runners-custom.md +1 -1
  500. package/skills/runtime/references/agent-runners.md +11 -5
  501. package/skills/runtime/references/intelligence-mode.md +1 -1
  502. package/dist/channels/dist/index.d.cts +0 -10
  503. package/dist/channels/dist/index.d.cts.map +0 -1
  504. package/dist/channels/dist/index.d.mts +0 -10
  505. package/dist/channels/dist/index.d.mts.map +0 -1
  506. package/dist/runtime/package.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-runtime.d.mts","names":[],"sources":["../../../src/lib/runtime/copilot-runtime.ts"],"mappings":"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"}
1
+ {"version":3,"file":"copilot-runtime.d.mts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/copilot-runtime.ts"],"mappings":";;;;;;;;;;;;;;;;KAmIK,uBAAA,IACH,MAAA,EAAQ,iBAAA,KACL,OAAA,CAAQ,SAAA;AAAA,KAER,oBAAA,WAA+B,SAAA,gBAChC,MAAA,CAAO,CAAA,QACL,GAAA;EAAO,UAAA;EAAiB,GAAA;AAAA,MAAmB,MAAA,CAAO,CAAA;AAAA,UAE9C,sBAAA;EACR,QAAA;EACA,KAAA;EACA,aAAA,EAAe,SAAA;EACf,UAAA;EACA,GAAA;AAAA;AAAA,KAGG,sBAAA,IACH,OAAA,EAAS,sBAAA,YACC,OAAA;AAAA,UAEF,qBAAA;EACR,QAAA;EACA,KAAA;EACA,aAAA,EAAe,SAAA;EACf,cAAA,EAAgB,SAAA;EAChB,UAAA;EACA,GAAA;AAAA;AAAA,KAGG,qBAAA,IACH,OAAA,EAAS,qBAAA,YACC,OAAA;AAAA,UAEF,uBAAA;EACR,QAAA;EACA,KAAA;EACA,GAAA;EACA,SAAA;EACA,WAAA,EAAa,YAAA;AAAA;AAAA,KAEV,uBAAA,IACH,OAAA,EAAS,uBAAA,YACC,OAAA;AAAA,UAEF,YAAA;EAtCG;;;EAAoC;;;;EA8C/C,eAAA,GAAkB,sBAAA;EA5CY;;;EAC9B;;;;EAoDA,cAAA,GAAiB,qBAAA;AAAA;AAAA,UAGF,oCAAA,WACL,SAAA;EApDP;AAAA;;;;;;;;;AAKc;;;;;;;;;;;;EAQd;;AAAA;;EAmEH,UAAA,GAAa,YAAA;EAKb,OAAA,GAAU,oBAAA,CAAqB,CAAA;EAK/B,aAAA,GAAgB,kBAAA;EAKhB,eAAA,GAAkB,kBAAA;EAKlB,SAAA,GAAY,qBAAA;EAlFK;;AAAA;EAuFjB,MAAA,GAAS,WAAA;EAcT,MAAA,GAAS,MAAA,SAAe,aAAA;EAQxB,uCAAA;EA1GA;;;;;;;;AAIyB;;;;;;;;EAwHzB,eAAA,GAAkB,0BAAA;EAlHV;;;;;;EA0HR,UAAA,GAAa,iBAAA;EAzGI;;;AAGnB;;;;;;;;;;;;;;;;;;;;;;EAiIE,eAAA,GAAkB,uBAAA;EApGlB;;;;;;;;;;;;;;EAoHA,OAAA,GAAU,mBAAA;EAEV,gBAAA,GAAmB,uBAAA;EAvEnB;;;;;;;;;;;EAoFA,KAAA,GAAQ,WAAA;AAAA;AAAA,UAqBA,+BAAA,WAA0C,SAAA,sBAEhD,IAAA,CAAK,oCAAA,CAAqC,CAAA,cAC1C,IAAA,CAAK,qBAAA;EAxBY;AAQpB;;;;;;;EAyBC,MAAA,GAAS,YAAA;EAET,YAAA,GAAe,iCAAA;EACf,YAAA,GAAe,iCAAA;EACf,MAAA,GAAS,iCAAA;EACT,QAAA,GAAW,iCAAA;EACX,SAAA,GAAY,iCAAA;EACZ,mBAAA,GAAsB,iCAAA;EACtB,cAAA,GAAiB,iCAAA;EACjB,WAAA,GAAc,iCAAA;EACd,cAAA,GAAiB,iCAAA;EACjB,aAAA,GAAgB,iCAAA;EAChB,4BAAA,GAA+B,iCAAA;AAAA;;;;;;;;;;;;cAcpB,cAAA,iBAA+B,SAAA;EAC1C,MAAA,GAAS,+BAAA,CAAgC,CAAA;EAAA,QACjC,aAAA;EAAA,QAEA,aAAA;EAAA,QAEA,WAAA;EAAA,QACA,SAAA;cAEI,MAAA,GAAS,+BAAA,CAAgC,CAAA;EAAA,IAgGjD,QAAA,CAAA,GAAQ,gBAAA;EAAA,QAQJ,uBAAA;EAsBR,oBAAA,CAAqB,cAAA,EAAgB,qBAAA;EAAA,QA4D7B,mBAAA;EAAA,QAuBA,mBAAA;EAAA,QAqCA,4BAAA;EAAA,QAsEA,2BAAA;EAvVS;;;EAAA,QA8XH,6BAAA;EA5XG;;;EAAA,QAyYT,4BAAA;EAAA,QAiDM,eAAA;AAAA;AAAA,iBAoGA,kBAAA,CACd,MAAA,EAAQ,IAAA,CAAK,kBAAA,YACZ,kBAAA;AAAA,iBAOa,yBAAA,CACd,MAAA,EAAQ,IAAA,CAAK,yBAAA,YACZ,yBAAA;AAAA,iBAOa,mBAAA,CAAoB,QAAA,EAAU,kBAAA,GAAkB,YAAA"}
@@ -11,7 +11,7 @@ import { BuiltInAgent } from "../../agent/index.mjs";
11
11
  import telemetryClient from "../telemetry-client.mjs";
12
12
  import { CopilotKitMisuseError, getZodParameters, isTelemetryDisabled, readBody } from "@copilotkit/shared";
13
13
 
14
- //#region src/lib/runtime/copilot-runtime.ts
14
+ //#region src/v1-deprecated/lib/runtime/copilot-runtime.ts
15
15
  /**
16
16
  * <Callout type="info">
17
17
  * This is the reference for the `CopilotRuntime` class. For more information and example code snippets, please see [Concept: Copilot Runtime](/backend/copilot-runtime).
@@ -27,6 +27,14 @@ import { CopilotKitMisuseError, getZodParameters, isTelemetryDisabled, readBody
27
27
  */
28
28
  /**
29
29
  * Central runtime object passed to all request handlers.
30
+ * @deprecated The v1 SDK is deprecated. Use v2 instead. Use `CopilotRuntime` from `@copilotkit/runtime/v2` instead.
31
+ *
32
+ * ```tsx
33
+ * import { CopilotRuntime } from "@copilotkit/runtime/v2";
34
+ *
35
+ * const runtime = new CopilotRuntime({ agents: {} });
36
+ * ```
37
+ * See https://docs.copilotkit.ai/runtime-server-adapter
30
38
  */
31
39
  var CopilotRuntime = class {
32
40
  constructor(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-runtime.mjs","names":["CopilotRuntimeVNext"],"sources":["../../../src/lib/runtime/copilot-runtime.ts"],"sourcesContent":["/**\n * <Callout type=\"info\">\n * This is the reference for the `CopilotRuntime` class. For more information and example code snippets, please see [Concept: Copilot Runtime](/backend/copilot-runtime).\n * </Callout>\n *\n * ## Usage\n *\n * ```tsx\n * import { CopilotRuntime } from \"@copilotkit/runtime\";\n *\n * const copilotKit = new CopilotRuntime();\n * ```\n */\n\nimport {\n CopilotKitMisuseError,\n readBody,\n getZodParameters,\n isTelemetryDisabled,\n} from \"@copilotkit/shared\";\nimport type {\n Action,\n CopilotErrorHandler,\n MaybePromise,\n NonEmptyRecord,\n Parameter,\n PartialBy,\n DebugConfig,\n} from \"@copilotkit/shared\";\nimport type { RunAgentInput } from \"@ag-ui/core\";\nimport { aguiToGQL } from \"../../graphql/message-conversion/agui-to-gql\";\nimport type {\n CopilotServiceAdapter,\n RemoteChainParameters,\n} from \"../../service-adapters\";\nimport {\n CopilotRuntime as CopilotRuntimeVNext,\n InMemoryAgentRunner,\n} from \"../../v2/runtime\";\nimport {\n createRuntimeErrorReporter,\n runtimeErrorReporterOption,\n} from \"../../v2/runtime/core/runtime-error-reporter\";\nimport type { RuntimeErrorReporterOptions } from \"../../v2/runtime/core/runtime-error-reporter\";\nimport type {\n CopilotIntelligenceRuntimeOptions,\n CopilotRuntimeOptions,\n CopilotRuntimeOptions as CopilotRuntimeOptionsVNext,\n AgentRunner,\n AgentsConfig,\n AgentsFactory,\n AgentFactoryContext,\n} from \"../../v2/runtime\";\n\nexport type { AgentsConfig, AgentsFactory, AgentFactoryContext };\nimport { TelemetryAgentRunner } from \"./telemetry-agent-runner\";\nimport telemetry from \"../telemetry-client\";\nimport { logRuntimeTelemetryDisclosure } from \"../telemetry-disclosure\";\n\nimport type { MessageInput } from \"../../graphql/inputs/message.input\";\nimport type { Message } from \"../../graphql/types/converted\";\n\nimport { EndpointType } from \"./types\";\nimport type {\n EndpointDefinition,\n CopilotKitEndpoint,\n LangGraphPlatformEndpoint,\n} from \"./types\";\n\nimport type {\n CopilotObservabilityConfig,\n LLMRequestData,\n LLMResponseData,\n} from \"../observability\";\nimport type { AbstractAgent } from \"@ag-ui/client\";\n\n// +++ MCP Imports +++\nimport { extractParametersFromSchema } from \"./mcp-tools-utils\";\nimport type { MCPClient, MCPEndpointConfig, MCPTool } from \"./mcp-tools-utils\";\nimport { BuiltInAgent } from \"../../agent\";\nimport type { BuiltInAgentClassicConfig } from \"../../agent\";\n// Define the function type alias here or import if defined elsewhere\ntype CreateMCPClientFunction = (\n config: MCPEndpointConfig,\n) => Promise<MCPClient>;\n\ntype ActionsConfiguration<T extends Parameter[] | [] = []> =\n | Action<T>[]\n | ((ctx: { properties: any; url?: string }) => Action<T>[]);\n\ninterface OnBeforeRequestOptions {\n threadId?: string;\n runId?: string;\n inputMessages: Message[];\n properties: any;\n url?: string;\n}\n\ntype OnBeforeRequestHandler = (\n options: OnBeforeRequestOptions,\n) => void | Promise<void>;\n\ninterface OnAfterRequestOptions {\n threadId: string;\n runId?: string;\n inputMessages: Message[];\n outputMessages: Message[];\n properties: any;\n url?: string;\n}\n\ntype OnAfterRequestHandler = (\n options: OnAfterRequestOptions,\n) => void | Promise<void>;\n\ninterface OnStopGenerationOptions {\n threadId: string;\n runId?: string;\n url?: string;\n agentName?: string;\n lastMessage: MessageInput;\n}\ntype OnStopGenerationHandler = (\n options: OnStopGenerationOptions,\n) => void | Promise<void>;\n\ninterface Middleware {\n /**\n * A function that is called before the request is processed.\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n onBeforeRequest?: OnBeforeRequestHandler;\n\n /**\n * A function that is called after the request is processed.\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n onAfterRequest?: OnAfterRequestHandler;\n}\n\nexport interface CopilotRuntimeConstructorParams_BASE<\n T extends Parameter[] | [] = [],\n> {\n /**\n * Middleware to be used by the runtime.\n *\n * ```ts\n * onBeforeRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n *\n * ```ts\n * onAfterRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * outputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n middleware?: Middleware;\n\n /*\n * A list of server side actions that can be executed. Will be ignored when remoteActions are set\n */\n actions?: ActionsConfiguration<T>;\n\n /*\n * Deprecated: Use `remoteEndpoints`.\n */\n remoteActions?: CopilotKitEndpoint[];\n\n /*\n * A list of remote actions that can be executed.\n */\n remoteEndpoints?: EndpointDefinition[];\n\n /*\n * An array of LangServer URLs.\n */\n langserve?: RemoteChainParameters[];\n\n /**\n * Optional agent runner to use for SSE runtime.\n */\n runner?: AgentRunner;\n\n /*\n * A map of agent names to AGUI agents.\n * Example agent config:\n * ```ts\n * import { AbstractAgent } from \"@ag-ui/client\";\n * // ...\n * agents: {\n * \"support\": new CustomerSupportAgent(),\n * \"technical\": new TechnicalAgent()\n * }\n * ```\n */\n agents?: Record<string, AbstractAgent>;\n\n /*\n * Delegates agent state processing to the service adapter.\n *\n * When enabled, individual agent state requests will not be processed by the agent itself.\n * Instead, all processing will be handled by the service adapter.\n */\n delegateAgentProcessingToServiceAdapter?: boolean;\n\n /**\n * Configuration for LLM request/response logging.\n *\n * Example logging config:\n * ```ts\n * logging: {\n * enabled: true, // Enable or disable logging\n * progressive: true, // Set to false for buffered logging\n * logger: {\n * logRequest: (data) => langfuse.trace({ name: \"LLM Request\", input: data }),\n * logResponse: (data) => langfuse.trace({ name: \"LLM Response\", output: data }),\n * logError: (errorData) => langfuse.trace({ name: \"LLM Error\", metadata: errorData }),\n * },\n * }\n * ```\n */\n observability_c?: CopilotObservabilityConfig;\n\n /**\n * Configuration for connecting to Model Context Protocol (MCP) servers.\n * Allows fetching and using tools defined on external MCP-compliant servers.\n * Requires providing the `createMCPClient` function during instantiation.\n * @experimental\n */\n mcpServers?: MCPEndpointConfig[];\n\n /**\n * A function that creates an MCP client instance for a given endpoint configuration.\n * This function is responsible for using the appropriate MCP client library\n * (e.g., `@copilotkit/runtime`, `ai`) to establish a connection.\n * Required if `mcpServers` is provided.\n *\n * ```typescript\n * import { experimental_createMCPClient } from \"ai\"; // Import from vercel ai library\n * // ...\n * const runtime = new CopilotRuntime({\n * mcpServers: [{ endpoint: \"...\" }],\n * async createMCPClient(config) {\n * return await experimental_createMCPClient({\n * transport: {\n * type: \"sse\",\n * url: config.endpoint,\n * headers: config.apiKey\n * ? { Authorization: `Bearer ${config.apiKey}` }\n * : undefined,\n * },\n * });\n * }\n * });\n * ```\n */\n createMCPClient?: CreateMCPClientFunction;\n\n /**\n * Optional error handler for comprehensive debugging and observability.\n *\n * @param errorEvent - Structured error event with rich debugging context\n *\n * @example\n * ```typescript\n * const runtime = new CopilotRuntime({\n * onError: (errorEvent) => {\n * debugDashboard.capture(errorEvent);\n * }\n * });\n * ```\n */\n onError?: CopilotErrorHandler;\n\n onStopGeneration?: OnStopGenerationHandler;\n\n /**\n * Enable debug logging for the runtime event pipeline.\n * Pass `true` for full output, or an object for granular control:\n *\n * ```ts\n * const runtime = new CopilotRuntime({\n * debug: true,\n * // or: debug: { events: true, lifecycle: true, verbose: false }\n * });\n * ```\n */\n debug?: DebugConfig;\n\n // /** Optional transcription service for audio processing. */\n // transcriptionService?: CopilotRuntimeOptionsVNext[\"transcriptionService\"];\n // /** Optional *before* middleware – callback function or webhook URL. */\n // beforeRequestMiddleware?: CopilotRuntimeOptionsVNext[\"beforeRequestMiddleware\"];\n // /** Optional *after* middleware – callback function or webhook URL. */\n // afterRequestMiddleware?: CopilotRuntimeOptionsVNext[\"afterRequestMiddleware\"];\n}\n\ntype BeforeRequestMiddleware =\n CopilotRuntimeOptionsVNext[\"beforeRequestMiddleware\"];\ntype AfterRequestMiddleware =\n CopilotRuntimeOptionsVNext[\"afterRequestMiddleware\"];\ntype BeforeRequestMiddlewareFn = Exclude<BeforeRequestMiddleware, string>;\ntype BeforeRequestMiddlewareFnParameters =\n Parameters<BeforeRequestMiddlewareFn>;\ntype BeforeRequestMiddlewareFnResult = ReturnType<BeforeRequestMiddlewareFn>;\ntype AfterRequestMiddlewareFn = Exclude<AfterRequestMiddleware, string>;\ntype AfterRequestMiddlewareFnParameters = Parameters<AfterRequestMiddlewareFn>;\n\ninterface CopilotRuntimeConstructorParams<T extends Parameter[] | [] = []>\n extends\n Omit<CopilotRuntimeConstructorParams_BASE<T>, \"agents\">,\n Omit<CopilotRuntimeOptionsVNext, \"agents\" | \"transcriptionService\"> {\n /**\n * TODO: un-omit `transcriptionService` above once it's supported\n *\n * This satisfies...\n * – the optional constraint in `CopilotRuntimeConstructorParams_BASE`\n * – the `MaybePromise<NonEmptyRecord<T>>` constraint in `CopilotRuntimeOptionsVNext`\n * – the `Record<string, AbstractAgent>` constraint in `both\n */\n agents?: AgentsConfig;\n\n intelligence?: CopilotIntelligenceRuntimeOptions[\"intelligence\"];\n identifyUser?: CopilotIntelligenceRuntimeOptions[\"identifyUser\"];\n memory?: CopilotIntelligenceRuntimeOptions[\"memory\"];\n channels?: CopilotIntelligenceRuntimeOptions[\"channels\"];\n ɵlearning?: CopilotIntelligenceRuntimeOptions[\"ɵlearning\"];\n generateThreadNames?: CopilotIntelligenceRuntimeOptions[\"generateThreadNames\"];\n maxReconnectMs?: CopilotIntelligenceRuntimeOptions[\"maxReconnectMs\"];\n maxRejoinMs?: CopilotIntelligenceRuntimeOptions[\"maxRejoinMs\"];\n lockTtlSeconds?: CopilotIntelligenceRuntimeOptions[\"lockTtlSeconds\"];\n lockKeyPrefix?: CopilotIntelligenceRuntimeOptions[\"lockKeyPrefix\"];\n lockHeartbeatIntervalSeconds?: CopilotIntelligenceRuntimeOptions[\"lockHeartbeatIntervalSeconds\"];\n}\n\n/**\n * Central runtime object passed to all request handlers.\n */\nexport class CopilotRuntime<const T extends Parameter[] | [] = []> {\n params?: CopilotRuntimeConstructorParams<T>;\n private observability?: CopilotObservabilityConfig;\n // Cache MCP tools per endpoint to avoid re-fetching repeatedly\n private mcpToolsCache: Map<string, BuiltInAgentClassicConfig[\"tools\"]> =\n new Map();\n private runtimeArgs: CopilotRuntimeOptions & RuntimeErrorReporterOptions;\n private _instance: CopilotRuntimeVNext;\n\n constructor(params?: CopilotRuntimeConstructorParams<T>) {\n logRuntimeTelemetryDisclosure();\n\n const agents = params?.agents ?? {};\n const endpointAgents = this.assignEndpointsToAgents(\n params?.remoteEndpoints ?? [],\n );\n\n // Merge endpoint agents with user-provided agents.\n // When agents is a factory function, wrap it so endpoint agents are merged\n // at resolution time (spreading a function produces {} — silent data loss).\n let mergedAgents: AgentsConfig;\n if (typeof agents === \"function\") {\n mergedAgents = async (ctx) => {\n const resolved = await agents(ctx);\n return { ...endpointAgents, ...resolved };\n };\n } else {\n mergedAgents = Promise.resolve(agents).then((resolved) => ({\n ...endpointAgents,\n ...resolved,\n }));\n }\n\n // Determine the base runner (user-provided or default)\n const baseRunner = params?.runner ?? new InMemoryAgentRunner();\n\n // Wrap with TelemetryAgentRunner unless telemetry is disabled\n // This ensures we always capture agent execution telemetry when enabled,\n // even if the user provides their own custom runner\n const runner = isTelemetryDisabled()\n ? baseRunner\n : new TelemetryAgentRunner({ runner: baseRunner });\n\n // Match license-verifier's env fallback so telemetry attribution\n // resolves the same way as feature gating — otherwise customers who\n // set only COPILOTKIT_LICENSE_TOKEN would get a working license but\n // anonymous telemetry. Only used here for the telemetry setter; the\n // v2 runtime applies the same fallback to runtimeArgs.licenseToken\n // on its own.\n const resolvedLicenseToken =\n params?.licenseToken ?? process.env.COPILOTKIT_LICENSE_TOKEN;\n if (resolvedLicenseToken) {\n telemetry.setLicenseToken(resolvedLicenseToken);\n }\n\n const sharedRuntimeArgs = {\n agents: mergedAgents,\n licenseToken: params?.licenseToken,\n debug: params?.debug,\n // TODO: add support for transcriptionService from CopilotRuntimeOptionsVNext once it is ready\n // transcriptionService: params?.transcriptionService,\n\n beforeRequestMiddleware:\n this.createOnBeforeRequestHandler(params).bind(this),\n ...(params?.afterRequestMiddleware || params?.middleware?.onAfterRequest\n ? {\n afterRequestMiddleware:\n this.createOnAfterRequestHandler(params).bind(this),\n }\n : {}),\n a2ui: params?.a2ui,\n mcpApps: params?.mcpApps,\n openGenerativeUI: params?.openGenerativeUI,\n [runtimeErrorReporterOption]: createRuntimeErrorReporter(params?.onError),\n forwardHeaders: params?.forwardHeaders,\n exposeMemoryRoutes: params?.exposeMemoryRoutes,\n };\n if (params?.intelligence !== undefined) {\n // The compatibility constructor keeps Intelligence identity optional at\n // compile time, while the v2 runtime checks that callers supply web\n // identity, Channels, or both. Preserve that runtime validation here.\n this.runtimeArgs = {\n ...sharedRuntimeArgs,\n intelligence: params.intelligence,\n identifyUser: params.identifyUser,\n memory: params.memory,\n channels: params.channels,\n ɵlearning: params.ɵlearning,\n generateThreadNames: params.generateThreadNames,\n maxReconnectMs: params.maxReconnectMs,\n maxRejoinMs: params.maxRejoinMs,\n lockTtlSeconds: params.lockTtlSeconds,\n lockKeyPrefix: params.lockKeyPrefix,\n lockHeartbeatIntervalSeconds: params.lockHeartbeatIntervalSeconds,\n } as CopilotRuntimeOptions;\n } else {\n this.runtimeArgs = {\n ...sharedRuntimeArgs,\n runner,\n };\n }\n this.params = params;\n this.observability = params?.observability_c;\n }\n\n get instance() {\n if (!this._instance) {\n this._instance = new CopilotRuntimeVNext(this.runtimeArgs);\n }\n\n return this._instance;\n }\n\n private assignEndpointsToAgents(\n endpoints: CopilotRuntimeConstructorParams<T>[\"remoteEndpoints\"],\n ): Record<string, AbstractAgent> {\n let result: Record<string, AbstractAgent> = {};\n\n if (\n endpoints.some(\n (endpoint) =>\n resolveEndpointType(endpoint) == EndpointType.LangGraphPlatform,\n )\n ) {\n throw new CopilotKitMisuseError({\n message:\n \"LangGraphPlatformEndpoint in remoteEndpoints is deprecated. \" +\n 'Please use the \"agents\" option instead with LangGraphAgent from \"@copilotkit/runtime/langgraph\". ' +\n 'Example: agents: { myAgent: new LangGraphAgent({ deploymentUrl: \"...\", graphId: \"...\" }) }',\n });\n }\n\n return result;\n }\n\n handleServiceAdapter(serviceAdapter: CopilotServiceAdapter) {\n this.runtimeArgs.agents = Promise.resolve(\n this.runtimeArgs.agents ?? {},\n ).then(async (agents) => {\n // An AgentsFactory function has no enumerable keys, so it flows through\n // this path the same way an empty record does.\n let agentsList = agents as Record<string, AbstractAgent>;\n const isAgentsListEmpty = !Object.keys(agents).length;\n const hasServiceAdapter = Boolean(serviceAdapter);\n const illegalServiceAdapterNames = [\"EmptyAdapter\"];\n const serviceAdapterCanBeUsedForAgent =\n !illegalServiceAdapterNames.includes(serviceAdapter.name);\n\n if (\n isAgentsListEmpty &&\n (!hasServiceAdapter || !serviceAdapterCanBeUsedForAgent)\n ) {\n throw new CopilotKitMisuseError({\n message:\n \"No default agent provided. Please provide a default agent in the runtime config.\",\n });\n }\n\n if (isAgentsListEmpty) {\n const languageModel = serviceAdapter.getLanguageModel?.();\n if (languageModel) {\n // Adapter exposes a pre-configured LanguageModel (e.g. OpenAI/Anthropic adapters)\n agentsList.default = new BuiltInAgent({ model: languageModel });\n } else if (serviceAdapter.provider && serviceAdapter.model) {\n // Adapter exposes provider/model strings\n agentsList.default = new BuiltInAgent({\n model: `${serviceAdapter.provider}/${serviceAdapter.model}`,\n });\n } else {\n throw new CopilotKitMisuseError({\n message:\n `Service adapter \"${serviceAdapter.name ?? \"unknown\"}\" does not provide model information. ` +\n `When using adapters like LangChainAdapter without an explicit agents list, ` +\n `please provide a default agent in the runtime config. Example:\\n` +\n ` new CopilotRuntime({\\n` +\n ` agents: { default: new BuiltInAgent({ model: \"openai/gpt-4o\" }) }\\n` +\n ` })`,\n });\n }\n }\n\n const actions = this.params?.actions;\n if (actions) {\n const mcpTools = await this.getToolsFromMCP();\n agentsList = this.assignToolsToAgents(agentsList, [\n ...this.getToolsFromActions(actions),\n ...mcpTools,\n ]);\n }\n\n return agentsList;\n });\n }\n\n // Receive this.params.action and turn it into the AbstractAgent tools\n private getToolsFromActions(\n actions: ActionsConfiguration<any>,\n ): BuiltInAgentClassicConfig[\"tools\"] {\n // Resolve actions to an array (handle function case)\n const actionsArray =\n typeof actions === \"function\"\n ? actions({ properties: {}, url: undefined })\n : actions;\n\n // Convert each Action to a ToolDefinition\n return actionsArray.map((action) => {\n // Convert JSON schema to Zod schema\n const zodSchema = getZodParameters(action.parameters || []);\n\n return {\n name: action.name,\n description: action.description || \"\",\n parameters: zodSchema,\n execute: () => Promise.resolve(),\n };\n });\n }\n\n private assignToolsToAgents(\n agents: Record<string, AbstractAgent>,\n tools: BuiltInAgentClassicConfig[\"tools\"],\n ): Record<string, AbstractAgent> {\n if (!tools?.length) {\n return agents;\n }\n\n const enrichedAgents: Record<string, AbstractAgent> = { ...agents };\n\n for (const [agentId, agent] of Object.entries(enrichedAgents)) {\n const existingConfig = (Reflect.get(agent, \"config\") ?? {}) as Record<\n string,\n unknown\n >;\n\n // Skip factory-mode agents — they don't have a tools property\n if (\"factory\" in existingConfig) {\n continue;\n }\n\n const classicConfig =\n existingConfig as unknown as BuiltInAgentClassicConfig;\n const existingTools = classicConfig.tools ?? [];\n\n const updatedConfig: BuiltInAgentClassicConfig = {\n ...classicConfig,\n tools: [...existingTools, ...tools],\n };\n\n Reflect.set(agent, \"config\", updatedConfig);\n enrichedAgents[agentId] = agent;\n }\n\n return enrichedAgents;\n }\n\n private createOnBeforeRequestHandler(\n params?: CopilotRuntimeConstructorParams<T> &\n PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n return async (hookParams: BeforeRequestMiddlewareFnParameters[0]) => {\n const { request } = hookParams;\n\n // Capture telemetry for copilot request creation\n const publicApiKey = request.headers.get(\"x-copilotcloud-public-api-key\");\n const body = (await readBody(request)) as RunAgentInput;\n\n const forwardedProps = body?.forwardedProps as\n | {\n cloud?: { guardrails?: unknown };\n metadata?: { requestType?: string };\n }\n | undefined;\n\n // Get cloud base URL from environment or default\n const cloudBaseUrl =\n process.env.COPILOT_CLOUD_BASE_URL || \"https://api.cloud.copilotkit.ai\";\n\n telemetry.capture(\"oss.runtime.copilot_request_created\", {\n \"cloud.guardrails.enabled\":\n forwardedProps?.cloud?.guardrails !== undefined,\n requestType: forwardedProps?.metadata?.requestType ?? \"unknown\",\n \"cloud.api_key_provided\": !!publicApiKey,\n ...(publicApiKey ? { \"cloud.public_api_key\": publicApiKey } : {}),\n \"cloud.base_url\": cloudBaseUrl,\n });\n\n // We do not process middleware for the internal GET requests\n if (request.method === \"GET\" || !body) return;\n\n // TODO: get public api key and run with expected data\n // if (this.observability?.enabled && this.params.publicApiKey) {\n // this.logObservabilityBeforeRequest()\n // }\n\n // TODO: replace hooksParams top argument type with BeforeRequestMiddlewareParameters when exported\n const middlewareResult =\n await params?.beforeRequestMiddleware?.(hookParams);\n\n if (params?.middleware?.onBeforeRequest) {\n const { request, runtime, path } = hookParams;\n const gqlMessages = (aguiToGQL(body.messages) as Message[]).reduce(\n (acc, msg) => {\n if (\"role\" in msg && msg.role === \"user\") {\n acc.inputMessages.push(msg);\n } else {\n acc.outputMessages.push(msg);\n }\n return acc;\n },\n { inputMessages: [] as Message[], outputMessages: [] as Message[] },\n );\n const { inputMessages, outputMessages } = gqlMessages;\n params.middleware.onBeforeRequest({\n threadId: body.threadId,\n runId: body.runId,\n inputMessages,\n properties: body.forwardedProps,\n url: request.url,\n } satisfies OnBeforeRequestOptions);\n }\n\n return middlewareResult;\n };\n }\n\n private createOnAfterRequestHandler(\n params?: CopilotRuntimeConstructorParams<T> &\n PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n return async (hookParams: AfterRequestMiddlewareFnParameters[0]) => {\n // TODO: get public api key and run with expected data\n // if (this.observability?.enabled && publicApiKey) {\n // this.logObservabilityAfterRequest()\n // }\n\n // TODO: replace hooksParams top argument type with AfterRequestMiddlewareParameters when exported\n params?.afterRequestMiddleware?.(hookParams);\n\n if (params?.middleware?.onAfterRequest) {\n const messages = hookParams.messages ?? [];\n params.middleware.onAfterRequest({\n threadId: hookParams.threadId ?? \"\",\n runId: hookParams.runId,\n inputMessages: messages.filter(\n (m): m is typeof m & { role: string } =>\n \"role\" in m && m.role === \"user\",\n ) as unknown as Message[],\n outputMessages: messages.filter(\n (m): m is typeof m & { role: string } =>\n \"role\" in m && m.role !== \"user\",\n ) as unknown as Message[],\n // TODO: forward actual properties once the after-request hook has access to the request body\n properties: {},\n url: hookParams.path,\n } satisfies OnAfterRequestOptions);\n }\n };\n }\n\n // Observability Methods\n\n /**\n * Log LLM request if observability is enabled\n */\n private async logObservabilityBeforeRequest(\n requestData: LLMRequestData,\n ): Promise<void> {\n try {\n await this.observability.hooks.handleRequest(requestData);\n } catch (error) {\n console.error(\"Error logging LLM request:\", error);\n }\n }\n\n /**\n * Log final LLM response after request completes\n */\n private logObservabilityAfterRequest(\n outputMessagesPromise: Promise<Message[]>,\n baseData: {\n threadId: string;\n runId?: string;\n model?: string;\n provider?: string;\n agentName?: string;\n nodeName?: string;\n },\n streamedChunks: any[],\n requestStartTime: number,\n publicApiKey?: string,\n ): void {\n try {\n outputMessagesPromise\n .then((outputMessages) => {\n const responseData: LLMResponseData = {\n threadId: baseData.threadId,\n runId: baseData.runId,\n model: baseData.model,\n // Use collected chunks for progressive mode or outputMessages for regular mode\n output: this.observability.progressive\n ? streamedChunks\n : outputMessages,\n latency: Date.now() - requestStartTime,\n timestamp: Date.now(),\n provider: baseData.provider,\n isFinalResponse: true,\n agentName: baseData.agentName,\n nodeName: baseData.nodeName,\n };\n\n try {\n this.observability.hooks.handleResponse(responseData);\n } catch (logError) {\n console.error(\"Error logging LLM response:\", logError);\n }\n })\n .catch((error) => {\n console.error(\"Failed to get output messages for logging:\", error);\n });\n } catch (error) {\n console.error(\"Error setting up logging for LLM response:\", error);\n }\n }\n\n // Resolve MCP tools to BuiltInAgent tool definitions\n // Optionally accepts request-scoped properties to merge request-provided mcpServers\n private async getToolsFromMCP(options?: {\n properties?: Record<string, unknown>;\n }): Promise<BuiltInAgentClassicConfig[\"tools\"]> {\n const runtimeMcpServers = (this.params?.mcpServers ??\n []) as MCPEndpointConfig[];\n const createMCPClient = this.params?.createMCPClient as\n | CreateMCPClientFunction\n | undefined;\n\n // If no runtime config and no request overrides, nothing to do\n const requestMcpServers = ((\n options?.properties as { mcpServers?: MCPEndpointConfig[] } | undefined\n )?.mcpServers ??\n (\n options?.properties as\n | { mcpEndpoints?: MCPEndpointConfig[] }\n | undefined\n )?.mcpEndpoints ??\n []) as MCPEndpointConfig[];\n\n const hasAnyServers =\n (runtimeMcpServers?.length ?? 0) > 0 ||\n (requestMcpServers?.length ?? 0) > 0;\n if (!hasAnyServers) {\n return [];\n }\n\n if (!createMCPClient) {\n // Mirror legacy behavior: when servers are provided without a factory, treat as misconfiguration\n throw new CopilotKitMisuseError({\n message:\n \"MCP Integration Error: `mcpServers` were provided, but the `createMCPClient` function was not passed to the CopilotRuntime constructor. Please provide an implementation for `createMCPClient`.\",\n });\n }\n\n // Merge and dedupe endpoints by URL; request-level overrides take precedence\n const effectiveEndpoints = (() => {\n const byUrl = new Map<string, MCPEndpointConfig>();\n for (const ep of runtimeMcpServers) {\n if (ep?.endpoint) byUrl.set(ep.endpoint, ep);\n }\n for (const ep of requestMcpServers) {\n if (ep?.endpoint) byUrl.set(ep.endpoint, ep);\n }\n return Array.from(byUrl.values());\n })();\n\n const allTools: BuiltInAgentClassicConfig[\"tools\"] = [];\n\n for (const config of effectiveEndpoints) {\n const endpointUrl = config.endpoint;\n // Return cached tool definitions when available\n const cached = this.mcpToolsCache.get(endpointUrl);\n if (cached) {\n allTools.push(...cached);\n continue;\n }\n\n try {\n const client = await createMCPClient(config);\n const toolsMap = await client.tools();\n\n const toolDefs: BuiltInAgentClassicConfig[\"tools\"] = Object.entries(\n toolsMap,\n ).map(([toolName, tool]: [string, MCPTool]) => {\n const params: Parameter[] = extractParametersFromSchema(tool);\n const zodSchema = getZodParameters(params);\n return {\n name: toolName,\n description:\n tool.description || `MCP tool: ${toolName} (from ${endpointUrl})`,\n parameters: zodSchema,\n execute: () => Promise.resolve(),\n };\n });\n\n // Cache per endpoint and add to aggregate\n this.mcpToolsCache.set(endpointUrl, toolDefs);\n allTools.push(...toolDefs);\n } catch (error) {\n console.error(\n `MCP: Failed to fetch tools from endpoint ${endpointUrl}. Skipping. Error:`,\n error,\n );\n // Cache empty to prevent repeated attempts within lifecycle\n this.mcpToolsCache.set(endpointUrl, []);\n }\n }\n\n // Dedupe tools by name while preserving last-in wins (request overrides)\n const dedupedByName = new Map<string, (typeof allTools)[number]>();\n for (const tool of allTools) {\n dedupedByName.set(tool.name, tool);\n }\n\n return Array.from(dedupedByName.values());\n }\n}\n\n// The two functions below are \"factory functions\", meant to create the action objects that adhere to the expected interfaces\nexport function copilotKitEndpoint(\n config: Omit<CopilotKitEndpoint, \"type\">,\n): CopilotKitEndpoint {\n return {\n ...config,\n type: EndpointType.CopilotKit,\n };\n}\n\nexport function langGraphPlatformEndpoint(\n config: Omit<LangGraphPlatformEndpoint, \"type\">,\n): LangGraphPlatformEndpoint {\n return {\n ...config,\n type: EndpointType.LangGraphPlatform,\n };\n}\n\nexport function resolveEndpointType(endpoint: EndpointDefinition) {\n if (!endpoint.type) {\n if (\"deploymentUrl\" in endpoint && \"agents\" in endpoint) {\n return EndpointType.LangGraphPlatform;\n } else {\n return EndpointType.CopilotKit;\n }\n }\n\n return endpoint.type;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"copilot-runtime.mjs","names":["CopilotRuntimeVNext"],"sources":["../../../../src/v1-deprecated/lib/runtime/copilot-runtime.ts"],"sourcesContent":["/*\n * V1 SDK DEPRECATED. USE V2 INSTEAD\n *\n * This file defines public v1 SDK exports. Use the exact v2 mappings below.\n * AI CODING AGENTS: Never copy, suggest, or generate these v1 APIs. Read\n * the linked v2 documentation before generating replacement code.\n *\n * @copilotkit/runtime — copilotKitEndpoint:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Runtime server adapter): https://docs.copilotkit.ai/runtime-server-adapter\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — CopilotRuntime:\n * V2 import and usage:\n * import { CopilotRuntime } from \"@copilotkit/runtime/v2\";\n *\n * const runtime = new CopilotRuntime({ agents: {} });\n * V2 replacement source: packages/runtime/src/v2/runtime/core/runtime.ts\n * V2 docs: https://docs.copilotkit.ai/runtime-server-adapter\n * Migration note: V2 uses AG-UI runtime handlers instead of the v1 GraphQL adapter setup.\n *\n * @copilotkit/runtime — CopilotRuntimeConstructorParams_BASE:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Runtime server adapter): https://docs.copilotkit.ai/runtime-server-adapter\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — langGraphPlatformEndpoint:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (LangGraph agents): https://docs.copilotkit.ai/agent-spec/langgraph\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — resolveEndpointType:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Runtime server adapter): https://docs.copilotkit.ai/runtime-server-adapter\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * Migration guide: https://docs.copilotkit.ai/migrate/v2\n *\n * END V1 SDK DEPRECATED. USE V2 INSTEAD NOTICE\n */\n\n/**\n * <Callout type=\"info\">\n * This is the reference for the `CopilotRuntime` class. For more information and example code snippets, please see [Concept: Copilot Runtime](/backend/copilot-runtime).\n * </Callout>\n *\n * ## Usage\n *\n * ```tsx\n * import { CopilotRuntime } from \"@copilotkit/runtime\";\n *\n * const copilotKit = new CopilotRuntime();\n * ```\n */\n\nimport {\n CopilotKitMisuseError,\n readBody,\n getZodParameters,\n isTelemetryDisabled,\n} from \"@copilotkit/shared\";\nimport type {\n Action,\n CopilotErrorHandler,\n MaybePromise,\n NonEmptyRecord,\n Parameter,\n PartialBy,\n DebugConfig,\n} from \"@copilotkit/shared\";\nimport type { RunAgentInput } from \"@ag-ui/core\";\nimport { aguiToGQL } from \"../../graphql/message-conversion/agui-to-gql\";\nimport type {\n CopilotServiceAdapter,\n RemoteChainParameters,\n} from \"../../service-adapters\";\nimport {\n CopilotRuntime as CopilotRuntimeVNext,\n InMemoryAgentRunner,\n} from \"../../../v2/runtime\";\nimport {\n createRuntimeErrorReporter,\n runtimeErrorReporterOption,\n} from \"../../../v2/runtime/core/runtime-error-reporter\";\nimport type { RuntimeErrorReporterOptions } from \"../../../v2/runtime/core/runtime-error-reporter\";\nimport type {\n CopilotIntelligenceRuntimeOptions,\n CopilotRuntimeOptions,\n CopilotRuntimeOptions as CopilotRuntimeOptionsVNext,\n AgentRunner,\n AgentsConfig,\n AgentsFactory,\n AgentFactoryContext,\n} from \"../../../v2/runtime\";\n\nexport type { AgentsConfig, AgentsFactory, AgentFactoryContext };\nimport { TelemetryAgentRunner } from \"./telemetry-agent-runner\";\nimport telemetry from \"../telemetry-client\";\nimport { logRuntimeTelemetryDisclosure } from \"../telemetry-disclosure\";\n\nimport type { MessageInput } from \"../../graphql/inputs/message.input\";\nimport type { Message } from \"../../graphql/types/converted\";\n\nimport { EndpointType } from \"./types\";\nimport type {\n EndpointDefinition,\n CopilotKitEndpoint,\n LangGraphPlatformEndpoint,\n} from \"./types\";\n\nimport type {\n CopilotObservabilityConfig,\n LLMRequestData,\n LLMResponseData,\n} from \"../observability\";\nimport type { AbstractAgent } from \"@ag-ui/client\";\n\n// +++ MCP Imports +++\nimport { extractParametersFromSchema } from \"./mcp-tools-utils\";\nimport type { MCPClient, MCPEndpointConfig, MCPTool } from \"./mcp-tools-utils\";\nimport { BuiltInAgent } from \"../../../agent\";\nimport type { BuiltInAgentClassicConfig } from \"../../../agent\";\n// Define the function type alias here or import if defined elsewhere\ntype CreateMCPClientFunction = (\n config: MCPEndpointConfig,\n) => Promise<MCPClient>;\n\ntype ActionsConfiguration<T extends Parameter[] | [] = []> =\n | Action<T>[]\n | ((ctx: { properties: any; url?: string }) => Action<T>[]);\n\ninterface OnBeforeRequestOptions {\n threadId?: string;\n runId?: string;\n inputMessages: Message[];\n properties: any;\n url?: string;\n}\n\ntype OnBeforeRequestHandler = (\n options: OnBeforeRequestOptions,\n) => void | Promise<void>;\n\ninterface OnAfterRequestOptions {\n threadId: string;\n runId?: string;\n inputMessages: Message[];\n outputMessages: Message[];\n properties: any;\n url?: string;\n}\n\ntype OnAfterRequestHandler = (\n options: OnAfterRequestOptions,\n) => void | Promise<void>;\n\ninterface OnStopGenerationOptions {\n threadId: string;\n runId?: string;\n url?: string;\n agentName?: string;\n lastMessage: MessageInput;\n}\ntype OnStopGenerationHandler = (\n options: OnStopGenerationOptions,\n) => void | Promise<void>;\n\ninterface Middleware {\n /**\n * A function that is called before the request is processed.\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n onBeforeRequest?: OnBeforeRequestHandler;\n\n /**\n * A function that is called after the request is processed.\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n onAfterRequest?: OnAfterRequestHandler;\n}\n\nexport interface CopilotRuntimeConstructorParams_BASE<\n T extends Parameter[] | [] = [],\n> {\n /**\n * Middleware to be used by the runtime.\n *\n * ```ts\n * onBeforeRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n *\n * ```ts\n * onAfterRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * outputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n middleware?: Middleware;\n\n /*\n * A list of server side actions that can be executed. Will be ignored when remoteActions are set\n */\n actions?: ActionsConfiguration<T>;\n\n /*\n * Deprecated: Use `remoteEndpoints`.\n */\n remoteActions?: CopilotKitEndpoint[];\n\n /*\n * A list of remote actions that can be executed.\n */\n remoteEndpoints?: EndpointDefinition[];\n\n /*\n * An array of LangServer URLs.\n */\n langserve?: RemoteChainParameters[];\n\n /**\n * Optional agent runner to use for SSE runtime.\n */\n runner?: AgentRunner;\n\n /*\n * A map of agent names to AGUI agents.\n * Example agent config:\n * ```ts\n * import { AbstractAgent } from \"@ag-ui/client\";\n * // ...\n * agents: {\n * \"support\": new CustomerSupportAgent(),\n * \"technical\": new TechnicalAgent()\n * }\n * ```\n */\n agents?: Record<string, AbstractAgent>;\n\n /*\n * Delegates agent state processing to the service adapter.\n *\n * When enabled, individual agent state requests will not be processed by the agent itself.\n * Instead, all processing will be handled by the service adapter.\n */\n delegateAgentProcessingToServiceAdapter?: boolean;\n\n /**\n * Configuration for LLM request/response logging.\n *\n * Example logging config:\n * ```ts\n * logging: {\n * enabled: true, // Enable or disable logging\n * progressive: true, // Set to false for buffered logging\n * logger: {\n * logRequest: (data) => langfuse.trace({ name: \"LLM Request\", input: data }),\n * logResponse: (data) => langfuse.trace({ name: \"LLM Response\", output: data }),\n * logError: (errorData) => langfuse.trace({ name: \"LLM Error\", metadata: errorData }),\n * },\n * }\n * ```\n */\n observability_c?: CopilotObservabilityConfig;\n\n /**\n * Configuration for connecting to Model Context Protocol (MCP) servers.\n * Allows fetching and using tools defined on external MCP-compliant servers.\n * Requires providing the `createMCPClient` function during instantiation.\n * @experimental\n */\n mcpServers?: MCPEndpointConfig[];\n\n /**\n * A function that creates an MCP client instance for a given endpoint configuration.\n * This function is responsible for using the appropriate MCP client library\n * (e.g., `@copilotkit/runtime`, `ai`) to establish a connection.\n * Required if `mcpServers` is provided.\n *\n * ```typescript\n * import { experimental_createMCPClient } from \"ai\"; // Import from vercel ai library\n * // ...\n * const runtime = new CopilotRuntime({\n * mcpServers: [{ endpoint: \"...\" }],\n * async createMCPClient(config) {\n * return await experimental_createMCPClient({\n * transport: {\n * type: \"sse\",\n * url: config.endpoint,\n * headers: config.apiKey\n * ? { Authorization: `Bearer ${config.apiKey}` }\n * : undefined,\n * },\n * });\n * }\n * });\n * ```\n */\n createMCPClient?: CreateMCPClientFunction;\n\n /**\n * Optional error handler for comprehensive debugging and observability.\n *\n * @param errorEvent - Structured error event with rich debugging context\n *\n * @example\n * ```typescript\n * const runtime = new CopilotRuntime({\n * onError: (errorEvent) => {\n * debugDashboard.capture(errorEvent);\n * }\n * });\n * ```\n */\n onError?: CopilotErrorHandler;\n\n onStopGeneration?: OnStopGenerationHandler;\n\n /**\n * Enable debug logging for the runtime event pipeline.\n * Pass `true` for full output, or an object for granular control:\n *\n * ```ts\n * const runtime = new CopilotRuntime({\n * debug: true,\n * // or: debug: { events: true, lifecycle: true, verbose: false }\n * });\n * ```\n */\n debug?: DebugConfig;\n\n // /** Optional transcription service for audio processing. */\n // transcriptionService?: CopilotRuntimeOptionsVNext[\"transcriptionService\"];\n // /** Optional *before* middleware – callback function or webhook URL. */\n // beforeRequestMiddleware?: CopilotRuntimeOptionsVNext[\"beforeRequestMiddleware\"];\n // /** Optional *after* middleware – callback function or webhook URL. */\n // afterRequestMiddleware?: CopilotRuntimeOptionsVNext[\"afterRequestMiddleware\"];\n}\n\ntype BeforeRequestMiddleware =\n CopilotRuntimeOptionsVNext[\"beforeRequestMiddleware\"];\ntype AfterRequestMiddleware =\n CopilotRuntimeOptionsVNext[\"afterRequestMiddleware\"];\ntype BeforeRequestMiddlewareFn = Exclude<BeforeRequestMiddleware, string>;\ntype BeforeRequestMiddlewareFnParameters =\n Parameters<BeforeRequestMiddlewareFn>;\ntype BeforeRequestMiddlewareFnResult = ReturnType<BeforeRequestMiddlewareFn>;\ntype AfterRequestMiddlewareFn = Exclude<AfterRequestMiddleware, string>;\ntype AfterRequestMiddlewareFnParameters = Parameters<AfterRequestMiddlewareFn>;\n\ninterface CopilotRuntimeConstructorParams<T extends Parameter[] | [] = []>\n extends\n Omit<CopilotRuntimeConstructorParams_BASE<T>, \"agents\">,\n Omit<CopilotRuntimeOptionsVNext, \"agents\" | \"transcriptionService\"> {\n /**\n * TODO: un-omit `transcriptionService` above once it's supported\n *\n * This satisfies...\n * – the optional constraint in `CopilotRuntimeConstructorParams_BASE`\n * – the `MaybePromise<NonEmptyRecord<T>>` constraint in `CopilotRuntimeOptionsVNext`\n * – the `Record<string, AbstractAgent>` constraint in `both\n */\n agents?: AgentsConfig;\n\n intelligence?: CopilotIntelligenceRuntimeOptions[\"intelligence\"];\n identifyUser?: CopilotIntelligenceRuntimeOptions[\"identifyUser\"];\n memory?: CopilotIntelligenceRuntimeOptions[\"memory\"];\n channels?: CopilotIntelligenceRuntimeOptions[\"channels\"];\n ɵlearning?: CopilotIntelligenceRuntimeOptions[\"ɵlearning\"];\n generateThreadNames?: CopilotIntelligenceRuntimeOptions[\"generateThreadNames\"];\n maxReconnectMs?: CopilotIntelligenceRuntimeOptions[\"maxReconnectMs\"];\n maxRejoinMs?: CopilotIntelligenceRuntimeOptions[\"maxRejoinMs\"];\n lockTtlSeconds?: CopilotIntelligenceRuntimeOptions[\"lockTtlSeconds\"];\n lockKeyPrefix?: CopilotIntelligenceRuntimeOptions[\"lockKeyPrefix\"];\n lockHeartbeatIntervalSeconds?: CopilotIntelligenceRuntimeOptions[\"lockHeartbeatIntervalSeconds\"];\n}\n\n/**\n * Central runtime object passed to all request handlers.\n * @deprecated The v1 SDK is deprecated. Use v2 instead. Use `CopilotRuntime` from `@copilotkit/runtime/v2` instead.\n *\n * ```tsx\n * import { CopilotRuntime } from \"@copilotkit/runtime/v2\";\n *\n * const runtime = new CopilotRuntime({ agents: {} });\n * ```\n * See https://docs.copilotkit.ai/runtime-server-adapter\n */\nexport class CopilotRuntime<const T extends Parameter[] | [] = []> {\n params?: CopilotRuntimeConstructorParams<T>;\n private observability?: CopilotObservabilityConfig;\n // Cache MCP tools per endpoint to avoid re-fetching repeatedly\n private mcpToolsCache: Map<string, BuiltInAgentClassicConfig[\"tools\"]> =\n new Map();\n private runtimeArgs: CopilotRuntimeOptions & RuntimeErrorReporterOptions;\n private _instance: CopilotRuntimeVNext;\n\n constructor(params?: CopilotRuntimeConstructorParams<T>) {\n logRuntimeTelemetryDisclosure();\n\n const agents = params?.agents ?? {};\n const endpointAgents = this.assignEndpointsToAgents(\n params?.remoteEndpoints ?? [],\n );\n\n // Merge endpoint agents with user-provided agents.\n // When agents is a factory function, wrap it so endpoint agents are merged\n // at resolution time (spreading a function produces {} — silent data loss).\n let mergedAgents: AgentsConfig;\n if (typeof agents === \"function\") {\n mergedAgents = async (ctx) => {\n const resolved = await agents(ctx);\n return { ...endpointAgents, ...resolved };\n };\n } else {\n mergedAgents = Promise.resolve(agents).then((resolved) => ({\n ...endpointAgents,\n ...resolved,\n }));\n }\n\n // Determine the base runner (user-provided or default)\n const baseRunner = params?.runner ?? new InMemoryAgentRunner();\n\n // Wrap with TelemetryAgentRunner unless telemetry is disabled\n // This ensures we always capture agent execution telemetry when enabled,\n // even if the user provides their own custom runner\n const runner = isTelemetryDisabled()\n ? baseRunner\n : new TelemetryAgentRunner({ runner: baseRunner });\n\n // Match license-verifier's env fallback so telemetry attribution\n // resolves the same way as feature gating — otherwise customers who\n // set only COPILOTKIT_LICENSE_TOKEN would get a working license but\n // anonymous telemetry. Only used here for the telemetry setter; the\n // v2 runtime applies the same fallback to runtimeArgs.licenseToken\n // on its own.\n const resolvedLicenseToken =\n params?.licenseToken ?? process.env.COPILOTKIT_LICENSE_TOKEN;\n if (resolvedLicenseToken) {\n telemetry.setLicenseToken(resolvedLicenseToken);\n }\n\n const sharedRuntimeArgs = {\n agents: mergedAgents,\n licenseToken: params?.licenseToken,\n debug: params?.debug,\n // TODO: add support for transcriptionService from CopilotRuntimeOptionsVNext once it is ready\n // transcriptionService: params?.transcriptionService,\n\n beforeRequestMiddleware:\n this.createOnBeforeRequestHandler(params).bind(this),\n ...(params?.afterRequestMiddleware || params?.middleware?.onAfterRequest\n ? {\n afterRequestMiddleware:\n this.createOnAfterRequestHandler(params).bind(this),\n }\n : {}),\n a2ui: params?.a2ui,\n mcpApps: params?.mcpApps,\n openGenerativeUI: params?.openGenerativeUI,\n [runtimeErrorReporterOption]: createRuntimeErrorReporter(params?.onError),\n forwardHeaders: params?.forwardHeaders,\n exposeMemoryRoutes: params?.exposeMemoryRoutes,\n };\n if (params?.intelligence !== undefined) {\n // The compatibility constructor keeps Intelligence identity optional at\n // compile time, while the v2 runtime checks that callers supply web\n // identity, Channels, or both. Preserve that runtime validation here.\n this.runtimeArgs = {\n ...sharedRuntimeArgs,\n intelligence: params.intelligence,\n identifyUser: params.identifyUser,\n memory: params.memory,\n channels: params.channels,\n ɵlearning: params.ɵlearning,\n generateThreadNames: params.generateThreadNames,\n maxReconnectMs: params.maxReconnectMs,\n maxRejoinMs: params.maxRejoinMs,\n lockTtlSeconds: params.lockTtlSeconds,\n lockKeyPrefix: params.lockKeyPrefix,\n lockHeartbeatIntervalSeconds: params.lockHeartbeatIntervalSeconds,\n } as CopilotRuntimeOptions;\n } else {\n this.runtimeArgs = {\n ...sharedRuntimeArgs,\n runner,\n };\n }\n this.params = params;\n this.observability = params?.observability_c;\n }\n\n get instance() {\n if (!this._instance) {\n this._instance = new CopilotRuntimeVNext(this.runtimeArgs);\n }\n\n return this._instance;\n }\n\n private assignEndpointsToAgents(\n endpoints: CopilotRuntimeConstructorParams<T>[\"remoteEndpoints\"],\n ): Record<string, AbstractAgent> {\n let result: Record<string, AbstractAgent> = {};\n\n if (\n endpoints.some(\n (endpoint) =>\n resolveEndpointType(endpoint) == EndpointType.LangGraphPlatform,\n )\n ) {\n throw new CopilotKitMisuseError({\n message:\n \"LangGraphPlatformEndpoint in remoteEndpoints is deprecated. \" +\n 'Please use the \"agents\" option instead with LangGraphAgent from \"@copilotkit/runtime/langgraph\". ' +\n 'Example: agents: { myAgent: new LangGraphAgent({ deploymentUrl: \"...\", graphId: \"...\" }) }',\n });\n }\n\n return result;\n }\n\n handleServiceAdapter(serviceAdapter: CopilotServiceAdapter) {\n this.runtimeArgs.agents = Promise.resolve(\n this.runtimeArgs.agents ?? {},\n ).then(async (agents) => {\n // An AgentsFactory function has no enumerable keys, so it flows through\n // this path the same way an empty record does.\n let agentsList = agents as Record<string, AbstractAgent>;\n const isAgentsListEmpty = !Object.keys(agents).length;\n const hasServiceAdapter = Boolean(serviceAdapter);\n const illegalServiceAdapterNames = [\"EmptyAdapter\"];\n const serviceAdapterCanBeUsedForAgent =\n !illegalServiceAdapterNames.includes(serviceAdapter.name);\n\n if (\n isAgentsListEmpty &&\n (!hasServiceAdapter || !serviceAdapterCanBeUsedForAgent)\n ) {\n throw new CopilotKitMisuseError({\n message:\n \"No default agent provided. Please provide a default agent in the runtime config.\",\n });\n }\n\n if (isAgentsListEmpty) {\n const languageModel = serviceAdapter.getLanguageModel?.();\n if (languageModel) {\n // Adapter exposes a pre-configured LanguageModel (e.g. OpenAI/Anthropic adapters)\n agentsList.default = new BuiltInAgent({ model: languageModel });\n } else if (serviceAdapter.provider && serviceAdapter.model) {\n // Adapter exposes provider/model strings\n agentsList.default = new BuiltInAgent({\n model: `${serviceAdapter.provider}/${serviceAdapter.model}`,\n });\n } else {\n throw new CopilotKitMisuseError({\n message:\n `Service adapter \"${serviceAdapter.name ?? \"unknown\"}\" does not provide model information. ` +\n `When using adapters like LangChainAdapter without an explicit agents list, ` +\n `please provide a default agent in the runtime config. Example:\\n` +\n ` new CopilotRuntime({\\n` +\n ` agents: { default: new BuiltInAgent({ model: \"openai/gpt-4o\" }) }\\n` +\n ` })`,\n });\n }\n }\n\n const actions = this.params?.actions;\n if (actions) {\n const mcpTools = await this.getToolsFromMCP();\n agentsList = this.assignToolsToAgents(agentsList, [\n ...this.getToolsFromActions(actions),\n ...mcpTools,\n ]);\n }\n\n return agentsList;\n });\n }\n\n // Receive this.params.action and turn it into the AbstractAgent tools\n private getToolsFromActions(\n actions: ActionsConfiguration<any>,\n ): BuiltInAgentClassicConfig[\"tools\"] {\n // Resolve actions to an array (handle function case)\n const actionsArray =\n typeof actions === \"function\"\n ? actions({ properties: {}, url: undefined })\n : actions;\n\n // Convert each Action to a ToolDefinition\n return actionsArray.map((action) => {\n // Convert JSON schema to Zod schema\n const zodSchema = getZodParameters(action.parameters || []);\n\n return {\n name: action.name,\n description: action.description || \"\",\n parameters: zodSchema,\n execute: () => Promise.resolve(),\n };\n });\n }\n\n private assignToolsToAgents(\n agents: Record<string, AbstractAgent>,\n tools: BuiltInAgentClassicConfig[\"tools\"],\n ): Record<string, AbstractAgent> {\n if (!tools?.length) {\n return agents;\n }\n\n const enrichedAgents: Record<string, AbstractAgent> = { ...agents };\n\n for (const [agentId, agent] of Object.entries(enrichedAgents)) {\n const existingConfig = (Reflect.get(agent, \"config\") ?? {}) as Record<\n string,\n unknown\n >;\n\n // Skip factory-mode agents — they don't have a tools property\n if (\"factory\" in existingConfig) {\n continue;\n }\n\n const classicConfig =\n existingConfig as unknown as BuiltInAgentClassicConfig;\n const existingTools = classicConfig.tools ?? [];\n\n const updatedConfig: BuiltInAgentClassicConfig = {\n ...classicConfig,\n tools: [...existingTools, ...tools],\n };\n\n Reflect.set(agent, \"config\", updatedConfig);\n enrichedAgents[agentId] = agent;\n }\n\n return enrichedAgents;\n }\n\n private createOnBeforeRequestHandler(\n params?: CopilotRuntimeConstructorParams<T> &\n PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n return async (hookParams: BeforeRequestMiddlewareFnParameters[0]) => {\n const { request } = hookParams;\n\n // Capture telemetry for copilot request creation\n const publicApiKey = request.headers.get(\"x-copilotcloud-public-api-key\");\n const body = (await readBody(request)) as RunAgentInput;\n\n const forwardedProps = body?.forwardedProps as\n | {\n cloud?: { guardrails?: unknown };\n metadata?: { requestType?: string };\n }\n | undefined;\n\n // Get cloud base URL from environment or default\n const cloudBaseUrl =\n process.env.COPILOT_CLOUD_BASE_URL || \"https://api.cloud.copilotkit.ai\";\n\n telemetry.capture(\"oss.runtime.copilot_request_created\", {\n \"cloud.guardrails.enabled\":\n forwardedProps?.cloud?.guardrails !== undefined,\n requestType: forwardedProps?.metadata?.requestType ?? \"unknown\",\n \"cloud.api_key_provided\": !!publicApiKey,\n ...(publicApiKey ? { \"cloud.public_api_key\": publicApiKey } : {}),\n \"cloud.base_url\": cloudBaseUrl,\n });\n\n // We do not process middleware for the internal GET requests\n if (request.method === \"GET\" || !body) return;\n\n // TODO: get public api key and run with expected data\n // if (this.observability?.enabled && this.params.publicApiKey) {\n // this.logObservabilityBeforeRequest()\n // }\n\n // TODO: replace hooksParams top argument type with BeforeRequestMiddlewareParameters when exported\n const middlewareResult =\n await params?.beforeRequestMiddleware?.(hookParams);\n\n if (params?.middleware?.onBeforeRequest) {\n const { request, runtime, path } = hookParams;\n const gqlMessages = (aguiToGQL(body.messages) as Message[]).reduce(\n (acc, msg) => {\n if (\"role\" in msg && msg.role === \"user\") {\n acc.inputMessages.push(msg);\n } else {\n acc.outputMessages.push(msg);\n }\n return acc;\n },\n { inputMessages: [] as Message[], outputMessages: [] as Message[] },\n );\n const { inputMessages, outputMessages } = gqlMessages;\n params.middleware.onBeforeRequest({\n threadId: body.threadId,\n runId: body.runId,\n inputMessages,\n properties: body.forwardedProps,\n url: request.url,\n } satisfies OnBeforeRequestOptions);\n }\n\n return middlewareResult;\n };\n }\n\n private createOnAfterRequestHandler(\n params?: CopilotRuntimeConstructorParams<T> &\n PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n return async (hookParams: AfterRequestMiddlewareFnParameters[0]) => {\n // TODO: get public api key and run with expected data\n // if (this.observability?.enabled && publicApiKey) {\n // this.logObservabilityAfterRequest()\n // }\n\n // TODO: replace hooksParams top argument type with AfterRequestMiddlewareParameters when exported\n params?.afterRequestMiddleware?.(hookParams);\n\n if (params?.middleware?.onAfterRequest) {\n const messages = hookParams.messages ?? [];\n params.middleware.onAfterRequest({\n threadId: hookParams.threadId ?? \"\",\n runId: hookParams.runId,\n inputMessages: messages.filter(\n (m): m is typeof m & { role: string } =>\n \"role\" in m && m.role === \"user\",\n ) as unknown as Message[],\n outputMessages: messages.filter(\n (m): m is typeof m & { role: string } =>\n \"role\" in m && m.role !== \"user\",\n ) as unknown as Message[],\n // TODO: forward actual properties once the after-request hook has access to the request body\n properties: {},\n url: hookParams.path,\n } satisfies OnAfterRequestOptions);\n }\n };\n }\n\n // Observability Methods\n\n /**\n * Log LLM request if observability is enabled\n */\n private async logObservabilityBeforeRequest(\n requestData: LLMRequestData,\n ): Promise<void> {\n try {\n await this.observability.hooks.handleRequest(requestData);\n } catch (error) {\n console.error(\"Error logging LLM request:\", error);\n }\n }\n\n /**\n * Log final LLM response after request completes\n */\n private logObservabilityAfterRequest(\n outputMessagesPromise: Promise<Message[]>,\n baseData: {\n threadId: string;\n runId?: string;\n model?: string;\n provider?: string;\n agentName?: string;\n nodeName?: string;\n },\n streamedChunks: any[],\n requestStartTime: number,\n publicApiKey?: string,\n ): void {\n try {\n outputMessagesPromise\n .then((outputMessages) => {\n const responseData: LLMResponseData = {\n threadId: baseData.threadId,\n runId: baseData.runId,\n model: baseData.model,\n // Use collected chunks for progressive mode or outputMessages for regular mode\n output: this.observability.progressive\n ? streamedChunks\n : outputMessages,\n latency: Date.now() - requestStartTime,\n timestamp: Date.now(),\n provider: baseData.provider,\n isFinalResponse: true,\n agentName: baseData.agentName,\n nodeName: baseData.nodeName,\n };\n\n try {\n this.observability.hooks.handleResponse(responseData);\n } catch (logError) {\n console.error(\"Error logging LLM response:\", logError);\n }\n })\n .catch((error) => {\n console.error(\"Failed to get output messages for logging:\", error);\n });\n } catch (error) {\n console.error(\"Error setting up logging for LLM response:\", error);\n }\n }\n\n // Resolve MCP tools to BuiltInAgent tool definitions\n // Optionally accepts request-scoped properties to merge request-provided mcpServers\n private async getToolsFromMCP(options?: {\n properties?: Record<string, unknown>;\n }): Promise<BuiltInAgentClassicConfig[\"tools\"]> {\n const runtimeMcpServers = (this.params?.mcpServers ??\n []) as MCPEndpointConfig[];\n const createMCPClient = this.params?.createMCPClient as\n | CreateMCPClientFunction\n | undefined;\n\n // If no runtime config and no request overrides, nothing to do\n const requestMcpServers = ((\n options?.properties as { mcpServers?: MCPEndpointConfig[] } | undefined\n )?.mcpServers ??\n (\n options?.properties as\n | { mcpEndpoints?: MCPEndpointConfig[] }\n | undefined\n )?.mcpEndpoints ??\n []) as MCPEndpointConfig[];\n\n const hasAnyServers =\n (runtimeMcpServers?.length ?? 0) > 0 ||\n (requestMcpServers?.length ?? 0) > 0;\n if (!hasAnyServers) {\n return [];\n }\n\n if (!createMCPClient) {\n // Mirror legacy behavior: when servers are provided without a factory, treat as misconfiguration\n throw new CopilotKitMisuseError({\n message:\n \"MCP Integration Error: `mcpServers` were provided, but the `createMCPClient` function was not passed to the CopilotRuntime constructor. Please provide an implementation for `createMCPClient`.\",\n });\n }\n\n // Merge and dedupe endpoints by URL; request-level overrides take precedence\n const effectiveEndpoints = (() => {\n const byUrl = new Map<string, MCPEndpointConfig>();\n for (const ep of runtimeMcpServers) {\n if (ep?.endpoint) byUrl.set(ep.endpoint, ep);\n }\n for (const ep of requestMcpServers) {\n if (ep?.endpoint) byUrl.set(ep.endpoint, ep);\n }\n return Array.from(byUrl.values());\n })();\n\n const allTools: BuiltInAgentClassicConfig[\"tools\"] = [];\n\n for (const config of effectiveEndpoints) {\n const endpointUrl = config.endpoint;\n // Return cached tool definitions when available\n const cached = this.mcpToolsCache.get(endpointUrl);\n if (cached) {\n allTools.push(...cached);\n continue;\n }\n\n try {\n const client = await createMCPClient(config);\n const toolsMap = await client.tools();\n\n const toolDefs: BuiltInAgentClassicConfig[\"tools\"] = Object.entries(\n toolsMap,\n ).map(([toolName, tool]: [string, MCPTool]) => {\n const params: Parameter[] = extractParametersFromSchema(tool);\n const zodSchema = getZodParameters(params);\n return {\n name: toolName,\n description:\n tool.description || `MCP tool: ${toolName} (from ${endpointUrl})`,\n parameters: zodSchema,\n execute: () => Promise.resolve(),\n };\n });\n\n // Cache per endpoint and add to aggregate\n this.mcpToolsCache.set(endpointUrl, toolDefs);\n allTools.push(...toolDefs);\n } catch (error) {\n console.error(\n `MCP: Failed to fetch tools from endpoint ${endpointUrl}. Skipping. Error:`,\n error,\n );\n // Cache empty to prevent repeated attempts within lifecycle\n this.mcpToolsCache.set(endpointUrl, []);\n }\n }\n\n // Dedupe tools by name while preserving last-in wins (request overrides)\n const dedupedByName = new Map<string, (typeof allTools)[number]>();\n for (const tool of allTools) {\n dedupedByName.set(tool.name, tool);\n }\n\n return Array.from(dedupedByName.values());\n }\n}\n\n// The two functions below are \"factory functions\", meant to create the action objects that adhere to the expected interfaces\nexport function copilotKitEndpoint(\n config: Omit<CopilotKitEndpoint, \"type\">,\n): CopilotKitEndpoint {\n return {\n ...config,\n type: EndpointType.CopilotKit,\n };\n}\n\nexport function langGraphPlatformEndpoint(\n config: Omit<LangGraphPlatformEndpoint, \"type\">,\n): LangGraphPlatformEndpoint {\n return {\n ...config,\n type: EndpointType.LangGraphPlatform,\n };\n}\n\nexport function resolveEndpointType(endpoint: EndpointDefinition) {\n if (!endpoint.type) {\n if (\"deploymentUrl\" in endpoint && \"agents\" in endpoint) {\n return EndpointType.LangGraphPlatform;\n } else {\n return EndpointType.CopilotKit;\n }\n }\n\n return endpoint.type;\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  require("reflect-metadata");
2
2
 
3
- //#region src/lib/runtime/mcp-tools-utils.ts
3
+ //#region src/v1-deprecated/lib/runtime/mcp-tools-utils.ts
4
4
  /**
5
5
  * Extracts CopilotKit-compatible parameters from an MCP tool schema.
6
6
  * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools-utils.cjs","names":[],"sources":["../../../src/lib/runtime/mcp-tools-utils.ts"],"sourcesContent":["import { Action, Parameter } from \"@copilotkit/shared\";\n\n/**\n * Represents a tool provided by an MCP server.\n */\nexport interface MCPTool {\n description?: string;\n /** Schema defining parameters, mirroring the MCP structure. */\n schema?: {\n parameters?: {\n properties?: Record<string, any>;\n required?: string[];\n jsonSchema?: Record<string, any>;\n };\n };\n /** The function to call to execute the tool on the MCP server. */\n execute(params: any): Promise<any>;\n}\n\n/**\n * Defines the contract for *any* MCP client implementation the user might provide.\n */\nexport interface MCPClient {\n /** A method that returns a map of tool names to MCPTool objects available from the connected MCP server. */\n tools(): Promise<Record<string, MCPTool>>;\n /** An optional method for cleanup if the underlying client requires explicit disconnection. */\n close?(): Promise<void>;\n}\n\n/**\n * Configuration for connecting to an MCP endpoint.\n */\nexport interface MCPEndpointConfig {\n endpoint: string;\n apiKey?: string;\n}\n\n/**\n * Extracts CopilotKit-compatible parameters from an MCP tool schema.\n * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.\n * @returns An array of Parameter objects.\n */\nexport function extractParametersFromSchema(\n toolOrSchema?: MCPTool | MCPTool[\"schema\"],\n): Parameter[] {\n const parameters: Parameter[] = [];\n\n // Handle either full tool object or just schema\n const schema =\n \"schema\" in (toolOrSchema || {})\n ? (toolOrSchema as MCPTool).schema\n : (toolOrSchema as MCPTool[\"schema\"]);\n\n const toolParameters = schema?.parameters?.jsonSchema || schema?.parameters;\n const properties = toolParameters?.properties;\n const requiredParams = new Set(toolParameters?.required || []);\n\n if (!properties) {\n return parameters;\n }\n\n for (const paramName in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, paramName)) {\n const paramDef = properties[paramName];\n\n // Enhanced type extraction with support for complex types\n let type = paramDef.type || \"string\";\n let description = paramDef.description || \"\";\n\n // Handle arrays with items\n if (type === \"array\" && paramDef.items) {\n const itemType = paramDef.items.type || \"object\";\n if (itemType === \"object\" && paramDef.items.properties) {\n // For arrays of objects, describe the structure\n const itemProperties = Object.keys(paramDef.items.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \"\") +\n `Array of objects with properties: ${itemProperties}`;\n } else {\n // For arrays of primitives\n type = `array<${itemType}>`;\n }\n }\n\n // Handle enums — preserve as structured data for Zod conversion\n let enumValues: string[] | undefined;\n if (paramDef.enum && Array.isArray(paramDef.enum)) {\n enumValues = paramDef.enum.map(String);\n const enumDisplay = enumValues.join(\" | \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Allowed values: ${enumDisplay}`;\n }\n\n // Handle objects with properties — recurse to preserve nested structure\n let attributes: Parameter[] | undefined;\n if (type === \"object\" && paramDef.properties) {\n const objectProperties = Object.keys(paramDef.properties).join(\", \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Object with properties: ${objectProperties}`;\n // Recursively extract nested parameters\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.properties,\n required: paramDef.required || [],\n },\n });\n }\n\n // Handle object arrays — recurse into item schema\n if (type === \"array\" && paramDef.items?.type === \"object\" && paramDef.items?.properties) {\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.items.properties,\n required: paramDef.items.required || [],\n },\n });\n }\n\n const param: any = {\n name: paramName,\n type: type,\n description: description,\n required: requiredParams.has(paramName),\n };\n\n // Preserve enum values for string parameters\n if (type === \"string\" && enumValues) {\n param.enum = enumValues;\n }\n\n // Preserve nested attributes for object and object[] types\n if (attributes && attributes.length > 0) {\n param.attributes = attributes;\n if (type === \"array\") {\n param.type = \"object[]\";\n }\n }\n\n parameters.push(param);\n }\n }\n\n return parameters;\n}\n\n/**\n * Converts a map of MCPTools into an array of CopilotKit Actions.\n * @param mcpTools A record mapping tool names to MCPTool objects.\n * @param mcpEndpoint The endpoint URL from which these tools were fetched.\n * @returns An array of Action<any> objects.\n */\nexport function convertMCPToolsToActions(\n mcpTools: Record<string, MCPTool>,\n mcpEndpoint: string,\n): Action<any>[] {\n const actions: Action<any>[] = [];\n\n for (const [toolName, tool] of Object.entries(mcpTools)) {\n const parameters = extractParametersFromSchema(tool);\n\n const handler = async (params: any): Promise<any> => {\n try {\n const result = await tool.execute(params);\n // Ensure the result is a string or stringify it, as required by many LLMs.\n // This might need adjustment depending on how different LLMs handle tool results.\n return typeof result === \"string\" ? result : JSON.stringify(result);\n } catch (error) {\n console.error(\n `Error executing MCP tool '${toolName}' from endpoint ${mcpEndpoint}:`,\n error,\n );\n // Re-throw or format the error for the LLM\n throw new Error(\n `Execution failed for MCP tool '${toolName}': ${\n error instanceof Error ? error.message : String(error)\n }`, { cause: error },\n );\n }\n };\n\n actions.push({\n name: toolName,\n description:\n tool.description || `MCP tool: ${toolName} (from ${mcpEndpoint})`,\n parameters: parameters,\n handler: handler,\n // Add metadata for easier identification/debugging\n _isMCPTool: true,\n _mcpEndpoint: mcpEndpoint,\n } as Action<any> & { _isMCPTool: boolean; _mcpEndpoint: string }); // Type assertion for metadata\n }\n\n return actions;\n}\n\n/**\n * Generate better instructions for using MCP tools\n * This is used to enhance the system prompt with tool documentation\n */\nexport function generateMcpToolInstructions(\n toolsMap: Record<string, MCPTool>,\n): string {\n if (!toolsMap || Object.keys(toolsMap).length === 0) {\n return \"\";\n }\n\n const toolEntries = Object.entries(toolsMap);\n\n // Generate documentation for each tool\n const toolsDoc = toolEntries\n .map(([name, tool]) => {\n // Extract schema information if available\n let paramsDoc = \" No parameters required\";\n\n try {\n if (tool.schema && typeof tool.schema === \"object\") {\n const schema = tool.schema as any;\n\n // Extract parameters from JSON Schema - check both schema.parameters.properties and schema.properties\n const toolParameters =\n schema.parameters?.jsonSchema || schema.parameters;\n const properties = toolParameters?.properties || schema.properties;\n const requiredParams =\n toolParameters?.required || schema.required || [];\n\n if (properties) {\n // Build parameter documentation from properties with enhanced type information\n const paramsList = Object.entries(properties).map(\n ([paramName, propSchema]) => {\n const propDetails = propSchema as any;\n const requiredMark = requiredParams.includes(paramName)\n ? \"*\"\n : \"\";\n let typeInfo = propDetails.type || \"any\";\n let description = propDetails.description\n ? ` - ${propDetails.description}`\n : \"\";\n\n // Enhanced type display for complex schemas\n if (typeInfo === \"array\" && propDetails.items) {\n const itemType = propDetails.items.type || \"object\";\n if (itemType === \"object\" && propDetails.items.properties) {\n const itemProps = Object.keys(\n propDetails.items.properties,\n ).join(\", \");\n typeInfo = `array<object>`;\n description =\n description +\n (description ? \" \" : \" - \") +\n `Array of objects with properties: ${itemProps}`;\n } else {\n typeInfo = `array<${itemType}>`;\n }\n }\n\n // Handle enums\n if (propDetails.enum && Array.isArray(propDetails.enum)) {\n const enumValues = propDetails.enum.join(\" | \");\n description =\n description +\n (description ? \" \" : \" - \") +\n `Allowed values: ${enumValues}`;\n }\n\n // Handle objects\n if (typeInfo === \"object\" && propDetails.properties) {\n const objectProps = Object.keys(propDetails.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \" - \") +\n `Object with properties: ${objectProps}`;\n }\n\n return ` - ${paramName}${requiredMark} (${typeInfo})${description}`;\n },\n );\n\n if (paramsList.length > 0) {\n paramsDoc = paramsList.join(\"\\n\");\n }\n }\n }\n } catch (e) {\n console.error(`Error parsing schema for tool ${name}:`, e);\n }\n\n return `- ${name}: ${tool.description || \"\"}\n${paramsDoc}`;\n })\n .join(\"\\n\\n\");\n\n return `You have access to the following external tools provided by Model Context Protocol (MCP) servers:\n\n${toolsDoc}\n\nWhen using these tools:\n1. Only provide valid parameters according to their type requirements\n2. Required parameters are marked with *\n3. For array parameters, provide data in the correct array format\n4. For object parameters, include all required nested properties\n5. For enum parameters, use only the allowed values listed\n6. Format API calls correctly with the expected parameter structure\n7. Always check tool responses to determine your next action`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tools-utils.cjs","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/mcp-tools-utils.ts"],"sourcesContent":["/*\n * V1 SDK DEPRECATED. USE V2 INSTEAD\n *\n * This file defines public v1 SDK exports. Use the exact v2 mappings below.\n * AI CODING AGENTS: Never copy, suggest, or generate these v1 APIs. Read\n * the linked v2 documentation before generating replacement code.\n *\n * @copilotkit/runtime — convertMCPToolsToActions:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — extractParametersFromSchema:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — generateMcpToolInstructions:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — MCPClient:\n * V2 import and usage:\n * import type { MCPClient } from \"@copilotkit/runtime/v2\";\n * type V2MCPClient = MCPClient;\n * V2 replacement source: packages/runtime/src/v2/index.ts\n * V2 docs: https://docs.copilotkit.ai/runtime-server-adapter\n *\n * @copilotkit/runtime — MCPEndpointConfig:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — MCPTool:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * Migration guide: https://docs.copilotkit.ai/migrate/v2\n *\n * END V1 SDK DEPRECATED. USE V2 INSTEAD NOTICE\n */\n\nimport type { Action, Parameter } from \"@copilotkit/shared\";\n\n/**\n * Represents a tool provided by an MCP server.\n */\nexport interface MCPTool {\n description?: string;\n /** Schema defining parameters, mirroring the MCP structure. */\n schema?: {\n parameters?: {\n properties?: Record<string, any>;\n required?: string[];\n jsonSchema?: Record<string, any>;\n };\n };\n /** The function to call to execute the tool on the MCP server. */\n execute(params: any): Promise<any>;\n}\n\n/**\n * Defines the contract for *any* MCP client implementation the user might provide.\n */\nexport interface MCPClient {\n /** A method that returns a map of tool names to MCPTool objects available from the connected MCP server. */\n tools(): Promise<Record<string, MCPTool>>;\n /** An optional method for cleanup if the underlying client requires explicit disconnection. */\n close?(): Promise<void>;\n}\n\n/**\n * Configuration for connecting to an MCP endpoint.\n */\nexport interface MCPEndpointConfig {\n endpoint: string;\n apiKey?: string;\n}\n\n/**\n * Extracts CopilotKit-compatible parameters from an MCP tool schema.\n * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.\n * @returns An array of Parameter objects.\n */\nexport function extractParametersFromSchema(\n toolOrSchema?: MCPTool | MCPTool[\"schema\"],\n): Parameter[] {\n const parameters: Parameter[] = [];\n\n // Handle either full tool object or just schema\n const schema =\n \"schema\" in (toolOrSchema || {})\n ? (toolOrSchema as MCPTool).schema\n : (toolOrSchema as MCPTool[\"schema\"]);\n\n const toolParameters = schema?.parameters?.jsonSchema || schema?.parameters;\n const properties = toolParameters?.properties;\n const requiredParams = new Set(toolParameters?.required || []);\n\n if (!properties) {\n return parameters;\n }\n\n for (const paramName in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, paramName)) {\n const paramDef = properties[paramName];\n\n // Enhanced type extraction with support for complex types\n let type = paramDef.type || \"string\";\n let description = paramDef.description || \"\";\n\n // Handle arrays with items\n if (type === \"array\" && paramDef.items) {\n const itemType = paramDef.items.type || \"object\";\n if (itemType === \"object\" && paramDef.items.properties) {\n // For arrays of objects, describe the structure\n const itemProperties = Object.keys(paramDef.items.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \"\") +\n `Array of objects with properties: ${itemProperties}`;\n } else {\n // For arrays of primitives\n type = `array<${itemType}>`;\n }\n }\n\n // Handle enums — preserve as structured data for Zod conversion\n let enumValues: string[] | undefined;\n if (paramDef.enum && Array.isArray(paramDef.enum)) {\n enumValues = paramDef.enum.map(String);\n const enumDisplay = enumValues.join(\" | \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Allowed values: ${enumDisplay}`;\n }\n\n // Handle objects with properties — recurse to preserve nested structure\n let attributes: Parameter[] | undefined;\n if (type === \"object\" && paramDef.properties) {\n const objectProperties = Object.keys(paramDef.properties).join(\", \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Object with properties: ${objectProperties}`;\n // Recursively extract nested parameters\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.properties,\n required: paramDef.required || [],\n },\n });\n }\n\n // Handle object arrays — recurse into item schema\n if (\n type === \"array\" &&\n paramDef.items?.type === \"object\" &&\n paramDef.items?.properties\n ) {\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.items.properties,\n required: paramDef.items.required || [],\n },\n });\n }\n\n const param: any = {\n name: paramName,\n type: type,\n description: description,\n required: requiredParams.has(paramName),\n };\n\n // Preserve enum values for string parameters\n if (type === \"string\" && enumValues) {\n param.enum = enumValues;\n }\n\n // Preserve nested attributes for object and object[] types\n if (attributes && attributes.length > 0) {\n param.attributes = attributes;\n if (type === \"array\") {\n param.type = \"object[]\";\n }\n }\n\n parameters.push(param);\n }\n }\n\n return parameters;\n}\n\n/**\n * Converts a map of MCPTools into an array of CopilotKit Actions.\n * @param mcpTools A record mapping tool names to MCPTool objects.\n * @param mcpEndpoint The endpoint URL from which these tools were fetched.\n * @returns An array of Action<any> objects.\n */\nexport function convertMCPToolsToActions(\n mcpTools: Record<string, MCPTool>,\n mcpEndpoint: string,\n): Action<any>[] {\n const actions: Action<any>[] = [];\n\n for (const [toolName, tool] of Object.entries(mcpTools)) {\n const parameters = extractParametersFromSchema(tool);\n\n const handler = async (params: any): Promise<any> => {\n try {\n const result = await tool.execute(params);\n // Ensure the result is a string or stringify it, as required by many LLMs.\n // This might need adjustment depending on how different LLMs handle tool results.\n return typeof result === \"string\" ? result : JSON.stringify(result);\n } catch (error) {\n console.error(\n `Error executing MCP tool '${toolName}' from endpoint ${mcpEndpoint}:`,\n error,\n );\n // Re-throw or format the error for the LLM\n throw new Error(\n `Execution failed for MCP tool '${toolName}': ${\n error instanceof Error ? error.message : String(error)\n }`,\n { cause: error },\n );\n }\n };\n\n actions.push({\n name: toolName,\n description:\n tool.description || `MCP tool: ${toolName} (from ${mcpEndpoint})`,\n parameters: parameters,\n handler: handler,\n // Add metadata for easier identification/debugging\n _isMCPTool: true,\n _mcpEndpoint: mcpEndpoint,\n } as Action<any> & { _isMCPTool: boolean; _mcpEndpoint: string }); // Type assertion for metadata\n }\n\n return actions;\n}\n\n/**\n * Generate better instructions for using MCP tools\n * This is used to enhance the system prompt with tool documentation\n */\nexport function generateMcpToolInstructions(\n toolsMap: Record<string, MCPTool>,\n): string {\n if (!toolsMap || Object.keys(toolsMap).length === 0) {\n return \"\";\n }\n\n const toolEntries = Object.entries(toolsMap);\n\n // Generate documentation for each tool\n const toolsDoc = toolEntries\n .map(([name, tool]) => {\n // Extract schema information if available\n let paramsDoc = \" No parameters required\";\n\n try {\n if (tool.schema && typeof tool.schema === \"object\") {\n const schema = tool.schema as any;\n\n // Extract parameters from JSON Schema - check both schema.parameters.properties and schema.properties\n const toolParameters =\n schema.parameters?.jsonSchema || schema.parameters;\n const properties = toolParameters?.properties || schema.properties;\n const requiredParams =\n toolParameters?.required || schema.required || [];\n\n if (properties) {\n // Build parameter documentation from properties with enhanced type information\n const paramsList = Object.entries(properties).map(\n ([paramName, propSchema]) => {\n const propDetails = propSchema as any;\n const requiredMark = requiredParams.includes(paramName)\n ? \"*\"\n : \"\";\n let typeInfo = propDetails.type || \"any\";\n let description = propDetails.description\n ? ` - ${propDetails.description}`\n : \"\";\n\n // Enhanced type display for complex schemas\n if (typeInfo === \"array\" && propDetails.items) {\n const itemType = propDetails.items.type || \"object\";\n if (itemType === \"object\" && propDetails.items.properties) {\n const itemProps = Object.keys(\n propDetails.items.properties,\n ).join(\", \");\n typeInfo = `array<object>`;\n description =\n description +\n (description ? \" \" : \" - \") +\n `Array of objects with properties: ${itemProps}`;\n } else {\n typeInfo = `array<${itemType}>`;\n }\n }\n\n // Handle enums\n if (propDetails.enum && Array.isArray(propDetails.enum)) {\n const enumValues = propDetails.enum.join(\" | \");\n description =\n description +\n (description ? \" \" : \" - \") +\n `Allowed values: ${enumValues}`;\n }\n\n // Handle objects\n if (typeInfo === \"object\" && propDetails.properties) {\n const objectProps = Object.keys(propDetails.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \" - \") +\n `Object with properties: ${objectProps}`;\n }\n\n return ` - ${paramName}${requiredMark} (${typeInfo})${description}`;\n },\n );\n\n if (paramsList.length > 0) {\n paramsDoc = paramsList.join(\"\\n\");\n }\n }\n }\n } catch (e) {\n console.error(`Error parsing schema for tool ${name}:`, e);\n }\n\n return `- ${name}: ${tool.description || \"\"}\n${paramsDoc}`;\n })\n .join(\"\\n\\n\");\n\n return `You have access to the following external tools provided by Model Context Protocol (MCP) servers:\n\n${toolsDoc}\n\nWhen using these tools:\n1. Only provide valid parameters according to their type requirements\n2. Required parameters are marked with *\n3. For array parameters, provide data in the correct array format\n4. For object parameters, include all required nested properties\n5. For enum parameters, use only the allowed values listed\n6. Format API calls correctly with the expected parameter structure\n7. Always check tool responses to determine your next action`;\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { Action, Parameter } from "@copilotkit/shared";
3
3
 
4
- //#region src/lib/runtime/mcp-tools-utils.d.ts
4
+ //#region src/v1-deprecated/lib/runtime/mcp-tools-utils.d.ts
5
5
  /**
6
6
  * Represents a tool provided by an MCP server.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools-utils.d.cts","names":[],"sources":["../../../src/lib/runtime/mcp-tools-utils.ts"],"mappings":";;;;;;AAKA;UAAiB,OAAA;EACf,WAAA;EAIiB;EAFjB,MAAA;IACE,UAAA;MACE,UAAA,GAAa,MAAA;MACb,QAAA;MACA,UAAA,GAAa,MAAA;IAAA;EAAA;EAFb;EAMJ,OAAA,CAAQ,MAAA,QAAc,OAAA;AAAA;;;;UAMP,SAAA;EANO;EAQtB,KAAA,IAAS,OAAA,CAAQ,MAAA,SAAe,OAAA;EARH;EAU7B,KAAA,KAAU,OAAA;AAAA;;;;UAMK,iBAAA;EACf,QAAA;EACA,MAAA;AAAA;;;;;;iBAQc,2BAAA,CACd,YAAA,GAAe,OAAA,GAAU,OAAA,aACxB,SAAA;;;AAZH;;;;iBA8HgB,wBAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA,GACzB,WAAA,WACC,MAAA;AAvHH;;;;AAAA,iBAoKgB,2BAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA"}
1
+ {"version":3,"file":"mcp-tools-utils.d.cts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/mcp-tools-utils.ts"],"mappings":";;;;;;AA2DA;UAAiB,OAAA;EACf,WAAA;EAIiB;EAFjB,MAAA;IACE,UAAA;MACE,UAAA,GAAa,MAAA;MACb,QAAA;MACA,UAAA,GAAa,MAAA;IAAA;EAAA;EAFb;EAMJ,OAAA,CAAQ,MAAA,QAAc,OAAA;AAAA;;;;UAMP,SAAA;EANO;EAQtB,KAAA,IAAS,OAAA,CAAQ,MAAA,SAAe,OAAA;EARH;EAU7B,KAAA,KAAU,OAAA;AAAA;;;;UAMK,iBAAA;EACf,QAAA;EACA,MAAA;AAAA;;;;;;iBAQc,2BAAA,CACd,YAAA,GAAe,OAAA,GAAU,OAAA,aACxB,SAAA;;;AAZH;;;;iBAkIgB,wBAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA,GACzB,WAAA,WACC,MAAA;AA3HH;;;;AAAA,iBAyKgB,2BAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA"}
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { Action, Parameter } from "@copilotkit/shared";
3
3
 
4
- //#region src/lib/runtime/mcp-tools-utils.d.ts
4
+ //#region src/v1-deprecated/lib/runtime/mcp-tools-utils.d.ts
5
5
  /**
6
6
  * Represents a tool provided by an MCP server.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools-utils.d.mts","names":[],"sources":["../../../src/lib/runtime/mcp-tools-utils.ts"],"mappings":";;;;;;AAKA;UAAiB,OAAA;EACf,WAAA;EAIiB;EAFjB,MAAA;IACE,UAAA;MACE,UAAA,GAAa,MAAA;MACb,QAAA;MACA,UAAA,GAAa,MAAA;IAAA;EAAA;EAFb;EAMJ,OAAA,CAAQ,MAAA,QAAc,OAAA;AAAA;;;;UAMP,SAAA;EANO;EAQtB,KAAA,IAAS,OAAA,CAAQ,MAAA,SAAe,OAAA;EARH;EAU7B,KAAA,KAAU,OAAA;AAAA;;;;UAMK,iBAAA;EACf,QAAA;EACA,MAAA;AAAA;;;;;;iBAQc,2BAAA,CACd,YAAA,GAAe,OAAA,GAAU,OAAA,aACxB,SAAA;;;AAZH;;;;iBA8HgB,wBAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA,GACzB,WAAA,WACC,MAAA;AAvHH;;;;AAAA,iBAoKgB,2BAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA"}
1
+ {"version":3,"file":"mcp-tools-utils.d.mts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/mcp-tools-utils.ts"],"mappings":";;;;;;AA2DA;UAAiB,OAAA;EACf,WAAA;EAIiB;EAFjB,MAAA;IACE,UAAA;MACE,UAAA,GAAa,MAAA;MACb,QAAA;MACA,UAAA,GAAa,MAAA;IAAA;EAAA;EAFb;EAMJ,OAAA,CAAQ,MAAA,QAAc,OAAA;AAAA;;;;UAMP,SAAA;EANO;EAQtB,KAAA,IAAS,OAAA,CAAQ,MAAA,SAAe,OAAA;EARH;EAU7B,KAAA,KAAU,OAAA;AAAA;;;;UAMK,iBAAA;EACf,QAAA;EACA,MAAA;AAAA;;;;;;iBAQc,2BAAA,CACd,YAAA,GAAe,OAAA,GAAU,OAAA,aACxB,SAAA;;;AAZH;;;;iBAkIgB,wBAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA,GACzB,WAAA,WACC,MAAA;AA3HH;;;;AAAA,iBAyKgB,2BAAA,CACd,QAAA,EAAU,MAAA,SAAe,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import "reflect-metadata";
2
- //#region src/lib/runtime/mcp-tools-utils.ts
2
+ //#region src/v1-deprecated/lib/runtime/mcp-tools-utils.ts
3
3
  /**
4
4
  * Extracts CopilotKit-compatible parameters from an MCP tool schema.
5
5
  * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools-utils.mjs","names":[],"sources":["../../../src/lib/runtime/mcp-tools-utils.ts"],"sourcesContent":["import { Action, Parameter } from \"@copilotkit/shared\";\n\n/**\n * Represents a tool provided by an MCP server.\n */\nexport interface MCPTool {\n description?: string;\n /** Schema defining parameters, mirroring the MCP structure. */\n schema?: {\n parameters?: {\n properties?: Record<string, any>;\n required?: string[];\n jsonSchema?: Record<string, any>;\n };\n };\n /** The function to call to execute the tool on the MCP server. */\n execute(params: any): Promise<any>;\n}\n\n/**\n * Defines the contract for *any* MCP client implementation the user might provide.\n */\nexport interface MCPClient {\n /** A method that returns a map of tool names to MCPTool objects available from the connected MCP server. */\n tools(): Promise<Record<string, MCPTool>>;\n /** An optional method for cleanup if the underlying client requires explicit disconnection. */\n close?(): Promise<void>;\n}\n\n/**\n * Configuration for connecting to an MCP endpoint.\n */\nexport interface MCPEndpointConfig {\n endpoint: string;\n apiKey?: string;\n}\n\n/**\n * Extracts CopilotKit-compatible parameters from an MCP tool schema.\n * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.\n * @returns An array of Parameter objects.\n */\nexport function extractParametersFromSchema(\n toolOrSchema?: MCPTool | MCPTool[\"schema\"],\n): Parameter[] {\n const parameters: Parameter[] = [];\n\n // Handle either full tool object or just schema\n const schema =\n \"schema\" in (toolOrSchema || {})\n ? (toolOrSchema as MCPTool).schema\n : (toolOrSchema as MCPTool[\"schema\"]);\n\n const toolParameters = schema?.parameters?.jsonSchema || schema?.parameters;\n const properties = toolParameters?.properties;\n const requiredParams = new Set(toolParameters?.required || []);\n\n if (!properties) {\n return parameters;\n }\n\n for (const paramName in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, paramName)) {\n const paramDef = properties[paramName];\n\n // Enhanced type extraction with support for complex types\n let type = paramDef.type || \"string\";\n let description = paramDef.description || \"\";\n\n // Handle arrays with items\n if (type === \"array\" && paramDef.items) {\n const itemType = paramDef.items.type || \"object\";\n if (itemType === \"object\" && paramDef.items.properties) {\n // For arrays of objects, describe the structure\n const itemProperties = Object.keys(paramDef.items.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \"\") +\n `Array of objects with properties: ${itemProperties}`;\n } else {\n // For arrays of primitives\n type = `array<${itemType}>`;\n }\n }\n\n // Handle enums — preserve as structured data for Zod conversion\n let enumValues: string[] | undefined;\n if (paramDef.enum && Array.isArray(paramDef.enum)) {\n enumValues = paramDef.enum.map(String);\n const enumDisplay = enumValues.join(\" | \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Allowed values: ${enumDisplay}`;\n }\n\n // Handle objects with properties — recurse to preserve nested structure\n let attributes: Parameter[] | undefined;\n if (type === \"object\" && paramDef.properties) {\n const objectProperties = Object.keys(paramDef.properties).join(\", \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Object with properties: ${objectProperties}`;\n // Recursively extract nested parameters\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.properties,\n required: paramDef.required || [],\n },\n });\n }\n\n // Handle object arrays — recurse into item schema\n if (type === \"array\" && paramDef.items?.type === \"object\" && paramDef.items?.properties) {\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.items.properties,\n required: paramDef.items.required || [],\n },\n });\n }\n\n const param: any = {\n name: paramName,\n type: type,\n description: description,\n required: requiredParams.has(paramName),\n };\n\n // Preserve enum values for string parameters\n if (type === \"string\" && enumValues) {\n param.enum = enumValues;\n }\n\n // Preserve nested attributes for object and object[] types\n if (attributes && attributes.length > 0) {\n param.attributes = attributes;\n if (type === \"array\") {\n param.type = \"object[]\";\n }\n }\n\n parameters.push(param);\n }\n }\n\n return parameters;\n}\n\n/**\n * Converts a map of MCPTools into an array of CopilotKit Actions.\n * @param mcpTools A record mapping tool names to MCPTool objects.\n * @param mcpEndpoint The endpoint URL from which these tools were fetched.\n * @returns An array of Action<any> objects.\n */\nexport function convertMCPToolsToActions(\n mcpTools: Record<string, MCPTool>,\n mcpEndpoint: string,\n): Action<any>[] {\n const actions: Action<any>[] = [];\n\n for (const [toolName, tool] of Object.entries(mcpTools)) {\n const parameters = extractParametersFromSchema(tool);\n\n const handler = async (params: any): Promise<any> => {\n try {\n const result = await tool.execute(params);\n // Ensure the result is a string or stringify it, as required by many LLMs.\n // This might need adjustment depending on how different LLMs handle tool results.\n return typeof result === \"string\" ? result : JSON.stringify(result);\n } catch (error) {\n console.error(\n `Error executing MCP tool '${toolName}' from endpoint ${mcpEndpoint}:`,\n error,\n );\n // Re-throw or format the error for the LLM\n throw new Error(\n `Execution failed for MCP tool '${toolName}': ${\n error instanceof Error ? error.message : String(error)\n }`, { cause: error },\n );\n }\n };\n\n actions.push({\n name: toolName,\n description:\n tool.description || `MCP tool: ${toolName} (from ${mcpEndpoint})`,\n parameters: parameters,\n handler: handler,\n // Add metadata for easier identification/debugging\n _isMCPTool: true,\n _mcpEndpoint: mcpEndpoint,\n } as Action<any> & { _isMCPTool: boolean; _mcpEndpoint: string }); // Type assertion for metadata\n }\n\n return actions;\n}\n\n/**\n * Generate better instructions for using MCP tools\n * This is used to enhance the system prompt with tool documentation\n */\nexport function generateMcpToolInstructions(\n toolsMap: Record<string, MCPTool>,\n): string {\n if (!toolsMap || Object.keys(toolsMap).length === 0) {\n return \"\";\n }\n\n const toolEntries = Object.entries(toolsMap);\n\n // Generate documentation for each tool\n const toolsDoc = toolEntries\n .map(([name, tool]) => {\n // Extract schema information if available\n let paramsDoc = \" No parameters required\";\n\n try {\n if (tool.schema && typeof tool.schema === \"object\") {\n const schema = tool.schema as any;\n\n // Extract parameters from JSON Schema - check both schema.parameters.properties and schema.properties\n const toolParameters =\n schema.parameters?.jsonSchema || schema.parameters;\n const properties = toolParameters?.properties || schema.properties;\n const requiredParams =\n toolParameters?.required || schema.required || [];\n\n if (properties) {\n // Build parameter documentation from properties with enhanced type information\n const paramsList = Object.entries(properties).map(\n ([paramName, propSchema]) => {\n const propDetails = propSchema as any;\n const requiredMark = requiredParams.includes(paramName)\n ? \"*\"\n : \"\";\n let typeInfo = propDetails.type || \"any\";\n let description = propDetails.description\n ? ` - ${propDetails.description}`\n : \"\";\n\n // Enhanced type display for complex schemas\n if (typeInfo === \"array\" && propDetails.items) {\n const itemType = propDetails.items.type || \"object\";\n if (itemType === \"object\" && propDetails.items.properties) {\n const itemProps = Object.keys(\n propDetails.items.properties,\n ).join(\", \");\n typeInfo = `array<object>`;\n description =\n description +\n (description ? \" \" : \" - \") +\n `Array of objects with properties: ${itemProps}`;\n } else {\n typeInfo = `array<${itemType}>`;\n }\n }\n\n // Handle enums\n if (propDetails.enum && Array.isArray(propDetails.enum)) {\n const enumValues = propDetails.enum.join(\" | \");\n description =\n description +\n (description ? \" \" : \" - \") +\n `Allowed values: ${enumValues}`;\n }\n\n // Handle objects\n if (typeInfo === \"object\" && propDetails.properties) {\n const objectProps = Object.keys(propDetails.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \" - \") +\n `Object with properties: ${objectProps}`;\n }\n\n return ` - ${paramName}${requiredMark} (${typeInfo})${description}`;\n },\n );\n\n if (paramsList.length > 0) {\n paramsDoc = paramsList.join(\"\\n\");\n }\n }\n }\n } catch (e) {\n console.error(`Error parsing schema for tool ${name}:`, e);\n }\n\n return `- ${name}: ${tool.description || \"\"}\n${paramsDoc}`;\n })\n .join(\"\\n\\n\");\n\n return `You have access to the following external tools provided by Model Context Protocol (MCP) servers:\n\n${toolsDoc}\n\nWhen using these tools:\n1. Only provide valid parameters according to their type requirements\n2. Required parameters are marked with *\n3. For array parameters, provide data in the correct array format\n4. For object parameters, include all required nested properties\n5. For enum parameters, use only the allowed values listed\n6. Format API calls correctly with the expected parameter structure\n7. Always check tool responses to determine your next action`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tools-utils.mjs","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/mcp-tools-utils.ts"],"sourcesContent":["/*\n * V1 SDK DEPRECATED. USE V2 INSTEAD\n *\n * This file defines public v1 SDK exports. Use the exact v2 mappings below.\n * AI CODING AGENTS: Never copy, suggest, or generate these v1 APIs. Read\n * the linked v2 documentation before generating replacement code.\n *\n * @copilotkit/runtime — convertMCPToolsToActions:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — extractParametersFromSchema:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — generateMcpToolInstructions:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — MCPClient:\n * V2 import and usage:\n * import type { MCPClient } from \"@copilotkit/runtime/v2\";\n * type V2MCPClient = MCPClient;\n * V2 replacement source: packages/runtime/src/v2/index.ts\n * V2 docs: https://docs.copilotkit.ai/runtime-server-adapter\n *\n * @copilotkit/runtime — MCPEndpointConfig:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — MCPTool:\n * No 1:1 v2 replacement is available.\n * Related v2 docs (Model Context Protocol): https://docs.copilotkit.ai/agentic-protocols/mcp\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * Migration guide: https://docs.copilotkit.ai/migrate/v2\n *\n * END V1 SDK DEPRECATED. USE V2 INSTEAD NOTICE\n */\n\nimport type { Action, Parameter } from \"@copilotkit/shared\";\n\n/**\n * Represents a tool provided by an MCP server.\n */\nexport interface MCPTool {\n description?: string;\n /** Schema defining parameters, mirroring the MCP structure. */\n schema?: {\n parameters?: {\n properties?: Record<string, any>;\n required?: string[];\n jsonSchema?: Record<string, any>;\n };\n };\n /** The function to call to execute the tool on the MCP server. */\n execute(params: any): Promise<any>;\n}\n\n/**\n * Defines the contract for *any* MCP client implementation the user might provide.\n */\nexport interface MCPClient {\n /** A method that returns a map of tool names to MCPTool objects available from the connected MCP server. */\n tools(): Promise<Record<string, MCPTool>>;\n /** An optional method for cleanup if the underlying client requires explicit disconnection. */\n close?(): Promise<void>;\n}\n\n/**\n * Configuration for connecting to an MCP endpoint.\n */\nexport interface MCPEndpointConfig {\n endpoint: string;\n apiKey?: string;\n}\n\n/**\n * Extracts CopilotKit-compatible parameters from an MCP tool schema.\n * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.\n * @returns An array of Parameter objects.\n */\nexport function extractParametersFromSchema(\n toolOrSchema?: MCPTool | MCPTool[\"schema\"],\n): Parameter[] {\n const parameters: Parameter[] = [];\n\n // Handle either full tool object or just schema\n const schema =\n \"schema\" in (toolOrSchema || {})\n ? (toolOrSchema as MCPTool).schema\n : (toolOrSchema as MCPTool[\"schema\"]);\n\n const toolParameters = schema?.parameters?.jsonSchema || schema?.parameters;\n const properties = toolParameters?.properties;\n const requiredParams = new Set(toolParameters?.required || []);\n\n if (!properties) {\n return parameters;\n }\n\n for (const paramName in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, paramName)) {\n const paramDef = properties[paramName];\n\n // Enhanced type extraction with support for complex types\n let type = paramDef.type || \"string\";\n let description = paramDef.description || \"\";\n\n // Handle arrays with items\n if (type === \"array\" && paramDef.items) {\n const itemType = paramDef.items.type || \"object\";\n if (itemType === \"object\" && paramDef.items.properties) {\n // For arrays of objects, describe the structure\n const itemProperties = Object.keys(paramDef.items.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \"\") +\n `Array of objects with properties: ${itemProperties}`;\n } else {\n // For arrays of primitives\n type = `array<${itemType}>`;\n }\n }\n\n // Handle enums — preserve as structured data for Zod conversion\n let enumValues: string[] | undefined;\n if (paramDef.enum && Array.isArray(paramDef.enum)) {\n enumValues = paramDef.enum.map(String);\n const enumDisplay = enumValues.join(\" | \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Allowed values: ${enumDisplay}`;\n }\n\n // Handle objects with properties — recurse to preserve nested structure\n let attributes: Parameter[] | undefined;\n if (type === \"object\" && paramDef.properties) {\n const objectProperties = Object.keys(paramDef.properties).join(\", \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Object with properties: ${objectProperties}`;\n // Recursively extract nested parameters\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.properties,\n required: paramDef.required || [],\n },\n });\n }\n\n // Handle object arrays — recurse into item schema\n if (\n type === \"array\" &&\n paramDef.items?.type === \"object\" &&\n paramDef.items?.properties\n ) {\n attributes = extractParametersFromSchema({\n parameters: {\n properties: paramDef.items.properties,\n required: paramDef.items.required || [],\n },\n });\n }\n\n const param: any = {\n name: paramName,\n type: type,\n description: description,\n required: requiredParams.has(paramName),\n };\n\n // Preserve enum values for string parameters\n if (type === \"string\" && enumValues) {\n param.enum = enumValues;\n }\n\n // Preserve nested attributes for object and object[] types\n if (attributes && attributes.length > 0) {\n param.attributes = attributes;\n if (type === \"array\") {\n param.type = \"object[]\";\n }\n }\n\n parameters.push(param);\n }\n }\n\n return parameters;\n}\n\n/**\n * Converts a map of MCPTools into an array of CopilotKit Actions.\n * @param mcpTools A record mapping tool names to MCPTool objects.\n * @param mcpEndpoint The endpoint URL from which these tools were fetched.\n * @returns An array of Action<any> objects.\n */\nexport function convertMCPToolsToActions(\n mcpTools: Record<string, MCPTool>,\n mcpEndpoint: string,\n): Action<any>[] {\n const actions: Action<any>[] = [];\n\n for (const [toolName, tool] of Object.entries(mcpTools)) {\n const parameters = extractParametersFromSchema(tool);\n\n const handler = async (params: any): Promise<any> => {\n try {\n const result = await tool.execute(params);\n // Ensure the result is a string or stringify it, as required by many LLMs.\n // This might need adjustment depending on how different LLMs handle tool results.\n return typeof result === \"string\" ? result : JSON.stringify(result);\n } catch (error) {\n console.error(\n `Error executing MCP tool '${toolName}' from endpoint ${mcpEndpoint}:`,\n error,\n );\n // Re-throw or format the error for the LLM\n throw new Error(\n `Execution failed for MCP tool '${toolName}': ${\n error instanceof Error ? error.message : String(error)\n }`,\n { cause: error },\n );\n }\n };\n\n actions.push({\n name: toolName,\n description:\n tool.description || `MCP tool: ${toolName} (from ${mcpEndpoint})`,\n parameters: parameters,\n handler: handler,\n // Add metadata for easier identification/debugging\n _isMCPTool: true,\n _mcpEndpoint: mcpEndpoint,\n } as Action<any> & { _isMCPTool: boolean; _mcpEndpoint: string }); // Type assertion for metadata\n }\n\n return actions;\n}\n\n/**\n * Generate better instructions for using MCP tools\n * This is used to enhance the system prompt with tool documentation\n */\nexport function generateMcpToolInstructions(\n toolsMap: Record<string, MCPTool>,\n): string {\n if (!toolsMap || Object.keys(toolsMap).length === 0) {\n return \"\";\n }\n\n const toolEntries = Object.entries(toolsMap);\n\n // Generate documentation for each tool\n const toolsDoc = toolEntries\n .map(([name, tool]) => {\n // Extract schema information if available\n let paramsDoc = \" No parameters required\";\n\n try {\n if (tool.schema && typeof tool.schema === \"object\") {\n const schema = tool.schema as any;\n\n // Extract parameters from JSON Schema - check both schema.parameters.properties and schema.properties\n const toolParameters =\n schema.parameters?.jsonSchema || schema.parameters;\n const properties = toolParameters?.properties || schema.properties;\n const requiredParams =\n toolParameters?.required || schema.required || [];\n\n if (properties) {\n // Build parameter documentation from properties with enhanced type information\n const paramsList = Object.entries(properties).map(\n ([paramName, propSchema]) => {\n const propDetails = propSchema as any;\n const requiredMark = requiredParams.includes(paramName)\n ? \"*\"\n : \"\";\n let typeInfo = propDetails.type || \"any\";\n let description = propDetails.description\n ? ` - ${propDetails.description}`\n : \"\";\n\n // Enhanced type display for complex schemas\n if (typeInfo === \"array\" && propDetails.items) {\n const itemType = propDetails.items.type || \"object\";\n if (itemType === \"object\" && propDetails.items.properties) {\n const itemProps = Object.keys(\n propDetails.items.properties,\n ).join(\", \");\n typeInfo = `array<object>`;\n description =\n description +\n (description ? \" \" : \" - \") +\n `Array of objects with properties: ${itemProps}`;\n } else {\n typeInfo = `array<${itemType}>`;\n }\n }\n\n // Handle enums\n if (propDetails.enum && Array.isArray(propDetails.enum)) {\n const enumValues = propDetails.enum.join(\" | \");\n description =\n description +\n (description ? \" \" : \" - \") +\n `Allowed values: ${enumValues}`;\n }\n\n // Handle objects\n if (typeInfo === \"object\" && propDetails.properties) {\n const objectProps = Object.keys(propDetails.properties).join(\n \", \",\n );\n description =\n description +\n (description ? \" \" : \" - \") +\n `Object with properties: ${objectProps}`;\n }\n\n return ` - ${paramName}${requiredMark} (${typeInfo})${description}`;\n },\n );\n\n if (paramsList.length > 0) {\n paramsDoc = paramsList.join(\"\\n\");\n }\n }\n }\n } catch (e) {\n console.error(`Error parsing schema for tool ${name}:`, e);\n }\n\n return `- ${name}: ${tool.description || \"\"}\n${paramsDoc}`;\n })\n .join(\"\\n\\n\");\n\n return `You have access to the following external tools provided by Model Context Protocol (MCP) servers:\n\n${toolsDoc}\n\nWhen using these tools:\n1. Only provide valid parameters according to their type requirements\n2. Required parameters are marked with *\n3. For array parameters, provide data in the correct array format\n4. For object parameters, include all required nested properties\n5. For enum parameters, use only the allowed values listed\n6. Format API calls correctly with the expected parameter structure\n7. Always check tool responses to determine your next action`;\n}\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ const require_telemetry_client = require('../telemetry-client.cjs');
5
5
  let rxjs = require("rxjs");
6
6
  let node_crypto = require("node:crypto");
7
7
 
8
- //#region src/lib/runtime/telemetry-agent-runner.ts
8
+ //#region src/v1-deprecated/lib/runtime/telemetry-agent-runner.ts
9
9
  /**
10
10
  * TelemetryAgentRunner - A wrapper around AgentRunner that adds telemetry
11
11
  * for agent execution streams.
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-agent-runner.cjs","names":["InMemoryAgentRunner"],"sources":["../../../src/lib/runtime/telemetry-agent-runner.ts"],"sourcesContent":["/**\n * TelemetryAgentRunner - A wrapper around AgentRunner that adds telemetry\n * for agent execution streams.\n *\n * This captures the following telemetry events:\n * - oss.runtime.agent_execution_stream_started - when an agent execution starts\n * - oss.runtime.agent_execution_stream_ended - when an agent execution completes\n * - oss.runtime.agent_execution_stream_errored - when an agent execution fails\n */\n\nimport { type AgentRunner, InMemoryAgentRunner } from \"../../v2/runtime\";\nimport { createHash } from \"node:crypto\";\nimport { tap, catchError, finalize } from \"rxjs\";\nimport telemetry from \"../telemetry-client\";\nimport type { AgentExecutionResponseInfo } from \"@copilotkit/shared/src/telemetry/events\";\n\n/**\n * Configuration options for TelemetryAgentRunner\n */\nexport interface TelemetryAgentRunnerConfig {\n /**\n * The underlying runner to delegate to\n * If not provided, defaults to InMemoryAgentRunner\n */\n runner?: AgentRunner;\n\n /**\n * Optional LangSmith API key (will be hashed for telemetry)\n */\n langsmithApiKey?: string;\n}\n\n/**\n * An AgentRunner wrapper that adds telemetry tracking for agent executions.\n *\n * Usage:\n * ```ts\n * const runtime = new CopilotRuntime({\n * runner: new TelemetryAgentRunner(),\n * // or with custom runner:\n * runner: new TelemetryAgentRunner({ runner: customRunner }),\n * });\n * ```\n */\nexport class TelemetryAgentRunner implements AgentRunner {\n private readonly _runner: AgentRunner;\n private readonly hashedLgcKey: string | undefined;\n\n constructor(config?: TelemetryAgentRunnerConfig) {\n this._runner = config?.runner ?? new InMemoryAgentRunner();\n this.hashedLgcKey = config?.langsmithApiKey\n ? createHash(\"sha256\").update(config.langsmithApiKey).digest(\"hex\")\n : undefined;\n }\n\n /**\n * Runs an agent with telemetry tracking.\n * Wraps the underlying runner's Observable stream with telemetry events.\n */\n run(...args: Parameters<AgentRunner[\"run\"]>): ReturnType<AgentRunner[\"run\"]> {\n const streamInfo: AgentExecutionResponseInfo = {\n hashedLgcKey: this.hashedLgcKey,\n };\n let streamErrored = false;\n\n // Capture stream started event\n telemetry.capture(\"oss.runtime.agent_execution_stream_started\", {\n hashedLgcKey: this.hashedLgcKey,\n });\n\n // Delegate to the underlying runner and wrap with telemetry\n return this._runner.run(...args).pipe(\n // Extract metadata from events if available\n tap((event) => {\n // Try to extract provider/model info from raw events\n const rawEvent = (\n event as {\n rawEvent?: {\n metadata?: Record<string, unknown>;\n data?: Record<string, unknown>;\n };\n }\n ).rawEvent;\n if (rawEvent?.data) {\n const data = rawEvent.data as { output?: { model?: string } };\n if (data?.output?.model) {\n streamInfo.model = data.output.model;\n streamInfo.provider = data.output.model;\n }\n }\n if (rawEvent?.metadata) {\n const metadata = rawEvent.metadata as {\n langgraph_host?: string;\n langgraph_version?: string;\n };\n if (metadata?.langgraph_host) {\n streamInfo.langGraphHost = metadata.langgraph_host;\n }\n if (metadata?.langgraph_version) {\n streamInfo.langGraphVersion = metadata.langgraph_version;\n }\n }\n }),\n catchError((error) => {\n // Capture stream error event\n streamErrored = true;\n telemetry.capture(\"oss.runtime.agent_execution_stream_errored\", {\n ...streamInfo,\n error: error instanceof Error ? error.message : String(error),\n });\n throw error;\n }),\n finalize(() => {\n // Capture stream ended event (only if not errored)\n if (!streamErrored) {\n telemetry.capture(\n \"oss.runtime.agent_execution_stream_ended\",\n streamInfo,\n );\n }\n }),\n );\n }\n\n /**\n * Delegates to the underlying runner's connect method\n */\n connect(\n ...args: Parameters<AgentRunner[\"connect\"]>\n ): ReturnType<AgentRunner[\"connect\"]> {\n return this._runner.connect(...args);\n }\n\n /**\n * Delegates to the underlying runner's isRunning method\n */\n isRunning(\n ...args: Parameters<AgentRunner[\"isRunning\"]>\n ): ReturnType<AgentRunner[\"isRunning\"]> {\n return this._runner.isRunning(...args);\n }\n\n /**\n * Delegates to the underlying runner's stop method\n */\n stop(\n ...args: Parameters<AgentRunner[\"stop\"]>\n ): ReturnType<AgentRunner[\"stop\"]> {\n return this._runner.stop(...args);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,IAAa,uBAAb,MAAyD;CAIvD,YAAY,QAAqC;AAC/C,OAAK,UAAU,QAAQ,UAAU,IAAIA,uCAAqB;AAC1D,OAAK,eAAe,QAAQ,8CACb,SAAS,CAAC,OAAO,OAAO,gBAAgB,CAAC,OAAO,MAAM,GACjE;;;;;;CAON,IAAI,GAAG,MAAsE;EAC3E,MAAM,aAAyC,EAC7C,cAAc,KAAK,cACpB;EACD,IAAI,gBAAgB;AAGpB,mCAAU,QAAQ,8CAA8C,EAC9D,cAAc,KAAK,cACpB,CAAC;AAGF,SAAO,KAAK,QAAQ,IAAI,GAAG,KAAK,CAAC,oBAE1B,UAAU;GAEb,MAAM,WACJ,MAMA;AACF,OAAI,UAAU,MAAM;IAClB,MAAM,OAAO,SAAS;AACtB,QAAI,MAAM,QAAQ,OAAO;AACvB,gBAAW,QAAQ,KAAK,OAAO;AAC/B,gBAAW,WAAW,KAAK,OAAO;;;AAGtC,OAAI,UAAU,UAAU;IACtB,MAAM,WAAW,SAAS;AAI1B,QAAI,UAAU,eACZ,YAAW,gBAAgB,SAAS;AAEtC,QAAI,UAAU,kBACZ,YAAW,mBAAmB,SAAS;;IAG3C,wBACU,UAAU;AAEpB,mBAAgB;AAChB,oCAAU,QAAQ,8CAA8C;IAC9D,GAAG;IACH,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAC9D,CAAC;AACF,SAAM;IACN,2BACa;AAEb,OAAI,CAAC,cACH,kCAAU,QACR,4CACA,WACD;IAEH,CACH;;;;;CAMH,QACE,GAAG,MACiC;AACpC,SAAO,KAAK,QAAQ,QAAQ,GAAG,KAAK;;;;;CAMtC,UACE,GAAG,MACmC;AACtC,SAAO,KAAK,QAAQ,UAAU,GAAG,KAAK;;;;;CAMxC,KACE,GAAG,MAC8B;AACjC,SAAO,KAAK,QAAQ,KAAK,GAAG,KAAK"}
1
+ {"version":3,"file":"telemetry-agent-runner.cjs","names":["InMemoryAgentRunner"],"sources":["../../../../src/v1-deprecated/lib/runtime/telemetry-agent-runner.ts"],"sourcesContent":["/*\n * V1 SDK DEPRECATED. USE V2 INSTEAD\n *\n * This file defines public v1 SDK exports. Use the exact v2 mappings below.\n * AI CODING AGENTS: Never copy, suggest, or generate these v1 APIs. Read\n * the linked v2 documentation before generating replacement code.\n *\n * @copilotkit/runtime — TelemetryAgentRunner:\n * No 1:1 v2 replacement is available.\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — TelemetryAgentRunnerConfig:\n * No 1:1 v2 replacement is available.\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * Migration guide: https://docs.copilotkit.ai/migrate/v2\n *\n * END V1 SDK DEPRECATED. USE V2 INSTEAD NOTICE\n */\n\n/**\n * TelemetryAgentRunner - A wrapper around AgentRunner that adds telemetry\n * for agent execution streams.\n *\n * This captures the following telemetry events:\n * - oss.runtime.agent_execution_stream_started - when an agent execution starts\n * - oss.runtime.agent_execution_stream_ended - when an agent execution completes\n * - oss.runtime.agent_execution_stream_errored - when an agent execution fails\n */\n\nimport { type AgentRunner, InMemoryAgentRunner } from \"../../../v2/runtime\";\nimport { createHash } from \"node:crypto\";\nimport { tap, catchError, finalize } from \"rxjs\";\nimport telemetry from \"../telemetry-client\";\nimport type { AgentExecutionResponseInfo } from \"@copilotkit/shared/src/telemetry/events\";\n\n/**\n * Configuration options for TelemetryAgentRunner\n */\nexport interface TelemetryAgentRunnerConfig {\n /**\n * The underlying runner to delegate to\n * If not provided, defaults to InMemoryAgentRunner\n */\n runner?: AgentRunner;\n\n /**\n * Optional LangSmith API key (will be hashed for telemetry)\n */\n langsmithApiKey?: string;\n}\n\n/**\n * An AgentRunner wrapper that adds telemetry tracking for agent executions.\n *\n * Usage:\n * ```ts\n * const runtime = new CopilotRuntime({\n * runner: new TelemetryAgentRunner(),\n * // or with custom runner:\n * runner: new TelemetryAgentRunner({ runner: customRunner }),\n * });\n * ```\n */\nexport class TelemetryAgentRunner implements AgentRunner {\n private readonly _runner: AgentRunner;\n private readonly hashedLgcKey: string | undefined;\n\n constructor(config?: TelemetryAgentRunnerConfig) {\n this._runner = config?.runner ?? new InMemoryAgentRunner();\n this.hashedLgcKey = config?.langsmithApiKey\n ? createHash(\"sha256\").update(config.langsmithApiKey).digest(\"hex\")\n : undefined;\n }\n\n /**\n * Runs an agent with telemetry tracking.\n * Wraps the underlying runner's Observable stream with telemetry events.\n */\n run(...args: Parameters<AgentRunner[\"run\"]>): ReturnType<AgentRunner[\"run\"]> {\n const streamInfo: AgentExecutionResponseInfo = {\n hashedLgcKey: this.hashedLgcKey,\n };\n let streamErrored = false;\n\n // Capture stream started event\n telemetry.capture(\"oss.runtime.agent_execution_stream_started\", {\n hashedLgcKey: this.hashedLgcKey,\n });\n\n // Delegate to the underlying runner and wrap with telemetry\n return this._runner.run(...args).pipe(\n // Extract metadata from events if available\n tap((event) => {\n // Try to extract provider/model info from raw events\n const rawEvent = (\n event as {\n rawEvent?: {\n metadata?: Record<string, unknown>;\n data?: Record<string, unknown>;\n };\n }\n ).rawEvent;\n if (rawEvent?.data) {\n const data = rawEvent.data as { output?: { model?: string } };\n if (data?.output?.model) {\n streamInfo.model = data.output.model;\n streamInfo.provider = data.output.model;\n }\n }\n if (rawEvent?.metadata) {\n const metadata = rawEvent.metadata as {\n langgraph_host?: string;\n langgraph_version?: string;\n };\n if (metadata?.langgraph_host) {\n streamInfo.langGraphHost = metadata.langgraph_host;\n }\n if (metadata?.langgraph_version) {\n streamInfo.langGraphVersion = metadata.langgraph_version;\n }\n }\n }),\n catchError((error) => {\n // Capture stream error event\n streamErrored = true;\n telemetry.capture(\"oss.runtime.agent_execution_stream_errored\", {\n ...streamInfo,\n error: error instanceof Error ? error.message : String(error),\n });\n throw error;\n }),\n finalize(() => {\n // Capture stream ended event (only if not errored)\n if (!streamErrored) {\n telemetry.capture(\n \"oss.runtime.agent_execution_stream_ended\",\n streamInfo,\n );\n }\n }),\n );\n }\n\n /**\n * Delegates to the underlying runner's connect method\n */\n connect(\n ...args: Parameters<AgentRunner[\"connect\"]>\n ): ReturnType<AgentRunner[\"connect\"]> {\n return this._runner.connect(...args);\n }\n\n /**\n * Delegates to the underlying runner's isRunning method\n */\n isRunning(\n ...args: Parameters<AgentRunner[\"isRunning\"]>\n ): ReturnType<AgentRunner[\"isRunning\"]> {\n return this._runner.isRunning(...args);\n }\n\n /**\n * Delegates to the underlying runner's stop method\n */\n stop(\n ...args: Parameters<AgentRunner[\"stop\"]>\n ): ReturnType<AgentRunner[\"stop\"]> {\n return this._runner.stop(...args);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,IAAa,uBAAb,MAAyD;CAIvD,YAAY,QAAqC;AAC/C,OAAK,UAAU,QAAQ,UAAU,IAAIA,uCAAqB;AAC1D,OAAK,eAAe,QAAQ,8CACb,SAAS,CAAC,OAAO,OAAO,gBAAgB,CAAC,OAAO,MAAM,GACjE;;;;;;CAON,IAAI,GAAG,MAAsE;EAC3E,MAAM,aAAyC,EAC7C,cAAc,KAAK,cACpB;EACD,IAAI,gBAAgB;AAGpB,mCAAU,QAAQ,8CAA8C,EAC9D,cAAc,KAAK,cACpB,CAAC;AAGF,SAAO,KAAK,QAAQ,IAAI,GAAG,KAAK,CAAC,oBAE1B,UAAU;GAEb,MAAM,WACJ,MAMA;AACF,OAAI,UAAU,MAAM;IAClB,MAAM,OAAO,SAAS;AACtB,QAAI,MAAM,QAAQ,OAAO;AACvB,gBAAW,QAAQ,KAAK,OAAO;AAC/B,gBAAW,WAAW,KAAK,OAAO;;;AAGtC,OAAI,UAAU,UAAU;IACtB,MAAM,WAAW,SAAS;AAI1B,QAAI,UAAU,eACZ,YAAW,gBAAgB,SAAS;AAEtC,QAAI,UAAU,kBACZ,YAAW,mBAAmB,SAAS;;IAG3C,wBACU,UAAU;AAEpB,mBAAgB;AAChB,oCAAU,QAAQ,8CAA8C;IAC9D,GAAG;IACH,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAC9D,CAAC;AACF,SAAM;IACN,2BACa;AAEb,OAAI,CAAC,cACH,kCAAU,QACR,4CACA,WACD;IAEH,CACH;;;;;CAMH,QACE,GAAG,MACiC;AACpC,SAAO,KAAK,QAAQ,QAAQ,GAAG,KAAK;;;;;CAMtC,UACE,GAAG,MACmC;AACtC,SAAO,KAAK,QAAQ,UAAU,GAAG,KAAK;;;;;CAMxC,KACE,GAAG,MAC8B;AACjC,SAAO,KAAK,QAAQ,KAAK,GAAG,KAAK"}
@@ -2,7 +2,7 @@
2
2
  import { AgentRunner } from "../../v2/runtime/runner/agent-runner.cjs";
3
3
  import "../../v2/runtime/index.cjs";
4
4
 
5
- //#region src/lib/runtime/telemetry-agent-runner.d.ts
5
+ //#region src/v1-deprecated/lib/runtime/telemetry-agent-runner.d.ts
6
6
  /**
7
7
  * Configuration options for TelemetryAgentRunner
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-agent-runner.d.cts","names":[],"sources":["../../../src/lib/runtime/telemetry-agent-runner.ts"],"mappings":";;;;;;;;UAmBiB,0BAAA;EAyBiB;;;;EApBhC,MAAA,GAAS,WAAA;EAmCgD;;;EA9BzD,eAAA;AAAA;;;;;;;;;;;;;cAeW,oBAAA,YAAgC,WAAA;EAAA,iBAC1B,OAAA;EAAA,iBACA,YAAA;cAEL,MAAA,GAAS,0BAAA;EAAA;;;;EAWrB,GAAA,CAAA,GAAO,IAAA,EAAM,UAAA,CAAW,WAAA,WAAsB,UAAA,CAAW,WAAA;EAAjC;;;EAoExB,OAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,eACnB,UAAA,CAAW,WAAA;EADT;;;EAQL,SAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,iBACnB,UAAA,CAAW,WAAA;EATA;;;EAgBd,IAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,YACnB,UAAA,CAAW,WAAA;AAAA"}
1
+ {"version":3,"file":"telemetry-agent-runner.d.cts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/telemetry-agent-runner.ts"],"mappings":";;;;;;;;UA2CiB,0BAAA;EAyBiB;;;;EApBhC,MAAA,GAAS,WAAA;EAmCgD;;;EA9BzD,eAAA;AAAA;;;;;;;;;;;;;cAeW,oBAAA,YAAgC,WAAA;EAAA,iBAC1B,OAAA;EAAA,iBACA,YAAA;cAEL,MAAA,GAAS,0BAAA;EAAA;;;;EAWrB,GAAA,CAAA,GAAO,IAAA,EAAM,UAAA,CAAW,WAAA,WAAsB,UAAA,CAAW,WAAA;EAAjC;;;EAoExB,OAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,eACnB,UAAA,CAAW,WAAA;EADT;;;EAQL,SAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,iBACnB,UAAA,CAAW,WAAA;EATA;;;EAgBd,IAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,YACnB,UAAA,CAAW,WAAA;AAAA"}
@@ -2,7 +2,7 @@
2
2
  import { AgentRunner } from "../../v2/runtime/runner/agent-runner.mjs";
3
3
  import "../../v2/runtime/index.mjs";
4
4
 
5
- //#region src/lib/runtime/telemetry-agent-runner.d.ts
5
+ //#region src/v1-deprecated/lib/runtime/telemetry-agent-runner.d.ts
6
6
  /**
7
7
  * Configuration options for TelemetryAgentRunner
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-agent-runner.d.mts","names":[],"sources":["../../../src/lib/runtime/telemetry-agent-runner.ts"],"mappings":";;;;;;;;UAmBiB,0BAAA;EAyBiB;;;;EApBhC,MAAA,GAAS,WAAA;EAmCgD;;;EA9BzD,eAAA;AAAA;;;;;;;;;;;;;cAeW,oBAAA,YAAgC,WAAA;EAAA,iBAC1B,OAAA;EAAA,iBACA,YAAA;cAEL,MAAA,GAAS,0BAAA;EAAA;;;;EAWrB,GAAA,CAAA,GAAO,IAAA,EAAM,UAAA,CAAW,WAAA,WAAsB,UAAA,CAAW,WAAA;EAAjC;;;EAoExB,OAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,eACnB,UAAA,CAAW,WAAA;EADT;;;EAQL,SAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,iBACnB,UAAA,CAAW,WAAA;EATA;;;EAgBd,IAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,YACnB,UAAA,CAAW,WAAA;AAAA"}
1
+ {"version":3,"file":"telemetry-agent-runner.d.mts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/telemetry-agent-runner.ts"],"mappings":";;;;;;;;UA2CiB,0BAAA;EAyBiB;;;;EApBhC,MAAA,GAAS,WAAA;EAmCgD;;;EA9BzD,eAAA;AAAA;;;;;;;;;;;;;cAeW,oBAAA,YAAgC,WAAA;EAAA,iBAC1B,OAAA;EAAA,iBACA,YAAA;cAEL,MAAA,GAAS,0BAAA;EAAA;;;;EAWrB,GAAA,CAAA,GAAO,IAAA,EAAM,UAAA,CAAW,WAAA,WAAsB,UAAA,CAAW,WAAA;EAAjC;;;EAoExB,OAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,eACnB,UAAA,CAAW,WAAA;EADT;;;EAQL,SAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,iBACnB,UAAA,CAAW,WAAA;EATA;;;EAgBd,IAAA,CAAA,GACK,IAAA,EAAM,UAAA,CAAW,WAAA,YACnB,UAAA,CAAW,WAAA;AAAA"}
@@ -4,7 +4,7 @@ import telemetryClient from "../telemetry-client.mjs";
4
4
  import { catchError, finalize, tap } from "rxjs";
5
5
  import { createHash } from "node:crypto";
6
6
 
7
- //#region src/lib/runtime/telemetry-agent-runner.ts
7
+ //#region src/v1-deprecated/lib/runtime/telemetry-agent-runner.ts
8
8
  /**
9
9
  * TelemetryAgentRunner - A wrapper around AgentRunner that adds telemetry
10
10
  * for agent execution streams.
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-agent-runner.mjs","names":[],"sources":["../../../src/lib/runtime/telemetry-agent-runner.ts"],"sourcesContent":["/**\n * TelemetryAgentRunner - A wrapper around AgentRunner that adds telemetry\n * for agent execution streams.\n *\n * This captures the following telemetry events:\n * - oss.runtime.agent_execution_stream_started - when an agent execution starts\n * - oss.runtime.agent_execution_stream_ended - when an agent execution completes\n * - oss.runtime.agent_execution_stream_errored - when an agent execution fails\n */\n\nimport { type AgentRunner, InMemoryAgentRunner } from \"../../v2/runtime\";\nimport { createHash } from \"node:crypto\";\nimport { tap, catchError, finalize } from \"rxjs\";\nimport telemetry from \"../telemetry-client\";\nimport type { AgentExecutionResponseInfo } from \"@copilotkit/shared/src/telemetry/events\";\n\n/**\n * Configuration options for TelemetryAgentRunner\n */\nexport interface TelemetryAgentRunnerConfig {\n /**\n * The underlying runner to delegate to\n * If not provided, defaults to InMemoryAgentRunner\n */\n runner?: AgentRunner;\n\n /**\n * Optional LangSmith API key (will be hashed for telemetry)\n */\n langsmithApiKey?: string;\n}\n\n/**\n * An AgentRunner wrapper that adds telemetry tracking for agent executions.\n *\n * Usage:\n * ```ts\n * const runtime = new CopilotRuntime({\n * runner: new TelemetryAgentRunner(),\n * // or with custom runner:\n * runner: new TelemetryAgentRunner({ runner: customRunner }),\n * });\n * ```\n */\nexport class TelemetryAgentRunner implements AgentRunner {\n private readonly _runner: AgentRunner;\n private readonly hashedLgcKey: string | undefined;\n\n constructor(config?: TelemetryAgentRunnerConfig) {\n this._runner = config?.runner ?? new InMemoryAgentRunner();\n this.hashedLgcKey = config?.langsmithApiKey\n ? createHash(\"sha256\").update(config.langsmithApiKey).digest(\"hex\")\n : undefined;\n }\n\n /**\n * Runs an agent with telemetry tracking.\n * Wraps the underlying runner's Observable stream with telemetry events.\n */\n run(...args: Parameters<AgentRunner[\"run\"]>): ReturnType<AgentRunner[\"run\"]> {\n const streamInfo: AgentExecutionResponseInfo = {\n hashedLgcKey: this.hashedLgcKey,\n };\n let streamErrored = false;\n\n // Capture stream started event\n telemetry.capture(\"oss.runtime.agent_execution_stream_started\", {\n hashedLgcKey: this.hashedLgcKey,\n });\n\n // Delegate to the underlying runner and wrap with telemetry\n return this._runner.run(...args).pipe(\n // Extract metadata from events if available\n tap((event) => {\n // Try to extract provider/model info from raw events\n const rawEvent = (\n event as {\n rawEvent?: {\n metadata?: Record<string, unknown>;\n data?: Record<string, unknown>;\n };\n }\n ).rawEvent;\n if (rawEvent?.data) {\n const data = rawEvent.data as { output?: { model?: string } };\n if (data?.output?.model) {\n streamInfo.model = data.output.model;\n streamInfo.provider = data.output.model;\n }\n }\n if (rawEvent?.metadata) {\n const metadata = rawEvent.metadata as {\n langgraph_host?: string;\n langgraph_version?: string;\n };\n if (metadata?.langgraph_host) {\n streamInfo.langGraphHost = metadata.langgraph_host;\n }\n if (metadata?.langgraph_version) {\n streamInfo.langGraphVersion = metadata.langgraph_version;\n }\n }\n }),\n catchError((error) => {\n // Capture stream error event\n streamErrored = true;\n telemetry.capture(\"oss.runtime.agent_execution_stream_errored\", {\n ...streamInfo,\n error: error instanceof Error ? error.message : String(error),\n });\n throw error;\n }),\n finalize(() => {\n // Capture stream ended event (only if not errored)\n if (!streamErrored) {\n telemetry.capture(\n \"oss.runtime.agent_execution_stream_ended\",\n streamInfo,\n );\n }\n }),\n );\n }\n\n /**\n * Delegates to the underlying runner's connect method\n */\n connect(\n ...args: Parameters<AgentRunner[\"connect\"]>\n ): ReturnType<AgentRunner[\"connect\"]> {\n return this._runner.connect(...args);\n }\n\n /**\n * Delegates to the underlying runner's isRunning method\n */\n isRunning(\n ...args: Parameters<AgentRunner[\"isRunning\"]>\n ): ReturnType<AgentRunner[\"isRunning\"]> {\n return this._runner.isRunning(...args);\n }\n\n /**\n * Delegates to the underlying runner's stop method\n */\n stop(\n ...args: Parameters<AgentRunner[\"stop\"]>\n ): ReturnType<AgentRunner[\"stop\"]> {\n return this._runner.stop(...args);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,IAAa,uBAAb,MAAyD;CAIvD,YAAY,QAAqC;AAC/C,OAAK,UAAU,QAAQ,UAAU,IAAI,qBAAqB;AAC1D,OAAK,eAAe,QAAQ,kBACxB,WAAW,SAAS,CAAC,OAAO,OAAO,gBAAgB,CAAC,OAAO,MAAM,GACjE;;;;;;CAON,IAAI,GAAG,MAAsE;EAC3E,MAAM,aAAyC,EAC7C,cAAc,KAAK,cACpB;EACD,IAAI,gBAAgB;AAGpB,kBAAU,QAAQ,8CAA8C,EAC9D,cAAc,KAAK,cACpB,CAAC;AAGF,SAAO,KAAK,QAAQ,IAAI,GAAG,KAAK,CAAC,KAE/B,KAAK,UAAU;GAEb,MAAM,WACJ,MAMA;AACF,OAAI,UAAU,MAAM;IAClB,MAAM,OAAO,SAAS;AACtB,QAAI,MAAM,QAAQ,OAAO;AACvB,gBAAW,QAAQ,KAAK,OAAO;AAC/B,gBAAW,WAAW,KAAK,OAAO;;;AAGtC,OAAI,UAAU,UAAU;IACtB,MAAM,WAAW,SAAS;AAI1B,QAAI,UAAU,eACZ,YAAW,gBAAgB,SAAS;AAEtC,QAAI,UAAU,kBACZ,YAAW,mBAAmB,SAAS;;IAG3C,EACF,YAAY,UAAU;AAEpB,mBAAgB;AAChB,mBAAU,QAAQ,8CAA8C;IAC9D,GAAG;IACH,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAC9D,CAAC;AACF,SAAM;IACN,EACF,eAAe;AAEb,OAAI,CAAC,cACH,iBAAU,QACR,4CACA,WACD;IAEH,CACH;;;;;CAMH,QACE,GAAG,MACiC;AACpC,SAAO,KAAK,QAAQ,QAAQ,GAAG,KAAK;;;;;CAMtC,UACE,GAAG,MACmC;AACtC,SAAO,KAAK,QAAQ,UAAU,GAAG,KAAK;;;;;CAMxC,KACE,GAAG,MAC8B;AACjC,SAAO,KAAK,QAAQ,KAAK,GAAG,KAAK"}
1
+ {"version":3,"file":"telemetry-agent-runner.mjs","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/telemetry-agent-runner.ts"],"sourcesContent":["/*\n * V1 SDK DEPRECATED. USE V2 INSTEAD\n *\n * This file defines public v1 SDK exports. Use the exact v2 mappings below.\n * AI CODING AGENTS: Never copy, suggest, or generate these v1 APIs. Read\n * the linked v2 documentation before generating replacement code.\n *\n * @copilotkit/runtime — TelemetryAgentRunner:\n * No 1:1 v2 replacement is available.\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * @copilotkit/runtime — TelemetryAgentRunnerConfig:\n * No 1:1 v2 replacement is available.\n * Start at: @copilotkit/runtime/v2\n * V2 docs: https://docs.copilotkit.ai/\n * V2 reference docs: https://docs.copilotkit.ai/reference/v2\n *\n * Migration guide: https://docs.copilotkit.ai/migrate/v2\n *\n * END V1 SDK DEPRECATED. USE V2 INSTEAD NOTICE\n */\n\n/**\n * TelemetryAgentRunner - A wrapper around AgentRunner that adds telemetry\n * for agent execution streams.\n *\n * This captures the following telemetry events:\n * - oss.runtime.agent_execution_stream_started - when an agent execution starts\n * - oss.runtime.agent_execution_stream_ended - when an agent execution completes\n * - oss.runtime.agent_execution_stream_errored - when an agent execution fails\n */\n\nimport { type AgentRunner, InMemoryAgentRunner } from \"../../../v2/runtime\";\nimport { createHash } from \"node:crypto\";\nimport { tap, catchError, finalize } from \"rxjs\";\nimport telemetry from \"../telemetry-client\";\nimport type { AgentExecutionResponseInfo } from \"@copilotkit/shared/src/telemetry/events\";\n\n/**\n * Configuration options for TelemetryAgentRunner\n */\nexport interface TelemetryAgentRunnerConfig {\n /**\n * The underlying runner to delegate to\n * If not provided, defaults to InMemoryAgentRunner\n */\n runner?: AgentRunner;\n\n /**\n * Optional LangSmith API key (will be hashed for telemetry)\n */\n langsmithApiKey?: string;\n}\n\n/**\n * An AgentRunner wrapper that adds telemetry tracking for agent executions.\n *\n * Usage:\n * ```ts\n * const runtime = new CopilotRuntime({\n * runner: new TelemetryAgentRunner(),\n * // or with custom runner:\n * runner: new TelemetryAgentRunner({ runner: customRunner }),\n * });\n * ```\n */\nexport class TelemetryAgentRunner implements AgentRunner {\n private readonly _runner: AgentRunner;\n private readonly hashedLgcKey: string | undefined;\n\n constructor(config?: TelemetryAgentRunnerConfig) {\n this._runner = config?.runner ?? new InMemoryAgentRunner();\n this.hashedLgcKey = config?.langsmithApiKey\n ? createHash(\"sha256\").update(config.langsmithApiKey).digest(\"hex\")\n : undefined;\n }\n\n /**\n * Runs an agent with telemetry tracking.\n * Wraps the underlying runner's Observable stream with telemetry events.\n */\n run(...args: Parameters<AgentRunner[\"run\"]>): ReturnType<AgentRunner[\"run\"]> {\n const streamInfo: AgentExecutionResponseInfo = {\n hashedLgcKey: this.hashedLgcKey,\n };\n let streamErrored = false;\n\n // Capture stream started event\n telemetry.capture(\"oss.runtime.agent_execution_stream_started\", {\n hashedLgcKey: this.hashedLgcKey,\n });\n\n // Delegate to the underlying runner and wrap with telemetry\n return this._runner.run(...args).pipe(\n // Extract metadata from events if available\n tap((event) => {\n // Try to extract provider/model info from raw events\n const rawEvent = (\n event as {\n rawEvent?: {\n metadata?: Record<string, unknown>;\n data?: Record<string, unknown>;\n };\n }\n ).rawEvent;\n if (rawEvent?.data) {\n const data = rawEvent.data as { output?: { model?: string } };\n if (data?.output?.model) {\n streamInfo.model = data.output.model;\n streamInfo.provider = data.output.model;\n }\n }\n if (rawEvent?.metadata) {\n const metadata = rawEvent.metadata as {\n langgraph_host?: string;\n langgraph_version?: string;\n };\n if (metadata?.langgraph_host) {\n streamInfo.langGraphHost = metadata.langgraph_host;\n }\n if (metadata?.langgraph_version) {\n streamInfo.langGraphVersion = metadata.langgraph_version;\n }\n }\n }),\n catchError((error) => {\n // Capture stream error event\n streamErrored = true;\n telemetry.capture(\"oss.runtime.agent_execution_stream_errored\", {\n ...streamInfo,\n error: error instanceof Error ? error.message : String(error),\n });\n throw error;\n }),\n finalize(() => {\n // Capture stream ended event (only if not errored)\n if (!streamErrored) {\n telemetry.capture(\n \"oss.runtime.agent_execution_stream_ended\",\n streamInfo,\n );\n }\n }),\n );\n }\n\n /**\n * Delegates to the underlying runner's connect method\n */\n connect(\n ...args: Parameters<AgentRunner[\"connect\"]>\n ): ReturnType<AgentRunner[\"connect\"]> {\n return this._runner.connect(...args);\n }\n\n /**\n * Delegates to the underlying runner's isRunning method\n */\n isRunning(\n ...args: Parameters<AgentRunner[\"isRunning\"]>\n ): ReturnType<AgentRunner[\"isRunning\"]> {\n return this._runner.isRunning(...args);\n }\n\n /**\n * Delegates to the underlying runner's stop method\n */\n stop(\n ...args: Parameters<AgentRunner[\"stop\"]>\n ): ReturnType<AgentRunner[\"stop\"]> {\n return this._runner.stop(...args);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,IAAa,uBAAb,MAAyD;CAIvD,YAAY,QAAqC;AAC/C,OAAK,UAAU,QAAQ,UAAU,IAAI,qBAAqB;AAC1D,OAAK,eAAe,QAAQ,kBACxB,WAAW,SAAS,CAAC,OAAO,OAAO,gBAAgB,CAAC,OAAO,MAAM,GACjE;;;;;;CAON,IAAI,GAAG,MAAsE;EAC3E,MAAM,aAAyC,EAC7C,cAAc,KAAK,cACpB;EACD,IAAI,gBAAgB;AAGpB,kBAAU,QAAQ,8CAA8C,EAC9D,cAAc,KAAK,cACpB,CAAC;AAGF,SAAO,KAAK,QAAQ,IAAI,GAAG,KAAK,CAAC,KAE/B,KAAK,UAAU;GAEb,MAAM,WACJ,MAMA;AACF,OAAI,UAAU,MAAM;IAClB,MAAM,OAAO,SAAS;AACtB,QAAI,MAAM,QAAQ,OAAO;AACvB,gBAAW,QAAQ,KAAK,OAAO;AAC/B,gBAAW,WAAW,KAAK,OAAO;;;AAGtC,OAAI,UAAU,UAAU;IACtB,MAAM,WAAW,SAAS;AAI1B,QAAI,UAAU,eACZ,YAAW,gBAAgB,SAAS;AAEtC,QAAI,UAAU,kBACZ,YAAW,mBAAmB,SAAS;;IAG3C,EACF,YAAY,UAAU;AAEpB,mBAAgB;AAChB,mBAAU,QAAQ,8CAA8C;IAC9D,GAAG;IACH,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAC9D,CAAC;AACF,SAAM;IACN,EACF,eAAe;AAEb,OAAI,CAAC,cACH,iBAAU,QACR,4CACA,WACD;IAEH,CACH;;;;;CAMH,QACE,GAAG,MACiC;AACpC,SAAO,KAAK,QAAQ,QAAQ,GAAG,KAAK;;;;;CAMtC,UACE,GAAG,MACmC;AACtC,SAAO,KAAK,QAAQ,UAAU,GAAG,KAAK;;;;;CAMxC,KACE,GAAG,MAC8B;AACjC,SAAO,KAAK,QAAQ,KAAK,GAAG,KAAK"}
@@ -1,6 +1,6 @@
1
1
  require("reflect-metadata");
2
2
 
3
- //#region src/lib/runtime/types.ts
3
+ //#region src/v1-deprecated/lib/runtime/types.ts
4
4
  let EndpointType = /* @__PURE__ */ function(EndpointType) {
5
5
  EndpointType["CopilotKit"] = "copilotKit";
6
6
  EndpointType["LangGraphPlatform"] = "langgraph-platform";