@copilotkit/runtime 1.3.16-mme-lgc-langgraph-package.11 → 1.3.16-mme-revert-rxjs-changes.10

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 (71) hide show
  1. package/CHANGELOG.md +33 -95
  2. package/dist/{chunk-SMHGZXIT.mjs → chunk-3EIBEZQI.mjs} +4 -3
  3. package/dist/chunk-3EIBEZQI.mjs.map +1 -0
  4. package/dist/{chunk-TTVQTORT.mjs → chunk-4MX7GDLS.mjs} +4 -3
  5. package/dist/chunk-4MX7GDLS.mjs.map +1 -0
  6. package/dist/chunk-DFOKBSIS.mjs +1 -0
  7. package/dist/chunk-DFOKBSIS.mjs.map +1 -0
  8. package/dist/{chunk-HZ2XTQUC.mjs → chunk-UO2QXEDA.mjs} +5 -4
  9. package/dist/chunk-UO2QXEDA.mjs.map +1 -0
  10. package/dist/{chunk-BNQDVBQH.mjs → chunk-WHJ3DAYL.mjs} +251 -34
  11. package/dist/chunk-WHJ3DAYL.mjs.map +1 -0
  12. package/dist/{chunk-JTVWJUZP.mjs → chunk-YSCTOGKC.mjs} +419 -50
  13. package/dist/chunk-YSCTOGKC.mjs.map +1 -0
  14. package/dist/{copilot-runtime-8d3f40c7.d.ts → copilot-runtime-335a610d.d.ts} +10 -10
  15. package/dist/{groq-adapter-dbfba3eb.d.ts → groq-adapter-2f8fd767.d.ts} +1 -1
  16. package/dist/index.d.ts +3 -3
  17. package/dist/index.js +215 -98
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +22 -22
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/{langserve-f00629d2.d.ts → langserve-cc06e76e.d.ts} +1 -0
  22. package/dist/lib/index.d.ts +3 -3
  23. package/dist/lib/index.js +215 -98
  24. package/dist/lib/index.js.map +1 -1
  25. package/dist/lib/index.mjs +21 -21
  26. package/dist/lib/integrations/index.d.ts +3 -3
  27. package/dist/lib/integrations/index.js +153 -85
  28. package/dist/lib/integrations/index.js.map +1 -1
  29. package/dist/lib/integrations/index.mjs +5 -5
  30. package/dist/lib/integrations/nest/index.d.ts +2 -2
  31. package/dist/lib/integrations/nest/index.js +150 -82
  32. package/dist/lib/integrations/nest/index.js.map +1 -1
  33. package/dist/lib/integrations/nest/index.mjs +3 -3
  34. package/dist/lib/integrations/node-express/index.d.ts +2 -2
  35. package/dist/lib/integrations/node-express/index.js +150 -82
  36. package/dist/lib/integrations/node-express/index.js.map +1 -1
  37. package/dist/lib/integrations/node-express/index.mjs +3 -3
  38. package/dist/lib/integrations/node-http/index.d.ts +2 -2
  39. package/dist/lib/integrations/node-http/index.js +149 -81
  40. package/dist/lib/integrations/node-http/index.js.map +1 -1
  41. package/dist/lib/integrations/node-http/index.mjs +2 -2
  42. package/dist/service-adapters/index.d.ts +3 -3
  43. package/dist/service-adapters/index.js +31 -18
  44. package/dist/service-adapters/index.js.map +1 -1
  45. package/dist/service-adapters/index.mjs +1 -2
  46. package/package.json +4 -4
  47. package/src/agents/langgraph/event-source.ts +2 -2
  48. package/src/agents/langgraph/events.ts +2 -0
  49. package/src/lib/integrations/nest/index.ts +5 -2
  50. package/src/lib/integrations/nextjs/app-router.ts +5 -2
  51. package/src/lib/integrations/nextjs/pages-router.ts +5 -2
  52. package/src/lib/integrations/node-express/index.ts +5 -2
  53. package/src/lib/integrations/node-http/index.ts +5 -2
  54. package/src/lib/runtime/copilot-runtime.ts +53 -47
  55. package/src/lib/runtime/remote-action-constructors.ts +23 -9
  56. package/src/lib/runtime/remote-actions.ts +9 -9
  57. package/src/lib/runtime/{remote-lg-cloud-action.ts → remote-lg-action.ts} +59 -33
  58. package/src/lib/telemetry-client.ts +43 -0
  59. package/src/service-adapters/events.ts +13 -1
  60. package/src/service-adapters/google/google-genai-adapter.ts +2 -2
  61. package/src/service-adapters/langchain/langchain-adapter.ts +22 -16
  62. package/src/service-adapters/openai/openai-adapter.ts +5 -0
  63. package/dist/chunk-BNQDVBQH.mjs.map +0 -1
  64. package/dist/chunk-GWP2VADN.mjs +0 -288
  65. package/dist/chunk-GWP2VADN.mjs.map +0 -1
  66. package/dist/chunk-HZ2XTQUC.mjs.map +0 -1
  67. package/dist/chunk-JTVWJUZP.mjs.map +0 -1
  68. package/dist/chunk-MXXPWWBF.mjs +0 -218
  69. package/dist/chunk-MXXPWWBF.mjs.map +0 -1
  70. package/dist/chunk-SMHGZXIT.mjs.map +0 -1
  71. package/dist/chunk-TTVQTORT.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,100 +1,38 @@
