@copilotkit/runtime 1.0.6 → 1.0.8-integrations-unify.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 (49) hide show
  1. package/.turbo/turbo-build.log +51 -51
  2. package/CHANGELOG.md +24 -0
  3. package/dist/{chunk-FI5ULODX.mjs → chunk-3HW6N3ZT.mjs} +2 -2
  4. package/dist/{chunk-JA2IRWRL.mjs → chunk-J5GIXAC4.mjs} +75 -12
  5. package/dist/{chunk-JA2IRWRL.mjs.map → chunk-J5GIXAC4.mjs.map} +1 -1
  6. package/dist/{chunk-A2K4XX7Q.mjs → chunk-JLCQGNST.mjs} +14 -2
  7. package/dist/chunk-JLCQGNST.mjs.map +1 -0
  8. package/dist/{chunk-ZA7P76V6.mjs → chunk-MQSKKZ6E.mjs} +16 -2
  9. package/dist/chunk-MQSKKZ6E.mjs.map +1 -0
  10. package/dist/{chunk-KZ4CQTGH.mjs → chunk-R2FQNVPT.mjs} +3 -3
  11. package/dist/{chunk-XXDXWPU2.mjs → chunk-Z45IBAWL.mjs} +2 -2
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +121 -11
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs +9 -7
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/lib/index.d.ts +1 -1
  18. package/dist/lib/index.js +121 -11
  19. package/dist/lib/index.js.map +1 -1
  20. package/dist/lib/index.mjs +9 -7
  21. package/dist/lib/integrations/index.js +27 -1
  22. package/dist/lib/integrations/index.js.map +1 -1
  23. package/dist/lib/integrations/index.mjs +4 -4
  24. package/dist/lib/integrations/nest/index.js +15 -1
  25. package/dist/lib/integrations/nest/index.js.map +1 -1
  26. package/dist/lib/integrations/nest/index.mjs +2 -2
  27. package/dist/lib/integrations/node-express/index.js +15 -1
  28. package/dist/lib/integrations/node-express/index.js.map +1 -1
  29. package/dist/lib/integrations/node-express/index.mjs +2 -2
  30. package/dist/lib/integrations/node-http/index.js +15 -1
  31. package/dist/lib/integrations/node-http/index.js.map +1 -1
  32. package/dist/lib/integrations/node-http/index.mjs +1 -1
  33. package/dist/service-adapters/index.d.ts +1 -48
  34. package/dist/service-adapters/index.js +74 -11
  35. package/dist/service-adapters/index.js.map +1 -1
  36. package/dist/service-adapters/index.mjs +1 -1
  37. package/dist/{langchain-adapter-a02d1d38.d.ts → unify-adapter-8d38c723.d.ts} +13 -1
  38. package/package.json +4 -4
  39. package/src/lib/index.ts +1 -0
  40. package/src/lib/integrations/nextjs/app-router.ts +6 -0
  41. package/src/lib/integrations/nextjs/pages-router.ts +6 -0
  42. package/src/lib/integrations/node-http/index.ts +6 -0
  43. package/src/lib/integrations/shared.ts +8 -0
  44. package/src/service-adapters/unify/unify-adapter.ts +91 -31
  45. package/dist/chunk-A2K4XX7Q.mjs.map +0 -1
  46. package/dist/chunk-ZA7P76V6.mjs.map +0 -1
  47. /package/dist/{chunk-FI5ULODX.mjs.map → chunk-3HW6N3ZT.mjs.map} +0 -0
  48. /package/dist/{chunk-KZ4CQTGH.mjs.map → chunk-R2FQNVPT.mjs.map} +0 -0
  49. /package/dist/{chunk-XXDXWPU2.mjs.map → chunk-Z45IBAWL.mjs.map} +0 -0
