@assistant-ui/react 0.7.27 → 0.7.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  2. package/dist/context/providers/AssistantRuntimeProvider.js +12 -9
  3. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  4. package/dist/context/providers/AssistantRuntimeProvider.mjs +14 -11
  5. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  6. package/dist/context/react/ThreadListItemContext.d.ts +0 -5
  7. package/dist/context/react/ThreadListItemContext.d.ts.map +1 -1
  8. package/dist/context/react/ThreadListItemContext.js +6 -5
  9. package/dist/context/react/ThreadListItemContext.js.map +1 -1
  10. package/dist/context/react/ThreadListItemContext.mjs +5 -3
  11. package/dist/context/react/ThreadListItemContext.mjs.map +1 -1
  12. package/dist/context/react/index.d.ts +1 -0
  13. package/dist/context/react/index.d.ts.map +1 -1
  14. package/dist/context/react/index.js +5 -0
  15. package/dist/context/react/index.js.map +1 -1
  16. package/dist/context/react/index.mjs +6 -0
  17. package/dist/context/react/index.mjs.map +1 -1
  18. package/dist/runtimes/core/AssistantRuntimeCore.d.ts +4 -5
  19. package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -1
  20. package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
  21. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +0 -2
  22. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
  23. package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
  24. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
  25. package/dist/runtimes/core/ThreadRuntimeCore.d.ts +0 -4
  26. package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
  27. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  28. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.d.ts +1 -1
  29. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts +26 -26
  30. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts.map +1 -1
  31. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +5 -5
  32. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
  33. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +5 -5
  34. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
  35. package/dist/runtimes/edge/converters/fromCoreMessage.js +1 -1
  36. package/dist/runtimes/edge/converters/fromCoreMessage.js.map +1 -1
  37. package/dist/runtimes/edge/converters/fromCoreMessage.mjs +1 -1
  38. package/dist/runtimes/edge/converters/fromCoreMessage.mjs.map +1 -1
  39. package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts.map +1 -1
  40. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js +4 -1
  41. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
  42. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs +4 -1
  43. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
  44. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
  45. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +3 -4
  46. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  47. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +3 -4
  48. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  49. package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts +4 -2
  50. package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts.map +1 -1
  51. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js +1 -0
  52. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
  53. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs +1 -0
  54. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
  55. package/dist/runtimes/edge/streams/assistantDecoderStream.d.ts.map +1 -1
  56. package/dist/runtimes/edge/streams/assistantDecoderStream.js +7 -1
  57. package/dist/runtimes/edge/streams/assistantDecoderStream.js.map +1 -1
  58. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs +7 -1
  59. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs.map +1 -1
  60. package/dist/runtimes/edge/streams/assistantEncoderStream.d.ts.map +1 -1
  61. package/dist/runtimes/edge/streams/assistantEncoderStream.js +7 -0
  62. package/dist/runtimes/edge/streams/assistantEncoderStream.js.map +1 -1
  63. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs +7 -0
  64. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs.map +1 -1
  65. package/dist/runtimes/edge/streams/runResultStream.d.ts +2 -2
  66. package/dist/runtimes/edge/streams/runResultStream.d.ts.map +1 -1
  67. package/dist/runtimes/edge/streams/runResultStream.js +17 -2
  68. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  69. package/dist/runtimes/edge/streams/runResultStream.mjs +17 -2
  70. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  71. package/dist/runtimes/edge/streams/toolResultStream.d.ts +4 -1
  72. package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +1 -1
  73. package/dist/runtimes/edge/streams/toolResultStream.js +1 -0
  74. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  75. package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -0
  76. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  77. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +0 -6
  78. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  79. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  80. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +0 -3
  81. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  82. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +0 -15
  83. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  84. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +0 -15
  85. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  86. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +4 -3
  87. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  88. package/dist/runtimes/external-store/ThreadMessageLike.js +1 -0
  89. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  90. package/dist/runtimes/external-store/ThreadMessageLike.mjs +1 -0
  91. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  92. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  93. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  94. package/dist/runtimes/local/ChatModelAdapter.d.ts +5 -1
  95. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  96. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  97. package/dist/runtimes/local/LocalThreadRuntimeCore.js +1 -1
  98. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  99. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +1 -1
  100. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  101. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +3 -3
  102. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  103. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +13 -14
  104. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  105. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +11 -14
  106. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  107. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts +2 -2
  108. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  109. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js.map +1 -1
  110. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs.map +1 -1
  111. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  112. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +2 -2
  113. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  114. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +2 -2
  115. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  116. package/dist/types/AssistantTypes.d.ts +10 -8
  117. package/dist/types/AssistantTypes.d.ts.map +1 -1
  118. package/dist/types/AssistantTypes.js.map +1 -1
  119. package/package.json +3 -3
  120. package/src/context/providers/AssistantRuntimeProvider.tsx +9 -12
  121. package/src/context/react/ThreadListItemContext.ts +4 -2
  122. package/src/context/react/index.ts +6 -0
  123. package/src/runtimes/core/AssistantRuntimeCore.tsx +4 -5
  124. package/src/runtimes/core/BaseAssistantRuntimeCore.tsx +0 -4
  125. package/src/runtimes/core/ThreadRuntimeCore.tsx +5 -4
  126. package/src/runtimes/edge/EdgeRuntimeRequestOptions.ts +7 -5
  127. package/src/runtimes/edge/converters/fromCoreMessage.ts +1 -1
  128. package/src/runtimes/edge/converters/fromLanguageModelMessages.ts +4 -1
  129. package/src/runtimes/edge/createEdgeRuntimeAPI.ts +6 -11
  130. package/src/runtimes/edge/streams/AssistantStreamChunkType.ts +4 -3
  131. package/src/runtimes/edge/streams/assistantDecoderStream.ts +8 -1
  132. package/src/runtimes/edge/streams/assistantEncoderStream.ts +8 -0
  133. package/src/runtimes/edge/streams/runResultStream.ts +38 -15
  134. package/src/runtimes/edge/streams/toolResultStream.ts +6 -1
  135. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +0 -8
  136. package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +0 -20
  137. package/src/runtimes/external-store/ThreadMessageLike.tsx +5 -3
  138. package/src/runtimes/external-store/external-message-converter.tsx +1 -1
  139. package/src/runtimes/local/ChatModelAdapter.tsx +7 -0
  140. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +1 -1
  141. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +11 -15
  142. package/src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx +1 -1
  143. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +7 -3
  144. package/src/types/AssistantTypes.ts +10 -8
@@ -2,9 +2,9 @@ import { JSONSchema7 } from "json-schema";
2
2
  import { z } from "zod";
3
3
  export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
4
4
  system: z.ZodOptional<z.ZodString>;
5
- messages: z.ZodArray<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
5
+ messages: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
6
6
  role: z.ZodLiteral<"system">;
7
- content: z.ZodTuple<[z.ZodObject<{
7
+ content: z.ZodReadonly<z.ZodTuple<[z.ZodObject<{
8
8
  type: z.ZodLiteral<"text">;
9
9
  text: z.ZodString;
10
10
  }, "strip", z.ZodTypeAny, {
@@ -13,22 +13,22 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
13
13
  }, {
14
14
  text: string;
15
15
  type: "text";
16
- }>], null>;
16
+ }>], null>>;
17
17
  }, "strip", z.ZodTypeAny, {
18
18
  role: "system";
19
- content: [{
19
+ content: readonly [{
20
20
  text: string;
21
21
  type: "text";
22
22
  }];
23
23
  }, {
24
24
  role: "system";
25
- content: [{
25
+ content: readonly [{
26
26
  text: string;
27
27
  type: "text";
28
28
  }];
29
29
  }>, z.ZodObject<{
30
30
  role: z.ZodLiteral<"user">;
31
- content: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
31
+ content: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
32
32
  type: z.ZodLiteral<"text">;
33
33
  text: z.ZodString;
34
34
  }, "strip", z.ZodTypeAny, {
@@ -70,10 +70,10 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
70
70
  format: "mp3" | "wav";
71
71
  };
72
72
  type: "audio";
73
- }>]>, "many">;
73
+ }>]>, "many">>;
74
74
  }, "strip", z.ZodTypeAny, {
75
75
  role: "user";
76
- content: ({
76
+ content: readonly ({
77
77
  text: string;
78
78
  type: "text";
79
79
  } | {
@@ -88,7 +88,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
88
88
  })[];
89
89
  }, {
90
90
  role: "user";
91
- content: ({
91
+ content: readonly ({
92
92
  text: string;
93
93
  type: "text";
94
94
  } | {
@@ -103,7 +103,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
103
103
  })[];
104
104
  }>, z.ZodObject<{
105
105
  role: z.ZodLiteral<"assistant">;
106
- content: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
106
+ content: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
107
107
  type: z.ZodLiteral<"text">;
108
108
  text: z.ZodString;
109
109
  }, "strip", z.ZodTypeAny, {
@@ -133,10 +133,10 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
133
133
  args: Record<string, unknown>;
134
134
  isError?: boolean | undefined;
135
135
  result?: unknown;
136
- }>]>, "many">;
136
+ }>]>, "many">>;
137
137
  }, "strip", z.ZodTypeAny, {
138
138
  role: "assistant";
139
- content: ({
139
+ content: readonly ({
140
140
  text: string;
141
141
  type: "text";
142
142
  } | {
@@ -149,7 +149,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
149
149
  })[];
150
150
  }, {
151
151
  role: "assistant";
152
- content: ({
152
+ content: readonly ({
153
153
  text: string;
154
154
  type: "text";
155
155
  } | {
@@ -160,7 +160,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
160
160
  isError?: boolean | undefined;
161
161
  result?: unknown;
162
162
  })[];
163
- }>]>, "many">;
163
+ }>]>, "many">>;
164
164
  runConfig: z.ZodOptional<z.ZodObject<{
165
165
  custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
166
166
  }, "strip", z.ZodTypeAny, {
@@ -168,7 +168,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
168
168
  }, {
169
169
  custom?: Record<string, unknown> | undefined;
170
170
  }>>;
171
- tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
171
+ tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
172
172
  type: z.ZodLiteral<"function">;
173
173
  name: z.ZodString;
174
174
  description: z.ZodOptional<z.ZodString>;
@@ -183,7 +183,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
183
183
  name: string;
184
184
  parameters: JSONSchema7;
185
185
  description?: string | undefined;
186
- }>, "many">>;
186
+ }>, "many">>>;
187
187
  unstable_assistantMessageId: z.ZodOptional<z.ZodString>;
