@effect/ai 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/Chat/package.json +6 -0
  2. package/EmbeddingModel/package.json +6 -0
  3. package/IdGenerator/package.json +6 -0
  4. package/LanguageModel/package.json +6 -0
  5. package/Model/package.json +6 -0
  6. package/Prompt/package.json +6 -0
  7. package/Response/package.json +6 -0
  8. package/Telemetry/package.json +6 -0
  9. package/Tool/package.json +6 -0
  10. package/Toolkit/package.json +6 -0
  11. package/dist/cjs/AiError.js +575 -11
  12. package/dist/cjs/AiError.js.map +1 -1
  13. package/dist/cjs/Chat.js +302 -0
  14. package/dist/cjs/Chat.js.map +1 -0
  15. package/dist/cjs/EmbeddingModel.js +184 -0
  16. package/dist/cjs/EmbeddingModel.js.map +1 -0
  17. package/dist/cjs/IdGenerator.js +255 -0
  18. package/dist/cjs/IdGenerator.js.map +1 -0
  19. package/dist/cjs/LanguageModel.js +584 -0
  20. package/dist/cjs/LanguageModel.js.map +1 -0
  21. package/dist/cjs/McpServer.js +12 -4
  22. package/dist/cjs/McpServer.js.map +1 -1
  23. package/dist/cjs/Model.js +118 -0
  24. package/dist/cjs/Model.js.map +1 -0
  25. package/dist/cjs/Prompt.js +649 -0
  26. package/dist/cjs/Prompt.js.map +1 -0
  27. package/dist/cjs/Response.js +635 -0
  28. package/dist/cjs/Response.js.map +1 -0
  29. package/dist/cjs/Telemetry.js +176 -0
  30. package/dist/cjs/Telemetry.js.map +1 -0
  31. package/dist/cjs/Tokenizer.js +87 -8
  32. package/dist/cjs/Tokenizer.js.map +1 -1
  33. package/dist/cjs/Tool.js +556 -0
  34. package/dist/cjs/Tool.js.map +1 -0
  35. package/dist/cjs/Toolkit.js +279 -0
  36. package/dist/cjs/Toolkit.js.map +1 -0
  37. package/dist/cjs/index.js +21 -19
  38. package/dist/dts/AiError.d.ts +577 -9
  39. package/dist/dts/AiError.d.ts.map +1 -1
  40. package/dist/dts/Chat.d.ts +356 -0
  41. package/dist/dts/Chat.d.ts.map +1 -0
  42. package/dist/dts/EmbeddingModel.d.ts +153 -0
  43. package/dist/dts/EmbeddingModel.d.ts.map +1 -0
  44. package/dist/dts/IdGenerator.d.ts +272 -0
  45. package/dist/dts/IdGenerator.d.ts.map +1 -0
  46. package/dist/dts/LanguageModel.d.ts +458 -0
  47. package/dist/dts/LanguageModel.d.ts.map +1 -0
  48. package/dist/dts/McpSchema.d.ts +25 -25
  49. package/dist/dts/McpServer.d.ts +6 -4
  50. package/dist/dts/McpServer.d.ts.map +1 -1
  51. package/dist/dts/Model.d.ts +124 -0
  52. package/dist/dts/Model.d.ts.map +1 -0
  53. package/dist/dts/Prompt.d.ts +1119 -0
  54. package/dist/dts/Prompt.d.ts.map +1 -0
  55. package/dist/dts/Response.d.ts +1519 -0
  56. package/dist/dts/Response.d.ts.map +1 -0
  57. package/dist/dts/Telemetry.d.ts +520 -0
  58. package/dist/dts/Telemetry.d.ts.map +1 -0
  59. package/dist/dts/Tokenizer.d.ts +131 -13
  60. package/dist/dts/Tokenizer.d.ts.map +1 -1
  61. package/dist/dts/Tool.d.ts +876 -0
  62. package/dist/dts/Tool.d.ts.map +1 -0
  63. package/dist/dts/Toolkit.d.ts +310 -0
  64. package/dist/dts/Toolkit.d.ts.map +1 -0
  65. package/dist/dts/index.d.ts +498 -13
  66. package/dist/dts/index.d.ts.map +1 -1
  67. package/dist/esm/AiError.js +570 -10
  68. package/dist/esm/AiError.js.map +1 -1
  69. package/dist/esm/Chat.js +291 -0
  70. package/dist/esm/Chat.js.map +1 -0
  71. package/dist/esm/EmbeddingModel.js +173 -0
  72. package/dist/esm/EmbeddingModel.js.map +1 -0
  73. package/dist/esm/IdGenerator.js +245 -0
  74. package/dist/esm/IdGenerator.js.map +1 -0
  75. package/dist/esm/LanguageModel.js +572 -0
  76. package/dist/esm/LanguageModel.js.map +1 -0
  77. package/dist/esm/McpServer.js +12 -4
  78. package/dist/esm/McpServer.js.map +1 -1
  79. package/dist/esm/Model.js +108 -0
  80. package/dist/esm/Model.js.map +1 -0
  81. package/dist/esm/Prompt.js +633 -0
  82. package/dist/esm/Prompt.js.map +1 -0
  83. package/dist/esm/Response.js +619 -0
  84. package/dist/esm/Response.js.map +1 -0
  85. package/dist/esm/Telemetry.js +166 -0
  86. package/dist/esm/Telemetry.js.map +1 -0
  87. package/dist/esm/Tokenizer.js +87 -8
  88. package/dist/esm/Tokenizer.js.map +1 -1
  89. package/dist/esm/Tool.js +534 -0
  90. package/dist/esm/Tool.js.map +1 -0
  91. package/dist/esm/Toolkit.js +269 -0
  92. package/dist/esm/Toolkit.js.map +1 -0
  93. package/dist/esm/index.js +498 -13
  94. package/dist/esm/index.js.map +1 -1
  95. package/package.json +76 -68
  96. package/src/AiError.ts +739 -9
  97. package/src/Chat.ts +546 -0
  98. package/src/EmbeddingModel.ts +311 -0
  99. package/src/IdGenerator.ts +320 -0
  100. package/src/LanguageModel.ts +1074 -0
  101. package/src/McpServer.ts +337 -194
  102. package/src/Model.ts +155 -0
  103. package/src/Prompt.ts +1616 -0
  104. package/src/Response.ts +2131 -0
  105. package/src/Telemetry.ts +655 -0
  106. package/src/Tokenizer.ts +145 -24
  107. package/src/Tool.ts +1267 -0
  108. package/src/Toolkit.ts +516 -0
  109. package/src/index.ts +499 -13
  110. package/AiChat/package.json +0 -6
  111. package/AiEmbeddingModel/package.json +0 -6
  112. package/AiInput/package.json +0 -6
  113. package/AiLanguageModel/package.json +0 -6
  114. package/AiModel/package.json +0 -6
  115. package/AiResponse/package.json +0 -6
  116. package/AiTelemetry/package.json +0 -6
  117. package/AiTool/package.json +0 -6
  118. package/AiToolkit/package.json +0 -6
  119. package/dist/cjs/AiChat.js +0 -122
  120. package/dist/cjs/AiChat.js.map +0 -1
  121. package/dist/cjs/AiEmbeddingModel.js +0 -109
  122. package/dist/cjs/AiEmbeddingModel.js.map +0 -1
  123. package/dist/cjs/AiInput.js +0 -458
  124. package/dist/cjs/AiInput.js.map +0 -1
  125. package/dist/cjs/AiLanguageModel.js +0 -351
  126. package/dist/cjs/AiLanguageModel.js.map +0 -1
  127. package/dist/cjs/AiModel.js +0 -37
  128. package/dist/cjs/AiModel.js.map +0 -1
  129. package/dist/cjs/AiResponse.js +0 -681
  130. package/dist/cjs/AiResponse.js.map +0 -1
  131. package/dist/cjs/AiTelemetry.js +0 -58
  132. package/dist/cjs/AiTelemetry.js.map +0 -1
  133. package/dist/cjs/AiTool.js +0 -150
  134. package/dist/cjs/AiTool.js.map +0 -1
  135. package/dist/cjs/AiToolkit.js +0 -157
  136. package/dist/cjs/AiToolkit.js.map +0 -1
  137. package/dist/cjs/internal/common.js +0 -21
  138. package/dist/cjs/internal/common.js.map +0 -1
  139. package/dist/dts/AiChat.d.ts +0 -101
  140. package/dist/dts/AiChat.d.ts.map +0 -1
  141. package/dist/dts/AiEmbeddingModel.d.ts +0 -65
  142. package/dist/dts/AiEmbeddingModel.d.ts.map +0 -1
  143. package/dist/dts/AiInput.d.ts +0 -590
  144. package/dist/dts/AiInput.d.ts.map +0 -1
  145. package/dist/dts/AiLanguageModel.d.ts +0 -302
  146. package/dist/dts/AiLanguageModel.d.ts.map +0 -1
  147. package/dist/dts/AiModel.d.ts +0 -25
  148. package/dist/dts/AiModel.d.ts.map +0 -1
  149. package/dist/dts/AiResponse.d.ts +0 -863
  150. package/dist/dts/AiResponse.d.ts.map +0 -1
  151. package/dist/dts/AiTelemetry.d.ts +0 -242
  152. package/dist/dts/AiTelemetry.d.ts.map +0 -1
  153. package/dist/dts/AiTool.d.ts +0 -334
  154. package/dist/dts/AiTool.d.ts.map +0 -1
  155. package/dist/dts/AiToolkit.d.ts +0 -96
  156. package/dist/dts/AiToolkit.d.ts.map +0 -1
  157. package/dist/dts/internal/common.d.ts +0 -2
  158. package/dist/dts/internal/common.d.ts.map +0 -1
  159. package/dist/esm/AiChat.js +0 -111
  160. package/dist/esm/AiChat.js.map +0 -1
  161. package/dist/esm/AiEmbeddingModel.js +0 -98
  162. package/dist/esm/AiEmbeddingModel.js.map +0 -1
  163. package/dist/esm/AiInput.js +0 -433
  164. package/dist/esm/AiInput.js.map +0 -1
  165. package/dist/esm/AiLanguageModel.js +0 -340
  166. package/dist/esm/AiLanguageModel.js.map +0 -1
  167. package/dist/esm/AiModel.js +0 -29
  168. package/dist/esm/AiModel.js.map +0 -1
  169. package/dist/esm/AiResponse.js +0 -657
  170. package/dist/esm/AiResponse.js.map +0 -1
  171. package/dist/esm/AiTelemetry.js +0 -48
  172. package/dist/esm/AiTelemetry.js.map +0 -1
  173. package/dist/esm/AiTool.js +0 -134
  174. package/dist/esm/AiTool.js.map +0 -1
  175. package/dist/esm/AiToolkit.js +0 -147
  176. package/dist/esm/AiToolkit.js.map +0 -1
  177. package/dist/esm/internal/common.js +0 -14
  178. package/dist/esm/internal/common.js.map +0 -1
  179. package/src/AiChat.ts +0 -251
  180. package/src/AiEmbeddingModel.ts +0 -169
  181. package/src/AiInput.ts +0 -602
  182. package/src/AiLanguageModel.ts +0 -685
  183. package/src/AiModel.ts +0 -53
  184. package/src/AiResponse.ts +0 -986
  185. package/src/AiTelemetry.ts +0 -333
  186. package/src/AiTool.ts +0 -579
  187. package/src/AiToolkit.ts +0 -265
  188. package/src/internal/common.ts +0 -12
