@sprucelabs/sprucebot-llm 13.2.1 → 13.2.2

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.
@@ -9,11 +9,12 @@ export default class AnthropicAdapter implements LlmAdapter {
9
9
  private maxTokens;
10
10
  private sender;
11
11
  private memoryLimit?;
12
+ private isThinkingEnabled;
12
13
  constructor(apiKey: string, options: AnthropicAdapterOptions);
13
14
  sendMessage(bot: SprucebotLlmBot<Schema>, options?: SendMessageOptions): Promise<string>;
14
15
  private sendHandler;
15
16
  setModel(model: string): void;
16
- setReasoningEffort(_effort: LllmReasoningEffort): void;
17
+ setReasoningEffort(effort: LllmReasoningEffort): void;
17
18
  }
18
19
  export interface AnthropicAdapterOptions {
19
20
  log?: Log;
@@ -21,4 +22,5 @@ export interface AnthropicAdapterOptions {
21
22
  model?: string;
22
23
  baseUrl?: string;
23
24
  maxTokens: number;
25
+ thinking?: boolean;
24
26
  }
@@ -9,14 +9,16 @@ const MessageSender_1 = __importDefault(require("./MessageSender"));
9
9
  class AnthropicAdapter {
10
10
  constructor(apiKey, options) {
11
11
  this.model = 'claude-sonnet-4-5';
12
+ this.isThinkingEnabled = false;
12
13
  (0, schema_1.assertOptions)({ apiKey, maxTokens: options?.maxTokens }, [
13
14
  'apiKey',
14
15
  'maxTokens',
15
16
  ]);
16
- const { log, memoryLimit, maxTokens } = options;
17
+ const { log, memoryLimit, maxTokens, thinking } = options;
17
18
  this.api = new AnthropicAdapter.Anthropic({ apiKey });
18
19
  this.maxTokens = maxTokens;
19
20
  this.memoryLimit = memoryLimit;
21
+ this.isThinkingEnabled = thinking ?? false;
20
22
  this.sender = MessageSender_1.default.Sender(this.sendHandler.bind(this), log);
21
23
  }
22
24
  async sendMessage(bot, options) {
@@ -40,6 +42,9 @@ class AnthropicAdapter {
40
42
  max_tokens: this.maxTokens,
41
43
  model,
42
44
  messages,
45
+ thinking: {
46
+ type: this.isThinkingEnabled ? 'adaptive' : 'disabled',
47
+ },
43
48
  }, sendOptions);
44
49
  const text = response.content?.[0]?.text;
45
50
  return text;
@@ -47,7 +52,9 @@ class AnthropicAdapter {
47
52
  setModel(model) {
48
53
  this.model = model;
49
54
  }
50
- setReasoningEffort(_effort) { }
55
+ setReasoningEffort(effort) {
56
+ this.isThinkingEnabled = effort !== 'none';
57
+ }
51
58
  }
52
59
  AnthropicAdapter.Anthropic = sdk_1.default;
53
60
  exports.default = AnthropicAdapter;
@@ -8,7 +8,7 @@ export default class MessageSenderImpl implements MessageSender {
8
8
  new (): AbortController;
9
9
  prototype: AbortController;
10
10
  };
11
- static Class: new (send: MessageSenderSendHandler, log?: Log) => MessageSender;
11
+ static Class?: new (send: MessageSenderSendHandler, log?: Log) => MessageSender;
12
12
  private log?;
13
13
  private lastAbortController?;
14
14
  private sendHandler;
@@ -9,11 +9,12 @@ export default class AnthropicAdapter implements LlmAdapter {
9
9
  private maxTokens;
10
10
  private sender;
11
11
  private memoryLimit?;
12
+ private isThinkingEnabled;
12
13
  constructor(apiKey: string, options: AnthropicAdapterOptions);
13
14
  sendMessage(bot: SprucebotLlmBot<Schema>, options?: SendMessageOptions): Promise<string>;
14
15
  private sendHandler;
15
16
  setModel(model: string): void;
16
- setReasoningEffort(_effort: LllmReasoningEffort): void;
17
+ setReasoningEffort(effort: LllmReasoningEffort): void;
17
18
  }
18
19
  export interface AnthropicAdapterOptions {
19
20
  log?: Log;
@@ -21,4 +22,5 @@ export interface AnthropicAdapterOptions {
21
22
  model?: string;
22
23
  baseUrl?: string;
23
24
  maxTokens: number;
25
+ thinking?: boolean;
24
26
  }
@@ -13,14 +13,16 @@ import MessageSenderImpl from './MessageSender.js';
13
13
  class AnthropicAdapter {
14
14
  constructor(apiKey, options) {
15
15
  this.model = 'claude-sonnet-4-5';
16
+ this.isThinkingEnabled = false;
16
17
  assertOptions({ apiKey, maxTokens: options === null || options === void 0 ? void 0 : options.maxTokens }, [
17
18
  'apiKey',
18
19
  'maxTokens',
19
20
  ]);
20
- const { log, memoryLimit, maxTokens } = options;
21
+ const { log, memoryLimit, maxTokens, thinking } = options;
21
22
  this.api = new AnthropicAdapter.Anthropic({ apiKey });
22
23
  this.maxTokens = maxTokens;
23
24
  this.memoryLimit = memoryLimit;
25
+ this.isThinkingEnabled = thinking !== null && thinking !== void 0 ? thinking : false;
24
26
  this.sender = MessageSenderImpl.Sender(this.sendHandler.bind(this), log);
25
27
  }
26
28
  sendMessage(bot, options) {
@@ -44,6 +46,9 @@ class AnthropicAdapter {
44
46
  max_tokens: this.maxTokens,
45
47
  model,
46
48
  messages,
49
+ thinking: {
50
+ type: this.isThinkingEnabled ? 'adaptive' : 'disabled',
51
+ },
47
52
  }, sendOptions);
48
53
  const text = (_b = (_a = response.content) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text;
49
54
  return text;
@@ -52,7 +57,9 @@ class AnthropicAdapter {
52
57
  setModel(model) {
53
58
  this.model = model;
54
59
  }
55
- setReasoningEffort(_effort) { }
60
+ setReasoningEffort(effort) {
61
+ this.isThinkingEnabled = effort !== 'none';
62
+ }
56
63
  }
57
64
  AnthropicAdapter.Anthropic = Anthropic;
58
65
  export default AnthropicAdapter;
@@ -8,7 +8,7 @@ export default class MessageSenderImpl implements MessageSender {
8
8
  new (): AbortController;
9
9
  prototype: AbortController;
10
10
  };
11
- static Class: new (send: MessageSenderSendHandler, log?: Log) => MessageSender;
11
+ static Class?: new (send: MessageSenderSendHandler, log?: Log) => MessageSender;
12
12
  private log?;
13
13
  private lastAbortController?;
14
14
  private sendHandler;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "eta"
9
9
  ]
10
10
  },
11
- "version": "13.2.1",
11
+ "version": "13.2.2",
12
12
  "files": [
13
13
  "build"
14
14
  ],