@copilotkit/runtime 1.68.3 → 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 (582) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +1 -15
  2. package/dist/agent/converters/aisdk.d.cts +1 -1
  3. package/dist/agent/converters/aisdk.d.mts +1 -1
  4. package/dist/agent/converters/index.d.mts +1 -1
  5. package/dist/agent/converters/tanstack.d.cts +1 -1
  6. package/dist/agent/converters/tanstack.d.mts +1 -1
  7. package/dist/agent/index.cjs.map +1 -1
  8. package/dist/agent/index.d.cts +2 -2
  9. package/dist/agent/index.d.cts.map +1 -1
  10. package/dist/agent/index.d.mts +2 -2
  11. package/dist/agent/index.d.mts.map +1 -1
  12. package/dist/agent/index.mjs.map +1 -1
  13. package/dist/agents/langgraph/events.cjs +1 -1
  14. package/dist/agents/langgraph/events.cjs.map +1 -1
  15. package/dist/agents/langgraph/events.mjs +1 -1
  16. package/dist/agents/langgraph/events.mjs.map +1 -1
  17. package/dist/graphql/inputs/action.input.cjs +1 -1
  18. package/dist/graphql/inputs/action.input.cjs.map +1 -1
  19. package/dist/graphql/inputs/action.input.d.cts +2 -2
  20. package/dist/graphql/inputs/action.input.d.cts.map +1 -1
  21. package/dist/graphql/inputs/action.input.d.mts +2 -2
  22. package/dist/graphql/inputs/action.input.d.mts.map +1 -1
  23. package/dist/graphql/inputs/action.input.mjs +1 -1
  24. package/dist/graphql/inputs/action.input.mjs.map +1 -1
  25. package/dist/graphql/inputs/agent-session.input.cjs +1 -1
  26. package/dist/graphql/inputs/agent-session.input.cjs.map +1 -1
  27. package/dist/graphql/inputs/agent-session.input.d.cts +2 -2
  28. package/dist/graphql/inputs/agent-session.input.d.cts.map +1 -1
  29. package/dist/graphql/inputs/agent-session.input.d.mts +2 -2
  30. package/dist/graphql/inputs/agent-session.input.d.mts.map +1 -1
  31. package/dist/graphql/inputs/agent-session.input.mjs +1 -1
  32. package/dist/graphql/inputs/agent-session.input.mjs.map +1 -1
  33. package/dist/graphql/inputs/agent-state.input.cjs +1 -1
  34. package/dist/graphql/inputs/agent-state.input.cjs.map +1 -1
  35. package/dist/graphql/inputs/agent-state.input.d.cts +2 -2
  36. package/dist/graphql/inputs/agent-state.input.d.cts.map +1 -1
  37. package/dist/graphql/inputs/agent-state.input.d.mts +2 -2
  38. package/dist/graphql/inputs/agent-state.input.d.mts.map +1 -1
  39. package/dist/graphql/inputs/agent-state.input.mjs +1 -1
  40. package/dist/graphql/inputs/agent-state.input.mjs.map +1 -1
  41. package/dist/graphql/inputs/cloud-guardrails.input.cjs +1 -1
  42. package/dist/graphql/inputs/cloud-guardrails.input.cjs.map +1 -1
  43. package/dist/graphql/inputs/cloud-guardrails.input.mjs +1 -1
  44. package/dist/graphql/inputs/cloud-guardrails.input.mjs.map +1 -1
  45. package/dist/graphql/inputs/cloud.input.cjs +1 -1
  46. package/dist/graphql/inputs/cloud.input.cjs.map +1 -1
  47. package/dist/graphql/inputs/cloud.input.mjs +1 -1
  48. package/dist/graphql/inputs/cloud.input.mjs.map +1 -1
  49. package/dist/graphql/inputs/copilot-context.input.cjs +1 -1
  50. package/dist/graphql/inputs/copilot-context.input.cjs.map +1 -1
  51. package/dist/graphql/inputs/copilot-context.input.mjs +1 -1
  52. package/dist/graphql/inputs/copilot-context.input.mjs.map +1 -1
  53. package/dist/graphql/inputs/extensions.input.cjs +1 -1
  54. package/dist/graphql/inputs/extensions.input.cjs.map +1 -1
  55. package/dist/graphql/inputs/extensions.input.d.cts +2 -2
  56. package/dist/graphql/inputs/extensions.input.d.cts.map +1 -1
  57. package/dist/graphql/inputs/extensions.input.d.mts +2 -2
  58. package/dist/graphql/inputs/extensions.input.d.mts.map +1 -1
  59. package/dist/graphql/inputs/extensions.input.mjs +1 -1
  60. package/dist/graphql/inputs/extensions.input.mjs.map +1 -1
  61. package/dist/graphql/inputs/forwarded-parameters.input.cjs +2 -3
  62. package/dist/graphql/inputs/forwarded-parameters.input.cjs.map +1 -1
  63. package/dist/graphql/inputs/forwarded-parameters.input.d.cts +3 -3
  64. package/dist/graphql/inputs/forwarded-parameters.input.d.cts.map +1 -1
  65. package/dist/graphql/inputs/forwarded-parameters.input.d.mts +3 -3
  66. package/dist/graphql/inputs/forwarded-parameters.input.d.mts.map +1 -1
  67. package/dist/graphql/inputs/forwarded-parameters.input.mjs +2 -3
  68. package/dist/graphql/inputs/forwarded-parameters.input.mjs.map +1 -1
  69. package/dist/graphql/inputs/frontend.input.cjs +1 -1
  70. package/dist/graphql/inputs/frontend.input.cjs.map +1 -1
  71. package/dist/graphql/inputs/frontend.input.mjs +1 -1
  72. package/dist/graphql/inputs/frontend.input.mjs.map +1 -1
  73. package/dist/graphql/inputs/generate-copilot-response.input.cjs +1 -1
  74. package/dist/graphql/inputs/generate-copilot-response.input.cjs.map +1 -1
  75. package/dist/graphql/inputs/generate-copilot-response.input.mjs +1 -1
  76. package/dist/graphql/inputs/generate-copilot-response.input.mjs.map +1 -1
  77. package/dist/graphql/inputs/load-agent-state.input.cjs +1 -1
  78. package/dist/graphql/inputs/load-agent-state.input.cjs.map +1 -1
  79. package/dist/graphql/inputs/load-agent-state.input.mjs +1 -1
  80. package/dist/graphql/inputs/load-agent-state.input.mjs.map +1 -1
  81. package/dist/graphql/inputs/message.input.cjs +10 -10
  82. package/dist/graphql/inputs/message.input.cjs.map +1 -1
  83. package/dist/graphql/inputs/message.input.d.cts +3 -3
  84. package/dist/graphql/inputs/message.input.d.cts.map +1 -1
  85. package/dist/graphql/inputs/message.input.d.mts +3 -3
  86. package/dist/graphql/inputs/message.input.d.mts.map +1 -1
  87. package/dist/graphql/inputs/message.input.mjs +10 -10
  88. package/dist/graphql/inputs/message.input.mjs.map +1 -1
  89. package/dist/graphql/inputs/meta-event.input.cjs +1 -1
  90. package/dist/graphql/inputs/meta-event.input.cjs.map +1 -1
  91. package/dist/graphql/inputs/meta-event.input.mjs +1 -1
  92. package/dist/graphql/inputs/meta-event.input.mjs.map +1 -1
  93. package/dist/graphql/message-conversion/agui-to-gql.cjs +1 -1
  94. package/dist/graphql/message-conversion/agui-to-gql.cjs.map +1 -1
  95. package/dist/graphql/message-conversion/agui-to-gql.mjs +1 -1
  96. package/dist/graphql/message-conversion/agui-to-gql.mjs.map +1 -1
  97. package/dist/graphql/resolvers/copilot.resolver.cjs +1 -1
  98. package/dist/graphql/resolvers/copilot.resolver.cjs.map +1 -1
  99. package/dist/graphql/resolvers/copilot.resolver.mjs +1 -1
  100. package/dist/graphql/resolvers/copilot.resolver.mjs.map +1 -1
  101. package/dist/graphql/resolvers/resolve-message-id.cjs +1 -1
  102. package/dist/graphql/resolvers/resolve-message-id.cjs.map +1 -1
  103. package/dist/graphql/resolvers/resolve-message-id.mjs +1 -1
  104. package/dist/graphql/resolvers/resolve-message-id.mjs.map +1 -1
  105. package/dist/graphql/resolvers/state.resolver.cjs +1 -1
  106. package/dist/graphql/resolvers/state.resolver.cjs.map +1 -1
  107. package/dist/graphql/resolvers/state.resolver.mjs +1 -1
  108. package/dist/graphql/resolvers/state.resolver.mjs.map +1 -1
  109. package/dist/graphql/types/agents-response.type.cjs +1 -1
  110. package/dist/graphql/types/agents-response.type.cjs.map +1 -1
  111. package/dist/graphql/types/agents-response.type.mjs +1 -1
  112. package/dist/graphql/types/agents-response.type.mjs.map +1 -1
  113. package/dist/graphql/types/base/index.cjs +1 -1
  114. package/dist/graphql/types/base/index.cjs.map +1 -1
  115. package/dist/graphql/types/base/index.d.cts +2 -2
  116. package/dist/graphql/types/base/index.d.cts.map +1 -1
  117. package/dist/graphql/types/base/index.d.mts +2 -2
  118. package/dist/graphql/types/base/index.d.mts.map +1 -1
  119. package/dist/graphql/types/base/index.mjs +1 -1
  120. package/dist/graphql/types/base/index.mjs.map +1 -1
  121. package/dist/graphql/types/converted/index.cjs +2 -2
  122. package/dist/graphql/types/converted/index.cjs.map +1 -1
  123. package/dist/graphql/types/converted/index.d.cts +2 -2
  124. package/dist/graphql/types/converted/index.d.cts.map +1 -1
  125. package/dist/graphql/types/converted/index.d.mts +2 -2
  126. package/dist/graphql/types/converted/index.d.mts.map +1 -1
  127. package/dist/graphql/types/converted/index.mjs +2 -2
  128. package/dist/graphql/types/converted/index.mjs.map +1 -1
  129. package/dist/graphql/types/copilot-response.type.cjs +1 -1
  130. package/dist/graphql/types/copilot-response.type.cjs.map +1 -1
  131. package/dist/graphql/types/copilot-response.type.d.cts +2 -2
  132. package/dist/graphql/types/copilot-response.type.d.cts.map +1 -1
  133. package/dist/graphql/types/copilot-response.type.d.mts +2 -2
  134. package/dist/graphql/types/copilot-response.type.d.mts.map +1 -1
  135. package/dist/graphql/types/copilot-response.type.mjs +1 -1
  136. package/dist/graphql/types/copilot-response.type.mjs.map +1 -1
  137. package/dist/graphql/types/enums.cjs +1 -1
  138. package/dist/graphql/types/enums.cjs.map +1 -1
  139. package/dist/graphql/types/enums.d.cts +2 -2
  140. package/dist/graphql/types/enums.d.cts.map +1 -1
  141. package/dist/graphql/types/enums.d.mts +2 -2
  142. package/dist/graphql/types/enums.d.mts.map +1 -1
  143. package/dist/graphql/types/enums.mjs +1 -1
  144. package/dist/graphql/types/enums.mjs.map +1 -1
  145. package/dist/graphql/types/extensions-response.type.cjs +1 -1
  146. package/dist/graphql/types/extensions-response.type.cjs.map +1 -1
  147. package/dist/graphql/types/extensions-response.type.d.cts +2 -2
  148. package/dist/graphql/types/extensions-response.type.d.cts.map +1 -1
  149. package/dist/graphql/types/extensions-response.type.d.mts +2 -2
  150. package/dist/graphql/types/extensions-response.type.d.mts.map +1 -1
  151. package/dist/graphql/types/extensions-response.type.mjs +1 -1
  152. package/dist/graphql/types/extensions-response.type.mjs.map +1 -1
  153. package/dist/graphql/types/load-agent-state-response.type.cjs +1 -1
  154. package/dist/graphql/types/load-agent-state-response.type.cjs.map +1 -1
  155. package/dist/graphql/types/load-agent-state-response.type.mjs +1 -1
  156. package/dist/graphql/types/load-agent-state-response.type.mjs.map +1 -1
  157. package/dist/graphql/types/message-status.type.cjs +1 -1
  158. package/dist/graphql/types/message-status.type.cjs.map +1 -1
  159. package/dist/graphql/types/message-status.type.d.cts +2 -2
  160. package/dist/graphql/types/message-status.type.d.cts.map +1 -1
  161. package/dist/graphql/types/message-status.type.d.mts +2 -2
  162. package/dist/graphql/types/message-status.type.d.mts.map +1 -1
  163. package/dist/graphql/types/message-status.type.mjs +1 -1
  164. package/dist/graphql/types/message-status.type.mjs.map +1 -1
  165. package/dist/graphql/types/meta-events.type.cjs +2 -2
  166. package/dist/graphql/types/meta-events.type.cjs.map +1 -1
  167. package/dist/graphql/types/meta-events.type.mjs +2 -2
  168. package/dist/graphql/types/meta-events.type.mjs.map +1 -1
  169. package/dist/graphql/types/response-status.type.cjs +1 -1
  170. package/dist/graphql/types/response-status.type.cjs.map +1 -1
  171. package/dist/graphql/types/response-status.type.d.cts +2 -2
  172. package/dist/graphql/types/response-status.type.d.cts.map +1 -1
  173. package/dist/graphql/types/response-status.type.d.mts +2 -2
  174. package/dist/graphql/types/response-status.type.d.mts.map +1 -1
  175. package/dist/graphql/types/response-status.type.mjs +1 -1
  176. package/dist/graphql/types/response-status.type.mjs.map +1 -1
  177. package/dist/index.d.cts +619 -5
  178. package/dist/index.d.mts +619 -5
  179. package/dist/langgraph.d.cts +55 -2
  180. package/dist/langgraph.d.mts +55 -2
  181. package/dist/lib/cloud/index.d.cts +2 -2
  182. package/dist/lib/cloud/index.d.cts.map +1 -1
  183. package/dist/lib/cloud/index.d.mts +2 -2
  184. package/dist/lib/cloud/index.d.mts.map +1 -1
  185. package/dist/lib/index.cjs +1 -1
  186. package/dist/lib/index.cjs.map +1 -1
  187. package/dist/lib/index.d.cts +3 -3
  188. package/dist/lib/index.d.cts.map +1 -1
  189. package/dist/lib/index.d.mts +3 -3
  190. package/dist/lib/index.d.mts.map +1 -1
  191. package/dist/lib/index.mjs +1 -1
  192. package/dist/lib/index.mjs.map +1 -1
  193. package/dist/lib/integrations/index.d.cts +2 -2
  194. package/dist/lib/integrations/index.d.mts +2 -2
  195. package/dist/lib/integrations/nest/index.cjs +1 -1
  196. package/dist/lib/integrations/nest/index.cjs.map +1 -1
  197. package/dist/lib/integrations/nest/index.d.cts +2 -2
  198. package/dist/lib/integrations/nest/index.d.cts.map +1 -1
  199. package/dist/lib/integrations/nest/index.d.mts +2 -2
  200. package/dist/lib/integrations/nest/index.d.mts.map +1 -1
  201. package/dist/lib/integrations/nest/index.mjs +1 -1
  202. package/dist/lib/integrations/nest/index.mjs.map +1 -1
  203. package/dist/lib/integrations/nextjs/app-router.cjs +1 -1
  204. package/dist/lib/integrations/nextjs/app-router.cjs.map +1 -1
  205. package/dist/lib/integrations/nextjs/app-router.d.cts +2 -2
  206. package/dist/lib/integrations/nextjs/app-router.d.cts.map +1 -1
  207. package/dist/lib/integrations/nextjs/app-router.d.mts +2 -2
  208. package/dist/lib/integrations/nextjs/app-router.d.mts.map +1 -1
  209. package/dist/lib/integrations/nextjs/app-router.mjs +1 -1
  210. package/dist/lib/integrations/nextjs/app-router.mjs.map +1 -1
  211. package/dist/lib/integrations/nextjs/pages-router.cjs +1 -1
  212. package/dist/lib/integrations/nextjs/pages-router.cjs.map +1 -1
  213. package/dist/lib/integrations/nextjs/pages-router.d.cts +2 -3
  214. package/dist/lib/integrations/nextjs/pages-router.d.cts.map +1 -1
  215. package/dist/lib/integrations/nextjs/pages-router.d.mts +2 -3
  216. package/dist/lib/integrations/nextjs/pages-router.d.mts.map +1 -1
  217. package/dist/lib/integrations/nextjs/pages-router.mjs +1 -1
  218. package/dist/lib/integrations/nextjs/pages-router.mjs.map +1 -1
  219. package/dist/lib/integrations/node-express/index.cjs +1 -1
  220. package/dist/lib/integrations/node-express/index.cjs.map +1 -1
  221. package/dist/lib/integrations/node-express/index.d.cts +2 -2
  222. package/dist/lib/integrations/node-express/index.d.cts.map +1 -1
  223. package/dist/lib/integrations/node-express/index.d.mts +2 -2
  224. package/dist/lib/integrations/node-express/index.d.mts.map +1 -1
  225. package/dist/lib/integrations/node-express/index.mjs +1 -1
  226. package/dist/lib/integrations/node-express/index.mjs.map +1 -1
  227. package/dist/lib/integrations/node-http/index.cjs +1 -1
  228. package/dist/lib/integrations/node-http/index.cjs.map +1 -1
  229. package/dist/lib/integrations/node-http/index.d.cts +2 -2
  230. package/dist/lib/integrations/node-http/index.d.cts.map +1 -1
  231. package/dist/lib/integrations/node-http/index.d.mts +2 -2
  232. package/dist/lib/integrations/node-http/index.d.mts.map +1 -1
  233. package/dist/lib/integrations/node-http/index.mjs +1 -1
  234. package/dist/lib/integrations/node-http/index.mjs.map +1 -1
  235. package/dist/lib/integrations/node-http/request-handler.cjs +1 -1
  236. package/dist/lib/integrations/node-http/request-handler.cjs.map +1 -1
  237. package/dist/lib/integrations/node-http/request-handler.mjs +1 -1
  238. package/dist/lib/integrations/node-http/request-handler.mjs.map +1 -1
  239. package/dist/lib/integrations/shared.cjs +1 -1
  240. package/dist/lib/integrations/shared.cjs.map +1 -1
  241. package/dist/lib/integrations/shared.d.cts +31 -5
  242. package/dist/lib/integrations/shared.d.cts.map +1 -1
  243. package/dist/lib/integrations/shared.d.mts +31 -5
  244. package/dist/lib/integrations/shared.d.mts.map +1 -1
  245. package/dist/lib/integrations/shared.mjs +1 -1
  246. package/dist/lib/integrations/shared.mjs.map +1 -1
  247. package/dist/lib/logger.cjs +1 -1
  248. package/dist/lib/logger.cjs.map +1 -1
  249. package/dist/lib/logger.d.cts +2 -2
  250. package/dist/lib/logger.d.cts.map +1 -1
  251. package/dist/lib/logger.d.mts +2 -2
  252. package/dist/lib/logger.d.mts.map +1 -1
  253. package/dist/lib/logger.mjs +1 -1
  254. package/dist/lib/logger.mjs.map +1 -1
  255. package/dist/lib/observability.d.cts +2 -2
  256. package/dist/lib/observability.d.cts.map +1 -1
  257. package/dist/lib/observability.d.mts +2 -2
  258. package/dist/lib/observability.d.mts.map +1 -1
  259. package/dist/lib/runtime/agent-integrations/langgraph/agent.cjs +1 -1
  260. package/dist/lib/runtime/agent-integrations/langgraph/agent.cjs.map +1 -1
  261. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts +14 -4
  262. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts.map +1 -1
  263. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.mts +14 -4
  264. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.mts.map +1 -1
  265. package/dist/lib/runtime/agent-integrations/langgraph/agent.mjs +1 -1
  266. package/dist/lib/runtime/agent-integrations/langgraph/agent.mjs.map +1 -1
  267. package/dist/lib/runtime/agent-integrations/langgraph/consts.cjs +1 -1
  268. package/dist/lib/runtime/agent-integrations/langgraph/consts.cjs.map +1 -1
  269. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.cts +2 -2
  270. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.cts.map +1 -1
  271. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.mts +2 -2
  272. package/dist/lib/runtime/agent-integrations/langgraph/consts.d.mts.map +1 -1
  273. package/dist/lib/runtime/agent-integrations/langgraph/consts.mjs +1 -1
  274. package/dist/lib/runtime/agent-integrations/langgraph/consts.mjs.map +1 -1
  275. package/dist/lib/runtime/agent-integrations/langgraph/index.d.cts +1 -1
  276. package/dist/lib/runtime/agent-integrations/langgraph/index.d.mts +1 -1
  277. package/dist/lib/runtime/copilot-runtime.cjs +9 -1
  278. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  279. package/dist/lib/runtime/copilot-runtime.d.cts +10 -2
  280. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  281. package/dist/lib/runtime/copilot-runtime.d.mts +10 -2
  282. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  283. package/dist/lib/runtime/copilot-runtime.mjs +9 -1
  284. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  285. package/dist/lib/runtime/mcp-tools-utils.cjs +1 -1
  286. package/dist/lib/runtime/mcp-tools-utils.cjs.map +1 -1
  287. package/dist/lib/runtime/mcp-tools-utils.d.cts +2 -2
  288. package/dist/lib/runtime/mcp-tools-utils.d.cts.map +1 -1
  289. package/dist/lib/runtime/mcp-tools-utils.d.mts +2 -2
  290. package/dist/lib/runtime/mcp-tools-utils.d.mts.map +1 -1
  291. package/dist/lib/runtime/mcp-tools-utils.mjs +1 -1
  292. package/dist/lib/runtime/mcp-tools-utils.mjs.map +1 -1
  293. package/dist/lib/runtime/telemetry-agent-runner.cjs +1 -1
  294. package/dist/lib/runtime/telemetry-agent-runner.cjs.map +1 -1
  295. package/dist/lib/runtime/telemetry-agent-runner.d.cts +2 -2
  296. package/dist/lib/runtime/telemetry-agent-runner.d.cts.map +1 -1
  297. package/dist/lib/runtime/telemetry-agent-runner.d.mts +2 -2
  298. package/dist/lib/runtime/telemetry-agent-runner.d.mts.map +1 -1
  299. package/dist/lib/runtime/telemetry-agent-runner.mjs +1 -1
  300. package/dist/lib/runtime/telemetry-agent-runner.mjs.map +1 -1
  301. package/dist/lib/runtime/types.cjs +1 -1
  302. package/dist/lib/runtime/types.cjs.map +1 -1
  303. package/dist/lib/runtime/types.d.cts +2 -2
  304. package/dist/lib/runtime/types.d.cts.map +1 -1
  305. package/dist/lib/runtime/types.d.mts +2 -2
  306. package/dist/lib/runtime/types.d.mts.map +1 -1
  307. package/dist/lib/runtime/types.mjs +1 -1
  308. package/dist/lib/runtime/types.mjs.map +1 -1
  309. package/dist/lib/telemetry-client.cjs +1 -1
  310. package/dist/lib/telemetry-client.cjs.map +1 -1
  311. package/dist/lib/telemetry-client.mjs +2 -2
  312. package/dist/lib/telemetry-client.mjs.map +1 -1
  313. package/dist/lib/telemetry-disclosure.cjs +1 -1
  314. package/dist/lib/telemetry-disclosure.cjs.map +1 -1
  315. package/dist/lib/telemetry-disclosure.mjs +1 -1
  316. package/dist/lib/telemetry-disclosure.mjs.map +1 -1
  317. package/dist/package.cjs +5 -4
  318. package/dist/{runtime/package.mjs → package.mjs} +6 -5
  319. package/dist/package.mjs.map +1 -0
  320. package/dist/service-adapters/anthropic/anthropic-adapter.cjs +3 -3
  321. package/dist/service-adapters/anthropic/anthropic-adapter.cjs.map +1 -1
  322. package/dist/service-adapters/anthropic/anthropic-adapter.d.cts +5 -5
  323. package/dist/service-adapters/anthropic/anthropic-adapter.d.cts.map +1 -1
  324. package/dist/service-adapters/anthropic/anthropic-adapter.d.mts +6 -5
  325. package/dist/service-adapters/anthropic/anthropic-adapter.d.mts.map +1 -1
  326. package/dist/service-adapters/anthropic/anthropic-adapter.mjs +3 -3
  327. package/dist/service-adapters/anthropic/anthropic-adapter.mjs.map +1 -1
  328. package/dist/service-adapters/anthropic/utils.cjs +1 -1
  329. package/dist/service-adapters/anthropic/utils.cjs.map +1 -1
  330. package/dist/service-adapters/anthropic/utils.mjs +1 -1
  331. package/dist/service-adapters/anthropic/utils.mjs.map +1 -1
  332. package/dist/service-adapters/bedrock/bedrock-adapter.cjs +1 -1
  333. package/dist/service-adapters/bedrock/bedrock-adapter.cjs.map +1 -1
  334. package/dist/service-adapters/bedrock/bedrock-adapter.d.cts +2 -2
  335. package/dist/service-adapters/bedrock/bedrock-adapter.d.cts.map +1 -1
  336. package/dist/service-adapters/bedrock/bedrock-adapter.d.mts +2 -2
  337. package/dist/service-adapters/bedrock/bedrock-adapter.d.mts.map +1 -1
  338. package/dist/service-adapters/bedrock/bedrock-adapter.mjs +1 -1
  339. package/dist/service-adapters/bedrock/bedrock-adapter.mjs.map +1 -1
  340. package/dist/service-adapters/empty/empty-adapter.cjs +1 -1
  341. package/dist/service-adapters/empty/empty-adapter.cjs.map +1 -1
  342. package/dist/service-adapters/empty/empty-adapter.d.cts +2 -2
  343. package/dist/service-adapters/empty/empty-adapter.d.cts.map +1 -1
  344. package/dist/service-adapters/empty/empty-adapter.d.mts +2 -2
  345. package/dist/service-adapters/empty/empty-adapter.d.mts.map +1 -1
  346. package/dist/service-adapters/empty/empty-adapter.mjs +1 -1
  347. package/dist/service-adapters/empty/empty-adapter.mjs.map +1 -1
  348. package/dist/service-adapters/events.cjs +1 -1
  349. package/dist/service-adapters/events.cjs.map +1 -1
  350. package/dist/service-adapters/events.d.cts +2 -2
  351. package/dist/service-adapters/events.d.cts.map +1 -1
  352. package/dist/service-adapters/events.d.mts +2 -2
  353. package/dist/service-adapters/events.d.mts.map +1 -1
  354. package/dist/service-adapters/events.mjs +1 -1
  355. package/dist/service-adapters/events.mjs.map +1 -1
  356. package/dist/service-adapters/experimental/ollama/ollama-adapter.cjs +1 -1
  357. package/dist/service-adapters/experimental/ollama/ollama-adapter.cjs.map +1 -1
  358. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.cts +2 -2
  359. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.cts.map +1 -1
  360. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.mts +2 -2
  361. package/dist/service-adapters/experimental/ollama/ollama-adapter.d.mts.map +1 -1
  362. package/dist/service-adapters/experimental/ollama/ollama-adapter.mjs +1 -1
  363. package/dist/service-adapters/experimental/ollama/ollama-adapter.mjs.map +1 -1
  364. package/dist/service-adapters/google/google-genai-adapter.cjs +1 -1
  365. package/dist/service-adapters/google/google-genai-adapter.cjs.map +1 -1
  366. package/dist/service-adapters/google/google-genai-adapter.d.cts +2 -2
  367. package/dist/service-adapters/google/google-genai-adapter.d.cts.map +1 -1
  368. package/dist/service-adapters/google/google-genai-adapter.d.mts +2 -2
  369. package/dist/service-adapters/google/google-genai-adapter.d.mts.map +1 -1
  370. package/dist/service-adapters/google/google-genai-adapter.mjs +1 -1
  371. package/dist/service-adapters/google/google-genai-adapter.mjs.map +1 -1
  372. package/dist/service-adapters/groq/groq-adapter.cjs +1 -1
  373. package/dist/service-adapters/groq/groq-adapter.cjs.map +1 -1
  374. package/dist/service-adapters/groq/groq-adapter.d.cts +5 -5
  375. package/dist/service-adapters/groq/groq-adapter.d.cts.map +1 -1
  376. package/dist/service-adapters/groq/groq-adapter.d.mts +6 -5
  377. package/dist/service-adapters/groq/groq-adapter.d.mts.map +1 -1
  378. package/dist/service-adapters/groq/groq-adapter.mjs +1 -1
  379. package/dist/service-adapters/groq/groq-adapter.mjs.map +1 -1
  380. package/dist/service-adapters/index.d.cts +3 -3
  381. package/dist/service-adapters/index.d.mts +4 -4
  382. package/dist/service-adapters/langchain/langchain-adapter.cjs +1 -1
  383. package/dist/service-adapters/langchain/langchain-adapter.cjs.map +1 -1
  384. package/dist/service-adapters/langchain/langchain-adapter.d.cts +2 -2
  385. package/dist/service-adapters/langchain/langchain-adapter.d.cts.map +1 -1
  386. package/dist/service-adapters/langchain/langchain-adapter.d.mts +2 -2
  387. package/dist/service-adapters/langchain/langchain-adapter.d.mts.map +1 -1
  388. package/dist/service-adapters/langchain/langchain-adapter.mjs +1 -1
  389. package/dist/service-adapters/langchain/langchain-adapter.mjs.map +1 -1
  390. package/dist/service-adapters/langchain/langserve.cjs +1 -1
  391. package/dist/service-adapters/langchain/langserve.cjs.map +1 -1
  392. package/dist/service-adapters/langchain/langserve.d.cts +2 -2
  393. package/dist/service-adapters/langchain/langserve.d.cts.map +1 -1
  394. package/dist/service-adapters/langchain/langserve.d.mts +2 -2
  395. package/dist/service-adapters/langchain/langserve.d.mts.map +1 -1
  396. package/dist/service-adapters/langchain/langserve.mjs +1 -1
  397. package/dist/service-adapters/langchain/langserve.mjs.map +1 -1
  398. package/dist/service-adapters/langchain/types.d.cts +2 -2
  399. package/dist/service-adapters/langchain/types.d.cts.map +1 -1
  400. package/dist/service-adapters/langchain/types.d.mts +2 -2
  401. package/dist/service-adapters/langchain/types.d.mts.map +1 -1
  402. package/dist/service-adapters/langchain/utils.cjs +1 -1
  403. package/dist/service-adapters/langchain/utils.cjs.map +1 -1
  404. package/dist/service-adapters/langchain/utils.mjs +1 -1
  405. package/dist/service-adapters/langchain/utils.mjs.map +1 -1
  406. package/dist/service-adapters/openai/openai-adapter.cjs +1 -1
  407. package/dist/service-adapters/openai/openai-adapter.cjs.map +1 -1
  408. package/dist/service-adapters/openai/openai-adapter.d.cts +2 -2
  409. package/dist/service-adapters/openai/openai-adapter.d.cts.map +1 -1
  410. package/dist/service-adapters/openai/openai-adapter.d.mts +2 -2
  411. package/dist/service-adapters/openai/openai-adapter.d.mts.map +1 -1
  412. package/dist/service-adapters/openai/openai-adapter.mjs +1 -1
  413. package/dist/service-adapters/openai/openai-adapter.mjs.map +1 -1
  414. package/dist/service-adapters/openai/openai-assistant-adapter.cjs +1 -1
  415. package/dist/service-adapters/openai/openai-assistant-adapter.cjs.map +1 -1
  416. package/dist/service-adapters/openai/openai-assistant-adapter.d.cts +2 -2
  417. package/dist/service-adapters/openai/openai-assistant-adapter.d.cts.map +1 -1
  418. package/dist/service-adapters/openai/openai-assistant-adapter.d.mts +2 -2
  419. package/dist/service-adapters/openai/openai-assistant-adapter.d.mts.map +1 -1
  420. package/dist/service-adapters/openai/openai-assistant-adapter.mjs +1 -1
  421. package/dist/service-adapters/openai/openai-assistant-adapter.mjs.map +1 -1
  422. package/dist/service-adapters/openai/utils.cjs +1 -1
  423. package/dist/service-adapters/openai/utils.cjs.map +1 -1
  424. package/dist/service-adapters/openai/utils.mjs +1 -1
  425. package/dist/service-adapters/openai/utils.mjs.map +1 -1
  426. package/dist/service-adapters/service-adapter.d.cts +2 -2
  427. package/dist/service-adapters/service-adapter.d.cts.map +1 -1
  428. package/dist/service-adapters/service-adapter.d.mts +2 -2
  429. package/dist/service-adapters/service-adapter.d.mts.map +1 -1
  430. package/dist/service-adapters/shared/error-utils.cjs +1 -1
  431. package/dist/service-adapters/shared/error-utils.cjs.map +1 -1
  432. package/dist/service-adapters/shared/error-utils.d.cts +2 -2
  433. package/dist/service-adapters/shared/error-utils.d.cts.map +1 -1
  434. package/dist/service-adapters/shared/error-utils.d.mts +2 -2
  435. package/dist/service-adapters/shared/error-utils.d.mts.map +1 -1
  436. package/dist/service-adapters/shared/error-utils.mjs +1 -1
  437. package/dist/service-adapters/shared/error-utils.mjs.map +1 -1
  438. package/dist/service-adapters/shared/index.d.mts +2 -2
  439. package/dist/service-adapters/shared/sdk-client-utils.cjs +1 -1
  440. package/dist/service-adapters/shared/sdk-client-utils.cjs.map +1 -1
  441. package/dist/service-adapters/shared/sdk-client-utils.d.cts +22 -3
  442. package/dist/service-adapters/shared/sdk-client-utils.d.cts.map +1 -1
  443. package/dist/service-adapters/shared/sdk-client-utils.d.mts +22 -3
  444. package/dist/service-adapters/shared/sdk-client-utils.d.mts.map +1 -1
  445. package/dist/service-adapters/shared/sdk-client-utils.mjs +1 -1
  446. package/dist/service-adapters/shared/sdk-client-utils.mjs.map +1 -1
  447. package/dist/service-adapters/unify/unify-adapter.cjs +1 -1
  448. package/dist/service-adapters/unify/unify-adapter.cjs.map +1 -1
  449. package/dist/service-adapters/unify/unify-adapter.d.cts +2 -2
  450. package/dist/service-adapters/unify/unify-adapter.d.cts.map +1 -1
  451. package/dist/service-adapters/unify/unify-adapter.d.mts +2 -2
  452. package/dist/service-adapters/unify/unify-adapter.d.mts.map +1 -1
  453. package/dist/service-adapters/unify/unify-adapter.mjs +1 -1
  454. package/dist/service-adapters/unify/unify-adapter.mjs.map +1 -1
  455. package/dist/utils/failed-response-status-reasons.cjs +1 -1
  456. package/dist/utils/failed-response-status-reasons.cjs.map +1 -1
  457. package/dist/utils/failed-response-status-reasons.d.cts +2 -2
  458. package/dist/utils/failed-response-status-reasons.d.cts.map +1 -1
  459. package/dist/utils/failed-response-status-reasons.d.mts +2 -2
  460. package/dist/utils/failed-response-status-reasons.d.mts.map +1 -1
  461. package/dist/utils/failed-response-status-reasons.mjs +1 -1
  462. package/dist/utils/failed-response-status-reasons.mjs.map +1 -1
  463. package/dist/v2/express.d.cts +1 -1
  464. package/dist/v2/express.d.mts +1 -1
  465. package/dist/v2/hono.d.cts +1 -1
  466. package/dist/v2/hono.d.mts +1 -1
  467. package/dist/v2/index.d.cts +1 -1
  468. package/dist/v2/index.d.mts +1 -1
  469. package/dist/v2/node.d.cts +1 -1
  470. package/dist/v2/node.d.mts +1 -1
  471. package/dist/v2/runtime/core/channel-activation-config.cjs.map +1 -1
  472. package/dist/v2/runtime/core/channel-activation-config.d.cts +3 -3
  473. package/dist/v2/runtime/core/channel-activation-config.d.cts.map +1 -1
  474. package/dist/v2/runtime/core/channel-activation-config.d.mts +3 -3
  475. package/dist/v2/runtime/core/channel-activation-config.d.mts.map +1 -1
  476. package/dist/v2/runtime/core/channel-activation-config.mjs.map +1 -1
  477. package/dist/v2/runtime/core/channel-manager.cjs.map +1 -1
  478. package/dist/v2/runtime/core/channel-manager.d.cts +3 -3
  479. package/dist/v2/runtime/core/channel-manager.d.cts.map +1 -1
  480. package/dist/v2/runtime/core/channel-manager.d.mts +3 -3
  481. package/dist/v2/runtime/core/channel-manager.d.mts.map +1 -1
  482. package/dist/v2/runtime/core/channel-manager.mjs.map +1 -1
  483. package/dist/v2/runtime/core/debug-event-bus.d.cts +1 -1
  484. package/dist/v2/runtime/core/debug-event-bus.d.mts +1 -1
  485. package/dist/v2/runtime/core/fetch-cors.d.cts +1 -1
  486. package/dist/v2/runtime/core/fetch-cors.d.mts +1 -1
  487. package/dist/v2/runtime/core/fetch-handler.cjs +1 -1
  488. package/dist/v2/runtime/core/fetch-handler.cjs.map +1 -1
  489. package/dist/v2/runtime/core/fetch-handler.d.cts +1 -1
  490. package/dist/v2/runtime/core/fetch-handler.d.mts +1 -1
  491. package/dist/v2/runtime/core/fetch-handler.mjs +1 -1
  492. package/dist/v2/runtime/core/fetch-handler.mjs.map +1 -1
  493. package/dist/v2/runtime/core/hooks.d.cts +1 -1
  494. package/dist/v2/runtime/core/hooks.d.mts +1 -1
  495. package/dist/v2/runtime/core/learning.d.cts +1 -1
  496. package/dist/v2/runtime/core/learning.d.mts +1 -1
  497. package/dist/v2/runtime/core/middleware-sse-parser.d.cts +1 -1
  498. package/dist/v2/runtime/core/middleware-sse-parser.d.mts +1 -1
  499. package/dist/v2/runtime/core/middleware.d.cts +1 -1
  500. package/dist/v2/runtime/core/middleware.d.mts +1 -1
  501. package/dist/v2/runtime/core/runtime.cjs +1 -0
  502. package/dist/v2/runtime/core/runtime.cjs.map +1 -1
  503. package/dist/v2/runtime/core/runtime.d.cts +1 -1
  504. package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
  505. package/dist/v2/runtime/core/runtime.d.mts +1 -1
  506. package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
  507. package/dist/v2/runtime/core/runtime.mjs +2 -1
  508. package/dist/v2/runtime/core/runtime.mjs.map +1 -1
  509. package/dist/v2/runtime/endpoints/express-single.d.cts +1 -1
  510. package/dist/v2/runtime/endpoints/express-single.d.mts +1 -1
  511. package/dist/v2/runtime/endpoints/express.d.cts +1 -1
  512. package/dist/v2/runtime/endpoints/express.d.mts +1 -1
  513. package/dist/v2/runtime/endpoints/hono-single.d.cts +1 -1
  514. package/dist/v2/runtime/endpoints/hono-single.d.mts +1 -1
  515. package/dist/v2/runtime/endpoints/hono.d.cts +1 -1
  516. package/dist/v2/runtime/endpoints/hono.d.mts +1 -1
  517. package/dist/v2/runtime/endpoints/index.d.cts +1 -1
  518. package/dist/v2/runtime/endpoints/index.d.mts +1 -1
  519. package/dist/v2/runtime/endpoints/node-fetch-handler.d.cts +1 -1
  520. package/dist/v2/runtime/endpoints/node-fetch-handler.d.mts +1 -1
  521. package/dist/v2/runtime/endpoints/node.d.cts +1 -1
  522. package/dist/v2/runtime/endpoints/node.d.mts +1 -1
  523. package/dist/v2/runtime/express.d.cts +1 -1
  524. package/dist/v2/runtime/express.d.mts +1 -1
  525. package/dist/v2/runtime/handlers/header-utils.d.cts +1 -1
  526. package/dist/v2/runtime/handlers/header-utils.d.mts +1 -1
  527. package/dist/v2/runtime/handlers/intelligence/memories.cjs +1 -1
  528. package/dist/v2/runtime/handlers/intelligence/memories.cjs.map +1 -1
  529. package/dist/v2/runtime/handlers/intelligence/memories.mjs +1 -1
  530. package/dist/v2/runtime/handlers/intelligence/memories.mjs.map +1 -1
  531. package/dist/v2/runtime/handlers/intelligence/threads.cjs +1 -1
  532. package/dist/v2/runtime/handlers/intelligence/threads.cjs.map +1 -1
  533. package/dist/v2/runtime/handlers/intelligence/threads.mjs +1 -1
  534. package/dist/v2/runtime/handlers/intelligence/threads.mjs.map +1 -1
  535. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +1 -1
  536. package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
  537. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +1 -1
  538. package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
  539. package/dist/v2/runtime/handlers/shared/sse-response.cjs.map +1 -1
  540. package/dist/v2/runtime/handlers/shared/sse-response.mjs.map +1 -1
  541. package/dist/v2/runtime/handlers/sse/run.cjs.map +1 -1
  542. package/dist/v2/runtime/handlers/sse/run.mjs.map +1 -1
  543. package/dist/v2/runtime/hono.d.cts +1 -1
  544. package/dist/v2/runtime/hono.d.mts +1 -1
  545. package/dist/v2/runtime/index.d.cts +1 -1
  546. package/dist/v2/runtime/index.d.mts +1 -1
  547. package/dist/v2/runtime/intelligence-platform/client.cjs +8 -8
  548. package/dist/v2/runtime/intelligence-platform/client.cjs.map +1 -1
  549. package/dist/v2/runtime/intelligence-platform/client.d.cts +11 -11
  550. package/dist/v2/runtime/intelligence-platform/client.d.mts +11 -11
  551. package/dist/v2/runtime/intelligence-platform/client.mjs +8 -8
  552. package/dist/v2/runtime/intelligence-platform/client.mjs.map +1 -1
  553. package/dist/v2/runtime/intelligence-platform/index.d.mts +1 -1
  554. package/dist/v2/runtime/node.d.cts +1 -1
  555. package/dist/v2/runtime/node.d.mts +1 -1
  556. package/dist/v2/runtime/runner/agent-runner.d.cts +1 -1
  557. package/dist/v2/runtime/runner/agent-runner.d.mts +1 -1
  558. package/dist/v2/runtime/runner/in-memory.cjs +3 -3
  559. package/dist/v2/runtime/runner/in-memory.cjs.map +1 -1
  560. package/dist/v2/runtime/runner/in-memory.d.cts +5 -5
  561. package/dist/v2/runtime/runner/in-memory.d.mts +5 -5
  562. package/dist/v2/runtime/runner/in-memory.mjs +3 -3
  563. package/dist/v2/runtime/runner/in-memory.mjs.map +1 -1
  564. package/dist/v2/runtime/runner/index.d.cts +1 -1
  565. package/dist/v2/runtime/runner/index.d.mts +1 -1
  566. package/dist/v2/runtime/runner/intelligence.d.cts +1 -1
  567. package/dist/v2/runtime/runner/intelligence.d.mts +1 -1
  568. package/dist/v2/runtime/telemetry/telemetry-client.mjs +1 -1
  569. package/dist/v2/runtime/transcription-service/transcription-service.d.cts +1 -1
  570. package/dist/v2/runtime/transcription-service/transcription-service.d.mts +1 -1
  571. package/package.json +7 -6
  572. package/skills/runtime/SKILL.md +1 -1
  573. package/skills/runtime/references/agent-runners-custom.md +1 -1
  574. package/skills/runtime/references/agent-runners.md +11 -5
  575. package/skills/runtime/references/built-in-agent-factory-modes.md +1 -1
  576. package/skills/runtime/references/built-in-agent-model-identifiers.md +3 -4
  577. package/skills/runtime/references/intelligence-mode.md +12 -13
  578. package/dist/channels/dist/index.d.cts +0 -10
  579. package/dist/channels/dist/index.d.cts.map +0 -1
  580. package/dist/channels/dist/index.d.mts +0 -10
  581. package/dist/channels/dist/index.d.mts.map +0 -1
  582. package/dist/runtime/package.mjs.map +0 -1
