@effect/ai-anthropic 0.16.1 → 0.17.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 (48) hide show
  1. package/AnthropicTool/package.json +6 -0
  2. package/dist/cjs/AnthropicClient.js +286 -190
  3. package/dist/cjs/AnthropicClient.js.map +1 -1
  4. package/dist/cjs/AnthropicLanguageModel.js +1026 -311
  5. package/dist/cjs/AnthropicLanguageModel.js.map +1 -1
  6. package/dist/cjs/AnthropicTokenizer.js +8 -6
  7. package/dist/cjs/AnthropicTokenizer.js.map +1 -1
  8. package/dist/cjs/AnthropicTool.js +461 -0
  9. package/dist/cjs/AnthropicTool.js.map +1 -0
  10. package/dist/cjs/Generated.js +3507 -1230
  11. package/dist/cjs/Generated.js.map +1 -1
  12. package/dist/cjs/index.js +3 -1
  13. package/dist/cjs/internal/utilities.js +13 -3
  14. package/dist/cjs/internal/utilities.js.map +1 -1
  15. package/dist/dts/AnthropicClient.d.ts +673 -17
  16. package/dist/dts/AnthropicClient.d.ts.map +1 -1
  17. package/dist/dts/AnthropicLanguageModel.d.ts +217 -26
  18. package/dist/dts/AnthropicLanguageModel.d.ts.map +1 -1
  19. package/dist/dts/AnthropicTokenizer.d.ts +1 -1
  20. package/dist/dts/AnthropicTokenizer.d.ts.map +1 -1
  21. package/dist/dts/AnthropicTool.d.ts +523 -0
  22. package/dist/dts/AnthropicTool.d.ts.map +1 -0
  23. package/dist/dts/Generated.d.ts +7863 -3496
  24. package/dist/dts/Generated.d.ts.map +1 -1
  25. package/dist/dts/index.d.ts +4 -0
  26. package/dist/dts/index.d.ts.map +1 -1
  27. package/dist/esm/AnthropicClient.js +269 -188
  28. package/dist/esm/AnthropicClient.js.map +1 -1
  29. package/dist/esm/AnthropicLanguageModel.js +1022 -306
  30. package/dist/esm/AnthropicLanguageModel.js.map +1 -1
  31. package/dist/esm/AnthropicTokenizer.js +8 -6
  32. package/dist/esm/AnthropicTokenizer.js.map +1 -1
  33. package/dist/esm/AnthropicTool.js +452 -0
  34. package/dist/esm/AnthropicTool.js.map +1 -0
  35. package/dist/esm/Generated.js +3492 -1063
  36. package/dist/esm/Generated.js.map +1 -1
  37. package/dist/esm/index.js +4 -0
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/internal/utilities.js +12 -2
  40. package/dist/esm/internal/utilities.js.map +1 -1
  41. package/package.json +11 -3
  42. package/src/AnthropicClient.ts +713 -369
  43. package/src/AnthropicLanguageModel.ts +1404 -345
  44. package/src/AnthropicTokenizer.ts +14 -23
  45. package/src/AnthropicTool.ts +553 -0
  46. package/src/Generated.ts +4165 -1681
  47. package/src/index.ts +5 -0
  48. package/src/internal/utilities.ts +18 -4
@@ -2,27 +2,23 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as AiError from "@effect/ai/AiError";
5
- import * as AiInput from "@effect/ai/AiInput";
6
- import * as AiResponse from "@effect/ai/AiResponse";
7
5
  import * as Sse from "@effect/experimental/Sse";
6
+ import * as Headers from "@effect/platform/Headers";
8
7
  import * as HttpBody from "@effect/platform/HttpBody";
9
8
  import * as HttpClient from "@effect/platform/HttpClient";
10
9
  import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
10
+ import * as Arr from "effect/Array";
11
+ import * as Chunk from "effect/Chunk";
11
12
  import * as Config from "effect/Config";
12
13
  import * as Context from "effect/Context";
13
14
  import * as Effect from "effect/Effect";
14
15
  import { identity } from "effect/Function";
15
16
  import * as Layer from "effect/Layer";
