@copilotkit/runtime 1.6.0-next.4 → 1.6.0-next.6

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-YUCVJM6E.mjs → chunk-5HTQ3NJN.mjs} +30 -28
  4. package/dist/chunk-5HTQ3NJN.mjs.map +1 -0
  5. package/dist/{chunk-7EXH7PVD.mjs → chunk-FZJAYGIR.mjs} +43 -11
  6. package/dist/chunk-FZJAYGIR.mjs.map +1 -0
  7. package/dist/{chunk-ROFUPT7E.mjs → chunk-KOZEUHQH.mjs} +2 -2
  8. package/dist/{chunk-Z5VUD7NL.mjs → chunk-MADVAANL.mjs} +2 -2
  9. package/dist/{chunk-4FCUC27H.mjs → chunk-USK52PF7.mjs} +2 -2
  10. package/dist/{copilot-runtime-67033bfa.d.ts → copilot-runtime-15bfc4f4.d.ts} +2 -2
  11. package/dist/graphql/types/converted/index.d.ts +1 -1
  12. package/dist/{groq-adapter-9d15c927.d.ts → groq-adapter-fb9aa3ab.d.ts} +1 -1
  13. package/dist/{index-f6d1f30b.d.ts → index-5bec5424.d.ts} +2 -1
  14. package/dist/index.d.ts +4 -4
  15. package/dist/index.js +64 -30
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +10 -10
  18. package/dist/{langserve-7cc5be48.d.ts → langserve-6f7af8d3.d.ts} +1 -1
  19. package/dist/lib/index.d.ts +4 -4
  20. package/dist/lib/index.js +64 -30
  21. package/dist/lib/index.js.map +1 -1
  22. package/dist/lib/index.mjs +6 -6
  23. package/dist/lib/integrations/index.d.ts +4 -4
  24. package/dist/lib/integrations/index.js +3 -2
  25. package/dist/lib/integrations/index.js.map +1 -1
  26. package/dist/lib/integrations/index.mjs +5 -5
  27. package/dist/lib/integrations/nest/index.d.ts +3 -3
  28. package/dist/lib/integrations/nest/index.js +3 -2
  29. package/dist/lib/integrations/nest/index.js.map +1 -1
  30. package/dist/lib/integrations/nest/index.mjs +3 -3
  31. package/dist/lib/integrations/node-express/index.d.ts +3 -3
  32. package/dist/lib/integrations/node-express/index.js +3 -2
  33. package/dist/lib/integrations/node-express/index.js.map +1 -1
  34. package/dist/lib/integrations/node-express/index.mjs +3 -3
  35. package/dist/lib/integrations/node-http/index.d.ts +3 -3
  36. package/dist/lib/integrations/node-http/index.js +3 -2
  37. package/dist/lib/integrations/node-http/index.js.map +1 -1
  38. package/dist/lib/integrations/node-http/index.mjs +2 -2
  39. package/dist/service-adapters/index.d.ts +4 -4
  40. package/dist/service-adapters/index.js +42 -10
  41. package/dist/service-adapters/index.js.map +1 -1
  42. package/dist/service-adapters/index.mjs +1 -1
  43. package/package.json +3 -3
  44. package/src/graphql/types/enums.ts +1 -0
  45. package/src/lib/runtime/remote-action-constructors.ts +6 -5
  46. package/src/service-adapters/conversion.ts +39 -47
  47. package/src/service-adapters/groq/groq-adapter.ts +6 -3
  48. package/src/service-adapters/openai/openai-adapter.ts +1 -1
  49. package/src/service-adapters/openai/openai-assistant-adapter.ts +1 -1
  50. package/src/service-adapters/openai/utils.ts +37 -12
  51. package/src/service-adapters/unify/unify-adapter.ts +1 -1
  52. package/dist/chunk-7EXH7PVD.mjs.map +0 -1
  53. package/dist/chunk-YUCVJM6E.mjs.map +0 -1
  54. /package/dist/{chunk-ROFUPT7E.mjs.map → chunk-KOZEUHQH.mjs.map} +0 -0
  55. /package/dist/{chunk-Z5VUD7NL.mjs.map → chunk-MADVAANL.mjs.map} +0 -0
  56. /package/dist/{chunk-4FCUC27H.mjs.map → chunk-USK52PF7.mjs.map} +0 -0
