@copilotkit/runtime 1.4.8-next.0 → 1.4.8-next.2

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 (56) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/__snapshots__/schema/schema.graphql +1 -0
  3. package/dist/{chunk-CDXNOPUW.mjs → chunk-4DFIC23L.mjs} +2 -2
  4. package/dist/{chunk-DOQSOWZS.mjs → chunk-4OJDHGJU.mjs} +2 -2
  5. package/dist/{chunk-3KW7FFG5.mjs → chunk-6SSIGQER.mjs} +2 -2
  6. package/dist/{chunk-OKQVDDJ2.mjs → chunk-AKGNTDRV.mjs} +63 -2
  7. package/dist/chunk-AKGNTDRV.mjs.map +1 -0
  8. package/dist/{chunk-U6LFW34R.mjs → chunk-MCVGZ4ZG.mjs} +16 -8
  9. package/dist/chunk-MCVGZ4ZG.mjs.map +1 -0
  10. package/dist/{copilot-runtime-12e7ac40.d.ts → copilot-runtime-1c5bf72b.d.ts} +1 -1
  11. package/dist/{groq-adapter-24abe931.d.ts → groq-adapter-b6a40422.d.ts} +1 -1
  12. package/dist/index.d.ts +4 -4
  13. package/dist/index.js +96 -25
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs +9 -5
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/{langserve-f021ab9c.d.ts → langserve-6245df39.d.ts} +2 -1
  18. package/dist/lib/index.d.ts +3 -3
  19. package/dist/lib/index.js +24 -6
  20. package/dist/lib/index.js.map +1 -1
  21. package/dist/lib/index.mjs +5 -5
  22. package/dist/lib/integrations/index.d.ts +3 -3
  23. package/dist/lib/integrations/index.js +10 -3
  24. package/dist/lib/integrations/index.js.map +1 -1
  25. package/dist/lib/integrations/index.mjs +5 -5
  26. package/dist/lib/integrations/nest/index.d.ts +2 -2
  27. package/dist/lib/integrations/nest/index.js +10 -3
  28. package/dist/lib/integrations/nest/index.js.map +1 -1
  29. package/dist/lib/integrations/nest/index.mjs +3 -3
  30. package/dist/lib/integrations/node-express/index.d.ts +2 -2
  31. package/dist/lib/integrations/node-express/index.js +10 -3
  32. package/dist/lib/integrations/node-express/index.js.map +1 -1
  33. package/dist/lib/integrations/node-express/index.mjs +3 -3
  34. package/dist/lib/integrations/node-http/index.d.ts +2 -2
  35. package/dist/lib/integrations/node-http/index.js +10 -3
  36. package/dist/lib/integrations/node-http/index.js.map +1 -1
  37. package/dist/lib/integrations/node-http/index.mjs +2 -2
  38. package/dist/service-adapters/index.d.ts +35 -4
  39. package/dist/service-adapters/index.js +63 -0
  40. package/dist/service-adapters/index.js.map +1 -1
  41. package/dist/service-adapters/index.mjs +5 -1
  42. package/package.json +2 -2
  43. package/src/graphql/inputs/forwarded-parameters.input.ts +3 -0
  44. package/src/lib/logger.ts +1 -1
  45. package/src/lib/runtime/remote-action-constructors.ts +61 -57
  46. package/src/service-adapters/anthropic/anthropic-adapter.ts +1 -0
  47. package/src/service-adapters/experimental/empty/empty-adapter.ts +33 -0
  48. package/src/service-adapters/groq/groq-adapter.ts +1 -0
  49. package/src/service-adapters/index.ts +7 -1
  50. package/src/service-adapters/openai/openai-adapter.ts +1 -0
  51. package/src/service-adapters/unify/unify-adapter.ts +2 -0
  52. package/dist/chunk-OKQVDDJ2.mjs.map +0 -1
  53. package/dist/chunk-U6LFW34R.mjs.map +0 -1
  54. /package/dist/{chunk-CDXNOPUW.mjs.map → chunk-4DFIC23L.mjs.map} +0 -0
  55. /package/dist/{chunk-DOQSOWZS.mjs.map → chunk-4OJDHGJU.mjs.map} +0 -0
  56. /package/dist/{chunk-3KW7FFG5.mjs.map → chunk-6SSIGQER.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.4.8-next.0",
47
+ version: "1.4.8-next.2",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -126,6 +126,8 @@ var src_exports = {};
126
126
  __export(src_exports, {
127
127
  AnthropicAdapter: () => AnthropicAdapter,
128
128
  CopilotRuntime: () => CopilotRuntime,
129
+ ExperimentalEmptyAdapter: () => ExperimentalEmptyAdapter,
130
+ ExperimentalOllamaAdapter: () => ExperimentalOllamaAdapter,
129
131
  GoogleGenerativeAIAdapter: () => GoogleGenerativeAIAdapter,
130
132
  GroqAdapter: () => GroqAdapter,
131
133
  GuardrailsValidationFailureResponse: () => GuardrailsValidationFailureResponse,
@@ -154,7 +156,7 @@ module.exports = __toCommonJS(src_exports);
154
156
  var import_reflect_metadata = require("reflect-metadata");
155
157
 
156
158
  // src/lib/runtime/copilot-runtime.ts
157
- var import_shared10 = require("@copilotkit/shared");
159
+ var import_shared12 = require("@copilotkit/shared");
158
160
 
159
161
  // src/service-adapters/langchain/langserve.ts
160
162
  var import_remote = require("langchain/runnables/remote");
@@ -425,6 +427,9 @@ var OpenAIAdapter = class {
425
427
  },
426
428
  ...this.disableParallelToolCalls && {
427
429
  parallel_tool_calls: false
430
+ },
431
+ ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) && {
432
+ temperature: forwardedParameters.temperature
428
433
  }
429
434
  });
