@copilotkit/runtime 1.50.0 → 1.50.1-next.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 (224) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/index.d.ts +5 -1
  3. package/dist/index.js +10 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +10 -4
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +2 -2
  8. package/src/service-adapters/google/google-genai-adapter.ts +19 -4
  9. package/dist/chunk-27JKTS6P.mjs +0 -1704
  10. package/dist/chunk-27JKTS6P.mjs.map +0 -1
  11. package/dist/chunk-2GPTVDTO.mjs +0 -25
  12. package/dist/chunk-2GPTVDTO.mjs.map +0 -1
  13. package/dist/chunk-2OZAGFV3.mjs +0 -43
  14. package/dist/chunk-2OZAGFV3.mjs.map +0 -1
  15. package/dist/chunk-3AJVKDZX.mjs +0 -3097
  16. package/dist/chunk-3AJVKDZX.mjs.map +0 -1
  17. package/dist/chunk-45RCC3ZS.mjs +0 -25
  18. package/dist/chunk-45RCC3ZS.mjs.map +0 -1
  19. package/dist/chunk-4EHJ4XFJ.mjs +0 -25
  20. package/dist/chunk-4EHJ4XFJ.mjs.map +0 -1
  21. package/dist/chunk-4IANB4TC.mjs +0 -25
  22. package/dist/chunk-4IANB4TC.mjs.map +0 -1
  23. package/dist/chunk-4KES76K3.mjs +0 -74
  24. package/dist/chunk-4KES76K3.mjs.map +0 -1
  25. package/dist/chunk-4OGE3SLW.mjs +0 -3100
  26. package/dist/chunk-4OGE3SLW.mjs.map +0 -1
  27. package/dist/chunk-54YJBMCP.mjs +0 -3097
  28. package/dist/chunk-54YJBMCP.mjs.map +0 -1
  29. package/dist/chunk-62NE5S6M.mjs +0 -226
  30. package/dist/chunk-62NE5S6M.mjs.map +0 -1
  31. package/dist/chunk-6ER4SZYH.mjs +0 -74
  32. package/dist/chunk-6ER4SZYH.mjs.map +0 -1
  33. package/dist/chunk-6TNSLHVR.mjs +0 -74
  34. package/dist/chunk-6TNSLHVR.mjs.map +0 -1
  35. package/dist/chunk-6XRUR5UK.mjs +0 -1
  36. package/dist/chunk-6XRUR5UK.mjs.map +0 -1
  37. package/dist/chunk-7V4BK7TZ.mjs +0 -25
  38. package/dist/chunk-7V4BK7TZ.mjs.map +0 -1
  39. package/dist/chunk-7YZIEXD2.mjs +0 -74
  40. package/dist/chunk-7YZIEXD2.mjs.map +0 -1
  41. package/dist/chunk-A4XHOAFU.mjs +0 -25
  42. package/dist/chunk-A4XHOAFU.mjs.map +0 -1
  43. package/dist/chunk-A555KEAD.mjs +0 -6020
  44. package/dist/chunk-A555KEAD.mjs.map +0 -1
  45. package/dist/chunk-AF73TFTX.mjs +0 -74
  46. package/dist/chunk-AF73TFTX.mjs.map +0 -1
  47. package/dist/chunk-AMUJQ6IR.mjs +0 -50
  48. package/dist/chunk-AMUJQ6IR.mjs.map +0 -1
  49. package/dist/chunk-AQG2SVCA.mjs +0 -25
  50. package/dist/chunk-AQG2SVCA.mjs.map +0 -1
  51. package/dist/chunk-BJZHMXND.mjs +0 -74
  52. package/dist/chunk-BJZHMXND.mjs.map +0 -1
  53. package/dist/chunk-CB2OJXF6.mjs +0 -25
  54. package/dist/chunk-CB2OJXF6.mjs.map +0 -1
  55. package/dist/chunk-CEOMFPJU.mjs +0 -6020
  56. package/dist/chunk-CEOMFPJU.mjs.map +0 -1
  57. package/dist/chunk-CZVLR7CC.mjs +0 -175
  58. package/dist/chunk-CZVLR7CC.mjs.map +0 -1
  59. package/dist/chunk-DCEEHMLJ.mjs +0 -1127
  60. package/dist/chunk-DCEEHMLJ.mjs.map +0 -1
  61. package/dist/chunk-DE3CLKUG.mjs +0 -25
  62. package/dist/chunk-DE3CLKUG.mjs.map +0 -1
  63. package/dist/chunk-DTPRUTNV.mjs +0 -25
  64. package/dist/chunk-DTPRUTNV.mjs.map +0 -1
  65. package/dist/chunk-ERUOA47O.mjs +0 -626
  66. package/dist/chunk-ERUOA47O.mjs.map +0 -1
  67. package/dist/chunk-ESSRC64W.mjs +0 -74
  68. package/dist/chunk-ESSRC64W.mjs.map +0 -1
  69. package/dist/chunk-FHD4JECV.mjs +0 -33
  70. package/dist/chunk-FHD4JECV.mjs.map +0 -1
  71. package/dist/chunk-GRAN6K6N.mjs +0 -25
  72. package/dist/chunk-GRAN6K6N.mjs.map +0 -1
  73. package/dist/chunk-I27F2UPA.mjs +0 -175
  74. package/dist/chunk-I27F2UPA.mjs.map +0 -1
  75. package/dist/chunk-IAZKTOQW.mjs +0 -25
  76. package/dist/chunk-IAZKTOQW.mjs.map +0 -1
  77. package/dist/chunk-J6XZ5MFB.mjs +0 -25
  78. package/dist/chunk-J6XZ5MFB.mjs.map +0 -1
  79. package/dist/chunk-JJ32MA4C.mjs +0 -73
  80. package/dist/chunk-JJ32MA4C.mjs.map +0 -1
  81. package/dist/chunk-JJY4ZTHQ.mjs +0 -25
  82. package/dist/chunk-JJY4ZTHQ.mjs.map +0 -1
  83. package/dist/chunk-KEYLBFU2.mjs +0 -3117
  84. package/dist/chunk-KEYLBFU2.mjs.map +0 -1
  85. package/dist/chunk-KQ53L4WZ.mjs +0 -3094
  86. package/dist/chunk-KQ53L4WZ.mjs.map +0 -1
  87. package/dist/chunk-KTELVQ67.mjs +0 -3098
  88. package/dist/chunk-KTELVQ67.mjs.map +0 -1
  89. package/dist/chunk-LPEPX6NH.mjs +0 -25
  90. package/dist/chunk-LPEPX6NH.mjs.map +0 -1
  91. package/dist/chunk-MDXE55DK.mjs +0 -3117
  92. package/dist/chunk-MDXE55DK.mjs.map +0 -1
  93. package/dist/chunk-MMFUVOXH.mjs +0 -73
  94. package/dist/chunk-MMFUVOXH.mjs.map +0 -1
  95. package/dist/chunk-N3Y4U66N.mjs +0 -253
  96. package/dist/chunk-N3Y4U66N.mjs.map +0 -1
  97. package/dist/chunk-O7UYB4MH.mjs +0 -25
  98. package/dist/chunk-O7UYB4MH.mjs.map +0 -1
  99. package/dist/chunk-OFNVQHNM.mjs +0 -3089
  100. package/dist/chunk-OFNVQHNM.mjs.map +0 -1
  101. package/dist/chunk-OFSV5GET.mjs +0 -3074
  102. package/dist/chunk-OFSV5GET.mjs.map +0 -1
  103. package/dist/chunk-OMRST67R.mjs +0 -25
  104. package/dist/chunk-OMRST67R.mjs.map +0 -1
  105. package/dist/chunk-OWIGJONH.mjs +0 -275
  106. package/dist/chunk-OWIGJONH.mjs.map +0 -1
  107. package/dist/chunk-PRZHE74A.mjs +0 -25
  108. package/dist/chunk-PRZHE74A.mjs.map +0 -1
  109. package/dist/chunk-PTYRVXXP.mjs +0 -80
  110. package/dist/chunk-PTYRVXXP.mjs.map +0 -1
  111. package/dist/chunk-R22B5CCO.mjs +0 -25
  112. package/dist/chunk-R22B5CCO.mjs.map +0 -1
  113. package/dist/chunk-SHBDMA63.mjs +0 -141
  114. package/dist/chunk-SHBDMA63.mjs.map +0 -1
  115. package/dist/chunk-SPVXBPRA.mjs +0 -74
  116. package/dist/chunk-SPVXBPRA.mjs.map +0 -1
  117. package/dist/chunk-T72G46ME.mjs +0 -25
  118. package/dist/chunk-T72G46ME.mjs.map +0 -1
  119. package/dist/chunk-TGELROPU.mjs +0 -25
  120. package/dist/chunk-TGELROPU.mjs.map +0 -1
  121. package/dist/chunk-UNX4IAAD.mjs +0 -25
  122. package/dist/chunk-UNX4IAAD.mjs.map +0 -1
  123. package/dist/chunk-V4DHVC7M.mjs +0 -3085
  124. package/dist/chunk-V4DHVC7M.mjs.map +0 -1
  125. package/dist/chunk-VVRFOB66.mjs +0 -25
  126. package/dist/chunk-VVRFOB66.mjs.map +0 -1
  127. package/dist/chunk-W6NVBYM6.mjs +0 -80
  128. package/dist/chunk-W6NVBYM6.mjs.map +0 -1
  129. package/dist/chunk-W7MBACGC.mjs +0 -74
  130. package/dist/chunk-W7MBACGC.mjs.map +0 -1
  131. package/dist/chunk-WMD4XZZS.mjs +0 -25
  132. package/dist/chunk-WMD4XZZS.mjs.map +0 -1
  133. package/dist/chunk-WX2ZNCRT.mjs +0 -74
  134. package/dist/chunk-WX2ZNCRT.mjs.map +0 -1
  135. package/dist/chunk-XWBDEXDA.mjs +0 -153
  136. package/dist/chunk-XWBDEXDA.mjs.map +0 -1
  137. package/dist/chunk-Y2Z62E2T.mjs +0 -74
  138. package/dist/chunk-Y2Z62E2T.mjs.map +0 -1
  139. package/dist/chunk-YO4I6RVI.mjs +0 -25
  140. package/dist/chunk-YO4I6RVI.mjs.map +0 -1
  141. package/dist/chunk-Z6Q5IW6I.mjs +0 -3098
  142. package/dist/chunk-Z6Q5IW6I.mjs.map +0 -1
  143. package/dist/chunk-Z726O3G2.mjs +0 -25
  144. package/dist/chunk-Z726O3G2.mjs.map +0 -1
  145. package/dist/chunk-ZE4SMZZR.mjs +0 -3097
  146. package/dist/chunk-ZE4SMZZR.mjs.map +0 -1
  147. package/dist/chunk-ZULZB33C.mjs +0 -73
  148. package/dist/chunk-ZULZB33C.mjs.map +0 -1
  149. package/dist/chunk-ZVRGXMY7.mjs +0 -25
  150. package/dist/chunk-ZVRGXMY7.mjs.map +0 -1
  151. package/dist/chunk-ZZ35WBYQ.mjs +0 -25
  152. package/dist/chunk-ZZ35WBYQ.mjs.map +0 -1
  153. package/dist/graphql/message-conversion/index.d.ts +0 -18
  154. package/dist/graphql/message-conversion/index.js +0 -725
  155. package/dist/graphql/message-conversion/index.js.map +0 -1
  156. package/dist/graphql/message-conversion/index.mjs +0 -245
  157. package/dist/graphql/message-conversion/index.mjs.map +0 -1
  158. package/dist/graphql/types/base/index.d.ts +0 -6
  159. package/dist/graphql/types/base/index.js +0 -63
  160. package/dist/graphql/types/base/index.js.map +0 -1
  161. package/dist/graphql/types/base/index.mjs +0 -8
  162. package/dist/graphql/types/base/index.mjs.map +0 -1
  163. package/dist/graphql/types/converted/index.d.ts +0 -2
  164. package/dist/graphql/types/converted/index.js +0 -200
  165. package/dist/graphql/types/converted/index.js.map +0 -1
  166. package/dist/graphql/types/converted/index.mjs +0 -19
  167. package/dist/graphql/types/converted/index.mjs.map +0 -1
  168. package/dist/groq-adapter-540da9c3.d.ts +0 -331
  169. package/dist/groq-adapter-a6f5e9d2.d.ts +0 -331
  170. package/dist/groq-adapter-c8aec5c5.d.ts +0 -321
  171. package/dist/index-96b330da.d.ts +0 -119
  172. package/dist/index-adbd78f1.d.ts +0 -154
  173. package/dist/langserve-0c6100e3.d.ts +0 -257
  174. package/dist/langserve-978d5790.d.ts +0 -243
  175. package/dist/langserve-9fc76ce5.d.ts +0 -243
  176. package/dist/lib/cloud/index.d.ts +0 -6
  177. package/dist/lib/cloud/index.js +0 -18
  178. package/dist/lib/cloud/index.js.map +0 -1
  179. package/dist/lib/cloud/index.mjs +0 -1
  180. package/dist/lib/cloud/index.mjs.map +0 -1
  181. package/dist/lib/index.d.ts +0 -212
  182. package/dist/lib/index.js +0 -7843
  183. package/dist/lib/index.js.map +0 -1
  184. package/dist/lib/index.mjs +0 -76
  185. package/dist/lib/index.mjs.map +0 -1
  186. package/dist/lib/integrations/index.d.ts +0 -34
  187. package/dist/lib/integrations/index.js +0 -3052
  188. package/dist/lib/integrations/index.js.map +0 -1
  189. package/dist/lib/integrations/index.mjs +0 -37
  190. package/dist/lib/integrations/index.mjs.map +0 -1
  191. package/dist/lib/integrations/nest/index.d.ts +0 -15
  192. package/dist/lib/integrations/nest/index.js +0 -2959
  193. package/dist/lib/integrations/nest/index.js.map +0 -1
  194. package/dist/lib/integrations/nest/index.mjs +0 -14
  195. package/dist/lib/integrations/nest/index.mjs.map +0 -1
  196. package/dist/lib/integrations/node-express/index.d.ts +0 -15
  197. package/dist/lib/integrations/node-express/index.js +0 -2959
  198. package/dist/lib/integrations/node-express/index.js.map +0 -1
  199. package/dist/lib/integrations/node-express/index.mjs +0 -14
  200. package/dist/lib/integrations/node-express/index.mjs.map +0 -1
  201. package/dist/lib/integrations/node-http/index.d.ts +0 -15
  202. package/dist/lib/integrations/node-http/index.js +0 -2945
  203. package/dist/lib/integrations/node-http/index.js.map +0 -1
  204. package/dist/lib/integrations/node-http/index.mjs +0 -13
  205. package/dist/lib/integrations/node-http/index.mjs.map +0 -1
  206. package/dist/service-adapters/index.d.ts +0 -162
  207. package/dist/service-adapters/index.js +0 -1787
  208. package/dist/service-adapters/index.js.map +0 -1
  209. package/dist/service-adapters/index.mjs +0 -34
  210. package/dist/service-adapters/index.mjs.map +0 -1
  211. package/dist/service-adapters/shared/index.d.ts +0 -9
  212. package/dist/service-adapters/shared/index.js +0 -72
  213. package/dist/service-adapters/shared/index.js.map +0 -1
  214. package/dist/service-adapters/shared/index.mjs +0 -8
  215. package/dist/service-adapters/shared/index.mjs.map +0 -1
  216. package/dist/shared-0a7346ce.d.ts +0 -466
  217. package/dist/shared-35c6eb04.d.ts +0 -448
  218. package/dist/shared-9ed1dc31.d.ts +0 -414
  219. package/dist/shared-da5708fe.d.ts +0 -449
  220. package/dist/utils/index.d.ts +0 -65
  221. package/dist/utils/index.js +0 -175
  222. package/dist/utils/index.js.map +0 -1
  223. package/dist/utils/index.mjs +0 -12
  224. package/dist/utils/index.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/service-adapters/langchain/langserve.ts","../src/service-adapters/anthropic/anthropic-adapter.ts","../src/service-adapters/anthropic/utils.ts","../src/service-adapters/experimental/ollama/ollama-adapter.ts","../src/service-adapters/bedrock/bedrock-adapter.ts","../src/service-adapters/empty/empty-adapter.ts"],"sourcesContent":["import { Parameter, Action } from \"@copilotkit/shared\";\nimport { RemoteRunnable } from \"langchain/runnables/remote\";\n\nexport interface RemoteChainParameters {\n name: string;\n description: string;\n chainUrl: string;\n parameters?: Parameter[];\n parameterType?: \"single\" | \"multi\";\n}\n\nexport class RemoteChain {\n name: string;\n description: string;\n chainUrl: string;\n parameters?: Parameter[];\n parameterType: \"single\" | \"multi\";\n\n constructor(options: RemoteChainParameters) {\n this.name = options.name;\n this.description = options.description;\n this.chainUrl = options.chainUrl;\n this.parameters = options.parameters;\n this.parameterType = options.parameterType || \"multi\";\n }\n\n async toAction(): Promise<Action<any>> {\n if (!this.parameters) {\n await this.inferLangServeParameters();\n }\n\n return {\n name: this.name,\n description: this.description,\n parameters: this.parameters!,\n handler: async (args: any) => {\n const runnable = new RemoteRunnable({ url: this.chainUrl });\n let input: any;\n if (this.parameterType === \"single\") {\n input = args[Object.keys(args)[0]];\n } else {\n input = args;\n }\n return await runnable.invoke(input);\n },\n };\n }\n\n async inferLangServeParameters() {\n const supportedTypes = [\"string\", \"number\", \"boolean\"];\n\n let schemaUrl = this.chainUrl.replace(/\\/+$/, \"\") + \"/input_schema\";\n let schema = await fetch(schemaUrl)\n .then((res) => res.json())\n .catch(() => {\n throw new Error(\"Failed to fetch langserve schema at \" + schemaUrl);\n });\n // for now, don't use json schema, just do a simple conversion\n\n if (supportedTypes.includes(schema.type)) {\n this.parameterType = \"single\";\n this.parameters = [\n {\n name: \"input\",\n type: schema.type,\n description: \"The input to the chain\",\n },\n ];\n } else if (schema.type === \"object\") {\n this.parameterType = \"multi\";\n this.parameters = Object.keys(schema.properties).map((key) => {\n let property = schema.properties[key];\n if (!supportedTypes.includes(property.type)) {\n throw new Error(\"Unsupported schema type\");\n }\n return {\n name: key,\n type: property.type,\n description: property.description || \"\",\n required: schema.required?.includes(key) || false,\n };\n });\n } else {\n throw new Error(\"Unsupported schema type\");\n }\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 Anthropic from \"@anthropic-ai/sdk\";\nimport {\n CopilotServiceAdapter,\n CopilotRuntimeChatCompletionRequest,\n CopilotRuntimeChatCompletionResponse,\n} from \"../service-adapter\";\nimport {\n convertActionInputToAnthropicTool,\n convertMessageToAnthropicMessage,\n limitMessagesToTokenCount,\n} from \"./utils\";\n\nimport { randomId, randomUUID } from \"@copilotkit/shared\";\nimport { convertServiceAdapterError } 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\nexport class AnthropicAdapter implements CopilotServiceAdapter {\n public model: string = DEFAULT_MODEL;\n public provider = \"anthropic\";\n private promptCaching: AnthropicPromptCachingConfig;\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 this._anthropic = params?.anthropic || new Anthropic({});\n if (params?.model) {\n this.model = params.model;\n }\n this.promptCaching = params?.promptCaching || { enabled: false };\n }\n\n /**\n * Adds cache control to system prompt\n */\n private addSystemPromptCaching(\n system: string,\n debug: boolean = false,\n ): string | Array<{ type: \"text\"; text: string; cache_control?: { type: \"ephemeral\" } }> {\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 (Array.isArray(finalMessage.content) && finalMessage.content.length > 0) {\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(messages: Anthropic.Messages.MessageParam[]): 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((content: any) => content.type === \"tool_result\");\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((content: any) => content.type === \"tool_use\") &&\n lastThree[2]?.role === \"user\" && // Tool result\n Array.isArray(lastThree[2].content) &&\n lastThree[2].content.some((content: any) => content.type === \"tool_result\");\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\n const messages = [...rawMessages];\n\n // get the instruction message\n const instructionsMessage = messages.shift();\n const instructions = instructionsMessage.isTextMessage() ? instructionsMessage.content : \"\";\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 || (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 // Apply token limits\n const limitedMessages = limitMessagesToTokenCount(anthropicMessages, tools, model);\n\n // Apply prompt caching if enabled\n const cachedSystemPrompt = this.addSystemPromptCaching(instructions, this.promptCaching.debug);\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 // We skip grouping by role since we've already ensured uniqueness of tool_results\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 || 1024,\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 stream = await this.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 hasReceivedContent = true;\n if (chunk.content_block.type === \"text\") {\n didOutputText = false;\n filterThinkingTextBuffer.reset();\n mode = \"message\";\n } else if (chunk.content_block.type === \"tool_use\") {\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 (chunk.delta.type === \"text_delta\") {\n const text = filterThinkingTextBuffer.onTextChunk(chunk.delta.text);\n if (text.length > 0) {\n if (!didOutputText) {\n eventStream$.sendTextMessageStart({ messageId: currentMessageId });\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({ messageId: currentMessageId });\n }\n } else if (mode === \"function\") {\n eventStream$.sendActionExecutionEnd({ actionExecutionId: currentToolCallId });\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 (!hasReceivedContent && this.shouldGenerateFallbackResponse(cachedMessages)) {\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 (lastMessage?.role === \"user\" && Array.isArray(lastMessage.content)) {\n const toolResult = lastMessage.content.find((c: any) => c.type === \"tool_result\");\n if (toolResult?.content && toolResult.content !== \"Action completed successfully\") {\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","import { Anthropic } from \"@anthropic-ai/sdk\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { Message } from \"../../graphql/types/converted\";\n\nexport function limitMessagesToTokenCount(\n messages: any[],\n tools: any[],\n model: string,\n maxTokens?: number,\n): any[] {\n maxTokens ||= MAX_TOKENS;\n\n const result: any[] = [];\n const toolsNumTokens = countToolsTokens(model, tools);\n if (toolsNumTokens > maxTokens) {\n throw new Error(`Too many tokens in function definitions: ${toolsNumTokens} > ${maxTokens}`);\n }\n maxTokens -= toolsNumTokens;\n\n for (const message of messages) {\n if (message.role === \"system\") {\n const numTokens = countMessageTokens(model, message);\n maxTokens -= numTokens;\n\n if (maxTokens < 0) {\n throw new Error(\"Not enough tokens for system message.\");\n }\n }\n }\n\n let cutoff: boolean = false;\n\n const reversedMessages = [...messages].reverse();\n for (const message of reversedMessages) {\n if (message.role === \"system\") {\n result.unshift(message);\n continue;\n } else if (cutoff) {\n continue;\n }\n let numTokens = countMessageTokens(model, message);\n if (maxTokens < numTokens) {\n cutoff = true;\n continue;\n }\n result.unshift(message);\n maxTokens -= numTokens;\n }\n\n return result;\n}\n\nconst MAX_TOKENS = 128000;\n\nfunction countToolsTokens(model: string, tools: any[]): number {\n if (tools.length === 0) {\n return 0;\n }\n const json = JSON.stringify(tools);\n return countTokens(model, json);\n}\n\nfunction countMessageTokens(model: string, message: any): number {\n return countTokens(model, JSON.stringify(message.content) || \"\");\n}\n\nfunction countTokens(model: string, text: string): number {\n return text.length / 3;\n}\n\nexport function convertActionInputToAnthropicTool(action: ActionInput): Anthropic.Messages.Tool {\n return {\n name: action.name,\n description: action.description,\n input_schema: JSON.parse(action.jsonSchema),\n };\n}\n\nexport function convertMessageToAnthropicMessage(\n message: Message,\n): Anthropic.Messages.MessageParam {\n if (message.isTextMessage()) {\n if (message.role === \"system\") {\n return {\n role: \"assistant\",\n content: [\n { type: \"text\", text: \"THE FOLLOWING MESSAGE IS A SYSTEM MESSAGE: \" + message.content },\n ],\n };\n } else {\n return {\n role: message.role === \"user\" ? \"user\" : \"assistant\",\n content: [{ type: \"text\", text: message.content }],\n };\n }\n } else if (message.isImageMessage()) {\n let mediaType: \"image/jpeg\" | \"image/png\" | \"image/webp\" | \"image/gif\";\n switch (message.format) {\n case \"jpeg\":\n mediaType = \"image/jpeg\";\n break;\n case \"png\":\n mediaType = \"image/png\";\n break;\n case \"webp\":\n mediaType = \"image/webp\";\n break;\n case \"gif\":\n mediaType = \"image/gif\";\n break;\n default:\n throw new Error(`Unsupported image format: ${message.format}`);\n }\n\n return {\n role: \"user\",\n content: [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: mediaType,\n data: message.bytes,\n },\n },\n ],\n };\n } else if (message.isActionExecutionMessage()) {\n return {\n role: \"assistant\",\n content: [\n {\n id: message.id,\n type: \"tool_use\",\n input: message.arguments,\n name: message.name,\n },\n ],\n };\n } else if (message.isResultMessage()) {\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","/**\n * CopilotKit Adapter for Ollama\n *\n * <RequestExample>\n * ```jsx CopilotRuntime Example\n * const copilotKit = new CopilotRuntime();\n * return copilotKit.response(req, new OllamaAdapter());\n * ```\n * </RequestExample>\n *\n * You can easily set the model to use by passing it to the constructor.\n * ```jsx\n * const copilotKit = new CopilotRuntime();\n * return copilotKit.response(\n * req,\n * new OllamaAdapter({ model: \"llama3-70b-8192\" }),\n * );\n * ```\n */\nimport { TextMessage } from \"../../../graphql/types/converted\";\nimport {\n CopilotServiceAdapter,\n CopilotRuntimeChatCompletionRequest,\n CopilotRuntimeChatCompletionResponse,\n} from \"../../service-adapter\";\nimport { Ollama } from \"@langchain/community/llms/ollama\";\nimport { randomId, randomUUID } from \"@copilotkit/shared\";\n\nconst DEFAULT_MODEL = \"llama3:latest\";\n\ninterface OllamaAdapterOptions {\n model?: string;\n}\n\nexport class ExperimentalOllamaAdapter implements CopilotServiceAdapter {\n public model: string;\n public provider = \"ollama\";\n public get name() {\n return \"OllamaAdapter\";\n }\n\n constructor(options?: OllamaAdapterOptions) {\n if (options?.model) {\n this.model = options.model;\n } else {\n this.model = DEFAULT_MODEL;\n }\n }\n\n async process(\n request: CopilotRuntimeChatCompletionRequest,\n ): Promise<CopilotRuntimeChatCompletionResponse> {\n const { messages, actions, eventSource } = request;\n // const messages = this.transformMessages(forwardedProps.messages);\n\n const ollama = new Ollama({\n model: this.model,\n });\n const contents = (messages.filter((m) => m.isTextMessage()) as TextMessage[]).map(\n (m) => m.content,\n );\n const _stream = await ollama.stream(contents); // [TODO] role info is dropped...\n\n eventSource.stream(async (eventStream$) => {\n const currentMessageId = randomId();\n eventStream$.sendTextMessageStart({ messageId: currentMessageId });\n for await (const chunkText of _stream) {\n eventStream$.sendTextMessageContent({\n messageId: currentMessageId,\n content: chunkText,\n });\n }\n eventStream$.sendTextMessageEnd({ messageId: currentMessageId });\n // we may need to add this later.. [nc]\n // let calls = (await result.response).functionCalls();\n\n eventStream$.complete();\n });\n return {\n threadId: request.threadId || randomUUID(),\n };\n }\n}\n","/**\n * Copilot Runtime adapter for AWS Bedrock.\n *\n * ## Example\n *\n * ```ts\n * import { CopilotRuntime, BedrockAdapter } from \"@copilotkit/runtime\";\n *\n * const copilotKit = new CopilotRuntime();\n *\n * return new BedrockAdapter({\n * model: \"amazon.nova-lite-v1:0\",\n * region: \"us-east-1\",\n * credentials: {\n * accessKeyId: process.env.AWS_ACCESS_KEY_ID,\n * secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY\n * }\n * });\n * ```\n */\n\nimport { ChatBedrockConverse } from \"@langchain/aws\";\nimport { LangChainAdapter } from \"../langchain/langchain-adapter\";\n\nexport interface BedrockAdapterParams {\n /**\n * AWS Bedrock model ID to use.\n * @default \"amazon.nova-lite-v1:0\"\n */\n model?: string;\n\n /**\n * AWS region where Bedrock is available.\n * @default \"us-east-1\"\n */\n region?: string;\n\n /**\n * AWS credentials for Bedrock access.\n */\n credentials?: {\n accessKeyId?: string;\n secretAccessKey?: string;\n };\n}\n\nconst DEFAULT_MODEL = \"amazon.nova-lite-v1:0\";\n\nexport class BedrockAdapter extends LangChainAdapter {\n public provider = \"bedrock\";\n public model: string = DEFAULT_MODEL;\n constructor(options?: BedrockAdapterParams) {\n super({\n chainFn: async ({ messages, tools, threadId }) => {\n this.model = options?.model ?? \"amazon.nova-lite-v1:0\";\n const model = new ChatBedrockConverse({\n model: this.model,\n region: options?.region ?? \"us-east-1\",\n credentials: options?.credentials\n ? {\n accessKeyId: options.credentials.accessKeyId,\n secretAccessKey: options.credentials.secretAccessKey,\n }\n : undefined,\n }).bindTools(tools);\n return model.stream(messages);\n },\n });\n }\n}\n","/**\n * CopilotKit Empty Adapter\n *\n * This adapter is meant to preserve adherence to runtime requirements, while doing nothing\n * Ideal if you don't want to connect an LLM the to the runtime, and only use your LangGraph agent.\n * Be aware that Copilot Suggestions will not work if you use this adapter\n *\n * ## Example\n *\n * ```ts\n * import { CopilotRuntime, EmptyAdapter } from \"@copilotkit/runtime\";\n *\n * const copilotKit = new CopilotRuntime();\n *\n * return new EmptyAdapter();\n * ```\n */\nimport {\n CopilotServiceAdapter,\n CopilotRuntimeChatCompletionRequest,\n CopilotRuntimeChatCompletionResponse,\n} from \"../service-adapter\";\nimport { randomUUID } from \"@copilotkit/shared\";\n\nexport class EmptyAdapter implements CopilotServiceAdapter {\n async process(\n request: CopilotRuntimeChatCompletionRequest,\n ): Promise<CopilotRuntimeChatCompletionResponse> {\n return {\n threadId: request.threadId || randomUUID(),\n };\n }\n public get name() {\n return \"EmptyAdapter\";\n }\n}\n\nexport const ExperimentalEmptyAdapter = EmptyAdapter;\n"],"mappings":"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","names":["RemoteRunnable","RemoteChain","name","description","chainUrl","parameters","parameterType","constructor","options","toAction","inferLangServeParameters","handler","args","runnable","RemoteRunnable","url","input","Object","keys","invoke","supportedTypes","schemaUrl","replace","schema","fetch","then","res","json","catch","Error","includes","type","properties","map","key","property","required","Anthropic","limitMessagesToTokenCount","messages","tools","model","maxTokens","MAX_TOKENS","result","toolsNumTokens","countToolsTokens","Error","message","role","numTokens","countMessageTokens","cutoff","reversedMessages","reverse","unshift","length","json","JSON","stringify","countTokens","content","text","convertActionInputToAnthropicTool","action","name","description","input_schema","parse","jsonSchema","convertMessageToAnthropicMessage","isTextMessage","type","isImageMessage","mediaType","format","source","media_type","data","bytes","isActionExecutionMessage","id","input","arguments","isResultMessage","tool_use_id","actionExecutionId","randomId","randomUUID","DEFAULT_MODEL","AnthropicAdapter","model","provider","promptCaching","_anthropic","anthropic","name","constructor","params","Anthropic","enabled","addSystemPromptCaching","system","debug","originalTextLength","length","console","log","type","text","cache_control","addIncrementalMessageCaching","messages","finalMessage","messageNumber","Array","isArray","content","finalBlock","updatedMessages","slice","shouldGenerateFallbackResponse","lastMessage","endsWithToolResult","role","some","lastThree","hasRecentToolPattern","process","request","threadId","rawMessages","actions","eventSource","forwardedParameters","tools","map","convertActionInputToAnthropicTool","instructionsMessage","shift","instructions","isTextMessage","validToolUseIds","Set","message","isActionExecutionMessage","add","id","processedToolResultIds","anthropicMessages","isResultMessage","has","actionExecutionId","result","tool_use_id","convertMessageToAnthropicMessage","filter","Boolean","msg","hasEmptyTextOnly","trim","limitedMessages","limitMessagesToTokenCount","cachedSystemPrompt","cachedMessages","toolChoice","toolChoiceFunctionName","createParams","max_tokens","maxTokens","temperature","tool_choice","stream","create","eventStream$","mode","didOutputText","currentMessageId","randomId","currentToolCallId","filterThinkingTextBuffer","FilterThinkingTextBuffer","hasReceivedContent","chunk","content_block","reset","sendActionExecutionStart","actionName","parentMessageId","delta","onTextChunk","sendTextMessageStart","messageId","sendTextMessageContent","sendActionExecutionArgs","args","partial_json","sendTextMessageEnd","sendActionExecutionEnd","error","convertServiceAdapterError","fallbackContent","toolResult","find","c","complete","randomUUID","THINKING_TAG","THINKING_TAG_END","buffer","didFilterThinkingTag","potentialTag","startsWith","includes","end","indexOf","filteredText","Ollama","randomId","randomUUID","DEFAULT_MODEL","ExperimentalOllamaAdapter","model","provider","name","constructor","options","process","request","messages","actions","eventSource","ollama","Ollama","contents","filter","m","isTextMessage","map","content","_stream","stream","eventStream$","currentMessageId","randomId","sendTextMessageStart","messageId","chunkText","sendTextMessageContent","sendTextMessageEnd","complete","threadId","randomUUID","ChatBedrockConverse","DEFAULT_MODEL","BedrockAdapter","LangChainAdapter","provider","model","constructor","options","chainFn","messages","tools","threadId","ChatBedrockConverse","region","credentials","accessKeyId","secretAccessKey","undefined","bindTools","stream","randomUUID","EmptyAdapter","process","request","threadId","randomUUID","name","ExperimentalEmptyAdapter"]}
