@copilotkit/runtime 1.8.6-next.0 → 1.8.7-next.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 (61) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/__snapshots__/schema/schema.graphql +18 -0
  3. package/dist/{chunk-NKMMHPPX.mjs → chunk-BXJZ5GEO.mjs} +2 -2
  4. package/dist/{chunk-3KFMOJC6.mjs → chunk-CWPYW7XE.mjs} +2 -2
  5. package/dist/{chunk-DNI7KA7Y.mjs → chunk-EY6RUVB7.mjs} +44 -1
  6. package/dist/chunk-EY6RUVB7.mjs.map +1 -0
  7. package/dist/{chunk-H2VC34X7.mjs → chunk-JSV26III.mjs} +97 -4
  8. package/dist/chunk-JSV26III.mjs.map +1 -0
  9. package/dist/{chunk-D4R6RNSD.mjs → chunk-RU5CS42E.mjs} +2 -2
  10. package/dist/{chunk-RTFJTJMA.mjs → chunk-SHBDMA63.mjs} +14 -2
  11. package/dist/chunk-SHBDMA63.mjs.map +1 -0
  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-H2VC34X7.mjs.map +0 -1
  58. package/dist/chunk-RTFJTJMA.mjs.map +0 -1
  59. /package/dist/{chunk-NKMMHPPX.mjs.map → chunk-BXJZ5GEO.mjs.map} +0 -0
  60. /package/dist/{chunk-3KFMOJC6.mjs.map → chunk-CWPYW7XE.mjs.map} +0 -0
  61. /package/dist/{chunk-D4R6RNSD.mjs.map → chunk-RU5CS42E.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  getCommonConfig,
3
3
  getRuntimeInstanceTelemetryInfo,
4
4
  telemetry_client_default
5
- } from "./chunk-H2VC34X7.mjs";
5
+ } from "./chunk-JSV26III.mjs";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-FHD4JECV.mjs";
@@ -77,4 +77,4 @@ export {
77
77
  config,
78
78
  copilotRuntimeNextJSPagesRouterEndpoint
79
79
  };
80
- //# sourceMappingURL=chunk-D4R6RNSD.mjs.map
80
+ //# sourceMappingURL=chunk-RU5CS42E.mjs.map
@@ -20,6 +20,9 @@ var Message = class extends BaseMessageInput {
20
20
  isAgentStateMessage() {
21
21
  return this.type === "AgentStateMessage";
22
22
  }
23
+ isImageMessage() {
24
+ return this.type === "ImageMessage";
25
+ }
23
26
  };
24
27
  __name(Message, "Message");