430
435
  eventSource.stream(async (eventStream$) => {
@@ -895,6 +900,7 @@ var UnifyAdapter = class {
895
900
  apiKey: this.apiKey,
896
901
  baseURL: "https://api.unify.ai/v0/"
897
902
  });
903
+ const forwardedParameters = request.forwardedParameters;
898
904
  const messages = request.messages.map(convertMessageToOpenAIMessage);
899
905
  const stream = await openai.chat.completions.create({
900
906
  model: this.model,
@@ -902,6 +908,9 @@ var UnifyAdapter = class {
902
908
  stream: true,
903
909
  ...tools.length > 0 && {
904
910
  tools
911
+ },
912
+ ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) && {
913
+ temperature: forwardedParameters.temperature
905
914
  }
906
915
  });
907
916
  let model = null;
@@ -1005,6 +1014,9 @@ var GroqAdapter = class {
1005
1014
  },
1006
1015
  ...this.disableParallelToolCalls && {
1007
1016
  parallel_tool_calls: false
1017
+ },
1018
+ ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) && {
1019
+ temperature: forwardedParameters.temperature
1008
1020
  }
1009
1021
  });
1010
1022
  eventSource.stream(async (eventStream$) => {
@@ -1222,6 +1234,9 @@ var AnthropicAdapter = class {
1222
1234
  model: this.model,
1223
1235
  messages: anthropicMessages,
1224
1236
  max_tokens: (forwardedParameters == null ? void 0 : forwardedParameters.maxTokens) || 1024,
1237
+ ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) ? {
1238
+ temperature: forwardedParameters.temperature
1239
+ } : {},
1225
1240
  ...tools.length > 0 && {
1226
1241
  tools
1227
1242
  },
@@ -1313,12 +1328,58 @@ var FilterThinkingTextBuffer = /* @__PURE__ */ __name(class FilterThinkingTextBu
1313
1328
  }
1314
1329
  }, "FilterThinkingTextBuffer");
1315
1330
 