@@ -1,74 +0,0 @@
1
- import {
2
- getCommonConfig,
3
- getRuntimeInstanceTelemetryInfo,
4
- telemetry_client_default
5
- } from "./chunk-OFSV5GET.mjs";
6
- import {
7
- __name
8
- } from "./chunk-FHD4JECV.mjs";
9
-
10
- // src/lib/integrations/nextjs/app-router.ts
11
- import { createCopilotEndpoint } from "@copilotkitnext/runtime";
12
- function copilotRuntimeNextJSAppRouterEndpoint(options) {
13
- var _a;
14
- const commonConfig = getCommonConfig(options);
15
- telemetry_client_default.setGlobalProperties({
16
- runtime: {
17
- framework: "nextjs-app-router"
18
- }
19
- });
20
- if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
21
- telemetry_client_default.setGlobalProperties({
22
- _copilotkit: options.properties._copilotkit
23
- });
24
- }
25
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
26
- const logger = commonConfig.logging;
27
- logger.debug("Creating NextJS App Router endpoint");
28
- const serviceAdapter = options.serviceAdapter;
29
- options.runtime.handleServiceAdapter(serviceAdapter);
30
- return createCopilotEndpoint({
31
- runtime: options.runtime.instance,
32
- basePath: options.endpoint
33
- });
34
- }
35
- __name(copilotRuntimeNextJSAppRouterEndpoint, "copilotRuntimeNextJSAppRouterEndpoint");
36
-
37
- // src/lib/integrations/nextjs/pages-router.ts
38
- import { createCopilotEndpoint as createCopilotEndpoint2 } from "@copilotkitnext/runtime";
39
- var config = {
40
- api: {
41
- bodyParser: false
42
- }
43
- };
44
- function copilotRuntimeNextJSPagesRouterEndpoint(options) {
45
- var _a;
46
- const commonConfig = getCommonConfig(options);
47
- telemetry_client_default.setGlobalProperties({
48
- runtime: {
49
- framework: "nextjs-pages-router"
50
- }
51
- });
52
- if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
53
- telemetry_client_default.setGlobalProperties({
54
- _copilotkit: options.properties._copilotkit
55
- });
56
- }
57
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
58
- const logger = commonConfig.logging;
59
- logger.debug("Creating NextJS Pages Router endpoint");
60
- const serviceAdapter = options.serviceAdapter;
61
- options.runtime.handleServiceAdapter(serviceAdapter);
62
- return createCopilotEndpoint2({
63
- runtime: options.runtime.instance,
64
- basePath: options.baseUrl
65
- });
66
- }
67
- __name(copilotRuntimeNextJSPagesRouterEndpoint, "copilotRuntimeNextJSPagesRouterEndpoint");
68
-
69
- export {
70
- copilotRuntimeNextJSAppRouterEndpoint,
71
- config,
72
- copilotRuntimeNextJSPagesRouterEndpoint
73
- };
74
- //# sourceMappingURL=chunk-ESSRC64W.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/integrations/nextjs/app-router.ts","../src/lib/integrations/nextjs/pages-router.ts"],"sourcesContent":["import { createCopilotEndpoint } from \"@copilotkitnext/runtime\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\n\nexport function copilotRuntimeNextJSAppRouterEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n): ReturnType<typeof createCopilotEndpoint> {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nextjs-app-router\",\n },\n });\n\n if (options.properties?._copilotkit) {\n telemetry.setGlobalProperties({\n _copilotkit: options.properties._copilotkit,\n });\n }\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS App Router endpoint\");\n\n const serviceAdapter = options.serviceAdapter;\n options.runtime.handleServiceAdapter(serviceAdapter);\n\n return createCopilotEndpoint({\n runtime: options.runtime.instance,\n basePath: options.endpoint,\n });\n}\n","import { createCopilotEndpoint } from \"@copilotkitnext/runtime\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\n\nexport const config = {\n api: {\n bodyParser: false,\n },\n};\n\n// This import is needed to fix the type error\n// Fix is currently in TypeScript 5.5 beta, waiting for stable version\n// https://github.com/microsoft/TypeScript/issues/42873#issuecomment-2066874644\nexport type {} from \"@whatwg-node/server\";\n\nexport function copilotRuntimeNextJSPagesRouterEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n): ReturnType<typeof createCopilotEndpoint> {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nextjs-pages-router\",\n },\n });\n\n if (options.properties?._copilotkit) {\n telemetry.setGlobalProperties({\n _copilotkit: options.properties._copilotkit,\n });\n }\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS Pages Router endpoint\");\n\n const serviceAdapter = options.serviceAdapter;\n options.runtime.handleServiceAdapter(serviceAdapter);\n\n return createCopilotEndpoint({\n runtime: options.runtime.instance,\n basePath: options.baseUrl,\n });\n}\n"],"mappings":";;;;;;;;;;AAAA,SAASA,6BAA6B;AAI/B,SAASC,sCACdC,SAA0C;AAL5C;AAOE,QAAMC,eAAeC,gBAAgBF,OAAAA;AAErCG,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEA,OAAIN,aAAQO,eAARP,mBAAoBQ,aAAa;AACnCL,6BAAUC,oBAAoB;MAC5BI,aAAaR,QAAQO,WAAWC;IAClC,CAAA;EACF;AAEAL,2BAAUM,QAAQ,gCAAgCC,gCAAgCV,OAAAA,CAAAA;AAElF,QAAMW,SAASV,aAAaW;AAC5BD,SAAOE,MAAM,qCAAA;AAEb,QAAMC,iBAAiBd,QAAQc;AAC/Bd,UAAQK,QAAQU,qBAAqBD,cAAAA;AAErC,SAAOE,sBAAsB;IAC3BX,SAASL,QAAQK,QAAQY;IACzBC,UAAUlB,QAAQmB;EACpB,CAAA;AACF;AA7BgBpB;;;ACJhB,SAASqB,yBAAAA,8BAA6B;AAI/B,IAAMC,SAAS;EACpBC,KAAK;IACHC,YAAY;EACd;AACF;AAOO,SAASC,wCACdC,SAA0C;AAhB5C;AAkBE,QAAMC,eAAeC,gBAAgBF,OAAAA;AAErCG,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEA,OAAIN,aAAQO,eAARP,mBAAoBQ,aAAa;AACnCL,6BAAUC,oBAAoB;MAC5BI,aAAaR,QAAQO,WAAWC;IAClC,CAAA;EACF;AAEAL,2BAAUM,QAAQ,gCAAgCC,gCAAgCV,OAAAA,CAAAA;AAElF,QAAMW,SAASV,aAAaW;AAC5BD,SAAOE,MAAM,uCAAA;AAEb,QAAMC,iBAAiBd,QAAQc;AAC/Bd,UAAQK,QAAQU,qBAAqBD,cAAAA;AAErC,SAAOE,uBAAsB;IAC3BX,SAASL,QAAQK,QAAQY;IACzBC,UAAUlB,QAAQmB;EACpB,CAAA;AACF;AA7BgBpB;","names":["createCopilotEndpoint","copilotRuntimeNextJSAppRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","serviceAdapter","handleServiceAdapter","createCopilotEndpoint","instance","basePath","endpoint","createCopilotEndpoint","config","api","bodyParser","copilotRuntimeNextJSPagesRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","serviceAdapter","handleServiceAdapter","createCopilotEndpoint","instance","basePath","baseUrl"]}
@@ -1,33 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
- var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
-
28
- export {
29
- __name,
30
- __commonJS,
31
- __toESM
32
- };
33
- //# sourceMappingURL=chunk-FHD4JECV.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,25 +0,0 @@
1
- import {
2
- copilotRuntimeNodeHttpEndpoint,
3
- getRuntimeInstanceTelemetryInfo,
4
- telemetry_client_default
5
- } from "./chunk-4OGE3SLW.mjs";
6
- import {
7
- __name
8
- } from "./chunk-FHD4JECV.mjs";
9
-
10
- // src/lib/integrations/nest/index.ts
11
- function copilotRuntimeNestEndpoint(options) {
12
- telemetry_client_default.setGlobalProperties({
13
- runtime: {
14
- framework: "nest"
15
- }
16
- });
17
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
18
- return copilotRuntimeNodeHttpEndpoint(options);
19
- }
20
- __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
21
-
22
- export {
23
- copilotRuntimeNestEndpoint
24
- };
25
- //# sourceMappingURL=chunk-GRAN6K6N.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/integrations/nest/index.ts"],"sourcesContent":["import { CreateCopilotRuntimeServerOptions } from \"../shared\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\n\nexport function copilotRuntimeNestEndpoint(options: CreateCopilotRuntimeServerOptions) {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nest\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAIO,SAASA,2BAA2BC,SAA0C;AACnFC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgCC,gCAAgCN,OAAAA,CAAAA;AAClF,SAAOO,+BAA+BP,OAAAA;AACxC;AATgBD;","names":["copilotRuntimeNestEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
@@ -1,175 +0,0 @@
1
- import {
2
- LangGraphEventTypes
3
- } from "./chunk-CEOMFPJU.mjs";
4
- import {
5
- __name
6
- } from "./chunk-FHD4JECV.mjs";
7
-
8
- // src/lib/runtime/langgraph/langgraph-agent.ts
9
- import { EventType } from "@ag-ui/client";
10
- import { map } from "rxjs";
11
- import { LangGraphAgent as AGUILangGraphAgent, LangGraphHttpAgent } from "@ag-ui/langgraph";
12
- var CustomEventNames;
13
- (function(CustomEventNames2) {
14
- CustomEventNames2["CopilotKitManuallyEmitMessage"] = "copilotkit_manually_emit_message";
15
- CustomEventNames2["CopilotKitManuallyEmitToolCall"] = "copilotkit_manually_emit_tool_call";
16
- CustomEventNames2["CopilotKitManuallyEmitIntermediateState"] = "copilotkit_manually_emit_intermediate_state";
17
- CustomEventNames2["CopilotKitExit"] = "copilotkit_exit";
18
- })(CustomEventNames || (CustomEventNames = {}));
19
- var LangGraphAgent = class extends AGUILangGraphAgent {
20
- constructor(config) {
21
- super(config);
22
- }
23
- dispatchEvent(event) {
24
- if (event.type === EventType.CUSTOM) {
25
- const customEvent = event;
26
- if (customEvent.name === "copilotkit_manually_emit_message") {
27
- this.subscriber.next({
28
- type: EventType.TEXT_MESSAGE_START,
29
- role: "assistant",
30
- messageId: customEvent.value.message_id,
31
- rawEvent: event
32
- });
33
- this.subscriber.next({
34
- type: EventType.TEXT_MESSAGE_CONTENT,
35
- messageId: customEvent.value.message_id,
36
- delta: customEvent.value.message,
37
- rawEvent: event
38
- });
39
- this.subscriber.next({
40
- type: EventType.TEXT_MESSAGE_END,
41
- messageId: customEvent.value.message_id,
42
- rawEvent: event
43
- });
44
- return true;
45
- }
46
- if (customEvent.name === "copilotkit_manually_emit_tool_call") {
47
- this.subscriber.next({
48
- type: EventType.TOOL_CALL_START,
49
- toolCallId: customEvent.value.id,
50
- toolCallName: customEvent.value.name,
51
- parentMessageId: customEvent.value.id,
52
- rawEvent: event
53
- });
54
- this.subscriber.next({
55
- type: EventType.TOOL_CALL_ARGS,
56
- toolCallId: customEvent.value.id,
57
- delta: customEvent.value.args,
58
- rawEvent: event
59
- });
60
- this.subscriber.next({
61
- type: EventType.TOOL_CALL_END,
62
- toolCallId: customEvent.value.id,
63
- rawEvent: event
64
- });
65
- return true;
66
- }
67
- if (customEvent.name === "copilotkit_manually_emit_intermediate_state") {
68
- this.activeRun.manuallyEmittedState = customEvent.value;
69
- this.dispatchEvent({
70
- type: EventType.STATE_SNAPSHOT,
71
- snapshot: this.getStateSnapshot({
72
- values: this.activeRun.manuallyEmittedState
73
- }),
74
- rawEvent: event
75
- });
76
- return true;
77
- }
78
- if (customEvent.name === "copilotkit_exit") {
79
- this.subscriber.next({
80
- type: EventType.CUSTOM,
81
- name: "Exit",
82
- value: true
83
- });
84
- return true;
85
- }
86
- }
87
- const rawEvent = event.rawEvent;
88
- if (!rawEvent) {
89
- this.subscriber.next(event);
90
- return true;
91
- }
92
- const isMessageEvent = event.type === EventType.TEXT_MESSAGE_START || event.type === EventType.TEXT_MESSAGE_CONTENT || event.type === EventType.TEXT_MESSAGE_END;
93
- const isToolEvent = event.type === EventType.TOOL_CALL_START || event.type === EventType.TOOL_CALL_ARGS || event.type === EventType.TOOL_CALL_END;
94
- if ("copilotkit:emit-tool-calls" in (rawEvent.metadata || {})) {
95
- if (rawEvent.metadata["copilotkit:emit-tool-calls"] === false && isToolEvent) {
96
- return false;
97
- }
98
- }
99
- if ("copilotkit:emit-messages" in (rawEvent.metadata || {})) {
100
- if (rawEvent.metadata["copilotkit:emit-messages"] === false && isMessageEvent) {
101
- return false;
102
- }
103
- }
104
- this.subscriber.next(event);
105
- return true;
106
- }
107
- // @ts-ignore
108
- run(input) {
109
- return super.run(input).pipe(map((processedEvent) => {
110
- var _a, _b, _c, _d, _e;
111
- if (processedEvent.type === EventType.RAW) {
112
- const event = processedEvent.event ?? processedEvent.rawEvent;
113
- const eventType = event.event;
114
- const toolCallData = (_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.tool_call_chunks) == null ? void 0 : _c[0];
115
- const toolCallUsedToPredictState = (_e = (_d = event.metadata) == null ? void 0 : _d["copilotkit:emit-intermediate-state"]) == null ? void 0 : _e.some((predictStateTool) => predictStateTool.tool === (toolCallData == null ? void 0 : toolCallData.name));
116
- if (eventType === LangGraphEventTypes.OnChatModelStream && toolCallUsedToPredictState) {
117
- return {
118
- type: EventType.CUSTOM,
119
- name: "PredictState",
120
- value: event.metadata["copilotkit:emit-intermediate-state"]
121
- };
122
- }
123
- }
124
- return processedEvent;
125
- }));
126
- }
127
- langGraphDefaultMergeState(state, messages, input) {
128
- const aguiMergedState = super.langGraphDefaultMergeState(state, messages, input);
129
- const { tools: returnedTools, "ag-ui": agui } = aguiMergedState;
130
- const rawCombinedTools = [
131
- ...returnedTools ?? [],
132
- ...(agui == null ? void 0 : agui.tools) ?? []
133
- ];
134
- const combinedTools = Array.from(new Map(rawCombinedTools.map((t) => [
135
- (t == null ? void 0 : t.id) ?? (t == null ? void 0 : t.name) ?? (t == null ? void 0 : t.key) ?? JSON.stringify(t),
136
- t
137
- ])).values());
138
- return {
139
- ...aguiMergedState,
140
- copilotkit: {
141
- actions: combinedTools,
142
- context: (agui == null ? void 0 : agui.context) ?? []
143
- }
144
- };
145
- }
146
- async getSchemaKeys() {
147
- const CONSTANT_KEYS = [
148
- "copilotkit"
149
- ];
150
- const schemaKeys = await super.getSchemaKeys();
151
- return {
152
- config: schemaKeys.config,
153
- input: schemaKeys.input ? [
154
- ...schemaKeys.input,
155
- ...CONSTANT_KEYS
156
- ] : null,
157
- output: schemaKeys.output ? [
158
- ...schemaKeys.output,
159
- ...CONSTANT_KEYS
160
- ] : null,
161
- context: schemaKeys.context ? [
162
- ...schemaKeys.context,
163
- ...CONSTANT_KEYS
164
- ] : null
165
- };
166
- }
167
- };
168
- __name(LangGraphAgent, "LangGraphAgent");
169
-
170
- export {
171
- LangGraphHttpAgent,
172
- CustomEventNames,
173
- LangGraphAgent
174
- };
175
- //# sourceMappingURL=chunk-I27F2UPA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/runtime/langgraph/langgraph-agent.ts"],"sourcesContent":["import {\n RunAgentInput,\n EventType,\n CustomEvent,\n TextMessageStartEvent,\n TextMessageContentEvent,\n TextMessageEndEvent,\n ToolCallStartEvent,\n ToolCallArgsEvent,\n ToolCallEndEvent,\n} from \"@ag-ui/client\";\nimport { map } from \"rxjs\";\nimport { LangGraphEventTypes } from \"../../../agents/langgraph/events\";\nimport { RawEvent } from \"@ag-ui/core\";\nimport {\n LangGraphAgent as AGUILangGraphAgent,\n LangGraphHttpAgent,\n type LangGraphAgentConfig,\n ProcessedEvents,\n SchemaKeys,\n type State,\n StateEnrichment,\n} from \"@ag-ui/langgraph\";\nimport { Message as LangGraphMessage } from \"@langchain/langgraph-sdk/dist/types.messages\";\nimport { ThreadState } from \"@langchain/langgraph-sdk\";\n\ninterface CopilotKitStateEnrichment {\n copilotkit: {\n actions: StateEnrichment[\"ag-ui\"][\"tools\"];\n context: StateEnrichment[\"ag-ui\"][\"context\"];\n };\n}\n\nexport interface PredictStateTool {\n tool: string;\n state_key: string;\n tool_argument: string;\n}\n\nexport type TextMessageEvents =\n | TextMessageStartEvent\n | TextMessageContentEvent\n | TextMessageEndEvent;\n\nexport type ToolCallEvents = ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent;\n\nexport enum CustomEventNames {\n CopilotKitManuallyEmitMessage = \"copilotkit_manually_emit_message\",\n CopilotKitManuallyEmitToolCall = \"copilotkit_manually_emit_tool_call\",\n CopilotKitManuallyEmitIntermediateState = \"copilotkit_manually_emit_intermediate_state\",\n CopilotKitExit = \"copilotkit_exit\",\n}\n\nexport class LangGraphAgent extends AGUILangGraphAgent {\n constructor(config: LangGraphAgentConfig) {\n super(config);\n }\n\n dispatchEvent(event: ProcessedEvents) {\n if (event.type === EventType.CUSTOM) {\n // const event = processedEvent as unknown as CustomEvent;\n const customEvent = event as unknown as CustomEvent;\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitMessage) {\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_START,\n role: \"assistant\",\n messageId: customEvent.value.message_id,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_CONTENT,\n messageId: customEvent.value.message_id,\n delta: customEvent.value.message,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_END,\n messageId: customEvent.value.message_id,\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {\n this.subscriber.next({\n type: EventType.TOOL_CALL_START,\n toolCallId: customEvent.value.id,\n toolCallName: customEvent.value.name,\n parentMessageId: customEvent.value.id,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TOOL_CALL_ARGS,\n toolCallId: customEvent.value.id,\n delta: customEvent.value.args,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TOOL_CALL_END,\n toolCallId: customEvent.value.id,\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitIntermediateState) {\n this.activeRun.manuallyEmittedState = customEvent.value;\n this.dispatchEvent({\n type: EventType.STATE_SNAPSHOT,\n snapshot: this.getStateSnapshot({\n values: this.activeRun.manuallyEmittedState,\n } as ThreadState<State>),\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitExit) {\n this.subscriber.next({\n type: EventType.CUSTOM,\n name: \"Exit\",\n value: true,\n });\n return true;\n }\n }\n\n // Intercept all text message and tool call events and check if should disable\n const rawEvent = (event as ToolCallEvents | TextMessageEvents).rawEvent;\n if (!rawEvent) {\n this.subscriber.next(event);\n return true;\n }\n\n const isMessageEvent =\n event.type === EventType.TEXT_MESSAGE_START ||\n event.type === EventType.TEXT_MESSAGE_CONTENT ||\n event.type === EventType.TEXT_MESSAGE_END;\n const isToolEvent =\n event.type === EventType.TOOL_CALL_START ||\n event.type === EventType.TOOL_CALL_ARGS ||\n event.type === EventType.TOOL_CALL_END;\n if (\"copilotkit:emit-tool-calls\" in (rawEvent.metadata || {})) {\n if (rawEvent.metadata[\"copilotkit:emit-tool-calls\"] === false && isToolEvent) {\n return false;\n }\n }\n if (\"copilotkit:emit-messages\" in (rawEvent.metadata || {})) {\n if (rawEvent.metadata[\"copilotkit:emit-messages\"] === false && isMessageEvent) {\n return false;\n }\n }\n\n this.subscriber.next(event);\n return true;\n }\n\n // @ts-ignore\n run(input: RunAgentInput) {\n return super.run(input).pipe(\n map((processedEvent) => {\n // Turn raw event into emit state snapshot from tool call event\n if (processedEvent.type === EventType.RAW) {\n // Get the LangGraph event from the AGUI event.\n const event = (processedEvent as RawEvent).event ?? (processedEvent as RawEvent).rawEvent;\n\n const eventType = event.event;\n const toolCallData = event.data?.chunk?.tool_call_chunks?.[0];\n const toolCallUsedToPredictState = event.metadata?.[\n \"copilotkit:emit-intermediate-state\"\n ]?.some(\n (predictStateTool: PredictStateTool) => predictStateTool.tool === toolCallData?.name,\n );\n\n if (eventType === LangGraphEventTypes.OnChatModelStream && toolCallUsedToPredictState) {\n return {\n type: EventType.CUSTOM,\n name: \"PredictState\",\n value: event.metadata[\"copilotkit:emit-intermediate-state\"],\n };\n }\n }\n\n return processedEvent;\n }),\n );\n }\n\n langGraphDefaultMergeState(\n state: State,\n messages: LangGraphMessage[],\n input: RunAgentInput,\n ): State<StateEnrichment & CopilotKitStateEnrichment> {\n const aguiMergedState = super.langGraphDefaultMergeState(state, messages, input);\n const { tools: returnedTools, \"ag-ui\": agui } = aguiMergedState;\n // tolerate undefined and de-duplicate by stable key (id | name | key)\n const rawCombinedTools = [\n ...((returnedTools as any[]) ?? []),\n ...((agui?.tools as any[]) ?? []),\n ];\n const combinedTools = Array.from(\n new Map(\n rawCombinedTools.map((t: any) => [t?.id ?? t?.name ?? t?.key ?? JSON.stringify(t), t]),\n ).values(),\n );\n\n return {\n ...aguiMergedState,\n copilotkit: {\n actions: combinedTools,\n context: agui?.context ?? [],\n },\n };\n }\n\n async getSchemaKeys(): Promise<SchemaKeys> {\n const CONSTANT_KEYS = [\"copilotkit\"];\n const schemaKeys = await super.getSchemaKeys();\n return {\n config: schemaKeys.config,\n input: schemaKeys.input ? [...schemaKeys.input, ...CONSTANT_KEYS] : null,\n output: schemaKeys.output ? [...schemaKeys.output, ...CONSTANT_KEYS] : null,\n context: schemaKeys.context ? [...schemaKeys.context, ...CONSTANT_KEYS] : null,\n };\n }\n}\n\nexport { LangGraphHttpAgent };\n"],"mappings":"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","names":["EventType","map","LangGraphAgent","AGUILangGraphAgent","LangGraphHttpAgent","CustomEventNames","LangGraphAgent","AGUILangGraphAgent","constructor","config","dispatchEvent","event","type","EventType","CUSTOM","customEvent","name","subscriber","next","TEXT_MESSAGE_START","role","messageId","value","message_id","rawEvent","TEXT_MESSAGE_CONTENT","delta","message","TEXT_MESSAGE_END","TOOL_CALL_START","toolCallId","id","toolCallName","parentMessageId","TOOL_CALL_ARGS","args","TOOL_CALL_END","activeRun","manuallyEmittedState","STATE_SNAPSHOT","snapshot","getStateSnapshot","values","isMessageEvent","isToolEvent","metadata","run","input","pipe","map","processedEvent","RAW","eventType","toolCallData","data","chunk","tool_call_chunks","toolCallUsedToPredictState","some","predictStateTool","tool","LangGraphEventTypes","OnChatModelStream","langGraphDefaultMergeState","state","messages","aguiMergedState","tools","returnedTools","agui","rawCombinedTools","combinedTools","Array","from","Map","t","key","JSON","stringify","copilotkit","actions","context","getSchemaKeys","CONSTANT_KEYS","schemaKeys","output"]}
@@ -1,25 +0,0 @@
1
- import {
2
- copilotRuntimeNodeHttpEndpoint,
3
- getRuntimeInstanceTelemetryInfo,
4
- telemetry_client_default
5
- } from "./chunk-OFNVQHNM.mjs";
6
- import {
7
- __name
8
- } from "./chunk-FHD4JECV.mjs";
9
-
10
- // src/lib/integrations/nest/index.ts
11
- function copilotRuntimeNestEndpoint(options) {
12
- telemetry_client_default.setGlobalProperties({
13
- runtime: {
14
- framework: "nest"
15
- }
16
- });
17
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
18
- return copilotRuntimeNodeHttpEndpoint(options);
19
- }
20
- __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
21
-
22
- export {
23
- copilotRuntimeNestEndpoint
24
- };
25
- //# sourceMappingURL=chunk-IAZKTOQW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/integrations/nest/index.ts"],"sourcesContent":["import { CreateCopilotRuntimeServerOptions } from \"../shared\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\nimport { createCopilotEndpoint } from \"@copilotkitnext/runtime\";\n\nexport function copilotRuntimeNestEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n): ReturnType<typeof createCopilotEndpoint> {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nest\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAKO,SAASA,2BACdC,SAA0C;AAE1CC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgCC,gCAAgCN,OAAAA,CAAAA;AAClF,SAAOO,+BAA+BP,OAAAA;AACxC;AAXgBD;","names":["copilotRuntimeNestEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
@@ -1,25 +0,0 @@
1
- import {
2
- copilotRuntimeNodeHttpEndpoint,
3
- getRuntimeInstanceTelemetryInfo,
4
- telemetry_client_default
5
- } from "./chunk-KQ53L4WZ.mjs";
6
- import {
7
- __name
8
- } from "./chunk-FHD4JECV.mjs";
9
-
10
- // src/lib/integrations/node-express/index.ts
11
- function copilotRuntimeNodeExpressEndpoint(options) {
12
- telemetry_client_default.setGlobalProperties({
13
- runtime: {
14
- framework: "node-express"
15
- }
16
- });
17
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
18
- return copilotRuntimeNodeHttpEndpoint(options);
19
- }
20
- __name(copilotRuntimeNodeExpressEndpoint, "copilotRuntimeNodeExpressEndpoint");
21
-
22
- export {
23
- copilotRuntimeNodeExpressEndpoint
24
- };
25
- //# sourceMappingURL=chunk-J6XZ5MFB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/integrations/node-express/index.ts"],"sourcesContent":["import { CreateCopilotRuntimeServerOptions } from \"../shared\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\nimport { createCopilotEndpoint } from \"@copilotkitnext/runtime\";\n\nexport function copilotRuntimeNodeExpressEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n): ReturnType<typeof createCopilotEndpoint> {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"node-express\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAKO,SAASA,kCACdC,SAA0C;AAE1CC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgCC,gCAAgCN,OAAAA,CAAAA;AAClF,SAAOO,+BAA+BP,OAAAA;AACxC;AAXgBD;","names":["copilotRuntimeNodeExpressEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
@@ -1,73 +0,0 @@
1
- import {
2
- copilotRuntimeNodeHttpEndpoint,
3
- getCommonConfig,
4
- getRuntimeInstanceTelemetryInfo,
5
- telemetry_client_default
6
- } from "./chunk-4OGE3SLW.mjs";
7
- import {
8
- __name
9
- } from "./chunk-FHD4JECV.mjs";
10
-
11
- // src/lib/integrations/nextjs/app-router.ts
12
- import { createCopilotEndpointSingleRoute } from "@copilotkitnext/runtime";
13
- import { handle } from "hono/vercel";
14
- function copilotRuntimeNextJSAppRouterEndpoint(options) {
15
- var _a;
16
- const commonConfig = getCommonConfig(options);
17
- telemetry_client_default.setGlobalProperties({
18
- runtime: {
19
- framework: "nextjs-app-router"
20
- }
21
- });
22
- if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
23
- telemetry_client_default.setGlobalProperties({
24
- _copilotkit: options.properties._copilotkit
25
- });
26
- }
27
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
28
- const logger = commonConfig.logging;
29
- logger.debug("Creating NextJS App Router endpoint");
30
- const serviceAdapter = options.serviceAdapter;
31
- options.runtime.handleServiceAdapter(serviceAdapter);
32
- const copilotRoute = createCopilotEndpointSingleRoute({
33
- runtime: options.runtime.instance,
34
- basePath: options.baseUrl ?? options.endpoint
35
- });
36
- return {
37
- handleRequest: handle(copilotRoute)
38
- };
39
- }
40
- __name(copilotRuntimeNextJSAppRouterEndpoint, "copilotRuntimeNextJSAppRouterEndpoint");
41
-
42
- // src/lib/integrations/nextjs/pages-router.ts
43
- var config = {
44
- api: {
45
- bodyParser: false
46
- }
47
- };
48
- function copilotRuntimeNextJSPagesRouterEndpoint(options) {
49
- var _a;
50
- const commonConfig = getCommonConfig(options);
51
- telemetry_client_default.setGlobalProperties({
52
- runtime: {
53
- framework: "nextjs-pages-router"
54
- }
55
- });
56
- if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
57
- telemetry_client_default.setGlobalProperties({
58
- _copilotkit: options.properties._copilotkit
59
- });
60
- }
61
- telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
62
- const logger = commonConfig.logging;
63
- logger.debug("Creating NextJS Pages Router endpoint");
64
- return copilotRuntimeNodeHttpEndpoint(options);
65
- }
66
- __name(copilotRuntimeNextJSPagesRouterEndpoint, "copilotRuntimeNextJSPagesRouterEndpoint");
67
-
68
- export {
69
- copilotRuntimeNextJSAppRouterEndpoint,
70
- config,
71
- copilotRuntimeNextJSPagesRouterEndpoint
72
- };
73
- //# sourceMappingURL=chunk-JJ32MA4C.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/integrations/nextjs/app-router.ts","../src/lib/integrations/nextjs/pages-router.ts"],"sourcesContent":["import { createCopilotEndpointSingleRoute } from \"@copilotkitnext/runtime\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\nimport { handle } from \"hono/vercel\";\n\nexport function copilotRuntimeNextJSAppRouterEndpoint(options: CreateCopilotRuntimeServerOptions) {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nextjs-app-router\",\n },\n });\n\n if (options.properties?._copilotkit) {\n telemetry.setGlobalProperties({\n _copilotkit: options.properties._copilotkit,\n });\n }\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS App Router endpoint\");\n\n const serviceAdapter = options.serviceAdapter;\n options.runtime.handleServiceAdapter(serviceAdapter);\n\n const copilotRoute = createCopilotEndpointSingleRoute({\n runtime: options.runtime.instance,\n basePath: options.baseUrl ?? options.endpoint,\n });\n return { handleRequest: handle(copilotRoute) };\n}\n","import { createCopilotEndpointSingleRoute } from \"@copilotkitnext/runtime\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\nimport { handle } from \"hono/vercel\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\n\nexport const config = {\n api: {\n bodyParser: false,\n },\n};\n\n// This import is needed to fix the type error\n// Fix is currently in TypeScript 5.5 beta, waiting for stable version\n// https://github.com/microsoft/TypeScript/issues/42873#issuecomment-2066874644\nexport type {} from \"@whatwg-node/server\";\n\nexport function copilotRuntimeNextJSPagesRouterEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n) {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nextjs-pages-router\",\n },\n });\n\n if (options.properties?._copilotkit) {\n telemetry.setGlobalProperties({\n _copilotkit: options.properties._copilotkit,\n });\n }\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS Pages Router endpoint\");\n\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;;AAAA,SAASA,wCAAwC;AAGjD,SAASC,cAAc;AAEhB,SAASC,sCAAsCC,SAA0C;AALhG;AAME,QAAMC,eAAeC,gBAAgBF,OAAAA;AAErCG,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEA,OAAIN,aAAQO,eAARP,mBAAoBQ,aAAa;AACnCL,6BAAUC,oBAAoB;MAC5BI,aAAaR,QAAQO,WAAWC;IAClC,CAAA;EACF;AAEAL,2BAAUM,QAAQ,gCAAgCC,gCAAgCV,OAAAA,CAAAA;AAElF,QAAMW,SAASV,aAAaW;AAC5BD,SAAOE,MAAM,qCAAA;AAEb,QAAMC,iBAAiBd,QAAQc;AAC/Bd,UAAQK,QAAQU,qBAAqBD,cAAAA;AAErC,QAAME,eAAeC,iCAAiC;IACpDZ,SAASL,QAAQK,QAAQa;IACzBC,UAAUnB,QAAQoB,WAAWpB,QAAQqB;EACvC,CAAA;AACA,SAAO;IAAEC,eAAeC,OAAOP,YAAAA;EAAc;AAC/C;AA5BgBjB;;;ACCT,IAAMyB,SAAS;EACpBC,KAAK;IACHC,YAAY;EACd;AACF;AAOO,SAASC,wCACdC,SAA0C;AAjB5C;AAmBE,QAAMC,eAAeC,gBAAgBF,OAAAA;AAErCG,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEA,OAAIN,aAAQO,eAARP,mBAAoBQ,aAAa;AACnCL,6BAAUC,oBAAoB;MAC5BI,aAAaR,QAAQO,WAAWC;IAClC,CAAA;EACF;AAEAL,2BAAUM,QAAQ,gCAAgCC,gCAAgCV,OAAAA,CAAAA;AAElF,QAAMW,SAASV,aAAaW;AAC5BD,SAAOE,MAAM,uCAAA;AAEb,SAAOC,+BAA+Bd,OAAAA;AACxC;AAvBgBD;","names":["createCopilotEndpointSingleRoute","handle","copilotRuntimeNextJSAppRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","serviceAdapter","handleServiceAdapter","copilotRoute","createCopilotEndpointSingleRoute","instance","basePath","baseUrl","endpoint","handleRequest","handle","config","api","bodyParser","copilotRuntimeNextJSPagesRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","copilotRuntimeNodeHttpEndpoint"]}