@positronic/client-anthropic 0.0.61 → 0.0.63
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.
- package/dist/src/index.js +30 -7
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/src/index.js
CHANGED
|
@@ -253,6 +253,25 @@ import Anthropic from '@anthropic-ai/sdk';
|
|
|
253
253
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
254
254
|
import { config } from 'dotenv';
|
|
255
255
|
config();
|
|
256
|
+
/**
|
|
257
|
+
* Convert our ToolChoice type to Anthropic's tool_choice format.
|
|
258
|
+
*/ function toAnthropicToolChoice(choice) {
|
|
259
|
+
switch(choice){
|
|
260
|
+
case 'required':
|
|
261
|
+
return {
|
|
262
|
+
type: 'any'
|
|
263
|
+
};
|
|
264
|
+
case 'none':
|
|
265
|
+
return {
|
|
266
|
+
type: 'none'
|
|
267
|
+
};
|
|
268
|
+
case 'auto':
|
|
269
|
+
default:
|
|
270
|
+
return {
|
|
271
|
+
type: 'auto'
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
}
|
|
256
275
|
var anthropic = createLLMClient({
|
|
257
276
|
provider: 'anthropic',
|
|
258
277
|
apiKey: process.env.ANTHROPIC_API_KEY,
|
|
@@ -329,7 +348,7 @@ export var AnthropicClient = /*#__PURE__*/ function() {
|
|
|
329
348
|
};
|
|
330
349
|
return [
|
|
331
350
|
4,
|
|
332
|
-
this.client.chat.completions.create(_object_spread_props(_object_spread({
|
|
351
|
+
this.client.chat.completions.create(_object_spread(_object_spread_props(_object_spread({
|
|
333
352
|
messages: messages,
|
|
334
353
|
model: model,
|
|
335
354
|
response_model: {
|
|
@@ -344,6 +363,8 @@ export var AnthropicClient = /*#__PURE__*/ function() {
|
|
|
344
363
|
top_p: top_p
|
|
345
364
|
} : {}), {
|
|
346
365
|
extra_options: extra_options
|
|
366
|
+
}), params.maxRetries !== undefined && {
|
|
367
|
+
max_retries: params.maxRetries
|
|
347
368
|
}))
|
|
348
369
|
];
|
|
349
370
|
case 1:
|
|
@@ -361,11 +382,11 @@ export var AnthropicClient = /*#__PURE__*/ function() {
|
|
|
361
382
|
key: "generateText",
|
|
362
383
|
value: function generateText(params) {
|
|
363
384
|
return _async_to_generator(function() {
|
|
364
|
-
var system, messages, responseMessages, tools, anthropicMessages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, msg, contentBlocks, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, tc, anthropicTools, response, text, toolCalls, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, block, assistantMessage, updatedMessages;
|
|
385
|
+
var system, messages, responseMessages, tools, _params_toolChoice, toolChoice, anthropicMessages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, msg, contentBlocks, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, tc, anthropicTools, response, text, toolCalls, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, block, assistantMessage, updatedMessages;
|
|
365
386
|
return _ts_generator(this, function(_state) {
|
|
366
387
|
switch(_state.label){
|
|
367
388
|
case 0:
|
|
368
|
-
system = params.system, messages = params.messages, responseMessages = params.responseMessages, tools = params.tools;
|
|
389
|
+
system = params.system, messages = params.messages, responseMessages = params.responseMessages, tools = params.tools, _params_toolChoice = params.toolChoice, toolChoice = _params_toolChoice === void 0 ? 'required' : _params_toolChoice;
|
|
369
390
|
if (responseMessages && responseMessages.length > 0) {
|
|
370
391
|
// Use the native Anthropic messages directly (preserves conversation state)
|
|
371
392
|
anthropicMessages = responseMessages;
|
|
@@ -466,7 +487,8 @@ export var AnthropicClient = /*#__PURE__*/ function() {
|
|
|
466
487
|
max_tokens: 8192,
|
|
467
488
|
system: system,
|
|
468
489
|
messages: anthropicMessages,
|
|
469
|
-
tools: anthropicTools
|
|
490
|
+
tools: anthropicTools,
|
|
491
|
+
tool_choice: toAnthropicToolChoice(toolChoice)
|
|
470
492
|
})
|
|
471
493
|
];
|
|
472
494
|
case 1:
|
|
@@ -529,11 +551,11 @@ export var AnthropicClient = /*#__PURE__*/ function() {
|
|
|
529
551
|
key: "streamText",
|
|
530
552
|
value: function streamText(params) {
|
|
531
553
|
return _async_to_generator(function() {
|
|
532
|
-
var system, prompt, _params_messages, messages, tools, _params_maxSteps, maxSteps, anthropicTools, anthropicMessages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, msg, allToolCalls, totalTokens, finalText, step, response, stepText, stepToolCalls, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, block, toolResults, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, toolCall, tool, result, err;
|
|
554
|
+
var system, prompt, _params_messages, messages, tools, _params_maxSteps, maxSteps, _params_toolChoice, toolChoice, anthropicTools, anthropicMessages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, msg, allToolCalls, totalTokens, finalText, step, response, stepText, stepToolCalls, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, block, toolResults, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, toolCall, tool, result, err;
|
|
533
555
|
return _ts_generator(this, function(_state) {
|
|
534
556
|
switch(_state.label){
|
|
535
557
|
case 0:
|
|
536
|
-
system = params.system, prompt = params.prompt, _params_messages = params.messages, messages = _params_messages === void 0 ? [] : _params_messages, tools = params.tools, _params_maxSteps = params.maxSteps, maxSteps = _params_maxSteps === void 0 ? 10 : _params_maxSteps;
|
|
558
|
+
system = params.system, prompt = params.prompt, _params_messages = params.messages, messages = _params_messages === void 0 ? [] : _params_messages, tools = params.tools, _params_maxSteps = params.maxSteps, maxSteps = _params_maxSteps === void 0 ? 10 : _params_maxSteps, _params_toolChoice = params.toolChoice, toolChoice = _params_toolChoice === void 0 ? 'required' : _params_toolChoice;
|
|
537
559
|
// Convert tools to Anthropic format
|
|
538
560
|
anthropicTools = Object.entries(tools).map(function(param) {
|
|
539
561
|
var _param = _sliced_to_array(param, 2), name = _param[0], tool = _param[1];
|
|
@@ -599,7 +621,8 @@ export var AnthropicClient = /*#__PURE__*/ function() {
|
|
|
599
621
|
max_tokens: 8192,
|
|
600
622
|
system: system,
|
|
601
623
|
messages: anthropicMessages,
|
|
602
|
-
tools: anthropicTools
|
|
624
|
+
tools: anthropicTools,
|
|
625
|
+
tool_choice: toAnthropicToolChoice(toolChoice)
|
|
603
626
|
})
|
|
604
627
|
];
|
|
605
628
|
case 2:
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ObjectGenerator, ToolMessage, ResponseMessage } from '@positronic/core';
|
|
1
|
+
import type { ObjectGenerator, ToolMessage, ResponseMessage, ToolChoice } from '@positronic/core';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export declare class AnthropicClient implements ObjectGenerator {
|
|
4
4
|
private client;
|
|
@@ -15,6 +15,7 @@ export declare class AnthropicClient implements ObjectGenerator {
|
|
|
15
15
|
content: string;
|
|
16
16
|
}[];
|
|
17
17
|
system?: string;
|
|
18
|
+
maxRetries?: number;
|
|
18
19
|
}): Promise<z.infer<T>>;
|
|
19
20
|
generateText(params: {
|
|
20
21
|
system?: string;
|
|
@@ -24,6 +25,7 @@ export declare class AnthropicClient implements ObjectGenerator {
|
|
|
24
25
|
description: string;
|
|
25
26
|
inputSchema: z.ZodSchema;
|
|
26
27
|
}>;
|
|
28
|
+
toolChoice?: ToolChoice;
|
|
27
29
|
}): Promise<{
|
|
28
30
|
text?: string;
|
|
29
31
|
toolCalls?: Array<{
|
|
@@ -46,6 +48,7 @@ export declare class AnthropicClient implements ObjectGenerator {
|
|
|
46
48
|
execute?: (args: unknown) => Promise<unknown> | unknown;
|
|
47
49
|
}>;
|
|
48
50
|
maxSteps?: number;
|
|
51
|
+
toolChoice?: ToolChoice;
|
|
49
52
|
}): Promise<{
|
|
50
53
|
toolCalls: Array<{
|
|
51
54
|
toolCallId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIlG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,qBAAa,eAAgB,YAAW,eAAe;IACrD,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,YAAY,CAAY;;IAYhC,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,eAAe;IAcZ,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE;QACrD,MAAM,EAAE,CAAC,CAAC;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACxE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAqCjB,YAAY,CAAC,MAAM,EAAE;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAA;SAAE,CAAC,CAAC;QACzE,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QAC3E,KAAK,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/B,gBAAgB,EAAE,eAAe,EAAE,CAAC;KACrC,CAAC;IAyGI,UAAU,CAAC,MAAM,EAAE;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;QACzB,KAAK,EAAE,MAAM,CACX,MAAM,EACN;YACE,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;YACzB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;SACzD,CACF,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,SAAS,EAAE,KAAK,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,OAAO,CAAC;YACd,MAAM,EAAE,OAAO,CAAC;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;KAChC,CAAC;CA0HH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@positronic/client-anthropic",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.63",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@anthropic-ai/sdk": "^0.52.0",
|
|
24
|
-
"@positronic/core": "^0.0.
|
|
24
|
+
"@positronic/core": "^0.0.63",
|
|
25
25
|
"@instructor-ai/instructor": "^1.5.0",
|
|
26
26
|
"llm-polyglot": "^2.4.0",
|
|
27
27
|
"dotenv": "^16.4.7",
|