@alexnetrebskii/hive-agent 2.40.0 → 2.41.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
@@ -56,7 +56,7 @@ Tuplet gives you exactly that. A powerful, multi-agent framework you plug into y
56
56
  ### Multi-Provider
57
57
 
58
58
  - **Claude** (Anthropic) — First-class support with caching and extended thinking
59
- - **OpenAI** — GPT-4o and other models
59
+ - **OpenAI** — GPT-4o and other models, plus one-call presets for OpenAI-compatible vendors (Groq, Together, Fireworks, DeepSeek, xAI, Ollama)
60
60
  - **OpenRouter** — Access to 100+ models via [openrouter.ai](https://openrouter.ai), with optimized prompts so non-Claude models use built-in tools effectively
61
61
  - **Custom providers** — Implement the `LLMProvider` interface to use any AI model
62
62
 
@@ -124,6 +124,22 @@ const result = await agent.run('Hello!')
124
124
  console.log(result.response)
125
125
  ```
126
126
 
127
+ ### Using OpenAI-compatible providers
128
+
129
+ `OpenAIProvider` works with OpenAI directly and with any OpenAI-compatible vendor — Groq, Together, Fireworks, DeepSeek, xAI — via static presets that fill in `baseURL`, the env-var fallback, and a default model:
130
+
131
+ ```typescript
132
+ import { Tuplet, OpenAIProvider } from 'tuplet'
133
+
134
+ const agent = new Tuplet({
135
+ role: 'a helpful assistant',
136
+ tools: [myTool],
137
+ llm: OpenAIProvider.groq({ model: 'llama-3.3-70b-versatile' }) // reads GROQ_API_KEY
138
+ })
139
+ ```
140
+
141
+ For other compatible vendors pass `baseURL` and `vendor` directly. See [Providers](./docs/providers.md) for the full list.
142
+
127
143
  ## Examples
128
144
 
129
145
  - [**Coder**](https://github.com/anetrebskii/tuplet/tree/main/examples/coder) — AI software developer that creates projects from scratch using built-in shell, workspace, planning, and task tracking. Zero custom tools.
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * OpenAI LLM Provider
3
3
  *
4
- * Implementation of LLMProvider for OpenAI's API (GPT-4, GPT-4o, etc.).
4
+ * Implementation of LLMProvider for OpenAI's chat-completions API and any
5
+ * OpenAI-compatible vendor (Groq, Together, Fireworks, DeepSeek, xAI, etc.).
6
+ * Vendor presets at the bottom of the file fill in the right `baseURL`,
7
+ * env-var fallback, and `vendor` namespace for cost / trace attribution.
5
8
  */
6
9
  import type { LLMProvider, LLMResponse, LLMOptions, Message, ToolSchema } from '../../types.js';
7
10
  export interface OpenAIProviderConfig {
@@ -9,6 +12,23 @@ export interface OpenAIProviderConfig {
9
12
  model?: string;
10
13
  maxTokens?: number;
11
14
  baseURL?: string;
15
+ /**
16
+ * Namespace returned by `getModelId()` (e.g. `groq`, `deepseek`, `xai`).
17
+ * Default `openai`. Cost-pricing tables and trace events key off this.
18
+ */
19
+ vendor?: string;
20
+ /**
21
+ * Strip reasoning-channel artifacts (`<|channel|>` markers, leading
22
+ * `thought\n` / `analysis\n` preambles) from `text` content blocks.
23
+ * Default `true`. Set to `false` to render the reasoning stream yourself.
24
+ */
25
+ stripReasoning?: boolean;
26
+ /**
27
+ * Extra headers merged into every request — for vendors that require a
28
+ * custom header (e.g. Anthropic-style versioning, Together's
29
+ * `HTTP-Referer`, etc.).
30
+ */
31
+ defaultHeaders?: Record<string, string>;
12
32
  }
13
33
  export declare class OpenAIProvider implements LLMProvider {
14
34
  readonly supportsNativeTools = true;
@@ -16,6 +36,9 @@ export declare class OpenAIProvider implements LLMProvider {
16
36
  private model;
17
37
  private maxTokens;
18
38
  private baseURL;
39
+ private vendor;
40
+ private stripReasoning;
41
+ private defaultHeaders;
19
42
  constructor(config?: OpenAIProviderConfig);
20
43
  chat(systemPrompt: string, messages: Message[], tools: ToolSchema[], options?: LLMOptions): Promise<LLMResponse>;
21
44
  private convertMessages;
@@ -23,5 +46,22 @@ export declare class OpenAIProvider implements LLMProvider {
23
46
  private convertTools;
24
47
  private convertResponse;
25
48
  getModelId(): string;
49
+ static groq(config?: OpenAIProviderConfig): OpenAIProvider;
50
+ static together(config?: OpenAIProviderConfig): OpenAIProvider;
51
+ static fireworks(config?: OpenAIProviderConfig): OpenAIProvider;
52
+ static deepseek(config?: OpenAIProviderConfig): OpenAIProvider;
53
+ static xai(config?: OpenAIProviderConfig): OpenAIProvider;
54
+ /**
55
+ * Ollama exposes an OpenAI-compatible endpoint at `<host>/v1/chat/completions`.
56
+ * Auth is unused — Ollama ignores the bearer token but the OpenAI client
57
+ * requires a non-empty Authorization header, so we stub one.
58
+ *
59
+ * `OLLAMA_HOST` (Ollama's standard env var) is honored and gets `/v1`
60
+ * appended. `model` is required — Ollama users pick whatever they pulled
61
+ * (`llama3.2`, `qwen2.5`, `gpt-oss:20b`, ...) and there's no universal default.
62
+ */
63
+ static ollama(config: OpenAIProviderConfig & {
64
+ model: string;
65
+ }): OpenAIProvider;
26
66
  }
27
67
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/openai.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;AA4CD,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;IAWvC,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IAiCvB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,4BAA4B;IAkEpC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IA0CvB,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EAIX,MAAM,gBAAgB,CAAA;AAIvB,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;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxC;AAgDD,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;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAwB;gBAElC,MAAM,GAAE,oBAAyB;IAcvC,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IAmEvB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,4BAA4B;IA8DpC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IA0DvB,UAAU,IAAI,MAAM;IAQpB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAE,oBAAyB,GAAG,cAAc;IAU9D,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAE,oBAAyB,GAAG,cAAc;IAUlE,MAAM,CAAC,SAAS,CAAC,MAAM,GAAE,oBAAyB,GAAG,cAAc;IAUnE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAE,oBAAyB,GAAG,cAAc;IAUlE,MAAM,CAAC,GAAG,CAAC,MAAM,GAAE,oBAAyB,GAAG,cAAc;IAU7D;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;CAQhF"}
@@ -1,21 +1,31 @@
1
1
  /**
2
2
  * OpenAI LLM Provider
3
3
  *
4
- * Implementation of LLMProvider for OpenAI's API (GPT-4, GPT-4o, etc.).
4
+ * Implementation of LLMProvider for OpenAI's chat-completions API and any
5
+ * OpenAI-compatible vendor (Groq, Together, Fireworks, DeepSeek, xAI, etc.).
6
+ * Vendor presets at the bottom of the file fill in the right `baseURL`,
7
+ * env-var fallback, and `vendor` namespace for cost / trace attribution.
5
8
  */
9
+ import { defaultSanitize } from '../../sanitize.js';
6
10
  export class OpenAIProvider {
7
11
  supportsNativeTools = true;
8
12
  apiKey;
9
13
  model;
10
14
  maxTokens;
11
15
  baseURL;
16
+ vendor;
17
+ stripReasoning;
18
+ defaultHeaders;
12
19
  constructor(config = {}) {
13
20
  this.apiKey = config.apiKey || process.env.OPENAI_API_KEY || '';
14
21
  this.model = config.model || 'gpt-4o';
15
22
  this.maxTokens = config.maxTokens || 4096;
16
23
  this.baseURL = config.baseURL || 'https://api.openai.com/v1';
24
+ this.vendor = config.vendor || 'openai';
25
+ this.stripReasoning = config.stripReasoning !== false;
26
+ this.defaultHeaders = config.defaultHeaders ?? {};
17
27
  if (!this.apiKey) {
18
- throw new Error('OpenAI API key is required');
28
+ throw new Error(`${this.vendor} API key is required`);
19
29
  }
20
30
  }
21
31
  async chat(systemPrompt, messages, tools, options = {}) {
@@ -29,19 +39,39 @@ export class OpenAIProvider {
29
39
  if (openaiTools.length > 0) {
30
40
  requestBody.tools = openaiTools;
31
41
  }
42
+ if (options.temperature !== undefined) {
43
+ requestBody.temperature = options.temperature;
44
+ }
45
+ if (options.topP !== undefined) {
46
+ requestBody.top_p = options.topP;
47
+ }
48
+ if (options.stopSequences && options.stopSequences.length > 0) {
49
+ requestBody.stop = options.stopSequences;
50
+ }
32
51
  const response = await fetch(`${this.baseURL}/chat/completions`, {
33
52
  method: 'POST',
34
53
  headers: {
35
54
  'Content-Type': 'application/json',
36
- 'Authorization': `Bearer ${this.apiKey}`
55
+ 'Authorization': `Bearer ${this.apiKey}`,
56
+ ...this.defaultHeaders
37
57
  },
38
58
  body: JSON.stringify(requestBody)
39
59
  });
60
+ const rawBody = await response.text();
61
+ const data = safeParseJson(rawBody);
40
62
  if (!response.ok) {
41
- const errorData = await response.json().catch(() => ({ error: { message: response.statusText } }));
42
- throw new Error(`OpenAI API error: ${errorData.error?.message || response.statusText}`);
63
+ const upstream = data?.error?.message || response.statusText;
64
+ throw new Error(`${this.vendor} API error (HTTP ${response.status}): ${upstream}`);
65
+ }
66
+ if (!data) {
67
+ throw new Error(`${this.vendor} API error: response was not valid JSON — body: ${truncate(rawBody, 500)}`);
68
+ }
69
+ if (data.error) {
70
+ throw new Error(`${this.vendor} API error: ${data.error.message || 'provider returned an error'}`);
71
+ }
72
+ if (!data.choices?.[0]?.message) {
73
+ throw new Error(`${this.vendor} API error: empty response (no choices returned) — body: ${truncate(rawBody, 500)}`);
43
74
  }
44
- const data = await response.json();
45
75
  return this.convertResponse(data);
46
76
  }
47
77
  convertMessages(systemPrompt, messages) {
@@ -56,7 +86,6 @@ export class OpenAIProvider {
56
86
  });
57
87
  }
58
88
  else {
59
- // Handle content blocks
60
89
  const converted = this.convertContentBlocksToOpenAI(msg.content, msg.role);
61
90
  result.push(...converted);
62
91
  }
@@ -65,10 +94,8 @@ export class OpenAIProvider {
65
94
  }
66
95
  convertContentBlocksToOpenAI(blocks, role) {
67
96
  const messages = [];
68
- // Separate tool results from other content
69
97
  const toolResults = blocks.filter(b => b.type === 'tool_result');
70
98
  const otherBlocks = blocks.filter(b => b.type !== 'tool_result');
71
- // Handle assistant messages with tool_use
72
99
  if (role === 'assistant') {
73
100
  const toolUseBlocks = otherBlocks.filter(b => b.type === 'tool_use');
74
101
  const textBlocks = otherBlocks.filter(b => b.type === 'text');
@@ -98,7 +125,6 @@ export class OpenAIProvider {
98
125
  });
99
126
  }
100
127
  }
101
- // Handle tool results (these become separate 'tool' role messages)
102
128
  for (const tr of toolResults) {
103
129
  const toolResult = tr;
104
130
  messages.push({
@@ -107,7 +133,6 @@ export class OpenAIProvider {
107
133
  tool_call_id: toolResult.tool_use_id
108
134
  });
109
135
  }
110
- // Handle user text messages
111
136
  if (role === 'user' && toolResults.length === 0) {
112
137
  const textBlocks = otherBlocks.filter(b => b.type === 'text');
113
138
  const textContent = textBlocks.map(b => b.text).join('\n');
@@ -133,14 +158,14 @@ export class OpenAIProvider {
133
158
  convertResponse(response) {
134
159
  const choice = response.choices[0];
135
160
  const content = [];
136
- // Add text content if present
137
161
  if (choice.message.content) {
138
- content.push({
139
- type: 'text',
140
- text: choice.message.content
141
- });
162
+ const cleaned = this.stripReasoning
163
+ ? defaultSanitize(choice.message.content)
164
+ : choice.message.content;
165
+ if (cleaned.length > 0) {
166
+ content.push({ type: 'text', text: cleaned });
167
+ }
142
168
  }
143
- // Convert tool calls
144
169
  if (choice.message.tool_calls) {
145
170
  for (const toolCall of choice.message.tool_calls) {
146
171
  content.push({
@@ -151,7 +176,6 @@ export class OpenAIProvider {
151
176
  });
152
177
  }
153
178
  }
154
- // Determine stop reason
155
179
  let stopReason = 'end_turn';
156
180
  if (choice.finish_reason === 'tool_calls') {
157
181
  stopReason = 'tool_use';
@@ -159,17 +183,118 @@ export class OpenAIProvider {
159
183
  else if (choice.finish_reason === 'length') {
160
184
  stopReason = 'max_tokens';
161
185
  }
186
+ const details = response.usage.prompt_tokens_details;
187
+ const cachedRead = details?.cached_tokens || 0;
188
+ const cacheWrite = details?.cache_write_tokens || 0;
189
+ let cacheUsage;
190
+ if (cachedRead || cacheWrite) {
191
+ cacheUsage = {
192
+ cacheReadInputTokens: cachedRead,
193
+ cacheCreationInputTokens: cacheWrite
194
+ };
195
+ }
196
+ // Match OpenRouter's convention: inputTokens excludes cached tokens, so
197
+ // cost calculation prices cache reads at the cache-read rate instead of
198
+ // double-counting them at the regular input rate.
199
+ const inputTokens = response.usage.prompt_tokens - cachedRead - cacheWrite;
162
200
  return {
163
201
  content,
164
202
  stopReason,
165
203
  usage: {
166
- inputTokens: response.usage.prompt_tokens,
204
+ inputTokens,
167
205
  outputTokens: response.usage.completion_tokens
168
- }
206
+ },
207
+ cacheUsage
169
208
  };
170
209
  }
171
210
  getModelId() {
172
- return `openai:${this.model}`;
211
+ return `${this.vendor}:${this.model}`;
212
+ }
213
+ // ---------- Vendor presets ----------------------------------------------
214
+ // Thin factories that fill in baseURL + vendor namespace + env-var fallback
215
+ // so callers don't have to hand-type the right URL for each compatible vendor.
216
+ static groq(config = {}) {
217
+ return new OpenAIProvider({
218
+ ...config,
219
+ apiKey: config.apiKey || process.env.GROQ_API_KEY,
220
+ baseURL: config.baseURL || 'https://api.groq.com/openai/v1',
221
+ vendor: config.vendor || 'groq',
222
+ model: config.model || 'llama-3.3-70b-versatile'
223
+ });
224
+ }
225
+ static together(config = {}) {
226
+ return new OpenAIProvider({
227
+ ...config,
228
+ apiKey: config.apiKey || process.env.TOGETHER_API_KEY,
229
+ baseURL: config.baseURL || 'https://api.together.xyz/v1',
230
+ vendor: config.vendor || 'together',
231
+ model: config.model || 'meta-llama/Llama-3.3-70B-Instruct-Turbo'
232
+ });
233
+ }
234
+ static fireworks(config = {}) {
235
+ return new OpenAIProvider({
236
+ ...config,
237
+ apiKey: config.apiKey || process.env.FIREWORKS_API_KEY,
238
+ baseURL: config.baseURL || 'https://api.fireworks.ai/inference/v1',
239
+ vendor: config.vendor || 'fireworks',
240
+ model: config.model || 'accounts/fireworks/models/llama-v3p3-70b-instruct'
241
+ });
242
+ }
243
+ static deepseek(config = {}) {
244
+ return new OpenAIProvider({
245
+ ...config,
246
+ apiKey: config.apiKey || process.env.DEEPSEEK_API_KEY,
247
+ baseURL: config.baseURL || 'https://api.deepseek.com/v1',
248
+ vendor: config.vendor || 'deepseek',
249
+ model: config.model || 'deepseek-chat'
250
+ });
251
+ }
252
+ static xai(config = {}) {
253
+ return new OpenAIProvider({
254
+ ...config,
255
+ apiKey: config.apiKey || process.env.XAI_API_KEY,
256
+ baseURL: config.baseURL || 'https://api.x.ai/v1',
257
+ vendor: config.vendor || 'xai',
258
+ model: config.model || 'grok-2'
259
+ });
173
260
  }
261
+ /**
262
+ * Ollama exposes an OpenAI-compatible endpoint at `<host>/v1/chat/completions`.
263
+ * Auth is unused — Ollama ignores the bearer token but the OpenAI client
264
+ * requires a non-empty Authorization header, so we stub one.
265
+ *
266
+ * `OLLAMA_HOST` (Ollama's standard env var) is honored and gets `/v1`
267
+ * appended. `model` is required — Ollama users pick whatever they pulled
268
+ * (`llama3.2`, `qwen2.5`, `gpt-oss:20b`, ...) and there's no universal default.
269
+ */
270
+ static ollama(config) {
271
+ return new OpenAIProvider({
272
+ ...config,
273
+ apiKey: config.apiKey || 'ollama',
274
+ baseURL: config.baseURL || ollamaBaseURL(),
275
+ vendor: config.vendor || 'ollama'
276
+ });
277
+ }
278
+ }
279
+ function ollamaBaseURL() {
280
+ const host = process.env.OLLAMA_HOST;
281
+ if (!host)
282
+ return 'http://localhost:11434/v1';
283
+ // Strip trailing slash, append /v1 unless already present.
284
+ const trimmed = host.replace(/\/+$/, '');
285
+ return trimmed.endsWith('/v1') ? trimmed : `${trimmed}/v1`;
286
+ }
287
+ function safeParseJson(text) {
288
+ try {
289
+ return JSON.parse(text);
290
+ }
291
+ catch {
292
+ return null;
293
+ }
294
+ }
295
+ function truncate(s, max) {
296
+ if (s.length <= max)
297
+ return s;
298
+ return `${s.slice(0, max)}…(+${s.length - max} chars)`;
174
299
  }
175
300
  //# sourceMappingURL=openai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/providers/llm/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/providers/llm/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=openai.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.test.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/openai.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,507 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import { OpenAIProvider } from './openai.js';
3
+ import { isTransientError } from './fallback.js';
4
+ function jsonResponse(body, status = 200) {
5
+ return new Response(JSON.stringify(body), {
6
+ status,
7
+ headers: { 'Content-Type': 'application/json' }
8
+ });
9
+ }
10
+ function textResponse(body, status, statusText = '') {
11
+ return new Response(body, {
12
+ status,
13
+ statusText,
14
+ headers: { 'Content-Type': 'text/plain' }
15
+ });
16
+ }
17
+ function okChoice(opts = {}) {
18
+ const promptTokens = opts.prompt_tokens ?? 100;
19
+ const completionTokens = opts.completion_tokens ?? 20;
20
+ const usage = {
21
+ prompt_tokens: promptTokens,
22
+ completion_tokens: completionTokens,
23
+ total_tokens: promptTokens + completionTokens
24
+ };
25
+ if (opts.cached_tokens !== undefined || opts.cache_write_tokens !== undefined) {
26
+ usage.prompt_tokens_details = {
27
+ cached_tokens: opts.cached_tokens ?? 0,
28
+ cache_write_tokens: opts.cache_write_tokens ?? 0
29
+ };
30
+ }
31
+ return {
32
+ id: 'resp',
33
+ choices: [
34
+ {
35
+ message: {
36
+ role: 'assistant',
37
+ content: opts.content ?? null,
38
+ tool_calls: opts.tool_calls?.map(tc => ({
39
+ id: tc.id,
40
+ type: 'function',
41
+ function: { name: tc.name, arguments: JSON.stringify(tc.args ?? {}) }
42
+ }))
43
+ },
44
+ finish_reason: opts.finish_reason
45
+ ?? (opts.tool_calls && opts.tool_calls.length > 0 ? 'tool_calls' : 'stop')
46
+ }
47
+ ],
48
+ usage
49
+ };
50
+ }
51
+ const dummyTool = {
52
+ name: 'search',
53
+ description: 'search things',
54
+ input_schema: { type: 'object', properties: { q: { type: 'string' } } }
55
+ };
56
+ describe('OpenAIProvider — construction', () => {
57
+ it('throws when apiKey is missing and OPENAI_API_KEY is unset', () => {
58
+ const prev = process.env.OPENAI_API_KEY;
59
+ delete process.env.OPENAI_API_KEY;
60
+ try {
61
+ expect(() => new OpenAIProvider()).toThrow(/openai API key is required/);
62
+ }
63
+ finally {
64
+ if (prev !== undefined)
65
+ process.env.OPENAI_API_KEY = prev;
66
+ }
67
+ });
68
+ it('error message includes the vendor name', () => {
69
+ expect(() => new OpenAIProvider({ vendor: 'groq' })).toThrow(/groq API key is required/);
70
+ });
71
+ it('reads apiKey from process.env.OPENAI_API_KEY', () => {
72
+ const prev = process.env.OPENAI_API_KEY;
73
+ process.env.OPENAI_API_KEY = 'env-key';
74
+ try {
75
+ const p = new OpenAIProvider();
76
+ expect(p.getModelId()).toBe('openai:gpt-4o');
77
+ }
78
+ finally {
79
+ if (prev !== undefined)
80
+ process.env.OPENAI_API_KEY = prev;
81
+ else
82
+ delete process.env.OPENAI_API_KEY;
83
+ }
84
+ });
85
+ });
86
+ describe('OpenAIProvider — getModelId', () => {
87
+ it('default vendor is openai', () => {
88
+ const p = new OpenAIProvider({ apiKey: 'k', model: 'gpt-4o-mini' });
89
+ expect(p.getModelId()).toBe('openai:gpt-4o-mini');
90
+ });
91
+ it('returns ${vendor}:${model}', () => {
92
+ const p = new OpenAIProvider({ apiKey: 'k', model: 'm', vendor: 'groq' });
93
+ expect(p.getModelId()).toBe('groq:m');
94
+ });
95
+ });
96
+ describe('OpenAIProvider — vendor presets', () => {
97
+ it('groq preset sets baseURL, vendor, default model', () => {
98
+ const p = OpenAIProvider.groq({ apiKey: 'k' });
99
+ expect(p.getModelId()).toBe('groq:llama-3.3-70b-versatile');
100
+ });
101
+ it('together preset', () => {
102
+ const p = OpenAIProvider.together({ apiKey: 'k' });
103
+ expect(p.getModelId()).toMatch(/^together:/);
104
+ });
105
+ it('fireworks preset', () => {
106
+ const p = OpenAIProvider.fireworks({ apiKey: 'k' });
107
+ expect(p.getModelId()).toMatch(/^fireworks:/);
108
+ });
109
+ it('deepseek preset', () => {
110
+ const p = OpenAIProvider.deepseek({ apiKey: 'k' });
111
+ expect(p.getModelId()).toBe('deepseek:deepseek-chat');
112
+ });
113
+ it('xai preset', () => {
114
+ const p = OpenAIProvider.xai({ apiKey: 'k' });
115
+ expect(p.getModelId()).toBe('xai:grok-2');
116
+ });
117
+ it('preset apiKey falls back to vendor-specific env var', () => {
118
+ const prev = process.env.GROQ_API_KEY;
119
+ process.env.GROQ_API_KEY = 'groq-env';
120
+ try {
121
+ const p = OpenAIProvider.groq();
122
+ expect(p.getModelId()).toBe('groq:llama-3.3-70b-versatile');
123
+ }
124
+ finally {
125
+ if (prev !== undefined)
126
+ process.env.GROQ_API_KEY = prev;
127
+ else
128
+ delete process.env.GROQ_API_KEY;
129
+ }
130
+ });
131
+ it('explicit model overrides preset default', () => {
132
+ const p = OpenAIProvider.groq({ apiKey: 'k', model: 'mixtral-8x7b' });
133
+ expect(p.getModelId()).toBe('groq:mixtral-8x7b');
134
+ });
135
+ });
136
+ describe('OpenAIProvider.ollama', () => {
137
+ beforeEach(() => {
138
+ vi.stubGlobal('fetch', vi.fn());
139
+ });
140
+ afterEach(() => {
141
+ vi.unstubAllGlobals();
142
+ });
143
+ it('does not require an explicit apiKey', () => {
144
+ expect(() => OpenAIProvider.ollama({ model: 'llama3.2' })).not.toThrow();
145
+ });
146
+ it('sets vendor and namespaces getModelId', () => {
147
+ const p = OpenAIProvider.ollama({ model: 'llama3.2' });
148
+ expect(p.getModelId()).toBe('ollama:llama3.2');
149
+ });
150
+ it('hits localhost:11434/v1 by default', async () => {
151
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
152
+ const p = OpenAIProvider.ollama({ model: 'llama3.2' });
153
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
154
+ const url = vi.mocked(fetch).mock.calls[0][0];
155
+ expect(url).toBe('http://localhost:11434/v1/chat/completions');
156
+ });
157
+ it('appends /v1 when OLLAMA_HOST is set without it', async () => {
158
+ const prev = process.env.OLLAMA_HOST;
159
+ process.env.OLLAMA_HOST = 'http://192.168.1.5:11434';
160
+ try {
161
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
162
+ const p = OpenAIProvider.ollama({ model: 'llama3.2' });
163
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
164
+ const url = vi.mocked(fetch).mock.calls[0][0];
165
+ expect(url).toBe('http://192.168.1.5:11434/v1/chat/completions');
166
+ }
167
+ finally {
168
+ if (prev !== undefined)
169
+ process.env.OLLAMA_HOST = prev;
170
+ else
171
+ delete process.env.OLLAMA_HOST;
172
+ }
173
+ });
174
+ it('does NOT double-append /v1 when OLLAMA_HOST already includes it', async () => {
175
+ const prev = process.env.OLLAMA_HOST;
176
+ process.env.OLLAMA_HOST = 'http://localhost:11434/v1';
177
+ try {
178
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
179
+ const p = OpenAIProvider.ollama({ model: 'qwen2.5' });
180
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
181
+ const url = vi.mocked(fetch).mock.calls[0][0];
182
+ expect(url).toBe('http://localhost:11434/v1/chat/completions');
183
+ }
184
+ finally {
185
+ if (prev !== undefined)
186
+ process.env.OLLAMA_HOST = prev;
187
+ else
188
+ delete process.env.OLLAMA_HOST;
189
+ }
190
+ });
191
+ it('explicit baseURL overrides OLLAMA_HOST', async () => {
192
+ const prev = process.env.OLLAMA_HOST;
193
+ process.env.OLLAMA_HOST = 'http://wrong:11434';
194
+ try {
195
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
196
+ const p = OpenAIProvider.ollama({ model: 'llama3.2', baseURL: 'http://right:9000/v1' });
197
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
198
+ const url = vi.mocked(fetch).mock.calls[0][0];
199
+ expect(url).toBe('http://right:9000/v1/chat/completions');
200
+ }
201
+ finally {
202
+ if (prev !== undefined)
203
+ process.env.OLLAMA_HOST = prev;
204
+ else
205
+ delete process.env.OLLAMA_HOST;
206
+ }
207
+ });
208
+ });
209
+ describe('OpenAIProvider — chat success path', () => {
210
+ beforeEach(() => {
211
+ vi.stubGlobal('fetch', vi.fn());
212
+ });
213
+ afterEach(() => {
214
+ vi.unstubAllGlobals();
215
+ });
216
+ it('returns text content for a plain assistant reply', async () => {
217
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'hello' })));
218
+ const p = new OpenAIProvider({ apiKey: 'k' });
219
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
220
+ expect(result.stopReason).toBe('end_turn');
221
+ expect(result.content).toEqual([{ type: 'text', text: 'hello' }]);
222
+ expect(result.usage).toEqual({ inputTokens: 100, outputTokens: 20 });
223
+ });
224
+ it('maps finish_reason=tool_calls to stopReason=tool_use and emits tool_use blocks', async () => {
225
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({
226
+ tool_calls: [{ id: 't1', name: 'search', args: { q: 'milk' } }]
227
+ })));
228
+ const p = new OpenAIProvider({ apiKey: 'k' });
229
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], [dummyTool]);
230
+ expect(result.stopReason).toBe('tool_use');
231
+ expect(result.content).toEqual([
232
+ { type: 'tool_use', id: 't1', name: 'search', input: { q: 'milk' } }
233
+ ]);
234
+ });
235
+ it('maps finish_reason=length to stopReason=max_tokens', async () => {
236
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({
237
+ content: 'truncated...',
238
+ finish_reason: 'length'
239
+ })));
240
+ const p = new OpenAIProvider({ apiKey: 'k' });
241
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
242
+ expect(result.stopReason).toBe('max_tokens');
243
+ });
244
+ it('plumbs cached_tokens and cache_write_tokens into LLMResponse.cacheUsage and excludes them from inputTokens', async () => {
245
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({
246
+ content: 'ok',
247
+ prompt_tokens: 1000,
248
+ completion_tokens: 50,
249
+ cached_tokens: 800,
250
+ cache_write_tokens: 100
251
+ })));
252
+ const p = new OpenAIProvider({ apiKey: 'k' });
253
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
254
+ expect(result.cacheUsage).toEqual({
255
+ cacheReadInputTokens: 800,
256
+ cacheCreationInputTokens: 100
257
+ });
258
+ expect(result.usage).toEqual({ inputTokens: 100, outputTokens: 50 });
259
+ });
260
+ it('does not emit cacheUsage when prompt_tokens_details is absent', async () => {
261
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
262
+ const p = new OpenAIProvider({ apiKey: 'k' });
263
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
264
+ expect(result.cacheUsage).toBeUndefined();
265
+ });
266
+ });
267
+ describe('OpenAIProvider — request body shape', () => {
268
+ beforeEach(() => {
269
+ vi.stubGlobal('fetch', vi.fn());
270
+ });
271
+ afterEach(() => {
272
+ vi.unstubAllGlobals();
273
+ });
274
+ function lastBody() {
275
+ const fetchMock = vi.mocked(fetch);
276
+ const call = fetchMock.mock.calls[fetchMock.mock.calls.length - 1];
277
+ const init = call[1];
278
+ return JSON.parse(init.body);
279
+ }
280
+ function lastHeaders() {
281
+ const fetchMock = vi.mocked(fetch);
282
+ const call = fetchMock.mock.calls[fetchMock.mock.calls.length - 1];
283
+ const init = call[1];
284
+ return init.headers;
285
+ }
286
+ it('forwards options.temperature, options.topP, options.stopSequences', async () => {
287
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
288
+ const p = new OpenAIProvider({ apiKey: 'k' });
289
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], [], {
290
+ temperature: 0.3,
291
+ topP: 0.9,
292
+ stopSequences: ['\n\n', 'STOP']
293
+ });
294
+ const body = lastBody();
295
+ expect(body.temperature).toBe(0.3);
296
+ expect(body.top_p).toBe(0.9);
297
+ expect(body.stop).toEqual(['\n\n', 'STOP']);
298
+ });
299
+ it('omits sampling params when not provided', async () => {
300
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
301
+ const p = new OpenAIProvider({ apiKey: 'k' });
302
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
303
+ const body = lastBody();
304
+ expect(body.temperature).toBeUndefined();
305
+ expect(body.top_p).toBeUndefined();
306
+ expect(body.stop).toBeUndefined();
307
+ });
308
+ it('options.model overrides the constructor default', async () => {
309
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
310
+ const p = new OpenAIProvider({ apiKey: 'k', model: 'gpt-4o' });
311
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], [], { model: 'gpt-4o-mini' });
312
+ expect(lastBody().model).toBe('gpt-4o-mini');
313
+ });
314
+ it('attaches Authorization header and merges defaultHeaders', async () => {
315
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
316
+ const p = new OpenAIProvider({
317
+ apiKey: 'secret',
318
+ defaultHeaders: { 'X-Custom': 'yes' }
319
+ });
320
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
321
+ const headers = lastHeaders();
322
+ expect(headers['Authorization']).toBe('Bearer secret');
323
+ expect(headers['Content-Type']).toBe('application/json');
324
+ expect(headers['X-Custom']).toBe('yes');
325
+ });
326
+ it('hits the configured baseURL', async () => {
327
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
328
+ const p = OpenAIProvider.groq({ apiKey: 'k' });
329
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
330
+ const fetchMock = vi.mocked(fetch);
331
+ const url = fetchMock.mock.calls[0][0];
332
+ expect(url).toBe('https://api.groq.com/openai/v1/chat/completions');
333
+ });
334
+ });
335
+ describe('OpenAIProvider — message conversion', () => {
336
+ beforeEach(() => {
337
+ vi.stubGlobal('fetch', vi.fn());
338
+ });
339
+ afterEach(() => {
340
+ vi.unstubAllGlobals();
341
+ });
342
+ function lastMessages() {
343
+ const fetchMock = vi.mocked(fetch);
344
+ const call = fetchMock.mock.calls[fetchMock.mock.calls.length - 1];
345
+ const body = JSON.parse(call[1].body);
346
+ return body.messages;
347
+ }
348
+ it('prepends the system prompt as the first message', async () => {
349
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
350
+ const p = new OpenAIProvider({ apiKey: 'k' });
351
+ await p.chat('be helpful', [{ role: 'user', content: 'hi' }], []);
352
+ const msgs = lastMessages();
353
+ expect(msgs[0]).toEqual({ role: 'system', content: 'be helpful' });
354
+ expect(msgs[1]).toEqual({ role: 'user', content: 'hi' });
355
+ });
356
+ it('roundtrips assistant tool_use → tool_call and tool_result → tool role', async () => {
357
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'done' })));
358
+ const messages = [
359
+ { role: 'user', content: 'find milk' },
360
+ {
361
+ role: 'assistant',
362
+ content: [
363
+ { type: 'text', text: 'searching' },
364
+ { type: 'tool_use', id: 't1', name: 'search', input: { q: 'milk' } }
365
+ ]
366
+ },
367
+ {
368
+ role: 'user',
369
+ content: [
370
+ { type: 'tool_result', tool_use_id: 't1', content: '[{"name":"milk"}]' }
371
+ ]
372
+ }
373
+ ];
374
+ const p = new OpenAIProvider({ apiKey: 'k' });
375
+ await p.chat('sys', messages, [dummyTool]);
376
+ const msgs = lastMessages();
377
+ // [system, user, assistant-with-tool_calls, tool]
378
+ expect(msgs).toHaveLength(4);
379
+ expect(msgs[2].role).toBe('assistant');
380
+ expect(msgs[2].content).toBe('searching');
381
+ expect(msgs[2].tool_calls).toEqual([
382
+ { id: 't1', type: 'function', function: { name: 'search', arguments: JSON.stringify({ q: 'milk' }) } }
383
+ ]);
384
+ expect(msgs[3]).toEqual({
385
+ role: 'tool',
386
+ content: '[{"name":"milk"}]',
387
+ tool_call_id: 't1'
388
+ });
389
+ });
390
+ it('converts tool schemas to OpenAI function form', async () => {
391
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
392
+ const p = new OpenAIProvider({ apiKey: 'k' });
393
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], [dummyTool]);
394
+ const fetchMock = vi.mocked(fetch);
395
+ const body = JSON.parse(fetchMock.mock.calls[0][1].body);
396
+ expect(body.tools).toEqual([
397
+ {
398
+ type: 'function',
399
+ function: {
400
+ name: 'search',
401
+ description: 'search things',
402
+ parameters: { type: 'object', properties: { q: { type: 'string' } } }
403
+ }
404
+ }
405
+ ]);
406
+ });
407
+ it('omits the tools field when no tools are provided', async () => {
408
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({ content: 'ok' })));
409
+ const p = new OpenAIProvider({ apiKey: 'k' });
410
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
411
+ const fetchMock = vi.mocked(fetch);
412
+ const body = JSON.parse(fetchMock.mock.calls[0][1].body);
413
+ expect(body.tools).toBeUndefined();
414
+ });
415
+ });
416
+ describe('OpenAIProvider — reasoning stripping', () => {
417
+ beforeEach(() => {
418
+ vi.stubGlobal('fetch', vi.fn());
419
+ });
420
+ afterEach(() => {
421
+ vi.unstubAllGlobals();
422
+ });
423
+ it('strips harmony channel markers from text content by default', async () => {
424
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({
425
+ content: '<|channel|>analysis<|message|>Plain answer here.'
426
+ })));
427
+ const p = new OpenAIProvider({ apiKey: 'k' });
428
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
429
+ expect(result.content).toEqual([{ type: 'text', text: 'Plain answer here.' }]);
430
+ });
431
+ it('strips a leading `thought` preamble', async () => {
432
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({
433
+ content: 'thought\nThe real answer.'
434
+ })));
435
+ const p = new OpenAIProvider({ apiKey: 'k' });
436
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
437
+ expect(result.content).toEqual([{ type: 'text', text: 'The real answer.' }]);
438
+ });
439
+ it('preserves the raw text when stripReasoning is false', async () => {
440
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse(okChoice({
441
+ content: '<|channel|>analysis<|message|>Plain answer here.'
442
+ })));
443
+ const p = new OpenAIProvider({ apiKey: 'k', stripReasoning: false });
444
+ const result = await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
445
+ expect(result.content).toEqual([
446
+ { type: 'text', text: '<|channel|>analysis<|message|>Plain answer here.' }
447
+ ]);
448
+ });
449
+ });
450
+ describe('OpenAIProvider — error handling', () => {
451
+ beforeEach(() => {
452
+ vi.stubGlobal('fetch', vi.fn());
453
+ });
454
+ afterEach(() => {
455
+ vi.unstubAllGlobals();
456
+ });
457
+ it('throws with vendor name and HTTP status on a non-2xx', async () => {
458
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse({ error: { message: 'bad key' } }, 401));
459
+ const p = new OpenAIProvider({ apiKey: 'k', vendor: 'groq' });
460
+ await expect(p.chat('sys', [{ role: 'user', content: 'hi' }], [])).rejects.toThrow(/groq API error \(HTTP 401\): bad key/);
461
+ });
462
+ it('throws on a 503 in a way that isTransientError classifies as transient', async () => {
463
+ vi.mocked(fetch).mockResolvedValueOnce(textResponse('upstream busy', 503, 'Service Unavailable'));
464
+ const p = new OpenAIProvider({ apiKey: 'k', vendor: 'groq' });
465
+ let caught;
466
+ try {
467
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
468
+ }
469
+ catch (err) {
470
+ caught = err;
471
+ }
472
+ expect(caught).toBeInstanceOf(Error);
473
+ expect(isTransientError(caught)).toBe(true);
474
+ });
475
+ it('throws on a 401 in a way that isTransientError rejects', async () => {
476
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse({ error: { message: 'bad key' } }, 401));
477
+ const p = new OpenAIProvider({ apiKey: 'k' });
478
+ let caught;
479
+ try {
480
+ await p.chat('sys', [{ role: 'user', content: 'hi' }], []);
481
+ }
482
+ catch (err) {
483
+ caught = err;
484
+ }
485
+ expect(isTransientError(caught)).toBe(false);
486
+ });
487
+ it('throws when the response body is not JSON', async () => {
488
+ vi.mocked(fetch).mockResolvedValueOnce(textResponse('not-json', 200));
489
+ const p = new OpenAIProvider({ apiKey: 'k' });
490
+ await expect(p.chat('sys', [{ role: 'user', content: 'hi' }], [])).rejects.toThrow(/openai API error: response was not valid JSON/);
491
+ });
492
+ it('throws when 200 OK carries an error body', async () => {
493
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse({ error: { message: 'rate limited' } }));
494
+ const p = new OpenAIProvider({ apiKey: 'k' });
495
+ await expect(p.chat('sys', [{ role: 'user', content: 'hi' }], [])).rejects.toThrow(/openai API error: rate limited/);
496
+ });
497
+ it('throws when no choices are returned', async () => {
498
+ vi.mocked(fetch).mockResolvedValueOnce(jsonResponse({
499
+ id: 'r',
500
+ choices: [],
501
+ usage: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 }
502
+ }));
503
+ const p = new OpenAIProvider({ apiKey: 'k' });
504
+ await expect(p.chat('sys', [{ role: 'user', content: 'hi' }], [])).rejects.toThrow(/empty response/);
505
+ });
506
+ });
507
+ //# sourceMappingURL=openai.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.test.js","sourceRoot":"","sources":["../../../src/providers/llm/openai.test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -123,6 +123,12 @@ export interface CacheUsage {
123
123
  }
124
124
  export interface LLMOptions {
125
125
  model?: string;
126
+ /** Sampling temperature (0–2 typical). Forwarded to providers that accept it. */
127
+ temperature?: number;
128
+ /** Nucleus-sampling cutoff (0–1). Forwarded to providers that accept it. */
129
+ topP?: number;
130
+ /** Stop sequences — generation halts when any is produced. */
131
+ stopSequences?: string[];
126
132
  }
127
133
  export interface LLMProvider {
128
134
  chat(systemPrompt: string, messages: Message[], tools: ToolSchema[], options?: LLMOptions): Promise<LLMResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexnetrebskii/hive-agent",
3
- "version": "2.40.0",
3
+ "version": "2.41.0",
4
4
  "description": "Tuplet — minimal TypeScript agent framework inspired by Claude Code architecture",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",