@alexnetrebskii/hive-agent 2.24.0 → 2.26.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.
package/README.md CHANGED
@@ -86,7 +86,7 @@ Tuplet gives you exactly that. A powerful, multi-agent framework you plug into y
86
86
 
87
87
  | | **Tuplet** | **LangChain.js** |
88
88
  |---|---|---|
89
- | **Runtime dependencies** | 1 | 11+ (core) + per-provider packages |
89
+ | **Runtime dependencies** | 0 | 11+ (core) + per-provider packages |
90
90
  | **Setup** | `new Tuplet({ tools, llm })` — one object, done | Chains, Runnables, LCEL, Memory, Agents — multiple abstractions to learn |
91
91
  | **Planning & task tracking** | Built-in, works out of the box | Requires separate `@langchain/langgraph` package |
92
92
  | **Clarifying questions** | Built-in | Not included — build your own |
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EAIJ,WAAW,EAIX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,GAAG,EAAE,WAAW,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,IAAI,EAAE,CAAA;IAEtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAA;IAEhD,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmQD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,WAAW,CAAC,CA2ZtB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EAIJ,WAAW,EAIX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,GAAG,EAAE,WAAW,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,IAAI,EAAE,CAAA;IAEtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAA;IAEhD,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmQD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,WAAW,CAAC,CAgctB"}
package/dist/executor.js CHANGED
@@ -250,6 +250,47 @@ export async function executeLoop(config, initialMessages, toolContext) {
250
250
  let orchestrationInjected = !orchestrationPrompt; // skip if no prompt
251
251
  // Deferred tool loading: track which tools have been loaded via __tool_search__
252
252
  const deferredToolMap = new Map((deferredTools || []).map(t => [t.name, t]));
253
+ // Pre-promote deferred tools that were already loaded earlier in this conversation.
254
+ // Walk history in order and replay __tool_search__ selections so the tools block
255
+ // matches the state at the end of the previous turn — otherwise the prompt cache
256
+ // misses on the history prefix and the model re-emits __tool_search__.
257
+ if (deferredToolMap.size > 0) {
258
+ const promoted = new Set();
259
+ const promote = (name) => {
260
+ if (promoted.has(name))
261
+ return;
262
+ const tool = deferredToolMap.get(name);
263
+ if (!tool)
264
+ return;
265
+ if (toolSchemas.some(s => s.name === name))
266
+ return;
267
+ tools.push(tool);
268
+ toolSchemas = [...toolSchemas, { name: tool.name, description: tool.description, input_schema: tool.parameters }];
269
+ promoted.add(name);
270
+ };
271
+ for (const msg of initialMessages) {
272
+ if (!Array.isArray(msg.content))
273
+ continue;
274
+ for (const block of msg.content) {
275
+ if (block.type !== 'tool_use')
276
+ continue;
277
+ if (block.name === TOOL_SEARCH_NAME) {
278
+ const query = typeof block.input?.query === 'string' ? block.input.query : '';
279
+ const match = query.match(/^select:(.+)$/i);
280
+ if (!match)
281
+ continue;
282
+ for (const name of match[1].split(',').map(s => s.trim())) {
283
+ promote(name);
284
+ }
285
+ }
286
+ else {
287
+ // Tool was called directly without a prior search in history (e.g. evicted
288
+ // from a pruned older message). Promote anyway so it stays executable.
289
+ promote(block.name);
290
+ }
291
+ }
292
+ }
293
+ }
253
294
  for (let iteration = 0; iteration < maxIterations; iteration++) {
254
295
  // Check for interruption at start of each iteration
255
296
  const interruptReason = await checkInterruption(signal, shouldContinue);
@@ -328,12 +369,13 @@ export async function executeLoop(config, initialMessages, toolContext) {
328
369
  }
329
370
  });
330
371
  }
372
+ const assistantContent = response.content;
331
373
  // Add assistant message to history
332
- messages.push({ role: 'assistant', content: response.content });
374
+ messages.push({ role: 'assistant', content: assistantContent });
333
375
  // Emit AI text blocks as progress events (only when alongside tool calls —
334
376
  // final response text is returned via result.response, not as a progress event)
