@copilotkit/runtime 1.8.6 → 1.8.7

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 (61) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/__snapshots__/schema/schema.graphql +18 -0
  3. package/dist/{chunk-QLQZOYNM.mjs → chunk-D453SZIW.mjs} +97 -4
  4. package/dist/chunk-D453SZIW.mjs.map +1 -0
  5. package/dist/{chunk-DNI7KA7Y.mjs → chunk-EY6RUVB7.mjs} +44 -1
  6. package/dist/chunk-EY6RUVB7.mjs.map +1 -0
  7. package/dist/{chunk-M5ICHA6U.mjs → chunk-S2W2IABM.mjs} +2 -2
  8. package/dist/{chunk-RTFJTJMA.mjs → chunk-SHBDMA63.mjs} +14 -2
  9. package/dist/chunk-SHBDMA63.mjs.map +1 -0
  10. package/dist/{chunk-2M3O4SA5.mjs → chunk-TOZ7TDZQ.mjs} +2 -2
  11. package/dist/{chunk-3PPZ4552.mjs → chunk-ZD6BIBVB.mjs} +2 -2
  12. package/dist/graphql/types/converted/index.d.ts +1 -1
  13. package/dist/graphql/types/converted/index.js +13 -0
  14. package/dist/graphql/types/converted/index.js.map +1 -1
  15. package/dist/graphql/types/converted/index.mjs +3 -1
  16. package/dist/{groq-adapter-fb9aa3ab.d.ts → groq-adapter-53d3fa48.d.ts} +1 -1
  17. package/dist/{index-5bec5424.d.ts → index-d4614f9b.d.ts} +17 -2
  18. package/dist/index.d.ts +4 -4
  19. package/dist/index.js +147 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +6 -6
  22. package/dist/{langserve-6f7af8d3.d.ts → langserve-c9a20fe9.d.ts} +1 -1
  23. package/dist/lib/index.d.ts +4 -4
  24. package/dist/lib/index.js +116 -1
  25. package/dist/lib/index.js.map +1 -1
  26. package/dist/lib/index.mjs +6 -6
  27. package/dist/lib/integrations/index.d.ts +4 -4
  28. package/dist/lib/integrations/index.js +71 -1
  29. package/dist/lib/integrations/index.js.map +1 -1
  30. package/dist/lib/integrations/index.mjs +6 -6
  31. package/dist/lib/integrations/nest/index.d.ts +3 -3
  32. package/dist/lib/integrations/nest/index.js +71 -1
  33. package/dist/lib/integrations/nest/index.js.map +1 -1
  34. package/dist/lib/integrations/nest/index.mjs +4 -4
  35. package/dist/lib/integrations/node-express/index.d.ts +3 -3
  36. package/dist/lib/integrations/node-express/index.js +71 -1
  37. package/dist/lib/integrations/node-express/index.js.map +1 -1
  38. package/dist/lib/integrations/node-express/index.mjs +4 -4
  39. package/dist/lib/integrations/node-http/index.d.ts +3 -3
  40. package/dist/lib/integrations/node-http/index.js +71 -1
  41. package/dist/lib/integrations/node-http/index.js.map +1 -1
  42. package/dist/lib/integrations/node-http/index.mjs +3 -3
  43. package/dist/service-adapters/index.d.ts +4 -4
  44. package/dist/service-adapters/index.js +43 -0
  45. package/dist/service-adapters/index.js.map +1 -1
  46. package/dist/service-adapters/index.mjs +1 -1
  47. package/dist/{shared-93687488.d.ts → shared-350db43f.d.ts} +2 -2
  48. package/package.json +2 -2
  49. package/src/graphql/inputs/message.input.ts +18 -0
  50. package/src/graphql/types/converted/index.ts +15 -1
  51. package/src/graphql/types/copilot-response.type.ts +17 -0
  52. package/src/lib/runtime/remote-lg-action.ts +19 -0
  53. package/src/service-adapters/anthropic/utils.ts +32 -0
  54. package/src/service-adapters/conversion.ts +10 -0
  55. package/src/service-adapters/openai/utils.ts +12 -0
  56. package/dist/chunk-DNI7KA7Y.mjs.map +0 -1
  57. package/dist/chunk-QLQZOYNM.mjs.map +0 -1
  58. package/dist/chunk-RTFJTJMA.mjs.map +0 -1
  59. /package/dist/{chunk-M5ICHA6U.mjs.map → chunk-S2W2IABM.mjs.map} +0 -0
  60. /package/dist/{chunk-2M3O4SA5.mjs.map → chunk-TOZ7TDZQ.mjs.map} +0 -0
  61. /package/dist/{chunk-3PPZ4552.mjs.map → chunk-ZD6BIBVB.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.8.6",
47
+ version: "1.8.7",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -301,6 +301,18 @@ function convertMessageToOpenAIMessage(message, options) {
301
301
  role,
302
302
  content: message.content
303
303
  };
304
+ } else if (message.isImageMessage()) {
305
+ return {
306
+ role: "user",
307
+ content: [
308
+ {
309
+ type: "image_url",
310
+ image_url: {
311
+ url: `data:image/${message.format};base64,${message.bytes}`
312
+ }
313
+ }
314
+ ]
315
+ };
304
316
  } else if (message.isActionExecutionMessage()) {
305
317
  return {
306
318
  role: "assistant",
@@ -1292,6 +1304,7 @@ var MessageInput = class extends BaseMessageInput {
1292
1304
  actionExecutionMessage;
1293
1305
  resultMessage;
1294
1306
  agentStateMessage;
1307
+ imageMessage;
1295
1308
  };
1296
1309
  __name(MessageInput, "MessageInput");
1297
1310
  _ts_decorate2([
@@ -1318,6 +1331,12 @@ _ts_decorate2([
1318
1331
  }),
1319
1332
  _ts_metadata2("design:type", typeof AgentStateMessageInput === "undefined" ? Object : AgentStateMessageInput)
1320
1333
  ], MessageInput.prototype, "agentStateMessage", void 0);
1334
+ _ts_decorate2([
1335
+ (0, import_type_graphql3.Field)(() => ImageMessageInput, {
1336
+ nullable: true
1337
+ }),
1338
+ _ts_metadata2("design:type", typeof ImageMessageInput === "undefined" ? Object : ImageMessageInput)
1339
+ ], MessageInput.prototype, "imageMessage", void 0);
1321
1340
  MessageInput = _ts_decorate2([
1322
1341
  (0, import_type_graphql3.InputType)()
1323
1342
  ], MessageInput);
@@ -1449,6 +1468,34 @@ _ts_decorate2([
1449
1468
  AgentStateMessageInput = _ts_decorate2([
1450
1469
  (0, import_type_graphql3.InputType)()
1451
1470
  ], AgentStateMessageInput);
1471
+ var ImageMessageInput = class {
1472
+ format;
1473
+ bytes;
1474
+ parentMessageId;
1475
+ role;
1476
+ };
1477
+ __name(ImageMessageInput, "ImageMessageInput");
1478
+ _ts_decorate2([
1479
+ (0, import_type_graphql3.Field)(() => String),
1480
+ _ts_metadata2("design:type", String)
1481
+ ], ImageMessageInput.prototype, "format", void 0);
1482
+ _ts_decorate2([
1483
+ (0, import_type_graphql3.Field)(() => String),
1484
+ _ts_metadata2("design:type", String)
1485
+ ], ImageMessageInput.prototype, "bytes", void 0);
1486
+ _ts_decorate2([
1487
+ (0, import_type_graphql3.Field)(() => String, {
1488
+ nullable: true
1489
+ }),
1490
+ _ts_metadata2("design:type", String)
1491
+ ], ImageMessageInput.prototype, "parentMessageId", void 0);
1492
+ _ts_decorate2([
1493
+ (0, import_type_graphql3.Field)(() => MessageRole),
1494
+ _ts_metadata2("design:type", typeof MessageRole === "undefined" ? Object : MessageRole)
1495
+ ], ImageMessageInput.prototype, "role", void 0);
1496
+ ImageMessageInput = _ts_decorate2([
1497
+ (0, import_type_graphql3.InputType)()
1498
+ ], ImageMessageInput);
1452
1499
 
1453
1500
  // src/graphql/inputs/frontend.input.ts
1454
1501
  var import_type_graphql5 = require("type-graphql");
@@ -2128,6 +2175,8 @@ BaseMessageOutput = _ts_decorate14([
2128
2175
  return ResultMessageOutput;
2129
2176
  } else if (value.hasOwnProperty("state")) {
2130
2177
  return AgentStateMessageOutput;
2178
+ } else if (value.hasOwnProperty("format") && value.hasOwnProperty("bytes")) {
2179
+ return ImageMessageOutput;
2131
2180
  }
2132
2181
  return void 0;
2133
2182
  }
@@ -2266,6 +2315,36 @@ AgentStateMessageOutput = _ts_decorate14([
2266
2315
  implements: BaseMessageOutput
2267
2316
  })
2268
2317
  ], AgentStateMessageOutput);
2318
+ var ImageMessageOutput = class {
2319
+ format;
2320
+ bytes;
2321
+ role;
2322
+ parentMessageId;
2323
+ };
2324
+ __name(ImageMessageOutput, "ImageMessageOutput");
2325
+ _ts_decorate14([
2326
+ (0, import_type_graphql15.Field)(() => String),
2327
+ _ts_metadata14("design:type", String)
2328
+ ], ImageMessageOutput.prototype, "format", void 0);
2329
+ _ts_decorate14([
2330
+ (0, import_type_graphql15.Field)(() => String),
2331
+ _ts_metadata14("design:type", String)
2332
+ ], ImageMessageOutput.prototype, "bytes", void 0);
2333
+ _ts_decorate14([
2334
+ (0, import_type_graphql15.Field)(() => MessageRole),
2335
+ _ts_metadata14("design:type", typeof MessageRole === "undefined" ? Object : MessageRole)
2336
+ ], ImageMessageOutput.prototype, "role", void 0);
2337
+ _ts_decorate14([
2338
+ (0, import_type_graphql15.Field)(() => String, {
2339
+ nullable: true
2340
+ }),
2341
+ _ts_metadata14("design:type", String)
2342
+ ], ImageMessageOutput.prototype, "parentMessageId", void 0);
2343
+ ImageMessageOutput = _ts_decorate14([
2344
+ (0, import_type_graphql15.ObjectType)({
2345
+ implements: BaseMessageOutput
2346
+ })
2347
+ ], ImageMessageOutput);
2269
2348
  var CopilotResponse = class {
2270
2349
  threadId;
2271
2350
  status;
@@ -3420,6 +3499,22 @@ function copilotkitMessagesToLangChain(messages) {
3420
3499
  }
3421
3500
  continue;
3422
3501
  }
3502
+ if (message.isImageMessage()) {
3503
+ if (message.role === "user") {
3504
+ result.push({
3505
+ ...message,
3506
+ role: MessageRole.user,
3507
+ content: ""
3508
+ });
3509
+ } else if (message.role === "assistant") {
3510
+ result.push({
3511
+ ...message,
3512
+ role: MessageRole.assistant,
3513
+ content: ""
3514
+ });
3515
+ }
3516
+ continue;
3517
+ }
3423
3518
  if (message.isActionExecutionMessage()) {
3424
3519
  const messageId = message.parentMessageId ?? message.id;
3425
3520
  if (processedActionExecutions.has(messageId)) {
@@ -4182,6 +4277,37 @@ function convertMessageToAnthropicMessage(message) {
4182
4277
  ]
4183
4278
  };
4184
4279
  }
4280
+ } else if (message.isImageMessage()) {
4281
+ let mediaType;
4282
+ switch (message.format) {
4283
+ case "jpeg":
4284
+ mediaType = "image/jpeg";
4285
+ break;
4286
+ case "png":
4287
+ mediaType = "image/png";
4288
+ break;
4289
+ case "webp":
4290
+ mediaType = "image/webp";
4291
+ break;
4292
+ case "gif":
4293
+ mediaType = "image/gif";
4294
+ break;
4295
+ default:
4296
+ throw new Error(`Unsupported image format: ${message.format}`);
4297
+ }
4298
+ return {
4299
+ role: "user",
4300
+ content: [
4301
+ {
4302
+ type: "image",
4303
+ source: {
4304
+ type: "base64",
4305
+ media_type: mediaType,
4306
+ data: message.bytes
4307
+ }
4308
+ }
4309
+ ]
4310
+ };
4185
4311
  } else if (message.isActionExecutionMessage()) {
4186
4312
  return {
4187
4313
  role: "assistant",
@@ -4444,6 +4570,9 @@ var Message = class extends BaseMessageInput {
4444
4570
  isAgentStateMessage() {
4445
4571
  return this.type === "AgentStateMessage";
4446
4572
  }
4573
+ isImageMessage() {
4574
+ return this.type === "ImageMessage";
4575
+ }
4447
4576
  };
4448
4577
  __name(Message, "Message");
4449
4578
  var TextMessage = class extends Message {
@@ -4542,6 +4671,14 @@ var AgentStateMessage = class extends Message {
4542
4671
  running;
4543
4672
  };
4544
4673
  __name(AgentStateMessage, "AgentStateMessage");
4674
+ var ImageMessage = class extends Message {
4675
+ type = "ImageMessage";
4676
+ format;
4677
+ bytes;
4678
+ role;
4679
+ parentMessageId;
4680
+ };
4681
+ __name(ImageMessage, "ImageMessage");
4545
4682
 
4546
4683
  // src/service-adapters/conversion.ts
4547
4684
  var import_class_transformer = require("class-transformer");
@@ -4556,6 +4693,15 @@ function convertGqlInputToMessages(inputMessages) {
4556
4693
  content: message.textMessage.content,
4557
4694
  parentMessageId: message.textMessage.parentMessageId
4558
4695
  });
4696
+ } else if (message.imageMessage) {
4697
+ return (0, import_class_transformer.plainToInstance)(ImageMessage, {
4698
+ id: message.id,
4699
+ createdAt: message.createdAt,
4700
+ role: message.imageMessage.role,
4701
+ bytes: message.imageMessage.bytes,
4702
+ format: message.imageMessage.format,
4703
+ parentMessageId: message.imageMessage.parentMessageId
4704
+ });
4559
4705
  } else if (message.actionExecutionMessage) {
4560
4706
  return (0, import_class_transformer.plainToInstance)(ActionExecutionMessage, {
4561
4707
  id: message.id,