@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
@@ -0,0 +1,619 @@
1
+ /**
2
+ * The `Response` module provides data structures to represent responses from
3
+ * large language models.
4
+ *
5
+ * This module defines the complete structure of AI model responses, including
6
+ * various content parts for text, reasoning, tool calls, files, and metadata,
7
+ * supporting both streaming and non-streaming responses.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { Response } from "@effect/ai"
12
+ *
13
+ * // Create a simple text response part
14
+ * const textResponse = Response.makePart("text", {
15
+ * text: "The weather is sunny today!"
16
+ * })
17
+ *
18
+ * // Create a tool call response part
19
+ * const toolCallResponse = Response.makePart("tool-call", {
20
+ * id: "call_123",
21
+ * name: "get_weather",
22
+ * params: { city: "San Francisco" },
23
+ * providerExecuted: false
24
+ * })
25
+ * ```
26
+ *
27
+ * @since 1.0.0
28
+ */
29
+ import { ParseResult } from "effect";
30
+ import * as Effect from "effect/Effect";
31
+ import { constFalse } from "effect/Function";
32
+ import * as Predicate from "effect/Predicate";
33
+ import * as Schema from "effect/Schema";
34
+ const constEmptyObject = () => ({});
35
+ // =============================================================================
36
+ // All Parts
37
+ // =============================================================================
38
+ /**
39
+ * Unique identifier for Response Part instances.
40
+ *
41
+ * @since 1.0.0
42
+ * @category Type Ids
43
+ */
44
+ export const PartTypeId = "~effect/ai/Content/Part";
45
+ /**
46
+ * Type guard to check if a value is a Response Part.
47
+ *
48
+ * @since 1.0.0
49
+ * @category Guards
50
+ */
51
+ export const isPart = u => Predicate.hasProperty(u, PartTypeId);
52
+ /**
53
+ * Creates a Schema for all response parts based on a toolkit.
54
+ *
55
+ * Generates a schema that includes all possible response parts, with tool call
56
+ * and tool result parts dynamically created based on the provided toolkit.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * import { Response, Tool, Toolkit } from "@effect/ai"
61
+ * import { Schema } from "effect"
62
+ *
63
+ * const myToolkit = Toolkit.make(
64
+ * Tool.make("GetWeather", {
65
+ * parameters: { city: Schema.String },
66
+ * success: Schema.Struct({ temperature: Schema.Number })
67
+ * })
68
+ * )
69
+ *
70
+ * const allPartsSchema = Response.AllParts(myToolkit)
71
+ * ```
72
+ *
73
+ * @since 1.0.0
74
+ * @category Schemas
75
+ */
76
+ export const AllParts = toolkit => {
77
+ const toolCalls = [];
78
+ const toolCallResults = [];
79
+ for (const tool of Object.values(toolkit.tools)) {
80
+ toolCalls.push(ToolCallPart(tool.name, tool.parametersSchema));
81
+ toolCallResults.push(ToolResultPart(tool.name, tool.successSchema));
82
+ }
83
+ return Schema.Union(TextPart, TextStartPart, TextDeltaPart, TextEndPart, ReasoningPart, ReasoningStartPart, ReasoningDeltaPart, ReasoningEndPart, ToolParamsStartPart, ToolParamsDeltaPart, ToolParamsEndPart, FilePart, DocumentSourcePart, UrlSourcePart, ResponseMetadataPart, FinishPart, ErrorPart, ...toolCalls, ...toolCallResults);
84
+ };
85
+ /**
86
+ * Creates a Schema for non-streaming response parts based on a toolkit.
87
+ *
88
+ * @since 1.0.0
89
+ * @category Schemas
90
+ */
91
+ export const Part = toolkit => {
92
+ const toolCalls = [];
93
+ const toolCallResults = [];
94
+ for (const tool of Object.values(toolkit.tools)) {
95
+ toolCalls.push(ToolCallPart(tool.name, tool.parametersSchema));
96
+ toolCallResults.push(ToolResultPart(tool.name, tool.successSchema));
97
+ }
98
+ return Schema.Union(TextPart, ReasoningPart, FilePart, DocumentSourcePart, UrlSourcePart, ResponseMetadataPart, FinishPart, ...toolCalls, ...toolCallResults);
99
+ };
100
+ /**
101
+ * Creates a Schema for streaming response parts based on a toolkit.
102
+ *
103
+ * @since 1.0.0
104
+ * @category Schemas
105
+ */
106
+ export const StreamPart = toolkit => {
107
+ const toolCalls = [];
108
+ const toolCallResults = [];
109
+ for (const tool of Object.values(toolkit.tools)) {
110
+ toolCalls.push(ToolCallPart(tool.name, tool.parametersSchema));
111
+ toolCallResults.push(ToolResultPart(tool.name, tool.successSchema));
112
+ }
113
+ return Schema.Union(TextStartPart, TextDeltaPart, TextEndPart, ReasoningStartPart, ReasoningDeltaPart, ReasoningEndPart, ToolParamsStartPart, ToolParamsDeltaPart, ToolParamsEndPart, FilePart, DocumentSourcePart, UrlSourcePart, ResponseMetadataPart, FinishPart, ErrorPart, ...toolCalls, ...toolCallResults);
114
+ };
115
+ // =============================================================================
116
+ // Base Part
117
+ // =============================================================================
118
+ /**
119
+ * Schema for provider-specific metadata which can be attached to response parts.
120
+ *
121
+ * Provider-specific metadata is namespaced by provider and has the structure:
122
+ *
123
+ * ```
124
+ * {
125
+ * "<provider-specific-key>": {
126
+ * // Provider-specific metadata
127
+ * }
128
+ * }
129
+ * ```
130
+ *
131
+ * @since 1.0.0
132
+ * @category Schemas
133
+ */
134
+ export const ProviderMetadata = /*#__PURE__*/Schema.Record({
135
+ key: Schema.String,
136
+ value: /*#__PURE__*/Schema.UndefinedOr(/*#__PURE__*/Schema.Record({
137
+ key: Schema.String,
138
+ value: Schema.Unknown
139
+ }))
140
+ });
141
+ /**
142
+ * Creates a new response content part of the specified type.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * import { Response } from "@effect/ai"
147
+ *
148
+ * const textPart = Response.makePart("text", {
149
+ * text: "Hello, world!"
150
+ * })
151
+ *
152
+ * const toolCallPart = Response.makePart("tool-call", {
153
+ * id: "call_123",
154
+ * name: "get_weather",
155
+ * params: { city: "San Francisco" },
156
+ * providerExecuted: false
157
+ * })
158
+ * ```
159
+ *
160
+ * @since 1.0.0
161
+ * @category Constructors
162
+ */
163
+ export const makePart = (
164
+ /**
165
+ * The type of part to create.
166
+ */
167
+ type,
168
+ /**
169
+ * Parameters specific to the part type being created.
170
+ */
171
+ params) => ({
172
+ ...params,
173
+ [PartTypeId]: PartTypeId,
174
+ type,
175
+ metadata: params.metadata
176
+ });
177
+ /**
178
+ * Schema for validation and encoding of text parts.
179
+ *
180
+ * @since 1.0.0
181
+ * @category Schemas
182
+ */
183
+ export const TextPart = /*#__PURE__*/Schema.Struct({
184
+ type: Schema.Literal("text"),
185
+ text: Schema.String,
186
+ metadata: Schema.optionalWith(ProviderMetadata, {
187
+ default: constEmptyObject
188
+ })
189
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
190
+ identifier: "TextPart"
191
+ }));
192
+ /**
193
+ * Schema for validation and encoding of text start parts.
194
+ *
195
+ * @since 1.0.0
196
+ * @category Schemas
197
+ */
198
+ export const TextStartPart = /*#__PURE__*/Schema.Struct({
199
+ type: Schema.Literal("text-start"),
200
+ id: Schema.String,
201
+ metadata: Schema.optionalWith(ProviderMetadata, {
202
+ default: constEmptyObject
203
+ })
204
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
205
+ identifier: "TextStartPart"
206
+ }));
207
+ /**
208
+ * Schema for validation and encoding of text delta parts.
209
+ *
210
+ * @since 1.0.0
211
+ * @category Schemas
212
+ */
213
+ export const TextDeltaPart = /*#__PURE__*/Schema.Struct({
214
+ type: Schema.Literal("text-delta"),
215
+ id: Schema.String,
216
+ delta: Schema.String,
217
+ metadata: Schema.optionalWith(ProviderMetadata, {
218
+ default: constEmptyObject
219
+ })
220
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
221
+ identifier: "TextDeltaPart"
222
+ }));
223
+ /**
224
+ * Schema for validation and encoding of text end parts.
225
+ *
226
+ * @since 1.0.0
227
+ * @category Schemas
228
+ */
229
+ export const TextEndPart = /*#__PURE__*/Schema.Struct({
230
+ type: Schema.Literal("text-end"),
231
+ id: Schema.String,
232
+ metadata: Schema.optionalWith(ProviderMetadata, {
233
+ default: constEmptyObject
234
+ })
235
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
236
+ identifier: "TextEndPart"
237
+ }));
238
+ /**
239
+ * Schema for validation and encoding of reasoning parts.
240
+ *
241
+ * @since 1.0.0
242
+ * @category Schemas
243
+ */
244
+ export const ReasoningPart = /*#__PURE__*/Schema.Struct({
245
+ type: Schema.Literal("reasoning"),
246
+ text: Schema.String,
247
+ metadata: Schema.optionalWith(ProviderMetadata, {
248
+ default: constEmptyObject
249
+ })
250
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
251
+ identifier: "ReasoningPart"
252
+ }));
253
+ /**
254
+ * Schema for validation and encoding of reasoning start parts.
255
+ *
256
+ * @since 1.0.0
257
+ * @category Schemas
258
+ */
259
+ export const ReasoningStartPart = /*#__PURE__*/Schema.Struct({
260
+ type: Schema.Literal("reasoning-start"),
261
+ id: Schema.String,
262
+ metadata: Schema.optionalWith(ProviderMetadata, {
263
+ default: constEmptyObject
264
+ })
265
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
266
+ identifier: "ReasoningStartPart"
267
+ }));
268
+ /**
269
+ * Schema for validation and encoding of reasoning delta parts.
270
+ *
271
+ * @since 1.0.0
272
+ * @category Schemas
273
+ */
274
+ export const ReasoningDeltaPart = /*#__PURE__*/Schema.Struct({
275
+ type: Schema.Literal("reasoning-delta"),
276
+ id: Schema.String,
277
+ delta: Schema.String,
278
+ metadata: Schema.optionalWith(ProviderMetadata, {
279
+ default: constEmptyObject
280
+ })
281
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
282
+ identifier: "ReasoningDeltaPart"
283
+ }));
284
+ /**
285
+ * Schema for validation and encoding of reasoning end parts.
286
+ *
287
+ * @since 1.0.0
288
+ * @category Schemas
289
+ */
290
+ export const ReasoningEndPart = /*#__PURE__*/Schema.Struct({
291
+ type: Schema.Literal("reasoning-end"),
292
+ id: Schema.String,
293
+ metadata: Schema.optionalWith(ProviderMetadata, {
294
+ default: constEmptyObject
295
+ })
296
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
297
+ identifier: "ReasoningEndPart"
298
+ }));
299
+ /**
300
+ * Schema for validation and encoding of tool params start parts.
301
+ *
302
+ * @since 1.0.0
303
+ * @category Schemas
304
+ */
305
+ export const ToolParamsStartPart = /*#__PURE__*/Schema.Struct({
306
+ type: Schema.Literal("tool-params-start"),
307
+ id: Schema.String,
308
+ name: Schema.String,
309
+ providerName: Schema.optional(Schema.String),
310
+ providerExecuted: Schema.optionalWith(Schema.Boolean, {
311
+ default: constFalse
312
+ }),
313
+ metadata: Schema.optionalWith(ProviderMetadata, {
314
+ default: constEmptyObject
315
+ })
316
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
317
+ identifier: "ToolParamsStartPart"
318
+ }));
319
+ /**
320
+ * Schema for validation and encoding of tool params delta parts.
321
+ *
322
+ * @since 1.0.0
323
+ * @category Schemas
324
+ */
325
+ export const ToolParamsDeltaPart = /*#__PURE__*/Schema.Struct({
326
+ type: Schema.Literal("tool-params-delta"),
327
+ id: Schema.String,
328
+ delta: Schema.String,
329
+ metadata: Schema.optionalWith(ProviderMetadata, {
330
+ default: constEmptyObject
331
+ })
332
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
333
+ identifier: "ToolParamsDeltaPart"
334
+ }));
335
+ /**
336
+ * Schema for validation and encoding of tool params end parts.
337
+ *
338
+ * @since 1.0.0
339
+ * @category Schemas
340
+ */
341
+ export const ToolParamsEndPart = /*#__PURE__*/Schema.Struct({
342
+ type: Schema.Literal("tool-params-end"),
343
+ id: Schema.String,
344
+ metadata: Schema.optionalWith(ProviderMetadata, {
345
+ default: constEmptyObject
346
+ })
347
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
348
+ identifier: "ToolParamsEndPart"
349
+ }));
350
+ /**
351
+ * Creates a Schema for tool call parts with specific tool name and parameters.
352
+ *
353
+ * @since 1.0.0
354
+ * @category Schemas
355
+ */
356
+ export const ToolCallPart = (
357
+ /**
358
+ * Name of the tool.
359
+ */
360
+ name,
361
+ /**
362
+ * Schema for the tool parameters.
363
+ */
364
+ params) => Schema.Struct({
365
+ type: Schema.Literal("tool-call"),
366
+ id: Schema.String,
367
+ name: Schema.Literal(name),
368
+ params,
369
+ providerName: Schema.optional(Schema.String),
370
+ providerExecuted: Schema.optionalWith(Schema.Boolean, {
371
+ default: constFalse
372
+ }),
373
+ metadata: Schema.optionalWith(ProviderMetadata, {
374
+ default: constEmptyObject
375
+ })
376
+ }).pipe(Schema.attachPropertySignature(PartTypeId, PartTypeId), Schema.annotations({
377
+ identifier: "ToolCallPart"
378
+ }));
379
+ /**
380
+ * Creates a Schema for tool result parts with specific tool name and result type.
381
+ *
382
+ * @since 1.0.0
383
+ * @category Schemas
384
+ */
385
+ export const ToolResultPart = (
386
+ /**
387
+ * Name of the tool.
388
+ */
389
+ name,
390
+ /**
391
+ * Schema for the tool result.
392
+ */
393
+ result) => {
394
+ const Base = Schema.Struct({
395
+ id: Schema.String,
396
+ type: Schema.Literal("tool-result"),
397
+ providerName: Schema.optional(Schema.String)
398
+ });
399
+ const Encoded = Schema.Struct({
400
+ ...Base.fields,
401
+ name: Schema.String,
402
+ result: Schema.encodedSchema(result),
403
+ providerExecuted: Schema.optional(Schema.Boolean),
404
+ metadata: Schema.optional(ProviderMetadata)
405
+ });
406
+ const Decoded = Schema.Struct({
407
+ ...Base.fields,
408
+ [PartTypeId]: Schema.Literal(PartTypeId),
409
+ name: Schema.Literal(name),
410
+ result: Schema.typeSchema(result),
411
+ encodedResult: Schema.encodedSchema(result),
412
+ providerExecuted: Schema.Boolean,
413
+ metadata: ProviderMetadata
414
+ });
415
+ const decodeParams = ParseResult.decode(result);
416
+ const encodeParams = ParseResult.encode(result);
417
+ return Schema.transformOrFail(Encoded, Decoded, {
418
+ strict: true,
419
+ decode: Effect.fnUntraced(function* (encoded) {
420
+ const decoded = yield* decodeParams(encoded.result);
421
+ const providerExecuted = encoded.providerExecuted ?? false;
422
+ return {
423
+ ...encoded,
424
+ [PartTypeId]: PartTypeId,
425
+ name: encoded.name,
426
+ result: decoded,
427
+ encodedResult: encoded.result,
428
+ metadata: encoded.metadata ?? {},
429
+ providerExecuted
430
+ };
431
+ }),
432
+ encode: Effect.fnUntraced(function* (decoded) {
433
+ const encoded = yield* encodeParams(decoded.result);
434
+ return {
435
+ id: decoded.id,
436
+ type: decoded.type,
437
+ name: decoded.name,
438
+ result: encoded,
439
+ ...(decoded.metadata ? {
440
+ metadata: decoded.metadata
441
+ } : {}),
442
+ ...(decoded.providerName ? {
443
+ providerName: decoded.providerName
444
+ } : {}),
445
+ ...(decoded.providerExecuted ? {
446
+ providerExecuted: true
447
+ } : {})
448
+ };
449
+ })
450
+ }).annotations({
451
+ identifier: `ToolResultPart(${name})`
452
+ });
453
+ };
454
+ /**
455
+ * Schema for validation and encoding of file parts.
456
+ *
457
+ * @since 1.0.0
458
+ * @category Schemas
459
+ */
460
+ export const FilePart = /*#__PURE__*/Schema.Struct({
461
+ type: Schema.Literal("file"),
462
+ mediaType: Schema.String,
463
+ data: Schema.Uint8ArrayFromBase64,
464
+ metadata: Schema.optionalWith(ProviderMetadata, {
465
+ default: constEmptyObject
466
+ })
467
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
468
+ identifier: "FilePart"
469
+ }));
470
+ /**
471
+ * Schema for validation and encoding of document source parts.
472
+ *
473
+ * @since 1.0.0
474
+ * @category Schemas
475
+ */
476
+ export const DocumentSourcePart = /*#__PURE__*/Schema.Struct({
477
+ type: Schema.Literal("source"),
478
+ sourceType: Schema.Literal("document"),
479
+ id: Schema.String,
480
+ mediaType: Schema.String,
481
+ title: Schema.String,
482
+ fileName: Schema.optional(Schema.String),
483
+ metadata: Schema.optionalWith(ProviderMetadata, {
484
+ default: constEmptyObject
485
+ })
486
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
487
+ identifier: "DocumentSourcePart"
488
+ }));
489
+ /**
490
+ * Schema for validation and encoding of url source parts.
491
+ *
492
+ * @since 1.0.0
493
+ * @category Schemas
494
+ */
495
+ export const UrlSourcePart = /*#__PURE__*/Schema.Struct({
496
+ type: Schema.Literal("source"),
497
+ sourceType: Schema.Literal("url"),
498
+ id: Schema.String,
499
+ url: Schema.URL,
500
+ title: Schema.String,
501
+ metadata: Schema.optionalWith(ProviderMetadata, {
502
+ default: constEmptyObject
503
+ })
504
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
505
+ identifier: "UrlSourcePart"
506
+ }));
507
+ /**
508
+ * Schema for validation and encoding of response metadata parts.
509
+ *
510
+ * @since 1.0.0
511
+ * @category Schemas
512
+ */
513
+ export const ResponseMetadataPart = /*#__PURE__*/Schema.Struct({
514
+ type: Schema.Literal("response-metadata"),
515
+ id: Schema.optionalWith(Schema.String, {
516
+ as: "Option"
517
+ }),
518
+ modelId: Schema.optionalWith(Schema.String, {
519
+ as: "Option"
520
+ }),
521
+ timestamp: Schema.optionalWith(Schema.DateTimeUtc, {
522
+ as: "Option"
523
+ }),
524
+ metadata: Schema.optionalWith(ProviderMetadata, {
525
+ default: constEmptyObject
526
+ })
527
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
528
+ identifier: "ResponseMetadataPart"
529
+ }));
530
+ // =============================================================================
531
+ // Finish Part
532
+ // =============================================================================
533
+ /**
534
+ * Represents the reason why a model finished generation of a response.
535
+ *
536
+ * Possible finish reasons:
537
+ * - `"stop"`: The model generated a stop sequence.
538
+ * - `"length"`: The model exceeded its token budget.
539
+ * - `"content-filter"`: The model generated content which violated a content filter.
540
+ * - `"tool-calls"`: The model triggered a tool call.
541
+ * - `"error"`: The model encountered an error.
542
+ * - `"pause"`: The model requested to pause execution.
543
+ * - `"other"`: The model stopped for a reason not supported by this protocol.
544
+ * - `"unknown"`: The model did not specify a finish reason.
545
+ *
546
+ * @since 1.0.0
547
+ * @category Models
548
+ */
549
+ export const FinishReason = /*#__PURE__*/Schema.Literal("stop", "length", "content-filter", "tool-calls", "error", "pause", "other", "unknown");
550
+ /**
551
+ * Represents usage information for a request to a large language model provider.
552
+ *
553
+ * If the model provider returns additional usage information than what is
554
+ * specified here, you can generally find that information under the provider
555
+ * metadata of the finish part of the response.
556
+ *
557
+ * @since 1.0.0
558
+ * @category Models
559
+ */
560
+ export class Usage extends /*#__PURE__*/Schema.Class("@effect/ai/AiResponse/Usage")({
561
+ /**
562
+ * The number of tokens sent in the request to the model.
563
+ */
564
+ inputTokens: /*#__PURE__*/Schema.UndefinedOr(Schema.Number),
565
+ /**
566
+ * The number of tokens that the model generated for the request.
567
+ */
568
+ outputTokens: /*#__PURE__*/Schema.UndefinedOr(Schema.Number),
569
+ /**
570
+ * The total of number of input tokens and output tokens as reported by the
571
+ * large language model provider.
572
+ *
573
+ * **NOTE**: This value may differ from the sum of `inputTokens` and
574
+ * `outputTokens` due to inclusion of reasoning tokens or other
575
+ * provider-specific overhead.
576
+ */
577
+ totalTokens: /*#__PURE__*/Schema.UndefinedOr(Schema.Number),
578
+ /**
579
+ * The number of reasoning tokens that the model used to generate the output
580
+ * for the request.
581
+ */
582
+ reasoningTokens: /*#__PURE__*/Schema.optional(Schema.Number),
583
+ /**
584
+ * The number of input tokens read from the prompt cache for the request.
585
+ */
586
+ cachedInputTokens: /*#__PURE__*/Schema.optional(Schema.Number)
587
+ }) {}
588
+ /**
589
+ * Schema for validation and encoding of finish parts.
590
+ *
591
+ * @since 1.0.0
592
+ * @category Schemas
593
+ */
594
+ export const FinishPart = /*#__PURE__*/Schema.Struct({
595
+ type: Schema.Literal("finish"),
596
+ reason: FinishReason,
597
+ usage: Usage,
598
+ metadata: Schema.optionalWith(ProviderMetadata, {
599
+ default: constEmptyObject
600
+ })
601
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
602
+ identifier: "FinishPart"
603
+ }));
604
+ /**
605
+ * Schema for validation and encoding of error parts.
606
+ *
607
+ * @since 1.0.0
608
+ * @category Schemas
609
+ */
610
+ export const ErrorPart = /*#__PURE__*/Schema.Struct({
611
+ type: Schema.Literal("error"),
612
+ error: Schema.Unknown,
613
+ metadata: Schema.optionalWith(ProviderMetadata, {
614
+ default: constEmptyObject
615
+ })
616
+ }).pipe(/*#__PURE__*/Schema.attachPropertySignature(PartTypeId, PartTypeId), /*#__PURE__*/Schema.annotations({
617
+ identifier: "ErrorPart"
618
+ }));
619
+ //# sourceMappingURL=Response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Response.js","names":["ParseResult","Effect","constFalse","Predicate","Schema","constEmptyObject","PartTypeId","isPart","u","hasProperty","AllParts","toolkit","toolCalls","toolCallResults","tool","Object","values","tools","push","ToolCallPart","name","parametersSchema","ToolResultPart","successSchema","Union","TextPart","TextStartPart","TextDeltaPart","TextEndPart","ReasoningPart","ReasoningStartPart","ReasoningDeltaPart","ReasoningEndPart","ToolParamsStartPart","ToolParamsDeltaPart","ToolParamsEndPart","FilePart","DocumentSourcePart","UrlSourcePart","ResponseMetadataPart","FinishPart","ErrorPart","Part","StreamPart","ProviderMetadata","Record","key","String","value","UndefinedOr","Unknown","makePart","type","params","metadata","Struct","Literal","text","optionalWith","default","pipe","attachPropertySignature","annotations","identifier","id","delta","providerName","optional","providerExecuted","Boolean","result","Base","Encoded","fields","encodedSchema","Decoded","typeSchema","encodedResult","decodeParams","decode","encodeParams","encode","transformOrFail","strict","fnUntraced","encoded","decoded","mediaType","data","Uint8ArrayFromBase64","sourceType","title","fileName","url","URL","as","modelId","timestamp","DateTimeUtc","FinishReason","Usage","Class","inputTokens","Number","outputTokens","totalTokens","reasoningTokens","cachedInputTokens","reason","usage","error"],"sources":["../../src/Response.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}