188
188
  }, {
189
189
  maxTokens: z.ZodOptional<z.ZodNumber>;
@@ -198,9 +198,9 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
198
198
  baseUrl: z.ZodOptional<z.ZodString>;
199
199
  modelName: z.ZodOptional<z.ZodString>;
200
200
  }>, "strip", z.ZodTypeAny, {
201
- messages: ({
201
+ messages: readonly ({
202
202
  role: "user";
203
- content: ({
203
+ content: readonly ({
204
204
  text: string;
205
205
  type: "text";
206
206
  } | {
@@ -215,7 +215,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
215
215
  })[];
216
216
  } | {
217
217
  role: "assistant";
218
- content: ({
218
+ content: readonly ({
219
219
  text: string;
220
220
  type: "text";
221
221
  } | {
@@ -228,7 +228,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
228
228
  })[];
229
229
  } | {
230
230
  role: "system";
231
- content: [{
231
+ content: readonly [{
232
232
  text: string;
233
233
  type: "text";
234
234
  }];
@@ -247,7 +247,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
247
247
  runConfig?: {
248
248
  custom?: Record<string, unknown> | undefined;
249
249
  } | undefined;
250
- tools?: {
250
+ tools?: readonly {
251
251
  type: "function";
252
252
  name: string;
253
253
  parameters: JSONSchema7;
@@ -255,9 +255,9 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
255
255
  }[] | undefined;
256
256
  unstable_assistantMessageId?: string | undefined;
257
257
  }, {
258
- messages: ({
258
+ messages: readonly ({
259
259
  role: "user";
260
- content: ({
260
+ content: readonly ({
261
261
  text: string;
262
262
  type: "text";
263
263
  } | {
@@ -272,7 +272,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
272
272
  })[];
273
273
  } | {
274
274
  role: "assistant";
275
- content: ({
275
+ content: readonly ({
276
276
  text: string;
277
277
  type: "text";
278
278
  } | {
@@ -285,7 +285,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
285
285
  })[];
286
286
  } | {
287
287
  role: "system";
288
- content: [{
288
+ content: readonly [{
289
289
  text: string;
290
290
  type: "text";
291
291
  }];
@@ -304,7 +304,7 @@ export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.e
304
304
  runConfig?: {
305
305
  custom?: Record<string, unknown> | undefined;
306
306
  } | undefined;
307
- tools?: {
307
+ tools?: readonly {
308
308
  type: "function";
309
309
  name: string;
310
310
  parameters: JSONSchema7;
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeRuntimeRequestOptions.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/EdgeRuntimeRequestOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2ExB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaT,CAAC;AAEpC,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}
1
+ {"version":3,"file":"EdgeRuntimeRequestOptions.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/EdgeRuntimeRequestOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6ExB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaT,CAAC;AAEpC,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}
@@ -64,7 +64,7 @@ var CoreUserMessageSchema = import_zod.z.object({
64
64
  ImageContentPartSchema,
65
65
  Unstable_AudioContentPart
66
66
  ])
67
- ).min(1)
67
+ ).min(1).readonly()
68
68
  });
69
69
  var CoreAssistantMessageSchema = import_zod.z.object({
70
70
  role: import_zod.z.literal("assistant"),
@@ -73,11 +73,11 @@ var CoreAssistantMessageSchema = import_zod.z.object({
73
73
  TextContentPartSchema,
74
74
  CoreToolCallContentPartSchema
75
75
  ])
76
- ).min(1)
76
+ ).min(1).readonly()
77
77
  });
78
78
  var CoreSystemMessageSchema = import_zod.z.object({
79
79
  role: import_zod.z.literal("system"),
80
- content: import_zod.z.tuple([TextContentPartSchema])
80
+ content: import_zod.z.tuple([TextContentPartSchema]).readonly()
81
81
  });
82
82
  var CoreMessageSchema = import_zod.z.discriminatedUnion("role", [
83
83
  CoreSystemMessageSchema,
@@ -86,11 +86,11 @@ var CoreMessageSchema = import_zod.z.discriminatedUnion("role", [
86
86
  ]);
87
87
  var EdgeRuntimeRequestOptionsSchema = import_zod.z.object({
88
88
  system: import_zod.z.string().optional(),
89
- messages: import_zod.z.array(CoreMessageSchema).min(1),
89
+ messages: import_zod.z.array(CoreMessageSchema).min(1).readonly(),
90
90
  runConfig: import_zod.z.object({
91
91
  custom: import_zod.z.record(import_zod.z.unknown()).optional()
92
92
  }).optional(),
93
- tools: import_zod.z.array(LanguageModelV1FunctionToolSchema).optional(),
93
+ tools: import_zod.z.array(LanguageModelV1FunctionToolSchema).readonly().optional(),
94
94
  unstable_assistantMessageId: import_zod.z.string().optional()
95
95
  }).merge(import_ModelConfigTypes.LanguageModelV1CallSettingsSchema).merge(import_ModelConfigTypes.LanguageModelConfigSchema);
96
96
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/edge/EdgeRuntimeRequestOptions.ts"],"sourcesContent":["import { JSONSchema7 } from \"json-schema\";\nimport {\n LanguageModelConfigSchema,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { z } from \"zod\";\n\nconst LanguageModelV1FunctionToolSchema = z.object({\n type: z.literal(\"function\"),\n name: z.string(),\n description: z.string().optional(),\n parameters: z.custom<JSONSchema7>(\n (val) => typeof val === \"object\" && val !== null,\n ),\n});\n\nconst TextContentPartSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string(),\n});\n\nconst ImageContentPartSchema = z.object({\n type: z.literal(\"image\"),\n image: z.string(),\n});\n\nconst Unstable_AudioContentPart = z.object({\n type: z.literal(\"audio\"),\n audio: z.object({\n data: z.string(),\n format: z.union([z.literal(\"mp3\"), z.literal(\"wav\")]),\n }),\n});\n\nconst CoreToolCallContentPartSchema = z.object({\n type: z.literal(\"tool-call\"),\n toolCallId: z.string(),\n toolName: z.string(),\n args: z.record(z.unknown()),\n result: z.unknown().optional(),\n isError: z.boolean().optional(),\n});\n// args is required but unknown;\n\nconst CoreUserMessageSchema = z.object({\n role: z.literal(\"user\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n ImageContentPartSchema,\n Unstable_AudioContentPart,\n ]),\n )\n .min(1),\n});\n\nconst CoreAssistantMessageSchema = z.object({\n role: z.literal(\"assistant\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n CoreToolCallContentPartSchema,\n ]),\n )\n .min(1),\n});\n\nconst CoreSystemMessageSchema = z.object({\n role: z.literal(\"system\"),\n content: z.tuple([TextContentPartSchema]),\n});\n\nconst CoreMessageSchema = z.discriminatedUnion(\"role\", [\n CoreSystemMessageSchema,\n CoreUserMessageSchema,\n CoreAssistantMessageSchema,\n]);\n\nexport const EdgeRuntimeRequestOptionsSchema = z\n .object({\n system: z.string().optional(),\n messages: z.array(CoreMessageSchema).min(1),\n runConfig: z\n .object({\n custom: z.record(z.unknown()).optional(),\n })\n .optional(),\n tools: z.array(LanguageModelV1FunctionToolSchema).optional(),\n unstable_assistantMessageId: z.string().optional(),\n })\n .merge(LanguageModelV1CallSettingsSchema)\n .merge(LanguageModelConfigSchema);\n\nexport type EdgeRuntimeRequestOptions = z.infer<\n typeof EdgeRuntimeRequestOptionsSchema\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAGO;AACP,iBAAkB;AAElB,IAAM,oCAAoC,aAAE,OAAO;AAAA,EACjD,MAAM,aAAE,QAAQ,UAAU;AAAA,EAC1B,MAAM,aAAE,OAAO;AAAA,EACf,aAAa,aAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,aAAE;AAAA,IACZ,CAAC,QAAQ,OAAO,QAAQ,YAAY,QAAQ;AAAA,EAC9C;AACF,CAAC;AAED,IAAM,wBAAwB,aAAE,OAAO;AAAA,EACrC,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,aAAE,OAAO;AACjB,CAAC;AAED,IAAM,yBAAyB,aAAE,OAAO;AAAA,EACtC,MAAM,aAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,aAAE,OAAO;AAClB,CAAC;AAED,IAAM,4BAA4B,aAAE,OAAO;AAAA,EACzC,MAAM,aAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,aAAE,OAAO;AAAA,IACd,MAAM,aAAE,OAAO;AAAA,IACf,QAAQ,aAAE,MAAM,CAAC,aAAE,QAAQ,KAAK,GAAG,aAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,EACtD,CAAC;AACH,CAAC;AAED,IAAM,gCAAgC,aAAE,OAAO;AAAA,EAC7C,MAAM,aAAE,QAAQ,WAAW;AAAA,EAC3B,YAAY,aAAE,OAAO;AAAA,EACrB,UAAU,aAAE,OAAO;AAAA,EACnB,MAAM,aAAE,OAAO,aAAE,QAAQ,CAAC;AAAA,EAC1B,QAAQ,aAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,aAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;AAGD,IAAM,wBAAwB,aAAE,OAAO;AAAA,EACrC,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,SAAS,aACN;AAAA,IACC,aAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC;AACV,CAAC;AAED,IAAM,6BAA6B,aAAE,OAAO;AAAA,EAC1C,MAAM,aAAE,QAAQ,WAAW;AAAA,EAC3B,SAAS,aACN;AAAA,IACC,aAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC;AACV,CAAC;AAED,IAAM,0BAA0B,aAAE,OAAO;AAAA,EACvC,MAAM,aAAE,QAAQ,QAAQ;AAAA,EACxB,SAAS,aAAE,MAAM,CAAC,qBAAqB,CAAC;AAC1C,CAAC;AAED,IAAM,oBAAoB,aAAE,mBAAmB,QAAQ;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,kCAAkC,aAC5C,OAAO;AAAA,EACN,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,aAAE,MAAM,iBAAiB,EAAE,IAAI,CAAC;AAAA,EAC1C,WAAW,aACR,OAAO;AAAA,IACN,QAAQ,aAAE,OAAO,aAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACzC,CAAC,EACA,SAAS;AAAA,EACZ,OAAO,aAAE,MAAM,iCAAiC,EAAE,SAAS;AAAA,EAC3D,6BAA6B,aAAE,OAAO,EAAE,SAAS;AACnD,CAAC,EACA,MAAM,yDAAiC,EACvC,MAAM,iDAAyB;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/edge/EdgeRuntimeRequestOptions.ts"],"sourcesContent":["import { JSONSchema7 } from \"json-schema\";\nimport {\n LanguageModelConfigSchema,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { z } from \"zod\";\n\nconst LanguageModelV1FunctionToolSchema = z.object({\n type: z.literal(\"function\"),\n name: z.string(),\n description: z.string().optional(),\n parameters: z.custom<JSONSchema7>(\n (val) => typeof val === \"object\" && val !== null,\n ),\n});\n\nconst TextContentPartSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string(),\n});\n\nconst ImageContentPartSchema = z.object({\n type: z.literal(\"image\"),\n image: z.string(),\n});\n\nconst Unstable_AudioContentPart = z.object({\n type: z.literal(\"audio\"),\n audio: z.object({\n data: z.string(),\n format: z.union([z.literal(\"mp3\"), z.literal(\"wav\")]),\n }),\n});\n\nconst CoreToolCallContentPartSchema = z.object({\n type: z.literal(\"tool-call\"),\n toolCallId: z.string(),\n toolName: z.string(),\n args: z.record(z.unknown()),\n result: z.unknown().optional(),\n isError: z.boolean().optional(),\n});\n// args is required but unknown;\n\nconst CoreUserMessageSchema = z.object({\n role: z.literal(\"user\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n ImageContentPartSchema,\n Unstable_AudioContentPart,\n ]),\n )\n .min(1)\n .readonly(),\n});\n\nconst CoreAssistantMessageSchema = z.object({\n role: z.literal(\"assistant\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n CoreToolCallContentPartSchema,\n ]),\n )\n .min(1)\n .readonly(),\n});\n\nconst CoreSystemMessageSchema = z.object({\n role: z.literal(\"system\"),\n content: z.tuple([TextContentPartSchema]).readonly(),\n});\n\nconst CoreMessageSchema = z.discriminatedUnion(\"role\", [\n CoreSystemMessageSchema,\n CoreUserMessageSchema,\n CoreAssistantMessageSchema,\n]);\n\nexport const EdgeRuntimeRequestOptionsSchema = z\n .object({\n system: z.string().optional(),\n messages: z.array(CoreMessageSchema).min(1).readonly(),\n runConfig: z\n .object({\n custom: z.record(z.unknown()).optional(),\n })\n .optional(),\n tools: z.array(LanguageModelV1FunctionToolSchema).readonly().optional(),\n unstable_assistantMessageId: z.string().optional(),\n })\n .merge(LanguageModelV1CallSettingsSchema)\n .merge(LanguageModelConfigSchema);\n\nexport type EdgeRuntimeRequestOptions = z.infer<\n typeof EdgeRuntimeRequestOptionsSchema\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAGO;AACP,iBAAkB;AAElB,IAAM,oCAAoC,aAAE,OAAO;AAAA,EACjD,MAAM,aAAE,QAAQ,UAAU;AAAA,EAC1B,MAAM,aAAE,OAAO;AAAA,EACf,aAAa,aAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,aAAE;AAAA,IACZ,CAAC,QAAQ,OAAO,QAAQ,YAAY,QAAQ;AAAA,EAC9C;AACF,CAAC;AAED,IAAM,wBAAwB,aAAE,OAAO;AAAA,EACrC,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,aAAE,OAAO;AACjB,CAAC;AAED,IAAM,yBAAyB,aAAE,OAAO;AAAA,EACtC,MAAM,aAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,aAAE,OAAO;AAClB,CAAC;AAED,IAAM,4BAA4B,aAAE,OAAO;AAAA,EACzC,MAAM,aAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,aAAE,OAAO;AAAA,IACd,MAAM,aAAE,OAAO;AAAA,IACf,QAAQ,aAAE,MAAM,CAAC,aAAE,QAAQ,KAAK,GAAG,aAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,EACtD,CAAC;AACH,CAAC;AAED,IAAM,gCAAgC,aAAE,OAAO;AAAA,EAC7C,MAAM,aAAE,QAAQ,WAAW;AAAA,EAC3B,YAAY,aAAE,OAAO;AAAA,EACrB,UAAU,aAAE,OAAO;AAAA,EACnB,MAAM,aAAE,OAAO,aAAE,QAAQ,CAAC;AAAA,EAC1B,QAAQ,aAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,aAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;AAGD,IAAM,wBAAwB,aAAE,OAAO;AAAA,EACrC,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,SAAS,aACN;AAAA,IACC,aAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,SAAS;AACd,CAAC;AAED,IAAM,6BAA6B,aAAE,OAAO;AAAA,EAC1C,MAAM,aAAE,QAAQ,WAAW;AAAA,EAC3B,SAAS,aACN;AAAA,IACC,aAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,SAAS;AACd,CAAC;AAED,IAAM,0BAA0B,aAAE,OAAO;AAAA,EACvC,MAAM,aAAE,QAAQ,QAAQ;AAAA,EACxB,SAAS,aAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,SAAS;AACrD,CAAC;AAED,IAAM,oBAAoB,aAAE,mBAAmB,QAAQ;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,kCAAkC,aAC5C,OAAO;AAAA,EACN,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,aAAE,MAAM,iBAAiB,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACrD,WAAW,aACR,OAAO;AAAA,IACN,QAAQ,aAAE,OAAO,aAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACzC,CAAC,EACA,SAAS;AAAA,EACZ,OAAO,aAAE,MAAM,iCAAiC,EAAE,SAAS,EAAE,SAAS;AAAA,EACtE,6BAA6B,aAAE,OAAO,EAAE,SAAS;AACnD,CAAC,EACA,MAAM,yDAAiC,EACvC,MAAM,iDAAyB;","names":[]}
@@ -43,7 +43,7 @@ var CoreUserMessageSchema = z.object({
43
43
  ImageContentPartSchema,
44
44
  Unstable_AudioContentPart
45
45
  ])
46
- ).min(1)
46
+ ).min(1).readonly()
47
47
  });
48
48
  var CoreAssistantMessageSchema = z.object({
49
49
  role: z.literal("assistant"),
@@ -52,11 +52,11 @@ var CoreAssistantMessageSchema = z.object({
52
52
  TextContentPartSchema,
53
53
  CoreToolCallContentPartSchema
54
54
  ])
55
- ).min(1)
55
+ ).min(1).readonly()
56
56
  });
57
57
  var CoreSystemMessageSchema = z.object({
58
58
  role: z.literal("system"),
59
- content: z.tuple([TextContentPartSchema])
59
+ content: z.tuple([TextContentPartSchema]).readonly()
60
60
  });
61
61
  var CoreMessageSchema = z.discriminatedUnion("role", [
62
62
  CoreSystemMessageSchema,
@@ -65,11 +65,11 @@ var CoreMessageSchema = z.discriminatedUnion("role", [
65
65
  ]);
66
66
  var EdgeRuntimeRequestOptionsSchema = z.object({
67
67
  system: z.string().optional(),
68
- messages: z.array(CoreMessageSchema).min(1),
68
+ messages: z.array(CoreMessageSchema).min(1).readonly(),
69
69
  runConfig: z.object({
70
70
  custom: z.record(z.unknown()).optional()
71
71
  }).optional(),
72
- tools: z.array(LanguageModelV1FunctionToolSchema).optional(),
72
+ tools: z.array(LanguageModelV1FunctionToolSchema).readonly().optional(),
73
73
  unstable_assistantMessageId: z.string().optional()
74
74
  }).merge(LanguageModelV1CallSettingsSchema).merge(LanguageModelConfigSchema);
75
75
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/edge/EdgeRuntimeRequestOptions.ts"],"sourcesContent":["import { JSONSchema7 } from \"json-schema\";\nimport {\n LanguageModelConfigSchema,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { z } from \"zod\";\n\nconst LanguageModelV1FunctionToolSchema = z.object({\n type: z.literal(\"function\"),\n name: z.string(),\n description: z.string().optional(),\n parameters: z.custom<JSONSchema7>(\n (val) => typeof val === \"object\" && val !== null,\n ),\n});\n\nconst TextContentPartSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string(),\n});\n\nconst ImageContentPartSchema = z.object({\n type: z.literal(\"image\"),\n image: z.string(),\n});\n\nconst Unstable_AudioContentPart = z.object({\n type: z.literal(\"audio\"),\n audio: z.object({\n data: z.string(),\n format: z.union([z.literal(\"mp3\"), z.literal(\"wav\")]),\n }),\n});\n\nconst CoreToolCallContentPartSchema = z.object({\n type: z.literal(\"tool-call\"),\n toolCallId: z.string(),\n toolName: z.string(),\n args: z.record(z.unknown()),\n result: z.unknown().optional(),\n isError: z.boolean().optional(),\n});\n// args is required but unknown;\n\nconst CoreUserMessageSchema = z.object({\n role: z.literal(\"user\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n ImageContentPartSchema,\n Unstable_AudioContentPart,\n ]),\n )\n .min(1),\n});\n\nconst CoreAssistantMessageSchema = z.object({\n role: z.literal(\"assistant\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n CoreToolCallContentPartSchema,\n ]),\n )\n .min(1),\n});\n\nconst CoreSystemMessageSchema = z.object({\n role: z.literal(\"system\"),\n content: z.tuple([TextContentPartSchema]),\n});\n\nconst CoreMessageSchema = z.discriminatedUnion(\"role\", [\n CoreSystemMessageSchema,\n CoreUserMessageSchema,\n CoreAssistantMessageSchema,\n]);\n\nexport const EdgeRuntimeRequestOptionsSchema = z\n .object({\n system: z.string().optional(),\n messages: z.array(CoreMessageSchema).min(1),\n runConfig: z\n .object({\n custom: z.record(z.unknown()).optional(),\n })\n .optional(),\n tools: z.array(LanguageModelV1FunctionToolSchema).optional(),\n unstable_assistantMessageId: z.string().optional(),\n })\n .merge(LanguageModelV1CallSettingsSchema)\n .merge(LanguageModelConfigSchema);\n\nexport type EdgeRuntimeRequestOptions = z.infer<\n typeof EdgeRuntimeRequestOptionsSchema\n>;\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAElB,IAAM,oCAAoC,EAAE,OAAO;AAAA,EACjD,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,MAAM,EAAE,OAAO;AAAA,EACf,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,EAAE;AAAA,IACZ,CAAC,QAAQ,OAAO,QAAQ,YAAY,QAAQ;AAAA,EAC9C;AACF,CAAC;AAED,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,EAAE,OAAO;AACjB,CAAC;AAED,IAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,MAAM,EAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,EAAE,OAAO;AAClB,CAAC;AAED,IAAM,4BAA4B,EAAE,OAAO;AAAA,EACzC,MAAM,EAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,EAAE,OAAO;AAAA,IACd,MAAM,EAAE,OAAO;AAAA,IACf,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,EACtD,CAAC;AACH,CAAC;AAED,IAAM,gCAAgC,EAAE,OAAO;AAAA,EAC7C,MAAM,EAAE,QAAQ,WAAW;AAAA,EAC3B,YAAY,EAAE,OAAO;AAAA,EACrB,UAAU,EAAE,OAAO;AAAA,EACnB,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;AAAA,EAC1B,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;AAGD,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,SAAS,EACN;AAAA,IACC,EAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC;AACV,CAAC;AAED,IAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,MAAM,EAAE,QAAQ,WAAW;AAAA,EAC3B,SAAS,EACN;AAAA,IACC,EAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC;AACV,CAAC;AAED,IAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,MAAM,EAAE,QAAQ,QAAQ;AAAA,EACxB,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;AAC1C,CAAC;AAED,IAAM,oBAAoB,EAAE,mBAAmB,QAAQ;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,kCAAkC,EAC5C,OAAO;AAAA,EACN,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,MAAM,iBAAiB,EAAE,IAAI,CAAC;AAAA,EAC1C,WAAW,EACR,OAAO;AAAA,IACN,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACzC,CAAC,EACA,SAAS;AAAA,EACZ,OAAO,EAAE,MAAM,iCAAiC,EAAE,SAAS;AAAA,EAC3D,6BAA6B,EAAE,OAAO,EAAE,SAAS;AACnD,CAAC,EACA,MAAM,iCAAiC,EACvC,MAAM,yBAAyB;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/edge/EdgeRuntimeRequestOptions.ts"],"sourcesContent":["import { JSONSchema7 } from \"json-schema\";\nimport {\n LanguageModelConfigSchema,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { z } from \"zod\";\n\nconst LanguageModelV1FunctionToolSchema = z.object({\n type: z.literal(\"function\"),\n name: z.string(),\n description: z.string().optional(),\n parameters: z.custom<JSONSchema7>(\n (val) => typeof val === \"object\" && val !== null,\n ),\n});\n\nconst TextContentPartSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string(),\n});\n\nconst ImageContentPartSchema = z.object({\n type: z.literal(\"image\"),\n image: z.string(),\n});\n\nconst Unstable_AudioContentPart = z.object({\n type: z.literal(\"audio\"),\n audio: z.object({\n data: z.string(),\n format: z.union([z.literal(\"mp3\"), z.literal(\"wav\")]),\n }),\n});\n\nconst CoreToolCallContentPartSchema = z.object({\n type: z.literal(\"tool-call\"),\n toolCallId: z.string(),\n toolName: z.string(),\n args: z.record(z.unknown()),\n result: z.unknown().optional(),\n isError: z.boolean().optional(),\n});\n// args is required but unknown;\n\nconst CoreUserMessageSchema = z.object({\n role: z.literal(\"user\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n ImageContentPartSchema,\n Unstable_AudioContentPart,\n ]),\n )\n .min(1)\n .readonly(),\n});\n\nconst CoreAssistantMessageSchema = z.object({\n role: z.literal(\"assistant\"),\n content: z\n .array(\n z.discriminatedUnion(\"type\", [\n TextContentPartSchema,\n CoreToolCallContentPartSchema,\n ]),\n )\n .min(1)\n .readonly(),\n});\n\nconst CoreSystemMessageSchema = z.object({\n role: z.literal(\"system\"),\n content: z.tuple([TextContentPartSchema]).readonly(),\n});\n\nconst CoreMessageSchema = z.discriminatedUnion(\"role\", [\n CoreSystemMessageSchema,\n CoreUserMessageSchema,\n CoreAssistantMessageSchema,\n]);\n\nexport const EdgeRuntimeRequestOptionsSchema = z\n .object({\n system: z.string().optional(),\n messages: z.array(CoreMessageSchema).min(1).readonly(),\n runConfig: z\n .object({\n custom: z.record(z.unknown()).optional(),\n })\n .optional(),\n tools: z.array(LanguageModelV1FunctionToolSchema).readonly().optional(),\n unstable_assistantMessageId: z.string().optional(),\n })\n .merge(LanguageModelV1CallSettingsSchema)\n .merge(LanguageModelConfigSchema);\n\nexport type EdgeRuntimeRequestOptions = z.infer<\n typeof EdgeRuntimeRequestOptionsSchema\n>;\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAElB,IAAM,oCAAoC,EAAE,OAAO;AAAA,EACjD,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,MAAM,EAAE,OAAO;AAAA,EACf,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,EAAE;AAAA,IACZ,CAAC,QAAQ,OAAO,QAAQ,YAAY,QAAQ;AAAA,EAC9C;AACF,CAAC;AAED,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,EAAE,OAAO;AACjB,CAAC;AAED,IAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,MAAM,EAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,EAAE,OAAO;AAClB,CAAC;AAED,IAAM,4BAA4B,EAAE,OAAO;AAAA,EACzC,MAAM,EAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,EAAE,OAAO;AAAA,IACd,MAAM,EAAE,OAAO;AAAA,IACf,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,EACtD,CAAC;AACH,CAAC;AAED,IAAM,gCAAgC,EAAE,OAAO;AAAA,EAC7C,MAAM,EAAE,QAAQ,WAAW;AAAA,EAC3B,YAAY,EAAE,OAAO;AAAA,EACrB,UAAU,EAAE,OAAO;AAAA,EACnB,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;AAAA,EAC1B,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;AAGD,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,SAAS,EACN;AAAA,IACC,EAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,SAAS;AACd,CAAC;AAED,IAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,MAAM,EAAE,QAAQ,WAAW;AAAA,EAC3B,SAAS,EACN;AAAA,IACC,EAAE,mBAAmB,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,SAAS;AACd,CAAC;AAED,IAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,MAAM,EAAE,QAAQ,QAAQ;AAAA,EACxB,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,SAAS;AACrD,CAAC;AAED,IAAM,oBAAoB,EAAE,mBAAmB,QAAQ;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,kCAAkC,EAC5C,OAAO;AAAA,EACN,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,MAAM,iBAAiB,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACrD,WAAW,EACR,OAAO;AAAA,IACN,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACzC,CAAC,EACA,SAAS;AAAA,EACZ,OAAO,EAAE,MAAM,iCAAiC,EAAE,SAAS,EAAE,SAAS;AAAA,EACtE,6BAA6B,EAAE,OAAO,EAAE,SAAS;AACnD,CAAC,EACA,MAAM,iCAAiC,EACvC,MAAM,yBAAyB;","names":[]}
@@ -53,7 +53,7 @@ var fromCoreMessage = (message, {
53
53
  return part;
54
54
  }),
55
55
  status,
56
- metadata: { steps: [], custom: {} }
56
+ metadata: { unstable_data: [], steps: [], custom: {} }
57
57
  };
58
58
  case "user":
59
59
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromCoreMessage.ts"],"sourcesContent":["import { generateId } from \"../../../internal\";\nimport {\n ThreadMessage,\n CoreMessage,\n ToolCallContentPart,\n MessageStatus,\n CompleteAttachment,\n} from \"../../../types\";\n\nexport const fromCoreMessages = (\n message: readonly CoreMessage[],\n): ThreadMessage[] => {\n return message.map((message) => fromCoreMessage(message));\n};\n\nexport const fromCoreMessage = (\n message: CoreMessage,\n {\n id = generateId(),\n status = { type: \"complete\", reason: \"unknown\" } as MessageStatus,\n attachments = [] as readonly CompleteAttachment[],\n } = {},\n): ThreadMessage => {\n const commonProps = {\n id,\n createdAt: new Date(),\n };\n\n const role = message.role;\n switch (role) {\n case \"assistant\":\n return {\n ...commonProps,\n role,\n content: message.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n ...part,\n argsText: JSON.stringify(part.args),\n } satisfies ToolCallContentPart;\n }\n return part;\n }),\n status,\n\n metadata: { steps: [], custom: {} },\n } satisfies ThreadMessage;\n\n case \"user\":\n return {\n ...commonProps,\n role,\n content: message.content,\n attachments,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n case \"system\":\n return {\n ...commonProps,\n role,\n content: message.content,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n default: {\n const unsupportedRole: never = role;\n throw new Error(`Unknown message role: ${unsupportedRole}`);\n }\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2B;AASpB,IAAM,mBAAmB,CAC9B,YACoB;AACpB,SAAO,QAAQ,IAAI,CAACA,aAAY,gBAAgBA,QAAO,CAAC;AAC1D;AAEO,IAAM,kBAAkB,CAC7B,SACA;AAAA,EACE,SAAK,4BAAW;AAAA,EAChB,SAAS,EAAE,MAAM,YAAY,QAAQ,UAAU;AAAA,EAC/C,cAAc,CAAC;AACjB,IAAI,CAAC,MACa;AAClB,QAAM,cAAc;AAAA,IAClB;AAAA,IACA,WAAW,oBAAI,KAAK;AAAA,EACtB;AAEA,QAAM,OAAO,QAAQ;AACrB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,YACpC;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,QACD;AAAA,QAEA,UAAU,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,MACpC;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,SAAS;AACP,YAAM,kBAAyB;AAC/B,YAAM,IAAI,MAAM,yBAAyB,eAAe,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;","names":["message"]}
1
+ {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromCoreMessage.ts"],"sourcesContent":["import { generateId } from \"../../../internal\";\nimport {\n ThreadMessage,\n CoreMessage,\n ToolCallContentPart,\n MessageStatus,\n CompleteAttachment,\n} from \"../../../types\";\n\nexport const fromCoreMessages = (\n message: readonly CoreMessage[],\n): ThreadMessage[] => {\n return message.map((message) => fromCoreMessage(message));\n};\n\nexport const fromCoreMessage = (\n message: CoreMessage,\n {\n id = generateId(),\n status = { type: \"complete\", reason: \"unknown\" } as MessageStatus,\n attachments = [] as readonly CompleteAttachment[],\n } = {},\n): ThreadMessage => {\n const commonProps = {\n id,\n createdAt: new Date(),\n };\n\n const role = message.role;\n switch (role) {\n case \"assistant\":\n return {\n ...commonProps,\n role,\n content: message.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n ...part,\n argsText: JSON.stringify(part.args),\n } satisfies ToolCallContentPart;\n }\n return part;\n }),\n status,\n\n metadata: { unstable_data: [], steps: [], custom: {} },\n } satisfies ThreadMessage;\n\n case \"user\":\n return {\n ...commonProps,\n role,\n content: message.content,\n attachments,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n case \"system\":\n return {\n ...commonProps,\n role,\n content: message.content,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n default: {\n const unsupportedRole: never = role;\n throw new Error(`Unknown message role: ${unsupportedRole}`);\n }\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2B;AASpB,IAAM,mBAAmB,CAC9B,YACoB;AACpB,SAAO,QAAQ,IAAI,CAACA,aAAY,gBAAgBA,QAAO,CAAC;AAC1D;AAEO,IAAM,kBAAkB,CAC7B,SACA;AAAA,EACE,SAAK,4BAAW;AAAA,EAChB,SAAS,EAAE,MAAM,YAAY,QAAQ,UAAU;AAAA,EAC/C,cAAc,CAAC;AACjB,IAAI,CAAC,MACa;AAClB,QAAM,cAAc;AAAA,IAClB;AAAA,IACA,WAAW,oBAAI,KAAK;AAAA,EACtB;AAEA,QAAM,OAAO,QAAQ;AACrB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,YACpC;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,QACD;AAAA,QAEA,UAAU,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,MACvD;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,SAAS;AACP,YAAM,kBAAyB;AAC/B,YAAM,IAAI,MAAM,yBAAyB,eAAe,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;","names":["message"]}
@@ -28,7 +28,7 @@ var fromCoreMessage = (message, {
28
28
  return part;
29
29
  }),
30
30
  status,
31
- metadata: { steps: [], custom: {} }
31
+ metadata: { unstable_data: [], steps: [], custom: {} }
32
32
  };
33
33
  case "user":
34
34
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromCoreMessage.ts"],"sourcesContent":["import { generateId } from \"../../../internal\";\nimport {\n ThreadMessage,\n CoreMessage,\n ToolCallContentPart,\n MessageStatus,\n CompleteAttachment,\n} from \"../../../types\";\n\nexport const fromCoreMessages = (\n message: readonly CoreMessage[],\n): ThreadMessage[] => {\n return message.map((message) => fromCoreMessage(message));\n};\n\nexport const fromCoreMessage = (\n message: CoreMessage,\n {\n id = generateId(),\n status = { type: \"complete\", reason: \"unknown\" } as MessageStatus,\n attachments = [] as readonly CompleteAttachment[],\n } = {},\n): ThreadMessage => {\n const commonProps = {\n id,\n createdAt: new Date(),\n };\n\n const role = message.role;\n switch (role) {\n case \"assistant\":\n return {\n ...commonProps,\n role,\n content: message.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n ...part,\n argsText: JSON.stringify(part.args),\n } satisfies ToolCallContentPart;\n }\n return part;\n }),\n status,\n\n metadata: { steps: [], custom: {} },\n } satisfies ThreadMessage;\n\n case \"user\":\n return {\n ...commonProps,\n role,\n content: message.content,\n attachments,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n case \"system\":\n return {\n ...commonProps,\n role,\n content: message.content,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n default: {\n const unsupportedRole: never = role;\n throw new Error(`Unknown message role: ${unsupportedRole}`);\n }\n }\n};\n"],"mappings":";AAAA,SAAS,kBAAkB;AASpB,IAAM,mBAAmB,CAC9B,YACoB;AACpB,SAAO,QAAQ,IAAI,CAACA,aAAY,gBAAgBA,QAAO,CAAC;AAC1D;AAEO,IAAM,kBAAkB,CAC7B,SACA;AAAA,EACE,KAAK,WAAW;AAAA,EAChB,SAAS,EAAE,MAAM,YAAY,QAAQ,UAAU;AAAA,EAC/C,cAAc,CAAC;AACjB,IAAI,CAAC,MACa;AAClB,QAAM,cAAc;AAAA,IAClB;AAAA,IACA,WAAW,oBAAI,KAAK;AAAA,EACtB;AAEA,QAAM,OAAO,QAAQ;AACrB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,YACpC;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,QACD;AAAA,QAEA,UAAU,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,MACpC;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,SAAS;AACP,YAAM,kBAAyB;AAC/B,YAAM,IAAI,MAAM,yBAAyB,eAAe,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;","names":["message"]}
1
+ {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromCoreMessage.ts"],"sourcesContent":["import { generateId } from \"../../../internal\";\nimport {\n ThreadMessage,\n CoreMessage,\n ToolCallContentPart,\n MessageStatus,\n CompleteAttachment,\n} from \"../../../types\";\n\nexport const fromCoreMessages = (\n message: readonly CoreMessage[],\n): ThreadMessage[] => {\n return message.map((message) => fromCoreMessage(message));\n};\n\nexport const fromCoreMessage = (\n message: CoreMessage,\n {\n id = generateId(),\n status = { type: \"complete\", reason: \"unknown\" } as MessageStatus,\n attachments = [] as readonly CompleteAttachment[],\n } = {},\n): ThreadMessage => {\n const commonProps = {\n id,\n createdAt: new Date(),\n };\n\n const role = message.role;\n switch (role) {\n case \"assistant\":\n return {\n ...commonProps,\n role,\n content: message.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n ...part,\n argsText: JSON.stringify(part.args),\n } satisfies ToolCallContentPart;\n }\n return part;\n }),\n status,\n\n metadata: { unstable_data: [], steps: [], custom: {} },\n } satisfies ThreadMessage;\n\n case \"user\":\n return {\n ...commonProps,\n role,\n content: message.content,\n attachments,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n case \"system\":\n return {\n ...commonProps,\n role,\n content: message.content,\n metadata: { custom: {} },\n } satisfies ThreadMessage;\n\n default: {\n const unsupportedRole: never = role;\n throw new Error(`Unknown message role: ${unsupportedRole}`);\n }\n }\n};\n"],"mappings":";AAAA,SAAS,kBAAkB;AASpB,IAAM,mBAAmB,CAC9B,YACoB;AACpB,SAAO,QAAQ,IAAI,CAACA,aAAY,gBAAgBA,QAAO,CAAC;AAC1D;AAEO,IAAM,kBAAkB,CAC7B,SACA;AAAA,EACE,KAAK,WAAW;AAAA,EAChB,SAAS,EAAE,MAAM,YAAY,QAAQ,UAAU;AAAA,EAC/C,cAAc,CAAC;AACjB,IAAI,CAAC,MACa;AAClB,QAAM,cAAc;AAAA,IAClB;AAAA,IACA,WAAW,oBAAI,KAAK;AAAA,EACtB;AAEA,QAAM,OAAO,QAAQ;AACrB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,YACpC;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,QACD;AAAA,QAEA,UAAU,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,MACvD;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ;AAAA,QACjB,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MACzB;AAAA,IAEF,SAAS;AACP,YAAM,kBAAyB;AAC/B,YAAM,IAAI,MAAM,yBAAyB,eAAe,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;","names":["message"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fromLanguageModelMessages.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/edge/converters/fromLanguageModelMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAGlE,KAAK,gCAAgC,GAAG;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAChC,sBAAsB,EAAE,kBACZ,gCAAgC,KAC/C,WAAW,EAoHb,CAAC"}
1
+ {"version":3,"file":"fromLanguageModelMessages.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/edge/converters/fromLanguageModelMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAGlE,KAAK,gCAAgC,GAAG;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAChC,sBAAsB,EAAE,kBACZ,gCAAgC,KAC/C,WAAW,EAuHb,CAAC"}
@@ -89,7 +89,10 @@ var fromLanguageModelMessages = (lm, { mergeSteps }) => {
89
89
  if (mergeSteps) {
90
90
  const previousMessage = messages[messages.length - 1];
91
91
  if (previousMessage?.role === "assistant") {
92
- previousMessage.content.push(...newContent);
92
+ previousMessage.content = [
93
+ ...previousMessage.content,
94
+ ...newContent
95
+ ];
93
96
  break;
94
97
  }
95
98
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromLanguageModelMessages.ts"],"sourcesContent":["import { LanguageModelV1Message } from \"@ai-sdk/provider\";\nimport { CoreMessage, ToolCallContentPart } from \"../../../types\";\nimport { Writable } from \"stream\";\n\ntype fromLanguageModelMessagesOptions = {\n mergeSteps: boolean;\n};\n\nexport const fromLanguageModelMessages = (\n lm: LanguageModelV1Message[],\n { mergeSteps }: fromLanguageModelMessagesOptions,\n): CoreMessage[] => {\n const messages: CoreMessage[] = [];\n\n for (const lmMessage of lm) {\n const role = lmMessage.role;\n switch (role) {\n case \"system\": {\n messages.push({\n role: \"system\",\n content: [\n {\n type: \"text\",\n text: lmMessage.content,\n },\n ],\n });\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: lmMessage.content.map((part) => {\n const type = part.type;\n switch (type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n case \"image\": {\n if (part.image instanceof URL) {\n return {\n type: \"image\",\n image: part.image.href,\n };\n }\n throw new Error(\"Only images with URL data are supported\");\n }\n case \"file\": {\n // TODO\n throw new Error(\"File content parts are not supported\");\n }\n default: {\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n }\n }),\n });\n break;\n }\n case \"assistant\": {\n const newContent = lmMessage.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n argsText: JSON.stringify(part.args),\n args: part.args as Record<string, unknown>,\n } satisfies ToolCallContentPart;\n }\n return part;\n });\n\n if (mergeSteps) {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role === \"assistant\") {\n previousMessage.content.push(...newContent);\n break;\n }\n }\n\n messages.push({\n role: \"assistant\",\n content: newContent,\n });\n break;\n }\n case \"tool\": {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role !== \"assistant\")\n throw new Error(\n \"A tool message must be preceded by an assistant message.\",\n );\n\n for (const tool of lmMessage.content) {\n const toolCall = previousMessage.content.find(\n (c): c is ToolCallContentPart =>\n c.type === \"tool-call\" && c.toolCallId === tool.toolCallId,\n );\n if (!toolCall)\n throw new Error(\"Received tool result for an unknown tool call.\");\n if (toolCall.toolName !== tool.toolName)\n throw new Error(\"Tool call name mismatch.\");\n\n type Writable<T> = { -readonly [P in keyof T]: T[P] };\n const writable = toolCall as Writable<ToolCallContentPart>;\n writable.result = tool.result;\n if (tool.isError) {\n writable.isError = true;\n }\n }\n\n break;\n }\n\n default: {\n const unhandledRole: never = role;\n throw new Error(`Unknown message role: ${unhandledRole}`);\n }\n }\n }\n\n return messages;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,IAAM,4BAA4B,CACvC,IACA,EAAE,WAAW,MACK;AAClB,QAAM,WAA0B,CAAC;AAEjC,aAAW,aAAa,IAAI;AAC1B,UAAM,OAAO,UAAU;AACvB,YAAQ,MAAM;AAAA,MACZ,KAAK,UAAU;AACb,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,MAAM;AAAA,cACN,MAAM,UAAU;AAAA,YAClB;AAAA,UACF;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,UAAU,QAAQ,IAAI,CAAC,SAAS;AACvC,kBAAM,OAAO,KAAK;AAClB,oBAAQ,MAAM;AAAA,cACZ,KAAK,QAAQ;AACX,uBAAO;AAAA,kBACL,MAAM;AAAA,kBACN,MAAM,KAAK;AAAA,gBACb;AAAA,cACF;AAAA,cACA,KAAK,SAAS;AACZ,oBAAI,KAAK,iBAAiB,KAAK;AAC7B,yBAAO;AAAA,oBACL,MAAM;AAAA,oBACN,OAAO,KAAK,MAAM;AAAA,kBACpB;AAAA,gBACF;AACA,sBAAM,IAAI,MAAM,yCAAyC;AAAA,cAC3D;AAAA,cACA,KAAK,QAAQ;AAEX,sBAAM,IAAI,MAAM,sCAAsC;AAAA,cACxD;AAAA,cACA,SAAS;AACP,sBAAM,gBAAuB;AAC7B,sBAAM,IAAI,MAAM,8BAA8B,aAAa,EAAE;AAAA,cAC/D;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,aAAa;AAChB,cAAM,aAAa,UAAU,QAAQ,IAAI,CAAC,SAAS;AACjD,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,cAClC,MAAM,KAAK;AAAA,YACb;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAED,YAAI,YAAY;AACd,gBAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,cAAI,iBAAiB,SAAS,aAAa;AACzC,4BAAgB,QAAQ,KAAK,GAAG,UAAU;AAC1C;AAAA,UACF;AAAA,QACF;AAEA,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,QACX,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,cAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,YAAI,iBAAiB,SAAS;AAC5B,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAEF,mBAAW,QAAQ,UAAU,SAAS;AACpC,gBAAM,WAAW,gBAAgB,QAAQ;AAAA,YACvC,CAAC,MACC,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK;AAAA,UACpD;AACA,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,gDAAgD;AAClE,cAAI,SAAS,aAAa,KAAK;AAC7B,kBAAM,IAAI,MAAM,0BAA0B;AAG5C,gBAAM,WAAW;AACjB,mBAAS,SAAS,KAAK;AACvB,cAAI,KAAK,SAAS;AAChB,qBAAS,UAAU;AAAA,UACrB;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,SAAS;AACP,cAAM,gBAAuB;AAC7B,cAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromLanguageModelMessages.ts"],"sourcesContent":["import { LanguageModelV1Message } from \"@ai-sdk/provider\";\nimport { CoreMessage, ToolCallContentPart } from \"../../../types\";\nimport { Writable } from \"stream\";\n\ntype fromLanguageModelMessagesOptions = {\n mergeSteps: boolean;\n};\n\nexport const fromLanguageModelMessages = (\n lm: LanguageModelV1Message[],\n { mergeSteps }: fromLanguageModelMessagesOptions,\n): CoreMessage[] => {\n const messages: CoreMessage[] = [];\n\n for (const lmMessage of lm) {\n const role = lmMessage.role;\n switch (role) {\n case \"system\": {\n messages.push({\n role: \"system\",\n content: [\n {\n type: \"text\",\n text: lmMessage.content,\n },\n ],\n });\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: lmMessage.content.map((part) => {\n const type = part.type;\n switch (type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n case \"image\": {\n if (part.image instanceof URL) {\n return {\n type: \"image\",\n image: part.image.href,\n };\n }\n throw new Error(\"Only images with URL data are supported\");\n }\n case \"file\": {\n // TODO\n throw new Error(\"File content parts are not supported\");\n }\n default: {\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n }\n }),\n });\n break;\n }\n case \"assistant\": {\n const newContent = lmMessage.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n argsText: JSON.stringify(part.args),\n args: part.args as Record<string, unknown>,\n } satisfies ToolCallContentPart;\n }\n return part;\n });\n\n if (mergeSteps) {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role === \"assistant\") {\n previousMessage.content = [\n ...previousMessage.content,\n ...newContent,\n ];\n break;\n }\n }\n\n messages.push({\n role: \"assistant\",\n content: newContent,\n });\n break;\n }\n case \"tool\": {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role !== \"assistant\")\n throw new Error(\n \"A tool message must be preceded by an assistant message.\",\n );\n\n for (const tool of lmMessage.content) {\n const toolCall = previousMessage.content.find(\n (c): c is ToolCallContentPart =>\n c.type === \"tool-call\" && c.toolCallId === tool.toolCallId,\n );\n if (!toolCall)\n throw new Error(\"Received tool result for an unknown tool call.\");\n if (toolCall.toolName !== tool.toolName)\n throw new Error(\"Tool call name mismatch.\");\n\n type Writable<T> = { -readonly [P in keyof T]: T[P] };\n const writable = toolCall as Writable<ToolCallContentPart>;\n writable.result = tool.result;\n if (tool.isError) {\n writable.isError = true;\n }\n }\n\n break;\n }\n\n default: {\n const unhandledRole: never = role;\n throw new Error(`Unknown message role: ${unhandledRole}`);\n }\n }\n }\n\n return messages;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,IAAM,4BAA4B,CACvC,IACA,EAAE,WAAW,MACK;AAClB,QAAM,WAA0B,CAAC;AAEjC,aAAW,aAAa,IAAI;AAC1B,UAAM,OAAO,UAAU;AACvB,YAAQ,MAAM;AAAA,MACZ,KAAK,UAAU;AACb,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,MAAM;AAAA,cACN,MAAM,UAAU;AAAA,YAClB;AAAA,UACF;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,UAAU,QAAQ,IAAI,CAAC,SAAS;AACvC,kBAAM,OAAO,KAAK;AAClB,oBAAQ,MAAM;AAAA,cACZ,KAAK,QAAQ;AACX,uBAAO;AAAA,kBACL,MAAM;AAAA,kBACN,MAAM,KAAK;AAAA,gBACb;AAAA,cACF;AAAA,cACA,KAAK,SAAS;AACZ,oBAAI,KAAK,iBAAiB,KAAK;AAC7B,yBAAO;AAAA,oBACL,MAAM;AAAA,oBACN,OAAO,KAAK,MAAM;AAAA,kBACpB;AAAA,gBACF;AACA,sBAAM,IAAI,MAAM,yCAAyC;AAAA,cAC3D;AAAA,cACA,KAAK,QAAQ;AAEX,sBAAM,IAAI,MAAM,sCAAsC;AAAA,cACxD;AAAA,cACA,SAAS;AACP,sBAAM,gBAAuB;AAC7B,sBAAM,IAAI,MAAM,8BAA8B,aAAa,EAAE;AAAA,cAC/D;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,aAAa;AAChB,cAAM,aAAa,UAAU,QAAQ,IAAI,CAAC,SAAS;AACjD,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,cAClC,MAAM,KAAK;AAAA,YACb;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAED,YAAI,YAAY;AACd,gBAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,cAAI,iBAAiB,SAAS,aAAa;AACzC,4BAAgB,UAAU;AAAA,cACxB,GAAG,gBAAgB;AAAA,cACnB,GAAG;AAAA,YACL;AACA;AAAA,UACF;AAAA,QACF;AAEA,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,QACX,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,cAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,YAAI,iBAAiB,SAAS;AAC5B,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAEF,mBAAW,QAAQ,UAAU,SAAS;AACpC,gBAAM,WAAW,gBAAgB,QAAQ;AAAA,YACvC,CAAC,MACC,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK;AAAA,UACpD;AACA,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,gDAAgD;AAClE,cAAI,SAAS,aAAa,KAAK;AAC7B,kBAAM,IAAI,MAAM,0BAA0B;AAG5C,gBAAM,WAAW;AACjB,mBAAS,SAAS,KAAK;AACvB,cAAI,KAAK,SAAS;AAChB,qBAAS,UAAU;AAAA,UACrB;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,SAAS;AACP,cAAM,gBAAuB;AAC7B,cAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -65,7 +65,10 @@ var fromLanguageModelMessages = (lm, { mergeSteps }) => {
65
65
  if (mergeSteps) {
66
66
  const previousMessage = messages[messages.length - 1];
67
67
  if (previousMessage?.role === "assistant") {
68
- previousMessage.content.push(...newContent);
68
+ previousMessage.content = [
69
+ ...previousMessage.content,
70
+ ...newContent
71
+ ];
69
72
  break;
70
73
  }
71
74
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromLanguageModelMessages.ts"],"sourcesContent":["import { LanguageModelV1Message } from \"@ai-sdk/provider\";\nimport { CoreMessage, ToolCallContentPart } from \"../../../types\";\nimport { Writable } from \"stream\";\n\ntype fromLanguageModelMessagesOptions = {\n mergeSteps: boolean;\n};\n\nexport const fromLanguageModelMessages = (\n lm: LanguageModelV1Message[],\n { mergeSteps }: fromLanguageModelMessagesOptions,\n): CoreMessage[] => {\n const messages: CoreMessage[] = [];\n\n for (const lmMessage of lm) {\n const role = lmMessage.role;\n switch (role) {\n case \"system\": {\n messages.push({\n role: \"system\",\n content: [\n {\n type: \"text\",\n text: lmMessage.content,\n },\n ],\n });\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: lmMessage.content.map((part) => {\n const type = part.type;\n switch (type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n case \"image\": {\n if (part.image instanceof URL) {\n return {\n type: \"image\",\n image: part.image.href,\n };\n }\n throw new Error(\"Only images with URL data are supported\");\n }\n case \"file\": {\n // TODO\n throw new Error(\"File content parts are not supported\");\n }\n default: {\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n }\n }),\n });\n break;\n }\n case \"assistant\": {\n const newContent = lmMessage.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n argsText: JSON.stringify(part.args),\n args: part.args as Record<string, unknown>,\n } satisfies ToolCallContentPart;\n }\n return part;\n });\n\n if (mergeSteps) {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role === \"assistant\") {\n previousMessage.content.push(...newContent);\n break;\n }\n }\n\n messages.push({\n role: \"assistant\",\n content: newContent,\n });\n break;\n }\n case \"tool\": {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role !== \"assistant\")\n throw new Error(\n \"A tool message must be preceded by an assistant message.\",\n );\n\n for (const tool of lmMessage.content) {\n const toolCall = previousMessage.content.find(\n (c): c is ToolCallContentPart =>\n c.type === \"tool-call\" && c.toolCallId === tool.toolCallId,\n );\n if (!toolCall)\n throw new Error(\"Received tool result for an unknown tool call.\");\n if (toolCall.toolName !== tool.toolName)\n throw new Error(\"Tool call name mismatch.\");\n\n type Writable<T> = { -readonly [P in keyof T]: T[P] };\n const writable = toolCall as Writable<ToolCallContentPart>;\n writable.result = tool.result;\n if (tool.isError) {\n writable.isError = true;\n }\n }\n\n break;\n }\n\n default: {\n const unhandledRole: never = role;\n throw new Error(`Unknown message role: ${unhandledRole}`);\n }\n }\n }\n\n return messages;\n};\n"],"mappings":";AAQO,IAAM,4BAA4B,CACvC,IACA,EAAE,WAAW,MACK;AAClB,QAAM,WAA0B,CAAC;AAEjC,aAAW,aAAa,IAAI;AAC1B,UAAM,OAAO,UAAU;AACvB,YAAQ,MAAM;AAAA,MACZ,KAAK,UAAU;AACb,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,MAAM;AAAA,cACN,MAAM,UAAU;AAAA,YAClB;AAAA,UACF;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,UAAU,QAAQ,IAAI,CAAC,SAAS;AACvC,kBAAM,OAAO,KAAK;AAClB,oBAAQ,MAAM;AAAA,cACZ,KAAK,QAAQ;AACX,uBAAO;AAAA,kBACL,MAAM;AAAA,kBACN,MAAM,KAAK;AAAA,gBACb;AAAA,cACF;AAAA,cACA,KAAK,SAAS;AACZ,oBAAI,KAAK,iBAAiB,KAAK;AAC7B,yBAAO;AAAA,oBACL,MAAM;AAAA,oBACN,OAAO,KAAK,MAAM;AAAA,kBACpB;AAAA,gBACF;AACA,sBAAM,IAAI,MAAM,yCAAyC;AAAA,cAC3D;AAAA,cACA,KAAK,QAAQ;AAEX,sBAAM,IAAI,MAAM,sCAAsC;AAAA,cACxD;AAAA,cACA,SAAS;AACP,sBAAM,gBAAuB;AAC7B,sBAAM,IAAI,MAAM,8BAA8B,aAAa,EAAE;AAAA,cAC/D;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,aAAa;AAChB,cAAM,aAAa,UAAU,QAAQ,IAAI,CAAC,SAAS;AACjD,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,cAClC,MAAM,KAAK;AAAA,YACb;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAED,YAAI,YAAY;AACd,gBAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,cAAI,iBAAiB,SAAS,aAAa;AACzC,4BAAgB,QAAQ,KAAK,GAAG,UAAU;AAC1C;AAAA,UACF;AAAA,QACF;AAEA,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,QACX,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,cAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,YAAI,iBAAiB,SAAS;AAC5B,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAEF,mBAAW,QAAQ,UAAU,SAAS;AACpC,gBAAM,WAAW,gBAAgB,QAAQ;AAAA,YACvC,CAAC,MACC,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK;AAAA,UACpD;AACA,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,gDAAgD;AAClE,cAAI,SAAS,aAAa,KAAK;AAC7B,kBAAM,IAAI,MAAM,0BAA0B;AAG5C,gBAAM,WAAW;AACjB,mBAAS,SAAS,KAAK;AACvB,cAAI,KAAK,SAAS;AAChB,qBAAS,UAAU;AAAA,UACrB;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,SAAS;AACP,cAAM,gBAAuB;AAC7B,cAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/edge/converters/fromLanguageModelMessages.ts"],"sourcesContent":["import { LanguageModelV1Message } from \"@ai-sdk/provider\";\nimport { CoreMessage, ToolCallContentPart } from \"../../../types\";\nimport { Writable } from \"stream\";\n\ntype fromLanguageModelMessagesOptions = {\n mergeSteps: boolean;\n};\n\nexport const fromLanguageModelMessages = (\n lm: LanguageModelV1Message[],\n { mergeSteps }: fromLanguageModelMessagesOptions,\n): CoreMessage[] => {\n const messages: CoreMessage[] = [];\n\n for (const lmMessage of lm) {\n const role = lmMessage.role;\n switch (role) {\n case \"system\": {\n messages.push({\n role: \"system\",\n content: [\n {\n type: \"text\",\n text: lmMessage.content,\n },\n ],\n });\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: lmMessage.content.map((part) => {\n const type = part.type;\n switch (type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n case \"image\": {\n if (part.image instanceof URL) {\n return {\n type: \"image\",\n image: part.image.href,\n };\n }\n throw new Error(\"Only images with URL data are supported\");\n }\n case \"file\": {\n // TODO\n throw new Error(\"File content parts are not supported\");\n }\n default: {\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n }\n }),\n });\n break;\n }\n case \"assistant\": {\n const newContent = lmMessage.content.map((part) => {\n if (part.type === \"tool-call\") {\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n argsText: JSON.stringify(part.args),\n args: part.args as Record<string, unknown>,\n } satisfies ToolCallContentPart;\n }\n return part;\n });\n\n if (mergeSteps) {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role === \"assistant\") {\n previousMessage.content = [\n ...previousMessage.content,\n ...newContent,\n ];\n break;\n }\n }\n\n messages.push({\n role: \"assistant\",\n content: newContent,\n });\n break;\n }\n case \"tool\": {\n const previousMessage = messages[messages.length - 1];\n if (previousMessage?.role !== \"assistant\")\n throw new Error(\n \"A tool message must be preceded by an assistant message.\",\n );\n\n for (const tool of lmMessage.content) {\n const toolCall = previousMessage.content.find(\n (c): c is ToolCallContentPart =>\n c.type === \"tool-call\" && c.toolCallId === tool.toolCallId,\n );\n if (!toolCall)\n throw new Error(\"Received tool result for an unknown tool call.\");\n if (toolCall.toolName !== tool.toolName)\n throw new Error(\"Tool call name mismatch.\");\n\n type Writable<T> = { -readonly [P in keyof T]: T[P] };\n const writable = toolCall as Writable<ToolCallContentPart>;\n writable.result = tool.result;\n if (tool.isError) {\n writable.isError = true;\n }\n }\n\n break;\n }\n\n default: {\n const unhandledRole: never = role;\n throw new Error(`Unknown message role: ${unhandledRole}`);\n }\n }\n }\n\n return messages;\n};\n"],"mappings":";AAQO,IAAM,4BAA4B,CACvC,IACA,EAAE,WAAW,MACK;AAClB,QAAM,WAA0B,CAAC;AAEjC,aAAW,aAAa,IAAI;AAC1B,UAAM,OAAO,UAAU;AACvB,YAAQ,MAAM;AAAA,MACZ,KAAK,UAAU;AACb,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,MAAM;AAAA,cACN,MAAM,UAAU;AAAA,YAClB;AAAA,UACF;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,UAAU,QAAQ,IAAI,CAAC,SAAS;AACvC,kBAAM,OAAO,KAAK;AAClB,oBAAQ,MAAM;AAAA,cACZ,KAAK,QAAQ;AACX,uBAAO;AAAA,kBACL,MAAM;AAAA,kBACN,MAAM,KAAK;AAAA,gBACb;AAAA,cACF;AAAA,cACA,KAAK,SAAS;AACZ,oBAAI,KAAK,iBAAiB,KAAK;AAC7B,yBAAO;AAAA,oBACL,MAAM;AAAA,oBACN,OAAO,KAAK,MAAM;AAAA,kBACpB;AAAA,gBACF;AACA,sBAAM,IAAI,MAAM,yCAAyC;AAAA,cAC3D;AAAA,cACA,KAAK,QAAQ;AAEX,sBAAM,IAAI,MAAM,sCAAsC;AAAA,cACxD;AAAA,cACA,SAAS;AACP,sBAAM,gBAAuB;AAC7B,sBAAM,IAAI,MAAM,8BAA8B,aAAa,EAAE;AAAA,cAC/D;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,aAAa;AAChB,cAAM,aAAa,UAAU,QAAQ,IAAI,CAAC,SAAS;AACjD,cAAI,KAAK,SAAS,aAAa;AAC7B,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,cAClC,MAAM,KAAK;AAAA,YACb;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAED,YAAI,YAAY;AACd,gBAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,cAAI,iBAAiB,SAAS,aAAa;AACzC,4BAAgB,UAAU;AAAA,cACxB,GAAG,gBAAgB;AAAA,cACnB,GAAG;AAAA,YACL;AACA;AAAA,UACF;AAAA,QACF;AAEA,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,QACX,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,QAAQ;AACX,cAAM,kBAAkB,SAAS,SAAS,SAAS,CAAC;AACpD,YAAI,iBAAiB,SAAS;AAC5B,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAEF,mBAAW,QAAQ,UAAU,SAAS;AACpC,gBAAM,WAAW,gBAAgB,QAAQ;AAAA,YACvC,CAAC,MACC,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK;AAAA,UACpD;AACA,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,gDAAgD;AAClE,cAAI,SAAS,aAAa,KAAK;AAC7B,kBAAM,IAAI,MAAM,0BAA0B;AAG5C,gBAAM,WAAW;AACjB,mBAAS,SAAS,KAAK;AACvB,cAAI,KAAK,SAAS;AAChB,qBAAS,UAAU;AAAA,UACrB;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,SAAS;AACP,cAAM,gBAAuB;AAC7B,cAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createEdgeRuntimeAPI.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,yBAAyB,EAEzB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EAEX,UAAU,EACX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAE5B,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU,EAAE,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAC1B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AAEhD,MAAM,MAAM,2BAA2B,GAAG,2BAA2B,GAAG;IACtE,KAAK,EAAE,eAAe,GAAG,oBAAoB,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3C,CAAC;AAUF,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAC7D,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wKAW9B,2BAA2B,kDAkG7B,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,sBAAsB,CAAC;IAC9C,YAAY,EAAE,2BAA2B,IAAI,OAAO,EAAE,CAAC;CACxD;AAED,eAAO,MAAM,sBAAsB,YACxB,sBAAsB,CAAC,OAAO,sBAaxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,2BAA2B;oBACjD,OAAO;CAM7B,CAAC;AA+BH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,WAAW,EAAE,GACtB,qBAAqB,CASvB"}
1
+ {"version":3,"file":"createEdgeRuntimeAPI.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,yBAAyB,EAEzB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAE5B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU,EAAE,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAC1B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AAEhD,MAAM,MAAM,2BAA2B,GAAG,2BAA2B,GAAG;IACtE,KAAK,EAAE,eAAe,GAAG,oBAAoB,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3C,CAAC;AAUF,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAC7D,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wKAW9B,2BAA2B,kDAkG7B,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,sBAAsB,CAAC;IAC9C,YAAY,EAAE,2BAA2B,IAAI,OAAO,EAAE,CAAC;CACxD;AAED,eAAO,MAAM,sBAAsB,YACxB,sBAAsB,CAAC,OAAO,sBAaxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,2BAA2B;oBACjD,OAAO;CAM7B,CAAC;AA+BH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,WAAW,EAAE,GACtB,qBAAqB,CASvB"}
@@ -33,7 +33,6 @@ var import_toLanguageModelTools = require("./converters/toLanguageModelTools.js"
33
33
  var import_toolResultStream = require("./streams/toolResultStream.js");
34
34
  var import_runResultStream = require("./streams/runResultStream.js");
35
35
  var import_ModelConfigTypes = require("../../types/ModelConfigTypes.js");
36
- var import_toCoreMessages = require("./converters/toCoreMessages.js");
37
36
  var import_streamPartEncoderStream = require("./streams/utils/streamPartEncoderStream.js");
38
37
  var voidStream = () => {
39
38
  return new WritableStream({
@@ -85,7 +84,7 @@ var getEdgeRuntimeStream = async ({
85
84
  model,
86
85
  abortSignal,
87
86
  ...!!system ? { system } : void 0,
88
- messages,
87
+ messages: [...messages],
89
88
  tools: lmServerTools.concat(clientTools),
90
89
  ...toolChoice ? { toolChoice } : void 0
91
90
  });
@@ -110,10 +109,10 @@ var getEdgeRuntimeStream = async ({
110
109
  return;
111
110
  const resultingMessages = [
112
111
  ...messages,
113
- (0, import_toCoreMessages.toCoreMessage)({
112
+ {
114
113
  role: "assistant",
115
114
  content: lastChunk.content
116
- })
115
+ }
117
116
  ];
118
117
  onFinish({
119
118
  messages: resultingMessages,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { assistantEncoderStream } from \"./streams/assistantEncoderStream\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { Tool } from \"../../types\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport {\n toolResultStream,\n ToolResultStreamPart,\n} from \"./streams/toolResultStream\";\nimport { runResultStream } from \"./streams/runResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { ChatModelRunResult } from \"../local/ChatModelAdapter\";\nimport { toCoreMessage } from \"./converters/toCoreMessages\";\nimport { streamPartEncoderStream } from \"./streams/utils/streamPartEncoderStream\";\nimport { z } from \"zod\";\n\ntype FinishResult = {\n messages: CoreMessage[];\n metadata: {\n steps: ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\nconst voidStream = () => {\n return new WritableStream({\n abort(reason) {\n console.error(\"Server stream processing aborted:\", reason);\n },\n });\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<ToolResultStreamPart>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream;\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: ChatModelRunResult;\n serverStream = serverStream.pipeThrough(runResultStream()).pipeThrough(\n new TransformStream({\n transform(chunk) {\n lastChunk = chunk;\n },\n flush() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n toCoreMessage({\n role: \"assistant\",\n content: lastChunk.content,\n } as ThreadMessage),\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n // TODO\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n steps: lastChunk.metadata?.steps!,\n },\n });\n },\n }),\n );\n }\n\n // drain the server stream\n serverStream.pipeTo(voidStream()).catch((e) => {\n console.error(\"Server stream processing error:\", e);\n });\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(\n stream\n .pipeThrough(assistantEncoderStream())\n .pipeThrough(streamPartEncoderStream()),\n {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n },\n },\n );\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport { CoreMessage, ThreadStep } from \"../../types/AssistantTypes\";\nimport { assistantEncoderStream } from \"./streams/assistantEncoderStream\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { Tool } from \"../../types\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport {\n toolResultStream,\n ToolResultStreamPart,\n} from \"./streams/toolResultStream\";\nimport { runResultStream } from \"./streams/runResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { CoreChatModelRunResult } from \"../local/ChatModelAdapter\";\nimport { streamPartEncoderStream } from \"./streams/utils/streamPartEncoderStream\";\nimport { z } from \"zod\";\n\ntype FinishResult = {\n messages: CoreMessage[];\n metadata: {\n steps: ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\nconst voidStream = () => {\n return new WritableStream({\n abort(reason) {\n console.error(\"Server stream processing aborted:\", reason);\n },\n });\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<ToolResultStreamPart>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages: [...messages],\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream;\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: CoreChatModelRunResult | undefined;\n serverStream = serverStream.pipeThrough(runResultStream()).pipeThrough(\n new TransformStream({\n transform(chunk) {\n lastChunk = chunk;\n },\n flush() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n {\n role: \"assistant\",\n content: lastChunk.content,\n } satisfies CoreMessage,\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n // TODO\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n steps: lastChunk.metadata?.steps!,\n },\n });\n },\n }),\n );\n }\n\n // drain the server stream\n serverStream.pipeTo(voidStream()).catch((e) => {\n console.error(\"Server stream processing error:\", e);\n });\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(\n stream\n .pipeThrough(assistantEncoderStream())\n .pipeThrough(streamPartEncoderStream()),\n {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n },\n },\n );\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,oCAAuC;AACvC,uCAAgD;AAChD,qCAAwC;AAExC,kCAAqC;AACrC,8BAGO;AACP,6BAAgC;AAChC,8BAIO;AAEP,qCAAwC;AAsBxC,IAAM,aAAa,MAAM;AACvB,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,QAAQ;AACZ,cAAQ,MAAM,qCAAqC,MAAM;AAAA,IAC3D;AAAA,EACF,CAAC;AACH;AAQO,IAAM,uBAAuB,OAAO;AAAA,EACzC;AAAA,EACA,aAAa;AAAA,EACb,SAAS;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO,cAAc,CAAC;AAAA,IACtB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF,MAAmC;AACjC,QAAM,WAAW,0DAAkC,MAAM,cAAc;AACvE,QAAM,oBAAgB,kDAAqB,WAAW;AACtD,QAAM,iBAAiB,OAAO,OAAO,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO;AAEzE,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR,OAAO,cAAc,CAAC;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,iEAAgC,MAAM,aAAa;AAEvD,QAAM,iBAAiB,CAAC;AACxB,MAAI,aAAc,gBAAe,KAAK,YAAY;AAClD,MAAI,aAAc,gBAAe,KAAK,YAAY;AAClD,QAAM,SAAS,eAAe,KAAK,MAAM;AAEzC,aAAW,cAAc,aAAa;AACpC,QAAI,cAAc,WAAW,IAAI,GAAG;AAClC,YAAM,IAAI;AAAA,QACR,QAAQ,WAAW,IAAI;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QACJ,OAAO,mBAAmB,aACtB,MAAM,eAAe,EAAE,QAAQ,SAAS,UAAU,CAAC,IACnD;AAEN,MAAI;AACJ,QAAM,eAAe,MAAM,cAAc;AAAA,IACvC,GAAI;AAAA,IACJ,GAAG;AAAA,IAEH;AAAA,IACA;AAAA,IAEA,GAAI,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI;AAAA,IAC5B,UAAU,CAAC,GAAG,QAAQ;AAAA,IACtB,OAAO,cAAc,OAAO,WAA4C;AAAA,IACxE,GAAI,aAAa,EAAE,WAAW,IAAI;AAAA,EACpC,CAAC;AACD,WAAS,aAAa;AAGtB,QAAM,kBAAkB,kBAAkB,YAAY,SAAS;AAC/D,MAAI,iBAAiB;AACnB,aAAS,OAAO,gBAAY,0CAAiB,aAAa,WAAW,CAAC;AAAA,EACxE;AAEA,MAAI,mBAAmB,UAAU;AAE/B,UAAM,OAAO,OAAO,IAAI;AACxB,aAAS,KAAK,CAAC;AACf,QAAI,eAAe,KAAK,CAAC;AAEzB,QAAI,UAAU;AACZ,UAAI;AACJ,qBAAe,aAAa,gBAAY,wCAAgB,CAAC,EAAE;AAAA,QACzD,IAAI,gBAAgB;AAAA,UAClB,UAAU,OAAO;AACf,wBAAY;AAAA,UACd;AAAA,UACA,QAAQ;AACN,gBAAI,CAAC,WAAW,UAAU,UAAU,OAAO,SAAS;AAClD;AAEF,kBAAM,oBAAoB;AAAA,cACxB,GAAG;AAAA,cACH;AAAA,gBACE,MAAM;AAAA,gBACN,SAAS,UAAU;AAAA,cACrB;AAAA,YACF;AACA,qBAAS;AAAA,cACP,UAAU;AAAA,cACV,UAAU;AAAA;AAAA;AAAA,gBAGR,OAAO,UAAU,UAAU;AAAA,cAC7B;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,iBAAa,OAAO,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM;AAC7C,cAAQ,MAAM,mCAAmC,CAAC;AAAA,IACpD,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAMO,IAAM,yBAAyB,OACpC,YACG;AACH,QAAM,SAAS,MAAM,qBAAqB,OAAO;AACjD,SAAO,IAAI;AAAA,IACT,OACG,gBAAY,sDAAuB,CAAC,EACpC,gBAAY,wDAAwB,CAAC;AAAA,IACxC;AAAA,MACE,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,uBAAuB,CAAC,aAA0C;AAAA,EAC7E,MAAM,OAAO,YACX,uBAAuB;AAAA,IACrB,aAAa,QAAQ;AAAA,IACrB,aAAa,MAAM,QAAQ,KAAK;AAAA,IAChC;AAAA,EACF,CAAC;AACL;AAWA,eAAe,cAAc;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,SAAO,MAAM,SAAS;AAAA,IACpB,aAAa;AAAA,IACb,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,GAAI,QAAQ,EAAE,MAAM,IAAI;AAAA,MACxB,GAAI,aAAa,EAAE,WAAW,IAAI;AAAA,IACpC;AAAA,IACA,QAAQ,6BAA6B,QAAQ,QAAQ;AAAA,IACrD,GAAI;AAAA,EACN,CAAC;AACH;AAEO,SAAS,6BACd,QACA,UACuB;AACvB,QAAM,wBAA+C,CAAC;AAEtD,MAAI,UAAU,MAAM;AAClB,0BAAsB,KAAK,EAAE,MAAM,UAAU,SAAS,OAAO,CAAC;AAAA,EAChE;AACA,wBAAsB,KAAK,OAAG,wDAAwB,QAAQ,CAAC;AAE/D,SAAO;AACT;","names":[]}
@@ -10,7 +10,6 @@ import { runResultStream } from "./streams/runResultStream.mjs";
10
10
  import {
11
11
  LanguageModelV1CallSettingsSchema
12
12
  } from "../../types/ModelConfigTypes.mjs";
13
- import { toCoreMessage } from "./converters/toCoreMessages.mjs";
14
13
  import { streamPartEncoderStream } from "./streams/utils/streamPartEncoderStream.mjs";
15
14
  var voidStream = () => {
16
15
  return new WritableStream({
@@ -62,7 +61,7 @@ var getEdgeRuntimeStream = async ({
62
61
  model,
63
62
  abortSignal,
64
63
  ...!!system ? { system } : void 0,
65
- messages,
64
+ messages: [...messages],
66
65
  tools: lmServerTools.concat(clientTools),
67
66
  ...toolChoice ? { toolChoice } : void 0
68
67
  });
@@ -87,10 +86,10 @@ var getEdgeRuntimeStream = async ({
87
86
  return;
88
87
  const resultingMessages = [
89
88
  ...messages,
90
- toCoreMessage({
89
+ {
91
90
  role: "assistant",
92
91
  content: lastChunk.content
93
- })
92
+ }
94
93
  ];
95
94
  onFinish({
96
95
  messages: resultingMessages,