package/dist/index.mjs CHANGED
@@ -1,30 +1,31 @@
1
1
  import {
2
2
  CopilotRuntime,
3
3
  flattenToolCallsNoDuplicates
4
- } from "./chunk-KZ4CQTGH.mjs";
4
+ } from "./chunk-R2FQNVPT.mjs";
5
5
  import {
6
6
  GoogleGenerativeAIAdapter,
7
7
  LangChainAdapter,
8
8
  OpenAIAdapter,
9
- OpenAIAssistantAdapter
10
- } from "./chunk-JA2IRWRL.mjs";
9
+ OpenAIAssistantAdapter,
10
+ UnifyAdapter
11
+ } from "./chunk-J5GIXAC4.mjs";
11
12
  import {
12
13
  config,
13
14
  copilotRuntimeNextJSAppRouterEndpoint,
14
15
  copilotRuntimeNextJSPagesRouterEndpoint
15
- } from "./chunk-A2K4XX7Q.mjs";
16
+ } from "./chunk-JLCQGNST.mjs";
16
17
  import {
17
18
  copilotRuntimeNestEndpoint
18
- } from "./chunk-XXDXWPU2.mjs";
19
+ } from "./chunk-Z45IBAWL.mjs";
19
20
  import {
20
21
  copilotRuntimeNodeExpressEndpoint
21
- } from "./chunk-FI5ULODX.mjs";
22
+ } from "./chunk-3HW6N3ZT.mjs";
22
23
  import {
23
24
  buildSchema,
24
25
  copilotRuntimeNodeHttpEndpoint,
25
26
  createContext,
26
27
  getCommonConfig
27
- } from "./chunk-ZA7P76V6.mjs";
28
+ } from "./chunk-MQSKKZ6E.mjs";
28
29
  import "./chunk-URMISMK2.mjs";
