@alexnetrebskii/hive-agent 2.40.0 → 2.42.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,27 @@ 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
+ * Google Gemini exposes an OpenAI-compatible endpoint. Model names match the
56
+ * `google:` cost-pricing keys (`gemini-2.5-flash`, `gemini-2.5-pro`, ...).
57
+ */
58
+ static google(config?: OpenAIProviderConfig): OpenAIProvider;
59
+ /**
60
+ * Ollama exposes an OpenAI-compatible endpoint at `<host>/v1/chat/completions`.
61
+ * Auth is unused — Ollama ignores the bearer token but the OpenAI client
62
+ * requires a non-empty Authorization header, so we stub one.
63
+ *
64
+ * `OLLAMA_HOST` (Ollama's standard env var) is honored and gets `/v1`
65
+ * appended. `model` is required — Ollama users pick whatever they pulled
66
+ * (`llama3.2`, `qwen2.5`, `gpt-oss:20b`, ...) and there's no universal default.
67
+ */
68
+ static ollama(config: OpenAIProviderConfig & {
69
+ model: string;
70
+ }): OpenAIProvider;
26
71
  }
27
72
  //# 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;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,GAAE,oBAAyB,GAAG,cAAc;IAUhE;;;;;;;;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,131 @@ 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
+ });
173
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
+ });
260
+ }
261
+ /**
262
+ * Google Gemini exposes an OpenAI-compatible endpoint. Model names match the
263
+ * `google:` cost-pricing keys (`gemini-2.5-flash`, `gemini-2.5-pro`, ...).
264
+ */
265
+ static google(config = {}) {
266
+ return new OpenAIProvider({
267
+ ...config,
268
+ apiKey: config.apiKey || process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY,
269
+ baseURL: config.baseURL || 'https://generativelanguage.googleapis.com/v1beta/openai',
270
+ vendor: config.vendor || 'google',
271
+ model: config.model || 'gemini-2.5-flash'
272
+ });
273
+ }
274
+ /**
275
+ * Ollama exposes an OpenAI-compatible endpoint at `<host>/v1/chat/completions`.
276
+ * Auth is unused — Ollama ignores the bearer token but the OpenAI client
277
+ * requires a non-empty Authorization header, so we stub one.
278
+ *
279
+ * `OLLAMA_HOST` (Ollama's standard env var) is honored and gets `/v1`
280
+ * appended. `model` is required — Ollama users pick whatever they pulled
281
+ * (`llama3.2`, `qwen2.5`, `gpt-oss:20b`, ...) and there's no universal default.
282
+ */
283
+ static ollama(config) {
284
+ return new OpenAIProvider({
285
+ ...config,
286
+ apiKey: config.apiKey || 'ollama',
287
+ baseURL: config.baseURL || ollamaBaseURL(),
288
+ vendor: config.vendor || 'ollama'
289
+ });
290
+ }
291
+ }
292
+ function ollamaBaseURL() {
293
+ const host = process.env.OLLAMA_HOST;
294
+ if (!host)
295
+ return 'http://localhost:11434/v1';
296
+ // Strip trailing slash, append /v1 unless already present.
297
+ const trimmed = host.replace(/\/+$/, '');
298
+ return trimmed.endsWith('/v1') ? trimmed : `${trimmed}/v1`;
299
+ }
300
+ function safeParseJson(text) {
301
+ try {
302
+ return JSON.parse(text);
303
+ }
304
+ catch {
305
+ return null;
306
+ }
307
+ }
308
+ function truncate(s, max) {
309
+ if (s.length <= max)
310
+ return s;
311
+ return `${s.slice(0, max)}…(+${s.length - max} chars)`;
174
312
  }
175
313
  //# 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":""}