1
1
  # @copilotkit/runtime
2
2
 
3
- ## 1.3.16-mme-lgc-langgraph-package.11
4
-
5
- ### Patch Changes
6
-
7
- - Add CopilotKitState
8
- - Updated dependencies
9
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.11
10
-
11
- ## 1.3.16-mme-lgc-langgraph-package.10
12
-
13
- ### Patch Changes
14
-
15
- - Fix langchain path
16
- - Updated dependencies
17
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.10
18
-
19
- ## 1.3.16-mme-lgc-langgraph-package.9
20
-
21
- ### Patch Changes
22
-
23
- - update entry
24
- - Updated dependencies
25
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.9
26
-
27
- ## 1.3.16-mme-lgc-langgraph-package.8
28
-
29
- ### Patch Changes
30
-
31
- - update entry
32
- - Updated dependencies
33
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.8
34
-
35
- ## 1.3.16-mme-lgc-langgraph-package.7
36
-
37
- ### Patch Changes
38
-
39
- - update entry in tsup config
40
- - Updated dependencies
41
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.7
42
-
43
- ## 1.3.16-mme-lgc-langgraph-package.6
44
-
45
- ### Patch Changes
46
-
47
- - Update exports
48
- - Updated dependencies
49
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.6
50
-
51
- ## 1.3.16-mme-lgc-langgraph-package.5
52
-
53
- ### Patch Changes
54
-
55
- - update tsup config
56
- - Updated dependencies
57
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.5
58
-
59
- ## 1.3.16-mme-lgc-langgraph-package.4
60
-
61
- ### Patch Changes
62
-
63
- - Update exports
64
- - Updated dependencies
65
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.4
66
-
67
- ## 1.3.16-mme-lgc-langgraph-package.3
68
-
69
- ### Patch Changes
70
-
71
- - export langchain module
72
- - Updated dependencies
73
- - @copilotkit/shared@1.3.16-mme-lgc-langgraph-package.3
74
-
75
- ## 1.3.16-mme-sdk-js.2
76
-
77
- ### Patch Changes
78
-
79
- - Ensure intermediate state config is sent as snake case
80
- - Updated dependencies
81
- - @copilotkit/shared@1.3.16-mme-sdk-js.2
82
-
83
- ## 1.3.16-mme-sdk-js.1
84
-
85
- ### Patch Changes
86
-
87
- - Update lockfile
88
- - Updated dependencies
89
- - @copilotkit/shared@1.3.16-mme-sdk-js.1
90
-
91
- ## 1.3.16-mme-sdk-js.0
92
-
93
- ### Patch Changes
94
-
95
- - Export LangGraph functions
96
- - Updated dependencies
97
- - @copilotkit/shared@1.3.16-mme-sdk-js.0
3
+ ## 1.3.16-mme-revert-rxjs-changes.10
4
+
5
+ ### Patch Changes
6
+
7
+ - f6fab28: update tsup config
8
+ - f6fab28: update entry
9
+ - f6fab28: export langchain module
10
+ - 8a77944: Improve LangSmith support
11
+ - f6fab28: Ensure intermediate state config is sent as snake case
12
+ - f6fab28: update entry in tsup config
13
+ - 8a77944: Ensure the last message is sent to LangSmith
14
+ - Revert rxjs changes
15
+ - f6fab28: update entry
16
+ - f6fab28: Update exports
17
+ - f6fab28: Update exports
18
+ - 332d744: Add support for Azure OpenAI
19
+ - f6fab28: Export LangGraph functions
20
+ - f6fab28: Update lockfile
21
+ - Updated dependencies [f6fab28]
22
+ - Updated dependencies [f6fab28]
23
+ - Updated dependencies [f6fab28]
24
+ - Updated dependencies [8a77944]
25
+ - Updated dependencies [f6fab28]
26
+ - Updated dependencies [f6fab28]
27
+ - Updated dependencies [8a77944]
28
+ - Updated dependencies
29
+ - Updated dependencies [f6fab28]
30
+ - Updated dependencies [f6fab28]
31
+ - Updated dependencies [f6fab28]
32
+ - Updated dependencies [332d744]
33
+ - Updated dependencies [f6fab28]
34
+ - Updated dependencies [f6fab28]
35
+ - @copilotkit/shared@1.3.16-mme-revert-rxjs-changes.10
98
36
 