package/dist/index.mjs CHANGED
@@ -3,13 +3,13 @@ import {
3
3
  config,
4
4
  copilotRuntimeNextJSAppRouterEndpoint,
5
5
  copilotRuntimeNextJSPagesRouterEndpoint
6
- } from "./chunk-ROFUPT7E.mjs";
6
+ } from "./chunk-KOZEUHQH.mjs";
7
7
  import {
8
8
  copilotRuntimeNestEndpoint
9
- } from "./chunk-4FCUC27H.mjs";
9
+ } from "./chunk-USK52PF7.mjs";
10
10
  import {
11
11
  copilotRuntimeNodeExpressEndpoint
12
- } from "./chunk-Z5VUD7NL.mjs";
12
+ } from "./chunk-MADVAANL.mjs";
13
13
  import {
14
14
  CopilotRuntime,
15
15
  addCustomHeaderPlugin,
@@ -21,12 +21,7 @@ import {
21
21
  getCommonConfig,
22
22
  langGraphPlatformEndpoint,
23
23
  resolveEndpointType
24
- } from "./chunk-YUCVJM6E.mjs";
25
- import {
26
- GuardrailsValidationFailureResponse,
27
- MessageStreamInterruptedResponse,
28
- UnknownErrorResponse
29
- } from "./chunk-5BIEM2UU.mjs";
24
+ } from "./chunk-5HTQ3NJN.mjs";
30
25
  import {
31
26
  AnthropicAdapter,
32
27
  EmptyAdapter,
@@ -39,7 +34,12 @@ import {
39
34
  OpenAIAssistantAdapter,
40
35
  RemoteChain,
41
36
  UnifyAdapter
42
- } from "./chunk-7EXH7PVD.mjs";
37
+ } from "./chunk-FZJAYGIR.mjs";
38
+ import {
39
+ GuardrailsValidationFailureResponse,
40
+ MessageStreamInterruptedResponse,
41
+ UnknownErrorResponse
42
+ } from "./chunk-5BIEM2UU.mjs";
43
43
  import "./chunk-RTFJTJMA.mjs";
44
44
  import "./chunk-2OZAGFV3.mjs";
45
45
  import "./chunk-FHD4JECV.mjs";
@@ -1,4 +1,4 @@
1
- import { A as ActionInputAvailability, T as TextMessage, b as ActionExecutionMessage, R as ResultMessage, a as Message } from './index-f6d1f30b.js';
1
+ import { A as ActionInputAvailability, T as TextMessage, b as ActionExecutionMessage, R as ResultMessage, a as Message } from './index-5bec5424.js';
2
2
  import * as rxjs from 'rxjs';
3
3
  import { Subject, ReplaySubject } from 'rxjs';
4
4
  import { Action, Parameter } from '@copilotkit/shared';
@@ -1,12 +1,12 @@
1
- export { i as CommonConfig, d as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, e as CreateCopilotRuntimeServerOptions, G as GraphQLContext, b as addCustomHeaderPlugin, h as buildSchema, c as copilotKitEndpoint, g as createContext, f as flattenToolCallsNoDuplicates, j as getCommonConfig, l as langGraphPlatformEndpoint, r as resolveEndpointType } from '../copilot-runtime-67033bfa.js';
2
- export { G as GoogleGenerativeAIAdapter, f as GroqAdapter, e as GroqAdapterParams, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams, d as UnifyAdapter, U as UnifyAdapterParams } from '../groq-adapter-9d15c927.js';
1
+ export { i as CommonConfig, d as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, e as CreateCopilotRuntimeServerOptions, G as GraphQLContext, b as addCustomHeaderPlugin, h as buildSchema, c as copilotKitEndpoint, g as createContext, f as flattenToolCallsNoDuplicates, j as getCommonConfig, l as langGraphPlatformEndpoint, r as resolveEndpointType } from '../copilot-runtime-15bfc4f4.js';
2
+ export { G as GoogleGenerativeAIAdapter, f as GroqAdapter, e as GroqAdapterParams, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams, d as UnifyAdapter, U as UnifyAdapterParams } from '../groq-adapter-fb9aa3ab.js';
3
3
  export { CopilotRuntimeServerInstance, config, copilotRuntimeNextJSAppRouterEndpoint, copilotRuntimeNextJSPagesRouterEndpoint } from './integrations/index.js';
4
4
  export { copilotRuntimeNodeHttpEndpoint } from './integrations/node-http/index.js';
5
5
  export { copilotRuntimeNodeExpressEndpoint } from './integrations/node-express/index.js';