25
28
  var TextMessage = class extends Message {
@@ -118,12 +121,21 @@ var AgentStateMessage = class extends Message {
118
121
  running;
119
122
  };
120
123
  __name(AgentStateMessage, "AgentStateMessage");
124
+ var ImageMessage = class extends Message {
125
+ type = "ImageMessage";
126
+ format;
127
+ bytes;
128
+ role;
129
+ parentMessageId;
130
+ };
131
+ __name(ImageMessage, "ImageMessage");
121
132
 
122
133
  export {
123
134
  Message,
124
135
  TextMessage,
125
136
  ActionExecutionMessage,
126
137
  ResultMessage,
127
- AgentStateMessage
138
+ AgentStateMessage,
139
+ ImageMessage
128
140
  };
129
- //# sourceMappingURL=chunk-RTFJTJMA.mjs.map
141
+ //# sourceMappingURL=chunk-SHBDMA63.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/graphql/types/converted/index.ts"],"sourcesContent":["import {\n ActionExecutionMessageInput,\n ResultMessageInput,\n TextMessageInput,\n AgentStateMessageInput,\n ImageMessageInput,\n} from \"../../inputs/message.input\";\nimport { BaseMessageInput } from \"../base\";\nimport { MessageRole } from \"../enums\";\n\nexport type MessageType =\n | \"TextMessage\"\n | \"ActionExecutionMessage\"\n | \"ResultMessage\"\n | \"AgentStateMessage\"\n | \"ImageMessage\";\n\nexport class Message extends BaseMessageInput {\n type: MessageType;\n\n isTextMessage(): this is TextMessage {\n return this.type === \"TextMessage\";\n }\n\n isActionExecutionMessage(): this is ActionExecutionMessage {\n return this.type === \"ActionExecutionMessage\";\n }\n\n isResultMessage(): this is ResultMessage {\n return this.type === \"ResultMessage\";\n }\n\n isAgentStateMessage(): this is AgentStateMessage {\n return this.type === \"AgentStateMessage\";\n }\n\n isImageMessage(): this is ImageMessage {\n return this.type === \"ImageMessage\";\n }\n}\n\nexport class TextMessage extends Message implements TextMessageInput {\n type: MessageType = \"TextMessage\";\n content: string;\n role: MessageRole;\n parentMessageId?: string;\n}\n\nexport class ActionExecutionMessage\n extends Message\n implements Omit<ActionExecutionMessageInput, \"arguments\" | \"scope\">\n{\n type: MessageType = \"ActionExecutionMessage\";\n name: string;\n arguments: Record<string, any>;\n parentMessageId?: string;\n}\n\nexport class ResultMessage extends Message implements ResultMessageInput {\n type: MessageType = \"ResultMessage\";\n actionExecutionId: string;\n actionName: string;\n result: string;\n\n static encodeResult(\n result: any,\n error?: { code: string; message: string } | string | Error,\n ): string {\n const errorObj = error\n ? typeof error === \"string\"\n ? { code: \"ERROR\", message: error }\n : error instanceof Error\n ? { code: \"ERROR\", message: error.message }\n : error\n : undefined;\n\n if (errorObj) {\n return JSON.stringify({\n error: errorObj,\n result: result || \"\",\n });\n }\n if (result === undefined) {\n return \"\";\n }\n return typeof result === \"string\" ? result : JSON.stringify(result);\n }\n\n static decodeResult(result: string): {\n error?: { code: string; message: string };\n result: string;\n } {\n if (!result) {\n return { result: \"\" };\n }\n try {\n const parsed = JSON.parse(result);\n if (parsed && typeof parsed === \"object\") {\n if (\"error\" in parsed) {\n return {\n error: parsed.error,\n result: parsed.result || \"\",\n };\n }\n return { result: JSON.stringify(parsed) };\n }\n return { result };\n } catch (e) {\n return { result };\n }\n }\n\n hasError(): boolean {\n try {\n const { error } = ResultMessage.decodeResult(this.result);\n return !!error;\n } catch {\n return false;\n }\n }\n\n getError(): { code: string; message: string } | undefined {\n try {\n const { error } = ResultMessage.decodeResult(this.result);\n return error;\n } catch {\n return undefined;\n }\n }\n}\n\nexport class AgentStateMessage extends Message implements Omit<AgentStateMessageInput, \"state\"> {\n type: MessageType = \"AgentStateMessage\";\n threadId: string;\n agentName: string;\n nodeName: string;\n runId: string;\n active: boolean;\n role: MessageRole;\n state: any;\n running: boolean;\n}\n\nexport class ImageMessage extends Message implements ImageMessageInput {\n type: MessageType = \"ImageMessage\";\n format: string;\n bytes: string;\n role: MessageRole;\n parentMessageId?: string;\n}\n"],"mappings":";;;;;;;;AAiBO,IAAMA,UAAN,cAAsBC,iBAAAA;EAC3BC;EAEAC,gBAAqC;AACnC,WAAO,KAAKD,SAAS;EACvB;EAEAE,2BAA2D;AACzD,WAAO,KAAKF,SAAS;EACvB;EAEAG,kBAAyC;AACvC,WAAO,KAAKH,SAAS;EACvB;EAEAI,sBAAiD;AAC/C,WAAO,KAAKJ,SAAS;EACvB;EAEAK,iBAAuC;AACrC,WAAO,KAAKL,SAAS;EACvB;AACF;AAtBaF;AAwBN,IAAMQ,cAAN,cAA0BR,QAAAA;EAC/BE,OAAoB;EACpBO;EACAC;EACAC;AACF;AALaH;AAON,IAAMI,yBAAN,cACGZ,QAAAA;EAGRE,OAAoB;EACpBW;EACAC;EACAH;AACF;AARaC;AAUN,IAAMG,gBAAN,cAA4Bf,QAAAA;EACjCE,OAAoB;EACpBc;EACAC;EACAC;EAEA,OAAOC,aACLD,QACAE,OACQ;AACR,UAAMC,WAAWD,QACb,OAAOA,UAAU,WACf;MAAEE,MAAM;MAASC,SAASH;IAAM,IAChCA,iBAAiBI,QACf;MAAEF,MAAM;MAASC,SAASH,MAAMG;IAAQ,IACxCH,QACJK;AAEJ,QAAIJ,UAAU;AACZ,aAAOK,KAAKC,UAAU;QACpBP,OAAOC;QACPH,QAAQA,UAAU;MACpB,CAAA;IACF;AACA,QAAIA,WAAWO,QAAW;AACxB,aAAO;IACT;AACA,WAAO,OAAOP,WAAW,WAAWA,SAASQ,KAAKC,UAAUT,MAAAA;EAC9D;EAEA,OAAOU,aAAaV,QAGlB;AACA,QAAI,CAACA,QAAQ;AACX,aAAO;QAAEA,QAAQ;MAAG;IACtB;AACA,QAAI;AACF,YAAMW,SAASH,KAAKI,MAAMZ,MAAAA;AAC1B,UAAIW,UAAU,OAAOA,WAAW,UAAU;AACxC,YAAI,WAAWA,QAAQ;AACrB,iBAAO;YACLT,OAAOS,OAAOT;YACdF,QAAQW,OAAOX,UAAU;UAC3B;QACF;AACA,eAAO;UAAEA,QAAQQ,KAAKC,UAAUE,MAAAA;QAAQ;MAC1C;AACA,aAAO;QAAEX;MAAO;IAClB,SAASa,GAAP;AACA,aAAO;QAAEb;MAAO;IAClB;EACF;EAEAc,WAAoB;AAClB,QAAI;AACF,YAAM,EAAEZ,MAAK,IAAKL,cAAca,aAAa,KAAKV,MAAM;AACxD,aAAO,CAAC,CAACE;IACX,QAAE;AACA,aAAO;IACT;EACF;EAEAa,WAA0D;AACxD,QAAI;AACF,YAAM,EAAEb,MAAK,IAAKL,cAAca,aAAa,KAAKV,MAAM;AACxD,aAAOE;IACT,QAAE;AACA,aAAOK;IACT;EACF;AACF;AAvEaV;AAyEN,IAAMmB,oBAAN,cAAgClC,QAAAA;EACrCE,OAAoB;EACpBiC;EACAC;EACAC;EACAC;EACAC;EACA7B;EACA8B;EACAC;AACF;AAVaP;AAYN,IAAMQ,eAAN,cAA2B1C,QAAAA;EAChCE,OAAoB;EACpByC;EACAC;EACAlC;EACAC;AACF;AANa+B;","names":["Message","BaseMessageInput","type","isTextMessage","isActionExecutionMessage","isResultMessage","isAgentStateMessage","isImageMessage","TextMessage","content","role","parentMessageId","ActionExecutionMessage","name","arguments","ResultMessage","actionExecutionId","actionName","result","encodeResult","error","errorObj","code","message","Error","undefined","JSON","stringify","decodeResult","parsed","parse","e","hasError","getError","AgentStateMessage","threadId","agentName","nodeName","runId","active","state","running","ImageMessage","format","bytes"]}
@@ -1,2 +1,2 @@
1
- export { b as ActionExecutionMessage, d as AgentStateMessage, a as Message, c as MessageType, R as ResultMessage, T as TextMessage } from '../../../index-5bec5424.js';
1
+ export { b as ActionExecutionMessage, d as AgentStateMessage, I as ImageMessage, a as Message, c as MessageType, R as ResultMessage, T as TextMessage } from '../../../index-d4614f9b.js';
2
2
  import '../base/index.js';
@@ -22,6 +22,7 @@ var converted_exports = {};
22
22
  __export(converted_exports, {
23
23
  ActionExecutionMessage: () => ActionExecutionMessage,
24
24
  AgentStateMessage: () => AgentStateMessage,
25
+ ImageMessage: () => ImageMessage,
25
26
  Message: () => Message,
26
27
  ResultMessage: () => ResultMessage,
27
28
  TextMessage: () => TextMessage
@@ -78,6 +79,9 @@ var Message = class extends BaseMessageInput {
78
79
  isAgentStateMessage() {
79
80
  return this.type === "AgentStateMessage";
80
81
  }
82
+ isImageMessage() {
83
+ return this.type === "ImageMessage";
84
+ }
81
85
  };
82
86
  __name(Message, "Message");
83
87
  var TextMessage = class extends Message {
@@ -176,10 +180,19 @@ var AgentStateMessage = class extends Message {
176
180
  running;
177
181
  };
178
182
  __name(AgentStateMessage, "AgentStateMessage");
183
+ var ImageMessage = class extends Message {
184
+ type = "ImageMessage";
185
+ format;
186
+ bytes;
187
+ role;
188
+ parentMessageId;
189
+ };
190
+ __name(ImageMessage, "ImageMessage");
179
191
  // Annotate the CommonJS export names for ESM import in node:
180
192
  0 && (module.exports = {
181
193
  ActionExecutionMessage,
182
194
  AgentStateMessage,
195
+ ImageMessage,
183
196
  Message,
184
197
  ResultMessage,
185
198
  TextMessage
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/graphql/types/converted/index.ts","../../../../src/graphql/types/base/index.ts"],"sourcesContent":["import {\n ActionExecutionMessageInput,\n ResultMessageInput,\n TextMessageInput,\n AgentStateMessageInput,\n} from \"../../inputs/message.input\";\nimport { BaseMessageInput } from \"../base\";\nimport { MessageRole } from \"../enums\";\n\nexport type MessageType =\n | \"TextMessage\"\n | \"ActionExecutionMessage\"\n | \"ResultMessage\"\n | \"AgentStateMessage\";\n\nexport class Message extends BaseMessageInput {\n type: MessageType;\n\n isTextMessage(): this is TextMessage {\n return this.type === \"TextMessage\";\n }\n\n isActionExecutionMessage(): this is ActionExecutionMessage {\n return this.type === \"ActionExecutionMessage\";\n }\n\n isResultMessage(): this is ResultMessage {\n return this.type === \"ResultMessage\";\n }\n\n isAgentStateMessage(): this is AgentStateMessage {\n return this.type === \"AgentStateMessage\";\n }\n}\n\nexport class TextMessage extends Message implements TextMessageInput {\n type: MessageType = \"TextMessage\";\n content: string;\n role: MessageRole;\n parentMessageId?: string;\n}\n\nexport class ActionExecutionMessage\n extends Message\n implements Omit<ActionExecutionMessageInput, \"arguments\" | \"scope\">\n{\n type: MessageType = \"ActionExecutionMessage\";\n name: string;\n arguments: Record<string, any>;\n parentMessageId?: string;\n}\n\nexport class ResultMessage extends Message implements ResultMessageInput {\n type: MessageType = \"ResultMessage\";\n actionExecutionId: string;\n actionName: string;\n result: string;\n\n static encodeResult(\n result: any,\n error?: { code: string; message: string } | string | Error,\n ): string {\n const errorObj = error\n ? typeof error === \"string\"\n ? { code: \"ERROR\", message: error }\n : error instanceof Error\n ? { code: \"ERROR\", message: error.message }\n : error\n : undefined;\n\n if (errorObj) {\n return JSON.stringify({\n error: errorObj,\n result: result || \"\",\n });\n }\n if (result === undefined) {\n return \"\";\n }\n return typeof result === \"string\" ? result : JSON.stringify(result);\n }\n\n static decodeResult(result: string): {\n error?: { code: string; message: string };\n result: string;\n } {\n if (!result) {\n return { result: \"\" };\n }\n try {\n const parsed = JSON.parse(result);\n if (parsed && typeof parsed === \"object\") {\n if (\"error\" in parsed) {\n return {\n error: parsed.error,\n result: parsed.result || \"\",\n };\n }\n return { result: JSON.stringify(parsed) };\n }\n return { result };\n } catch (e) {\n return { result };\n }\n }\n\n hasError(): boolean {\n try {\n const { error } = ResultMessage.decodeResult(this.result);\n return !!error;\n } catch {\n return false;\n }\n }\n\n getError(): { code: string; message: string } | undefined {\n try {\n const { error } = ResultMessage.decodeResult(this.result);\n return error;\n } catch {\n return undefined;\n }\n }\n}\n\nexport class AgentStateMessage extends Message implements Omit<AgentStateMessageInput, \"state\"> {\n type: MessageType = \"AgentStateMessage\";\n threadId: string;\n agentName: string;\n nodeName: string;\n runId: string;\n active: boolean;\n role: MessageRole;\n state: any;\n running: boolean;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class BaseMessageInput {\n @Field(() => String)\n id: string;\n\n @Field(() => Date)\n createdAt: Date;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;ACNA,0BAAiC;;;;;;;;;;;;;;;;;AAG1B,IAAMA,mBAAN,MAAMA;EAEXC;EAGAC;AACF;AANaF;;MACVG,2BAAM,MAAMC,MAAAA;;GADFJ,iBAAAA,WAAAA,MAAAA,MAAAA;;MAIVG,2BAAM,MAAME,IAAAA;qCACF,SAAA,cAAA,SAAA,IAAA;GALAL,iBAAAA,WAAAA,aAAAA,MAAAA;AAAAA,mBAAAA,aAAAA;MADZM,+BAAAA;GACYN,gBAAAA;;;ADYN,IAAMO,UAAN,cAAsBC,iBAAAA;EAC3BC;EAEAC,gBAAqC;AACnC,WAAO,KAAKD,SAAS;EACvB;EAEAE,2BAA2D;AACzD,WAAO,KAAKF,SAAS;EACvB;EAEAG,kBAAyC;AACvC,WAAO,KAAKH,SAAS;EACvB;EAEAI,sBAAiD;AAC/C,WAAO,KAAKJ,SAAS;EACvB;AACF;AAlBaF;AAoBN,IAAMO,cAAN,cAA0BP,QAAAA;EAC/BE,OAAoB;EACpBM;EACAC;EACAC;AACF;AALaH;AAON,IAAMI,yBAAN,cACGX,QAAAA;EAGRE,OAAoB;EACpBU;EACAC;EACAH;AACF;AARaC;AAUN,IAAMG,gBAAN,cAA4Bd,QAAAA;EACjCE,OAAoB;EACpBa;EACAC;EACAC;EAEA,OAAOC,aACLD,QACAE,OACQ;AACR,UAAMC,WAAWD,QACb,OAAOA,UAAU,WACf;MAAEE,MAAM;MAASC,SAASH;IAAM,IAChCA,iBAAiBI,QACf;MAAEF,MAAM;MAASC,SAASH,MAAMG;IAAQ,IACxCH,QACJK;AAEJ,QAAIJ,UAAU;AACZ,aAAOK,KAAKC,UAAU;QACpBP,OAAOC;QACPH,QAAQA,UAAU;MACpB,CAAA;IACF;AACA,QAAIA,WAAWO,QAAW;AACxB,aAAO;IACT;AACA,WAAO,OAAOP,WAAW,WAAWA,SAASQ,KAAKC,UAAUT,MAAAA;EAC9D;EAEA,OAAOU,aAAaV,QAGlB;AACA,QAAI,CAACA,QAAQ;AACX,aAAO;QAAEA,QAAQ;MAAG;IACtB;AACA,QAAI;AACF,YAAMW,SAASH,KAAKI,MAAMZ,MAAAA;AAC1B,UAAIW,UAAU,OAAOA,WAAW,UAAU;AACxC,YAAI,WAAWA,QAAQ;AACrB,iBAAO;YACLT,OAAOS,OAAOT;YACdF,QAAQW,OAAOX,UAAU;UAC3B;QACF;AACA,eAAO;UAAEA,QAAQQ,KAAKC,UAAUE,MAAAA;QAAQ;MAC1C;AACA,aAAO;QAAEX;MAAO;IAClB,SAASa,GAAP;AACA,aAAO;QAAEb;MAAO;IAClB;EACF;EAEAc,WAAoB;AAClB,QAAI;AACF,YAAM,EAAEZ,MAAK,IAAKL,cAAca,aAAa,KAAKV,MAAM;AACxD,aAAO,CAAC,CAACE;IACX,QAAE;AACA,aAAO;IACT;EACF;EAEAa,WAA0D;AACxD,QAAI;AACF,YAAM,EAAEb,MAAK,IAAKL,cAAca,aAAa,KAAKV,MAAM;AACxD,aAAOE;IACT,QAAE;AACA,aAAOK;IACT;EACF;AACF;AAvEaV;AAyEN,IAAMmB,oBAAN,cAAgCjC,QAAAA;EACrCE,OAAoB;EACpBgC;EACAC;EACAC;EACAC;EACAC;EACA7B;EACA8B;EACAC;AACF;AAVaP;","names":["BaseMessageInput","id","createdAt","Field","String","Date","InputType","Message","BaseMessageInput","type","isTextMessage","isActionExecutionMessage","isResultMessage","isAgentStateMessage","TextMessage","content","role","parentMessageId","ActionExecutionMessage","name","arguments","ResultMessage","actionExecutionId","actionName","result","encodeResult","error","errorObj","code","message","Error","undefined","JSON","stringify","decodeResult","parsed","parse","e","hasError","getError","AgentStateMessage","threadId","agentName","nodeName","runId","active","state","running"]}
1
+ {"version":3,"sources":["../../../../src/graphql/types/converted/index.ts","../../../../src/graphql/types/base/index.ts"],"sourcesContent":["import {\n ActionExecutionMessageInput,\n ResultMessageInput,\n TextMessageInput,\n AgentStateMessageInput,\n ImageMessageInput,\n} from \"../../inputs/message.input\";\nimport { BaseMessageInput } from \"../base\";\nimport { MessageRole } from \"../enums\";\n\nexport type MessageType =\n | \"TextMessage\"\n | \"ActionExecutionMessage\"\n | \"ResultMessage\"\n | \"AgentStateMessage\"\n | \"ImageMessage\";\n\nexport class Message extends BaseMessageInput {\n type: MessageType;\n\n isTextMessage(): this is TextMessage {\n return this.type === \"TextMessage\";\n }\n\n isActionExecutionMessage(): this is ActionExecutionMessage {\n return this.type === \"ActionExecutionMessage\";\n }\n\n isResultMessage(): this is ResultMessage {\n return this.type === \"ResultMessage\";\n }\n\n isAgentStateMessage(): this is AgentStateMessage {\n return this.type === \"AgentStateMessage\";\n }\n\n isImageMessage(): this is ImageMessage {\n return this.type === \"ImageMessage\";\n }\n}\n\nexport class TextMessage extends Message implements TextMessageInput {\n type: MessageType = \"TextMessage\";\n content: string;\n role: MessageRole;\n parentMessageId?: string;\n}\n\nexport class ActionExecutionMessage\n extends Message\n implements Omit<ActionExecutionMessageInput, \"arguments\" | \"scope\">\n{\n type: MessageType = \"ActionExecutionMessage\";\n name: string;\n arguments: Record<string, any>;\n parentMessageId?: string;\n}\n\nexport class ResultMessage extends Message implements ResultMessageInput {\n type: MessageType = \"ResultMessage\";\n actionExecutionId: string;\n actionName: string;\n result: string;\n\n static encodeResult(\n result: any,\n error?: { code: string; message: string } | string | Error,\n ): string {\n const errorObj = error\n ? typeof error === \"string\"\n ? { code: \"ERROR\", message: error }\n : error instanceof Error\n ? { code: \"ERROR\", message: error.message }\n : error\n : undefined;\n\n if (errorObj) {\n return JSON.stringify({\n error: errorObj,\n result: result || \"\",\n });\n }\n if (result === undefined) {\n return \"\";\n }\n return typeof result === \"string\" ? result : JSON.stringify(result);\n }\n\n static decodeResult(result: string): {\n error?: { code: string; message: string };\n result: string;\n } {\n if (!result) {\n return { result: \"\" };\n }\n try {\n const parsed = JSON.parse(result);\n if (parsed && typeof parsed === \"object\") {\n if (\"error\" in parsed) {\n return {\n error: parsed.error,\n result: parsed.result || \"\",\n };\n }\n return { result: JSON.stringify(parsed) };\n }\n return { result };\n } catch (e) {\n return { result };\n }\n }\n\n hasError(): boolean {\n try {\n const { error } = ResultMessage.decodeResult(this.result);\n return !!error;\n } catch {\n return false;\n }\n }\n\n getError(): { code: string; message: string } | undefined {\n try {\n const { error } = ResultMessage.decodeResult(this.result);\n return error;\n } catch {\n return undefined;\n }\n }\n}\n\nexport class AgentStateMessage extends Message implements Omit<AgentStateMessageInput, \"state\"> {\n type: MessageType = \"AgentStateMessage\";\n threadId: string;\n agentName: string;\n nodeName: string;\n runId: string;\n active: boolean;\n role: MessageRole;\n state: any;\n running: boolean;\n}\n\nexport class ImageMessage extends Message implements ImageMessageInput {\n type: MessageType = \"ImageMessage\";\n format: string;\n bytes: string;\n role: MessageRole;\n parentMessageId?: string;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class BaseMessageInput {\n @Field(() => String)\n id: string;\n\n @Field(() => Date)\n createdAt: Date;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;ACPA,0BAAiC;;;;;;;;;;;;;;;;;AAG1B,IAAMA,mBAAN,MAAMA;EAEXC;EAGAC;AACF;AANaF;;MACVG,2BAAM,MAAMC,MAAAA;;GADFJ,iBAAAA,WAAAA,MAAAA,MAAAA;;MAIVG,2BAAM,MAAME,IAAAA;qCACF,SAAA,cAAA,SAAA,IAAA;GALAL,iBAAAA,WAAAA,aAAAA,MAAAA;AAAAA,mBAAAA,aAAAA;MADZM,+BAAAA;GACYN,gBAAAA;;;ADcN,IAAMO,UAAN,cAAsBC,iBAAAA;EAC3BC;EAEAC,gBAAqC;AACnC,WAAO,KAAKD,SAAS;EACvB;EAEAE,2BAA2D;AACzD,WAAO,KAAKF,SAAS;EACvB;EAEAG,kBAAyC;AACvC,WAAO,KAAKH,SAAS;EACvB;EAEAI,sBAAiD;AAC/C,WAAO,KAAKJ,SAAS;EACvB;EAEAK,iBAAuC;AACrC,WAAO,KAAKL,SAAS;EACvB;AACF;AAtBaF;AAwBN,IAAMQ,cAAN,cAA0BR,QAAAA;EAC/BE,OAAoB;EACpBO;EACAC;EACAC;AACF;AALaH;AAON,IAAMI,yBAAN,cACGZ,QAAAA;EAGRE,OAAoB;EACpBW;EACAC;EACAH;AACF;AARaC;AAUN,IAAMG,gBAAN,cAA4Bf,QAAAA;EACjCE,OAAoB;EACpBc;EACAC;EACAC;EAEA,OAAOC,aACLD,QACAE,OACQ;AACR,UAAMC,WAAWD,QACb,OAAOA,UAAU,WACf;MAAEE,MAAM;MAASC,SAASH;IAAM,IAChCA,iBAAiBI,QACf;MAAEF,MAAM;MAASC,SAASH,MAAMG;IAAQ,IACxCH,QACJK;AAEJ,QAAIJ,UAAU;AACZ,aAAOK,KAAKC,UAAU;QACpBP,OAAOC;QACPH,QAAQA,UAAU;MACpB,CAAA;IACF;AACA,QAAIA,WAAWO,QAAW;AACxB,aAAO;IACT;AACA,WAAO,OAAOP,WAAW,WAAWA,SAASQ,KAAKC,UAAUT,MAAAA;EAC9D;EAEA,OAAOU,aAAaV,QAGlB;AACA,QAAI,CAACA,QAAQ;AACX,aAAO;QAAEA,QAAQ;MAAG;IACtB;AACA,QAAI;AACF,YAAMW,SAASH,KAAKI,MAAMZ,MAAAA;AAC1B,UAAIW,UAAU,OAAOA,WAAW,UAAU;AACxC,YAAI,WAAWA,QAAQ;AACrB,iBAAO;YACLT,OAAOS,OAAOT;YACdF,QAAQW,OAAOX,UAAU;UAC3B;QACF;AACA,eAAO;UAAEA,QAAQQ,KAAKC,UAAUE,MAAAA;QAAQ;MAC1C;AACA,aAAO;QAAEX;MAAO;IAClB,SAASa,GAAP;AACA,aAAO;QAAEb;MAAO;IAClB;EACF;EAEAc,WAAoB;AAClB,QAAI;AACF,YAAM,EAAEZ,MAAK,IAAKL,cAAca,aAAa,KAAKV,MAAM;AACxD,aAAO,CAAC,CAACE;IACX,QAAE;AACA,aAAO;IACT;EACF;EAEAa,WAA0D;AACxD,QAAI;AACF,YAAM,EAAEb,MAAK,IAAKL,cAAca,aAAa,KAAKV,MAAM;AACxD,aAAOE;IACT,QAAE;AACA,aAAOK;IACT;EACF;AACF;AAvEaV;AAyEN,IAAMmB,oBAAN,cAAgClC,QAAAA;EACrCE,OAAoB;EACpBiC;EACAC;EACAC;EACAC;EACAC;EACA7B;EACA8B;EACAC;AACF;AAVaP;AAYN,IAAMQ,eAAN,cAA2B1C,QAAAA;EAChCE,OAAoB;EACpByC;EACAC;EACAlC;EACAC;AACF;AANa+B;","names":["BaseMessageInput","id","createdAt","Field","String","Date","InputType","Message","BaseMessageInput","type","isTextMessage","isActionExecutionMessage","isResultMessage","isAgentStateMessage","isImageMessage","TextMessage","content","role","parentMessageId","ActionExecutionMessage","name","arguments","ResultMessage","actionExecutionId","actionName","result","encodeResult","error","errorObj","code","message","Error","undefined","JSON","stringify","decodeResult","parsed","parse","e","hasError","getError","AgentStateMessage","threadId","agentName","nodeName","runId","active","state","running","ImageMessage","format","bytes"]}
@@ -1,15 +1,17 @@
1
1
  import {
2
2
  ActionExecutionMessage,
3
3
  AgentStateMessage,
4
+ ImageMessage,
4
5
  Message,
5
6
  ResultMessage,
6
7
  TextMessage
7
- } from "../../../chunk-RTFJTJMA.mjs";
8
+ } from "../../../chunk-SHBDMA63.mjs";
8
9
  import "../../../chunk-2OZAGFV3.mjs";
9
10
  import "../../../chunk-FHD4JECV.mjs";
10
11
  export {
11
12
  ActionExecutionMessage,
12
13
  AgentStateMessage,
14
+ ImageMessage,
13
15
  Message,
14
16
  ResultMessage,
15
17
  TextMessage
@@ -1,5 +1,5 @@
1
1
  import OpenAI from 'openai';
2
- import { b as CopilotServiceAdapter, C as CopilotRuntimeChatCompletionRequest, a as CopilotRuntimeChatCompletionResponse } from './langserve-6f7af8d3.js';
2
+ import { b as CopilotServiceAdapter, C as CopilotRuntimeChatCompletionRequest, a as CopilotRuntimeChatCompletionResponse } from './langserve-c9a20fe9.js';
3
3
  import { BaseMessageChunk, AIMessage, AIMessageChunk, BaseMessage } from '@langchain/core/messages';
4
4
  import { DynamicStructuredTool } from '@langchain/core/tools';
5
5
  import { IterableReadableStream, IterableReadableStreamInterface } from '@langchain/core/utils/stream';
@@ -18,6 +18,7 @@ declare class MessageInput extends BaseMessageInput {
18
18
  actionExecutionMessage?: ActionExecutionMessageInput;
19
19
  resultMessage?: ResultMessageInput;
20
20
  agentStateMessage?: AgentStateMessageInput;
21
+ imageMessage?: ImageMessageInput;
21
22
  }
22
23
  declare class TextMessageInput {
23
24
  content: string;
@@ -46,14 +47,21 @@ declare class AgentStateMessageInput {
46
47
  runId: string;
47
48
  active: boolean;
48
49
  }
50
+ declare class ImageMessageInput {
51
+ format: string;
52
+ bytes: string;
53
+ parentMessageId?: string;
54
+ role: MessageRole;
55
+ }
49
56
 
50
- type MessageType = "TextMessage" | "ActionExecutionMessage" | "ResultMessage" | "AgentStateMessage";
57
+ type MessageType = "TextMessage" | "ActionExecutionMessage" | "ResultMessage" | "AgentStateMessage" | "ImageMessage";
51
58
  declare class Message extends BaseMessageInput {
52
59
  type: MessageType;
53
60
  isTextMessage(): this is TextMessage;
54
61
  isActionExecutionMessage(): this is ActionExecutionMessage;
55
62
  isResultMessage(): this is ResultMessage;
56
63
  isAgentStateMessage(): this is AgentStateMessage;
64
+ isImageMessage(): this is ImageMessage;
57
65
  }
58
66
  declare class TextMessage extends Message implements TextMessageInput {
59
67
  type: MessageType;
@@ -100,5 +108,12 @@ declare class AgentStateMessage extends Message implements Omit<AgentStateMessag
100
108
  state: any;
101
109
  running: boolean;
102
110
  }
111
+ declare class ImageMessage extends Message implements ImageMessageInput {
112
+ type: MessageType;
113
+ format: string;
114
+ bytes: string;
115
+ role: MessageRole;
116
+ parentMessageId?: string;
117
+ }
103
118
 
104
- export { ActionInputAvailability as A, MessageInput as M, ResultMessage as R, TextMessage as T, Message as a, ActionExecutionMessage as b, MessageType as c, AgentStateMessage as d };
119
+ export { ActionInputAvailability as A, ImageMessage as I, MessageInput as M, ResultMessage as R, TextMessage as T, Message as a, ActionExecutionMessage as b, MessageType as c, AgentStateMessage as d };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- 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';
2
- export { e as CommonConfig, C as CopilotRequestContextProperties, k as CopilotRuntime, j as CopilotRuntimeConstructorParams, f as CopilotRuntimeLogger, i as CopilotRuntimeRequest, b as CreateCopilotRuntimeServerOptions, G as GraphQLContext, L as LogLevel, o as MCPClient, p as MCPEndpointConfig, M as MCPTool, a as addCustomHeaderPlugin, d as buildSchema, s as convertMCPToolsToActions, m as copilotKitEndpoint, c as createContext, h as createLogger, q as extractParametersFromSchema, l as flattenToolCallsNoDuplicates, g as getCommonConfig, n as langGraphPlatformEndpoint, r as resolveEndpointType } from './shared-93687488.js';
1
+ 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-53d3fa48.js';
2
+ export { e as CommonConfig, C as CopilotRequestContextProperties, k as CopilotRuntime, j as CopilotRuntimeConstructorParams, f as CopilotRuntimeLogger, i as CopilotRuntimeRequest, b as CreateCopilotRuntimeServerOptions, G as GraphQLContext, L as LogLevel, o as MCPClient, p as MCPEndpointConfig, M as MCPTool, a as addCustomHeaderPlugin, d as buildSchema, s as convertMCPToolsToActions, m as copilotKitEndpoint, c as createContext, h as createLogger, q as extractParametersFromSchema, l as flattenToolCallsNoDuplicates, g as getCommonConfig, n as langGraphPlatformEndpoint, r as resolveEndpointType } from './shared-350db43f.js';
3
3
  export { CopilotRuntimeServerInstance, config, copilotRuntimeNextJSAppRouterEndpoint, copilotRuntimeNextJSPagesRouterEndpoint } from './lib/integrations/index.js';
4
4
  export { copilotRuntimeNodeHttpEndpoint } from './lib/integrations/node-http/index.js';
5
5
  export { copilotRuntimeNodeExpressEndpoint } from './lib/integrations/node-express/index.js';
6
6
  export { copilotRuntimeNestEndpoint } from './lib/integrations/nest/index.js';
7
7
  export { GuardrailsValidationFailureResponse, MessageStreamInterruptedResponse, UnknownErrorResponse } from './utils/index.js';
8
- export { C as CopilotRuntimeChatCompletionRequest, a as CopilotRuntimeChatCompletionResponse, b as CopilotServiceAdapter, c as RemoteChain, R as RemoteChainParameters } from './langserve-6f7af8d3.js';
8
+ export { C as CopilotRuntimeChatCompletionRequest, a as CopilotRuntimeChatCompletionResponse, b as CopilotServiceAdapter, c as RemoteChain, R as RemoteChainParameters } from './langserve-c9a20fe9.js';
9
9
  export { AnthropicAdapter, AnthropicAdapterParams, EmptyAdapter, ExperimentalEmptyAdapter, ExperimentalOllamaAdapter } from './service-adapters/index.js';
10
10
  import 'openai';
11
11
  import '@langchain/core/messages';
@@ -16,7 +16,7 @@ import 'graphql';
16
16
  import 'pino';
17
17
  import 'graphql-yoga';
18
18
  import '@copilotkit/shared';
19
- import './index-5bec5424.js';
19
+ import './index-d4614f9b.js';
20
20
  import './graphql/types/base/index.js';
21
21
  import './lib/cloud/index.js';
22
22
  import '@agentwire/client';
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-next.0",
47
+ version: "1.8.7-next.0",
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,