@effect/ai-anthropic 0.4.0 → 0.5.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 (50) hide show
  1. package/AnthropicLanguageModel/package.json +6 -0
  2. package/dist/cjs/AnthropicClient.js +128 -96
  3. package/dist/cjs/AnthropicClient.js.map +1 -1
  4. package/dist/cjs/AnthropicConfig.js +2 -2
  5. package/dist/cjs/AnthropicConfig.js.map +1 -1
  6. package/dist/cjs/AnthropicLanguageModel.js +496 -0
  7. package/dist/cjs/AnthropicLanguageModel.js.map +1 -0
  8. package/dist/cjs/AnthropicTokenizer.js +7 -10
  9. package/dist/cjs/AnthropicTokenizer.js.map +1 -1
  10. package/dist/cjs/index.js +3 -3
  11. package/dist/cjs/internal/utilities.js +24 -0
  12. package/dist/cjs/internal/utilities.js.map +1 -0
  13. package/dist/dts/AnthropicClient.d.ts +9 -64
  14. package/dist/dts/AnthropicClient.d.ts.map +1 -1
  15. package/dist/dts/AnthropicConfig.d.ts +5 -6
  16. package/dist/dts/AnthropicConfig.d.ts.map +1 -1
  17. package/dist/dts/{AnthropicCompletions.d.ts → AnthropicLanguageModel.d.ts} +30 -22
  18. package/dist/dts/AnthropicLanguageModel.d.ts.map +1 -0
  19. package/dist/dts/AnthropicTokenizer.d.ts +2 -2
  20. package/dist/dts/AnthropicTokenizer.d.ts.map +1 -1
  21. package/dist/dts/index.d.ts +2 -2
  22. package/dist/dts/index.d.ts.map +1 -1
  23. package/dist/dts/internal/utilities.d.ts +2 -0
  24. package/dist/dts/internal/utilities.d.ts.map +1 -0
  25. package/dist/esm/AnthropicClient.js +127 -94
  26. package/dist/esm/AnthropicClient.js.map +1 -1
  27. package/dist/esm/AnthropicConfig.js +2 -2
  28. package/dist/esm/AnthropicConfig.js.map +1 -1
  29. package/dist/esm/AnthropicLanguageModel.js +484 -0
  30. package/dist/esm/AnthropicLanguageModel.js.map +1 -0
  31. package/dist/esm/AnthropicTokenizer.js +7 -10
  32. package/dist/esm/AnthropicTokenizer.js.map +1 -1
  33. package/dist/esm/index.js +2 -2
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/internal/utilities.js +15 -0
  36. package/dist/esm/internal/utilities.js.map +1 -0
  37. package/package.json +13 -13
  38. package/src/AnthropicClient.ts +197 -162
  39. package/src/AnthropicConfig.ts +7 -8
  40. package/src/AnthropicLanguageModel.ts +591 -0
  41. package/src/AnthropicTokenizer.ts +31 -19
  42. package/src/index.ts +2 -2
  43. package/src/internal/utilities.ts +18 -0
  44. package/AnthropicCompletions/package.json +0 -6
  45. package/dist/cjs/AnthropicCompletions.js +0 -358
  46. package/dist/cjs/AnthropicCompletions.js.map +0 -1
  47. package/dist/dts/AnthropicCompletions.d.ts.map +0 -1
  48. package/dist/esm/AnthropicCompletions.js +0 -345
  49. package/dist/esm/AnthropicCompletions.js.map +0 -1
  50. package/src/AnthropicCompletions.ts +0 -468
