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.
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Debug Logger for opencode-puter-auth
3
+ *
4
+ * Provides consistent, timestamped logging with configurable verbosity.
5
+ * All logs respect the `debug` and `quiet_mode` configuration options.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const logger = createLogger({ debug: true, quiet_mode: false });
10
+ * logger.debug('Request', { model: 'claude-opus-4-5', method: 'complete' });
11
+ * logger.info('Connected to Puter');
12
+ * logger.warn('Rate limited, retrying...');
13
+ * logger.error('Authentication failed', new Error('Invalid token'));
14
+ * ```
15
+ */
16
+ import type { PuterConfig } from './types.js';
17
+ /**
18
+ * Log levels in order of verbosity
19
+ */
20
+ export declare enum LogLevel {
21
+ DEBUG = 0,
22
+ INFO = 1,
23
+ WARN = 2,
24
+ ERROR = 3,
25
+ SILENT = 4
26
+ }
27
+ /**
28
+ * Logger configuration options
29
+ */
30
+ export interface LoggerOptions {
31
+ /** Enable debug-level logging */
32
+ debug?: boolean;
33
+ /** Suppress all non-error output */
34
+ quiet_mode?: boolean;
35
+ /** Custom prefix for log messages (default: 'puter-auth') */
36
+ prefix?: string;
37
+ }
38
+ /**
39
+ * Logger interface
40
+ */
41
+ export interface Logger {
42
+ /** Log debug-level messages (only when debug: true) */
43
+ debug(message: string, data?: unknown): void;
44
+ /** Log info-level messages (suppressed in quiet_mode) */
45
+ info(message: string, data?: unknown): void;
46
+ /** Log warning messages (suppressed in quiet_mode) */
47
+ warn(message: string, data?: unknown): void;
48
+ /** Log error messages (always shown) */
49
+ error(message: string, error?: Error | unknown): void;
50
+ /** Log request details (debug only) */
51
+ request(method: string, endpoint: string, details?: Record<string, unknown>): void;
52
+ /** Log response details (debug only) */
53
+ response(status: number, message: string, duration?: number): void;
54
+ /** Log retry attempt (debug only) */
55
+ retry(attempt: number, maxAttempts: number, reason: string, delayMs: number): void;
56
+ /** Log auth state change */
57
+ auth(action: string, details?: string): void;
58
+ /** Check if debug logging is enabled */
59
+ isDebugEnabled(): boolean;
60
+ }
61
+ /**
62
+ * Create a logger instance
63
+ *
64
+ * @param options - Logger configuration
65
+ * @returns Logger instance
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * const logger = createLogger({ debug: true });
70
+ *
71
+ * // Debug logs (only shown when debug: true)
72
+ * logger.debug('Processing request');
73
+ *
74
+ * // Request logging
75
+ * logger.request('POST', '/drivers/call', { model: 'claude-opus-4-5' });
76
+ * // Output: [puter-auth] 15:30:45 Request: POST /drivers/call model=claude-opus-4-5
77
+ *
78
+ * // Response logging with duration
79
+ * logger.response(200, 'OK', 1234);
80
+ * // Output: [puter-auth] 15:30:46 Response: 200 OK (1.2s)
81
+ *
82
+ * // Retry logging
83
+ * logger.retry(1, 3, 'Rate limited (429)', 1000);
84
+ * // Output: [puter-auth] 15:30:46 Retry 1/3: Rate limited (429), waiting 1000ms
85
+ * ```
86
+ */
87
+ export declare function createLogger(options?: LoggerOptions): Logger;
88
+ /**
89
+ * Create a logger from PuterConfig
90
+ *
91
+ * @param config - Puter configuration object
92
+ * @returns Logger instance
93
+ */
94
+ export declare function createLoggerFromConfig(config?: Partial<PuterConfig>): Logger;
95
+ /**
96
+ * No-op logger that discards all messages
97
+ * Useful for testing or when logging should be completely disabled
98
+ */
99
+ export declare const nullLogger: Logger;
100
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,yDAAyD;IACzD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,sDAAsD;IACtD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,wCAAwC;IACxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;IACtD,uCAAuC;IACvC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACnF,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnE,qCAAqC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnF,4BAA4B;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,wCAAwC;IACxC,cAAc,IAAI,OAAO,CAAC;CAC3B;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAkEhE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,MAAM,CAKhF;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAUxB,CAAC"}
package/dist/logger.js ADDED
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Debug Logger for opencode-puter-auth
3
+ *
4
+ * Provides consistent, timestamped logging with configurable verbosity.
5
+ * All logs respect the `debug` and `quiet_mode` configuration options.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const logger = createLogger({ debug: true, quiet_mode: false });
10
+ * logger.debug('Request', { model: 'claude-opus-4-5', method: 'complete' });
11
+ * logger.info('Connected to Puter');
12
+ * logger.warn('Rate limited, retrying...');
13
+ * logger.error('Authentication failed', new Error('Invalid token'));
14
+ * ```
15
+ */
16
+ /**
17
+ * Log levels in order of verbosity
18
+ */
19
+ export var LogLevel;
20
+ (function (LogLevel) {
21
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
22
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
23
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
24
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
25
+ LogLevel[LogLevel["SILENT"] = 4] = "SILENT";
26
+ })(LogLevel || (LogLevel = {}));
27
+ /**
28
+ * Format a timestamp as HH:MM:SS
29
+ */
30
+ function formatTime(date = new Date()) {
31
+ return date.toLocaleTimeString('en-US', {
32
+ hour12: false,
33
+ hour: '2-digit',
34
+ minute: '2-digit',
35
+ second: '2-digit',
36
+ });
37
+ }
38
+ /**
39
+ * Format data for logging
40
+ */
41
+ function formatData(data) {
42
+ if (data === undefined || data === null) {
43
+ return '';
44
+ }
45
+ if (typeof data === 'string') {
46
+ return data;
47
+ }
48
+ if (data instanceof Error) {
49
+ return data.message;
50
+ }
51
+ try {
52
+ // For objects, format key=value pairs on one line
53
+ if (typeof data === 'object' && !Array.isArray(data)) {
54
+ const entries = Object.entries(data)
55
+ .map(([key, value]) => {
56
+ if (typeof value === 'string') {
57
+ return `${key}=${value}`;
58
+ }
59
+ if (typeof value === 'number' || typeof value === 'boolean') {
60
+ return `${key}=${value}`;
61
+ }
62
+ return `${key}=${JSON.stringify(value)}`;
63
+ })
64
+ .join(' ');
65
+ return entries;
66
+ }
67
+ return JSON.stringify(data);
68
+ }
69
+ catch {
70
+ return String(data);
71
+ }
72
+ }
73
+ /**
74
+ * Create a logger instance
75
+ *
76
+ * @param options - Logger configuration
77
+ * @returns Logger instance
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const logger = createLogger({ debug: true });
82
+ *
83
+ * // Debug logs (only shown when debug: true)
84
+ * logger.debug('Processing request');
85
+ *
86
+ * // Request logging
87
+ * logger.request('POST', '/drivers/call', { model: 'claude-opus-4-5' });
88
+ * // Output: [puter-auth] 15:30:45 Request: POST /drivers/call model=claude-opus-4-5
89
+ *
90
+ * // Response logging with duration
91
+ * logger.response(200, 'OK', 1234);
92
+ * // Output: [puter-auth] 15:30:46 Response: 200 OK (1.2s)
93
+ *
94
+ * // Retry logging
95
+ * logger.retry(1, 3, 'Rate limited (429)', 1000);
96
+ * // Output: [puter-auth] 15:30:46 Retry 1/3: Rate limited (429), waiting 1000ms
97
+ * ```
98
+ */
99
+ export function createLogger(options = {}) {
100
+ const { debug = false, quiet_mode = false, prefix = 'puter-auth', } = options;
101
+ const effectiveLevel = quiet_mode
102
+ ? LogLevel.ERROR
103
+ : debug
104
+ ? LogLevel.DEBUG
105
+ : LogLevel.INFO;
106
+ const formatPrefix = () => `[${prefix}] ${formatTime()}`;
107
+ return {
108
+ debug(message, data) {
109
+ if (effectiveLevel > LogLevel.DEBUG)
110
+ return;
111
+ const dataStr = formatData(data);
112
+ console.log(`${formatPrefix()} ${message}${dataStr ? ' ' + dataStr : ''}`);
113
+ },
114
+ info(message, data) {
115
+ if (effectiveLevel > LogLevel.INFO)
116
+ return;
117
+ const dataStr = formatData(data);
118
+ console.log(`${formatPrefix()} ${message}${dataStr ? ' ' + dataStr : ''}`);
119
+ },
120
+ warn(message, data) {
121
+ if (effectiveLevel > LogLevel.WARN)
122
+ return;
123
+ const dataStr = formatData(data);
124
+ console.warn(`${formatPrefix()} ${message}${dataStr ? ' ' + dataStr : ''}`);
125
+ },
126
+ error(message, error) {
127
+ // Errors are always shown
128
+ const errorMsg = error instanceof Error ? error.message : error ? String(error) : '';
129
+ console.error(`${formatPrefix()} ERROR: ${message}${errorMsg ? ' - ' + errorMsg : ''}`);
130
+ },
131
+ request(method, endpoint, details) {
132
+ if (effectiveLevel > LogLevel.DEBUG)
133
+ return;
134
+ const detailsStr = details ? ' ' + formatData(details) : '';
135
+ console.log(`${formatPrefix()} Request: ${method} ${endpoint}${detailsStr}`);
136
+ },
137
+ response(status, message, duration) {
138
+ if (effectiveLevel > LogLevel.DEBUG)
139
+ return;
140
+ const durationStr = duration !== undefined ? ` (${(duration / 1000).toFixed(1)}s)` : '';
141
+ console.log(`${formatPrefix()} Response: ${status} ${message}${durationStr}`);
142
+ },
143
+ retry(attempt, maxAttempts, reason, delayMs) {
144
+ if (effectiveLevel > LogLevel.DEBUG)
145
+ return;
146
+ console.log(`${formatPrefix()} Retry ${attempt}/${maxAttempts}: ${reason}, waiting ${delayMs}ms`);
147
+ },
148
+ auth(action, details) {
149
+ if (effectiveLevel > LogLevel.INFO)
150
+ return;
151
+ console.log(`${formatPrefix()} Auth: ${action}${details ? ' - ' + details : ''}`);
152
+ },
153
+ isDebugEnabled() {
154
+ return effectiveLevel <= LogLevel.DEBUG;
155
+ },
156
+ };
157
+ }
158
+ /**
159
+ * Create a logger from PuterConfig
160
+ *
161
+ * @param config - Puter configuration object
162
+ * @returns Logger instance
163
+ */
164
+ export function createLoggerFromConfig(config = {}) {
165
+ return createLogger({
166
+ debug: config.debug ?? false,
167
+ quiet_mode: config.quiet_mode ?? false,
168
+ });
169
+ }
170
+ /**
171
+ * No-op logger that discards all messages
172
+ * Useful for testing or when logging should be completely disabled
173
+ */
174
+ export const nullLogger = {
175
+ debug: () => { },
176
+ info: () => { },
177
+ warn: () => { },
178
+ error: () => { },
179
+ request: () => { },
180
+ response: () => { },
181
+ retry: () => { },
182
+ auth: () => { },
183
+ isDebugEnabled: () => false,
184
+ };
185
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,6 +35,10 @@ export declare const PuterConfigSchema: z.ZodObject<{
35
35
  max_retries: z.ZodDefault<z.ZodNumber>;
36
36
  retry_delay_ms: z.ZodDefault<z.ZodNumber>;
37
37
  stream_buffer_size: z.ZodDefault<z.ZodNumber>;
38
+ cache_ttl_ms: z.ZodDefault<z.ZodNumber>;
39
+ fallback_enabled: z.ZodDefault<z.ZodBoolean>;
40
+ fallback_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ fallback_cooldown_ms: z.ZodDefault<z.ZodNumber>;
38
42
  }, z.core.$strip>;
