@copilotkit/runtime 1.0.9-pre-async-submit-message.0 → 1.1.0

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 (47) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/dist/{chunk-P7DT7GBH.mjs → chunk-33VWYUCG.mjs} +2 -2
  3. package/dist/{chunk-BNJDOE7C.mjs → chunk-3EQWN3EU.mjs} +3 -3
  4. package/dist/{chunk-HQ6CMQ6Q.mjs → chunk-H4WHUJTA.mjs} +2 -2
  5. package/dist/{chunk-EKDV7RJD.mjs → chunk-IAZRYKV3.mjs} +74 -2
  6. package/dist/chunk-IAZRYKV3.mjs.map +1 -0
  7. package/dist/{chunk-3BNE3AS5.mjs → chunk-L2KQMWMJ.mjs} +2 -2
  8. package/dist/chunk-L2KQMWMJ.mjs.map +1 -0
  9. package/dist/{chunk-IWXFUJ57.mjs → chunk-WTJPEMUX.mjs} +2 -2
  10. package/dist/{unify-adapter-d5d10954.d.ts → groq-adapter-c01c14db.d.ts} +54 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.js +84 -11
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.mjs +8 -6
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/lib/index.d.ts +2 -1
  17. package/dist/lib/index.js +84 -11
  18. package/dist/lib/index.js.map +1 -1
  19. package/dist/lib/index.mjs +8 -6
  20. package/dist/lib/integrations/index.js +1 -1
  21. package/dist/lib/integrations/index.js.map +1 -1
  22. package/dist/lib/integrations/index.mjs +4 -4
  23. package/dist/lib/integrations/nest/index.js +1 -1
  24. package/dist/lib/integrations/nest/index.js.map +1 -1
  25. package/dist/lib/integrations/nest/index.mjs +2 -2
  26. package/dist/lib/integrations/node-express/index.js +1 -1
  27. package/dist/lib/integrations/node-express/index.js.map +1 -1
  28. package/dist/lib/integrations/node-express/index.mjs +2 -2
  29. package/dist/lib/integrations/node-http/index.js +1 -1
  30. package/dist/lib/integrations/node-http/index.js.map +1 -1
  31. package/dist/lib/integrations/node-http/index.mjs +1 -1
  32. package/dist/service-adapters/index.d.ts +2 -1
  33. package/dist/service-adapters/index.js +73 -0
  34. package/dist/service-adapters/index.js.map +1 -1
  35. package/dist/service-adapters/index.mjs +3 -1
  36. package/package.json +4 -4
  37. package/src/lib/index.ts +1 -0
  38. package/src/service-adapters/groq/groq-adapter.ts +142 -0
  39. package/src/service-adapters/index.ts +1 -0
  40. package/tsconfig.json +1 -1
  41. package/dist/chunk-3BNE3AS5.mjs.map +0 -1
  42. package/dist/chunk-EKDV7RJD.mjs.map +0 -1
  43. package/src/service-adapters/experimental/groq/groq-adapter.ts +0 -126
  44. /package/dist/{chunk-P7DT7GBH.mjs.map → chunk-33VWYUCG.mjs.map} +0 -0
  45. /package/dist/{chunk-BNJDOE7C.mjs.map → chunk-3EQWN3EU.mjs.map} +0 -0
  46. /package/dist/{chunk-HQ6CMQ6Q.mjs.map → chunk-H4WHUJTA.mjs.map} +0 -0
  47. /package/dist/{chunk-IWXFUJ57.mjs.map → chunk-WTJPEMUX.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ var require_package = __commonJS({
44
44
  publishConfig: {
45
45
  access: "public"
46
46
  },
47
- version: "1.0.9-pre-async-submit-message.0",
47
+ version: "1.1.0",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -120,6 +120,7 @@ var src_exports = {};
120
120
  __export(src_exports, {
121
121
  CopilotRuntime: () => CopilotRuntime,
122
122
  GoogleGenerativeAIAdapter: () => GoogleGenerativeAIAdapter,
123
+ GroqAdapter: () => GroqAdapter,
123
124
  GuardrailsValidationFailureResponse: () => GuardrailsValidationFailureResponse,
124
125
  LangChainAdapter: () => LangChainAdapter,
125
126
  MessageStreamInterruptedResponse: () => MessageStreamInterruptedResponse,
@@ -142,7 +143,7 @@ module.exports = __toCommonJS(src_exports);
142
143
  var import_reflect_metadata = require("reflect-metadata");
143
144
 
144
145
  // src/lib/copilot-runtime.ts
145
- var import_shared6 = require("@copilotkit/shared");
146
+ var import_shared7 = require("@copilotkit/shared");
146
147
 
147
148
  // src/service-adapters/openai/openai-adapter.ts
148
149
  var import_openai = __toESM(require("openai"));
@@ -1140,6 +1141,77 @@ var UnifyAdapter = class {
1140
1141
  };
1141
1142
  __name(UnifyAdapter, "UnifyAdapter");
1142
1143
 
1144
+ // src/service-adapters/groq/groq-adapter.ts
1145
+ var import_groq_sdk = require("groq-sdk");
1146
+ var import_shared6 = require("@copilotkit/shared");
1147
+ var DEFAULT_MODEL2 = "llama3-groq-70b-8192-tool-use-preview";
1148
+ var GroqAdapter = class {
1149
+ model = DEFAULT_MODEL2;
1150
+ _groq;
1151
+ get groq() {
1152
+ return this._groq;
1153
+ }
1154
+ constructor(params) {
1155
+ this._groq = (params == null ? void 0 : params.groq) || new import_groq_sdk.Groq({});
1156
+ if (params == null ? void 0 : params.model) {
1157
+ this.model = params.model;
1158
+ }
1159
+ }
1160
+ async process(request) {
1161
+ const { threadId, model = this.model, messages, actions, eventSource } = request;
1162
+ const tools = actions.map(convertActionInputToOpenAITool);
1163
+ let openaiMessages = messages.map(convertMessageToOpenAIMessage);
1164
+ openaiMessages = limitMessagesToTokenCount(openaiMessages, tools, model);
1165
+ const stream = await this.groq.chat.completions.create({
1166
+ model,
1167
+ stream: true,
1168
+ messages: openaiMessages,
1169
+ ...tools.length > 0 && {
1170
+ tools
1171
+ }
1172
+ });
1173
+ eventSource.stream(async (eventStream$) => {
1174
+ var _a, _b;
1175
+ let mode = null;
1176
+ for await (const chunk of stream) {
1177
+ const toolCall = (_a = chunk.choices[0].delta.tool_calls) == null ? void 0 : _a[0];
1178
+ const content = chunk.choices[0].delta.content;
1179
+ if (mode === "message" && (toolCall == null ? void 0 : toolCall.id)) {
1180
+ mode = null;
1181
+ eventStream$.sendTextMessageEnd();
1182
+ } else if (mode === "function" && (toolCall === void 0 || (toolCall == null ? void 0 : toolCall.id))) {
1183
+ mode = null;
1184
+ eventStream$.sendActionExecutionEnd();
1185
+ }
1186
+ if (mode === null) {
1187
+ if (toolCall == null ? void 0 : toolCall.id) {
1188
+ mode = "function";
1189
+ eventStream$.sendActionExecutionStart(toolCall.id, toolCall.function.name);
1190
+ } else if (content) {
1191
+ mode = "message";
1192
+ eventStream$.sendTextMessageStart(chunk.id);
1193
+ }
1194
+ }
1195
+ if (mode === "message" && content) {
1196
+ eventStream$.sendTextMessageContent(content);
1197
+ } else if (mode === "function" && ((_b = toolCall == null ? void 0 : toolCall.function) == null ? void 0 : _b.arguments)) {
1198
+ eventStream$.sendActionExecutionArgs(toolCall.function.arguments);
1199
+ }
1200
+ }
1201
+ if (mode === "message") {
1202
+ eventStream$.sendTextMessageEnd();
1203
+ } else if (mode === "function") {
1204
+ eventStream$.sendActionExecutionEnd();
1205
+ }
1206
+ eventStream$.complete();
1207
+ });
1208
+ return {
1209
+ threadId: threadId || (0, import_shared6.randomId)()
1210
+ };
1211
+ }
1212
+ };
1213
+ __name(GroqAdapter, "GroqAdapter");
1214
+
1143
1215
  // src/service-adapters/events.ts
1144
1216
  var import_rxjs = require("rxjs");
1145
1217
  var RuntimeEventTypes;
@@ -1361,7 +1433,7 @@ var CopilotRuntime = class {
1361
1433
  const serverSideActionsInput = actions.map((action) => ({
1362
1434
  name: action.name,
1363
1435
  description: action.description,
1364
- jsonSchema: JSON.stringify((0, import_shared6.actionParametersToJsonSchema)(action.parameters))
1436
+ jsonSchema: JSON.stringify((0, import_shared7.actionParametersToJsonSchema)(action.parameters))
1365
1437
  }));
1366
1438
  const actionInputs = flattenToolCallsNoDuplicates([
1367
1439
  ...serverSideActionsInput,
@@ -2187,16 +2259,16 @@ var UnknownErrorResponse = class extends FailedResponseStatus {
2187
2259
  __name(UnknownErrorResponse, "UnknownErrorResponse");
2188
2260
 
2189
2261
  // src/lib/telemetry-client.ts
2190
- var import_shared7 = require("@copilotkit/shared");
2262
+ var import_shared8 = require("@copilotkit/shared");
2191
2263
  var packageJson = require_package();
2192
- var telemetryClient = new import_shared7.TelemetryClient({
2264
+ var telemetryClient = new import_shared8.TelemetryClient({
2193
2265
  packageName: packageJson.name,
2194
2266
  packageVersion: packageJson.version
2195
2267
  });
2196
2268
  var telemetry_client_default = telemetryClient;
2197
2269
 
2198
2270
  // src/graphql/resolvers/copilot.resolver.ts
2199
- var import_shared8 = require("@copilotkit/shared");
2271
+ var import_shared9 = require("@copilotkit/shared");
2200
2272
  function _ts_decorate11(decorators, target, key, desc) {
2201
2273
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2202
2274
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -2314,7 +2386,7 @@ var CopilotResolver = class {
2314
2386
  rejectOutputMessagesPromise = reject;
2315
2387
  });
2316
2388
  logger2.debug("Processing");
2317
- const { eventSource, threadId = (0, import_shared8.randomId)(), runId, actions } = await copilotRuntime.process({
2389
+ const { eventSource, threadId = (0, import_shared9.randomId)(), runId, actions } = await copilotRuntime.process({
2318
2390
  serviceAdapter,
2319
2391
  messages: data.messages,
2320
2392
  actions: data.frontend.actions,
@@ -2355,7 +2427,7 @@ var CopilotResolver = class {
2355
2427
  });
2356
2428
  outputMessages = [
2357
2429
  (0, import_class_transformer2.plainToInstance)(TextMessage, {
2358
- id: (0, import_shared8.randomId)(),
2430
+ id: (0, import_shared9.randomId)(),
2359
2431
  createdAt: /* @__PURE__ */ new Date(),
2360
2432
  content: result.reason,
2361
2433
  role: MessageRole.assistant
@@ -2402,7 +2474,7 @@ var CopilotResolver = class {
2402
2474
  (0, import_rxjs2.takeWhile)((e) => e.type != RuntimeEventTypes.TextMessageEnd)
2403
2475
  );
2404
2476
  const streamingTextStatus = new import_rxjs2.Subject();
2405
- const messageId = (0, import_shared8.randomId)();
2477
+ const messageId = (0, import_shared9.randomId)();
2406
2478
  pushMessage({
2407
2479
  id: messageId,
2408
2480
  status: (0, import_rxjs2.firstValueFrom)(streamingTextStatus),
@@ -2514,7 +2586,7 @@ var CopilotResolver = class {
2514
2586
  result: event.result
2515
2587
  }, "Action execution result event received");
2516
2588
  pushMessage({
2517
- id: (0, import_shared8.randomId)(),
2589
+ id: (0, import_shared9.randomId)(),
2518
2590
  status: new SuccessMessageStatus(),
2519
2591
  createdAt: /* @__PURE__ */ new Date(),
2520
2592
  actionExecutionId: event.actionExecutionId,
@@ -2522,7 +2594,7 @@ var CopilotResolver = class {
2522
2594
  result: event.result
2523
2595
  });
2524
2596
  outputMessages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
2525
- id: (0, import_shared8.randomId)(),
2597
+ id: (0, import_shared9.randomId)(),
2526
2598
  createdAt: /* @__PURE__ */ new Date(),
2527
2599
  actionExecutionId: event.actionExecutionId,
2528
2600
  actionName: event.actionName,
@@ -2808,6 +2880,7 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
2808
2880
  0 && (module.exports = {
2809
2881
  CopilotRuntime,
2810
2882
  GoogleGenerativeAIAdapter,
2883
+ GroqAdapter,
2811
2884
  GuardrailsValidationFailureResponse,
2812
2885
  LangChainAdapter,
2813
2886
  MessageStreamInterruptedResponse,