1331
+ // src/service-adapters/experimental/ollama/ollama-adapter.ts
1332
+ var import_ollama = require("@langchain/community/llms/ollama");
1333
+ var import_shared7 = require("@copilotkit/shared");
1334
+ var DEFAULT_MODEL4 = "llama3:latest";
1335
+ var ExperimentalOllamaAdapter = class {
1336
+ model;
1337
+ constructor(options) {
1338
+ if (options == null ? void 0 : options.model) {
1339
+ this.model = options.model;
1340
+ } else {
1341
+ this.model = DEFAULT_MODEL4;
1342
+ }
1343
+ }
1344
+ async process(request) {
1345
+ const { messages, actions, eventSource } = request;
1346
+ const ollama = new import_ollama.Ollama({
1347
+ model: this.model
1348
+ });
1349
+ const contents = messages.filter((m) => m.isTextMessage()).map((m) => m.content);
1350
+ const _stream = await ollama.stream(contents);
1351
+ eventSource.stream(async (eventStream$) => {
1352
+ eventStream$.sendTextMessageStart((0, import_shared7.randomId)());
1353
+ for await (const chunkText of _stream) {
1354
+ eventStream$.sendTextMessageContent(chunkText);
1355
+ }
1356
+ eventStream$.sendTextMessageEnd();
1357
+ eventStream$.complete();
1358
+ });
1359
+ return {
1360
+ threadId: request.threadId || (0, import_shared7.randomId)()
1361
+ };
1362
+ }
1363
+ };
1364
+ __name(ExperimentalOllamaAdapter, "ExperimentalOllamaAdapter");
1365
+
1366
+ // src/service-adapters/experimental/empty/empty-adapter.ts
1367
+ var import_shared8 = require("@copilotkit/shared");
1368
+ var ExperimentalEmptyAdapter = class {
1369
+ async process(request) {
1370
+ return {
1371
+ threadId: request.threadId || (0, import_shared8.randomId)()
1372
+ };
1373
+ }
1374
+ };
1375
+ __name(ExperimentalEmptyAdapter, "ExperimentalEmptyAdapter");
1376
+
1316
1377
  // src/service-adapters/events.ts
1317
- var import_shared9 = require("@copilotkit/shared");
1378
+ var import_shared11 = require("@copilotkit/shared");
1318
1379
  var import_rxjs2 = require("rxjs");
1319
1380
 
1320
1381
  // src/lib/telemetry-client.ts
1321
- var import_shared8 = require("@copilotkit/shared");
1382
+ var import_shared10 = require("@copilotkit/shared");
1322
1383
 
1323
1384
  // src/lib/runtime/remote-action-constructors.ts
1324
1385
  var import_node_crypto2 = require("crypto");
@@ -1351,7 +1412,7 @@ var CustomEventNames;
1351
1412
  })(CustomEventNames || (CustomEventNames = {}));
1352
1413
 
1353
1414
  // src/agents/langgraph/event-source.ts
1354
- var import_shared7 = require("@copilotkit/shared");
1415
+ var import_shared9 = require("@copilotkit/shared");
1355
1416
  var RemoteLangGraphEventSource = class {
1356
1417
  eventStream$ = new import_rxjs.ReplaySubject();
1357
1418
  shouldEmitToolCall(shouldEmitToolCalls, toolCallName) {
@@ -1537,7 +1598,7 @@ var RemoteLangGraphEventSource = class {
1537
1598
  type: RuntimeEventTypes.ActionExecutionEnd
1538
1599
  });
1539
1600
  }