16
- import * as Option from "effect/Option";
17
- import * as Predicate from "effect/Predicate";
18
17
  import * as Redacted from "effect/Redacted";
18
+ import * as Schema from "effect/Schema";
19
19
  import * as Stream from "effect/Stream";
20
20
  import { AnthropicConfig } from "./AnthropicConfig.js";
21
21
  import * as Generated from "./Generated.js";
22
- import * as InternalUtilities from "./internal/utilities.js";
23
- const constDisableValidation = {
24
- disableValidation: true
25
- };
26
22
  /**
27
23
  * @since 1.0.0
28
24
  * @category Context
@@ -32,201 +28,286 @@ export class AnthropicClient extends /*#__PURE__*/Context.Tag("@effect/ai-anthro
32
28
  * @since 1.0.0
33
29
  * @category Constructors
34
30
  */
35
- export const make = options => Effect.gen(function* () {
36
- const httpClient = (yield* HttpClient.HttpClient).pipe(HttpClient.mapRequest(request => request.pipe(HttpClientRequest.prependUrl(options.apiUrl ?? "https://api.anthropic.com"), options.apiKey ? HttpClientRequest.setHeader("x-api-key", Redacted.value(options.apiKey)) : identity, HttpClientRequest.setHeader("anthropic-version", options.anthropicVersion ?? "2023-06-01"), HttpClientRequest.acceptJson)), options.transformClient ? options.transformClient : identity);
37
- const httpClientOk = HttpClient.filterStatusOk(httpClient);
31
+ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
32
+ const apiKeyHeader = "x-api-key";
33
+ yield* Effect.locallyScopedWith(Headers.currentRedactedNames, Arr.append(apiKeyHeader));
34
+ const httpClient = (yield* HttpClient.HttpClient).pipe(HttpClient.mapRequest(request => request.pipe(HttpClientRequest.prependUrl(options.apiUrl ?? "https://api.anthropic.com"), options.apiKey ? HttpClientRequest.setHeader(apiKeyHeader, Redacted.value(options.apiKey)) : identity, HttpClientRequest.setHeader("anthropic-version", options.anthropicVersion ?? "2023-06-01"), HttpClientRequest.acceptJson)), options.transformClient ? options.transformClient : identity);
38
35
  const client = Generated.make(httpClient, {
39
36
  transformClient: client => AnthropicConfig.getOrUndefined.pipe(Effect.map(config => config?.transformClient ? config.transformClient(client) : client))
40
37
  });
41
- const streamRequest = request => httpClientOk.execute(request).pipe(Effect.map(r => r.stream), Stream.unwrapScoped, Stream.decodeText(), Stream.pipeThroughChannel(Sse.makeChannel()), Stream.takeUntil(event => event.event === "message_stop"), Stream.map(event => JSON.parse(event.data)));
42
- const stream = request => Stream.suspend(() => {
43
- const toolCalls = {};
44
- let finishReason = "unknown";
45
- let reasoning = undefined;
46
- let usage = {
47
- inputTokens: 0,
48
- outputTokens: 0,
49
- totalTokens: 0,
50
- reasoningTokens: 0,
51
- cacheReadInputTokens: 0,
52
- cacheWriteInputTokens: 0
53
- };
54
- const metadata = {};
55
- return streamRequest(HttpClientRequest.post("/v1/messages", {
56
- body: HttpBody.unsafeJson({
57
- ...request,
58
- stream: true
38
+ const streamRequest = (request, schema) => {
39
+ const decodeEvents = Schema.decode(Schema.ChunkFromSelf(Schema.parseJson(schema)));
40
+ return httpClient.execute(request).pipe(Effect.map(r => r.stream), Stream.unwrapScoped, Stream.decodeText(), Stream.pipeThroughChannel(Sse.makeChannel()), Stream.mapChunksEffect(chunk => decodeEvents(Chunk.map(chunk, event => event.data))), Stream.catchTags({
41
+ RequestError: error => AiError.HttpRequestError.fromRequestError({
42
+ module: "AnthropicClient",
43
+ method: "streamRequest",
44
+ error
45
+ }),
46
+ ResponseError: error => AiError.HttpResponseError.fromResponseError({
47
+ module: "AnthropicClient",
48
+ method: "streamRequest",
49
+ error
50
+ }),
51
+ ParseError: error => AiError.MalformedOutput.fromParseError({
52
+ module: "AnthropicClient",
53
+ method: "streamRequest",
54
+ error
59
55
  })
60
- })).pipe(Stream.filterMapEffect(chunk => {
61
- const parts = [];
62
- switch (chunk.type) {
63
- case "message_start":
64
- {
65
- usage = {
66
- inputTokens: chunk.message.usage.input_tokens,
67
- outputTokens: chunk.message.usage.output_tokens,
68
- totalTokens: chunk.message.usage.input_tokens + chunk.message.usage.output_tokens,
69
- reasoningTokens: 0,
70
- cacheWriteInputTokens: chunk.message.usage.cache_creation_input_tokens ?? 0,
71
- cacheReadInputTokens: chunk.message.usage.cache_read_input_tokens ?? 0
72
- };
73
- parts.push(new AiResponse.MetadataPart({
74
- id: chunk.message.id,
75
- model: chunk.message.model
76
- }, constDisableValidation));
77
- break;
78
- }
79
- case "message_delta":
80
- {
81
- usage = {
82
- ...usage,
83
- outputTokens: chunk.usage.output_tokens
84
- };
85
- if (Predicate.isNotNullable(chunk.delta.stop_sequence)) {
86
- metadata.stopSequence = chunk.delta.stop_sequence;
87
- }
88
- finishReason = InternalUtilities.resolveFinishReason(chunk.delta.stop_reason);
89
- break;
90
- }
91
- case "message_stop":
92
- {
93
- parts.push(new AiResponse.FinishPart({
94
- usage,
95
- reason: finishReason,
96
- providerMetadata: {
97
- [InternalUtilities.ProviderMetadataKey]: metadata
98
- }
99
- }, constDisableValidation));
100
- break;
101
- }
102
- case "content_block_start":
103
- {
104
- const content = chunk.content_block;
105
- switch (content.type) {
106
- case "text":
107
- {
108
- break;
109
- }
110
- case "thinking":
111
- {
112
- reasoning = {
113
- content: [content.thinking]
114
- };
115
- break;
116
- }
117
- case "tool_use":
118
- {
119
- toolCalls[chunk.index] = {
120
- id: content.id,
121
- name: content.name,
122
- params: ""
123
- };
124
- break;
125
- }
126
- case "redacted_thinking":
127
- {
128
- parts.push(new AiResponse.RedactedReasoningPart({
129
- redactedText: content.data
130
- }, constDisableValidation));
131
- break;
132
- }
133
- }
134
- break;
135
- }
136
- case "content_block_delta":
137
- {
138
- switch (chunk.delta.type) {
139
- case "text_delta":
140
- {
141
- parts.push(new AiResponse.TextPart({
142
- text: chunk.delta.text
143
- }, constDisableValidation));
144
- break;
145
- }
146
- case "thinking_delta":
147
- {
148
- if (Predicate.isNotUndefined(reasoning)) {
149
- reasoning.content.push(chunk.delta.thinking);
150
- }
151
- break;
152
- }
153
- case "signature_delta":
154
- {
155
- if (Predicate.isNotUndefined(reasoning)) {
156
- reasoning = {
157
- ...reasoning,
158
- signature: chunk.delta.signature
159
- };
160
- }
161
- break;
162
- }
163
- case "input_json_delta":
164
- {
165
- const tool = toolCalls[chunk.index];
166
- if (Predicate.isNotUndefined(tool)) {
167
- tool.params += chunk.delta.partial_json;
168
- }
169
- break;
170
- }
171
- // TODO: add support for citations (?)
172
- case "citations_delta":
173
- {
174
- break;
175
- }
176
- }
177
- break;
178
- }
179
- case "content_block_stop":
180
- {
181
- if (Predicate.isNotUndefined(toolCalls[chunk.index])) {
182
- const tool = toolCalls[chunk.index];
183
- try {
184
- // If the tool call has no parameters, the model sends an empty string.
185
- const inputJson = tool.params === "" ? "{}" : tool.params;
186
- const params = JSON.parse(inputJson);
187
- parts.push(new AiResponse.ToolCallPart({
188
- id: AiInput.ToolCallId.make(tool.id, constDisableValidation),
189
- name: tool.name,
190
- params
191
- }, constDisableValidation));
192
- delete toolCalls[chunk.index];
193
- // eslint-disable-next-line no-empty
194
- } catch {}
195
- }
196
- if (Predicate.isNotUndefined(reasoning)) {
197
- parts.push(new AiResponse.ReasoningPart({
198
- reasoningText: reasoning.content.join(""),
199
- signature: reasoning.signature
200
- }, constDisableValidation));
201
- reasoning = undefined;
202
- }
203
- break;
204
- }
205
- case "error":
206
- {
207
- return Option.some(Effect.die(new AiError.AiError({
208
- module: "AnthropicClient",
209
- method: "stream",
210
- description: `${chunk.error.type}: ${chunk.error.message}`
211
- })));
56
+ }));
57
+ };
58
+ const createMessage = Effect.fnUntraced(function* (options) {
59
+ return yield* client.betaMessagesPost(options).pipe(Effect.catchTags({
60
+ RequestError: error => AiError.HttpRequestError.fromRequestError({
61
+ module: "AnthropicClient",
62
+ method: "createMessage",
63
+ error
64
+ }),
65
+ ResponseError: error => AiError.HttpResponseError.fromResponseError({
66
+ module: "AnthropicClient",
67
+ method: "createMessage",
68
+ error
69
+ }),
70
+ BetaErrorResponse: error => {
71
+ return new AiError.HttpResponseError({
72
+ module: "AnthropicClient",
73
+ method: "createMessage",
74
+ cause: error.cause,
75
+ reason: "StatusCode",
76
+ request: {
77
+ hash: error.request.hash,
78
+ headers: error.request.headers,
79
+ method: error.request.method,
80
+ url: error.request.url,
81
+ urlParams: error.request.urlParams
82
+ },
83
+ response: {
84
+ headers: error.response.headers,
85
+ status: error.response.status
212
86
  }
213
- }
214
- return parts.length === 0 ? Option.none() : Option.some(Effect.succeed(AiResponse.AiResponse.make({
215
- parts
216
- }, constDisableValidation)));
87
+ });
88
+ },
89
+ ParseError: error => AiError.MalformedOutput.fromParseError({
90
+ module: "AnthropicClient",
91
+ method: "createMessage",
92
+ error
93
+ })
217
94
  }));
218
95
  });
96
+ const createMessageStream = options => {
97
+ const request = HttpClientRequest.post("/v1/messages", {
98
+ headers: Headers.fromInput({
99
+ "anthropic-beta": options.params?.["anthropic-beta"] ?? undefined
100
+ }),
101
+ body: HttpBody.unsafeJson({
102
+ ...options.payload,
103
+ stream: true
104
+ })
105
+ });
106
+ return streamRequest(request, MessageStreamEvent).pipe(Stream.takeUntil(event => event.type === "message_stop"));
107
+ };
219
108
  return AnthropicClient.of({
220
109
  client,
221
110
  streamRequest,
222
- stream
111
+ createMessage,
112
+ createMessageStream
223
113
  });
224
114
  });
115
+ // =============================================================================
116
+ // Message Stream Schema
117
+ // =============================================================================
118
+ /**
119
+ * @since 1.0.0
120
+ * @category Schemas
121
+ */
122
+ export class PingEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/PingEvent")({
123
+ type: /*#__PURE__*/Schema.Literal("ping")
124
+ }) {}
125
+ /**
126
+ * @since 1.0.0
127
+ * @category Schemas
128
+ */
129
+ export class ErrorEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/ErrorEvent")({
130
+ type: /*#__PURE__*/Schema.Literal("error"),
131
+ error: /*#__PURE__*/Schema.Struct({
132
+ type: /*#__PURE__*/Schema.Literal("invalid_request_error", "authentication_error", "permission_error", "not_found_error", "request_too_large", "rate_limit_error", "api_error", "overloaded_error"),
133
+ message: Schema.String
134
+ })
135
+ }) {}
136
+ /**
137
+ * @since 1.0.0
138
+ * @category Schemas
139
+ */
140
+ export class MessageStartEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/MessageStartEvent")({
141
+ type: /*#__PURE__*/Schema.Literal("message_start"),
142
+ message: Generated.BetaMessage
143
+ }) {}
144
+ /**
145
+ * @since 1.0.0
146
+ * @category Schemas
147
+ */
148
+ export class ServerToolUsage extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/ServerToolUsage")({
149
+ /**
150
+ * The number of web search tool requests.
151
+ */
152
+ web_search_requests: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Int.pipe(/*#__PURE__*/Schema.greaterThanOrEqualTo(0))), {
153
+ default: () => 0
154
+ })
155
+ }) {}
156
+ /**
157
+ * @since 1.0.0
158
+ * @category Schemas
159
+ */
160
+ export class MessageDelta extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/MessageDelta")({
161
+ stop_reason: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Literal("end_turn", "max_tokens", "stop_sequence", "tool_use", "pause_turn", "refusal")), {
162
+ default: () => null
163
+ }),
164
+ stop_sequence: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(Schema.String), {
165
+ default: () => null
166
+ })
167
+ }) {}
168
+ /**
169
+ * @since 1.0.0
170
+ * @category Schemas
171
+ */
172
+ export class MessageDeltaUsage extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/MessageDeltaUsage")({
173
+ /**
174
+ * The cumulative number of input tokens which were used.
175
+ */
176
+ input_tokens: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Int.pipe(/*#__PURE__*/Schema.greaterThanOrEqualTo(0))), {
177
+ default: () => null
178
+ }),
179
+ /**
180
+ * The cumulative number of output tokens which were used.
181
+ */
182
+ output_tokens: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Int.pipe(/*#__PURE__*/Schema.greaterThanOrEqualTo(0))), {
183
+ default: () => null
184
+ }),
185
+ /**
186
+ * The cumulative number of input tokens used to create the cache entry.
187
+ */
188
+ cache_creation_input_tokens: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Int.pipe(/*#__PURE__*/Schema.greaterThanOrEqualTo(0))), {
189
+ default: () => null
190
+ }),
191
+ /**
192
+ * The cumulative number of input tokens read from the cache.
193
+ */
194
+ cache_read_input_tokens: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Int.pipe(/*#__PURE__*/Schema.greaterThanOrEqualTo(0))), {
195
+ default: () => null
196
+ }),
197
+ /**
198
+ * The number of server tool requests.
199
+ */
200
+ server_tool_use: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.NullOr(ServerToolUsage), {
201
+ default: () => null
202
+ })
203
+ }) {}
204
+ /**
205
+ * @since 1.0.0
206
+ * @category Schemas
207
+ */
208
+ export class MessageDeltaEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/MessageDeltaEvent")({
209
+ type: /*#__PURE__*/Schema.Literal("message_delta"),
210
+ delta: MessageDelta,
211
+ /**
212
+ * Billing and rate-limit usage.
213
+ *
214
+ * Anthropic's API bills and rate-limits by token counts, as tokens represent
215
+ * the underlying cost to our systems.
216
+ *
217
+ * Under the hood, the API transforms requests into a format suitable for the
218
+ * model. The model's output then goes through a parsing stage before becoming
219
+ * an API response. As a result, the token counts in `usage` will not match
220
+ * one-to-one with the exact visible content of an API request or response.
221
+ *
222
+ * For example, `output_tokens` will be non-zero, even for an empty string
223
+ * response from Claude.\n\nTotal input tokens in a request is the summation
224
+ * of `input_tokens`, `cache_creation_input_tokens`, and `cache_read_input_tokens`.
225
+ */
226
+ usage: MessageDeltaUsage
227
+ }) {}
228
+ /**
229
+ * @since 1.0.0
230
+ * @category Schemas
231
+ */
232
+ export class MessageStopEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/MessageStopEvent")({
233
+ type: /*#__PURE__*/Schema.Literal("message_stop")
234
+ }) {}
235
+ /**
236
+ * @since 1.0.0
237
+ * @category Schemas
238
+ */
239
+ export class ContentBlockStartEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/ContentBlockStartEvent")({
240
+ type: /*#__PURE__*/Schema.Literal("content_block_start"),
241
+ index: Schema.Int,
242
+ content_block: Generated.BetaContentBlock
243
+ }) {}
244
+ /**
245
+ * @since 1.0.0
246
+ * @category Schemas
247
+ */
248
+ export class CitationsDelta extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/CitationsDelta")({
249
+ type: /*#__PURE__*/Schema.Literal("citations_delta"),
250
+ citation: /*#__PURE__*/Schema.Union(Generated.BetaResponseCharLocationCitation, Generated.BetaResponsePageLocationCitation, Generated.BetaResponseContentBlockLocationCitation, Generated.BetaResponseWebSearchResultLocationCitation, Generated.BetaResponseSearchResultLocationCitation)
251
+ }) {}
252
+ /**
253
+ * @since 1.0.0
254
+ * @category Schemas
255
+ */
256
+ export class InputJsonContentBlockDelta extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/InputJsonContentBlockDelta")({
257
+ type: /*#__PURE__*/Schema.Literal("input_json_delta"),
258
+ partial_json: Schema.String
259
+ }) {}
260
+ /**
261
+ * @since 1.0.0
262
+ * @category Schemas
263
+ */
264
+ export class SignatureContentBlockDelta extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/SignatureContentBlockDelta")({
265
+ type: /*#__PURE__*/Schema.Literal("signature_delta"),
266
+ signature: Schema.String
267
+ }) {}
268
+ /**
269
+ * @since 1.0.0
270
+ * @category Schemas
271
+ */
272
+ export class TextContentBlockDelta extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/TextContentBlockDelta")({
273
+ type: /*#__PURE__*/Schema.Literal("text_delta"),
274
+ text: Schema.String
275
+ }) {}
276
+ /**
277
+ * @since 1.0.0
278
+ * @category Schemas
279
+ */
280
+ export class ThinkingContentBlockDelta extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/ThinkingContentBlockDelta")({
281
+ type: /*#__PURE__*/Schema.Literal("thinking_delta"),
282
+ thinking: Schema.String
283
+ }) {}
284
+ /**
285
+ * @since 1.0.0
286
+ * @category Schemas
287
+ */
288
+ export class ContentBlockDeltaEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/ContentBlockDeltaEvent")({
289
+ type: /*#__PURE__*/Schema.Literal("content_block_delta"),
290
+ index: Schema.Int,
291
+ delta: /*#__PURE__*/Schema.Union(CitationsDelta, InputJsonContentBlockDelta, SignatureContentBlockDelta, TextContentBlockDelta, ThinkingContentBlockDelta)
292
+ }) {}
293
+ /**
294
+ * @since 1.0.0
295
+ * @category Schemas
296
+ */
297
+ export class ContentBlockStopEvent extends /*#__PURE__*/Schema.Class("@effect/ai-anthropic/ContentBlockStopEvent")({
298
+ type: /*#__PURE__*/Schema.Literal("content_block_stop"),
299
+ index: Schema.Int
300
+ }) {}
301
+ /**
302
+ * @since 1.0.0
303
+ * @category Schemas
304
+ */
305
+ export const MessageStreamEvent = /*#__PURE__*/Schema.Union(PingEvent, ErrorEvent, MessageStartEvent, MessageDeltaEvent, MessageStopEvent, ContentBlockStartEvent, ContentBlockDeltaEvent, ContentBlockStopEvent);
225
306
  /**
226
307
  * @since 1.0.0
227
308
  * @category Layers
228
309
  */