@@ -0,0 +1,496 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withConfigOverride = exports.model = exports.ProviderMetadata = exports.Config = void 0;
7
+ var _AiError = require("@effect/ai/AiError");
8
+ var AiLanguageModel = _interopRequireWildcard(require("@effect/ai/AiLanguageModel"));
9
+ var AiModel = _interopRequireWildcard(require("@effect/ai/AiModel"));
10
+ var AiResponse = _interopRequireWildcard(require("@effect/ai/AiResponse"));
11
+ var _AiTelemetry = require("@effect/ai/AiTelemetry");
12
+ var Tokenizer = _interopRequireWildcard(require("@effect/ai/Tokenizer"));
13
+ var Arr = _interopRequireWildcard(require("effect/Array"));
14
+ var Context = _interopRequireWildcard(require("effect/Context"));
15
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
16
+ var Encoding = _interopRequireWildcard(require("effect/Encoding"));
17
+ var _Function = require("effect/Function");
18
+ var Option = _interopRequireWildcard(require("effect/Option"));
19
+ var Predicate = _interopRequireWildcard(require("effect/Predicate"));
20
+ var Stream = _interopRequireWildcard(require("effect/Stream"));
21
+ var _AnthropicClient = require("./AnthropicClient.js");
22
+ var AnthropicTokenizer = _interopRequireWildcard(require("./AnthropicTokenizer.js"));
23
+ var InternalUtilities = _interopRequireWildcard(require("./internal/utilities.js"));
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+
30
+ const constDisableValidation = {
31
+ disableValidation: true
32
+ };
33
+ // =============================================================================
34
+ // Configuration
35
+ // =============================================================================
36
+ /**
37
+ * @since 1.0.0
38
+ * @category Context
39
+ */
40
+ class Config extends /*#__PURE__*/Context.Tag("@effect/ai-anthropic/AnthropicLanguageModel/Config")() {
41
+ /**
42
+ * @since 1.0.0
43
+ */
44
+ static getOrUndefined = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.context(), context => context.unsafeMap.get(Config.key));
45
+ }
46
+ // =============================================================================
47
+ // Anthropic Provider Metadata
48
+ // =============================================================================
49
+ /**
50
+ * @since 1.0.0
51
+ * @category Context
52
+ */
53
+ exports.Config = Config;
54
+ class ProviderMetadata extends /*#__PURE__*/Context.Tag(InternalUtilities.ProviderMetadataKey)() {}
55
+ // =============================================================================
56
+ // Anthropic Language Model
57
+ // =============================================================================
58
+ exports.ProviderMetadata = ProviderMetadata;
59
+ const cacheKey = "@effect/ai-anthropic/AnthropicLanguageModel";
60
+ /**
61
+ * @since 1.0.0
62
+ * @category Models
63
+ */
64
+ const model = (model, config) => AiModel.make({
65
+ cacheKey,
66
+ cachedContext: Effect.map(make, model => Context.make(AiLanguageModel.AiLanguageModel, model)),
67
+ updateRequestContext: Effect.fnUntraced(function* (context) {
68
+ const perRequestConfig = yield* Config.getOrUndefined;
69
+ return Context.mergeAll(context, Context.make(Config, {
70
+ model,
71
+ ...config,
72
+ ...perRequestConfig
73
+ }), Context.make(Tokenizer.Tokenizer, AnthropicTokenizer.make));
74
+ })
75
+ });
76
+ exports.model = model;
77
+ const make = /*#__PURE__*/Effect.gen(function* () {
78
+ const client = yield* _AnthropicClient.AnthropicClient;
79
+ const makeRequest = Effect.fnUntraced(function* (method, {
80
+ prompt,
81
+ system,
82
+ tools,
83
+ ...options
84
+ }) {
85
+ const config = yield* Config;
86
+ const model = config.model;
87
+ if (Predicate.isUndefined(model)) {
88
+ return yield* Effect.die(new _AiError.AiError({
89
+ module: "OpenAiLanguageModel",
90
+ method,
91
+ description: "No `model` specified for request"
92
+ }));
93
+ }
94
+ const useStructured = tools.length === 1 && tools[0].structured;
95
+ let toolChoice = undefined;
96
+ if (useStructured) {
97
+ toolChoice = {
98
+ type: "tool",
99
+ name: tools[0].name
100
+ };
101
+ } else if (Predicate.isNotUndefined(toolChoice) && tools.length > 0) {
102
+ if (options.toolChoice === "required") {
103
+ toolChoice = {
104
+ type: "any"
105
+ };
106
+ } else if (typeof options.toolChoice === "string") {
107
+ toolChoice = {
108
+ type: options.toolChoice
109
+ };
110
+ } else {
111
+ toolChoice = {
112
+ type: "tool",
113
+ name: options.toolChoice.tool
114
+ };
115
+ }
116
+ }
117
+ const messages = yield* makeMessages(method, prompt);
118
+ return {
119
+ model,
120
+ // TODO: re-evaluate a better way to do this
121
+ max_tokens: 4096,
122
+ ...config,
123
+ system: Option.getOrUndefined(system),
124
+ messages,
125
+ tools: tools.length === 0 ? undefined : tools.map(tool => ({
126
+ name: tool.name,
127
+ description: tool.description,
128
+ input_schema: tool.parameters
129
+ })),
130
+ tool_choice: toolChoice
131
+ };
132
+ });
133
+ return yield* AiLanguageModel.make({
134
+ generateText: Effect.fnUntraced(function* (options) {
135
+ const request = yield* makeRequest("generateText", options);
136
+ annotateRequest(options.span, request);
137
+ const rawResponse = yield* client.client.messagesPost({
138
+ params: {},
139
+ payload: request
140
+ });
141
+ annotateChatResponse(options.span, rawResponse);
142
+ const response = yield* makeResponse(rawResponse);
143
+ return response;
144
+ }, Effect.catchAll(cause => _AiError.AiError.is(cause) ? cause : new _AiError.AiError({
145
+ module: "AnthropicLanguageModel",
146
+ method: "generateText",
147
+ description: "An error occurred",
148
+ cause
149
+ }))),
150
+ streamText(options) {
151
+ return makeRequest("streamText", options).pipe(Effect.tap(request => annotateRequest(options.span, request)), Effect.map(client.stream), Stream.unwrap, Stream.map(response => {
152
+ annotateStreamResponse(options.span, response);
153
+ return response;
154
+ }), Stream.catchAll(cause => _AiError.AiError.is(cause) ? Effect.fail(cause) : Effect.fail(new _AiError.AiError({
155
+ module: "AnthropicLanguageModel",
156
+ method: "streamText",
157
+ description: "An error occurred",
158
+ cause
159
+ }))));
160
+ }
161
+ });
162
+ });
163
+ /**
164
+ * @since 1.0.0
165
+ * @category Configuration
166
+ */
167
+ const withConfigOverride = exports.withConfigOverride = /*#__PURE__*/(0, _Function.dual)(2, (self, overrides) => Effect.flatMap(Config.getOrUndefined, config => Effect.provideService(self, Config, {
168
+ ...config,
169
+ ...overrides
170
+ })));
171
+ const groupMessages = prompt => {
172
+ const messages = [];
173
+ let current = undefined;
174
+ for (const message of prompt.messages) {
175
+ switch (message._tag) {
176
+ case "AssistantMessage":
177
+ {
178
+ if (current?.type !== "assistant") {
179
+ current = {
180
+ type: "assistant",
181
+ messages: []
182
+ };
183
+ messages.push(current);
184
+ }
185
+ current.messages.push(message);
186
+ break;
187
+ }
188
+ case "ToolMessage":
189
+ {
190
+ if (current?.type !== "user") {
191
+ current = {
192
+ type: "user",
193
+ messages: []
194
+ };
195
+ messages.push(current);
196
+ }
197
+ current.messages.push(message);
198
+ break;
199
+ }
200
+ case "UserMessage":
201
+ {
202
+ if (current?.type !== "user") {
203
+ current = {
204
+ type: "user",
205
+ messages: []
206
+ };
207
+ messages.push(current);
208
+ }
209
+ current.messages.push(message);
210
+ break;
211
+ }
212
+ }
213
+ }
214
+ return messages;
215
+ };
216
+ const makeMessages = /*#__PURE__*/Effect.fnUntraced(function* (method, prompt) {
217
+ const messages = [];
218
+ const groups = groupMessages(prompt);
219
+ for (let i = 0; i < groups.length; i++) {
220
+ const group = groups[i];
221
+ const isLastGroup = i === groups.length - 1;
222
+ switch (group.type) {
223
+ case "assistant":
224
+ {
225
+ const content = [];
226
+ for (let j = 0; j < group.messages.length; j++) {
227
+ const message = group.messages[j];
228
+ const isLastMessage = j === group.messages.length - 1;
229
+ for (let k = 0; k < message.parts.length; k++) {
230
+ const part = message.parts[k];
231
+ const isLastPart = k === message.parts.length - 1;
232
+ switch (part._tag) {
233
+ case "ReasoningPart":
234
+ {
235
+ content.push({
236
+ type: "thinking",
237
+ thinking: part.reasoningText,
238
+ signature: part.signature
239
+ });
240
+ break;
241
+ }
242
+ case "RedactedReasoningPart":
243
+ {
244
+ content.push({
245
+ type: "redacted_thinking",
246
+ data: part.redactedText
247
+ });
248
+ break;
249
+ }
250
+ case "TextPart":
251
+ {
252
+ content.push({
253
+ type: "text",
254
+ text:
255
+ // Anthropic does not allow trailing whitespace in assistant
256
+ // content blocks
257
+ isLastGroup && isLastMessage && isLastPart ? part.text.trim() : part.text
258
+ });
259
+ break;
260
+ }
261
+ case "ToolCallPart":
262
+ {
263
+ content.push({
264
+ type: "tool_use",
265
+ id: part.id,
266
+ name: part.name,
267
+ input: part.params
268
+ });
269
+ break;
270
+ }
271
+ }
272
+ }
273
+ }
274
+ messages.push({
275
+ role: "assistant",
276
+ content
277
+ });
278
+ break;
279
+ }
280
+ case "user":
281
+ {
282
+ const content = [];
283
+ for (let j = 0; j < group.messages.length; j++) {
284
+ const message = group.messages[j];
285
+ switch (message._tag) {
286
+ case "ToolMessage":
287
+ {
288
+ for (let k = 0; k < message.parts.length; k++) {
289
+ const part = message.parts[k];
290
+ // TODO: support advanced tool result content parts
291
+ content.push({
292
+ type: "tool_result",
293
+ tool_use_id: part.id,
294
+ content: JSON.stringify(part.result)
295
+ });
296
+ }
297
+ break;
298
+ }
299
+ case "UserMessage":
300
+ {
301
+ for (let k = 0; k < message.parts.length; k++) {
302
+ const part = message.parts[k];
303
+ switch (part._tag) {
304
+ case "FilePart":
305
+ {
306
+ if (Predicate.isUndefined(part.mediaType) || part.mediaType !== "application/pdf") {
307
+ return yield* new _AiError.AiError({
308
+ module: "AnthropicLanguageModel",
309
+ method,
310
+ description: "AnthropicLanguageModel only supports PDF file inputs"
311
+ });
312
+ }
313
+ content.push({
314
+ type: "document",
315
+ source: {
316
+ type: "base64",
317
+ media_type: "application/pdf",
318
+ data: Encoding.encodeBase64(part.data)
319
+ }
320
+ });
321
+ break;
322
+ }
323
+ case "FileUrlPart":
324
+ {
325
+ content.push({
326
+ type: "document",
327
+ source: {
328
+ type: "url",
329
+ url: part.url.toString()
330
+ }
331
+ });
332
+ break;
333
+ }
334
+ case "TextPart":
335
+ {
336
+ content.push({
337
+ type: "text",
338
+ text: part.text
339
+ });
340
+ break;
341
+ }
342
+ case "ImagePart":
343
+ {
344
+ content.push({
345
+ type: "image",
346
+ source: {
347
+ type: "base64",
348
+ media_type: part.mediaType ?? "image/jpeg",
349
+ data: Encoding.encodeBase64(part.data)
350
+ }
351
+ });
352
+ break;
353
+ }
354
+ case "ImageUrlPart":
355
+ {
356
+ content.push({
357
+ type: "image",
358
+ source: {
359
+ type: "url",
360
+ url: part.url.toString()
361
+ }
362
+ });
363
+ break;
364
+ }
365
+ }
366
+ }
367
+ break;
368
+ }
369
+ }
370
+ }
371
+ messages.push({
372
+ role: "user",
373
+ content
374
+ });
375
+ break;
376
+ }
377
+ }
378
+ }
379
+ if (Arr.isNonEmptyReadonlyArray(messages)) {
380
+ return messages;
381
+ }
382
+ return yield* new _AiError.AiError({
383
+ module: "AnthropicLanguageModel",
384
+ method,
385
+ description: "Prompt contained no messages"
386
+ });
387
+ });
388
+ const makeResponse = /*#__PURE__*/Effect.fnUntraced(function* (response) {
389
+ const parts = [];
390
+ parts.push(new AiResponse.MetadataPart({
391
+ id: response.id,
392
+ model: response.model
393
+ }, constDisableValidation));
394
+ for (const part of response.content) {
395
+ switch (part.type) {
396
+ case "text":
397
+ {
398
+ parts.push(new AiResponse.TextPart({
399
+ text: part.text
400
+ }, constDisableValidation));
401
+ break;
402
+ }
403
+ case "tool_use":
404
+ {
405
+ parts.push(AiResponse.ToolCallPart.fromUnknown({
406
+ id: part.id,
407
+ name: part.name,
408
+ params: part.input
409
+ }));
410
+ break;
411
+ }
412
+ case "thinking":
413
+ {
414
+ parts.push(new AiResponse.ReasoningPart({
415
+ reasoningText: part.thinking,
416
+ signature: part.signature
417
+ }, constDisableValidation));
418
+ break;
419
+ }
420
+ case "redacted_thinking":
421
+ {
422
+ parts.push(new AiResponse.RedactedReasoningPart({
423
+ redactedText: part.data
424
+ }, constDisableValidation));
425
+ break;
426
+ }
427
+ }
428
+ }
429
+ const metadata = {};
430
+ if (response.stop_sequence !== null) {
431
+ metadata.stopSequence = response.stop_sequence;
432
+ }
433
+ parts.push(new AiResponse.FinishPart({
434
+ // Anthropic always returns a non-null `stop_reason` for non-streaming responses
435
+ reason: InternalUtilities.resolveFinishReason(response.stop_reason),
436
+ usage: new AiResponse.Usage({
437
+ inputTokens: response.usage.input_tokens,
438
+ outputTokens: response.usage.output_tokens,
439
+ totalTokens: response.usage.input_tokens + response.usage.output_tokens,
440
+ reasoningTokens: 0,
441
+ cacheReadInputTokens: response.usage.cache_read_input_tokens ?? 0,
442
+ cacheWriteInputTokens: response.usage.cache_creation_input_tokens ?? 0
443
+ }),
444
+ providerMetadata: {
445
+ [InternalUtilities.ProviderMetadataKey]: metadata
446
+ }
447
+ }, constDisableValidation));
448
+ return new AiResponse.AiResponse({
449
+ parts
450
+ }, constDisableValidation);
451
+ });
452
+ const annotateRequest = (span, request) => {
453
+ (0, _AiTelemetry.addGenAIAnnotations)(span, {
454
+ system: "anthropic",
455
+ operation: {
456
+ name: "chat"
457
+ },
458
+ request: {
459
+ model: request.model,
460
+ temperature: request.temperature,
461
+ topK: request.top_k,
462
+ topP: request.top_p,
463
+ maxTokens: request.max_tokens,
464
+ stopSequences: Arr.ensure(request.stop_sequences).filter(Predicate.isNotNullable)
465
+ }
466
+ });
467
+ };
468
+ const annotateChatResponse = (span, response) => {
469
+ (0, _AiTelemetry.addGenAIAnnotations)(span, {
470
+ response: {
471
+ id: response.id,
472
+ model: response.model,
473
+ finishReasons: response.stop_reason ? [response.stop_reason] : undefined
474
+ },
475
+ usage: {
476
+ inputTokens: response.usage.input_tokens,
477
+ outputTokens: response.usage.output_tokens
478
+ }
479
+ });
480
+ };
481
+ const annotateStreamResponse = (span, response) => {
482
+ const metadataPart = response.parts.find(part => part._tag === "MetadataPart");
483
+ const finishPart = response.parts.find(part => part._tag === "FinishPart");
484
+ (0, _AiTelemetry.addGenAIAnnotations)(span, {
485
+ response: {
486
+ id: metadataPart?.id,
487
+ model: metadataPart?.model,
488
+ finishReasons: finishPart?.reason ? [finishPart.reason] : undefined
489
+ },
490
+ usage: {
491
+ inputTokens: finishPart?.usage.inputTokens,
492
+ outputTokens: finishPart?.usage.outputTokens
493
+ }
494
+ });
495
+ };
496
+ //# sourceMappingURL=AnthropicLanguageModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnthropicLanguageModel.js","names":["_AiError","require","AiLanguageModel","_interopRequireWildcard","AiModel","AiResponse","_AiTelemetry","Tokenizer","Arr","Context","Effect","Encoding","_Function","Option","Predicate","Stream","_AnthropicClient","AnthropicTokenizer","InternalUtilities","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","constDisableValidation","disableValidation","Config","Tag","getOrUndefined","map","context","unsafeMap","key","exports","ProviderMetadata","ProviderMetadataKey","cacheKey","model","config","make","cachedContext","updateRequestContext","fnUntraced","perRequestConfig","mergeAll","gen","client","AnthropicClient","makeRequest","method","prompt","system","tools","options","isUndefined","die","AiError","module","description","useStructured","length","structured","toolChoice","undefined","type","name","isNotUndefined","tool","messages","makeMessages","max_tokens","input_schema","parameters","tool_choice","generateText","request","annotateRequest","span","rawResponse","messagesPost","params","payload","annotateChatResponse","response","makeResponse","catchAll","cause","is","streamText","pipe","tap","stream","unwrap","annotateStreamResponse","fail","withConfigOverride","dual","self","overrides","flatMap","provideService","groupMessages","current","message","_tag","push","groups","group","isLastGroup","content","j","isLastMessage","k","parts","part","isLastPart","thinking","reasoningText","signature","data","redactedText","text","trim","id","input","role","tool_use_id","JSON","stringify","result","mediaType","source","media_type","encodeBase64","url","toString","isNonEmptyReadonlyArray","MetadataPart","TextPart","ToolCallPart","fromUnknown","ReasoningPart","RedactedReasoningPart","metadata","stop_sequence","stopSequence","FinishPart","reason","resolveFinishReason","stop_reason","usage","Usage","inputTokens","input_tokens","outputTokens","output_tokens","totalTokens","reasoningTokens","cacheReadInputTokens","cache_read_input_tokens","cacheWriteInputTokens","cache_creation_input_tokens","providerMetadata","addGenAIAnnotations","operation","temperature","topK","top_k","topP","top_p","maxTokens","stopSequences","ensure","stop_sequences","filter","isNotNullable","finishReasons","metadataPart","find","finishPart"],"sources":["../../src/AnthropicLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,6 @@ var _tokenizer = require("@anthropic-ai/tokenizer");
8
8
  var _AiError = require("@effect/ai/AiError");
