opencode-puter-auth 1.0.37 → 1.0.39

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
@@ -5,7 +5,7 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/chindrismihai)
7
7
 
8
- > Access Claude Opus 4.5, Sonnet 4.5, GPT-5, Gemini, DeepSeek, and 500+ AI models through Puter.com OAuth. No API keys needed - free tier available with undocumented limits.
8
+ > Access Claude Opus 4.5, Sonnet 4.5, GPT-5, Gemini, DeepSeek, and 500+ AI models through Puter.com OAuth. Includes 400+ FREE OpenRouter models. No API keys needed - free tier available with undocumented limits.
9
9
 
10
10
  Enable OpenCode to authenticate with [Puter.com](https://puter.com) via OAuth, giving you access to premium AI models through your Puter account. Ideal for app developers using the "User-Pays" model where each user covers their own AI costs.
11
11
 
@@ -16,6 +16,7 @@ Enable OpenCode to authenticate with [Puter.com](https://puter.com) via OAuth, g
16
16
  - **Gemini 2.5 Pro** - 1M context window
17
17
  - **DeepSeek R1** - Advanced reasoning model
18
18
  - **500+ More Models** - Mistral, Llama, Grok, and more
19
+ - **400+ FREE OpenRouter Models** - Including MiMo-V2-Flash (#1 on SWE-bench), Qwen3 Coder, and GPT-OSS
19
20
  - **Real-time SSE Streaming** - Full streaming support
20
21
  - **Tool Calling** - Native function calling support
21
22
  - **Vision Support** - Image analysis capabilities
@@ -205,6 +206,114 @@ opencode --model=puter/claude-opus-4-5
205
206
  |-------|-------------|---------|----------|
206
207
  | `puter/deepseek-r1` | Advanced reasoning | 128K | Complex problem solving |
207
208
 
209
+ ## OpenRouter Models (400+ Free Models via Puter)
210
+
211
+ Puter acts as a gateway to **OpenRouter**, giving you access to 400+ additional models. Many of these have FREE tiers (`:free` suffix) with more generous limits than premium models.
212
+
213
+ ### How It Works
214
+
215
+ Use the `openrouter:` prefix to access any OpenRouter model through Puter:
216
+
217
+ ```bash
218
+ # Format: puter/openrouter:provider/model-name
219
+ opencode --model=puter/openrouter:deepseek/deepseek-r1-0528:free
220
+ ```
221
+
222
+ ### Configuration for OpenRouter Models
223
+
224
+ Add these to your `opencode.json` models section:
225
+
226
+ ```json
227
+ {
228
+ "provider": {
229
+ "puter": {
230
+ "npm": "opencode-puter-auth",
231
+ "name": "Puter.com (500+ AI Models)",
232
+ "models": {
233
+ "openrouter:xiaomi/mimo-v2-flash:free": {
234
+ "name": "MiMo-V2-Flash (Free - Best Open Source)",
235
+ "limit": { "context": 262000, "output": 32768 },
236
+ "modalities": { "input": ["text"], "output": ["text"] }
237
+ },
238
+ "openrouter:mistralai/devstral-2512:free": {
239
+ "name": "Devstral 2 (Free - Agentic Coding)",
240
+ "limit": { "context": 262000, "output": 32768 },
241
+ "modalities": { "input": ["text"], "output": ["text"] }
242
+ },
243
+ "openrouter:deepseek/deepseek-r1-0528:free": {
244
+ "name": "DeepSeek R1 0528 (Free - o1-level Reasoning)",
245
+ "limit": { "context": 164000, "output": 32768 },
246
+ "modalities": { "input": ["text"], "output": ["text"] }
247
+ },
248
+ "openrouter:qwen/qwen3-coder:free": {
249
+ "name": "Qwen3 Coder 480B (Free - Massive Coder)",
250
+ "limit": { "context": 262000, "output": 32768 },
251
+ "modalities": { "input": ["text"], "output": ["text"] }
252
+ },
253
+ "openrouter:meta-llama/llama-3.3-70b-instruct:free": {
254
+ "name": "Llama 3.3 70B (Free - Multilingual)",
255
+ "limit": { "context": 131000, "output": 32768 },
256
+ "modalities": { "input": ["text"], "output": ["text"] }
257
+ },
258
+ "openrouter:google/gemma-3-27b-it:free": {
259
+ "name": "Gemma 3 27B (Free - Multimodal)",
260
+ "limit": { "context": 131000, "output": 32768 },
261
+ "modalities": { "input": ["text", "image"], "output": ["text"] }
262
+ },
263
+ "openrouter:openai/gpt-oss-120b:free": {
264
+ "name": "GPT-OSS 120B (Free - OpenAI Open Weights)",
265
+ "limit": { "context": 131000, "output": 32768 },
266
+ "modalities": { "input": ["text"], "output": ["text"] }
267
+ },
268
+ "openrouter:google/gemini-2.0-flash-exp:free": {
269
+ "name": "Gemini 2.0 Flash Exp (Free - 1M Context)",
270
+ "limit": { "context": 1050000, "output": 65536 },
271
+ "modalities": { "input": ["text", "image"], "output": ["text"] }
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+ ```
278
+
279
+ ### Top Free OpenRouter Models (January 2026)
280
+
281
+ These models are completely FREE via Puter's OpenRouter gateway:
282
+
283
+ | Model | Parameters | Context | Best For |
284
+ |-------|------------|---------|----------|
285
+ | `puter/openrouter:xiaomi/mimo-v2-flash:free` | 309B MoE | 262K | **#1 on SWE-bench** - Comparable to Claude Sonnet 4.5 |
286
+ | `puter/openrouter:mistralai/devstral-2512:free` | 123B | 262K | Agentic coding, multi-file changes |
287
+ | `puter/openrouter:deepseek/deepseek-r1-0528:free` | 671B MoE | 164K | o1-level reasoning, fully open-source |
288
+ | `puter/openrouter:qwen/qwen3-coder:free` | 480B MoE | 262K | Massive coding model, tool use |
289
+ | `puter/openrouter:openai/gpt-oss-120b:free` | 117B MoE | 131K | OpenAI's open-weight model |
290
+ | `puter/openrouter:openai/gpt-oss-20b:free` | 21B MoE | 131K | Lightweight, single-GPU deployable |
291
+ | `puter/openrouter:meta-llama/llama-3.3-70b-instruct:free` | 70B | 131K | Multilingual, general purpose |
292
+ | `puter/openrouter:google/gemma-3-27b-it:free` | 27B | 131K | Vision + 140 languages |
293
+ | `puter/openrouter:google/gemini-2.0-flash-exp:free` | - | 1M | Fastest Gemini, huge context |
294
+ | `puter/openrouter:nousresearch/hermes-3-llama-3.1-405b:free` | 405B | 131K | Frontier-level, agentic |
295
+
296
+ ### Why Use OpenRouter Models?
297
+
298
+ 1. **More Generous Free Limits** - The `:free` models often have better rate limits than premium Puter models
299
+ 2. **Open Source** - Many are fully open-source with transparent weights
300
+ 3. **Specialized** - Models optimized for specific tasks (coding, reasoning, etc.)
301
+ 4. **Fallback Options** - When premium models are rate-limited, fall back to free alternatives
302
+
303
+ ### Accessing Any OpenRouter Model
304
+
305
+ You can use ANY model from [OpenRouter's catalog](https://openrouter.ai/models) by adding it to your config:
306
+
307
+ ```json
308
+ "openrouter:anthropic/claude-opus-4.5": {
309
+ "name": "Claude Opus 4.5 (via OpenRouter)",
310
+ "limit": { "context": 200000, "output": 64000 },
311
+ "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
312
+ }
313
+ ```
314
+
315
+ Note: Non-free models will consume your Puter credits based on OpenRouter pricing.
316
+
208
317
  ## AI SDK Provider (Standalone Usage)
209
318
 
210
319
  You can also use the Puter AI SDK provider directly in your own applications:
@@ -241,17 +350,125 @@ Create `~/.config/opencode/puter.json` for advanced settings:
241
350
  "debug": false,
242
351
  "api_timeout_ms": 120000,
243
352
  "auto_create_temp_user": true,
244
- "max_retries": 3
353
+ "max_retries": 3,
354
+ "cache_ttl_ms": 300000
245
355
  }
246
356
  ```
247
357
 
248
358
  | Option | Default | Description |
249
359
  |--------|---------|-------------|
250
360
  | `quiet_mode` | `false` | Suppress status messages |
251
- | `debug` | `false` | Enable debug logging |
361
+ | `debug` | `false` | Enable verbose debug logging (see below) |
252
362
  | `api_timeout_ms` | `120000` | Request timeout (2 min) |
253
363
  | `auto_create_temp_user` | `true` | Auto-create temp account |
254
364
  | `max_retries` | `3` | Retry failed requests |
365
+ | `cache_ttl_ms` | `300000` | Model list cache TTL (5 min) |
366
+ | `fallback_enabled` | `true` | Enable automatic model fallback on rate limits |
367
+ | `fallback_models` | See below | Custom list of fallback models |
368
+ | `fallback_cooldown_ms` | `60000` | Cooldown period for rate-limited models (1 min) |
369
+
370
+ ## Automatic Model Fallback
371
+
372
+ When a model returns HTTP 429 (rate limited) or 403 (forbidden), the plugin automatically tries free OpenRouter models. This keeps your workflow running even when premium models are temporarily unavailable.
373
+
374
+ ### How It Works
375
+
376
+ 1. You request a model (e.g., `claude-opus-4-5`)
377
+ 2. If that model returns a rate limit error, it goes into "cooldown"
378
+ 3. The plugin automatically tries the next available free model
379
+ 4. A warning is logged showing which fallback model was used
380
+ 5. Your request completes without manual intervention
381
+
382
+ ### Default Fallback Models
383
+
384
+ When rate limits are hit, these free models are tried in order:
385
+
386
+ | Priority | Model | Description |
387
+ |----------|-------|-------------|
388
+ | 1 | `openrouter:xiaomi/mimo-v2-flash:free` | #1 on SWE-bench, Claude Sonnet 4.5 level |
389
+ | 2 | `openrouter:deepseek/deepseek-r1-0528:free` | o1-level reasoning |
390
+ | 3 | `openrouter:mistralai/devstral-2512:free` | Agentic coding specialist |
391
+ | 4 | `openrouter:qwen/qwen3-coder:free` | 480B MoE coding model |
392
+ | 5 | `openrouter:google/gemini-2.0-flash-exp:free` | 1M context, fast |
393
+ | 6 | `openrouter:meta-llama/llama-4-maverick:free` | General purpose |
394
+ | 7 | `openrouter:openai/gpt-oss-120b:free` | OpenAI open weights |
395
+
396
+ ### Configuration
397
+
398
+ In `~/.config/opencode/puter.json`:
399
+
400
+ ```json
401
+ {
402
+ "fallback_enabled": true,
403
+ "fallback_cooldown_ms": 60000,
404
+ "fallback_models": [
405
+ "openrouter:xiaomi/mimo-v2-flash:free",
406
+ "openrouter:deepseek/deepseek-r1-0528:free",
407
+ "openrouter:mistralai/devstral-2512:free"
408
+ ]
409
+ }
410
+ ```
411
+
412
+ ### Disable Fallback
413
+
414
+ To disable fallback globally:
415
+
416
+ ```json
417
+ {
418
+ "fallback_enabled": false
419
+ }
420
+ ```
421
+
422
+ To disable fallback for a specific request (programmatic usage):
423
+
424
+ ```typescript
425
+ import { createPuter } from 'opencode-puter-auth';
426
+
427
+ const puter = createPuter({ authToken: 'your-token' });
428
+ const model = puter('claude-opus-4-5', { disableFallback: true });
429
+ ```
430
+
431
+ ### Cooldown Behavior
432
+
433
+ - Rate-limited models are put on cooldown for `fallback_cooldown_ms` (default: 1 minute)
434
+ - Models on cooldown are skipped in favor of available models
435
+ - Cooldown automatically expires, allowing the model to be retried
436
+ - If all models (including fallbacks) are exhausted, the original error is thrown
437
+
438
+ ### Debug Logging
439
+
440
+ When `debug: true` is set, the plugin outputs detailed logs with timestamps:
441
+
442
+ ```
443
+ [puter-auth] 15:30:45 Request: POST /drivers/call method=complete model=claude-opus-4-5 stream=true messages=3
444
+ [puter-auth] 15:30:45 Stream connected duration=234ms
445
+ [puter-auth] 15:30:47 Response: 200 Stream complete (2.1s)
446
+ ```
447
+
448
+ If a request fails and retries:
449
+
450
+ ```
451
+ [puter-auth] 15:30:45 Request: POST /drivers/call method=complete model=claude-opus-4-5
452
+ [puter-auth] 15:30:45 Retry 1/3: Rate limited (429), waiting 1000ms
453
+ [puter-auth] 15:30:46 Retry 2/3: Rate limited (429), waiting 2000ms
454
+ [puter-auth] 15:30:48 Response: 200 OK (3.2s)
455
+ ```
456
+
457
+ Auth state changes:
458
+
459
+ ```
460
+ [puter-auth] 15:30:45 Auth: Account added - username
461
+ [puter-auth] 15:30:45 Auth: Switched account - other_user
462
+ ```
463
+
464
+ Fallback behavior:
465
+
466
+ ```
467
+ [puter-auth] 15:30:45 Request: claude-opus-4-5
468
+ [puter-auth] 15:30:45 Rate limited (429), adding to cooldown
469
+ [puter-auth] 15:30:45 Fallback: trying openrouter:xiaomi/mimo-v2-flash:free
470
+ [puter-auth] 15:30:47 Response: 200 OK (used fallback model)
471
+ ```
255
472
 
256
473
  ## Custom Tools
257
474
 
@@ -362,11 +579,12 @@ The new standalone provider offers:
362
579
  This means your Puter account has exhausted its free tier credits. Despite Puter's "Free Unlimited" marketing, limits do exist.
363
580
 
364
581
  **Solutions:**
365
- 1. **Wait** - Limits may reset (timing undocumented)
366
- 2. **Add credits** on [Puter.com](https://puter.com) (paid)
367
- 3. **New account** - Create a new Puter account (new accounts get free credits)
368
- 4. **Switch providers** - Use Antigravity, OpenRouter free tier, or other free providers
369
- 5. **Use lighter models** - Haiku/Flash models may consume fewer credits than Opus
582
+ 1. **Switch to FREE OpenRouter models** - Use `puter/openrouter:xiaomi/mimo-v2-flash:free` or other `:free` models (see OpenRouter section above)
583
+ 2. **Wait** - Limits may reset (timing undocumented)
584
+ 3. **Add credits** on [Puter.com](https://puter.com) (paid)
585
+ 4. **New account** - Create a new Puter account (new accounts get free credits)
586
+ 5. **Switch providers** - Use Antigravity, OpenRouter free tier, or other free providers
587
+ 6. **Use lighter models** - Haiku/Flash models may consume fewer credits than Opus
370
588
 
371
589
  ### Clear cached plugin and reinstall
372
590
 
@@ -3,12 +3,19 @@
3
3
  *
4
4
  * Implements the AI SDK LanguageModelV3 interface using the official @heyputer/puter.js SDK.
5
5
  * This enables Puter to work as a proper AI SDK provider in OpenCode.
6
+ *
7
+ * Features automatic model fallback when rate limits are encountered.
6
8
  */
7
9
  import type { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult } from '@ai-sdk/provider';
8
10
  import type { PuterChatSettings, PuterChatConfig } from './puter-chat-settings.js';
9
11
  /**
10
12
  * Puter Chat Language Model implementing LanguageModelV3.
11
13
  * Uses the official @heyputer/puter.js SDK for all API calls.
14
+ *
15
+ * Features automatic model fallback when rate limits are encountered:
16
+ * - Detects rate limit errors (429, 403)
17
+ * - Automatically switches to free OpenRouter models
18
+ * - Tracks model cooldowns to avoid repeated failures
12
19
  */
13
20
  export declare class PuterChatLanguageModel implements LanguageModelV3 {
14
21
  readonly specificationVersion: "v3";
@@ -17,6 +24,8 @@ export declare class PuterChatLanguageModel implements LanguageModelV3 {
17
24
  private readonly settings;
18
25
  private readonly config;
19
26
  private puterInstance;
27
+ private readonly fallbackManager;
28
+ private readonly logger;
20
29
  constructor(modelId: string, settings: PuterChatSettings, config: PuterChatConfig);
21
30
  /**
22
31
  * Initialize the Puter SDK with auth token.
@@ -37,6 +46,10 @@ export declare class PuterChatLanguageModel implements LanguageModelV3 {
37
46
  private convertTools;
38
47
  /**
39
48
  * Build options for Puter SDK chat call.
49
+ *
50
+ * @param options - AI SDK call options
51
+ * @param streaming - Whether to enable streaming
52
+ * @param modelOverride - Optional model to use instead of this.modelId (for fallback)
40
53
  */
41
54
  private buildSDKOptions;
42
55
  /**
@@ -53,10 +66,16 @@ export declare class PuterChatLanguageModel implements LanguageModelV3 {
53
66
  private extractTextContent;
54
67
  /**
55
68
  * Non-streaming generation using Puter SDK.
69
+ *
70
+ * Automatically falls back to alternative models when rate limits are hit,
71
+ * unless `disableFallback` is set in settings.
56
72
  */
57
73
  doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
58
74
  /**
59
75
  * Streaming generation using Puter SDK.
76
+ *
77
+ * Automatically falls back to alternative models when rate limits are hit,
78
+ * unless `disableFallback` is set in settings.
60
79
  */
61
80
  doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
62
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"puter-chat-language-model.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-language-model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAW5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAiGnF;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,oBAAoB,EAAG,IAAI,CAAU;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAyB;gBAG5C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,eAAe;IAQzB;;OAEG;YACW,YAAY;IA0B1B;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE5C;IAED;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4E/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiCvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAyD7F;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;CA2E1F"}
1
+ {"version":3,"file":"puter-chat-language-model.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-language-model.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAW5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAsGnF;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,oBAAoB,EAAG,IAAI,CAAU;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,eAAe;IAczB;;OAEG;YACW,YAAY;IA0B1B;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE5C;IAED;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4E/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAqCvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA2F7F;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;CA2G1F"}
@@ -3,10 +3,19 @@
3
3
  *
4
4
  * Implements the AI SDK LanguageModelV3 interface using the official @heyputer/puter.js SDK.
5
5
  * This enables Puter to work as a proper AI SDK provider in OpenCode.
6
+ *
7
+ * Features automatic model fallback when rate limits are encountered.
6
8
  */
9
+ import { getGlobalFallbackManager, } from '../fallback.js';
10
+ import { createLogger } from '../logger.js';
7
11
  /**
8
12
  * Puter Chat Language Model implementing LanguageModelV3.
9
13
  * Uses the official @heyputer/puter.js SDK for all API calls.
14
+ *
15
+ * Features automatic model fallback when rate limits are encountered:
16
+ * - Detects rate limit errors (429, 403)
17
+ * - Automatically switches to free OpenRouter models
18
+ * - Tracks model cooldowns to avoid repeated failures
10
19
  */
11
20
  export class PuterChatLanguageModel {
12
21
  specificationVersion = 'v3';
@@ -15,11 +24,17 @@ export class PuterChatLanguageModel {
15
24
  settings;
16
25
  config;
17
26
  puterInstance = null;
27
+ fallbackManager;
28
+ logger;
18
29
  constructor(modelId, settings, config) {
19
30
  this.modelId = modelId;
20
31
  this.settings = settings;
21
32
  this.config = config;
22
33
  this.provider = config.provider;
34
+ // Initialize fallback manager with config options
35
+ this.fallbackManager = getGlobalFallbackManager(config.fallback);
36
+ // Create logger (uses console by default, can be configured)
37
+ this.logger = createLogger({ debug: false }); // Will be quiet unless debug enabled
23
38
  }
24
39
  /**
25
40
  * Initialize the Puter SDK with auth token.
@@ -144,13 +159,17 @@ export class PuterChatLanguageModel {
144
159
  }
145
160
  /**
146
161
  * Build options for Puter SDK chat call.
162
+ *
163
+ * @param options - AI SDK call options
164
+ * @param streaming - Whether to enable streaming
165
+ * @param modelOverride - Optional model to use instead of this.modelId (for fallback)
147
166
  */
148
- buildSDKOptions(options, streaming) {
167
+ buildSDKOptions(options, streaming, modelOverride) {
149
168
  // Filter to only function tools
150
169
  const functionTools = options.tools?.filter((tool) => tool.type === 'function');
151
170
  const tools = this.convertTools(functionTools);
152
171
  const sdkOptions = {
153
- model: this.modelId,
172
+ model: modelOverride ?? this.modelId,
154
173
  stream: streaming,
155
174
  };
156
175
  // Only add optional params if they have values
@@ -232,13 +251,43 @@ export class PuterChatLanguageModel {
232
251
  }
233
252
  /**
234
253
  * Non-streaming generation using Puter SDK.
254
+ *
255
+ * Automatically falls back to alternative models when rate limits are hit,
256
+ * unless `disableFallback` is set in settings.
235
257
  */
236
258
  async doGenerate(options) {
237
259
  const puter = await this.initPuterSDK();
238
260
  const messages = this.convertPromptToMessages(options.prompt);
239
- const sdkOptions = this.buildSDKOptions(options, false);
240
261
  const warnings = [];
241
- const response = await puter.ai.chat(messages, sdkOptions);
262
+ // Check if fallback is disabled for this request
263
+ const useFallback = !this.settings.disableFallback;
264
+ // Define the operation that will be executed (possibly with fallback)
265
+ const executeChat = async (model) => {
266
+ const sdkOptions = this.buildSDKOptions(options, false, model);
267
+ return await puter.ai.chat(messages, sdkOptions);
268
+ };
269
+ let response;
270
+ let actualModelUsed = this.modelId;
271
+ let wasFallback = false;
272
+ if (useFallback) {
273
+ // Execute with fallback support
274
+ const fallbackResult = await this.fallbackManager.executeWithFallback(this.modelId, executeChat, this.logger);
275
+ response = fallbackResult.result;
276
+ actualModelUsed = fallbackResult.usedModel;
277
+ wasFallback = fallbackResult.wasFallback;
278
+ if (wasFallback) {
279
+ // Add a warning that fallback was used
280
+ warnings.push({
281
+ type: 'other',
282
+ message: `Model ${this.modelId} rate limited, used fallback: ${actualModelUsed}`,
283
+ });
284
+ }
285
+ }
286
+ else {
287
+ // Execute without fallback
288
+ const sdkOptions = this.buildSDKOptions(options, false);
289
+ response = await puter.ai.chat(messages, sdkOptions);
290
+ }
242
291
  const content = [];
243
292
  // Extract text content (handles both string and array formats)
244
293
  const textContent = this.extractTextContent(response.message?.content);
@@ -277,7 +326,7 @@ export class PuterChatLanguageModel {
277
326
  finishReason: this.mapFinishReason(response.finish_reason),
278
327
  usage: this.mapUsage(response.usage),
279
328
  warnings,
280
- request: { body: { messages, options: sdkOptions } },
329
+ request: { body: { messages, model: actualModelUsed } },
281
330
  response: {
282
331
  body: response,
283
332
  },
@@ -285,14 +334,42 @@ export class PuterChatLanguageModel {
285
334
  }
286
335
  /**
287
336
  * Streaming generation using Puter SDK.
337
+ *
338
+ * Automatically falls back to alternative models when rate limits are hit,
339
+ * unless `disableFallback` is set in settings.
288
340
  */
289
341
  async doStream(options) {
290
342
  const puter = await this.initPuterSDK();
291
343
  const messages = this.convertPromptToMessages(options.prompt);
292
- const sdkOptions = this.buildSDKOptions(options, true);
293
344
  const warnings = [];
294
345
  const generateId = this.config.generateId;
295
- const streamResponse = await puter.ai.chat(messages, sdkOptions);
346
+ // Check if fallback is disabled for this request
347
+ const useFallback = !this.settings.disableFallback;
348
+ // Define the operation that initiates the stream
349
+ const initiateStream = async (model) => {
350
+ const sdkOptions = this.buildSDKOptions(options, true, model);
351
+ return await puter.ai.chat(messages, sdkOptions);
352
+ };
353
+ let streamResponse;
354
+ let actualModelUsed = this.modelId;
355
+ if (useFallback) {
356
+ // Execute stream initiation with fallback support
357
+ const fallbackResult = await this.fallbackManager.executeWithFallback(this.modelId, initiateStream, this.logger);
358
+ streamResponse = fallbackResult.result;
359
+ actualModelUsed = fallbackResult.usedModel;
360
+ if (fallbackResult.wasFallback) {
361
+ // Add a warning that fallback was used
362
+ warnings.push({
363
+ type: 'other',
364
+ message: `Model ${this.modelId} rate limited, used fallback: ${actualModelUsed}`,
365
+ });
366
+ }
367
+ }
368
+ else {
369
+ // Execute without fallback
370
+ const sdkOptions = this.buildSDKOptions(options, true);
371
+ streamResponse = await puter.ai.chat(messages, sdkOptions);
372
+ }
296
373
  // Create a transform stream to convert Puter chunks to AI SDK format
297
374
  const self = this;
298
375
  let textId = null;
@@ -350,7 +427,7 @@ export class PuterChatLanguageModel {
350
427
  });
351
428
  return {
352
429
  stream,
353
- request: { body: { messages, options: sdkOptions } },
430
+ request: { body: { messages, model: actualModelUsed } },
354
431
  };
355
432
  }
356
433
  }
@@ -1 +1 @@
1
- {"version":3,"file":"puter-chat-language-model.js","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puter-chat-language-model.js","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-language-model.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Configuration options for the Puter chat language model.
5
5
  */
6
+ import type { FallbackOptions } from '../fallback.js';
6
7
  /**
7
8
  * Settings for the Puter chat model.
8
9
  */
@@ -39,6 +40,13 @@ export interface PuterChatSettings {
39
40
  * @default true
40
41
  */
41
42
  stream?: boolean;
43
+ /**
44
+ * Disable automatic model fallback for this request.
45
+ * When true, rate limit errors will be thrown immediately without
46
+ * trying fallback models.
47
+ * @default false
48
+ */
49
+ disableFallback?: boolean;
42
50
  }
43
51
  /**
44
52
  * Configuration for the Puter provider.
@@ -79,6 +87,11 @@ export interface PuterProviderConfig {
79
87
  * Used for tool call IDs and other identifiers.
80
88
  */
81
89
  generateId?: () => string;
90
+ /**
91
+ * Fallback configuration options.
92
+ * Controls automatic model fallback when rate limits are encountered.
93
+ */
94
+ fallback?: FallbackOptions;
82
95
  }
83
96
  /**
84
97
  * Internal configuration passed to the chat model.
@@ -109,5 +122,10 @@ export interface PuterChatConfig {
109
122
  * Function to generate unique IDs.
110
123
  */
111
124
  generateId: () => string;
125
+ /**
126
+ * Fallback configuration options.
127
+ * Controls automatic model fallback when rate limits are encountered.
128
+ */
129
+ fallback?: FallbackOptions;
112
130
  }
113
131
  //# sourceMappingURL=puter-chat-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"puter-chat-settings.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAExE;;OAEG;IACH,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"puter-chat-settings.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAExE;;OAEG;IACH,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"puter-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAmB,MAAM,0BAA0B,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C;;;;OAIG;IACH,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAExE;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAErF;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;CAC7E;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa,CA+G5E;AA6CD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,aAsBnB,CAAC"}
1
+ {"version":3,"file":"puter-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAmB,MAAM,0BAA0B,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C;;;;OAIG;IACH,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAExE;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAErF;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;CAC7E;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa,CAgH5E;AA6CD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,aAsBnB,CAAC"}
@@ -89,6 +89,7 @@ export function createPuter(options = {}) {
89
89
  headers: getHeaders,
90
90
  fetch: fetchFn,
91
91
  generateId: generateIdFn,
92
+ fallback: options.fallback,
92
93
  });
93
94
  /**
94
95
  * Create a chat language model.
@@ -1 +1 @@
1
- {"version":3,"file":"puter-provider.js","sourceRoot":"","sources":["../../src/ai-provider/puter-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puter-provider.js","sourceRoot":"","sources":["../../src/ai-provider/puter-provider.ts"],"names":[],"mappings":"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"}