1540
- const messageId = (0, import_shared7.randomId)();
1601
+ const messageId = (0, import_shared9.randomId)();
1541
1602
  events.push({
1542
1603
  type: RuntimeEventTypes.TextMessageStart,
1543
1604
  messageId
@@ -2100,6 +2161,7 @@ function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, m
2100
2161
  }
2101
2162
  __name(constructLGCRemoteAction, "constructLGCRemoteAction");
2102
2163
  function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, logger: logger2, messages, agentStates }) {
2164
+ const totalAgents = Array.isArray(json["agents"]) ? json["agents"].length : 0;
2103
2165
  const actions = json["actions"].map((action) => ({
2104
2166
  name: action.name,
2105
2167
  description: action.description,
@@ -2113,7 +2175,7 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2113
2175
  telemetry_client_default.capture("oss.runtime.remote_action_executed", {
2114
2176
  agentExecution: false,
2115
2177
  type: "self-hosted",
2116
- agentsAmount: json["agents"].length
2178
+ agentsAmount: totalAgents
2117
2179
  });
2118
2180
  try {
2119
2181
  const response = await fetch(`${url}/actions/execute`, {
@@ -2148,7 +2210,7 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2148
2210
  }
2149
2211
  }
2150
2212
  }));
2151
- const agents = json["agents"].map((agent) => ({
2213
+ const agents = totalAgents ? json["agents"].map((agent) => ({
2152
2214
  name: agent.name,
2153
2215
  description: agent.description,
2154
2216
  parameters: [],
@@ -2201,7 +2263,7 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2201
2263
  streamResponse(response.body, eventSource.eventStream$);
2202
2264
  return eventSource.processLangGraphEvents();
2203
2265
  }
2204
- }));
2266
+ })) : [];
2205
2267
  return [
2206
2268
  ...actions,
2207
2269
  ...agents
@@ -2378,7 +2440,7 @@ __name(setupRemoteActions, "setupRemoteActions");
2378
2440
  // src/lib/telemetry-client.ts
2379
2441
  var import_node_crypto3 = require("crypto");
2380
2442
  var packageJson = require_package();
2381
- var telemetryClient = new import_shared8.TelemetryClient({
2443
+ var telemetryClient = new import_shared10.TelemetryClient({
2382
2444
  packageName: packageJson.name,
2383
2445
  packageVersion: packageJson.version
2384
2446
  });
@@ -2516,10 +2578,10 @@ var RuntimeEventSource = class {
2516
2578
  const errorMessage = "\u274C An error occurred. Please try again.";
2517
2579
  if (!this.callback) {
2518
2580
  this.stream(async (eventStream$) => {
2519
- eventStream$.sendTextMessage((0, import_shared9.randomId)(), errorMessage);
2581
+ eventStream$.sendTextMessage((0, import_shared11.randomId)(), errorMessage);
2520
2582
  });
2521
2583
  } else {
2522
- this.eventStream$.sendTextMessage((0, import_shared9.randomId)(), errorMessage);
2584
+ this.eventStream$.sendTextMessage((0, import_shared11.randomId)(), errorMessage);
2523
2585
  }
2524
2586
  }
2525
2587
  processRuntimeEvents({ serverSideActions, guardrailsResult$, actionInputsWithoutAgents }) {
@@ -2786,7 +2848,7 @@ var CopilotRuntime = class {
2786
2848
  const serverSideActionsInput = serverSideActions.map((action) => ({
2787
2849
  name: action.name,
2788
2850
  description: action.description,
2789
- jsonSchema: JSON.stringify((0, import_shared10.actionParametersToJsonSchema)(action.parameters))
2851
+ jsonSchema: JSON.stringify((0, import_shared12.actionParametersToJsonSchema)(action.parameters))
2790
2852
  }));
2791
2853
  const actionInputs = flattenToolCallsNoDuplicates([
2792
2854
  ...serverSideActionsInput,
@@ -2836,8 +2898,8 @@ var CopilotRuntime = class {
2836
2898
  console.error("Error getting response:", error);
2837
2899
  eventSource.sendErrorMessageToChat();
2838
2900
  return {
2839
- threadId: threadId || (0, import_shared10.randomId)(),
2840
- runId: runId || (0, import_shared10.randomId)(),
2901
+ threadId: threadId || (0, import_shared12.randomId)(),
2902
+ runId: runId || (0, import_shared12.randomId)(),
2841
2903
  eventSource,
2842
2904
  serverSideActions: [],
2843
2905
  actionInputsWithoutAgents: []
@@ -2857,7 +2919,7 @@ var CopilotRuntime = class {
2857
2919
  const serverSideActionsInput = serverSideActions.filter((action) => !isLangGraphAgentAction(action)).map((action) => ({
2858
2920
  name: action.name,
2859
2921
  description: action.description,
2860
- jsonSchema: JSON.stringify((0, import_shared10.actionParametersToJsonSchema)(action.parameters))
2922
+ jsonSchema: JSON.stringify((0, import_shared12.actionParametersToJsonSchema)(action.parameters))
2861
2923
  }));
2862
2924
  const actionInputsWithoutAgents = flattenToolCallsNoDuplicates([
2863
2925
  ...serverSideActionsInput,
@@ -3356,6 +3418,7 @@ var ForwardedParametersInput = class {
3356
3418
  stop;
3357
3419
  toolChoice;
3358
3420
  toolChoiceFunctionName;
3421
+ temperature;
3359
3422
  };
3360
3423
  __name(ForwardedParametersInput, "ForwardedParametersInput");
3361
3424
  _ts_decorate7([
@@ -3390,6 +3453,12 @@ _ts_decorate7([
3390
3453
  }),
3391
3454
  _ts_metadata7("design:type", String)
3392
3455
  ], ForwardedParametersInput.prototype, "toolChoiceFunctionName", void 0);
3456
+ _ts_decorate7([
3457
+ (0, import_type_graphql8.Field)(() => Number, {
3458
+ nullable: true
3459
+ }),
3460
+ _ts_metadata7("design:type", Number)
3461
+ ], ForwardedParametersInput.prototype, "temperature", void 0);
3393
3462
  ForwardedParametersInput = _ts_decorate7([
3394
3463
  (0, import_type_graphql8.InputType)()
3395
3464
  ], ForwardedParametersInput);
@@ -3999,7 +4068,7 @@ var UnknownErrorResponse = class extends FailedResponseStatus {
3999
4068
  __name(UnknownErrorResponse, "UnknownErrorResponse");
4000
4069
 
4001
4070
  // src/graphql/resolvers/copilot.resolver.ts
4002
- var import_shared11 = require("@copilotkit/shared");
4071
+ var import_shared13 = require("@copilotkit/shared");
4003
4072
  function _ts_decorate14(decorators, target, key, desc) {
4004
4073
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4005
4074
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -4116,7 +4185,7 @@ var CopilotResolver = class {
4116
4185
  rejectOutputMessagesPromise = reject;
4117
4186
  });
4118
4187
  logger2.debug("Processing");
4119
- const { eventSource, threadId = (0, import_shared11.randomId)(), runId, serverSideActions, actionInputsWithoutAgents } = await copilotRuntime.processRuntimeRequest({
4188
+ const { eventSource, threadId = (0, import_shared13.randomId)(), runId, serverSideActions, actionInputsWithoutAgents } = await copilotRuntime.processRuntimeRequest({
4120
4189
  serviceAdapter,
4121
4190
  messages: data.messages,
4122
4191
  actions: data.frontend.actions.filter((action) => action.available !== ActionInputAvailability.disabled),
@@ -4161,7 +4230,7 @@ var CopilotResolver = class {
4161
4230
  });
4162
4231
  outputMessages = [
4163
4232
  (0, import_class_transformer2.plainToInstance)(TextMessage, {
4164
- id: (0, import_shared11.randomId)(),
4233
+ id: (0, import_shared13.randomId)(),
4165
4234
  createdAt: /* @__PURE__ */ new Date(),
4166
4235
  content: result.reason,
4167
4236
  role: MessageRole.assistant
@@ -4324,7 +4393,7 @@ var CopilotResolver = class {
4324
4393
  result: event.result
4325
4394
  }, "Action execution result event received");
4326
4395
  pushMessage({
4327
- id: (0, import_shared11.randomId)(),
4396
+ id: (0, import_shared13.randomId)(),
4328
4397
  status: new SuccessMessageStatus(),
4329
4398
  createdAt: /* @__PURE__ */ new Date(),
4330
4399
  actionExecutionId: event.actionExecutionId,
@@ -4332,7 +4401,7 @@ var CopilotResolver = class {
4332
4401
  result: event.result
4333
4402
  });
4334
4403
  outputMessages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
4335
- id: (0, import_shared11.randomId)(),
4404
+ id: (0, import_shared13.randomId)(),
4336
4405
  createdAt: /* @__PURE__ */ new Date(),
4337
4406
  actionExecutionId: event.actionExecutionId,
4338
4407
  actionName: event.actionName,
@@ -4344,7 +4413,7 @@ var CopilotResolver = class {
4344
4413
  event
4345
4414
  }, "Agent message event received");
4346
4415
  pushMessage({
4347
- id: (0, import_shared11.randomId)(),
4416
+ id: (0, import_shared13.randomId)(),
4348
4417
  status: new SuccessMessageStatus(),
4349
4418
  threadId: event.threadId,
4350
4419
  agentName: event.agentName,
@@ -4357,7 +4426,7 @@ var CopilotResolver = class {
4357
4426
  createdAt: /* @__PURE__ */ new Date()
4358
4427
  });
4359
4428
  outputMessages.push((0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
4360
- id: (0, import_shared11.randomId)(),
4429
+ id: (0, import_shared13.randomId)(),
4361
4430
  threadId: event.threadId,
4362
4431
  agentName: event.agentName,
4363
4432
  nodeName: event.nodeName,
@@ -4441,8 +4510,8 @@ function createLogger(options) {
4441
4510
  level: process.env.LOG_LEVEL || level || "error",
4442
4511
  redact: {
4443
4512
  paths: [
4444
- "*.pid",
4445
- "*.hostname"
4513
+ "pid",
4514
+ "hostname"
4446
4515
  ],
4447
4516
  remove: true
4448
4517
  }
@@ -4648,6 +4717,8 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
4648
4717
  0 && (module.exports = {
4649
4718
  AnthropicAdapter,
4650
4719
  CopilotRuntime,
4720
+ ExperimentalEmptyAdapter,
4721
+ ExperimentalOllamaAdapter,
4651
4722
  GoogleGenerativeAIAdapter,
4652
4723
  GroqAdapter,
4653
4724
  GuardrailsValidationFailureResponse,