opencode-puter-auth 1.0.1 → 1.0.3

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.
Files changed (37) hide show
  1. package/README.md +29 -3
  2. package/dist/ai-provider/index.d.ts +28 -0
  3. package/dist/ai-provider/index.d.ts.map +1 -0
  4. package/dist/ai-provider/index.js +28 -0
  5. package/dist/ai-provider/index.js.map +1 -0
  6. package/dist/ai-provider/puter-chat-language-model.d.ts +53 -0
  7. package/dist/ai-provider/puter-chat-language-model.d.ts.map +1 -0
  8. package/dist/ai-provider/puter-chat-language-model.js +405 -0
  9. package/dist/ai-provider/puter-chat-language-model.js.map +1 -0
  10. package/dist/ai-provider/puter-chat-settings.d.ts +106 -0
  11. package/dist/ai-provider/puter-chat-settings.d.ts.map +1 -0
  12. package/dist/ai-provider/puter-chat-settings.js +7 -0
  13. package/dist/ai-provider/puter-chat-settings.js.map +1 -0
  14. package/dist/ai-provider/puter-provider.d.ts +58 -0
  15. package/dist/ai-provider/puter-provider.d.ts.map +1 -0
  16. package/dist/ai-provider/puter-provider.js +149 -0
  17. package/dist/ai-provider/puter-provider.js.map +1 -0
  18. package/dist/client.d.ts +71 -3
  19. package/dist/client.d.ts.map +1 -1
  20. package/dist/client.js +159 -66
  21. package/dist/client.js.map +1 -1
  22. package/dist/index.d.ts +4 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +4 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/plugin.d.ts.map +1 -1
  27. package/dist/plugin.js +18 -4
  28. package/dist/plugin.js.map +1 -1
  29. package/dist/provider.d.ts +228 -0
  30. package/dist/provider.d.ts.map +1 -0
  31. package/dist/provider.js +611 -0
  32. package/dist/provider.js.map +1 -0
  33. package/dist/retry.d.ts +103 -0
  34. package/dist/retry.d.ts.map +1 -0
  35. package/dist/retry.js +175 -0
  36. package/dist/retry.js.map +1 -0
  37. package/package.json +3 -1
package/dist/client.js CHANGED
@@ -1,16 +1,22 @@
1
1
  /**
2
2
  * Puter API Client
3
3
  *
4
- * Handles all communication with Puter.com's AI API
4
+ * Handles all communication with Puter.com's AI API.
5
+ * Includes automatic retry with exponential backoff for transient failures.
5
6
  */
7
+ import { withRetry } from './retry.js';
6
8
  const DEFAULT_API_URL = 'https://api.puter.com';
7
9
  const DEFAULT_TIMEOUT = 120000;