@@ -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";
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","names":[],"sources":["../../../src/lib/runtime/types.ts"],"sourcesContent":["import { GraphQLContext } from \"../integrations\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { Message } from \"../../graphql/types/converted\";\nimport { MetaEventInput } from \"../../graphql/inputs/meta-event.input\";\n\nexport interface BaseEndpointDefinition<TActionType extends EndpointType> {\n type?: TActionType;\n}\n\nexport interface CopilotKitEndpoint extends BaseEndpointDefinition<EndpointType.CopilotKit> {\n url: string;\n onBeforeRequest?: ({ ctx }: { ctx: GraphQLContext }) => {\n headers?: Record<string, string> | undefined;\n };\n}\n\nexport interface LangGraphPlatformAgent {\n name: string;\n description: string;\n assistantId?: string;\n}\n\nexport interface LangGraphPlatformEndpoint extends BaseEndpointDefinition<EndpointType.LangGraphPlatform> {\n deploymentUrl: string;\n langsmithApiKey?: string | null;\n agents: LangGraphPlatformAgent[];\n}\n\nexport type RemoteActionInfoResponse = {\n actions: any[];\n agents: any[];\n};\n\nexport type RemoteAgentHandlerParams = {\n name: string;\n actionInputsWithoutAgents: ActionInput[];\n threadId?: string;\n nodeName?: string;\n additionalMessages?: Message[];\n metaEvents?: MetaEventInput[];\n};\n\nexport type EndpointDefinition = CopilotKitEndpoint | LangGraphPlatformEndpoint;\n\nexport enum EndpointType {\n CopilotKit = \"copilotKit\",\n LangGraphPlatform = \"langgraph-platform\",\n}\n"],"mappings":";;;AA4CA,IAAY,sDAAL;AACL;AACA"}
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/types.ts"],"sourcesContent":["import { GraphQLContext } from \"../integrations\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { Message } from \"../../graphql/types/converted\";\nimport { MetaEventInput } from \"../../graphql/inputs/meta-event.input\";\n\nexport interface BaseEndpointDefinition<TActionType extends EndpointType> {\n type?: TActionType;\n}\n\nexport interface CopilotKitEndpoint extends BaseEndpointDefinition<EndpointType.CopilotKit> {\n url: string;\n onBeforeRequest?: ({ ctx }: { ctx: GraphQLContext }) => {\n headers?: Record<string, string> | undefined;\n };\n}\n\nexport interface LangGraphPlatformAgent {\n name: string;\n description: string;\n assistantId?: string;\n}\n\nexport interface LangGraphPlatformEndpoint extends BaseEndpointDefinition<EndpointType.LangGraphPlatform> {\n deploymentUrl: string;\n langsmithApiKey?: string | null;\n agents: LangGraphPlatformAgent[];\n}\n\nexport type RemoteActionInfoResponse = {\n actions: any[];\n agents: any[];\n};\n\nexport type RemoteAgentHandlerParams = {\n name: string;\n actionInputsWithoutAgents: ActionInput[];\n threadId?: string;\n nodeName?: string;\n additionalMessages?: Message[];\n metaEvents?: MetaEventInput[];\n};\n\nexport type EndpointDefinition = CopilotKitEndpoint | LangGraphPlatformEndpoint;\n\nexport enum EndpointType {\n CopilotKit = \"copilotKit\",\n LangGraphPlatform = \"langgraph-platform\",\n}\n"],"mappings":";;;AA4CA,IAAY,sDAAL;AACL;AACA"}
@@ -1,8 +1,8 @@
1
- require("reflect-metadata");
1
+
2
2
  import { GraphQLContext } from "../integrations/shared.cjs";