9
9
  var Tokenizer = _interopRequireWildcard(require("@effect/ai/Tokenizer"));
10
10
  var Arr = _interopRequireWildcard(require("effect/Array"));
11
- var Chunk = _interopRequireWildcard(require("effect/Chunk"));
12
11
  var Effect = _interopRequireWildcard(require("effect/Effect"));
13
12
  var Layer = _interopRequireWildcard(require("effect/Layer"));
14
13
  var Option = _interopRequireWildcard(require("effect/Option"));
@@ -20,25 +19,23 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
20
19
 
21
20
  /**
22
21
  * @since 1.0.0
23
- * @category constructors
22
+ * @category Constructors
24
23
  */
25
24
  const make = exports.make = /*#__PURE__*/Tokenizer.make({
26
- tokenize(content) {
25
+ tokenize(input) {
27
26
  return Effect.try({
28
27
  try: () => {
29
28
  const tokenizer = (0, _tokenizer.getTokenizer)();
30
- const text = Arr.flatMap(Chunk.toReadonlyArray(content), message => Arr.filterMap(message.parts, part => {
31
- if (part._tag === "Image" || part._tag === "ImageUrl") {
32
- return Option.none();
33
- }
34
- return Option.some(part._tag === "Text" ? part.content : JSON.stringify(part._tag === "ToolCall" ? part.params : part.value));
29
+ const text = Arr.flatMap(input.messages, message => Arr.filterMap(message.parts, part => {
30
+ if (part._tag === "FilePart" || part._tag === "FileUrlPart" || part._tag === "ImagePart" || part._tag === "ImageUrlPart" || part._tag === "ReasoningPart" || part._tag === "RedactedReasoningPart") return Option.none();
31
+ return Option.some(part._tag === "TextPart" ? part.text : JSON.stringify(part._tag === "ToolCallPart" ? part.params : part.result));
35
32
  })).join("");
36
33
  const encoded = tokenizer.encode(text.normalize("NFKC"), "all");
37
34
  tokenizer.free();
38
35
  return Array.from(encoded);
39
36
  },
40
37
  catch: cause => new _AiError.AiError({
41
- module: "OpenAiCompletions",
38
+ module: "AnthropicTokenizer",
42
39
  method: "tokenize",
43
40
  description: "Could not tokenize",
44
41
  cause
@@ -48,7 +45,7 @@ const make = exports.make = /*#__PURE__*/Tokenizer.make({
48
45
  });
49
46
  /**
50
47
  * @since 1.0.0
51
- * @category layers
48
+ * @category Layers
52
49
  */
53
50
  const layer = exports.layer = /*#__PURE__*/Layer.succeed(Tokenizer.Tokenizer, make);
54
51
  //# sourceMappingURL=AnthropicTokenizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicTokenizer.js","names":["_tokenizer","require","_AiError","Tokenizer","_interopRequireWildcard","Arr","Chunk","Effect","Layer","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","tokenize","content","try","tokenizer","getTokenizer","text","flatMap","toReadonlyArray","message","filterMap","parts","part","_tag","none","some","JSON","stringify","params","value","join","encoded","encode","normalize","free","Array","from","catch","cause","AiError","module","method","description","layer","succeed"],"sources":["../../src/AnthropicTokenizer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AnthropicTokenizer.js","names":["_tokenizer","require","_AiError","Tokenizer","_interopRequireWildcard","Arr","Effect","Layer","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","tokenize","input","try","tokenizer","getTokenizer","text","flatMap","messages","message","filterMap","parts","part","_tag","none","some","JSON","stringify","params","result","join","encoded","encode","normalize","free","Array","from","catch","cause","AiError","module","method","description","layer","succeed"],"sources":["../../src/AnthropicTokenizer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/cjs/index.js CHANGED
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Generated = exports.AnthropicTokenizer = exports.AnthropicConfig = exports.AnthropicCompletions = exports.AnthropicClient = void 0;
6
+ exports.Generated = exports.AnthropicTokenizer = exports.AnthropicLanguageModel = exports.AnthropicConfig = exports.AnthropicClient = void 0;
7
7
  var _AnthropicClient = _interopRequireWildcard(require("./AnthropicClient.js"));
8
8
  exports.AnthropicClient = _AnthropicClient;
9
- var _AnthropicCompletions = _interopRequireWildcard(require("./AnthropicCompletions.js"));
10
- exports.AnthropicCompletions = _AnthropicCompletions;
11
9
  var _AnthropicConfig = _interopRequireWildcard(require("./AnthropicConfig.js"));
12
10
  exports.AnthropicConfig = _AnthropicConfig;
11
+ var _AnthropicLanguageModel = _interopRequireWildcard(require("./AnthropicLanguageModel.js"));
12
+ exports.AnthropicLanguageModel = _AnthropicLanguageModel;
13
13
  var _AnthropicTokenizer = _interopRequireWildcard(require("./AnthropicTokenizer.js"));
14
14
  exports.AnthropicTokenizer = _AnthropicTokenizer;
15
15
  var _Generated = _interopRequireWildcard(require("./Generated.js"));
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveFinishReason = exports.ProviderMetadataKey = void 0;
7
+ var Predicate = _interopRequireWildcard(require("effect/Predicate"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ /** @internal */
11
+ const ProviderMetadataKey = exports.ProviderMetadataKey = "@effect/ai-anthropic/AnthropicLanguageModel/ProviderMetadata";
12
+ const finishReasonMap = {
13
+ end_turn: "stop",
14
+ max_tokens: "length",
15
+ stop_sequence: "stop",
16
+ tool_use: "tool-calls"
17
+ };
18
+ /** @internal */
19
+ const resolveFinishReason = finishReason => {
20
+ const reason = finishReasonMap[finishReason];
21
+ return Predicate.isUndefined(reason) ? "unknown" : reason;
22
+ };
23
+ exports.resolveFinishReason = resolveFinishReason;
24
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.js","names":["Predicate","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ProviderMetadataKey","exports","finishReasonMap","end_turn","max_tokens","stop_sequence","tool_use","resolveFinishReason","finishReason","reason","isUndefined"],"sources":["../../../src/internal/utilities.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA6C,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE7C;AACO,MAAMW,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,8DAA8D;AAEjG,MAAME,eAAe,GAA4C;EAC/DC,QAAQ,EAAE,MAAM;EAChBC,UAAU,EAAE,QAAQ;EACpBC,aAAa,EAAE,MAAM;EACrBC,QAAQ,EAAE;CACX;AAED;AACO,MAAMC,mBAAmB,GAAIC,YAAoB,IAA6B;EACnF,MAAMC,MAAM,GAAGP,eAAe,CAACM,YAAY,CAAC;EAC5C,OAAO/B,SAAS,CAACiC,WAAW,CAACD,MAAM,CAAC,GAAG,SAAS,GAAGA,MAAM;AAC3D,CAAC;AAAAR,OAAA,CAAAM,mBAAA,GAAAA,mBAAA","ignoreList":[]}