229
- export const layer = options => Layer.effect(AnthropicClient, make(options));
310
+ export const layer = options => Layer.scoped(AnthropicClient, make(options));
230
311
  /**
231
312
  * @since 1.0.0
232
313
  * @category Layers
@@ -239,6 +320,6 @@ export const layerConfig = options => {
239
320
  return Config.all(configs).pipe(Effect.flatMap(configs => make({
240
321
  ...configs,
241
322
  transformClient
242
- })), Layer.effect(AnthropicClient));
323
+ })), Layer.scoped(AnthropicClient));
243
324
  };
244
325
  //# sourceMappingURL=AnthropicClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicClient.js","names":["AiError","AiInput","AiResponse","Sse","HttpBody","HttpClient","HttpClientRequest","Config","Context","Effect","identity","Layer","Option","Predicate","Redacted","Stream","AnthropicConfig","Generated","InternalUtilities","constDisableValidation","disableValidation","AnthropicClient","Tag","make","options","gen","httpClient","pipe","mapRequest","request","prependUrl","apiUrl","apiKey","setHeader","value","anthropicVersion","acceptJson","transformClient","httpClientOk","filterStatusOk","client","getOrUndefined","map","config","streamRequest","execute","r","stream","unwrapScoped","decodeText","pipeThroughChannel","makeChannel","takeUntil","event","JSON","parse","data","suspend","toolCalls","finishReason","reasoning","undefined","usage","inputTokens","outputTokens","totalTokens","reasoningTokens","cacheReadInputTokens","cacheWriteInputTokens","metadata","post","body","unsafeJson","filterMapEffect","chunk","parts","type","message","input_tokens","output_tokens","cache_creation_input_tokens","cache_read_input_tokens","push","MetadataPart","id","model","isNotNullable","delta","stop_sequence","stopSequence","resolveFinishReason","stop_reason","FinishPart","reason","providerMetadata","ProviderMetadataKey","content","content_block","thinking","index","name","params","RedactedReasoningPart","redactedText","TextPart","text","isNotUndefined","signature","tool","partial_json","inputJson","ToolCallPart","ToolCallId","ReasoningPart","reasoningText","join","some","die","module","method","description","error","length","none","succeed","of","layer","effect","layerConfig","configs","all","flatMap"],"sources":["../../src/AnthropicClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AnthropicClient.js","names":["AiError","Sse","Headers","HttpBody","HttpClient","HttpClientRequest","Arr","Chunk","Config","Context","Effect","identity","Layer","Redacted","Schema","Stream","AnthropicConfig","Generated","AnthropicClient","Tag","make","fnUntraced","options","apiKeyHeader","locallyScopedWith","currentRedactedNames","append","httpClient","pipe","mapRequest","request","prependUrl","apiUrl","apiKey","setHeader","value","anthropicVersion","acceptJson","transformClient","client","getOrUndefined","map","config","streamRequest","schema","decodeEvents","decode","ChunkFromSelf","parseJson","execute","r","stream","unwrapScoped","decodeText","pipeThroughChannel","makeChannel","mapChunksEffect","chunk","event","data","catchTags","RequestError","error","HttpRequestError","fromRequestError","module","method","ResponseError","HttpResponseError","fromResponseError","ParseError","MalformedOutput","fromParseError","createMessage","betaMessagesPost","BetaErrorResponse","cause","reason","hash","headers","url","urlParams","response","status","createMessageStream","post","fromInput","params","undefined","body","unsafeJson","payload","MessageStreamEvent","takeUntil","type","of","PingEvent","Class","Literal","ErrorEvent","Struct","message","String","MessageStartEvent","BetaMessage","ServerToolUsage","web_search_requests","optionalWith","NullOr","Int","greaterThanOrEqualTo","default","MessageDelta","stop_reason","stop_sequence","MessageDeltaUsage","input_tokens","output_tokens","cache_creation_input_tokens","cache_read_input_tokens","server_tool_use","MessageDeltaEvent","delta","usage","MessageStopEvent","ContentBlockStartEvent","index","content_block","BetaContentBlock","CitationsDelta","citation","Union","BetaResponseCharLocationCitation","BetaResponsePageLocationCitation","BetaResponseContentBlockLocationCitation","BetaResponseWebSearchResultLocationCitation","BetaResponseSearchResultLocationCitation","InputJsonContentBlockDelta","partial_json","SignatureContentBlockDelta","signature","TextContentBlockDelta","text","ThinkingContentBlockDelta","thinking","ContentBlockDeltaEvent","ContentBlockStopEvent","layer","scoped","layerConfig","configs","all","flatMap"],"sources":["../../src/AnthropicClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}