3
3
  import "../integrations/index.cjs";
4
4
 
5
- //#region src/lib/runtime/types.d.ts
5
+ //#region src/v1-deprecated/lib/runtime/types.d.ts
6
6
  interface BaseEndpointDefinition<TActionType extends EndpointType> {
7
7
  type?: TActionType;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/lib/runtime/types.ts"],"mappings":";;;;;UAKiB,sBAAA,qBAA2C,YAAA;EAC1D,IAAA,GAAO,WAAA;AAAA;AAAA,UAGQ,kBAAA,SAA2B,sBAAA,CAAuB,YAAA,CAAa,UAAA;EAC9E,GAAA;EACA,eAAA;IAAqB;EAAA;IAAS,GAAA,EAAK,cAAA;EAAA;IACjC,OAAA,GAAU,MAAA;EAAA;AAAA;AAAA,UAIG,sBAAA;EACf,IAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,UAGe,yBAAA,SAAkC,sBAAA,CAAuB,YAAA,CAAa,iBAAA;EACrF,aAAA;EACA,eAAA;EACA,MAAA,EAAQ,sBAAA;AAAA;AAAA,KAiBE,kBAAA,GAAqB,kBAAA,GAAqB,yBAAA;AAAA,aAE1C,YAAA;EACV,UAAA;EACA,iBAAA;AAAA"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/types.ts"],"mappings":";;;;;UAKiB,sBAAA,qBAA2C,YAAA;EAC1D,IAAA,GAAO,WAAA;AAAA;AAAA,UAGQ,kBAAA,SAA2B,sBAAA,CAAuB,YAAA,CAAa,UAAA;EAC9E,GAAA;EACA,eAAA;IAAqB;EAAA;IAAS,GAAA,EAAK,cAAA;EAAA;IACjC,OAAA,GAAU,MAAA;EAAA;AAAA;AAAA,UAIG,sBAAA;EACf,IAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,UAGe,yBAAA,SAAkC,sBAAA,CAAuB,YAAA,CAAa,iBAAA;EACrF,aAAA;EACA,eAAA;EACA,MAAA,EAAQ,sBAAA;AAAA;AAAA,KAiBE,kBAAA,GAAqB,kBAAA,GAAqB,yBAAA;AAAA,aAE1C,YAAA;EACV,UAAA;EACA,iBAAA;AAAA"}
@@ -1,8 +1,8 @@
1
- import "reflect-metadata";
1
+
2
2
  import { GraphQLContext } from "../integrations/shared.mjs";
3
3
  import "../integrations/index.mjs";
4
4
 
5
- //#region src/lib/runtime/types.d.ts
5
+ //#region src/v1-deprecated/lib/runtime/types.d.ts
6
6
  interface BaseEndpointDefinition<TActionType extends EndpointType> {
7
7
  type?: TActionType;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/lib/runtime/types.ts"],"mappings":";;;;;UAKiB,sBAAA,qBAA2C,YAAA;EAC1D,IAAA,GAAO,WAAA;AAAA;AAAA,UAGQ,kBAAA,SAA2B,sBAAA,CAAuB,YAAA,CAAa,UAAA;EAC9E,GAAA;EACA,eAAA;IAAqB;EAAA;IAAS,GAAA,EAAK,cAAA;EAAA;IACjC,OAAA,GAAU,MAAA;EAAA;AAAA;AAAA,UAIG,sBAAA;EACf,IAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,UAGe,yBAAA,SAAkC,sBAAA,CAAuB,YAAA,CAAa,iBAAA;EACrF,aAAA;EACA,eAAA;EACA,MAAA,EAAQ,sBAAA;AAAA;AAAA,KAiBE,kBAAA,GAAqB,kBAAA,GAAqB,yBAAA;AAAA,aAE1C,YAAA;EACV,UAAA;EACA,iBAAA;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/types.ts"],"mappings":";;;;;UAKiB,sBAAA,qBAA2C,YAAA;EAC1D,IAAA,GAAO,WAAA;AAAA;AAAA,UAGQ,kBAAA,SAA2B,sBAAA,CAAuB,YAAA,CAAa,UAAA;EAC9E,GAAA;EACA,eAAA;IAAqB;EAAA;IAAS,GAAA,EAAK,cAAA;EAAA;IACjC,OAAA,GAAU,MAAA;EAAA;AAAA;AAAA,UAIG,sBAAA;EACf,IAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,UAGe,yBAAA,SAAkC,sBAAA,CAAuB,YAAA,CAAa,iBAAA;EACrF,aAAA;EACA,eAAA;EACA,MAAA,EAAQ,sBAAA;AAAA;AAAA,KAiBE,kBAAA,GAAqB,kBAAA,GAAqB,yBAAA;AAAA,aAE1C,YAAA;EACV,UAAA;EACA,iBAAA;AAAA"}
@@ -1,5 +1,5 @@
1
1
  import "reflect-metadata";
2
- //#region src/lib/runtime/types.ts
2
+ //#region src/v1-deprecated/lib/runtime/types.ts
3
3
  let EndpointType = /* @__PURE__ */ function(EndpointType) {
4
4
  EndpointType["CopilotKit"] = "copilotKit";
5
5
  EndpointType["LangGraphPlatform"] = "langgraph-platform";
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/lib/runtime/types.ts"],"sourcesContent":["import { GraphQLContext } from \"../integrations\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { Message } from \"../../graphql/types/converted\";\nimport { MetaEventInput } from \"../../graphql/inputs/meta-event.input\";\n\nexport interface BaseEndpointDefinition<TActionType extends EndpointType> {\n type?: TActionType;\n}\n\nexport interface CopilotKitEndpoint extends BaseEndpointDefinition<EndpointType.CopilotKit> {\n url: string;\n onBeforeRequest?: ({ ctx }: { ctx: GraphQLContext }) => {\n headers?: Record<string, string> | undefined;\n };\n}\n\nexport interface LangGraphPlatformAgent {\n name: string;\n description: string;\n assistantId?: string;\n}\n\nexport interface LangGraphPlatformEndpoint extends BaseEndpointDefinition<EndpointType.LangGraphPlatform> {\n deploymentUrl: string;\n langsmithApiKey?: string | null;\n agents: LangGraphPlatformAgent[];\n}\n\nexport type RemoteActionInfoResponse = {\n actions: any[];\n agents: any[];\n};\n\nexport type RemoteAgentHandlerParams = {\n name: string;\n actionInputsWithoutAgents: ActionInput[];\n threadId?: string;\n nodeName?: string;\n additionalMessages?: Message[];\n metaEvents?: MetaEventInput[];\n};\n\nexport type EndpointDefinition = CopilotKitEndpoint | LangGraphPlatformEndpoint;\n\nexport enum EndpointType {\n CopilotKit = \"copilotKit\",\n LangGraphPlatform = \"langgraph-platform\",\n}\n"],"mappings":";;AA4CA,IAAY,sDAAL;AACL;AACA"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../../src/v1-deprecated/lib/runtime/types.ts"],"sourcesContent":["import { GraphQLContext } from \"../integrations\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { Message } from \"../../graphql/types/converted\";\nimport { MetaEventInput } from \"../../graphql/inputs/meta-event.input\";\n\nexport interface BaseEndpointDefinition<TActionType extends EndpointType> {\n type?: TActionType;\n}\n\nexport interface CopilotKitEndpoint extends BaseEndpointDefinition<EndpointType.CopilotKit> {\n url: string;\n onBeforeRequest?: ({ ctx }: { ctx: GraphQLContext }) => {\n headers?: Record<string, string> | undefined;\n };\n}\n\nexport interface LangGraphPlatformAgent {\n name: string;\n description: string;\n assistantId?: string;\n}\n\nexport interface LangGraphPlatformEndpoint extends BaseEndpointDefinition<EndpointType.LangGraphPlatform> {\n deploymentUrl: string;\n langsmithApiKey?: string | null;\n agents: LangGraphPlatformAgent[];\n}\n\nexport type RemoteActionInfoResponse = {\n actions: any[];\n agents: any[];\n};\n\nexport type RemoteAgentHandlerParams = {\n name: string;\n actionInputsWithoutAgents: ActionInput[];\n threadId?: string;\n nodeName?: string;\n additionalMessages?: Message[];\n metaEvents?: MetaEventInput[];\n};\n\nexport type EndpointDefinition = CopilotKitEndpoint | LangGraphPlatformEndpoint;\n\nexport enum EndpointType {\n CopilotKit = \"copilotKit\",\n LangGraphPlatform = \"langgraph-platform\",\n}\n"],"mappings":";;AA4CA,IAAY,sDAAL;AACL;AACA"}
@@ -6,7 +6,7 @@ const require_copilot_runtime = require('./runtime/copilot-runtime.cjs');
6
6
  let _copilotkit_shared = require("@copilotkit/shared");