10
+ const DEFAULT_MAX_RETRIES = 3;
11
+ const DEFAULT_RETRY_DELAY = 1000;
8
12
  export class PuterClient {
9
13
  authToken;
10
14
  config;
15
+ debug;
11
16
  constructor(authToken, config = {}) {
12
17
  this.authToken = authToken;
13
18
  this.config = config;
19
+ this.debug = config.debug ?? false;
14
20
  }
15
21
  /**
16
22
  * Get the API base URL
@@ -24,6 +30,20 @@ export class PuterClient {
24
30
  get timeout() {
25
31
  return this.config.api_timeout_ms || DEFAULT_TIMEOUT;
26
32
  }
33
+ /**
34
+ * Get retry options from config
35
+ */
36
+ get retryOptions() {
37
+ return {
38
+ maxRetries: this.config.max_retries ?? DEFAULT_MAX_RETRIES,
39
+ initialDelay: this.config.retry_delay_ms ?? DEFAULT_RETRY_DELAY,
40
+ onRetry: this.debug
41
+ ? (attempt, error, delay) => {
42
+ console.warn(`[PuterClient] Retry ${attempt}: ${error.message} (waiting ${delay}ms)`);
43
+ }
44
+ : undefined,
45
+ };
46
+ }
27
47
  /**
28
48
  * Update the auth token
29
49
  */
@@ -32,6 +52,22 @@ export class PuterClient {
32
52
  }
33
53
  /**
34
54
  * Send a chat completion request (non-streaming)
55
+ *
56
+ * Automatically retries on transient failures (rate limits, server errors)
57
+ * using exponential backoff with jitter.
58
+ *
59
+ * @param messages - Array of chat messages
60
+ * @param options - Chat options (model, temperature, etc.)
61
+ * @returns Chat response with assistant message
62
+ * @throws Error if request fails after all retries
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const response = await client.chat([
67
+ * { role: 'user', content: 'Hello!' }
68
+ * ], { model: 'claude-opus-4-5' });
69
+ * console.log(response.message.content);
70
+ * ```
35
71
  */
36
72
  async chat(messages, options = {}) {
37
73
  const response = await this.makeRequest('complete', {
@@ -46,36 +82,56 @@ export class PuterClient {
46
82
  }
47
83
  /**
48
84
  * Send a streaming chat completion request
85
+ *
86
+ * Returns an async generator that yields chunks as they arrive.
87
+ * The initial connection is retried on transient failures.
88
+ *
89
+ * @param messages - Array of chat messages
90
+ * @param options - Chat options (model, temperature, etc.)
91
+ * @yields Chat stream chunks with text, reasoning, or tool calls
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * for await (const chunk of client.chatStream([
96
+ * { role: 'user', content: 'Tell me a story' }
97
+ * ])) {
98
+ * if (chunk.text) process.stdout.write(chunk.text);
99
+ * }
100
+ * ```
49
101
  */
50
102
  async *chatStream(messages, options = {}) {
51
103
  const controller = new AbortController();
52
104
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
53
105
  try {
54
- const response = await fetch(`${this.apiUrl}/drivers/call`, {
55
- method: 'POST',
56
- headers: {
57
- 'Content-Type': 'application/json',
58
- },
59
- body: JSON.stringify({
60
- interface: 'puter-chat-completion',
61
- service: 'ai-chat',
62
- method: 'complete',
63
- args: {
64
- messages,
65
- model: options.model || 'gpt-5-nano',
66
- stream: true,
67
- max_tokens: options.max_tokens,
68
- temperature: options.temperature,
69
- tools: options.tools,
106
+ // Retry the initial connection
107
+ const response = await withRetry(async () => {
108
+ const res = await fetch(`${this.apiUrl}/drivers/call`, {
109
+ method: 'POST',
110
+ headers: {
111
+ 'Content-Type': 'application/json',
70
112
  },
71
- auth_token: this.authToken,
72
- }),
73
- signal: controller.signal,
74
- });
75
- if (!response.ok) {
76
- const errorText = await response.text();
77
- throw new Error(`Puter API error (${response.status}): ${errorText}`);
78
- }
113
+ body: JSON.stringify({
114
+ interface: 'puter-chat-completion',
115
+ service: 'ai-chat',
116
+ method: 'complete',
117
+ args: {
118
+ messages,
119
+ model: options.model || 'gpt-5-nano',
120
+ stream: true,
121
+ max_tokens: options.max_tokens,
122
+ temperature: options.temperature,
123
+ tools: options.tools,
124
+ },
125
+ auth_token: this.authToken,
126
+ }),
127
+ signal: controller.signal,
128
+ });
129
+ if (!res.ok) {
130
+ const errorText = await res.text();
131
+ throw new Error(`Puter API error (${res.status}): ${errorText}`);
132
+ }
133
+ return res;
134
+ }, this.retryOptions);
79
135
  if (!response.body) {
80
136
  throw new Error('No response body for streaming');
81
137
  }
@@ -121,24 +177,39 @@ export class PuterClient {
121
177
  }
122
178
  }
123
179
  /**
124
- * List available models
180
+ * List available models from Puter API
181
+ *
182
+ * Falls back to a default model list if the API is unavailable.
183
+ *
184
+ * @returns Array of available model information
185
+ *
186
+ * @example
187
+ * ```ts
188
+ * const models = await client.listModels();
189
+ * models.forEach(m => console.log(`${m.id}: ${m.name}`));
190
+ * ```
125
191
  */
126
192
  async listModels() {
127
193
  try {
128
- const response = await fetch(`${this.apiUrl}/puterai/chat/models/details`, {
129
- method: 'GET',
130
- headers: {
131
- 'Authorization': `Bearer ${this.authToken}`,
132
- },
133
- });
134
- if (!response.ok) {
135
- throw new Error(`Failed to fetch models: ${response.status}`);
136
- }
137
- const data = await response.json();
138
- return data.models || data || [];
194
+ return await withRetry(async () => {
195
+ const response = await fetch(`${this.apiUrl}/puterai/chat/models/details`, {
196
+ method: 'GET',
197
+ headers: {
198
+ 'Authorization': `Bearer ${this.authToken}`,
199
+ },
200
+ });
201
+ if (!response.ok) {
202
+ throw new Error(`Failed to fetch models (${response.status})`);
203
+ }
204
+ const data = await response.json();
205
+ return data.models || data || [];
206
+ }, this.retryOptions);
139
207
  }
140
- catch (error) {
141
- // Return default models if API fails
208
+ catch {
209
+ // Return default models if API fails after retries
210
+ if (this.debug) {
211
+ console.warn('[PuterClient] Failed to fetch models, using defaults');
212
+ }
142
213
  return this.getDefaultModels();
143
214
  }
144
215
  }
@@ -164,38 +235,60 @@ export class PuterClient {
164
235
  }
165
236
  /**
166
237
  * Make a generic API request to the drivers endpoint
238
+ *
239
+ * Includes automatic retry with exponential backoff for transient failures.
240
+ *
241
+ * @param method - API method to call
242
+ * @param args - Arguments to pass to the method
243
+ * @returns API response
244
+ * @throws Error if request fails after all retries
167
245
  */
168
246
  async makeRequest(method, args) {
169
- const controller = new AbortController();
170
- const timeoutId = setTimeout(() => controller.abort(), this.timeout);
171
- try {
172
- const response = await fetch(`${this.apiUrl}/drivers/call`, {
173
- method: 'POST',
174
- headers: {
175
- 'Content-Type': 'application/json',
176
- },
177
- body: JSON.stringify({
178
- interface: 'puter-chat-completion',
179
- service: 'ai-chat',
180
- method,
181
- args,
182
- auth_token: this.authToken,
183
- }),
184
- signal: controller.signal,
185
- });
186
- if (!response.ok) {
187
- const errorText = await response.text();
188
- throw new Error(`Puter API error (${response.status}): ${errorText}`);
247
+ return withRetry(async () => {
248
+ const controller = new AbortController();
249
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
250
+ try {
251
+ const response = await fetch(`${this.apiUrl}/drivers/call`, {
252
+ method: 'POST',
253
+ headers: {
254
+ 'Content-Type': 'application/json',
255
+ },
256
+ body: JSON.stringify({
257
+ interface: 'puter-chat-completion',
258
+ service: 'ai-chat',
259
+ method,
260
+ args,
261
+ auth_token: this.authToken,
262
+ }),
263
+ signal: controller.signal,
264
+ });
265
+ if (!response.ok) {
266
+ const errorText = await response.text();
267
+ throw new Error(`Puter API error (${response.status}): ${errorText}`);
268
+ }
269
+ const data = await response.json();
270
+ return data;
189
271
  }
190
- const data = await response.json();
191
- return data;
192
- }
193
- finally {
194
- clearTimeout(timeoutId);
195
- }
272
+ finally {
273
+ clearTimeout(timeoutId);
274
+ }
275
+ }, this.retryOptions);
196
276
  }
197
277
  /**
198
- * Test the connection and auth token
278
+ * Test the connection and auth token validity
279
+ *
280
+ * Makes a minimal API call to verify the token works.
281
+ *
282
+ * @returns true if connection is successful, false otherwise
283
+ *
284
+ * @example
285
+ * ```ts
286
+ * if (await client.testConnection()) {
287
+ * console.log('Connected to Puter!');
288
+ * } else {
289
+ * console.log('Connection failed');
290
+ * }
291
+ * ```
199
292
  */
200
293
  async testConnection() {
201
294
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,5 +8,9 @@
8
8
  * @license MIT
9
9
  */
10
10
  export { PuterAuthPlugin } from './plugin.js';
11
+ export { createPuter, puter } from './ai-provider/index.js';
12
+ export type { PuterProvider } from './ai-provider/index.js';
13
+ export { PuterChatLanguageModel } from './ai-provider/index.js';
14
+ export type { PuterChatSettings, PuterProviderConfig, PuterChatConfig } from './ai-provider/index.js';
11
15
  export type { PuterConfig, PuterAccount, PuterChatOptions, PuterChatResponse, PuterChatMessage, PuterChatStreamChunk, PuterModelInfo } from './types.js';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGtG,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -12,4 +12,8 @@
12
12
  // OpenCode's plugin loader calls all exports as functions, so exporting
13
13
  // classes (PuterClient, PuterAuthManager) causes "cannot call class without new" errors.
14
14
  export { PuterAuthPlugin } from './plugin.js';
15
+ // AI SDK Provider exports
16
+ // These enable Puter to work as a proper AI SDK provider
17
+ export { createPuter, puter } from './ai-provider/index.js';
18
+ export { PuterChatLanguageModel } from './ai-provider/index.js';
15
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kDAAkD;AAClD,2DAA2D;AAC3D,wEAAwE;AACxE,yFAAyF;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kDAAkD;AAClD,2DAA2D;AAC3D,wEAAwE;AACxE,yFAAyF;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,0BAA0B;AAC1B,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAuDtE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAuR7B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAwDtE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAqS7B,CAAC"}
package/dist/plugin.js CHANGED
@@ -14,6 +14,7 @@ import http from 'node:http';
14
14
  import { URL } from 'node:url';
15
15
  import { PuterClient } from './client.js';
16
16
  import { PuterAuthManager } from './auth.js';
17
+ import { createPuterFetch } from './provider.js';
17
18
  import { PuterConfigSchema } from './types.js';
18
19
  // Default config directory
19
20
  const getConfigDir = () => {
@@ -75,15 +76,28 @@ export const PuterAuthPlugin = async (_input) => {
75
76
  // AUTH HOOK - OAuth with Puter
76
77
  // ========================================
77
78
  auth: {
79
+ // Use 'puter' as a standalone provider
80
+ // This registers Puter as its own provider in OpenCode's model picker
81
+ // The custom fetch intercepts all requests and routes them to Puter's API
82
+ // with proper request/response translation (OpenAI-compatible format)
78
83
  provider: 'puter',
79
84
  // Load auth credentials for Puter provider
80
- async loader(_auth, _provider) {
85
+ async loader(_auth, provider) {
81
86
  const account = authManager?.getActiveAccount();
82
87
  if (account) {
88
+ // Set all Puter models as FREE (cost = 0)
89
+ if (provider?.models) {
90
+ for (const model of Object.values(provider.models)) {
91
+ model.cost = { input: 0, output: 0, cache: { read: 0, write: 0 } };
92
+ }
93
+ }
94
+ // Return custom fetch function that intercepts and transforms requests
95
+ // This enables Puter to work as a provider in OpenCode's model picker
96
+ // Using localhost as fake baseURL that gets intercepted by custom fetch
83
97
  return {
84
- key: account.authToken,
85
- username: account.username,
86
- email: account.email,
98
+ apiKey: account.authToken, // Real auth token for debugging
99
+ baseURL: 'http://localhost:8080', // Fake localhost URL intercepted by custom fetch
100
+ fetch: createPuterFetch(account.authToken, pluginConfig),
87
101
  };
88
102
  }
89
103
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}