335
377
  if (response.stopReason === 'tool_use') {
336
- const textBlocks = response.content.filter((b) => b.type === 'text');
378
+ const textBlocks = assistantContent.filter((b) => b.type === 'text');
337
379
  for (const block of textBlocks) {
338
380
  if (block.text.trim()) {
339
381
  emitProgress(logger, {
@@ -367,7 +409,7 @@ export async function executeLoop(config, initialMessages, toolContext) {
367
409
  continue;
368
410
  }
369
411
  const result = {
370
- response: extractText(response.content),
412
+ response: extractText(assistantContent),
371
413
  history: messages,
372
414
  toolCalls: toolCallLogs,
373
415
  thinking: thinkingBlocks.length > 0 ? thinkingBlocks : undefined,
@@ -378,7 +420,7 @@ export async function executeLoop(config, initialMessages, toolContext) {
378
420
  return result;
379
421
  }
380
422
  // Execute tool calls
381
- const toolUseBlocks = response.content.filter((block) => block.type === 'tool_use');
423
+ const toolUseBlocks = assistantContent.filter((block) => block.type === 'tool_use');
382
424
  const toolResults = [];
383
425
  for (const toolUse of toolUseBlocks) {
384
426
  // Check for interruption between tool calls
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=executor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.test.d.ts","sourceRoot":"","sources":["../src/executor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,169 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { executeLoop } from './executor.js';
3
+ import { ContextManager } from './context-manager.js';
4
+ import { TaskManager } from './tools/tasks.js';
5
+ const toolContext = {
6
+ remainingTokens: 100000,
7
+ conversationId: 'c1',
8
+ userId: 'u1'
9
+ };
10
+ function makeTool(name) {
11
+ return {
12
+ name,
13
+ description: `${name} tool`,
14
+ parameters: { type: 'object', properties: {} },
15
+ execute: async () => ({ success: true, data: { ok: true } })
16
+ };
17
+ }
18
+ function recordingLLM(response) {
19
+ const calls = [];
20
+ const llm = {
21
+ chat: async (_sys, _msgs, tools) => {
22
+ calls.push(tools);
23
+ return response;
24
+ },
25
+ getModelId: () => 'stub:stub',
26
+ supportsNativeTools: true
27
+ };
28
+ return { llm, calls };
29
+ }
30
+ describe('executor deferred tool preload', () => {
31
+ const endTurn = { content: [{ type: 'text', text: 'ok' }], stopReason: 'end_turn' };
32
+ it('preloads deferred tools that appear as tool_use in history', async () => {
33
+ const saveMeal = makeTool('save_meal');
34
+ const listMeals = makeTool('list_meals');
35
+ const { llm, calls } = recordingLLM(endTurn);
36
+ const history = [
37
+ { role: 'user', content: 'log eggs' },
38
+ { role: 'assistant', content: [{ type: 'tool_use', id: 'ts', name: '__tool_search__', input: { query: 'select:save_meal' } }] },
39
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 'ts', content: 'ok' }] },
40
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't1', name: 'save_meal', input: {} }] },
41
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 't1', content: 'ok' }] },
42
+ { role: 'user', content: 'and?' }
43
+ ];
44
+ await executeLoop({
45
+ systemPrompt: 'sys',
46
+ tools: [],
47
+ llm,
48
+ maxIterations: 2,
49
+ contextManager: new ContextManager(100000, 'summarize'),
50
+ taskManager: new TaskManager(),
51
+ deferredTools: [saveMeal, listMeals]
52
+ }, history, toolContext);
53
+ const names = calls[0].map(s => s.name).sort();
54
+ expect(names).toEqual(['save_meal']);
55
+ });
56
+ it('ignores tool_use entries not present in deferredTools', async () => {
57
+ const saveMeal = makeTool('save_meal');
58
+ const { llm, calls } = recordingLLM(endTurn);
59
+ const history = [
60
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't1', name: 'unknown_tool', input: {} }] },
61
+ { role: 'user', content: 'hi' }
62
+ ];
63
+ await executeLoop({
64
+ systemPrompt: 'sys',
65
+ tools: [],
66
+ llm,
67
+ maxIterations: 2,
68
+ contextManager: new ContextManager(100000, 'summarize'),
69
+ taskManager: new TaskManager(),
70
+ deferredTools: [saveMeal]
71
+ }, history, toolContext);
72
+ expect(calls[0]).toEqual([]);
73
+ });
74
+ it('preserves select order from __tool_search__ even when call order differs', async () => {
75
+ const saveMeal = makeTool('save_meal');
76
+ const listMeals = makeTool('list_meals');
77
+ const { llm, calls } = recordingLLM(endTurn);
78
+ const history = [
79
+ { role: 'assistant', content: [{ type: 'tool_use', id: 'ts', name: '__tool_search__', input: { query: 'select:save_meal,list_meals' } }] },
80
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 'ts', content: 'ok' }] },
81
+ // Called in reverse order — preload should still match load order.
82
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't1', name: 'list_meals', input: {} }] },
83
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 't1', content: 'ok' }] },
84
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't2', name: 'save_meal', input: {} }] },
85
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 't2', content: 'ok' }] },
86
+ { role: 'user', content: 'again' }
87
+ ];
88
+ await executeLoop({
89
+ systemPrompt: 'sys',
90
+ tools: [],
91
+ llm,
92
+ maxIterations: 2,
93
+ contextManager: new ContextManager(100000, 'summarize'),
94
+ taskManager: new TaskManager(),
95
+ deferredTools: [saveMeal, listMeals]
96
+ }, history, toolContext);
97
+ expect(calls[0].map(s => s.name)).toEqual(['save_meal', 'list_meals']);
98
+ });
99
+ it('deduplicates when history contains the same tool_use multiple times', async () => {
100
+ const saveMeal = makeTool('save_meal');
101
+ const { llm, calls } = recordingLLM(endTurn);
102
+ const history = [
103
+ { role: 'assistant', content: [{ type: 'tool_use', id: 'ts', name: '__tool_search__', input: { query: 'select:save_meal' } }] },
104
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 'ts', content: 'ok' }] },
105
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't1', name: 'save_meal', input: {} }] },
106
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 't1', content: 'ok' }] },
107
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't2', name: 'save_meal', input: {} }] },
108
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 't2', content: 'ok' }] },
109
+ { role: 'user', content: 'again' }
110
+ ];
111
+ await executeLoop({
112
+ systemPrompt: 'sys',
113
+ tools: [],
114
+ llm,
115
+ maxIterations: 2,
116
+ contextManager: new ContextManager(100000, 'summarize'),
117
+ taskManager: new TaskManager(),
118
+ deferredTools: [saveMeal]
119
+ }, history, toolContext);
120
+ expect(calls[0].filter(s => s.name === 'save_meal')).toHaveLength(1);
121
+ });
122
+ it('empty history leaves only core tools in the first LLM call', async () => {
123
+ const saveMeal = makeTool('save_meal');
124
+ const { llm, calls } = recordingLLM(endTurn);
125
+ await executeLoop({
126
+ systemPrompt: 'sys',
127
+ tools: [],
128
+ llm,
129
+ maxIterations: 2,
130
+ contextManager: new ContextManager(100000, 'summarize'),
131
+ taskManager: new TaskManager(),
132
+ deferredTools: [saveMeal]
133
+ }, [{ role: 'user', content: 'hello' }], toolContext);
134
+ expect(calls[0]).toEqual([]);
135
+ });
136
+ it('preloaded tool is executable via the normal tool dispatch path', async () => {
137
+ const saveMeal = makeTool('save_meal');
138
+ const toolCallResponse = {
139
+ content: [{ type: 'tool_use', id: 'tcall', name: 'save_meal', input: { item: 'eggs' } }],
140
+ stopReason: 'tool_use'
141
+ };
142
+ let callCount = 0;
143
+ const llm = {
144
+ chat: async () => {
145
+ callCount++;
146
+ return callCount === 1 ? toolCallResponse : endTurn;
147
+ },
148
+ getModelId: () => 'stub:stub',
149
+ supportsNativeTools: true
150
+ };
151
+ const history = [
152
+ { role: 'assistant', content: [{ type: 'tool_use', id: 't1', name: 'save_meal', input: {} }] },
153
+ { role: 'user', content: [{ type: 'tool_result', tool_use_id: 't1', content: 'ok' }] },
154
+ { role: 'user', content: 'again' }
155
+ ];
156
+ const result = await executeLoop({
157
+ systemPrompt: 'sys',
158
+ tools: [],
159
+ llm,
160
+ maxIterations: 3,
161
+ contextManager: new ContextManager(100000, 'summarize'),
162
+ taskManager: new TaskManager(),
163
+ deferredTools: [saveMeal]
164
+ }, history, toolContext);
165
+ expect(result.toolCalls.map(c => c.name)).toContain('save_meal');
166
+ expect(result.toolCalls[0].output.success).toBe(true);
167
+ });
168
+ });
169
+ //# sourceMappingURL=executor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../src/executor.test.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,14 @@ export interface ClaudeProviderConfig {
8
8
  apiKey?: string;