7
7
  let node_crypto = require("node:crypto");
8
8
 
9
- //#region src/lib/telemetry-client.ts
9
+ //#region src/v1-deprecated/lib/telemetry-client.ts
10
10
  const packageJson = require_package$1.default;
11
11
  const telemetryClient = new _copilotkit_shared.TelemetryClient({
12
12
  packageName: packageJson.name,
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-client.cjs","names":["TelemetryClient","resolveEndpointType","EndpointType"],"sources":["../../src/lib/telemetry-client.ts"],"sourcesContent":["import { TelemetryClient } from \"@copilotkit/shared\";\nimport { createHash } from \"node:crypto\";\nimport { CopilotRuntime, resolveEndpointType } from \"./runtime/copilot-runtime\";\nimport { RuntimeInstanceCreatedInfo } from \"@copilotkit/shared/src/telemetry/events\";\nimport { CreateCopilotRuntimeServerOptions } from \"./integrations/shared\";\nimport { EndpointType, LangGraphPlatformEndpoint } from \"./runtime/types\";\nconst packageJson = require(\"../../package.json\");\n\nconst telemetryClient = new TelemetryClient({\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n});\n\nexport function getRuntimeInstanceTelemetryInfo(\n options: CreateCopilotRuntimeServerOptions,\n): RuntimeInstanceCreatedInfo {\n const runtime = options.runtime;\n const remoteEndpoints = runtime.params?.remoteEndpoints ?? [];\n const endpointsInfo = remoteEndpoints.reduce(\n (acc, endpoint) => {\n let info = { ...acc };\n\n const endpointType = resolveEndpointType(endpoint);\n if (!info.endpointTypes.includes(endpointType)) {\n info = {\n ...info,\n endpointTypes: [...info.endpointTypes, endpointType],\n };\n }\n\n if (endpointType === EndpointType.LangGraphPlatform) {\n // When type is resolved, recreating a const with casting of type\n const ep = endpoint as LangGraphPlatformEndpoint;\n info = {\n ...info,\n agentsAmount: ep.agents.length,\n hashedKey: ep.langsmithApiKey\n ? createHash(\"sha256\").update(ep.langsmithApiKey).digest(\"hex\")\n : null,\n };\n }\n\n return info;\n },\n { endpointTypes: [], agentsAmount: null, hashedKey: null },\n );\n\n // Get public API key from options.cloud.publicApiKey\n const publicApiKey = options.cloud?.publicApiKey;\n const apiKeyProvided = !!publicApiKey && publicApiKey.trim().length > 0;\n\n return {\n actionsAmount: runtime.params?.actions?.length ?? 0,\n endpointsAmount: remoteEndpoints.length,\n endpointTypes: endpointsInfo.endpointTypes,\n agentsAmount: Object.keys(runtime.instance.agents).length,\n hashedLgcKey: endpointsInfo.hashedKey,\n \"cloud.api_key_provided\": apiKeyProvided,\n ...(apiKeyProvided ? { \"cloud.public_api_key\": publicApiKey } : {}),\n ...(options.cloud?.baseUrl\n ? { \"cloud.base_url\": options.cloud.baseUrl }\n : {}),\n } as RuntimeInstanceCreatedInfo;\n}\n\nexport default telemetryClient;\n"],"mappings":";;;;;;;;;AAMA,MAAM;AAEN,MAAM,kBAAkB,IAAIA,mCAAgB;CAC1C,aAAa,YAAY;CACzB,gBAAgB,YAAY;CAC7B,CAAC;AAEF,SAAgB,gCACd,SAC4B;CAC5B,MAAM,UAAU,QAAQ;CACxB,MAAM,kBAAkB,QAAQ,QAAQ,mBAAmB,EAAE;CAC7D,MAAM,gBAAgB,gBAAgB,QACnC,KAAK,aAAa;EACjB,IAAI,OAAO,EAAE,GAAG,KAAK;EAErB,MAAM,eAAeC,4CAAoB,SAAS;AAClD,MAAI,CAAC,KAAK,cAAc,SAAS,aAAa,CAC5C,QAAO;GACL,GAAG;GACH,eAAe,CAAC,GAAG,KAAK,eAAe,aAAa;GACrD;AAGH,MAAI,iBAAiBC,2BAAa,mBAAmB;GAEnD,MAAM,KAAK;AACX,UAAO;IACL,GAAG;IACH,cAAc,GAAG,OAAO;IACxB,WAAW,GAAG,8CACC,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,MAAM,GAC7D;IACL;;AAGH,SAAO;IAET;EAAE,eAAe,EAAE;EAAE,cAAc;EAAM,WAAW;EAAM,CAC3D;CAGD,MAAM,eAAe,QAAQ,OAAO;CACpC,MAAM,iBAAiB,CAAC,CAAC,gBAAgB,aAAa,MAAM,CAAC,SAAS;AAEtE,QAAO;EACL,eAAe,QAAQ,QAAQ,SAAS,UAAU;EAClD,iBAAiB,gBAAgB;EACjC,eAAe,cAAc;EAC7B,cAAc,OAAO,KAAK,QAAQ,SAAS,OAAO,CAAC;EACnD,cAAc,cAAc;EAC5B,0BAA0B;EAC1B,GAAI,iBAAiB,EAAE,wBAAwB,cAAc,GAAG,EAAE;EAClE,GAAI,QAAQ,OAAO,UACf,EAAE,kBAAkB,QAAQ,MAAM,SAAS,GAC3C,EAAE;EACP"}
1
+ {"version":3,"file":"telemetry-client.cjs","names":["TelemetryClient","resolveEndpointType","EndpointType"],"sources":["../../../src/v1-deprecated/lib/telemetry-client.ts"],"sourcesContent":["import { TelemetryClient } from \"@copilotkit/shared\";\nimport { createHash } from \"node:crypto\";\nimport { CopilotRuntime, resolveEndpointType } from \"./runtime/copilot-runtime\";\nimport { RuntimeInstanceCreatedInfo } from \"@copilotkit/shared/src/telemetry/events\";\nimport { CreateCopilotRuntimeServerOptions } from \"./integrations/shared\";\nimport { EndpointType, LangGraphPlatformEndpoint } from \"./runtime/types\";\nconst packageJson = require(\"../../../package.json\");\n\nconst telemetryClient = new TelemetryClient({\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n});\n\nexport function getRuntimeInstanceTelemetryInfo(\n options: CreateCopilotRuntimeServerOptions,\n): RuntimeInstanceCreatedInfo {\n const runtime = options.runtime;\n const remoteEndpoints = runtime.params?.remoteEndpoints ?? [];\n const endpointsInfo = remoteEndpoints.reduce(\n (acc, endpoint) => {\n let info = { ...acc };\n\n const endpointType = resolveEndpointType(endpoint);\n if (!info.endpointTypes.includes(endpointType)) {\n info = {\n ...info,\n endpointTypes: [...info.endpointTypes, endpointType],\n };\n }\n\n if (endpointType === EndpointType.LangGraphPlatform) {\n // When type is resolved, recreating a const with casting of type\n const ep = endpoint as LangGraphPlatformEndpoint;\n info = {\n ...info,\n agentsAmount: ep.agents.length,\n hashedKey: ep.langsmithApiKey\n ? createHash(\"sha256\").update(ep.langsmithApiKey).digest(\"hex\")\n : null,\n };\n }\n\n return info;\n },\n { endpointTypes: [], agentsAmount: null, hashedKey: null },\n );\n\n // Get public API key from options.cloud.publicApiKey\n const publicApiKey = options.cloud?.publicApiKey;\n const apiKeyProvided = !!publicApiKey && publicApiKey.trim().length > 0;\n\n return {\n actionsAmount: runtime.params?.actions?.length ?? 0,\n endpointsAmount: remoteEndpoints.length,\n endpointTypes: endpointsInfo.endpointTypes,\n agentsAmount: Object.keys(runtime.instance.agents).length,\n hashedLgcKey: endpointsInfo.hashedKey,\n \"cloud.api_key_provided\": apiKeyProvided,\n ...(apiKeyProvided ? { \"cloud.public_api_key\": publicApiKey } : {}),\n ...(options.cloud?.baseUrl\n ? { \"cloud.base_url\": options.cloud.baseUrl }\n : {}),\n } as RuntimeInstanceCreatedInfo;\n}\n\nexport default telemetryClient;\n"],"mappings":";;;;;;;;;AAMA,MAAM;AAEN,MAAM,kBAAkB,IAAIA,mCAAgB;CAC1C,aAAa,YAAY;CACzB,gBAAgB,YAAY;CAC7B,CAAC;AAEF,SAAgB,gCACd,SAC4B;CAC5B,MAAM,UAAU,QAAQ;CACxB,MAAM,kBAAkB,QAAQ,QAAQ,mBAAmB,EAAE;CAC7D,MAAM,gBAAgB,gBAAgB,QACnC,KAAK,aAAa;EACjB,IAAI,OAAO,EAAE,GAAG,KAAK;EAErB,MAAM,eAAeC,4CAAoB,SAAS;AAClD,MAAI,CAAC,KAAK,cAAc,SAAS,aAAa,CAC5C,QAAO;GACL,GAAG;GACH,eAAe,CAAC,GAAG,KAAK,eAAe,aAAa;GACrD;AAGH,MAAI,iBAAiBC,2BAAa,mBAAmB;GAEnD,MAAM,KAAK;AACX,UAAO;IACL,GAAG;IACH,cAAc,GAAG,OAAO;IACxB,WAAW,GAAG,8CACC,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,MAAM,GAC7D;IACL;;AAGH,SAAO;IAET;EAAE,eAAe,EAAE;EAAE,cAAc;EAAM,WAAW;EAAM,CAC3D;CAGD,MAAM,eAAe,QAAQ,OAAO;CACpC,MAAM,iBAAiB,CAAC,CAAC,gBAAgB,aAAa,MAAM,CAAC,SAAS;AAEtE,QAAO;EACL,eAAe,QAAQ,QAAQ,SAAS,UAAU;EAClD,iBAAiB,gBAAgB;EACjC,eAAe,cAAc;EAC7B,cAAc,OAAO,KAAK,QAAQ,SAAS,OAAO,CAAC;EACnD,cAAc,cAAc;EAC5B,0BAA0B;EAC1B,GAAI,iBAAiB,EAAE,wBAAwB,cAAc,GAAG,EAAE;EAClE,GAAI,QAAQ,OAAO,UACf,EAAE,kBAAkB,QAAQ,MAAM,SAAS,GAC3C,EAAE;EACP"}
@@ -1,11 +1,11 @@
1
1
  import "reflect-metadata";
2
- import { require_package } from "../runtime/package.mjs";
2
+ import { require_package } from "../package.mjs";
3
3
  import { EndpointType } from "./runtime/types.mjs";
4
4
  import { resolveEndpointType } from "./runtime/copilot-runtime.mjs";
5
5
  import { TelemetryClient } from "@copilotkit/shared";
6
6
  import { createHash } from "node:crypto";
7
7
 
8
- //#region src/lib/telemetry-client.ts
8
+ //#region src/v1-deprecated/lib/telemetry-client.ts
9
9
  const packageJson = require_package();
10
10
  const telemetryClient = new TelemetryClient({
11
11
  packageName: packageJson.name,
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-client.mjs","names":[],"sources":["../../src/lib/telemetry-client.ts"],"sourcesContent":["import { TelemetryClient } from \"@copilotkit/shared\";\nimport { createHash } from \"node:crypto\";\nimport { CopilotRuntime, resolveEndpointType } from \"./runtime/copilot-runtime\";\nimport { RuntimeInstanceCreatedInfo } from \"@copilotkit/shared/src/telemetry/events\";\nimport { CreateCopilotRuntimeServerOptions } from \"./integrations/shared\";\nimport { EndpointType, LangGraphPlatformEndpoint } from \"./runtime/types\";\nconst packageJson = require(\"../../package.json\");\n\nconst telemetryClient = new TelemetryClient({\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n});\n\nexport function getRuntimeInstanceTelemetryInfo(\n options: CreateCopilotRuntimeServerOptions,\n): RuntimeInstanceCreatedInfo {\n const runtime = options.runtime;\n const remoteEndpoints = runtime.params?.remoteEndpoints ?? [];\n const endpointsInfo = remoteEndpoints.reduce(\n (acc, endpoint) => {\n let info = { ...acc };\n\n const endpointType = resolveEndpointType(endpoint);\n if (!info.endpointTypes.includes(endpointType)) {\n info = {\n ...info,\n endpointTypes: [...info.endpointTypes, endpointType],\n };\n }\n\n if (endpointType === EndpointType.LangGraphPlatform) {\n // When type is resolved, recreating a const with casting of type\n const ep = endpoint as LangGraphPlatformEndpoint;\n info = {\n ...info,\n agentsAmount: ep.agents.length,\n hashedKey: ep.langsmithApiKey\n ? createHash(\"sha256\").update(ep.langsmithApiKey).digest(\"hex\")\n : null,\n };\n }\n\n return info;\n },\n { endpointTypes: [], agentsAmount: null, hashedKey: null },\n );\n\n // Get public API key from options.cloud.publicApiKey\n const publicApiKey = options.cloud?.publicApiKey;\n const apiKeyProvided = !!publicApiKey && publicApiKey.trim().length > 0;\n\n return {\n actionsAmount: runtime.params?.actions?.length ?? 0,\n endpointsAmount: remoteEndpoints.length,\n endpointTypes: endpointsInfo.endpointTypes,\n agentsAmount: Object.keys(runtime.instance.agents).length,\n hashedLgcKey: endpointsInfo.hashedKey,\n \"cloud.api_key_provided\": apiKeyProvided,\n ...(apiKeyProvided ? { \"cloud.public_api_key\": publicApiKey } : {}),\n ...(options.cloud?.baseUrl\n ? { \"cloud.base_url\": options.cloud.baseUrl }\n : {}),\n } as RuntimeInstanceCreatedInfo;\n}\n\nexport default telemetryClient;\n"],"mappings":";;;;;;;;AAMA,MAAM;AAEN,MAAM,kBAAkB,IAAI,gBAAgB;CAC1C,aAAa,YAAY;CACzB,gBAAgB,YAAY;CAC7B,CAAC;AAEF,SAAgB,gCACd,SAC4B;CAC5B,MAAM,UAAU,QAAQ;CACxB,MAAM,kBAAkB,QAAQ,QAAQ,mBAAmB,EAAE;CAC7D,MAAM,gBAAgB,gBAAgB,QACnC,KAAK,aAAa;EACjB,IAAI,OAAO,EAAE,GAAG,KAAK;EAErB,MAAM,eAAe,oBAAoB,SAAS;AAClD,MAAI,CAAC,KAAK,cAAc,SAAS,aAAa,CAC5C,QAAO;GACL,GAAG;GACH,eAAe,CAAC,GAAG,KAAK,eAAe,aAAa;GACrD;AAGH,MAAI,iBAAiB,aAAa,mBAAmB;GAEnD,MAAM,KAAK;AACX,UAAO;IACL,GAAG;IACH,cAAc,GAAG,OAAO;IACxB,WAAW,GAAG,kBACV,WAAW,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,MAAM,GAC7D;IACL;;AAGH,SAAO;IAET;EAAE,eAAe,EAAE;EAAE,cAAc;EAAM,WAAW;EAAM,CAC3D;CAGD,MAAM,eAAe,QAAQ,OAAO;CACpC,MAAM,iBAAiB,CAAC,CAAC,gBAAgB,aAAa,MAAM,CAAC,SAAS;AAEtE,QAAO;EACL,eAAe,QAAQ,QAAQ,SAAS,UAAU;EAClD,iBAAiB,gBAAgB;EACjC,eAAe,cAAc;EAC7B,cAAc,OAAO,KAAK,QAAQ,SAAS,OAAO,CAAC;EACnD,cAAc,cAAc;EAC5B,0BAA0B;EAC1B,GAAI,iBAAiB,EAAE,wBAAwB,cAAc,GAAG,EAAE;EAClE,GAAI,QAAQ,OAAO,UACf,EAAE,kBAAkB,QAAQ,MAAM,SAAS,GAC3C,EAAE;EACP"}
1
+ {"version":3,"file":"telemetry-client.mjs","names":[],"sources":["../../../src/v1-deprecated/lib/telemetry-client.ts"],"sourcesContent":["import { TelemetryClient } from \"@copilotkit/shared\";\nimport { createHash } from \"node:crypto\";\nimport { CopilotRuntime, resolveEndpointType } from \"./runtime/copilot-runtime\";\nimport { RuntimeInstanceCreatedInfo } from \"@copilotkit/shared/src/telemetry/events\";\nimport { CreateCopilotRuntimeServerOptions } from \"./integrations/shared\";\nimport { EndpointType, LangGraphPlatformEndpoint } from \"./runtime/types\";\nconst packageJson = require(\"../../../package.json\");\n\nconst telemetryClient = new TelemetryClient({\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n});\n\nexport function getRuntimeInstanceTelemetryInfo(\n options: CreateCopilotRuntimeServerOptions,\n): RuntimeInstanceCreatedInfo {\n const runtime = options.runtime;\n const remoteEndpoints = runtime.params?.remoteEndpoints ?? [];\n const endpointsInfo = remoteEndpoints.reduce(\n (acc, endpoint) => {\n let info = { ...acc };\n\n const endpointType = resolveEndpointType(endpoint);\n if (!info.endpointTypes.includes(endpointType)) {\n info = {\n ...info,\n endpointTypes: [...info.endpointTypes, endpointType],\n };\n }\n\n if (endpointType === EndpointType.LangGraphPlatform) {\n // When type is resolved, recreating a const with casting of type\n const ep = endpoint as LangGraphPlatformEndpoint;\n info = {\n ...info,\n agentsAmount: ep.agents.length,\n hashedKey: ep.langsmithApiKey\n ? createHash(\"sha256\").update(ep.langsmithApiKey).digest(\"hex\")\n : null,\n };\n }\n\n return info;\n },\n { endpointTypes: [], agentsAmount: null, hashedKey: null },\n );\n\n // Get public API key from options.cloud.publicApiKey\n const publicApiKey = options.cloud?.publicApiKey;\n const apiKeyProvided = !!publicApiKey && publicApiKey.trim().length > 0;\n\n return {\n actionsAmount: runtime.params?.actions?.length ?? 0,\n endpointsAmount: remoteEndpoints.length,\n endpointTypes: endpointsInfo.endpointTypes,\n agentsAmount: Object.keys(runtime.instance.agents).length,\n hashedLgcKey: endpointsInfo.hashedKey,\n \"cloud.api_key_provided\": apiKeyProvided,\n ...(apiKeyProvided ? { \"cloud.public_api_key\": publicApiKey } : {}),\n ...(options.cloud?.baseUrl\n ? { \"cloud.base_url\": options.cloud.baseUrl }\n : {}),\n } as RuntimeInstanceCreatedInfo;\n}\n\nexport default telemetryClient;\n"],"mappings":";;;;;;;;AAMA,MAAM;AAEN,MAAM,kBAAkB,IAAI,gBAAgB;CAC1C,aAAa,YAAY;CACzB,gBAAgB,YAAY;CAC7B,CAAC;AAEF,SAAgB,gCACd,SAC4B;CAC5B,MAAM,UAAU,QAAQ;CACxB,MAAM,kBAAkB,QAAQ,QAAQ,mBAAmB,EAAE;CAC7D,MAAM,gBAAgB,gBAAgB,QACnC,KAAK,aAAa;EACjB,IAAI,OAAO,EAAE,GAAG,KAAK;EAErB,MAAM,eAAe,oBAAoB,SAAS;AAClD,MAAI,CAAC,KAAK,cAAc,SAAS,aAAa,CAC5C,QAAO;GACL,GAAG;GACH,eAAe,CAAC,GAAG,KAAK,eAAe,aAAa;GACrD;AAGH,MAAI,iBAAiB,aAAa,mBAAmB;GAEnD,MAAM,KAAK;AACX,UAAO;IACL,GAAG;IACH,cAAc,GAAG,OAAO;IACxB,WAAW,GAAG,kBACV,WAAW,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,MAAM,GAC7D;IACL;;AAGH,SAAO;IAET;EAAE,eAAe,EAAE;EAAE,cAAc;EAAM,WAAW;EAAM,CAC3D;CAGD,MAAM,eAAe,QAAQ,OAAO;CACpC,MAAM,iBAAiB,CAAC,CAAC,gBAAgB,aAAa,MAAM,CAAC,SAAS;AAEtE,QAAO;EACL,eAAe,QAAQ,QAAQ,SAAS,UAAU;EAClD,iBAAiB,gBAAgB;EACjC,eAAe,cAAc;EAC7B,cAAc,OAAO,KAAK,QAAQ,SAAS,OAAO,CAAC;EACnD,cAAc,cAAc;EAC5B,0BAA0B;EAC1B,GAAI,iBAAiB,EAAE,wBAAwB,cAAc,GAAG,EAAE;EAClE,GAAI,QAAQ,OAAO,UACf,EAAE,kBAAkB,QAAQ,MAAM,SAAS,GAC3C,EAAE;EACP"}
@@ -1,6 +1,6 @@
1
1
  require("reflect-metadata");
