@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 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:
@@ -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;AAItF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,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;KACjB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAoCjB,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;KAC1E,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;IAwGI,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;KACnB,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;CAyHH"}
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.61",
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.61",
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",