39
43
  export type PuterConfig = z.infer<typeof PuterConfigSchema>;
40
44
  export interface PuterChatMessage {
@@ -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/dist/types.js CHANGED
@@ -33,6 +33,12 @@ export const PuterConfigSchema = z.object({
33
33
  retry_delay_ms: z.number().default(1000),
34
34
  // Stream Settings
35
35
  stream_buffer_size: z.number().default(1024),
36
+ // Cache Settings
37
+ cache_ttl_ms: z.number().default(300000), // 5 minutes
38
+ // Fallback Settings
39
+ fallback_enabled: z.boolean().default(true),
40
+ fallback_models: z.array(z.string()).optional(), // Uses DEFAULT_FALLBACK_MODELS if not set
41
+ fallback_cooldown_ms: z.number().default(60000), // 1 minute
36
42
  });
37
43
  // Available Claude Models
38
44
  export const PUTER_CLAUDE_MODELS = [
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,uBAAuB;AACvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACxC,CAAC,CAAC;AAIH,gCAAgC;AAChC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC,CAAC,CAAC;AAIH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEtC,eAAe;IACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAE1C,mBAAmB;IACnB,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEhD,iBAAiB;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAExC,kBAAkB;IAClB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC7C,CAAC,CAAC;AA2FH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;CACV,CAAC;AAEX,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY;IACZ,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,aAAa;IACb,IAAI;IACJ,SAAS;IACT,SAAS;IACT,IAAI;CACI,CAAC;AAEX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB;IAChB,kBAAkB;IAClB,uBAAuB;IACvB,kBAAkB;CACV,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,uBAAuB;AACvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACxC,CAAC,CAAC;AAIH,gCAAgC;AAChC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC,CAAC,CAAC;AAIH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEtC,eAAe;IACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAE1C,mBAAmB;IACnB,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEhD,iBAAiB;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAExC,kBAAkB;IAClB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAE5C,iBAAiB;IACjB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY;IAEtD,oBAAoB;IACpB,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,0CAA0C;IAC3F,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW;CAC7D,CAAC,CAAC;AA2FH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;CACV,CAAC;AAEX,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY;IACZ,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,aAAa;IACb,IAAI;IACJ,SAAS;IACT,SAAS;IACT,IAAI;CACI,CAAC;AAEX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB;IAChB,kBAAkB;IAClB,uBAAuB;IACvB,kBAAkB;CACV,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-puter-auth",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "description": "Puter.com OAuth plugin for OpenCode - Easy access to Claude, GPT, Gemini & 500+ AI models. No API keys needed, credit-based usage.",
5
5
  "bin": {
6
6
  "puter-auth": "dist/cli.js"