2
2
 
3
- //#region src/lib/telemetry-disclosure.ts
3
+ //#region src/v1-deprecated/lib/telemetry-disclosure.ts
4
4
  const TELEMETRY_DOCS_URL = "https://docs.copilotkit.ai/telemetry";
5
5
  function isTelemetryDisabled() {
6
6
  const env = process.env;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-disclosure.cjs","names":[],"sources":["../../src/lib/telemetry-disclosure.ts"],"sourcesContent":["// Runtime-side anonymous telemetry disclosure log.\n//\n// The runtime has shipped anonymous telemetry for some time (see\n// `packages/shared/src/telemetry/telemetry-client.ts`). This file just\n// surfaces a one-line pointer to the opt-out docs on first\n// instantiation so operators don't have to dig through the docs site\n// to discover the existing behavior. Pairs with the inspector's\n// first-run console disclosure for a consistent operator-facing\n// surface.\n//\n// Fires at most once per process — runtime instances may be constructed\n// multiple times (tests, hot-reload), but the disclosure is informational\n// and a single line is enough.\n\n// Canonical telemetry docs page on main.\n// Mirror constant: packages/web-inspector/src/lib/telemetry.ts\nconst TELEMETRY_DOCS_URL = \"https://docs.copilotkit.ai/telemetry\";\n\nfunction isTelemetryDisabled(): boolean {\n const env = process.env as Record<string, string | undefined>;\n return (\n env.COPILOTKIT_TELEMETRY_DISABLED === \"true\" ||\n env.COPILOTKIT_TELEMETRY_DISABLED === \"1\" ||\n env.DO_NOT_TRACK === \"true\" ||\n env.DO_NOT_TRACK === \"1\"\n );\n}\n\nlet disclosureLogged = false;\n\n/**\n * Logs a one-line console.info about anonymous telemetry on runtime\n * startup. No-op when telemetry is disabled via `COPILOTKIT_TELEMETRY_DISABLED`\n * or `DO_NOT_TRACK`, or when already logged once in this process.\n *\n * Idempotent — safe to call from multiple constructor paths.\n */\nexport function logRuntimeTelemetryDisclosure(): void {\n if (disclosureLogged) return;\n if (isTelemetryDisabled()) return;\n disclosureLogged = true;\n // eslint-disable-next-line no-console\n console.info(\n `[CopilotKit Runtime] anonymous telemetry enabled — see ${TELEMETRY_DOCS_URL} to opt out (set COPILOTKIT_TELEMETRY_DISABLED=true).`,\n );\n}\n\n// Test-only reset hook so the once-per-process guard doesn't leak between\n// test cases. Not part of the public package surface — used by the runtime\n// disclosure tests.\nexport function _resetRuntimeTelemetryDisclosureForTesting(): void {\n disclosureLogged = false;\n}\n"],"mappings":";;;AAgBA,MAAM,qBAAqB;AAE3B,SAAS,sBAA+B;CACtC,MAAM,MAAM,QAAQ;AACpB,QACE,IAAI,kCAAkC,UACtC,IAAI,kCAAkC,OACtC,IAAI,iBAAiB,UACrB,IAAI,iBAAiB;;AAIzB,IAAI,mBAAmB;;;;;;;;AASvB,SAAgB,gCAAsC;AACpD,KAAI,iBAAkB;AACtB,KAAI,qBAAqB,CAAE;AAC3B,oBAAmB;AAEnB,SAAQ,KACN,0DAA0D,mBAAmB,uDAC9E"}
1
+ {"version":3,"file":"telemetry-disclosure.cjs","names":[],"sources":["../../../src/v1-deprecated/lib/telemetry-disclosure.ts"],"sourcesContent":["// Runtime-side anonymous telemetry disclosure log.\n//\n// The runtime has shipped anonymous telemetry for some time (see\n// `packages/shared/src/telemetry/telemetry-client.ts`). This file just\n// surfaces a one-line pointer to the opt-out docs on first\n// instantiation so operators don't have to dig through the docs site\n// to discover the existing behavior. Pairs with the inspector's\n// first-run console disclosure for a consistent operator-facing\n// surface.\n//\n// Fires at most once per process — runtime instances may be constructed\n// multiple times (tests, hot-reload), but the disclosure is informational\n// and a single line is enough.\n\n// Canonical telemetry docs page on main.\n// Mirror constant: packages/web-inspector/src/lib/telemetry.ts\nconst TELEMETRY_DOCS_URL = \"https://docs.copilotkit.ai/telemetry\";\n\nfunction isTelemetryDisabled(): boolean {\n const env = process.env as Record<string, string | undefined>;\n return (\n env.COPILOTKIT_TELEMETRY_DISABLED === \"true\" ||\n env.COPILOTKIT_TELEMETRY_DISABLED === \"1\" ||\n env.DO_NOT_TRACK === \"true\" ||\n env.DO_NOT_TRACK === \"1\"\n );\n}\n\nlet disclosureLogged = false;\n\n/**\n * Logs a one-line console.info about anonymous telemetry on runtime\n * startup. No-op when telemetry is disabled via `COPILOTKIT_TELEMETRY_DISABLED`\n * or `DO_NOT_TRACK`, or when already logged once in this process.\n *\n * Idempotent — safe to call from multiple constructor paths.\n */\nexport function logRuntimeTelemetryDisclosure(): void {\n if (disclosureLogged) return;\n if (isTelemetryDisabled()) return;\n disclosureLogged = true;\n // eslint-disable-next-line no-console\n console.info(\n `[CopilotKit Runtime] anonymous telemetry enabled — see ${TELEMETRY_DOCS_URL} to opt out (set COPILOTKIT_TELEMETRY_DISABLED=true).`,\n );\n}\n\n// Test-only reset hook so the once-per-process guard doesn't leak between\n// test cases. Not part of the public package surface — used by the runtime\n// disclosure tests.\nexport function _resetRuntimeTelemetryDisclosureForTesting(): void {\n disclosureLogged = false;\n}\n"],"mappings":";;;AAgBA,MAAM,qBAAqB;AAE3B,SAAS,sBAA+B;CACtC,MAAM,MAAM,QAAQ;AACpB,QACE,IAAI,kCAAkC,UACtC,IAAI,kCAAkC,OACtC,IAAI,iBAAiB,UACrB,IAAI,iBAAiB;;AAIzB,IAAI,mBAAmB;;;;;;;;AASvB,SAAgB,gCAAsC;AACpD,KAAI,iBAAkB;AACtB,KAAI,qBAAqB,CAAE;AAC3B,oBAAmB;AAEnB,SAAQ,KACN,0DAA0D,mBAAmB,uDAC9E"}
@@ -1,5 +1,5 @@
1
1
  import "reflect-metadata";
2
- //#region src/lib/telemetry-disclosure.ts
2
+ //#region src/v1-deprecated/lib/telemetry-disclosure.ts
3
3
  const TELEMETRY_DOCS_URL = "https://docs.copilotkit.ai/telemetry";
4
4
  function isTelemetryDisabled() {
5
5
  const env = process.env;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-disclosure.mjs","names":[],"sources":["../../src/lib/telemetry-disclosure.ts"],"sourcesContent":["// Runtime-side anonymous telemetry disclosure log.\n//\n// The runtime has shipped anonymous telemetry for some time (see\n// `packages/shared/src/telemetry/telemetry-client.ts`). This file just\n// surfaces a one-line pointer to the opt-out docs on first\n// instantiation so operators don't have to dig through the docs site\n// to discover the existing behavior. Pairs with the inspector's\n// first-run console disclosure for a consistent operator-facing\n// surface.\n//\n// Fires at most once per process — runtime instances may be constructed\n// multiple times (tests, hot-reload), but the disclosure is informational\n// and a single line is enough.\n\n// Canonical telemetry docs page on main.\n// Mirror constant: packages/web-inspector/src/lib/telemetry.ts\nconst TELEMETRY_DOCS_URL = \"https://docs.copilotkit.ai/telemetry\";\n\nfunction isTelemetryDisabled(): boolean {\n const env = process.env as Record<string, string | undefined>;\n return (\n env.COPILOTKIT_TELEMETRY_DISABLED === \"true\" ||\n env.COPILOTKIT_TELEMETRY_DISABLED === \"1\" ||\n env.DO_NOT_TRACK === \"true\" ||\n env.DO_NOT_TRACK === \"1\"\n );\n}\n\nlet disclosureLogged = false;\n\n/**\n * Logs a one-line console.info about anonymous telemetry on runtime\n * startup. No-op when telemetry is disabled via `COPILOTKIT_TELEMETRY_DISABLED`\n * or `DO_NOT_TRACK`, or when already logged once in this process.\n *\n * Idempotent — safe to call from multiple constructor paths.\n */\nexport function logRuntimeTelemetryDisclosure(): void {\n if (disclosureLogged) return;\n if (isTelemetryDisabled()) return;\n disclosureLogged = true;\n // eslint-disable-next-line no-console\n console.info(\n `[CopilotKit Runtime] anonymous telemetry enabled — see ${TELEMETRY_DOCS_URL} to opt out (set COPILOTKIT_TELEMETRY_DISABLED=true).`,\n );\n}\n\n// Test-only reset hook so the once-per-process guard doesn't leak between\n// test cases. Not part of the public package surface — used by the runtime\n// disclosure tests.\nexport function _resetRuntimeTelemetryDisclosureForTesting(): void {\n disclosureLogged = false;\n}\n"],"mappings":";;AAgBA,MAAM,qBAAqB;AAE3B,SAAS,sBAA+B;CACtC,MAAM,MAAM,QAAQ;AACpB,QACE,IAAI,kCAAkC,UACtC,IAAI,kCAAkC,OACtC,IAAI,iBAAiB,UACrB,IAAI,iBAAiB;;AAIzB,IAAI,mBAAmB;;;;;;;;AASvB,SAAgB,gCAAsC;AACpD,KAAI,iBAAkB;AACtB,KAAI,qBAAqB,CAAE;AAC3B,oBAAmB;AAEnB,SAAQ,KACN,0DAA0D,mBAAmB,uDAC9E"}
1
+ {"version":3,"file":"telemetry-disclosure.mjs","names":[],"sources":["../../../src/v1-deprecated/lib/telemetry-disclosure.ts"],"sourcesContent":["// Runtime-side anonymous telemetry disclosure log.\n//\n// The runtime has shipped anonymous telemetry for some time (see\n// `packages/shared/src/telemetry/telemetry-client.ts`). This file just\n// surfaces a one-line pointer to the opt-out docs on first\n// instantiation so operators don't have to dig through the docs site\n// to discover the existing behavior. Pairs with the inspector's\n// first-run console disclosure for a consistent operator-facing\n// surface.\n//\n// Fires at most once per process — runtime instances may be constructed\n// multiple times (tests, hot-reload), but the disclosure is informational\n// and a single line is enough.\n\n// Canonical telemetry docs page on main.\n// Mirror constant: packages/web-inspector/src/lib/telemetry.ts\nconst TELEMETRY_DOCS_URL = \"https://docs.copilotkit.ai/telemetry\";\n\nfunction isTelemetryDisabled(): boolean {\n const env = process.env as Record<string, string | undefined>;\n return (\n env.COPILOTKIT_TELEMETRY_DISABLED === \"true\" ||\n env.COPILOTKIT_TELEMETRY_DISABLED === \"1\" ||\n env.DO_NOT_TRACK === \"true\" ||\n env.DO_NOT_TRACK === \"1\"\n );\n}\n\nlet disclosureLogged = false;\n\n/**\n * Logs a one-line console.info about anonymous telemetry on runtime\n * startup. No-op when telemetry is disabled via `COPILOTKIT_TELEMETRY_DISABLED`\n * or `DO_NOT_TRACK`, or when already logged once in this process.\n *\n * Idempotent — safe to call from multiple constructor paths.\n */\nexport function logRuntimeTelemetryDisclosure(): void {\n if (disclosureLogged) return;\n if (isTelemetryDisabled()) return;\n disclosureLogged = true;\n // eslint-disable-next-line no-console\n console.info(\n `[CopilotKit Runtime] anonymous telemetry enabled — see ${TELEMETRY_DOCS_URL} to opt out (set COPILOTKIT_TELEMETRY_DISABLED=true).`,\n );\n}\n\n// Test-only reset hook so the once-per-process guard doesn't leak between\n// test cases. Not part of the public package surface — used by the runtime\n// disclosure tests.\nexport function _resetRuntimeTelemetryDisclosureForTesting(): void {\n disclosureLogged = false;\n}\n"],"mappings":";;AAgBA,MAAM,qBAAqB;AAE3B,SAAS,sBAA+B;CACtC,MAAM,MAAM,QAAQ;AACpB,QACE,IAAI,kCAAkC,UACtC,IAAI,kCAAkC,OACtC,IAAI,iBAAiB,UACrB,IAAI,iBAAiB;;AAIzB,IAAI,mBAAmB;;;;;;;;AASvB,SAAgB,gCAAsC;AACpD,KAAI,iBAAkB;AACtB,KAAI,qBAAqB,CAAE;AAC3B,oBAAmB;AAEnB,SAAQ,KACN,0DAA0D,mBAAmB,uDAC9E"}
package/dist/package.cjs CHANGED
@@ -5,7 +5,7 @@ const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
5
5
  var require_package = /* @__PURE__ */ require_runtime.__commonJSMin(((exports, module) => {
6
6
  module.exports = {
7
7
  "name": "@copilotkit/runtime",
8
- "version": "1.68.3",
8
+ "version": "1.69.1",
9
9
  "private": false,
10
10
  "keywords": [
11
11
  "ai",
@@ -65,7 +65,7 @@ var require_package = /* @__PURE__ */ require_runtime.__commonJSMin(((exports, m
65
65
  },
66
66
  "publishConfig": { "access": "public" },
67
67
  "scripts": {
68
- "build": "tsdown",
68
+ "build": "tsdown && node ../../scripts/deprecations/v1-dist-notices.mjs --entrypoint runtime,runtime-langgraph",
69
69
  "dev": "tsdown --watch",
70
70
  "test": "vitest run",
71
71
  "test:watch": "vitest",
@@ -73,6 +73,7 @@ var require_package = /* @__PURE__ */ require_runtime.__commonJSMin(((exports, m
73
73
  "generate-graphql-schema": "node -e \"const fs=require('fs');fs.rmSync('__snapshots__',{recursive:true,force:true})\" && ts-node --transpile-only ./scripts/generate-gql-schema.ts",
74
74
  "link:global": "pnpm link --global",
75
75
  "unlink:global": "pnpm unlink --global",
76
+ "check-dts": "tsx ../../scripts/validate-dts-ambient.ts dist && tsx ../../scripts/validate-dts-imports.ts dist",
76
77
  "publint": "publint .",
77
78
  "attw": "attw --pack . --profile node16"
78
79
  },
@@ -99,6 +100,8 @@ var require_package = /* @__PURE__ */ require_runtime.__commonJSMin(((exports, m
99
100
  "@remix-run/node-fetch-server": "^0.13.0",
100
101
  "@scarf/scarf": "^1.3.0",
101
102
  "@segment/analytics-node": "^2.1.2",
103
+ "@types/cors": "^2.8.17",
104
+ "@types/express": "^4.17.21",
102
105
  "ai": "^6.0.104",
103
106
  "clarinet": "^0.12.4",
104
107
  "class-transformer": "^0.5.1",
@@ -126,8 +129,6 @@ var require_package = /* @__PURE__ */ require_runtime.__commonJSMin(((exports, m
126
129
  "@copilotkit/channels": "workspace:*",
127
130
  "@swc/core": "1.5.28",
128
131
  "@tanstack/intent": "^0.0.29",
129
- "@types/cors": "^2.8.17",
130
- "@types/express": "^4.17.21",
131
132
  "@types/node": "^18.11.17",
132
133
  "@types/phoenix": "^1.6.6",
133
134
  "@valibot/to-json-schema": "^1.5.0",
@@ -1,11 +1,11 @@
1
1
  import "reflect-metadata";
2
- import { __commonJSMin } from "../_virtual/_rolldown/runtime.mjs";
2
+ import { __commonJSMin } from "./_virtual/_rolldown/runtime.mjs";
3
3
 
4
4
  //#region package.json
5
5
  var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6
6
  module.exports = {
7
7
  "name": "@copilotkit/runtime",
8
- "version": "1.68.3",
8
+ "version": "1.69.1",
9
9
  "private": false,
10
10
  "keywords": [
11
11
  "ai",
@@ -65,7 +65,7 @@ var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
65
65
  },
66
66
  "publishConfig": { "access": "public" },
67
67
  "scripts": {
68
- "build": "tsdown",
68
+ "build": "tsdown && node ../../scripts/deprecations/v1-dist-notices.mjs --entrypoint runtime,runtime-langgraph",
69
69
  "dev": "tsdown --watch",
70
70
  "test": "vitest run",
71
71
  "test:watch": "vitest",
@@ -73,6 +73,7 @@ var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73
73
  "generate-graphql-schema": "node -e \"const fs=require('fs');fs.rmSync('__snapshots__',{recursive:true,force:true})\" && ts-node --transpile-only ./scripts/generate-gql-schema.ts",
74
74
  "link:global": "pnpm link --global",
75
75
  "unlink:global": "pnpm unlink --global",
76
+ "check-dts": "tsx ../../scripts/validate-dts-ambient.ts dist && tsx ../../scripts/validate-dts-imports.ts dist",
76
77
  "publint": "publint .",
77
78
  "attw": "attw --pack . --profile node16"
78
79
  },
@@ -99,6 +100,8 @@ var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
99
100
  "@remix-run/node-fetch-server": "^0.13.0",
100
101
  "@scarf/scarf": "^1.3.0",
101
102
  "@segment/analytics-node": "^2.1.2",
103
+ "@types/cors": "^2.8.17",
104
+ "@types/express": "^4.17.21",
102
105
  "ai": "^6.0.104",
103
106
  "clarinet": "^0.12.4",
104
107
  "class-transformer": "^0.5.1",
@@ -126,8 +129,6 @@ var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
126
129
  "@copilotkit/channels": "workspace:*",
127
130
  "@swc/core": "1.5.28",
128
131
  "@tanstack/intent": "^0.0.29",
129
- "@types/cors": "^2.8.17",
130
- "@types/express": "^4.17.21",
131
132
  "@types/node": "^18.11.17",
132
133
  "@types/phoenix": "^1.6.6",
133
134
  "@valibot/to-json-schema": "^1.5.0",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.mjs","names":[],"sources":["../package.json"],"sourcesContent":[""],"mappings":""}
@@ -6,8 +6,8 @@ const require_utils = require('./utils.cjs');
6
6
  let _copilotkit_shared = require("@copilotkit/shared");
7
7
  let _ai_sdk_anthropic = require("@ai-sdk/anthropic");
8
8
 
9
- //#region src/service-adapters/anthropic/anthropic-adapter.ts
10
- const DEFAULT_MODEL = "claude-3-5-sonnet-latest";
9
+ //#region src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.ts
10
+ const DEFAULT_MODEL = "claude-opus-4-8";
11
11
  var AnthropicAdapter = class {
12
12
  get anthropic() {
13
13
  return this._anthropic;
@@ -123,7 +123,7 @@ var AnthropicAdapter = class {
123
123
  try {
124
124
  const createParams = {
125
125
  system: cachedSystemPrompt,
126
- model: this.model,
126
+ model,
127
127
  messages: cachedMessages,
128
128
  max_tokens: forwardedParameters?.maxTokens || 4096,
129
129
  ...forwardedParameters?.temperature ? { temperature: forwardedParameters.temperature } : {},
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-adapter.cjs","names":["getSdkClientOptions","convertActionInputToAnthropicTool","limitMessagesToTokenCount","coalesceConsecutiveSameRoleMessages","convertMessageToAnthropicMessage","convertServiceAdapterError"],"sources":["../../../src/service-adapters/anthropic/anthropic-adapter.ts"],"sourcesContent":["/**\n * Copilot Runtime adapter for Anthropic.\n *\n * ## Example\n *\n * ```ts\n * import { CopilotRuntime, AnthropicAdapter } from \"@copilotkit/runtime\";\n * import Anthropic from \"@anthropic-ai/sdk\";\n *\n * const copilotKit = new CopilotRuntime();\n *\n * const anthropic = new Anthropic({\n * apiKey: \"<your-api-key>\",\n * });\n *\n * return new AnthropicAdapter({\n * anthropic,\n * promptCaching: {\n * enabled: true,\n * debug: true\n * }\n * });\n * ```\n */\nimport type { LanguageModel } from \"ai\";\nimport { createAnthropic } from \"@ai-sdk/anthropic\";\nimport type Anthropic from \"@anthropic-ai/sdk\";\nimport {\n CopilotServiceAdapter,\n CopilotRuntimeChatCompletionRequest,\n CopilotRuntimeChatCompletionResponse,\n} from \"../service-adapter\";\nimport {\n convertActionInputToAnthropicTool,\n convertMessageToAnthropicMessage,\n coalesceConsecutiveSameRoleMessages,\n limitMessagesToTokenCount,\n} from \"./utils\";\n\nimport { randomId, randomUUID } from \"@copilotkit/shared\";\nimport { convertServiceAdapterError, getSdkClientOptions } from \"../shared\";\n\nconst DEFAULT_MODEL = \"claude-3-5-sonnet-latest\";\n\nexport interface AnthropicPromptCachingConfig {\n /**\n * Whether to enable prompt caching.\n */\n enabled: boolean;\n\n /**\n * Whether to enable debug logging for cache operations.\n */\n debug?: boolean;\n}\n\nexport interface AnthropicAdapterParams {\n /**\n * An optional Anthropic instance to use. If not provided, a new instance will be\n * created.\n */\n anthropic?: Anthropic;\n\n /**\n * The model to use.\n */\n model?: string;\n\n /**\n * Configuration for prompt caching.\n * See: https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching\n */\n promptCaching?: AnthropicPromptCachingConfig;\n\n /**\n * Optional maximum input token limit. Overrides the default limit\n * used when trimming messages to fit the context window.\n */\n maxInputTokens?: number;\n}\n\nexport class AnthropicAdapter implements CopilotServiceAdapter {\n public model: string = DEFAULT_MODEL;\n public provider = \"anthropic\";\n private promptCaching: AnthropicPromptCachingConfig;\n private maxInputTokens?: number;\n\n private _anthropic: Anthropic;\n public get anthropic(): Anthropic {\n return this._anthropic;\n }\n public get name() {\n return \"AnthropicAdapter\";\n }\n\n constructor(params?: AnthropicAdapterParams) {\n if (params?.anthropic) {\n this._anthropic = params.anthropic;\n }\n // If no instance provided, we'll lazy-load in ensureAnthropic()\n if (params?.model) {\n this.model = params.model;\n }\n this.promptCaching = params?.promptCaching || { enabled: false };\n this.maxInputTokens = params?.maxInputTokens;\n }\n\n getLanguageModel(): LanguageModel {\n const anthropic = this.ensureAnthropic();\n const options = getSdkClientOptions(anthropic);\n const provider = createAnthropic({\n baseURL: anthropic.baseURL,\n apiKey: anthropic.apiKey,\n headers: options.defaultHeaders,\n fetch: options.fetch,\n });\n return provider(this.model);\n }\n\n private ensureAnthropic(): Anthropic {\n if (!this._anthropic) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const Anthropic = require(\"@anthropic-ai/sdk\").default;\n this._anthropic = new Anthropic({});\n }\n return this._anthropic;\n }\n\n /**\n * Adds cache control to system prompt\n */\n private addSystemPromptCaching(\n system: string,\n debug: boolean = false,\n ):\n | string\n | Array<{\n type: \"text\";\n text: string;\n cache_control?: { type: \"ephemeral\" };\n }> {\n if (!this.promptCaching.enabled || !system) {\n return system;\n }\n\n const originalTextLength = system.length;\n\n if (debug) {\n console.log(\n `[ANTHROPIC CACHE DEBUG] Added cache control to system prompt (${originalTextLength} chars).`,\n );\n }\n\n return [\n {\n type: \"text\",\n text: system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n\n /**\n * Adds cache control to the final message\n */\n private addIncrementalMessageCaching(\n messages: Anthropic.Messages.MessageParam[],\n debug: boolean = false,\n ): any[] {\n if (!this.promptCaching.enabled || messages.length === 0) {\n return messages;\n }\n\n const finalMessage = messages[messages.length - 1];\n const messageNumber = messages.length;\n\n if (\n Array.isArray(finalMessage.content) &&\n finalMessage.content.length > 0\n ) {\n const finalBlock = finalMessage.content[finalMessage.content.length - 1];\n\n const updatedMessages = [\n ...messages.slice(0, -1),\n {\n ...finalMessage,\n content: [\n ...finalMessage.content.slice(0, -1),\n { ...finalBlock, cache_control: { type: \"ephemeral\" } } as any,\n ],\n },\n ];\n\n if (debug) {\n console.log(\n `[ANTHROPIC CACHE DEBUG] Added cache control to final message (message ${messageNumber}).`,\n );\n }\n\n return updatedMessages;\n }\n\n return messages;\n }\n\n private shouldGenerateFallbackResponse(\n messages: Anthropic.Messages.MessageParam[],\n ): boolean {\n if (messages.length === 0) return false;\n\n const lastMessage = messages[messages.length - 1];\n\n // Check if the last message is a tool result\n const endsWithToolResult =\n lastMessage.role === \"user\" &&\n Array.isArray(lastMessage.content) &&\n lastMessage.content.some(\n (content: any) => content.type === \"tool_result\",\n );\n\n // Also check if we have a recent pattern of user message -> assistant tool use -> user tool result\n // This indicates a completed action that might not need a response\n if (messages.length >= 3 && endsWithToolResult) {\n const lastThree = messages.slice(-3);\n const hasRecentToolPattern =\n lastThree[0]?.role === \"user\" && // Initial user message\n lastThree[1]?.role === \"assistant\" && // Assistant tool use\n Array.isArray(lastThree[1].content) &&\n lastThree[1].content.some(\n (content: any) => content.type === \"tool_use\",\n ) &&\n lastThree[2]?.role === \"user\" && // Tool result\n Array.isArray(lastThree[2].content) &&\n lastThree[2].content.some(\n (content: any) => content.type === \"tool_result\",\n );\n\n return hasRecentToolPattern;\n }\n\n return endsWithToolResult;\n }\n\n async process(\n request: CopilotRuntimeChatCompletionRequest,\n ): Promise<CopilotRuntimeChatCompletionResponse> {\n const {\n threadId,\n model = this.model,\n messages: rawMessages,\n actions,\n eventSource,\n forwardedParameters,\n } = request;\n const tools = actions.map(convertActionInputToAnthropicTool);\n const knownActionNames = new Set(actions.map((a) => a.name));\n\n const messages = [...rawMessages];\n\n // get the instruction message\n const instructionsMessage = messages.shift();\n const instructions = instructionsMessage.isTextMessage()\n ? instructionsMessage.content\n : \"\";\n\n // ALLOWLIST APPROACH:\n // 1. First, identify all valid tool_use calls (from assistant)\n // 2. Then, only keep tool_result blocks that correspond to these valid tool_use IDs\n // 3. Discard any other tool_result blocks\n\n // Step 1: Extract valid tool_use IDs\n const validToolUseIds = new Set<string>();\n\n for (const message of messages) {\n if (message.isActionExecutionMessage()) {\n validToolUseIds.add(message.id);\n }\n }\n\n // Step 2: Map each message to an Anthropic message, eliminating invalid tool_results\n const processedToolResultIds = new Set<string>();\n const anthropicMessages = messages\n .map((message) => {\n // For tool results, only include if they match a valid tool_use ID AND haven't been processed\n if (message.isResultMessage()) {\n // Skip if there's no corresponding tool_use\n if (!validToolUseIds.has(message.actionExecutionId)) {\n return null; // Will be filtered out later\n }\n\n // Skip if we've already processed a result for this tool_use ID\n if (processedToolResultIds.has(message.actionExecutionId)) {\n return null; // Will be filtered out later\n }\n\n // Mark this tool result as processed\n processedToolResultIds.add(message.actionExecutionId);\n\n return {\n role: \"user\",\n content: [\n {\n type: \"tool_result\",\n content: message.result || \"Action completed successfully\",\n tool_use_id: message.actionExecutionId,\n },\n ],\n };\n }\n\n // For non-tool-result messages, convert normally\n return convertMessageToAnthropicMessage(message);\n })\n .filter(Boolean) // Remove nulls\n .filter((msg) => {\n // Filter out assistant messages with empty text content\n if (msg.role === \"assistant\" && Array.isArray(msg.content)) {\n const hasEmptyTextOnly =\n msg.content.length === 1 &&\n msg.content[0].type === \"text\" &&\n (!(msg.content[0] as any).text ||\n (msg.content[0] as any).text.trim() === \"\");\n\n // Keep messages that have tool_use or non-empty text\n return !hasEmptyTextOnly;\n }\n return true;\n }) as Anthropic.Messages.MessageParam[];\n\n // Coalesce consecutive same-role messages so the Anthropic API receives alternating turns.\n // A mixed text+tool_use response is stored as separate TextMessage / ActionExecutionMessage\n // objects; they must be merged into one assistant message before dispatch.\n const coalescedMessages =\n coalesceConsecutiveSameRoleMessages(anthropicMessages);\n\n // Apply token limits\n const limitedMessages = limitMessagesToTokenCount(\n coalescedMessages,\n tools,\n model,\n this.maxInputTokens,\n );\n\n // Apply prompt caching if enabled\n const cachedSystemPrompt = this.addSystemPromptCaching(\n instructions,\n this.promptCaching.debug,\n );\n const cachedMessages = this.addIncrementalMessageCaching(\n limitedMessages,\n this.promptCaching.debug,\n );\n\n // We'll check if we need a fallback response after seeing what Anthropic returns\n // Role alternation is now enforced by coalesceConsecutiveSameRoleMessages above.\n\n let toolChoice: any = forwardedParameters?.toolChoice;\n if (forwardedParameters?.toolChoice === \"function\") {\n toolChoice = {\n type: \"tool\",\n name: forwardedParameters.toolChoiceFunctionName,\n };\n }\n\n try {\n const createParams = {\n system: cachedSystemPrompt,\n model: this.model,\n messages: cachedMessages,\n max_tokens: forwardedParameters?.maxTokens || 4096,\n ...(forwardedParameters?.temperature\n ? { temperature: forwardedParameters.temperature }\n : {}),\n ...(tools.length > 0 && { tools }),\n ...(toolChoice && { tool_choice: toolChoice }),\n stream: true,\n };\n\n const anthropic = this.ensureAnthropic();\n const stream = await anthropic.messages.create(createParams);\n\n eventSource.stream(async (eventStream$) => {\n let mode: \"function\" | \"message\" | null = null;\n let didOutputText = false;\n let currentMessageId = randomId();\n let currentToolCallId = randomId();\n let filterThinkingTextBuffer = new FilterThinkingTextBuffer();\n let hasReceivedContent = false;\n\n try {\n for await (const chunk of stream as AsyncIterable<any>) {\n if (chunk.type === \"message_start\") {\n currentMessageId = chunk.message.id;\n } else if (chunk.type === \"content_block_start\") {\n if (chunk.content_block.type === \"text\") {\n hasReceivedContent = true;\n didOutputText = false;\n filterThinkingTextBuffer.reset();\n mode = \"message\";\n } else if (chunk.content_block.type === \"tool_use\") {\n if (!knownActionNames.has(chunk.content_block.name)) {\n // Unknown tool - skip execution to prevent crashes\n mode = null;\n continue;\n }\n hasReceivedContent = true;\n currentToolCallId = chunk.content_block.id;\n eventStream$.sendActionExecutionStart({\n actionExecutionId: currentToolCallId,\n actionName: chunk.content_block.name,\n parentMessageId: currentMessageId,\n });\n mode = \"function\";\n }\n } else if (chunk.type === \"content_block_delta\") {\n if (mode === null) {\n // Skip deltas for unknown/skipped content blocks\n continue;\n }\n if (chunk.delta.type === \"text_delta\") {\n const text = filterThinkingTextBuffer.onTextChunk(\n chunk.delta.text,\n );\n if (text.length > 0) {\n if (!didOutputText) {\n eventStream$.sendTextMessageStart({\n messageId: currentMessageId,\n });\n didOutputText = true;\n }\n eventStream$.sendTextMessageContent({\n messageId: currentMessageId,\n content: text,\n });\n }\n } else if (chunk.delta.type === \"input_json_delta\") {\n eventStream$.sendActionExecutionArgs({\n actionExecutionId: currentToolCallId,\n args: chunk.delta.partial_json,\n });\n }\n } else if (chunk.type === \"content_block_stop\") {\n if (mode === \"message\") {\n if (didOutputText) {\n eventStream$.sendTextMessageEnd({\n messageId: currentMessageId,\n });\n }\n } else if (mode === \"function\") {\n eventStream$.sendActionExecutionEnd({\n actionExecutionId: currentToolCallId,\n });\n }\n }\n }\n } catch (error) {\n throw convertServiceAdapterError(error, \"Anthropic\");\n }\n\n // Generate fallback response only if Anthropic produced no content\n if (\n !hasReceivedContent &&\n this.shouldGenerateFallbackResponse(cachedMessages)\n ) {\n // Extract the tool result content for a more contextual response\n let fallbackContent = \"Task completed successfully.\";\n const lastMessage = cachedMessages[cachedMessages.length - 1];\n if (\n lastMessage?.role === \"user\" &&\n Array.isArray(lastMessage.content)\n ) {\n const toolResult = lastMessage.content.find(\n (c: any) => c.type === \"tool_result\",\n );\n if (\n toolResult?.content &&\n toolResult.content !== \"Action completed successfully\"\n ) {\n fallbackContent = toolResult.content;\n }\n }\n\n currentMessageId = randomId();\n eventStream$.sendTextMessageStart({ messageId: currentMessageId });\n eventStream$.sendTextMessageContent({\n messageId: currentMessageId,\n content: fallbackContent,\n });\n eventStream$.sendTextMessageEnd({ messageId: currentMessageId });\n }\n\n eventStream$.complete();\n });\n } catch (error) {\n throw convertServiceAdapterError(error, \"Anthropic\");\n }\n\n return {\n threadId: threadId || randomUUID(),\n };\n }\n}\n\nconst THINKING_TAG = \"<thinking>\";\nconst THINKING_TAG_END = \"</thinking>\";\n\nclass FilterThinkingTextBuffer {\n private buffer: string;\n private didFilterThinkingTag: boolean = false;\n\n constructor() {\n this.buffer = \"\";\n }\n\n onTextChunk(text: string): string {\n this.buffer += text;\n if (this.didFilterThinkingTag) {\n return text;\n }\n const potentialTag = this.buffer.slice(0, THINKING_TAG.length);\n if (THINKING_TAG.startsWith(potentialTag)) {\n if (this.buffer.includes(THINKING_TAG_END)) {\n const end = this.buffer.indexOf(THINKING_TAG_END);\n const filteredText = this.buffer.slice(end + THINKING_TAG_END.length);\n this.buffer = filteredText;\n this.didFilterThinkingTag = true;\n return filteredText;\n } else {\n return \"\";\n }\n }\n return text;\n }\n\n reset() {\n this.buffer = \"\";\n this.didFilterThinkingTag = false;\n }\n}\n"],"mappings":";;;;;;;;;AA0CA,MAAM,gBAAgB;AAuCtB,IAAa,mBAAb,MAA+D;CAO7D,IAAW,YAAuB;AAChC,SAAO,KAAK;;CAEd,IAAW,OAAO;AAChB,SAAO;;CAGT,YAAY,QAAiC;eAbtB;kBACL;AAahB,MAAI,QAAQ,UACV,MAAK,aAAa,OAAO;AAG3B,MAAI,QAAQ,MACV,MAAK,QAAQ,OAAO;AAEtB,OAAK,gBAAgB,QAAQ,iBAAiB,EAAE,SAAS,OAAO;AAChE,OAAK,iBAAiB,QAAQ;;CAGhC,mBAAkC;EAChC,MAAM,YAAY,KAAK,iBAAiB;EACxC,MAAM,UAAUA,6CAAoB,UAAU;AAO9C,gDANiC;GAC/B,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,SAAS,QAAQ;GACjB,OAAO,QAAQ;GAChB,CAAC,CACc,KAAK,MAAM;;CAG7B,AAAQ,kBAA6B;AACnC,MAAI,CAAC,KAAK,YAAY;GAEpB,MAAM,YAAY,QAAQ,oBAAoB,CAAC;AAC/C,QAAK,aAAa,IAAI,UAAU,EAAE,CAAC;;AAErC,SAAO,KAAK;;;;;CAMd,AAAQ,uBACN,QACA,QAAiB,OAOZ;AACL,MAAI,CAAC,KAAK,cAAc,WAAW,CAAC,OAClC,QAAO;EAGT,MAAM,qBAAqB,OAAO;AAElC,MAAI,MACF,SAAQ,IACN,iEAAiE,mBAAmB,UACrF;AAGH,SAAO,CACL;GACE,MAAM;GACN,MAAM;GACN,eAAe,EAAE,MAAM,aAAa;GACrC,CACF;;;;;CAMH,AAAQ,6BACN,UACA,QAAiB,OACV;AACP,MAAI,CAAC,KAAK,cAAc,WAAW,SAAS,WAAW,EACrD,QAAO;EAGT,MAAM,eAAe,SAAS,SAAS,SAAS;EAChD,MAAM,gBAAgB,SAAS;AAE/B,MACE,MAAM,QAAQ,aAAa,QAAQ,IACnC,aAAa,QAAQ,SAAS,GAC9B;GACA,MAAM,aAAa,aAAa,QAAQ,aAAa,QAAQ,SAAS;GAEtE,MAAM,kBAAkB,CACtB,GAAG,SAAS,MAAM,GAAG,GAAG,EACxB;IACE,GAAG;IACH,SAAS,CACP,GAAG,aAAa,QAAQ,MAAM,GAAG,GAAG,EACpC;KAAE,GAAG;KAAY,eAAe,EAAE,MAAM,aAAa;KAAE,CACxD;IACF,CACF;AAED,OAAI,MACF,SAAQ,IACN,yEAAyE,cAAc,IACxF;AAGH,UAAO;;AAGT,SAAO;;CAGT,AAAQ,+BACN,UACS;AACT,MAAI,SAAS,WAAW,EAAG,QAAO;EAElC,MAAM,cAAc,SAAS,SAAS,SAAS;EAG/C,MAAM,qBACJ,YAAY,SAAS,UACrB,MAAM,QAAQ,YAAY,QAAQ,IAClC,YAAY,QAAQ,MACjB,YAAiB,QAAQ,SAAS,cACpC;AAIH,MAAI,SAAS,UAAU,KAAK,oBAAoB;GAC9C,MAAM,YAAY,SAAS,MAAM,GAAG;AAcpC,UAZE,UAAU,IAAI,SAAS,UACvB,UAAU,IAAI,SAAS,eACvB,MAAM,QAAQ,UAAU,GAAG,QAAQ,IACnC,UAAU,GAAG,QAAQ,MAClB,YAAiB,QAAQ,SAAS,WACpC,IACD,UAAU,IAAI,SAAS,UACvB,MAAM,QAAQ,UAAU,GAAG,QAAQ,IACnC,UAAU,GAAG,QAAQ,MAClB,YAAiB,QAAQ,SAAS,cACpC;;AAKL,SAAO;;CAGT,MAAM,QACJ,SAC+C;EAC/C,MAAM,EACJ,UACA,QAAQ,KAAK,OACb,UAAU,aACV,SACA,aACA,wBACE;EACJ,MAAM,QAAQ,QAAQ,IAAIC,gDAAkC;EAC5D,MAAM,mBAAmB,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,KAAK,CAAC;EAE5D,MAAM,WAAW,CAAC,GAAG,YAAY;EAGjC,MAAM,sBAAsB,SAAS,OAAO;EAC5C,MAAM,eAAe,oBAAoB,eAAe,GACpD,oBAAoB,UACpB;EAQJ,MAAM,kCAAkB,IAAI,KAAa;AAEzC,OAAK,MAAM,WAAW,SACpB,KAAI,QAAQ,0BAA0B,CACpC,iBAAgB,IAAI,QAAQ,GAAG;EAKnC,MAAM,yCAAyB,IAAI,KAAa;EAwDhD,MAAM,kBAAkBC,wCAHtBC,kDApDwB,SACvB,KAAK,YAAY;AAEhB,OAAI,QAAQ,iBAAiB,EAAE;AAE7B,QAAI,CAAC,gBAAgB,IAAI,QAAQ,kBAAkB,CACjD,QAAO;AAIT,QAAI,uBAAuB,IAAI,QAAQ,kBAAkB,CACvD,QAAO;AAIT,2BAAuB,IAAI,QAAQ,kBAAkB;AAErD,WAAO;KACL,MAAM;KACN,SAAS,CACP;MACE,MAAM;MACN,SAAS,QAAQ,UAAU;MAC3B,aAAa,QAAQ;MACtB,CACF;KACF;;AAIH,UAAOC,+CAAiC,QAAQ;IAChD,CACD,OAAO,QAAQ,CACf,QAAQ,QAAQ;AAEf,OAAI,IAAI,SAAS,eAAe,MAAM,QAAQ,IAAI,QAAQ,CAQxD,QAAO,EANL,IAAI,QAAQ,WAAW,KACvB,IAAI,QAAQ,GAAG,SAAS,WACvB,CAAE,IAAI,QAAQ,GAAW,QACvB,IAAI,QAAQ,GAAW,KAAK,MAAM,KAAK;AAK9C,UAAO;IACP,CAMoD,EAKtD,OACA,OACA,KAAK,eACN;EAGD,MAAM,qBAAqB,KAAK,uBAC9B,cACA,KAAK,cAAc,MACpB;EACD,MAAM,iBAAiB,KAAK,6BAC1B,iBACA,KAAK,cAAc,MACpB;EAKD,IAAI,aAAkB,qBAAqB;AAC3C,MAAI,qBAAqB,eAAe,WACtC,cAAa;GACX,MAAM;GACN,MAAM,oBAAoB;GAC3B;AAGH,MAAI;GACF,MAAM,eAAe;IACnB,QAAQ;IACR,OAAO,KAAK;IACZ,UAAU;IACV,YAAY,qBAAqB,aAAa;IAC9C,GAAI,qBAAqB,cACrB,EAAE,aAAa,oBAAoB,aAAa,GAChD,EAAE;IACN,GAAI,MAAM,SAAS,KAAK,EAAE,OAAO;IACjC,GAAI,cAAc,EAAE,aAAa,YAAY;IAC7C,QAAQ;IACT;GAGD,MAAM,SAAS,MADG,KAAK,iBAAiB,CACT,SAAS,OAAO,aAAa;AAE5D,eAAY,OAAO,OAAO,iBAAiB;IACzC,IAAI,OAAsC;IAC1C,IAAI,gBAAgB;IACpB,IAAI,qDAA6B;IACjC,IAAI,sDAA8B;IAClC,IAAI,2BAA2B,IAAI,0BAA0B;IAC7D,IAAI,qBAAqB;AAEzB,QAAI;AACF,gBAAW,MAAM,SAAS,OACxB,KAAI,MAAM,SAAS,gBACjB,oBAAmB,MAAM,QAAQ;cACxB,MAAM,SAAS,uBACxB;UAAI,MAAM,cAAc,SAAS,QAAQ;AACvC,4BAAqB;AACrB,uBAAgB;AAChB,gCAAyB,OAAO;AAChC,cAAO;iBACE,MAAM,cAAc,SAAS,YAAY;AAClD,WAAI,CAAC,iBAAiB,IAAI,MAAM,cAAc,KAAK,EAAE;AAEnD,eAAO;AACP;;AAEF,4BAAqB;AACrB,2BAAoB,MAAM,cAAc;AACxC,oBAAa,yBAAyB;QACpC,mBAAmB;QACnB,YAAY,MAAM,cAAc;QAChC,iBAAiB;QAClB,CAAC;AACF,cAAO;;gBAEA,MAAM,SAAS,uBAAuB;AAC/C,UAAI,SAAS,KAEX;AAEF,UAAI,MAAM,MAAM,SAAS,cAAc;OACrC,MAAM,OAAO,yBAAyB,YACpC,MAAM,MAAM,KACb;AACD,WAAI,KAAK,SAAS,GAAG;AACnB,YAAI,CAAC,eAAe;AAClB,sBAAa,qBAAqB,EAChC,WAAW,kBACZ,CAAC;AACF,yBAAgB;;AAElB,qBAAa,uBAAuB;SAClC,WAAW;SACX,SAAS;SACV,CAAC;;iBAEK,MAAM,MAAM,SAAS,mBAC9B,cAAa,wBAAwB;OACnC,mBAAmB;OACnB,MAAM,MAAM,MAAM;OACnB,CAAC;gBAEK,MAAM,SAAS,sBACxB;UAAI,SAAS,WACX;WAAI,cACF,cAAa,mBAAmB,EAC9B,WAAW,kBACZ,CAAC;iBAEK,SAAS,WAClB,cAAa,uBAAuB,EAClC,mBAAmB,mBACpB,CAAC;;aAID,OAAO;AACd,WAAMC,+CAA2B,OAAO,YAAY;;AAItD,QACE,CAAC,sBACD,KAAK,+BAA+B,eAAe,EACnD;KAEA,IAAI,kBAAkB;KACtB,MAAM,cAAc,eAAe,eAAe,SAAS;AAC3D,SACE,aAAa,SAAS,UACtB,MAAM,QAAQ,YAAY,QAAQ,EAClC;MACA,MAAM,aAAa,YAAY,QAAQ,MACpC,MAAW,EAAE,SAAS,cACxB;AACD,UACE,YAAY,WACZ,WAAW,YAAY,gCAEvB,mBAAkB,WAAW;;AAIjC,0DAA6B;AAC7B,kBAAa,qBAAqB,EAAE,WAAW,kBAAkB,CAAC;AAClE,kBAAa,uBAAuB;MAClC,WAAW;MACX,SAAS;MACV,CAAC;AACF,kBAAa,mBAAmB,EAAE,WAAW,kBAAkB,CAAC;;AAGlE,iBAAa,UAAU;KACvB;WACK,OAAO;AACd,SAAMA,+CAA2B,OAAO,YAAY;;AAGtD,SAAO,EACL,UAAU,gDAAwB,EACnC;;;AAIL,MAAM,eAAe;AACrB,MAAM,mBAAmB;AAEzB,IAAM,2BAAN,MAA+B;CAI7B,cAAc;8BAF0B;AAGtC,OAAK,SAAS;;CAGhB,YAAY,MAAsB;AAChC,OAAK,UAAU;AACf,MAAI,KAAK,qBACP,QAAO;EAET,MAAM,eAAe,KAAK,OAAO,MAAM,GAAG,GAAoB;AAC9D,MAAI,aAAa,WAAW,aAAa,CACvC,KAAI,KAAK,OAAO,SAAS,iBAAiB,EAAE;GAC1C,MAAM,MAAM,KAAK,OAAO,QAAQ,iBAAiB;GACjD,MAAM,eAAe,KAAK,OAAO,MAAM,MAAM,GAAwB;AACrE,QAAK,SAAS;AACd,QAAK,uBAAuB;AAC5B,UAAO;QAEP,QAAO;AAGX,SAAO;;CAGT,QAAQ;AACN,OAAK,SAAS;AACd,OAAK,uBAAuB"}
1
+ {"version":3,"file":"anthropic-adapter.cjs","names":["getSdkClientOptions","convertActionInputToAnthropicTool","limitMessagesToTokenCount","coalesceConsecutiveSameRoleMessages","convertMessageToAnthropicMessage","convertServiceAdapterError"],"sources":["../../../../src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.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 — AnthropicAdapter:\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 — AnthropicAdapterParams:\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 — AnthropicPromptCachingConfig:\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 * Copilot Runtime adapter for Anthropic.\n *\n * ## Example\n *\n * ```ts\n * import { CopilotRuntime, AnthropicAdapter } from \"@copilotkit/runtime\";\n * import Anthropic from \"@anthropic-ai/sdk\";\n *\n * const copilotKit = new CopilotRuntime();\n *\n * const anthropic = new Anthropic({\n * apiKey: \"<your-api-key>\",\n * });\n *\n * return new AnthropicAdapter({\n * anthropic,\n * promptCaching: {\n * enabled: true,\n * debug: true\n * }\n * });\n * ```\n */\nimport type { LanguageModel } from \"ai\";\nimport { createAnthropic } from \"@ai-sdk/anthropic\";\nimport type Anthropic from \"@anthropic-ai/sdk\";\nimport type {\n CopilotServiceAdapter,\n CopilotRuntimeChatCompletionRequest,\n CopilotRuntimeChatCompletionResponse,\n} from \"../service-adapter\";\nimport {\n convertActionInputToAnthropicTool,\n convertMessageToAnthropicMessage,\n coalesceConsecutiveSameRoleMessages,\n limitMessagesToTokenCount,\n} from \"./utils\";\n\nimport { randomId, randomUUID } from \"@copilotkit/shared\";\nimport type { SdkClientLike } from \"../shared\";\nimport { convertServiceAdapterError, getSdkClientOptions } from \"../shared\";\n\nconst DEFAULT_MODEL = \"claude-opus-4-8\";\n\nexport interface AnthropicPromptCachingConfig {\n /**\n * Whether to enable prompt caching.\n */\n enabled: boolean;\n\n /**\n * Whether to enable debug logging for cache operations.\n */\n debug?: boolean;\n}\n\nexport interface AnthropicAdapterParams {\n /**\n * An optional Anthropic instance to use. If not provided, a new instance will be\n * created.\n */\n anthropic?: SdkClientLike;\n\n /**\n * The model to use.\n */\n model?: string;\n\n /**\n * Configuration for prompt caching.\n * See: https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching\n */\n promptCaching?: AnthropicPromptCachingConfig;\n\n /**\n * Optional maximum input token limit. Overrides the default limit\n * used when trimming messages to fit the context window.\n */\n maxInputTokens?: number;\n}\n\nexport class AnthropicAdapter implements CopilotServiceAdapter {\n public model: string = DEFAULT_MODEL;\n public provider = \"anthropic\";\n private promptCaching: AnthropicPromptCachingConfig;\n private maxInputTokens?: number;\n\n private _anthropic: SdkClientLike;\n public get anthropic(): SdkClientLike {\n return this._anthropic;\n }\n public get name() {\n return \"AnthropicAdapter\";\n }\n\n constructor(params?: AnthropicAdapterParams) {\n if (params?.anthropic) {\n this._anthropic = params.anthropic;\n }\n // If no instance provided, we'll lazy-load in ensureAnthropic()\n if (params?.model) {\n this.model = params.model;\n }\n this.promptCaching = params?.promptCaching || { enabled: false };\n this.maxInputTokens = params?.maxInputTokens;\n }\n\n getLanguageModel(): LanguageModel {\n const anthropic = this.ensureAnthropic();\n const options = getSdkClientOptions(anthropic);\n const provider = createAnthropic({\n baseURL: anthropic.baseURL,\n apiKey: anthropic.apiKey,\n headers: options.defaultHeaders,\n fetch: options.fetch,\n });\n return provider(this.model);\n }\n\n private ensureAnthropic(): SdkClientLike {\n if (!this._anthropic) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const Anthropic = require(\"@anthropic-ai/sdk\").default;\n this._anthropic = new Anthropic({});\n }\n return this._anthropic;\n }\n\n /**\n * Adds cache control to system prompt\n */\n private addSystemPromptCaching(\n system: string,\n debug: boolean = false,\n ):\n | string\n | Array<{\n type: \"text\";\n text: string;\n cache_control?: { type: \"ephemeral\" };\n }> {\n if (!this.promptCaching.enabled || !system) {\n return system;\n }\n\n const originalTextLength = system.length;\n\n if (debug) {\n console.log(\n `[ANTHROPIC CACHE DEBUG] Added cache control to system prompt (${originalTextLength} chars).`,\n );\n }\n\n return [\n {\n type: \"text\",\n text: system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n\n /**\n * Adds cache control to the final message\n */\n private addIncrementalMessageCaching(\n messages: Anthropic.Messages.MessageParam[],\n debug: boolean = false,\n ): any[] {\n if (!this.promptCaching.enabled || messages.length === 0) {\n return messages;\n }\n\n const finalMessage = messages[messages.length - 1];\n const messageNumber = messages.length;\n\n if (\n Array.isArray(finalMessage.content) &&\n finalMessage.content.length > 0\n ) {\n const finalBlock = finalMessage.content[finalMessage.content.length - 1];\n\n const updatedMessages = [\n ...messages.slice(0, -1),\n {\n ...finalMessage,\n content: [\n ...finalMessage.content.slice(0, -1),\n { ...finalBlock, cache_control: { type: \"ephemeral\" } } as any,\n ],\n },\n ];\n\n if (debug) {\n console.log(\n `[ANTHROPIC CACHE DEBUG] Added cache control to final message (message ${messageNumber}).`,\n );\n }\n\n return updatedMessages;\n }\n\n return messages;\n }\n\n private shouldGenerateFallbackResponse(\n messages: Anthropic.Messages.MessageParam[],\n ): boolean {\n if (messages.length === 0) return false;\n\n const lastMessage = messages[messages.length - 1];\n\n // Check if the last message is a tool result\n const endsWithToolResult =\n lastMessage.role === \"user\" &&\n Array.isArray(lastMessage.content) &&\n lastMessage.content.some(\n (content: any) => content.type === \"tool_result\",\n );\n\n // Also check if we have a recent pattern of user message -> assistant tool use -> user tool result\n // This indicates a completed action that might not need a response\n if (messages.length >= 3 && endsWithToolResult) {\n const lastThree = messages.slice(-3);\n const hasRecentToolPattern =\n lastThree[0]?.role === \"user\" && // Initial user message\n lastThree[1]?.role === \"assistant\" && // Assistant tool use\n Array.isArray(lastThree[1].content) &&\n lastThree[1].content.some(\n (content: any) => content.type === \"tool_use\",\n ) &&\n lastThree[2]?.role === \"user\" && // Tool result\n Array.isArray(lastThree[2].content) &&\n lastThree[2].content.some(\n (content: any) => content.type === \"tool_result\",\n );\n\n return hasRecentToolPattern;\n }\n\n return endsWithToolResult;\n }\n\n async process(\n request: CopilotRuntimeChatCompletionRequest,\n ): Promise<CopilotRuntimeChatCompletionResponse> {\n const {\n threadId,\n model = this.model,\n messages: rawMessages,\n actions,\n eventSource,\n forwardedParameters,\n } = request;\n const tools = actions.map(convertActionInputToAnthropicTool);\n const knownActionNames = new Set(actions.map((a) => a.name));\n\n const messages = [...rawMessages];\n\n // get the instruction message\n const instructionsMessage = messages.shift();\n const instructions = instructionsMessage.isTextMessage()\n ? instructionsMessage.content\n : \"\";\n\n // ALLOWLIST APPROACH:\n // 1. First, identify all valid tool_use calls (from assistant)\n // 2. Then, only keep tool_result blocks that correspond to these valid tool_use IDs\n // 3. Discard any other tool_result blocks\n\n // Step 1: Extract valid tool_use IDs\n const validToolUseIds = new Set<string>();\n\n for (const message of messages) {\n if (message.isActionExecutionMessage()) {\n validToolUseIds.add(message.id);\n }\n }\n\n // Step 2: Map each message to an Anthropic message, eliminating invalid tool_results\n const processedToolResultIds = new Set<string>();\n const anthropicMessages = messages\n .map((message) => {\n // For tool results, only include if they match a valid tool_use ID AND haven't been processed\n if (message.isResultMessage()) {\n // Skip if there's no corresponding tool_use\n if (!validToolUseIds.has(message.actionExecutionId)) {\n return null; // Will be filtered out later\n }\n\n // Skip if we've already processed a result for this tool_use ID\n if (processedToolResultIds.has(message.actionExecutionId)) {\n return null; // Will be filtered out later\n }\n\n // Mark this tool result as processed\n processedToolResultIds.add(message.actionExecutionId);\n\n return {\n role: \"user\",\n content: [\n {\n type: \"tool_result\",\n content: message.result || \"Action completed successfully\",\n tool_use_id: message.actionExecutionId,\n },\n ],\n };\n }\n\n // For non-tool-result messages, convert normally\n return convertMessageToAnthropicMessage(message);\n })\n .filter(Boolean) // Remove nulls\n .filter((msg) => {\n // Filter out assistant messages with empty text content\n if (msg.role === \"assistant\" && Array.isArray(msg.content)) {\n const hasEmptyTextOnly =\n msg.content.length === 1 &&\n msg.content[0].type === \"text\" &&\n (!(msg.content[0] as any).text ||\n (msg.content[0] as any).text.trim() === \"\");\n\n // Keep messages that have tool_use or non-empty text\n return !hasEmptyTextOnly;\n }\n return true;\n }) as Anthropic.Messages.MessageParam[];\n\n // Coalesce consecutive same-role messages so the Anthropic API receives alternating turns.\n // A mixed text+tool_use response is stored as separate TextMessage / ActionExecutionMessage\n // objects; they must be merged into one assistant message before dispatch.\n const coalescedMessages =\n coalesceConsecutiveSameRoleMessages(anthropicMessages);\n\n // Apply token limits\n const limitedMessages = limitMessagesToTokenCount(\n coalescedMessages,\n tools,\n model,\n this.maxInputTokens,\n );\n\n // Apply prompt caching if enabled\n const cachedSystemPrompt = this.addSystemPromptCaching(\n instructions,\n this.promptCaching.debug,\n );\n const cachedMessages = this.addIncrementalMessageCaching(\n limitedMessages,\n this.promptCaching.debug,\n );\n\n // We'll check if we need a fallback response after seeing what Anthropic returns\n // Role alternation is now enforced by coalesceConsecutiveSameRoleMessages above.\n\n let toolChoice: any = forwardedParameters?.toolChoice;\n if (forwardedParameters?.toolChoice === \"function\") {\n toolChoice = {\n type: \"tool\",\n name: forwardedParameters.toolChoiceFunctionName,\n };\n }\n\n try {\n const createParams = {\n system: cachedSystemPrompt,\n model,\n messages: cachedMessages,\n max_tokens: forwardedParameters?.maxTokens || 4096,\n ...(forwardedParameters?.temperature\n ? { temperature: forwardedParameters.temperature }\n : {}),\n ...(tools.length > 0 && { tools }),\n ...(toolChoice && { tool_choice: toolChoice }),\n stream: true,\n };\n\n // The public surface is structural so consumers who skip the optional\n // peer can still compile (see SdkClientLike); the SDK type is only\n // reachable here, inside a function body, where it is never emitted.\n const anthropic = this.ensureAnthropic() as Anthropic;\n const stream = await anthropic.messages.create(createParams);\n\n eventSource.stream(async (eventStream$) => {\n let mode: \"function\" | \"message\" | null = null;\n let didOutputText = false;\n let currentMessageId = randomId();\n let currentToolCallId = randomId();\n let filterThinkingTextBuffer = new FilterThinkingTextBuffer();\n let hasReceivedContent = false;\n\n try {\n for await (const chunk of stream as AsyncIterable<any>) {\n if (chunk.type === \"message_start\") {\n currentMessageId = chunk.message.id;\n } else if (chunk.type === \"content_block_start\") {\n if (chunk.content_block.type === \"text\") {\n hasReceivedContent = true;\n didOutputText = false;\n filterThinkingTextBuffer.reset();\n mode = \"message\";\n } else if (chunk.content_block.type === \"tool_use\") {\n if (!knownActionNames.has(chunk.content_block.name)) {\n // Unknown tool - skip execution to prevent crashes\n mode = null;\n continue;\n }\n hasReceivedContent = true;\n currentToolCallId = chunk.content_block.id;\n eventStream$.sendActionExecutionStart({\n actionExecutionId: currentToolCallId,\n actionName: chunk.content_block.name,\n parentMessageId: currentMessageId,\n });\n mode = \"function\";\n }\n } else if (chunk.type === \"content_block_delta\") {\n if (mode === null) {\n // Skip deltas for unknown/skipped content blocks\n continue;\n }\n if (chunk.delta.type === \"text_delta\") {\n const text = filterThinkingTextBuffer.onTextChunk(\n chunk.delta.text,\n );\n if (text.length > 0) {\n if (!didOutputText) {\n eventStream$.sendTextMessageStart({\n messageId: currentMessageId,\n });\n didOutputText = true;\n }\n eventStream$.sendTextMessageContent({\n messageId: currentMessageId,\n content: text,\n });\n }\n } else if (chunk.delta.type === \"input_json_delta\") {\n eventStream$.sendActionExecutionArgs({\n actionExecutionId: currentToolCallId,\n args: chunk.delta.partial_json,\n });\n }\n } else if (chunk.type === \"content_block_stop\") {\n if (mode === \"message\") {\n if (didOutputText) {\n eventStream$.sendTextMessageEnd({\n messageId: currentMessageId,\n });\n }\n } else if (mode === \"function\") {\n eventStream$.sendActionExecutionEnd({\n actionExecutionId: currentToolCallId,\n });\n }\n }\n }\n } catch (error) {\n throw convertServiceAdapterError(error, \"Anthropic\");\n }\n\n // Generate fallback response only if Anthropic produced no content\n if (\n !hasReceivedContent &&\n this.shouldGenerateFallbackResponse(cachedMessages)\n ) {\n // Extract the tool result content for a more contextual response\n let fallbackContent = \"Task completed successfully.\";\n const lastMessage = cachedMessages[cachedMessages.length - 1];\n if (\n lastMessage?.role === \"user\" &&\n Array.isArray(lastMessage.content)\n ) {\n const toolResult = lastMessage.content.find(\n (c: any) => c.type === \"tool_result\",\n );\n if (\n toolResult?.content &&\n toolResult.content !== \"Action completed successfully\"\n ) {\n fallbackContent = toolResult.content;\n }\n }\n\n currentMessageId = randomId();\n eventStream$.sendTextMessageStart({ messageId: currentMessageId });\n eventStream$.sendTextMessageContent({\n messageId: currentMessageId,\n content: fallbackContent,\n });\n eventStream$.sendTextMessageEnd({ messageId: currentMessageId });\n }\n\n eventStream$.complete();\n });\n } catch (error) {\n throw convertServiceAdapterError(error, \"Anthropic\");\n }\n\n return {\n threadId: threadId || randomUUID(),\n };\n }\n}\n\nconst THINKING_TAG = \"<thinking>\";\nconst THINKING_TAG_END = \"</thinking>\";\n\nclass FilterThinkingTextBuffer {\n private buffer: string;\n private didFilterThinkingTag: boolean = false;\n\n constructor() {\n this.buffer = \"\";\n }\n\n onTextChunk(text: string): string {\n this.buffer += text;\n if (this.didFilterThinkingTag) {\n return text;\n }\n const potentialTag = this.buffer.slice(0, THINKING_TAG.length);\n if (THINKING_TAG.startsWith(potentialTag)) {\n if (this.buffer.includes(THINKING_TAG_END)) {\n const end = this.buffer.indexOf(THINKING_TAG_END);\n const filteredText = this.buffer.slice(end + THINKING_TAG_END.length);\n this.buffer = filteredText;\n this.didFilterThinkingTag = true;\n return filteredText;\n } else {\n return \"\";\n }\n }\n return text;\n }\n\n reset() {\n this.buffer = \"\";\n this.didFilterThinkingTag = false;\n }\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- require("reflect-metadata");
1
+
2
2
  import { CopilotRuntimeChatCompletionRequest, CopilotRuntimeChatCompletionResponse, CopilotServiceAdapter } from "../service-adapter.cjs";
3
+ import { SdkClientLike } from "../shared/sdk-client-utils.cjs";
3
4
  import { LanguageModel } from "ai";
4
- import Anthropic from "@anthropic-ai/sdk";
5
5
 
6
- //#region src/service-adapters/anthropic/anthropic-adapter.d.ts
6
+ //#region src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.d.ts
7
7
  interface AnthropicPromptCachingConfig {
8
8
  /**
9
9
  * Whether to enable prompt caching.
@@ -19,7 +19,7 @@ interface AnthropicAdapterParams {
19
19
  * An optional Anthropic instance to use. If not provided, a new instance will be
20
20
  * created.
21
21
  */
22
- anthropic?: Anthropic;
22
+ anthropic?: SdkClientLike;
23
23
  /**
24
24
  * The model to use.
25
25
  */
@@ -41,7 +41,7 @@ declare class AnthropicAdapter implements CopilotServiceAdapter {
41
41
  private promptCaching;
42
42
  private maxInputTokens?;
43
43
  private _anthropic;
44
- get anthropic(): Anthropic;
44
+ get anthropic(): SdkClientLike;
45
45
  get name(): string;
46
46
  constructor(params?: AnthropicAdapterParams);
47
47
  getLanguageModel(): LanguageModel;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-adapter.d.cts","names":[],"sources":["../../../src/service-adapters/anthropic/anthropic-adapter.ts"],"mappings":";;;;;;UA4CiB,4BAAA;EAwMJ;;;EApMX,OAAA;EAiC4D;;;EA5B5D,KAAA;AAAA;AAAA,UAGe,sBAAA;EA6BP;;;;EAxBR,SAAA,GAAY,SAAA;;;;EAKZ,KAAA;EAyCoB;;;;EAnCpB,aAAA,GAAgB,4BAAA;EA2KV;;;;EArKN,cAAA;AAAA;AAAA,cAGW,gBAAA,YAA4B,qBAAA;EAChC,KAAA;EACA,QAAA;EAAA,QACC,aAAA;EAAA,QACA,cAAA;EAAA,QAEA,UAAA;EAAA,IACG,SAAA,CAAA,GAAa,SAAA;EAAA,IAGb,IAAA,CAAA;cAIC,MAAA,GAAS,sBAAA;EAYrB,gBAAA,CAAA,GAAoB,aAAA;EAAA,QAYZ,eAAA;;;;UAYA,sBAAA;;;;UAkCA,4BAAA;EAAA,QAwCA,8BAAA;EAsCF,OAAA,CACJ,OAAA,EAAS,mCAAA,GACR,OAAA,CAAQ,oCAAA;AAAA"}
1
+ {"version":3,"file":"anthropic-adapter.d.cts","names":[],"sources":["../../../../src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.ts"],"mappings":";;;;;;UA8EiB,4BAAA;EAwMJ;;;EApMX,OAAA;EAiC4D;;;EA5B5D,KAAA;AAAA;AAAA,UAGe,sBAAA;EA6BP;;;;EAxBR,SAAA,GAAY,aAAA;;;;EAKZ,KAAA;EAyCoB;;;;EAnCpB,aAAA,GAAgB,4BAAA;EA2KV;;;;EArKN,cAAA;AAAA;AAAA,cAGW,gBAAA,YAA4B,qBAAA;EAChC,KAAA;EACA,QAAA;EAAA,QACC,aAAA;EAAA,QACA,cAAA;EAAA,QAEA,UAAA;EAAA,IACG,SAAA,CAAA,GAAa,aAAA;EAAA,IAGb,IAAA,CAAA;cAIC,MAAA,GAAS,sBAAA;EAYrB,gBAAA,CAAA,GAAoB,aAAA;EAAA,QAYZ,eAAA;;;;UAYA,sBAAA;;;;UAkCA,4BAAA;EAAA,QAwCA,8BAAA;EAsCF,OAAA,CACJ,OAAA,EAAS,mCAAA,GACR,OAAA,CAAQ,oCAAA;AAAA"}
@@ -1,9 +1,10 @@
1
- import "reflect-metadata";
1
+
2
2
  import { CopilotRuntimeChatCompletionRequest, CopilotRuntimeChatCompletionResponse, CopilotServiceAdapter } from "../service-adapter.mjs";
3
+ import { SdkClientLike } from "../shared/sdk-client-utils.mjs";
4
+ import "../shared/index.mjs";
3
5
  import { LanguageModel } from "ai";
4
- import Anthropic from "@anthropic-ai/sdk";
5
6
 
6
- //#region src/service-adapters/anthropic/anthropic-adapter.d.ts
7
+ //#region src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.d.ts
7
8
  interface AnthropicPromptCachingConfig {
8
9
  /**
9
10
  * Whether to enable prompt caching.
@@ -19,7 +20,7 @@ interface AnthropicAdapterParams {
19
20
  * An optional Anthropic instance to use. If not provided, a new instance will be
20
21
  * created.
21
22
  */
22
- anthropic?: Anthropic;
23
+ anthropic?: SdkClientLike;
23
24
  /**
24
25
  * The model to use.
25
26
  */
@@ -41,7 +42,7 @@ declare class AnthropicAdapter implements CopilotServiceAdapter {
41
42
  private promptCaching;
42
43
  private maxInputTokens?;
43
44
  private _anthropic;
44
- get anthropic(): Anthropic;
45
+ get anthropic(): SdkClientLike;
45
46
  get name(): string;
46
47
  constructor(params?: AnthropicAdapterParams);
47
48
  getLanguageModel(): LanguageModel;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-adapter.d.mts","names":[],"sources":["../../../src/service-adapters/anthropic/anthropic-adapter.ts"],"mappings":";;;;;;UA4CiB,4BAAA;EAwMJ;;;EApMX,OAAA;EAiC4D;;;EA5B5D,KAAA;AAAA;AAAA,UAGe,sBAAA;EA6BP;;;;EAxBR,SAAA,GAAY,SAAA;;;;EAKZ,KAAA;EAyCoB;;;;EAnCpB,aAAA,GAAgB,4BAAA;EA2KV;;;;EArKN,cAAA;AAAA;AAAA,cAGW,gBAAA,YAA4B,qBAAA;EAChC,KAAA;EACA,QAAA;EAAA,QACC,aAAA;EAAA,QACA,cAAA;EAAA,QAEA,UAAA;EAAA,IACG,SAAA,CAAA,GAAa,SAAA;EAAA,IAGb,IAAA,CAAA;cAIC,MAAA,GAAS,sBAAA;EAYrB,gBAAA,CAAA,GAAoB,aAAA;EAAA,QAYZ,eAAA;;;;UAYA,sBAAA;;;;UAkCA,4BAAA;EAAA,QAwCA,8BAAA;EAsCF,OAAA,CACJ,OAAA,EAAS,mCAAA,GACR,OAAA,CAAQ,oCAAA;AAAA"}
1
+ {"version":3,"file":"anthropic-adapter.d.mts","names":[],"sources":["../../../../src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.ts"],"mappings":";;;;;;;UA8EiB,4BAAA;EA+DK;;;EA3DpB,OAAA;EAiCuC;;;EA5BvC,KAAA;AAAA;AAAA,UAGe,sBAAA;EA4BP;;;;EAvBR,SAAA,GAAY,aAAA;EA8BD;;;EAzBX,KAAA;EAyCA;;;;EAnCA,aAAA,GAAgB,4BAAA;EAqIR;;;;EA/HR,cAAA;AAAA;AAAA,cAGW,gBAAA,YAA4B,qBAAA;EAChC,KAAA;EACA,QAAA;EAAA,QACC,aAAA;EAAA,QACA,cAAA;EAAA,QAEA,UAAA;EAAA,IACG,SAAA,CAAA,GAAa,aAAA;EAAA,IAGb,IAAA,CAAA;cAIC,MAAA,GAAS,sBAAA;EAYrB,gBAAA,CAAA,GAAoB,aAAA;EAAA,QAYZ,eAAA;;;;UAYA,sBAAA;;;;UAkCA,4BAAA;EAAA,QAwCA,8BAAA;EAsCF,OAAA,CACJ,OAAA,EAAS,mCAAA,GACR,OAAA,CAAQ,oCAAA;AAAA"}
@@ -6,8 +6,8 @@ import { coalesceConsecutiveSameRoleMessages, convertActionInputToAnthropicTool,
6
6
  import { randomId, randomUUID } from "@copilotkit/shared";
7
7
  import { createAnthropic } from "@ai-sdk/anthropic";
8
8
 
9
- //#region src/service-adapters/anthropic/anthropic-adapter.ts
10
- const DEFAULT_MODEL = "claude-3-5-sonnet-latest";
9
+ //#region src/v1-deprecated/service-adapters/anthropic/anthropic-adapter.ts
10
+ const DEFAULT_MODEL = "claude-opus-4-8";
11
11
  var AnthropicAdapter = class {
12
12
  get anthropic() {
13
13
  return this._anthropic;
@@ -123,7 +123,7 @@ var AnthropicAdapter = class {
123
123
  try {
124
124
  const createParams = {
125
125
  system: cachedSystemPrompt,
126
- model: this.model,
126
+ model,
127
127
  messages: cachedMessages,
128
128
  max_tokens: forwardedParameters?.maxTokens || 4096,
129
129
  ...forwardedParameters?.temperature ? { temperature: forwardedParameters.temperature } : {},