@@ -1,433 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { dual } from "effect/Function";
5
- import * as Predicate from "effect/Predicate";
6
- import * as Schema from "effect/Schema";
7
- import * as AiResponse from "./AiResponse.js";
8
- import * as InternalCommon from "./internal/common.js";
9
- /**
10
- * @since 1.0.0
11
- * @category Type Ids
12
- */
13
- export const TypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiInput");
14
- /**
15
- * Represents input to a large language model.
16
- *
17
- * @since 1.0.0
18
- * @category Models
19
- */
20
- export class AiInput extends /*#__PURE__*/Schema.Class("@effect/ai/AiInput")({
21
- messages: /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.suspend(() => Message))
22
- }) {
23
- /**
24
- * @since 1.0.0
25
- */
26
- [TypeId] = TypeId;
27
- }
28
- /**
29
- * @since 1.0.0
30
- * @category Models
31
- */
32
- export const FromJson = /*#__PURE__*/Schema.parseJson(AiInput);
33
- // =============================================================================
34
- // Message
35
- // =============================================================================
36
- /**
37
- * @since 1.0.0
38
- * @category Type Ids
39
- */
40
- export const MessageTypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiInput/Message");
41
- /**
42
- * @since 1.0.0
43
- * @category Models
44
- */
45
- export class UserMessage extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/Message/UserMessage")("UserMessage", {
46
- parts: /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.suspend(() => UserMessagePart)),
47
- userName: /*#__PURE__*/Schema.optional(Schema.String)
48
- }) {
49
- /**
50
- * @since 1.0.0
51
- */
52
- [MessageTypeId] = MessageTypeId;
53
- }
54
- /**
55
- * @since 1.0.0
56
- * @category Models
57
- */
58
- export class AssistantMessage extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/Message/AssistantMessage")("AssistantMessage", {
59
- parts: /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.suspend(() => AssistantMessagePart))
60
- }) {
61
- /**
62
- * @since 1.0.0
63
- */
64
- [MessageTypeId] = MessageTypeId;
65
- }
66
- /**
67
- * @since 1.0.0
68
- * @category Models
69
- */
70
- export class ToolMessage extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/Message/ToolMessage")("ToolMessage", {
71
- parts: /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.suspend(() => ToolMessagePart))
72
- }) {
73
- /**
74
- * @since 1.0.0
75
- */
76
- [MessageTypeId] = MessageTypeId;
77
- }
78
- /**
79
- * @since 1.0.0
80
- * @category Models
81
- */
82
- export const Message = /*#__PURE__*/Schema.Union(UserMessage, AssistantMessage, ToolMessage);
83
- // =============================================================================
84
- // Part
85
- // =============================================================================
86
- /**
87
- * @since 1.0.0
88
- * @category Type Ids
89
- */
90
- export const PartTypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiInput/Message/Part");
91
- /**
92
- * Represents a text part of a message.
93
- *
94
- * @since 1.0.0
95
- * @category Models
96
- */
97
- export class TextPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/TextPart")("TextPart", {
98
- /**
99
- * The text content.
100
- */
101
- text: Schema.String
102
- }) {
103
- /**
104
- * @since 1.0.0
105
- */
106
- [PartTypeId] = PartTypeId;
107
- }
108
- /**
109
- * Represents an image part of a message with binary image data.
110
- *
111
- * @since 1.0.0
112
- * @category Models
113
- */
114
- export class ImagePart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/ImagePart")("ImagePart", {
115
- /**
116
- * The binary image data.
117
- */
118
- data: Schema.Uint8ArrayFromBase64,
119
- /**
120
- * The optional MIME type for the image.
121
- */
122
- mediaType: /*#__PURE__*/Schema.optional(Schema.String)
123
- }) {
124
- /**
125
- * @since 1.0.0
126
- */
127
- [PartTypeId] = PartTypeId;
128
- }
129
- /**
130
- * Represents an image part of a message with a URL pointing to the image.
131
- *
132
- * @since 1.0.0
133
- * @category Models
134
- */
135
- export class ImageUrlPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/ImageUrlPart")("ImageUrlPart", {
136
- /**
137
- * The URL that points to the image.
138
- */
139
- url: Schema.URL
140
- }) {
141
- /**
142
- * @since 1.0.0
143
- */
144
- [PartTypeId] = PartTypeId;
145
- }
146
- /**
147
- * Represents a file part of a message with binary file data.
148
- *
149
- * @since 1.0.0
150
- * @category Models
151
- */
152
- export class FilePart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/FilePart")("FilePart", {
153
- /**
154
- * The binary file data.
155
- */
156
- data: Schema.Uint8ArrayFromBase64,
157
- /**
158
- * The optional name of the file.
159
- */
160
- name: /*#__PURE__*/Schema.optional(Schema.String),
161
- /**
162
- * The optional MIME type for the image.
163
- */
164
- mediaType: /*#__PURE__*/Schema.optional(Schema.String)
165
- }) {
166
- /**
167
- * @since 1.0.0
168
- */
169
- [PartTypeId] = PartTypeId;
170
- }
171
- /**
172
- * Represents a file part of a message with a URL pointing to the file.
173
- *
174
- * @since 1.0.0
175
- * @category Models
176
- */
177
- export class FileUrlPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/FileUrlPart")("FileUrlPart", {
178
- /**
179
- * The URL that points to the file.
180
- */
181
- url: Schema.URL
182
- }) {
183
- /**
184
- * @since 1.0.0
185
- */
186
- [PartTypeId] = PartTypeId;
187
- }
188
- /**
189
- * Represents a part of a message containing reasoning that the model used to
190
- * generate its output.
191
- *
192
- * @since 1.0.0
193
- * @category Models
194
- */
195
- export class ReasoningPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/ReasoningPart")("ReasoningPart", {
196
- /**
197
- * The reasoning text that the model used to return the output.
198
- */
199
- reasoningText: Schema.String,
200
- /**
201
- * An optional signature which verifies that the reasoning text was generated
202
- * by the model.
203
- */
204
- signature: /*#__PURE__*/Schema.optional(Schema.String)
205
- }) {
206
- /**
207
- * @since 1.0.0
208
- */
209
- [PartTypeId] = PartTypeId;
210
- }
211
- /**
212
- * Represents a part of a message containing content in the model's reasoning
213
- * that was encrypted by the model provider for safety reasons.
214
- *
215
- * @since 1.0.0
216
- * @category Models
217
- */
218
- export class RedactedReasoningPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/RedactedReasoningPart")("RedactedReasoningPart", {
219
- /**
220
- * The content in the reasoning that was encrypted by the model provider for
221
- * safety reasons.
222
- */
223
- redactedText: Schema.String
224
- }) {
225
- /**
226
- * @since 1.0.0
227
- */
228
- [PartTypeId] = PartTypeId;
229
- }
230
- /**
231
- * Represents the identifier generated by a model when a tool call is requested.
232
- *
233
- * @since 1.0.0
234
- * @category Models
235
- */
236
- export const ToolCallId = InternalCommon.ToolCallId;
237
- /**
238
- * Represents a part of a message containing a tool call that the model has
239
- * requested invocation of.
240
- *
241
- * @since 1.0.0
242
- * @category Models
243
- */
244
- export class ToolCallPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/ToolCallPart")("ToolCallPart", {
245
- /**
246
- * The identifier generated by a model when requesting a tool call.
247
- */
248
- id: ToolCallId,
249
- /**
250
- * The name of the tool to call.
251
- */
252
- name: Schema.String,
253
- /**
254
- * The arguments to call the tool with as a JSON-serializable object that
255
- * matches the tool call input schema.
256
- */
257
- params: Schema.Unknown
258
- }) {
259
- /**
260
- * @since 1.0.0
261
- */
262
- [PartTypeId] = PartTypeId;
263
- constructor(props, options) {
264
- super(props, options);
265
- }
266
- }
267
- /**
268
- * Represents a part of a message containing the results of tool calls that the
269
- * model requested invocation of.
270
- *
271
- * @since 1.0.0
272
- * @category Models
273
- */
274
- export class ToolCallResultPart extends /*#__PURE__*/Schema.TaggedClass("@effect/ai/AiInput/ToolCallResultPart")("ToolCallResultPart", {
275
- /**
276
- * The identifier generated by a model when requesting a tool call.
277
- */
278
- id: ToolCallId,
279
- /**
280
- * The name of the tool that was called.
281
- */
282
- name: Schema.String,
283
- /**
284
- * The result of the tool call as a JSON-serializable object.
285
- */
286
- result: Schema.Unknown
287
- }) {
288
- /**
289
- * @since 1.0.0
290
- */
291
- [PartTypeId] = PartTypeId;
292
- }
293
- /**
294
- * The valid parts of a user message.
295
- *
296
- * @since 1.0.0
297
- * @category Models
298
- */
299
- export const UserMessagePart = /*#__PURE__*/Schema.Union(TextPart, ImagePart, ImageUrlPart, FilePart, FileUrlPart);
300
- /**
301
- * The valid parts of an assistant message.
302
- *
303
- * @since 1.0.0
304
- * @category Models
305
- */
306
- export const AssistantMessagePart = /*#__PURE__*/Schema.Union(TextPart, ReasoningPart, RedactedReasoningPart, ToolCallPart);
307
- /**
308
- * The valid parts of a tool message.
309
- *
310
- * @since 1.0.0
311
- * @category Models
312
- */
313
- export const ToolMessagePart = ToolCallResultPart;
314
- /**
315
- * @since 1.0.0
316
- * @category Guards
317
- */
318
- export const is = u => Predicate.hasProperty(u, TypeId);
319
- /**
320
- * @since 1.0.0
321
- * @category Guards
322
- */
323
- export const isMessage = u => Predicate.hasProperty(u, MessageTypeId);
324
- /**
325
- * @since 1.0.0
326
- * @category Guards
327
- */
328
- export const isPart = u => Predicate.hasProperty(u, PartTypeId);
329
- /**
330
- * @since 1.0.0
331
- * @category Constructors
332
- */
333
- export const empty = /*#__PURE__*/new AiInput({
334
- messages: []
335
- });
336
- /**
337
- * Constructs a new `AiInput` from raw user input.
338
- *
339
- * @since 1.0.0
340
- * @category Constructors
341
- */
342
- export const make = input => {
343
- if (Predicate.isString(input)) {
344
- const textPart = new TextPart({
345
- text: input
346
- });
347
- const message = new UserMessage({
348
- parts: [textPart]
349
- });
350
- return new AiInput({
351
- messages: [message]
352
- });
353
- }
354
- if (isMessage(input)) {
355
- return new AiInput({
356
- messages: [input]
357
- });
358
- }
359
- if (Predicate.isIterable(input)) {
360
- return new AiInput({
361
- messages: Array.from(input)
362
- });
363
- }
364
- if (is(input)) {
365
- return input;
366
- }
367
- if (AiResponse.isStructured(input)) {
368
- const assistantMessages = fromResponse(input).messages;
369
- const toolPart = new ToolCallResultPart({
370
- id: input.id,
371
- name: input.name,
372
- result: input.value
373
- });
374
- const toolMessage = new ToolMessage({
375
- parts: [toolPart]
376
- });
377
- return new AiInput({
378
- messages: [...assistantMessages, toolMessage]
379
- });
380
- }
381
- if (AiResponse.hasToolCallResults(input)) {
382
- const assistantMessages = fromResponse(input).messages;
383
- const toolParts = [];
384
- for (const [id, {
385
- name,
386
- result
387
- }] of input.encodedResults) {
388
- toolParts.push(new ToolCallResultPart({
389
- id,
390
- name,
391
- result
392
- }));
393
- }
394
- const toolMessage = new ToolMessage({
395
- parts: toolParts
396
- });
397
- return new AiInput({
398
- messages: [...assistantMessages, toolMessage]
399
- });
400
- }
401
- return fromResponse(input);
402
- };
403
- const EXCLUDED_RESPONSE_PARTS = ["MetadataPart", "ReasoningPart", "RedactedReasoningPart", "FinishPart"];
404
- const validResponseParts = part => !EXCLUDED_RESPONSE_PARTS.includes(part._tag);
405
- const fromResponse = response => {
406
- if (response.parts.length === 0) {
407
- return empty;
408
- }
409
- const parts = response.parts.filter(validResponseParts).map(part => part._tag === "TextPart" ? new TextPart({
410
- text: part.text
411
- }) : new ToolCallPart({
412
- id: part.id,
413
- name: part.name,
414
- params: part.params
415
- }));
416
- const message = new AssistantMessage({
417
- parts
418
- });
419
- return new AiInput({
420
- messages: [message]
421
- });
422
- };
423
- /**
424
- * Concatenates the messages of one `AiInput` onto the messages of another,
425
- * creating a new `AiInput` with the messages from both.
426
- *
427
- * @since 1.0.0
428
- * @category Combination
429
- */
430
- export const concat = /*#__PURE__*/dual(2, (self, other) => AiInput.make({
431
- messages: [...self.messages, ...other.messages]
432
- }));
433
- //# sourceMappingURL=AiInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AiInput.js","names":["dual","Predicate","Schema","AiResponse","InternalCommon","TypeId","Symbol","for","AiInput","Class","messages","Array","suspend","Message","FromJson","parseJson","MessageTypeId","UserMessage","TaggedClass","parts","UserMessagePart","userName","optional","String","AssistantMessage","AssistantMessagePart","ToolMessage","ToolMessagePart","Union","PartTypeId","TextPart","text","ImagePart","data","Uint8ArrayFromBase64","mediaType","ImageUrlPart","url","URL","FilePart","name","FileUrlPart","ReasoningPart","reasoningText","signature","RedactedReasoningPart","redactedText","ToolCallId","ToolCallPart","id","params","Unknown","constructor","props","options","ToolCallResultPart","result","is","u","hasProperty","isMessage","isPart","empty","make","input","isString","textPart","message","isIterable","from","isStructured","assistantMessages","fromResponse","toolPart","value","toolMessage","hasToolCallResults","toolParts","encodedResults","push","EXCLUDED_RESPONSE_PARTS","validResponseParts","part","includes","_tag","response","length","filter","map","concat","self","other"],"sources":["../../src/AiInput.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}