99
37
  ## 1.3.15
100
38
 
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  copilotRuntimeNodeHttpEndpoint,
3
+ getRuntimeInstanceTelemetryInfo,
3
4
  telemetry_client_default
4
- } from "./chunk-JTVWJUZP.mjs";
5
+ } from "./chunk-YSCTOGKC.mjs";
5
6
  import {
6
7
  __name
7
8
  } from "./chunk-44O2JGUY.mjs";
@@ -13,7 +14,7 @@ function copilotRuntimeNodeExpressEndpoint(options) {
13
14
  framework: "node-express"
14
15
  }
15
16
  });
16
- telemetry_client_default.capture("oss.runtime.instance_created", {});
17
+ telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options.runtime));
17
18
  return copilotRuntimeNodeHttpEndpoint(options);
18
19
  }
19
20
  __name(copilotRuntimeNodeExpressEndpoint, "copilotRuntimeNodeExpressEndpoint");
@@ -21,4 +22,4 @@ __name(copilotRuntimeNodeExpressEndpoint, "copilotRuntimeNodeExpressEndpoint");
21
22
  export {
22
23
  copilotRuntimeNodeExpressEndpoint
23
24
  };
24
- //# sourceMappingURL=chunk-SMHGZXIT.mjs.map
25
+ //# sourceMappingURL=chunk-3EIBEZQI.mjs.map
@@ -0,0 +1 @@
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\";\n\nexport function copilotRuntimeNodeExpressEndpoint(options: CreateCopilotRuntimeServerOptions) {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"node-express\",\n },\n });\n\n telemetry.capture(\n \"oss.runtime.instance_created\",\n getRuntimeInstanceTelemetryInfo(options.runtime),\n );\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAIO,SAASA,kCAAkCC,SAA0C;AAC1FC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QACR,gCACAC,gCAAgCN,QAAQG,OAAO,CAAA;AAEjD,SAAOI,+BAA+BP,OAAAA;AACxC;AAZgBD;","names":["copilotRuntimeNodeExpressEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  copilotRuntimeNodeHttpEndpoint,
3
+ getRuntimeInstanceTelemetryInfo,
3
4
  telemetry_client_default
4
- } from "./chunk-JTVWJUZP.mjs";
5
+ } from "./chunk-YSCTOGKC.mjs";
5
6
  import {
6
7
  __name
7
8
  } from "./chunk-44O2JGUY.mjs";
@@ -13,7 +14,7 @@ function copilotRuntimeNestEndpoint(options) {
13
14
  framework: "nest"
14
15
  }
15
16
  });
16
- telemetry_client_default.capture("oss.runtime.instance_created", {});
17
+ telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options.runtime));
17
18
  return copilotRuntimeNodeHttpEndpoint(options);
18
19
  }
19
20
  __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
@@ -21,4 +22,4 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
21
22
  export {
22
23
  copilotRuntimeNestEndpoint
23
24
  };
24
- //# sourceMappingURL=chunk-TTVQTORT.mjs.map
25
+ //# sourceMappingURL=chunk-4MX7GDLS.mjs.map
@@ -0,0 +1 @@
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(\n \"oss.runtime.instance_created\",\n getRuntimeInstanceTelemetryInfo(options.runtime),\n );\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAIO,SAASA,2BAA2BC,SAA0C;AACnFC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QACR,gCACAC,gCAAgCN,QAAQG,OAAO,CAAA;AAEjD,SAAOI,+BAA+BP,OAAAA;AACxC;AAZgBD;","names":["copilotRuntimeNestEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-DFOKBSIS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  getCommonConfig,
3
+ getRuntimeInstanceTelemetryInfo,
3
4
  telemetry_client_default
4
- } from "./chunk-JTVWJUZP.mjs";
5
+ } from "./chunk-YSCTOGKC.mjs";
5
6
  import {
6
7
  __name
7
8
  } from "./chunk-44O2JGUY.mjs";