9
9
  model?: string;
10
10
  maxTokens?: number;
11
+ baseURL?: string;
11
12
  }
12
13
  export declare class ClaudeProvider implements LLMProvider {
13
14
  readonly supportsNativeTools = true;
14
- private client;
15
+ private apiKey;
15
16
  private model;
16
17
  private maxTokens;
18
+ private baseURL;
17
19
  constructor(config?: ClaudeProviderConfig);
18
20
  chat(systemPrompt: string, messages: Message[], tools: ToolSchema[], options?: LLMOptions): Promise<LLMResponse>;
19
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/claude.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EAGX,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,mBAAmB,QAAO;IACnC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;gBAEb,MAAM,GAAE,oBAAyB;IAQvC,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IAkBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,eAAe;IA+CvB,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/claude.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EAGX,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AA0DD,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,mBAAmB,QAAO;IACnC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,GAAE,oBAAyB;IAOvC,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IAoCvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,eAAe;IA2CvB,UAAU,IAAI,MAAM;CAGrB"}
@@ -3,32 +3,46 @@
3
3
  *
4
4
  * Implementation of LLMProvider for Anthropic's Claude API.
5
5
  */
6
- import Anthropic from '@anthropic-ai/sdk';
7
6
  export class ClaudeProvider {
8
7
  supportsNativeTools = true;
9
- client;
8
+ apiKey;
10
9
  model;
11
10
  maxTokens;
11
+ baseURL;
12
12
  constructor(config = {}) {
13
- this.client = new Anthropic({
14
- apiKey: config.apiKey
15
- });
13
+ this.apiKey = config.apiKey || process.env.ANTHROPIC_API_KEY || '';
16
14
  this.model = config.model || 'claude-sonnet-4-20250514';
17
15
  this.maxTokens = config.maxTokens || 8192;
16
+ this.baseURL = config.baseURL || 'https://api.anthropic.com';
18
17
  }
19
18
  async chat(systemPrompt, messages, tools, options = {}) {
20
19
  const anthropicMessages = this.convertMessages(messages);
21
20
  const anthropicTools = this.convertTools(tools);
22
21
  const systemContent = this.buildSystemContent(systemPrompt);
23
- const requestParams = {
22
+ const requestBody = {
24
23
  model: options.model || this.model,
25
24
  max_tokens: this.maxTokens,
26
25
  system: systemContent,
27
- messages: anthropicMessages,
28
- tools: anthropicTools.length > 0 ? anthropicTools : undefined
26
+ messages: anthropicMessages
29
27
  };
30
- const response = await this.client.messages.create(requestParams);
31
- return this.convertResponse(response);
28
+ if (anthropicTools.length > 0) {
29
+ requestBody.tools = anthropicTools;
30
+ }
31
+ const response = await fetch(`${this.baseURL}/v1/messages`, {
32
+ method: 'POST',
33
+ headers: {
34
+ 'Content-Type': 'application/json',
35
+ 'x-api-key': this.apiKey,
36
+ 'anthropic-version': '2023-06-01'
37
+ },
38
+ body: JSON.stringify(requestBody)
39
+ });
40
+ if (!response.ok) {
41
+ const errorData = await response.json().catch(() => ({ error: { message: response.statusText } }));
42
+ throw new Error(`Anthropic API error: ${errorData.error?.message || response.statusText}`);
43
+ }
44
+ const data = await response.json();
45
+ return this.convertResponse(data);
32
46
  }
33
47
  /**
34
48
  * Build system content with caching
@@ -60,7 +74,6 @@ export class ClaudeProvider {
60
74
  }
61
75
  const blocks = this.convertContentBlocks(msg.content);
62
76
  if (shouldCache && blocks.length > 0) {
63
- // Add cache_control to the last block
64
77
  const lastBlock = blocks[blocks.length - 1];
65
78
  lastBlock.cache_control = { type: 'ephemeral' };
66
79
  }
@@ -112,13 +125,8 @@ export class ClaudeProvider {
112
125
  description: tool.description,
113
126
  input_schema: tool.input_schema
114
127
  };
115
- // Add cache_control to the last tool
116
128
  if (isLast) {
117
- return {
118
- ...baseTool,
119
- cache_control: { type: 'ephemeral' }
120
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
- };
129
+ baseTool.cache_control = { type: 'ephemeral' };
122
130
  }
123
131
  return baseTool;
124
132
  });
@@ -135,19 +143,15 @@ export class ClaudeProvider {
135
143
  name: block.name,
136
144
  input: block.input
137
145
  };
146
+ case 'thinking':
147
+ return { type: 'thinking', thinking: block.thinking };
138
148
  default:
139
- // Handle thinking blocks and other types
140
- if ('thinking' in block) {
141
- return { type: 'thinking', thinking: block.thinking };
142
- }
143
149
  return { type: 'text', text: '' };
144
150
  }
145
151
  });
146
152
  const stopReason = response.stop_reason === 'tool_use' ? 'tool_use' :
147
153
  response.stop_reason === 'max_tokens' ? 'max_tokens' :
148
154
  'end_turn';
149
- // Extract cache usage from response
150
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
155
  const usage = response.usage;
152
156
  const cacheUsage = (usage.cache_creation_input_tokens || usage.cache_read_input_tokens)
153
157
  ? {
@@ -159,8 +163,8 @@ export class ClaudeProvider {
159
163
  content,
160
164
  stopReason,
161
165
  usage: {
162
- inputTokens: response.usage.input_tokens,
163
- outputTokens: response.usage.output_tokens
166
+ inputTokens: usage.input_tokens,
167
+ outputTokens: usage.output_tokens
164
168
  },
165
169
  cacheUsage
166
170
  };
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/providers/llm/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/providers/llm/claude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EAIX,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAoED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,GAAE,wBAA6B;IAcjD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAEK,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IA2CvB,OAAO,CAAC,eAAe;IA2DvB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,4BAA4B;IAkEpC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IA6DvB,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;WACU,iBAAiB,CAC5B,OAAO,SAAiC,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAkCzC"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EAIX,MAAM,gBAAgB,CAAA;AAGvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAoED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,GAAE,wBAA6B;IAcjD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAEK,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IAoDvB,OAAO,CAAC,eAAe;IA2DvB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,4BAA4B;IAkEpC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IA8DvB,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;WACU,iBAAiB,CAC5B,OAAO,SAAiC,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAkCzC"}
@@ -5,6 +5,7 @@
5
5
  * access to 400+ models (Claude, GPT, Gemini, Llama, etc.) through
6
6
  * an OpenAI-compatible API gateway.
7
7
  */
8
+ import { defaultSanitize } from '../../sanitize.js';
8
9
  /**
9
10
  * Model prefixes that reliably handle tool descriptions from the API tools parameter,
10
11
  * making system prompt tool listings redundant. Other models may support tool calling
@@ -71,6 +72,13 @@ export class OpenRouterProvider {
71
72
  throw new Error(`OpenRouter API error: ${errorData.error?.message || response.statusText}`);
72
73
  }
73
74
  const data = await response.json();
75
+ // OpenRouter can return 200 OK with an error body (e.g. provider timeout)
76
+ if (data.error) {
77
+ throw new Error(`OpenRouter API error: ${data.error.message || 'provider returned an error'}`);
78
+ }
79
+ if (!data.choices?.[0]?.message) {
80
+ throw new Error(`OpenRouter API error: empty response (no choices returned)`);
81
+ }
74
82
  return this.convertResponse(data);
75
83
  }
76
84
  convertMessages(systemPrompt, messages, useCache) {
@@ -205,12 +213,13 @@ export class OpenRouterProvider {
205
213
  convertResponse(response) {
206
214
  const choice = response.choices[0];
207
215
  const content = [];
208
- // Add text content if present
216
+ // Strip reasoning-channel artifacts (harmony `<|channel|>` markers, leading
217
+ // `thought\n`) that some OpenRouter models emit as plain text in content.
209
218
  if (choice.message.content) {
210
- content.push({
211
- type: 'text',
212
- text: choice.message.content
213
- });
219
+ const cleaned = defaultSanitize(choice.message.content);
220
+ if (cleaned.length > 0) {
221
+ content.push({ type: 'text', text: cleaned });
222
+ }
214
223
  }
215
224
  // Convert tool calls
216
225
  if (choice.message.tool_calls) {