29
30
  import {
30
31
  GuardrailsValidationFailureResponse,
@@ -45,6 +46,7 @@ export {
45
46
  MessageStreamInterruptedResponse,
46
47
  OpenAIAdapter,
47
48
  OpenAIAssistantAdapter,
49
+ UnifyAdapter,
48
50
  UnknownErrorResponse,
49
51
  buildSchema,
50
52
  config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import \"reflect-metadata\";\nexport * from \"./lib\";\nexport * from \"./utils\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import \"reflect-metadata\";\nexport * from \"./lib\";\nexport * from \"./utils\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO;","names":[]}
@@ -1,5 +1,5 @@
1
1
  export { g as CommonConfig, b as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, c as CreateCopilotRuntimeServerOptions, G as GraphQLContext, e as buildSchema, d as createContext, f as flattenToolCallsNoDuplicates, h as getCommonConfig } from '../shared-48c0f7b8.js';
2
- export { G as GoogleGenerativeAIAdapter, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams } from '../langchain-adapter-a02d1d38.js';
2
+ export { G as GoogleGenerativeAIAdapter, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams, d as UnifyAdapter, U as UnifyAdapterParams } from '../unify-adapter-8d38c723.js';
3
3
  export { C as CopilotRuntimeServerInstance, a as config, c as copilotRuntimeNextJSAppRouterEndpoint, b as copilotRuntimeNextJSPagesRouterEndpoint } from '../pages-router-24897543.js';
4
4
  export { copilotRuntimeNodeHttpEndpoint } from './integrations/node-http/index.js';
5
5
  export { copilotRuntimeNodeExpressEndpoint } from './integrations/node-express/index.js';
package/dist/lib/index.js CHANGED
@@ -44,7 +44,7 @@ var require_package = __commonJS({
44
44
  publishConfig: {
45
45
  access: "public"
46
46
  },
47
- version: "1.0.6",
47
+ version: "1.0.8-integrations-unify.1",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -123,6 +123,7 @@ __export(lib_exports, {
123
123
  LangChainAdapter: () => LangChainAdapter,
124
124
  OpenAIAdapter: () => OpenAIAdapter,
125
125
  OpenAIAssistantAdapter: () => OpenAIAssistantAdapter,
126
+ UnifyAdapter: () => UnifyAdapter,
126
127
  buildSchema: () => buildSchema,
127
128
  config: () => config,
128
129
  copilotRuntimeNestEndpoint: () => copilotRuntimeNestEndpoint,
@@ -137,7 +138,7 @@ __export(lib_exports, {
137
138
  module.exports = __toCommonJS(lib_exports);
138
139
 
139
140
  // src/lib/copilot-runtime.ts
140
- var import_shared5 = require("@copilotkit/shared");
141
+ var import_shared6 = require("@copilotkit/shared");
141
142
 
142
143
  // src/service-adapters/openai/openai-adapter.ts
143
144
  var import_openai = __toESM(require("openai"));
@@ -1053,6 +1054,88 @@ var RemoteChain = class {
1053
1054
  };
1054
1055
  __name(RemoteChain, "RemoteChain");
1055
1056
 
1057
+ // src/service-adapters/unify/unify-adapter.ts
1058
+ var import_openai3 = __toESM(require("openai"));
1059
+ var import_shared5 = require("@copilotkit/shared");
1060
+ var UnifyAdapter = class {
1061
+ apiKey;
1062
+ model;
1063
+ start;
1064
+ constructor(options) {
1065
+ if (options == null ? void 0 : options.apiKey) {
1066
+ this.apiKey = options.apiKey;
1067
+ } else {
1068
+ this.apiKey = "UNIFY_API_KEY";
1069
+ }
1070
+ this.model = options == null ? void 0 : options.model;
1071
+ this.start = true;
1072
+ }
1073
+ async process(request) {
1074
+ const tools = request.actions.map(convertActionInputToOpenAITool);
1075
+ const openai = new import_openai3.default({
1076
+ apiKey: this.apiKey,
1077
+ baseURL: "https://api.unify.ai/v0/"
1078
+ });
1079
+ const messages = request.messages.map(convertMessageToOpenAIMessage);
1080
+ const stream = await openai.chat.completions.create({
1081
+ model: this.model,
1082
+ messages,
1083
+ stream: true,
1084
+ ...tools.length > 0 && {
1085
+ tools
1086
+ }
1087
+ });
1088
+ let model = null;
1089
+ request.eventSource.stream(async (eventStream$) => {
1090
+ var _a, _b;
1091
+ let mode = null;
1092
+ for await (const chunk of stream) {
1093
+ if (this.start) {
1094
+ model = chunk.model;
1095
+ eventStream$.sendTextMessageStart((0, import_shared5.randomId)());
1096
+ eventStream$.sendTextMessageContent(`Model used: ${model}
1097
+ `);
1098
+ eventStream$.sendTextMessageEnd();
1099
+ this.start = false;
1100
+ }
1101
+ const toolCall = (_a = chunk.choices[0].delta.tool_calls) == null ? void 0 : _a[0];
1102
+ const content = chunk.choices[0].delta.content;
1103
+ if (mode === "message" && (toolCall == null ? void 0 : toolCall.id)) {
1104
+ mode = null;
1105
+ eventStream$.sendTextMessageEnd();
1106
+ } else if (mode === "function" && (toolCall === void 0 || (toolCall == null ? void 0 : toolCall.id))) {
1107
+ mode = null;
1108
+ eventStream$.sendActionExecutionEnd();
1109
+ }
1110
+ if (mode === null) {
1111
+ if (toolCall == null ? void 0 : toolCall.id) {
1112
+ mode = "function";
1113
+ eventStream$.sendActionExecutionStart(toolCall.id, toolCall.function.name);
1114
+ } else if (content) {
1115
+ mode = "message";
1116
+ eventStream$.sendTextMessageStart(chunk.id);
1117
+ }
1118
+ }
1119
+ if (mode === "message" && content) {
1120
+ eventStream$.sendTextMessageContent(content);
1121
+ } else if (mode === "function" && ((_b = toolCall == null ? void 0 : toolCall.function) == null ? void 0 : _b.arguments)) {
1122
+ eventStream$.sendActionExecutionArgs(toolCall.function.arguments);
1123
+ }
1124
+ }
1125
+ if (mode === "message") {
1126
+ eventStream$.sendTextMessageEnd();
1127
+ } else if (mode === "function") {
1128
+ eventStream$.sendActionExecutionEnd();
1129
+ }
1130
+ eventStream$.complete();
1131
+ });
1132
+ return {
1133
+ threadId: request.threadId || (0, import_shared5.randomId)()
1134
+ };
1135
+ }
1136
+ };
1137
+ __name(UnifyAdapter, "UnifyAdapter");
1138
+
1056
1139
  // src/service-adapters/events.ts
1057
1140
  var import_rxjs = require("rxjs");
1058
1141
  var RuntimeEventTypes;
@@ -1274,7 +1357,7 @@ var CopilotRuntime = class {
1274
1357
  const serverSideActionsInput = actions.map((action) => ({
1275
1358
  name: action.name,
1276
1359
  description: action.description,
1277
- jsonSchema: JSON.stringify((0, import_shared5.actionParametersToJsonSchema)(action.parameters))
1360
+ jsonSchema: JSON.stringify((0, import_shared6.actionParametersToJsonSchema)(action.parameters))
1278
1361
  }));
1279
1362
  const actionInputs = flattenToolCallsNoDuplicates([
1280
1363
  ...serverSideActionsInput,
@@ -2100,16 +2183,16 @@ var UnknownErrorResponse = class extends FailedResponseStatus {
2100
2183
  __name(UnknownErrorResponse, "UnknownErrorResponse");
2101
2184
 
2102
2185
  // src/lib/telemetry-client.ts
2103
- var import_shared6 = require("@copilotkit/shared");
2186
+ var import_shared7 = require("@copilotkit/shared");
2104
2187
  var packageJson = require_package();
2105
- var telemetryClient = new import_shared6.TelemetryClient({
2188
+ var telemetryClient = new import_shared7.TelemetryClient({
2106
2189
  packageName: packageJson.name,
2107
2190
  packageVersion: packageJson.version
2108
2191
  });
2109
2192
  var telemetry_client_default = telemetryClient;
2110
2193
 
2111
2194
  // src/graphql/resolvers/copilot.resolver.ts
2112
- var import_shared7 = require("@copilotkit/shared");
2195
+ var import_shared8 = require("@copilotkit/shared");
2113
2196
  function _ts_decorate11(decorators, target, key, desc) {
2114
2197
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2115
2198
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -2227,7 +2310,7 @@ var CopilotResolver = class {
2227
2310
  rejectOutputMessagesPromise = reject;
2228
2311
  });
2229
2312
  logger2.debug("Processing");
2230
- const { eventSource, threadId = (0, import_shared7.randomId)(), runId, actions } = await copilotRuntime.process({
2313
+ const { eventSource, threadId = (0, import_shared8.randomId)(), runId, actions } = await copilotRuntime.process({
2231
2314
  serviceAdapter,
2232
2315
  messages: data.messages,
2233
2316
  actions: data.frontend.actions,
@@ -2268,7 +2351,7 @@ var CopilotResolver = class {
2268
2351
  });
2269
2352
  outputMessages = [
2270
2353
  (0, import_class_transformer2.plainToInstance)(TextMessage, {
2271
- id: (0, import_shared7.randomId)(),
2354
+ id: (0, import_shared8.randomId)(),
2272
2355
  createdAt: /* @__PURE__ */ new Date(),
2273
2356
  content: result.reason,
2274
2357
  role: MessageRole.assistant
@@ -2315,7 +2398,7 @@ var CopilotResolver = class {
2315
2398
  (0, import_rxjs2.takeWhile)((e) => e.type != RuntimeEventTypes.TextMessageEnd)
2316
2399
  );
2317
2400
  const streamingTextStatus = new import_rxjs2.Subject();
2318
- const messageId = (0, import_shared7.randomId)();
2401
+ const messageId = (0, import_shared8.randomId)();
2319
2402
  pushMessage({
2320
2403
  id: messageId,
2321
2404
  status: (0, import_rxjs2.firstValueFrom)(streamingTextStatus),
@@ -2427,7 +2510,7 @@ var CopilotResolver = class {
2427
2510
  result: event.result
2428
2511
  }, "Action execution result event received");
2429
2512
  pushMessage({
2430
- id: (0, import_shared7.randomId)(),
2513
+ id: (0, import_shared8.randomId)(),
2431
2514
  status: new SuccessMessageStatus(),
2432
2515
  createdAt: /* @__PURE__ */ new Date(),
2433
2516
  actionExecutionId: event.actionExecutionId,
@@ -2435,7 +2518,7 @@ var CopilotResolver = class {
2435
2518
  result: event.result
2436
2519
  });
2437
2520
  outputMessages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
2438
- id: (0, import_shared7.randomId)(),
2521
+ id: (0, import_shared8.randomId)(),
2439
2522
  createdAt: /* @__PURE__ */ new Date(),
2440
2523
  actionExecutionId: event.actionExecutionId,
2441
2524
  actionName: event.actionName,
@@ -2562,6 +2645,7 @@ function buildSchema(options = {}) {
2562
2645
  }
2563
2646
  __name(buildSchema, "buildSchema");
2564
2647
  function getCommonConfig(options) {
2648
+ var _a;
2565
2649
  const logLevel = process.env.LOG_LEVEL || options.logLevel || "error";
2566
2650
  const logger2 = createLogger({
2567
2651
  level: logLevel,
@@ -2576,6 +2660,13 @@ function getCommonConfig(options) {
2576
2660
  baseUrl: options.cloud.baseUrl
2577
2661
  });
2578
2662
  }
2663
+ if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
2664
+ telemetry_client_default.setGlobalProperties({
2665
+ _copilotkit: {
2666
+ ...options.properties._copilotkit
2667
+ }
2668
+ });
2669
+ }
2579
2670
  telemetry_client_default.setGlobalProperties({
2580
2671
  runtime: {
2581
2672
  serviceAdapter: options.serviceAdapter.constructor.name
@@ -2598,12 +2689,18 @@ __name(getCommonConfig, "getCommonConfig");
2598
2689
  // src/lib/integrations/nextjs/app-router.ts
2599
2690
  var import_graphql_yoga2 = require("graphql-yoga");
2600
2691
  function copilotRuntimeNextJSAppRouterEndpoint(options) {
2692
+ var _a;
2601
2693
  const commonConfig = getCommonConfig(options);
2602
2694
  telemetry_client_default.setGlobalProperties({
2603
2695
  runtime: {
2604
2696
  framework: "nextjs-app-router"
2605
2697
  }
2606
2698
  });
2699
+ if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
2700
+ telemetry_client_default.setGlobalProperties({
2701
+ _copilotkit: options.properties._copilotkit
2702
+ });
2703
+ }
2607
2704
  telemetry_client_default.capture("oss.runtime.instance_created", {});
2608
2705
  const logger2 = commonConfig.logging;
2609
2706
  logger2.debug("Creating NextJS App Router endpoint");
@@ -2631,12 +2728,18 @@ var config = {
2631
2728
  }
2632
2729
  };
2633
2730
  function copilotRuntimeNextJSPagesRouterEndpoint(options) {
2731
+ var _a;
2634
2732
  const commonConfig = getCommonConfig(options);
2635
2733
  telemetry_client_default.setGlobalProperties({
2636
2734
  runtime: {
2637
2735
  framework: "nextjs-pages-router"
2638
2736
  }
2639
2737
  });
2738
+ if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
2739
+ telemetry_client_default.setGlobalProperties({
2740
+ _copilotkit: options.properties._copilotkit
2741
+ });
2742
+ }
2640
2743
  telemetry_client_default.capture("oss.runtime.instance_created", {});
2641
2744
  const logger2 = commonConfig.logging;
2642
2745
  logger2.debug("Creating NextJS Pages Router endpoint");
@@ -2651,12 +2754,18 @@ __name(copilotRuntimeNextJSPagesRouterEndpoint, "copilotRuntimeNextJSPagesRouter
2651
2754
  // src/lib/integrations/node-http/index.ts
2652
2755
  var import_graphql_yoga4 = require("graphql-yoga");
2653
2756
  function copilotRuntimeNodeHttpEndpoint(options) {
2757
+ var _a;
2654
2758
  const commonConfig = getCommonConfig(options);
2655
2759
  telemetry_client_default.setGlobalProperties({
2656
2760
  runtime: {
2657
2761
  framework: "node-http"
2658
2762
  }
2659
2763
  });
2764
+ if ((_a = options.properties) == null ? void 0 : _a._copilotkit) {
2765
+ telemetry_client_default.setGlobalProperties({
2766
+ _copilotkit: options.properties._copilotkit
2767
+ });
2768
+ }
2660
2769
  telemetry_client_default.capture("oss.runtime.instance_created", {});
2661
2770
  const logger2 = commonConfig.logging;
2662
2771
  logger2.debug("Creating Node HTTP endpoint");
@@ -2698,6 +2807,7 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
2698
2807
  LangChainAdapter,
2699
2808
  OpenAIAdapter,
2700
2809
  OpenAIAssistantAdapter,
2810
+ UnifyAdapter,
2701
2811
  buildSchema,
2702
2812
  config,
2703
2813
  copilotRuntimeNestEndpoint,