@@ -21,7 +22,7 @@ function copilotRuntimeNextJSAppRouterEndpoint(options) {
21
22
  _copilotkit: options.properties._copilotkit
22
23
  });
23
24
  }
24
- telemetry_client_default.capture("oss.runtime.instance_created", {});
25
+ telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options.runtime));
25
26
  const logger = commonConfig.logging;
26
27
  logger.debug("Creating NextJS App Router endpoint");
27
28
  const yoga = createYoga({
@@ -60,7 +61,7 @@ function copilotRuntimeNextJSPagesRouterEndpoint(options) {
60
61
  _copilotkit: options.properties._copilotkit
61
62
  });
62
63
  }
63
- telemetry_client_default.capture("oss.runtime.instance_created", {});
64
+ telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options.runtime));
64
65
  const logger = commonConfig.logging;
65
66
  logger.debug("Creating NextJS Pages Router endpoint");
66
67
  const yoga = createYoga2({
@@ -76,4 +77,4 @@ export {
76
77
  config,
77
78
  copilotRuntimeNextJSPagesRouterEndpoint
78
79
  };
79
- //# sourceMappingURL=chunk-HZ2XTQUC.mjs.map
80
+ //# sourceMappingURL=chunk-UO2QXEDA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/integrations/nextjs/app-router.ts","../src/lib/integrations/nextjs/pages-router.ts"],"sourcesContent":["import { createYoga } from \"graphql-yoga\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\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(\n \"oss.runtime.instance_created\",\n getRuntimeInstanceTelemetryInfo(options.runtime),\n );\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS App Router endpoint\");\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: options.endpoint,\n fetchAPI: { Response: globalThis.Response },\n });\n\n return {\n handleRequest: yoga,\n GET: yoga as any,\n POST: yoga as any,\n OPTIONS: yoga as any,\n };\n}\n","import { YogaServerInstance, createYoga } from \"graphql-yoga\";\nimport { CreateCopilotRuntimeServerOptions, GraphQLContext, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\n\nexport const config = {\n api: {\n bodyParser: false,\n },\n};\n\nexport type CopilotRuntimeServerInstance<T> = YogaServerInstance<T, Partial<GraphQLContext>>;\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): CopilotRuntimeServerInstance<GraphQLContext> {\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(\n \"oss.runtime.instance_created\",\n getRuntimeInstanceTelemetryInfo(options.runtime),\n );\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS Pages Router endpoint\");\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: options.endpoint,\n });\n\n return yoga;\n}\n"],"mappings":";;;;;;;;;;AAAA,SAASA,kBAAkB;AAIpB,SAASC,sCAAsCC,SAA0C;AAJhG;AAKE,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,QACR,gCACAC,gCAAgCV,QAAQK,OAAO,CAAA;AAGjD,QAAMM,SAASV,aAAaW;AAC5BD,SAAOE,MAAM,qCAAA;AAEb,QAAMC,OAAOC,WAAW;IACtB,GAAGd;IACHe,iBAAiBhB,QAAQiB;IACzBC,UAAU;MAAEC,UAAUC,WAAWD;IAAS;EAC5C,CAAA;AAEA,SAAO;IACLE,eAAeP;IACfQ,KAAKR;IACLS,MAAMT;IACNU,SAASV;EACX;AACF;AAnCgBf;;;ACJhB,SAA6B0B,cAAAA,mBAAkB;AAIxC,IAAMC,SAAS;EACpBC,KAAK;IACHC,YAAY;EACd;AACF;AASO,SAASC,wCACdC,SAA0C;AAlB5C;AAoBE,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,QACR,gCACAC,gCAAgCV,QAAQK,OAAO,CAAA;AAGjD,QAAMM,SAASV,aAAaW;AAC5BD,SAAOE,MAAM,uCAAA;AAEb,QAAMC,OAAOC,YAAW;IACtB,GAAGd;IACHe,iBAAiBhB,QAAQiB;EAC3B,CAAA;AAEA,SAAOH;AACT;AA/BgBf;","names":["createYoga","copilotRuntimeNextJSAppRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","yoga","createYoga","graphqlEndpoint","endpoint","fetchAPI","Response","globalThis","handleRequest","GET","POST","OPTIONS","createYoga","config","api","bodyParser","copilotRuntimeNextJSPagesRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","yoga","createYoga","graphqlEndpoint","endpoint"]}
@@ -1,8 +1,3 @@
1
- import {
2
- convertActionInputToLangChainTool,
3
- convertMessageToLangChainMessage,
4
- streamLangChainResponse
5
- } from "./chunk-MXXPWWBF.mjs";
6
1
  import {
7
2
  __name
8
3
  } from "./chunk-44O2JGUY.mjs";
@@ -282,6 +277,9 @@ var OpenAIAdapter = class {
282
277
  var _a, _b;
283
278
  let mode = null;
284
279
  for await (const chunk of stream) {
280
+ if (chunk.choices.length === 0) {
281
+ continue;
282
+ }
285
283
  const toolCall = (_a = chunk.choices[0].delta.tool_calls) == null ? void 0 : _a[0];
286
284
  const content = chunk.choices[0].delta.content;
287
285
  if (mode === "message" && (toolCall == null ? void 0 : toolCall.id)) {
@@ -320,8 +318,217 @@ var OpenAIAdapter = class {
320
318
  };
321
319
  __name(OpenAIAdapter, "OpenAIAdapter");
322
320
 
323
- // src/service-adapters/langchain/langchain-adapter.ts
321
+ // src/service-adapters/langchain/utils.ts
322
+ import { AIMessage, HumanMessage, SystemMessage, ToolMessage } from "@langchain/core/messages";
323
+ import { DynamicStructuredTool } from "@langchain/core/tools";
324
+ import { z } from "zod";
324
325
  import { randomId as randomId2 } from "@copilotkit/shared";
326
+ function convertMessageToLangChainMessage(message) {
327
+ if (message.isTextMessage()) {
328
+ if (message.role == "user") {
329
+ return new HumanMessage(message.content);
330
+ } else if (message.role == "assistant") {
331
+ return new AIMessage(message.content);
332
+ } else if (message.role === "system") {
333
+ return new SystemMessage(message.content);
334
+ }
335
+ } else if (message.isActionExecutionMessage()) {
336
+ return new AIMessage({
337
+ content: "",
338
+ tool_calls: [
339
+ {
340
+ id: message.id,
341
+ args: message.arguments,
342
+ name: message.name
343
+ }
344
+ ]
345
+ });
346
+ } else if (message.isResultMessage()) {
347
+ return new ToolMessage({
348
+ content: message.result,
349
+ tool_call_id: message.actionExecutionId
350
+ });
351
+ }
352
+ }
353
+ __name(convertMessageToLangChainMessage, "convertMessageToLangChainMessage");
354
+ function convertJsonSchemaToZodSchema(jsonSchema, required) {
355
+ if (jsonSchema.type === "object") {
356
+ const spec = {};
357
+ if (!jsonSchema.properties || !Object.keys(jsonSchema.properties).length) {
358
+ return !required ? z.object(spec).optional() : z.object(spec);
359
+ }
360
+ for (const [key, value] of Object.entries(jsonSchema.properties)) {
361
+ spec[key] = convertJsonSchemaToZodSchema(value, jsonSchema.required ? jsonSchema.required.includes(key) : false);
362
+ }
363
+ let schema = z.object(spec).describe(jsonSchema.description);
364
+ return required ? schema : schema.optional();
365
+ } else if (jsonSchema.type === "string") {
366
+ let schema = z.string().describe(jsonSchema.description);
367
+ return required ? schema : schema.optional();
368
+ } else if (jsonSchema.type === "number") {
369
+ let schema = z.number().describe(jsonSchema.description);
370
+ return required ? schema : schema.optional();
371
+ } else if (jsonSchema.type === "boolean") {
372
+ let schema = z.boolean().describe(jsonSchema.description);
373
+ return required ? schema : schema.optional();
374
+ } else if (jsonSchema.type === "array") {
375
+ let itemSchema = convertJsonSchemaToZodSchema(jsonSchema.items, true);
376
+ let schema = z.array(itemSchema).describe(jsonSchema.description);
377
+ return required ? schema : schema.optional();
378
+ }
379
+ }
380
+ __name(convertJsonSchemaToZodSchema, "convertJsonSchemaToZodSchema");
381
+ function convertActionInputToLangChainTool(actionInput) {
382
+ return new DynamicStructuredTool({
383
+ name: actionInput.name,
384
+ description: actionInput.description,
385
+ schema: convertJsonSchemaToZodSchema(JSON.parse(actionInput.jsonSchema), true),
386
+ func: async () => {
387
+ return "";
388
+ }
389
+ });
390
+ }
391
+ __name(convertActionInputToLangChainTool, "convertActionInputToLangChainTool");
392
+ function isAIMessage(message) {
393
+ return Object.prototype.toString.call(message) === "[object AIMessage]";
394
+ }
395
+ __name(isAIMessage, "isAIMessage");
396
+ function isAIMessageChunk(message) {
397
+ return Object.prototype.toString.call(message) === "[object AIMessageChunk]";
398
+ }
399
+ __name(isAIMessageChunk, "isAIMessageChunk");
400
+ function isBaseMessageChunk(message) {
401
+ return Object.prototype.toString.call(message) === "[object BaseMessageChunk]";
402
+ }
403
+ __name(isBaseMessageChunk, "isBaseMessageChunk");
404
+ function maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution) {
405
+ if (actionExecution) {
406
+ eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, "Sending a message");
407
+ }
408
+ }
409
+ __name(maybeSendActionExecutionResultIsMessage, "maybeSendActionExecutionResultIsMessage");
410
+ async function streamLangChainResponse({ result, eventStream$, actionExecution }) {
411
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
412
+ if (typeof result === "string") {
413
+ if (!actionExecution) {
414
+ eventStream$.sendTextMessage(randomId2(), result);
415
+ } else {
416
+ eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, result);
417
+ }
418
+ } else if (isAIMessage(result)) {
419
+ maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
420
+ if (result.content) {
421
+ eventStream$.sendTextMessage(randomId2(), result.content);
422
+ }
423
+ for (const toolCall of result.tool_calls) {
424
+ eventStream$.sendActionExecution(toolCall.id || randomId2(), toolCall.name, JSON.stringify(toolCall.args));
425
+ }
426
+ } else if (isBaseMessageChunk(result)) {
427
+ maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
428
+ if ((_a = result.lc_kwargs) == null ? void 0 : _a.content) {
429
+ eventStream$.sendTextMessage(randomId2(), result.content);
430
+ }
431
+ if ((_b = result.lc_kwargs) == null ? void 0 : _b.tool_calls) {
432
+ for (const toolCall of (_c = result.lc_kwargs) == null ? void 0 : _c.tool_calls) {
433
+ eventStream$.sendActionExecution(toolCall.id || randomId2(), toolCall.name, JSON.stringify(toolCall.args));
434
+ }
435
+ }
436
+ } else if (result && "getReader" in result) {
437
+ maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
438
+ let reader = result.getReader();
439
+ let mode = null;
440
+ const toolCallDetails = {
441
+ name: null,
442
+ id: null,
443
+ index: null,
444
+ prevIndex: null
445
+ };
446
+ while (true) {
447
+ try {
448
+ const { done, value } = await reader.read();
449
+ let toolCallName = void 0;
450
+ let toolCallId = void 0;
451
+ let toolCallArgs = void 0;
452
+ let hasToolCall = false;
453
+ let content = value == null ? void 0 : value.content;
454
+ if (isAIMessageChunk(value)) {
455
+ let chunk = (_d = value.tool_call_chunks) == null ? void 0 : _d[0];
456
+ toolCallArgs = chunk == null ? void 0 : chunk.args;
457
+ hasToolCall = chunk != void 0;
458
+ if (chunk == null ? void 0 : chunk.name)
459
+ toolCallDetails.name = chunk.name;
460
+ if ((chunk == null ? void 0 : chunk.index) != null) {
461
+ toolCallDetails.index = chunk.index;
462
+ if (toolCallDetails.prevIndex == null)
463
+ toolCallDetails.prevIndex = chunk.index;
464
+ }
465
+ if (chunk == null ? void 0 : chunk.id)
466
+ toolCallDetails.id = chunk.index != null ? `${chunk.id}-idx-${chunk.index}` : chunk.id;
467
+ toolCallName = toolCallDetails.name;
468
+ toolCallId = toolCallDetails.id;
469
+ } else if (isBaseMessageChunk(value)) {
470
+ let chunk = (_f = (_e = value.additional_kwargs) == null ? void 0 : _e.tool_calls) == null ? void 0 : _f[0];
471
+ toolCallName = (_g = chunk == null ? void 0 : chunk.function) == null ? void 0 : _g.name;
472
+ toolCallId = chunk == null ? void 0 : chunk.id;
473
+ toolCallArgs = (_h = chunk == null ? void 0 : chunk.function) == null ? void 0 : _h.arguments;
474
+ hasToolCall = (chunk == null ? void 0 : chunk.function) != void 0;
475
+ }
476
+ if (mode === "message" && (toolCallId || done)) {
477
+ mode = null;
478
+ eventStream$.sendTextMessageEnd();
479
+ } else if (mode === "function" && (!hasToolCall || done)) {
480
+ mode = null;
481
+ eventStream$.sendActionExecutionEnd();
482
+ }
483
+ if (done) {
484
+ break;
485
+ }
486
+ if (mode === null) {
487
+ if (hasToolCall && toolCallId && toolCallName) {
488
+ mode = "function";
489
+ eventStream$.sendActionExecutionStart(toolCallId, toolCallName);
490
+ } else if (content) {
491
+ mode = "message";
492
+ eventStream$.sendTextMessageStart(randomId2());
493
+ }
494
+ }
495
+ if (mode === "message" && content) {
496
+ eventStream$.sendTextMessageContent(Array.isArray(content) ? ((_i = content[0]) == null ? void 0 : _i.text) ?? "" : content);
497
+ } else if (mode === "function" && toolCallArgs) {
498
+ if (toolCallDetails.index !== toolCallDetails.prevIndex) {
499
+ eventStream$.sendActionExecutionEnd();
500
+ eventStream$.sendActionExecutionStart(toolCallId, toolCallName);
501
+ toolCallDetails.prevIndex = toolCallDetails.index;
502
+ }
503
+ eventStream$.sendActionExecutionArgs(toolCallArgs);
504
+ }
505
+ } catch (error) {
506
+ console.error("Error reading from stream", error);
507
+ break;
508
+ }
509
+ }
510
+ } else if (actionExecution) {
511
+ eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, encodeResult(result));
512
+ } else {
513
+ throw new Error("Invalid return type from LangChain function.");
514
+ }
515
+ eventStream$.complete();
516
+ }
517
+ __name(streamLangChainResponse, "streamLangChainResponse");
518
+ function encodeResult(result) {
519
+ if (result === void 0) {
520
+ return "";
521
+ } else if (typeof result === "string") {
522
+ return result;
523
+ } else {
524
+ return JSON.stringify(result);
525
+ }
526
+ }
527
+ __name(encodeResult, "encodeResult");
528
+
529
+ // src/service-adapters/langchain/langchain-adapter.ts
530
+ import { randomId as randomId3 } from "@copilotkit/shared";
531
+ import { awaitAllCallbacks } from "@langchain/core/callbacks/promises";
325
532
  var LangChainAdapter = class {
326
533
  options;
327
534
  /**
@@ -331,23 +538,28 @@ var LangChainAdapter = class {
331
538
  this.options = options;
332
539
  }
333
540
  async process(request) {
334
- const { eventSource, model, actions, messages, threadId, runId } = request;
335
- const result = await this.options.chainFn({
336
- messages: messages.map(convertMessageToLangChainMessage),
337
- tools: actions.map(convertActionInputToLangChainTool),
338
- model,
339
- threadId,
340
- runId
341
- });
342
- eventSource.stream(async (eventStream$) => {
343
- await streamLangChainResponse({
344
- result,
345
- eventStream$
541
+ try {
542
+ const { eventSource, model, actions, messages, runId } = request;
543
+ const threadId = request.threadId ?? randomId3();
544
+ const result = await this.options.chainFn({
545
+ messages: messages.map(convertMessageToLangChainMessage),
546
+ tools: actions.map(convertActionInputToLangChainTool),
547
+ model,
548
+ threadId,
549
+ runId
346
550
  });
347
- });
348
- return {
349
- threadId: threadId || randomId2()
350
- };
551
+ eventSource.stream(async (eventStream$) => {
552
+ await streamLangChainResponse({
553
+ result,
554
+ eventStream$
555
+ });
556
+ });
557
+ return {
558
+ threadId
559
+ };
560
+ } finally {
561
+ await awaitAllCallbacks();
562
+ }
351
563
  }
352
564
  };
353
565
  __name(LangChainAdapter, "LangChainAdapter");
@@ -357,12 +569,16 @@ import { ChatGoogle } from "@langchain/google-gauth";
357
569
  var GoogleGenerativeAIAdapter = class extends LangChainAdapter {
358
570
  constructor(options) {
359
571
  super({
360
- chainFn: async ({ messages, tools }) => {
572
+ chainFn: async ({ messages, tools, threadId }) => {
361
573
  const model = new ChatGoogle({
362
574
  modelName: (options == null ? void 0 : options.model) ?? "gemini-1.5-pro",
363
575
  apiVersion: "v1beta"
364
576
  }).bindTools(tools);
365
- return model.stream(messages);
577
+ return model.stream(messages, {
578
+ metadata: {
579
+ conversation_id: threadId
580
+ }
581
+ });
366
582
  }
367
583
  });
368
584
  }
@@ -533,7 +749,7 @@ __name(getRunIdFromStream, "getRunIdFromStream");
533
749
 
534
750
  // src/service-adapters/unify/unify-adapter.ts
535
751
  import OpenAI3 from "openai";
536
- import { randomId as randomId3 } from "@copilotkit/shared";
752
+ import { randomId as randomId4 } from "@copilotkit/shared";
537
753
  var UnifyAdapter = class {
538
754
  apiKey;
539
755
  model;
@@ -569,7 +785,7 @@ var UnifyAdapter = class {
569
785
  for await (const chunk of stream) {
570
786
  if (this.start) {
571
787
  model = chunk.model;
572
- eventStream$.sendTextMessageStart(randomId3());
788
+ eventStream$.sendTextMessageStart(randomId4());
573
789
  eventStream$.sendTextMessageContent(`Model used: ${model}
574
790
  `);
575
791
  eventStream$.sendTextMessageEnd();
@@ -607,7 +823,7 @@ var UnifyAdapter = class {
607
823
  eventStream$.complete();
608
824
  });
609
825
  return {
610
- threadId: request.threadId || randomId3()
826
+ threadId: request.threadId || randomId4()
611
827
  };
612
828
  }
613
829
  };
@@ -615,7 +831,7 @@ __name(UnifyAdapter, "UnifyAdapter");
615
831
 
616
832
  // src/service-adapters/groq/groq-adapter.ts
617
833
  import { Groq } from "groq-sdk";
618
- import { randomId as randomId4 } from "@copilotkit/shared";
834
+ import { randomId as randomId5 } from "@copilotkit/shared";
619
835
  var DEFAULT_MODEL2 = "llama3-groq-70b-8192-tool-use-preview";
620
836
  var GroqAdapter = class {
621
837
  model = DEFAULT_MODEL2;
@@ -701,7 +917,7 @@ var GroqAdapter = class {
701
917
  eventStream$.complete();
702
918
  });
703
919
  return {
704
- threadId: threadId || randomId4()
920
+ threadId: threadId || randomId5()
705
921
  };
706
922
  }
707
923
  };
@@ -843,7 +1059,7 @@ function groupAnthropicMessagesByRole(messageParams) {
843
1059
  __name(groupAnthropicMessagesByRole, "groupAnthropicMessagesByRole");
844
1060
 
845
1061
  // src/service-adapters/anthropic/anthropic-adapter.ts
846
- import { randomId as randomId5 } from "@copilotkit/shared";
1062
+ import { randomId as randomId6 } from "@copilotkit/shared";
847
1063
  var DEFAULT_MODEL3 = "claude-3-sonnet-20240229";
848
1064
  var AnthropicAdapter = class {
849
1065
  model = DEFAULT_MODEL3;
@@ -891,8 +1107,8 @@ var AnthropicAdapter = class {
891
1107
  eventSource.stream(async (eventStream$) => {
892
1108
  let mode = null;
893
1109
  let didOutputText = false;
894
- let currentMessageId = randomId5();
895
- let currentToolCallId = randomId5();
1110
+ let currentMessageId = randomId6();
1111
+ let currentToolCallId = randomId6();
896
1112
  let filterThinkingTextBuffer = new FilterThinkingTextBuffer();
897
1113
  for await (const chunk of await stream) {
898
1114
  if (chunk.type === "message_start") {
@@ -933,7 +1149,7 @@ var AnthropicAdapter = class {
933
1149
  eventStream$.complete();
934
1150
  });
935
1151
  return {
936
- threadId: threadId || randomId5()
1152
+ threadId: threadId || randomId6()
937
1153
  };
938
1154
  }
939
1155
  };
@@ -974,6 +1190,7 @@ var FilterThinkingTextBuffer = /* @__PURE__ */ __name(class FilterThinkingTextBu
974
1190
  export {
975
1191
  RemoteChain,
976
1192
  OpenAIAdapter,
1193
+ streamLangChainResponse,
977
1194
  LangChainAdapter,
978
1195
  GoogleGenerativeAIAdapter,
979
1196
  OpenAIAssistantAdapter,
@@ -981,4 +1198,4 @@ export {
981
1198
  GroqAdapter,
982
1199
  AnthropicAdapter
983
1200
  };
984
- //# sourceMappingURL=chunk-BNQDVBQH.mjs.map
1201
+ //# sourceMappingURL=chunk-WHJ3DAYL.mjs.map