6
6
  export { copilotRuntimeNestEndpoint } from './integrations/nest/index.js';
7
7
  import '@copilotkit/shared';
8
- import '../langserve-7cc5be48.js';
9
- import '../index-f6d1f30b.js';
8
+ import '../langserve-6f7af8d3.js';
9
+ import '../index-5bec5424.js';
10
10
  import '../graphql/types/base/index.js';
11
11
  import 'rxjs';
12
12
  import 'graphql';
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.6.0-next.4",
47
+ version: "1.6.0-next.6",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -97,7 +97,7 @@ var require_package = __commonJS({
97
97
  "graphql-yoga": "^5.3.1",
98
98
  "groq-sdk": "^0.5.0",
99
99
  langchain: "^0.3.3",
100
- openai: "^4.50.0",
100
+ openai: "^4.85.1",
101
101
  "partial-json": "^0.1.7",
102
102
  pino: "^9.2.0",
103
103
  "pino-pretty": "^11.2.1",
@@ -244,7 +244,10 @@ function limitMessagesToTokenCount(messages, tools, model, maxTokens) {
244
244
  }
245
245
  maxTokens -= toolsNumTokens;
246
246
  for (const message of messages) {
247
- if (message.role === "system") {
247
+ if ([
248
+ "system",
249
+ "developer"
250
+ ].includes(message.role)) {
248
251
  const numTokens = countMessageTokens(model, message);
249
252
  maxTokens -= numTokens;
250
253
  if (maxTokens < 0) {
@@ -257,7 +260,10 @@ function limitMessagesToTokenCount(messages, tools, model, maxTokens) {
257
260
  ...messages
258
261
  ].reverse();
259
262
  for (const message of reversedMessages) {
260
- if (message.role === "system") {
263
+ if ([
264
+ "system",
265
+ "developer"
266
+ ].includes(message.role)) {
261
267
  result.unshift(message);
262
268
  continue;
263
269
  } else if (cutoff) {
@@ -280,9 +286,23 @@ function maxTokensForOpenAIModel(model) {
280
286
  __name(maxTokensForOpenAIModel, "maxTokensForOpenAIModel");
281
287
  var DEFAULT_MAX_TOKENS = 128e3;
282
288
  var maxTokensByModel = {
289
+ // o1
290
+ o1: 2e5,
291
+ "o1-2024-12-17": 2e5,
292
+ "o1-mini": 128e3,
293
+ "o1-mini-2024-09-12": 128e3,
294
+ "o1-preview": 128e3,
295
+ "o1-preview-2024-09-12": 128e3,
296
+ // o3-mini
297
+ "o3-mini": 2e5,
298
+ "o3-mini-2025-01-31": 2e5,
283
299
  // GPT-4
284
300
  "gpt-4o": 128e3,
301
+ "chatgpt-4o-latest": 128e3,
302
+ "gpt-4o-2024-08-06": 128e3,
285
303
  "gpt-4o-2024-05-13": 128e3,
304
+ "gpt-4o-mini": 128e3,
305
+ "gpt-4o-mini-2024-07-18": 128e3,
286
306
  "gpt-4-turbo": 128e3,
287
307
  "gpt-4-turbo-2024-04-09": 128e3,
288
308
  "gpt-4-0125-preview": 128e3,
@@ -333,10 +353,17 @@ function convertActionInputToOpenAITool(action) {
333
353
  };
334
354
  }
335
355
  __name(convertActionInputToOpenAITool, "convertActionInputToOpenAITool");
336
- function convertMessageToOpenAIMessage(message) {
356
+ function convertMessageToOpenAIMessage(message, options) {
357
+ const { keepSystemRole } = options || {
358
+ keepSystemRole: false
359
+ };
337
360
  if (message.isTextMessage()) {
361
+ let role = message.role;
362
+ if (message.role === "system" && !keepSystemRole) {
363
+ role = "developer";
364
+ }
338
365
  return {
339
- role: message.role,
366
+ role,
340
367
  content: message.content
341
368
  };
342
369
  } else if (message.isActionExecutionMessage()) {
@@ -365,7 +392,10 @@ __name(convertMessageToOpenAIMessage, "convertMessageToOpenAIMessage");
365
392
  function convertSystemMessageToAssistantAPI(message) {
366
393
  return {
367
394
  ...message,
368
- ...message.role === "system" && {
395
+ ...[
396
+ "system",
397
+ "developer"
398
+ ].includes(message.role) && {
369
399
  role: "assistant",
370
400
  content: "THE FOLLOWING MESSAGE IS A SYSTEM MESSAGE: " + message.content
371
401
  }
@@ -394,7 +424,7 @@ var OpenAIAdapter = class {
394
424
  const { threadId: threadIdFromRequest, model = this.model, messages, actions, eventSource, forwardedParameters } = request;
395
425
  const tools = actions.map(convertActionInputToOpenAITool);
396
426
  const threadId = threadIdFromRequest ?? (0, import_shared2.randomUUID)();
397
- let openaiMessages = messages.map(convertMessageToOpenAIMessage);
427
+ let openaiMessages = messages.map((m) => convertMessageToOpenAIMessage(m));
398
428
  openaiMessages = limitMessagesToTokenCount(openaiMessages, tools, model);
399
429
  let toolChoice = forwardedParameters == null ? void 0 : forwardedParameters.toolChoice;
400
430
  if ((forwardedParameters == null ? void 0 : forwardedParameters.toolChoice) === "function") {
@@ -857,7 +887,7 @@ var OpenAIAssistantAdapter = class {
857
887
  ];
858
888
  const instructionsMessage = messages.shift();
859
889
  const instructions = instructionsMessage.isTextMessage() ? instructionsMessage.content : "";
860
- const userMessage = messages.map(convertMessageToOpenAIMessage).map(convertSystemMessageToAssistantAPI).at(-1);
890
+ const userMessage = messages.map((m) => convertMessageToOpenAIMessage(m)).map(convertSystemMessageToAssistantAPI).at(-1);
861
891
  if (userMessage.role !== "user") {
862
892
  throw new Error("No user message found");
863
893
  }
@@ -1003,7 +1033,7 @@ var UnifyAdapter = class {
1003
1033
  baseURL: "https://api.unify.ai/v0/"
1004
1034
  });
1005
1035
  const forwardedParameters = request.forwardedParameters;
1006
- const messages = request.messages.map(convertMessageToOpenAIMessage);
1036
+ const messages = request.messages.map((m) => convertMessageToOpenAIMessage(m));
1007
1037
  const stream = await openai.chat.completions.create({
1008
1038
  model: this.model,
1009
1039
  messages,
@@ -1100,7 +1130,7 @@ __name(UnifyAdapter, "UnifyAdapter");
1100
1130
  // src/service-adapters/groq/groq-adapter.ts
1101
1131
  var import_groq_sdk = require("groq-sdk");
1102
1132
  var import_shared6 = require("@copilotkit/shared");
1103
- var DEFAULT_MODEL2 = "llama3-groq-70b-8192-tool-use-preview";
1133
+ var DEFAULT_MODEL2 = "llama-3.3-70b-versatile";
1104
1134
  var GroqAdapter = class {
1105
1135
  model = DEFAULT_MODEL2;
1106
1136
  disableParallelToolCalls = false;
@@ -1118,7 +1148,9 @@ var GroqAdapter = class {
1118
1148
  async process(request) {
1119
1149
  const { threadId, model = this.model, messages, actions, eventSource, forwardedParameters } = request;
1120
1150
  const tools = actions.map(convertActionInputToOpenAITool);
1121
- let openaiMessages = messages.map(convertMessageToOpenAIMessage);
1151
+ let openaiMessages = messages.map((m) => convertMessageToOpenAIMessage(m, {
1152
+ keepSystemRole: true
1153
+ }));
1122
1154
  openaiMessages = limitMessagesToTokenCount(openaiMessages, tools, model);
1123
1155
  let toolChoice = forwardedParameters == null ? void 0 : forwardedParameters.toolChoice;
1124
1156
  if ((forwardedParameters == null ? void 0 : forwardedParameters.toolChoice) === "function") {
@@ -1514,6 +1546,7 @@ var MessageRole;
1514
1546
  MessageRole2["assistant"] = "assistant";
1515
1547
  MessageRole2["system"] = "system";
1516
1548
  MessageRole2["tool"] = "tool";
1549
+ MessageRole2["developer"] = "developer";
1517
1550
  })(MessageRole || (MessageRole = {}));
1518
1551
  var CopilotRequestType;
1519
1552
  (function(CopilotRequestType2) {
@@ -2700,10 +2733,10 @@ function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, m
2700
2733
  state,
2701
2734
  configurable,
2702
2735
  properties: graphqlContext.properties,
2703
- actions: actionInputsWithoutAgents.map((action) => ({
2736
+ actions: (0, import_shared13.tryMap)(actionInputsWithoutAgents, (action) => ({
2704
2737
  name: action.name,
2705
2738
  description: action.description,
2706
- parameters: (0, import_shared13.parseJson)(action.jsonSchema, "")
2739
+ parameters: JSON.parse(action.jsonSchema)
2707
2740
  })),
2708
2741
  metaEvents
2709
2742
  });
@@ -2829,10 +2862,10 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2829
2862
  state,
2830
2863
  configurable,
2831
2864
  properties: graphqlContext.properties,
2832
- actions: actionInputsWithoutAgents.map((action) => ({
2865
+ actions: (0, import_shared13.tryMap)(actionInputsWithoutAgents, (action) => ({
2833
2866
  name: action.name,
2834
2867
  description: action.description,
2835
- parameters: (0, import_shared13.parseJson)(action.jsonSchema, {})
2868
+ parameters: JSON.parse(action.jsonSchema)
2836
2869
  })),
2837
2870
  metaEvents
2838
2871
  })
@@ -3528,34 +3561,33 @@ __name(executeAction, "executeAction");
3528
3561
  var import_class_transformer2 = require("class-transformer");
3529
3562
  var import_shared17 = require("@copilotkit/shared");
3530
3563
  function convertGqlInputToMessages(inputMessages) {
3531
- const messages = [];
3532
- for (const message of inputMessages) {
3564
+ const messages = (0, import_shared17.tryMap)(inputMessages, (message) => {
3533
3565
  if (message.textMessage) {
3534
- messages.push((0, import_class_transformer2.plainToInstance)(TextMessage, {
3566
+ return (0, import_class_transformer2.plainToInstance)(TextMessage, {
3535
3567
  id: message.id,
3536
3568
  createdAt: message.createdAt,
3537
3569
  role: message.textMessage.role,
3538
3570
  content: message.textMessage.content,
3539
3571
  parentMessageId: message.textMessage.parentMessageId
3540
- }));
3572
+ });
3541
3573
  } else if (message.actionExecutionMessage) {
3542
- messages.push((0, import_class_transformer2.plainToInstance)(ActionExecutionMessage, {
3574
+ return (0, import_class_transformer2.plainToInstance)(ActionExecutionMessage, {
3543
3575
  id: message.id,
3544
3576
  createdAt: message.createdAt,
3545
3577
  name: message.actionExecutionMessage.name,
3546
- arguments: (0, import_shared17.parseJson)(message.actionExecutionMessage.arguments, {}),
3578
+ arguments: JSON.parse(message.actionExecutionMessage.arguments),
3547
3579
  parentMessageId: message.actionExecutionMessage.parentMessageId
3548
- }));
3580
+ });
3549
3581
  } else if (message.resultMessage) {
3550
- messages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
3582
+ return (0, import_class_transformer2.plainToInstance)(ResultMessage, {
3551
3583
  id: message.id,
3552
3584
  createdAt: message.createdAt,
3553
3585
  actionExecutionId: message.resultMessage.actionExecutionId,
3554
3586
  actionName: message.resultMessage.actionName,
3555
3587
  result: message.resultMessage.result
3556
- }));
3588
+ });
3557
3589
  } else if (message.agentStateMessage) {
3558
- messages.push((0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
3590
+ return (0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
3559
3591
  id: message.id,
3560
3592
  threadId: message.agentStateMessage.threadId,
3561
3593
  createdAt: message.createdAt,
@@ -3564,12 +3596,14 @@ function convertGqlInputToMessages(inputMessages) {
3564
3596
  runId: message.agentStateMessage.runId,
3565
3597
  active: message.agentStateMessage.active,
3566
3598
  role: message.agentStateMessage.role,
3567
- state: (0, import_shared17.parseJson)(message.agentStateMessage.state, {}),
3599
+ state: JSON.parse(message.agentStateMessage.state),
3568
3600
  running: message.agentStateMessage.running
3569
- }));
3601
+ });
3602
+ } else {
3603
+ return null;
3570
3604
  }
3571
- }
3572
- return messages;
3605
+ });
3606
+ return messages.filter((m) => m);
3573
3607
  }
3574
3608
  __name(convertGqlInputToMessages, "convertGqlInputToMessages");
3575
3609