@kaitranntt/ccs 7.13.1 → 7.14.0-dev.2

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 (129) hide show
  1. package/README.md +8 -0
  2. package/config/base-agy.settings.json +1 -1
  3. package/dist/cliproxy/account-manager.d.ts +18 -1
  4. package/dist/cliproxy/account-manager.d.ts.map +1 -1
  5. package/dist/cliproxy/account-manager.js +115 -10
  6. package/dist/cliproxy/account-manager.js.map +1 -1
  7. package/dist/cliproxy/auth/auth-types.d.ts +3 -1
  8. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  9. package/dist/cliproxy/auth/auth-types.js +8 -5
  10. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  11. package/dist/cliproxy/auth/gemini-token-refresh.d.ts +2 -1
  12. package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +1 -1
  13. package/dist/cliproxy/auth/gemini-token-refresh.js +4 -3
  14. package/dist/cliproxy/auth/gemini-token-refresh.js.map +1 -1
  15. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  16. package/dist/cliproxy/auth/oauth-handler.js +65 -3
  17. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  18. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -1
  19. package/dist/cliproxy/auth/oauth-process.js +31 -1
  20. package/dist/cliproxy/auth/oauth-process.js.map +1 -1
  21. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +21 -0
  22. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -0
  23. package/dist/cliproxy/auth/provider-refreshers/index.js +56 -0
  24. package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -0
  25. package/dist/cliproxy/auth/token-expiry-checker.d.ts +37 -0
  26. package/dist/cliproxy/auth/token-expiry-checker.d.ts.map +1 -0
  27. package/dist/cliproxy/auth/token-expiry-checker.js +114 -0
  28. package/dist/cliproxy/auth/token-expiry-checker.js.map +1 -0
  29. package/dist/cliproxy/auth/token-refresh-config.d.ts +13 -0
  30. package/dist/cliproxy/auth/token-refresh-config.d.ts.map +1 -0
  31. package/dist/cliproxy/auth/token-refresh-config.js +31 -0
  32. package/dist/cliproxy/auth/token-refresh-config.js.map +1 -0
  33. package/dist/cliproxy/auth/token-refresh-worker.d.ts +83 -0
  34. package/dist/cliproxy/auth/token-refresh-worker.d.ts.map +1 -0
  35. package/dist/cliproxy/auth/token-refresh-worker.js +214 -0
  36. package/dist/cliproxy/auth/token-refresh-worker.js.map +1 -0
  37. package/dist/cliproxy/auth-session-manager.d.ts.map +1 -1
  38. package/dist/cliproxy/auth-session-manager.js +28 -0
  39. package/dist/cliproxy/auth-session-manager.js.map +1 -1
  40. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
  41. package/dist/cliproxy/binary/lifecycle.js +47 -6
  42. package/dist/cliproxy/binary/lifecycle.js.map +1 -1
  43. package/dist/cliproxy/binary/types.d.ts +13 -0
  44. package/dist/cliproxy/binary/types.d.ts.map +1 -1
  45. package/dist/cliproxy/binary/types.js +3 -1
  46. package/dist/cliproxy/binary/types.js.map +1 -1
  47. package/dist/cliproxy/binary/version-cache.d.ts +13 -1
  48. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -1
  49. package/dist/cliproxy/binary/version-cache.js +46 -1
  50. package/dist/cliproxy/binary/version-cache.js.map +1 -1
  51. package/dist/cliproxy/binary/version-checker.d.ts +6 -1
  52. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  53. package/dist/cliproxy/binary/version-checker.js +37 -1
  54. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  55. package/dist/cliproxy/binary-manager.d.ts +3 -0
  56. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  57. package/dist/cliproxy/binary-manager.js +36 -1
  58. package/dist/cliproxy/binary-manager.js.map +1 -1
  59. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  60. package/dist/cliproxy/cliproxy-executor.js +34 -0
  61. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  62. package/dist/cliproxy/platform-detector.d.ts +6 -0
  63. package/dist/cliproxy/platform-detector.d.ts.map +1 -1
  64. package/dist/cliproxy/platform-detector.js +7 -1
  65. package/dist/cliproxy/platform-detector.js.map +1 -1
  66. package/dist/cliproxy/quota-fetcher.d.ts +44 -0
  67. package/dist/cliproxy/quota-fetcher.d.ts.map +1 -1
  68. package/dist/cliproxy/quota-fetcher.js +91 -1
  69. package/dist/cliproxy/quota-fetcher.js.map +1 -1
  70. package/dist/cliproxy/service-manager.d.ts +12 -0
  71. package/dist/cliproxy/service-manager.d.ts.map +1 -1
  72. package/dist/cliproxy/service-manager.js +66 -1
  73. package/dist/cliproxy/service-manager.js.map +1 -1
  74. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  75. package/dist/commands/cliproxy-command.js +93 -0
  76. package/dist/commands/cliproxy-command.js.map +1 -1
  77. package/dist/commands/help-command.d.ts.map +1 -1
  78. package/dist/commands/help-command.js +1 -0
  79. package/dist/commands/help-command.js.map +1 -1
  80. package/dist/config/unified-config-types.d.ts +18 -0
  81. package/dist/config/unified-config-types.d.ts.map +1 -1
  82. package/dist/config/unified-config-types.js.map +1 -1
  83. package/dist/management/oauth-port-diagnostics.js +2 -2
  84. package/dist/management/oauth-port-diagnostics.js.map +1 -1
  85. package/dist/management/shared-manager.d.ts +8 -0
  86. package/dist/management/shared-manager.d.ts.map +1 -1
  87. package/dist/management/shared-manager.js +33 -0
  88. package/dist/management/shared-manager.js.map +1 -1
  89. package/dist/ui/assets/{accounts-DKm_BUkJ.js → accounts-wkvC_Z1E.js} +1 -1
  90. package/dist/ui/assets/{alert-dialog-BBbNIyvF.js → alert-dialog--nlDi-Dj.js} +1 -1
  91. package/dist/ui/assets/{api-p6k8BwWO.js → api-DeyefOLW.js} +1 -1
  92. package/dist/ui/assets/auth-section-BQXfw1cb.js +1 -0
  93. package/dist/ui/assets/{card-D6fGkasO.js → card-P5vPGo2D.js} +1 -1
  94. package/dist/ui/assets/cliproxy-CcMLaKpF.js +3 -0
  95. package/dist/ui/assets/{cliproxy-control-panel-D7gdCCO7.js → cliproxy-control-panel-Dbs8NAQa.js} +1 -1
  96. package/dist/ui/assets/{confirm-dialog-D55Qga4b.js → confirm-dialog-BM75Bkww.js} +1 -1
  97. package/dist/ui/assets/{copilot-fwj1xk6l.js → copilot-BwylIlO5.js} +3 -3
  98. package/dist/ui/assets/{globalenv-section-DMSdqrn_.js → globalenv-section-Cgpz_NQ0.js} +1 -1
  99. package/dist/ui/assets/{health-65nETbIF.js → health-DWUjYWDI.js} +1 -1
  100. package/dist/ui/assets/icons-U9n5DGj9.js +1 -0
  101. package/dist/ui/assets/index-1g-Hy9VA.css +1 -0
  102. package/dist/ui/assets/{index-Dc8X9bLV.js → index-4Wd5fx72.js} +1 -1
  103. package/dist/ui/assets/{index-BrijlHVl.js → index-CIWe-99u.js} +1 -1
  104. package/dist/ui/assets/{index-8HAJX3-Y.js → index-D8MFq-UJ.js} +17 -17
  105. package/dist/ui/assets/{index-CwDi6WPm.js → index-f_AuSs01.js} +1 -1
  106. package/dist/ui/assets/{radix-ui-uXQB-q0u.js → radix-ui-CBgg0XeO.js} +1 -1
  107. package/dist/ui/assets/{shared-CMWj9K3T.js → shared-I-pAdvVQ.js} +1 -1
  108. package/dist/ui/assets/{switch-D_o-N1Sa.js → switch-DHwS-NMF.js} +1 -1
  109. package/dist/ui/assets/{tanstack-Coed0rqz.js → tanstack-CxYN0q6L.js} +1 -1
  110. package/dist/ui/index.html +5 -5
  111. package/dist/utils/port-utils.d.ts.map +1 -1
  112. package/dist/utils/port-utils.js +12 -9
  113. package/dist/utils/port-utils.js.map +1 -1
  114. package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -1
  115. package/dist/web-server/health/cliproxy-checks.js +14 -0
  116. package/dist/web-server/health/cliproxy-checks.js.map +1 -1
  117. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  118. package/dist/web-server/routes/cliproxy-auth-routes.js +31 -1
  119. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  120. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  121. package/dist/web-server/routes/cliproxy-stats-routes.js +88 -0
  122. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  123. package/lib/hooks/websearch-transformer.cjs +4 -1
  124. package/package.json +3 -1
  125. package/scripts/dev-symlink.sh +115 -0
  126. package/dist/ui/assets/auth-section-B4wvcy8z.js +0 -1
  127. package/dist/ui/assets/cliproxy-DuWY_mzK.js +0 -3
  128. package/dist/ui/assets/icons-CwFZAiDB.js +0 -1
  129. package/dist/ui/assets/index-oS2cgEFl.css +0 -1
@@ -82,7 +82,7 @@ async function handleStdout(output, state, options, authProcess, log) {
82
82
  provider: options.provider,
83
83
  userCode: state.userCode,
84
84
  verificationUrl,
85
- expiresAt: Date.now() + 900000, // 15 minutes
85
+ expiresAt: Date.now() + device_code_handler_1.DEVICE_CODE_TIMEOUT_MS,
86
86
  };
87
87
  device_code_handler_1.deviceCodeEvents.emit('deviceCode:received', deviceCodePrompt);
88
88
  // Display device code prominently in CLI
@@ -201,8 +201,13 @@ function executeOAuthProcess(options) {
201
201
  stdio: [stdinMode, 'pipe', 'pipe'],
202
202
  env: { ...process.env, CLI_PROXY_AUTH_DIR: tokenDir },
203
203
  });
204
+ // H7: Mutable ref for stdin keepalive interval (set later, needed in cleanup)
205
+ let stdinKeepalive = null;
204
206
  // H5: Signal handling - properly kill child process on SIGINT/SIGTERM
207
+ // H8: Also clear stdinKeepalive interval to prevent memory leak
205
208
  const cleanup = () => {
209
+ if (stdinKeepalive)
210
+ clearInterval(stdinKeepalive);
206
211
  if (authProcess && !authProcess.killed) {
207
212
  authProcess.kill('SIGTERM');
208
213
  }
@@ -232,6 +237,19 @@ function executeOAuthProcess(options) {
232
237
  };
233
238
  auth_session_manager_1.authSessionEvents.on('session:cancelled', handleCancel);
234
239
  const startTime = Date.now();
240
+ // H7: Stdin keepalive for Authorization Code flows
241
+ // CLIProxyAPIPlus has a 15-second timer that prompts for manual URL paste.
242
+ // If the user completes browser auth after this timer fires but before the
243
+ // non-blocking check, the prompt blocks forever on stdin.
244
+ // Workaround: Send newline every 16s to skip the manual prompt and continue polling.
245
+ if (!isDeviceCodeFlow && stdinMode === 'pipe') {
246
+ stdinKeepalive = setInterval(() => {
247
+ if (authProcess.stdin && !authProcess.stdin.destroyed) {
248
+ authProcess.stdin.write('\n');
249
+ log('Sent stdin keepalive (skip manual URL prompt)');
250
+ }
251
+ }, 16000);
252
+ }
235
253
  authProcess.stdout?.on('data', async (data) => {
236
254
  await handleStdout(data.toString(), state, options, authProcess, log);
237
255
  });
@@ -273,11 +291,15 @@ function executeOAuthProcess(options) {
273
291
  // Timeout handling
274
292
  const timeoutMs = headless ? 300000 : 120000;
275
293
  const timeout = setTimeout(() => {
294
+ // H7: Clear stdin keepalive interval
295
+ if (stdinKeepalive)
296
+ clearInterval(stdinKeepalive);
276
297
  // H5: Remove signal handlers before killing process
277
298
  process.removeListener('SIGINT', cleanup);
278
299
  process.removeListener('SIGTERM', cleanup);
279
300
  auth_session_manager_1.authSessionEvents.removeListener('session:cancelled', handleCancel);
280
301
  (0, auth_session_manager_1.unregisterAuthSession)(state.sessionId);
302
+ (0, project_selection_handler_1.cancelProjectSelection)(state.sessionId);
281
303
  authProcess.kill();
282
304
  console.log('');
283
305
  console.log((0, ui_1.fail)(`OAuth timed out after ${headless ? 5 : 2} minutes`));
@@ -288,11 +310,15 @@ function executeOAuthProcess(options) {
288
310
  }, timeoutMs);
289
311
  authProcess.on('exit', async (code) => {
290
312
  clearTimeout(timeout);
313
+ // H7: Clear stdin keepalive interval
314
+ if (stdinKeepalive)
315
+ clearInterval(stdinKeepalive);
291
316
  // H5: Remove signal handlers to prevent memory leaks
292
317
  process.removeListener('SIGINT', cleanup);
293
318
  process.removeListener('SIGTERM', cleanup);
294
319
  auth_session_manager_1.authSessionEvents.removeListener('session:cancelled', handleCancel);
295
320
  (0, auth_session_manager_1.unregisterAuthSession)(state.sessionId);
321
+ (0, project_selection_handler_1.cancelProjectSelection)(state.sessionId);
296
322
  const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
297
323
  if (code === 0) {
298
324
  if ((0, token_manager_1.isAuthenticated)(provider)) {
@@ -331,11 +357,15 @@ function executeOAuthProcess(options) {
331
357
  });
332
358
  authProcess.on('error', (error) => {
333
359
  clearTimeout(timeout);
360
+ // H7: Clear stdin keepalive interval
361
+ if (stdinKeepalive)
362
+ clearInterval(stdinKeepalive);
334
363
  // H5: Remove signal handlers to prevent memory leaks
335
364
  process.removeListener('SIGINT', cleanup);
336
365
  process.removeListener('SIGTERM', cleanup);
337
366
  auth_session_manager_1.authSessionEvents.removeListener('session:cancelled', handleCancel);
338
367
  (0, auth_session_manager_1.unregisterAuthSession)(state.sessionId);
368
+ (0, project_selection_handler_1.cancelProjectSelection)(state.sessionId);
339
369
  console.log('');
340
370
  console.log((0, ui_1.fail)(`Failed to start auth process: ${error.message}`));
341
371
  resolve(null);
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-process.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/oauth-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-process.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/oauth-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Provider Token Refreshers
3
+ *
4
+ * Exports refresh functions for each OAuth provider.
5
+ * Currently only Gemini is implemented; others return placeholder errors.
6
+ */
7
+ import { CLIProxyProvider } from '../../types';
8
+ /** Token refresh result */
9
+ export interface ProviderRefreshResult {
10
+ success: boolean;
11
+ error?: string;
12
+ expiresAt?: number;
13
+ }
14
+ /**
15
+ * Refresh token for a specific provider and account
16
+ * @param provider Provider to refresh
17
+ * @param _accountId Account ID (currently unused, multi-account not yet implemented)
18
+ * @returns Refresh result with success status and optional error
19
+ */
20
+ export declare function refreshToken(provider: CLIProxyProvider, _accountId: string): Promise<ProviderRefreshResult>;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/auth/provider-refreshers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,2BAA2B;AAC3B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Provider Token Refreshers
4
+ *
5
+ * Exports refresh functions for each OAuth provider.
6
+ * Currently only Gemini is implemented; others return placeholder errors.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.refreshToken = void 0;
10
+ const gemini_token_refresh_1 = require("../gemini-token-refresh");
11
+ /**
12
+ * Refresh token for a specific provider and account
13
+ * @param provider Provider to refresh
14
+ * @param _accountId Account ID (currently unused, multi-account not yet implemented)
15
+ * @returns Refresh result with success status and optional error
16
+ */
17
+ async function refreshToken(provider, _accountId) {
18
+ switch (provider) {
19
+ case 'gemini':
20
+ return await refreshGeminiTokenWrapper();
21
+ case 'codex':
22
+ case 'agy':
23
+ case 'qwen':
24
+ case 'iflow':
25
+ case 'kiro':
26
+ case 'ghcp':
27
+ return {
28
+ success: false,
29
+ error: `Token refresh not yet implemented for ${provider}`,
30
+ };
31
+ default:
32
+ return {
33
+ success: false,
34
+ error: `Unknown provider: ${provider}`,
35
+ };
36
+ }
37
+ }
38
+ exports.refreshToken = refreshToken;
39
+ /**
40
+ * Wrapper for Gemini token refresh
41
+ * Converts gemini-token-refresh.ts format to provider-refreshers format
42
+ */
43
+ async function refreshGeminiTokenWrapper() {
44
+ const result = await (0, gemini_token_refresh_1.refreshGeminiToken)();
45
+ if (!result.success) {
46
+ return {
47
+ success: false,
48
+ error: result.error,
49
+ };
50
+ }
51
+ return {
52
+ success: true,
53
+ expiresAt: result.expiresAt,
54
+ };
55
+ }
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cliproxy/auth/provider-refreshers/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,kEAA6D;AAS7D;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAChC,QAA0B,EAC1B,UAAkB;IAElB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,MAAM,yBAAyB,EAAE,CAAC;QAE3C,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yCAAyC,QAAQ,EAAE;aAC3D,CAAC;QAEJ;YACE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB,QAAQ,EAAE;aACvC,CAAC;IACN,CAAC;AACH,CAAC;AAzBD,oCAyBC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB;IACtC,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAkB,GAAE,CAAC;IAE1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Token Expiry Checker
3
+ *
4
+ * Inspects token files to determine expiry times and refresh requirements.
5
+ * Supports expiry_date field with fallback to file modification time.
6
+ */
7
+ import { CLIProxyProvider } from '../types';
8
+ /** Preemptive refresh time: refresh tokens 45 minutes before expiry */
9
+ export declare const PREEMPTIVE_REFRESH_MINUTES = 45;
10
+ /** Fallback expiry: assume 50 minutes if no expiry_date field */
11
+ export declare const FALLBACK_EXPIRY_MINUTES = 50;
12
+ /** Token expiry information for a single account */
13
+ export interface TokenExpiryInfo {
14
+ /** Provider name */
15
+ provider: CLIProxyProvider;
16
+ /** Account ID */
17
+ accountId: string;
18
+ /** Path to token file */
19
+ tokenFile: string;
20
+ /** Expiry timestamp (Unix ms) */
21
+ expiresAt: number;
22
+ /** Whether token needs refresh (within preemptive window) */
23
+ needsRefresh: boolean;
24
+ /** Token file last modified time */
25
+ lastModified: Date;
26
+ }
27
+ /**
28
+ * Get token expiry info for a specific account
29
+ * @returns null if token file doesn't exist or is invalid
30
+ */
31
+ export declare function getTokenExpiryInfo(provider: CLIProxyProvider, accountId: string): TokenExpiryInfo | null;
32
+ /**
33
+ * Get token expiry info for all accounts across all providers
34
+ * @returns Array of token expiry info, excluding invalid tokens
35
+ */
36
+ export declare function getAllTokenExpiryInfo(): TokenExpiryInfo[];
37
+ //# sourceMappingURL=token-expiry-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-expiry-checker.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/token-expiry-checker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAK1C,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,YAAY,EAAE,IAAI,CAAC;CACpB;AAYD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAsDxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,EAAE,CAgBzD"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ /**
3
+ * Token Expiry Checker
4
+ *
5
+ * Inspects token files to determine expiry times and refresh requirements.
6
+ * Supports expiry_date field with fallback to file modification time.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.getAllTokenExpiryInfo = exports.getTokenExpiryInfo = exports.FALLBACK_EXPIRY_MINUTES = exports.PREEMPTIVE_REFRESH_MINUTES = void 0;
33
+ const fs = __importStar(require("fs"));
34
+ const path = __importStar(require("path"));
35
+ const account_manager_1 = require("../account-manager");
36
+ /** Preemptive refresh time: refresh tokens 45 minutes before expiry */
37
+ exports.PREEMPTIVE_REFRESH_MINUTES = 45;
38
+ /** Fallback expiry: assume 50 minutes if no expiry_date field */
39
+ exports.FALLBACK_EXPIRY_MINUTES = 50;
40
+ /** Maximum token file size in bytes (1MB) - prevent DoS from huge files */
41
+ const MAX_TOKEN_FILE_SIZE = 1024 * 1024;
42
+ /**
43
+ * Get token expiry info for a specific account
44
+ * @returns null if token file doesn't exist or is invalid
45
+ */
46
+ function getTokenExpiryInfo(provider, accountId) {
47
+ const tokenPath = (0, account_manager_1.getAccountTokenPath)(provider, accountId);
48
+ if (!tokenPath || !fs.existsSync(tokenPath)) {
49
+ return null;
50
+ }
51
+ try {
52
+ const stats = fs.statSync(tokenPath);
53
+ // Prevent DoS from huge token files
54
+ if (stats.size > MAX_TOKEN_FILE_SIZE) {
55
+ return null;
56
+ }
57
+ const content = fs.readFileSync(tokenPath, 'utf-8');
58
+ const data = JSON.parse(content);
59
+ // Validate refresh_token exists (required for refresh)
60
+ if (!data.refresh_token || typeof data.refresh_token !== 'string') {
61
+ return null;
62
+ }
63
+ // Calculate expiry time with validation
64
+ let expiresAt;
65
+ if (data.expiry_date &&
66
+ typeof data.expiry_date === 'number' &&
67
+ Number.isFinite(data.expiry_date) &&
68
+ data.expiry_date > 0) {
69
+ // Use expiry_date field if valid
70
+ expiresAt = data.expiry_date;
71
+ }
72
+ else {
73
+ // Fallback: use file mtime + 50 minutes
74
+ expiresAt = stats.mtime.getTime() + exports.FALLBACK_EXPIRY_MINUTES * 60 * 1000;
75
+ }
76
+ // Check if needs refresh (within preemptive window)
77
+ const now = Date.now();
78
+ const timeUntilExpiry = expiresAt - now;
79
+ const preemptiveMs = exports.PREEMPTIVE_REFRESH_MINUTES * 60 * 1000;
80
+ const needsRefresh = timeUntilExpiry < preemptiveMs;
81
+ return {
82
+ provider,
83
+ accountId,
84
+ tokenFile: path.basename(tokenPath),
85
+ expiresAt,
86
+ needsRefresh,
87
+ lastModified: stats.mtime,
88
+ };
89
+ }
90
+ catch {
91
+ return null;
92
+ }
93
+ }
94
+ exports.getTokenExpiryInfo = getTokenExpiryInfo;
95
+ /**
96
+ * Get token expiry info for all accounts across all providers
97
+ * @returns Array of token expiry info, excluding invalid tokens
98
+ */
99
+ function getAllTokenExpiryInfo() {
100
+ const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'ghcp'];
101
+ const results = [];
102
+ for (const provider of providers) {
103
+ const accounts = (0, account_manager_1.getProviderAccounts)(provider);
104
+ for (const account of accounts) {
105
+ const info = getTokenExpiryInfo(provider, account.id);
106
+ if (info) {
107
+ results.push(info);
108
+ }
109
+ }
110
+ }
111
+ return results;
112
+ }
113
+ exports.getAllTokenExpiryInfo = getAllTokenExpiryInfo;
114
+ //# sourceMappingURL=token-expiry-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-expiry-checker.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/token-expiry-checker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Token Refresh Configuration
3
+ *
4
+ * Loads token refresh worker settings from unified config.
5
+ * Returns null if disabled or not configured.
6
+ */
7
+ import type { TokenRefreshSettings } from '../../config/unified-config-types';
8
+ /**
9
+ * Get token refresh configuration from unified config
10
+ * @returns Config if enabled, null if disabled or not configured
11
+ */
12
+ export declare function getTokenRefreshConfig(): TokenRefreshSettings | null;
13
+ //# sourceMappingURL=token-refresh-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-refresh-config.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/token-refresh-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,oBAAoB,GAAG,IAAI,CAgBnE"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Token Refresh Configuration
4
+ *
5
+ * Loads token refresh worker settings from unified config.
6
+ * Returns null if disabled or not configured.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getTokenRefreshConfig = void 0;
10
+ const unified_config_loader_1 = require("../../config/unified-config-loader");
11
+ /**
12
+ * Get token refresh configuration from unified config
13
+ * @returns Config if enabled, null if disabled or not configured
14
+ */
15
+ function getTokenRefreshConfig() {
16
+ const config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
17
+ // Return null if not configured or explicitly disabled
18
+ if (!config.cliproxy?.token_refresh?.enabled) {
19
+ return null;
20
+ }
21
+ // Return config with defaults
22
+ return {
23
+ enabled: true,
24
+ interval_minutes: config.cliproxy.token_refresh.interval_minutes ?? 30,
25
+ preemptive_minutes: config.cliproxy.token_refresh.preemptive_minutes ?? 45,
26
+ max_retries: config.cliproxy.token_refresh.max_retries ?? 3,
27
+ verbose: config.cliproxy.token_refresh.verbose ?? false,
28
+ };
29
+ }
30
+ exports.getTokenRefreshConfig = getTokenRefreshConfig;
31
+ //# sourceMappingURL=token-refresh-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-refresh-config.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/token-refresh-config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,8EAA+E;AAG/E;;;GAGG;AACH,SAAgB,qBAAqB;IACnC,MAAM,MAAM,GAAG,IAAA,iDAAyB,GAAE,CAAC;IAE3C,uDAAuD;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAA8B;IAC9B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,IAAI,EAAE;QACtE,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,IAAI,EAAE;QAC1E,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC;QAC3D,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,IAAI,KAAK;KACxD,CAAC;AACJ,CAAC;AAhBD,sDAgBC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Token Refresh Worker
3
+ *
4
+ * Background worker that periodically checks and refreshes OAuth tokens
5
+ * before they expire. Runs as interval loop with retry logic.
6
+ */
7
+ import { CLIProxyProvider } from '../types';
8
+ /** Worker configuration */
9
+ export interface TokenRefreshConfig {
10
+ /** Refresh check interval in minutes (default: 30) */
11
+ refreshInterval: number;
12
+ /** Preemptive refresh time in minutes (default: 45) */
13
+ preemptiveTime: number;
14
+ /** Maximum retry attempts per token (default: 3) */
15
+ maxRetries: number;
16
+ /** Base delay for exponential backoff in ms (default: 1000) */
17
+ retryBaseDelay: number;
18
+ /** Timeout for refresh operations in ms (default: 10000) */
19
+ refreshTimeout: number;
20
+ /** Enable verbose logging */
21
+ verbose: boolean;
22
+ }
23
+ /** Result of a token refresh attempt */
24
+ export interface RefreshResult {
25
+ provider: CLIProxyProvider;
26
+ accountId: string;
27
+ success: boolean;
28
+ error?: string;
29
+ refreshedAt?: Date;
30
+ nextExpiry?: number;
31
+ }
32
+ /**
33
+ * Background token refresh worker
34
+ * Manages periodic token refresh checks with retry logic
35
+ */
36
+ export declare class TokenRefreshWorker {
37
+ private config;
38
+ private intervalId;
39
+ private running;
40
+ private lastResults;
41
+ private exitHandler;
42
+ constructor(config?: Partial<TokenRefreshConfig>);
43
+ /**
44
+ * Start the worker
45
+ * Runs refresh loop immediately, then on interval
46
+ */
47
+ start(): void;
48
+ /**
49
+ * Stop the worker
50
+ */
51
+ stop(): void;
52
+ /**
53
+ * Check if worker is active
54
+ */
55
+ isActive(): boolean;
56
+ /**
57
+ * Manually trigger refresh check now
58
+ */
59
+ refreshNow(): Promise<RefreshResult[]>;
60
+ /**
61
+ * Get results from last refresh cycle
62
+ */
63
+ getLastRefreshResults(): RefreshResult[];
64
+ /**
65
+ * Main refresh loop
66
+ * Checks all tokens and refreshes those needing refresh
67
+ */
68
+ private refreshLoop;
69
+ /**
70
+ * Refresh a single token with retry logic
71
+ * Uses exponential backoff on failures
72
+ */
73
+ private refreshWithRetry;
74
+ /**
75
+ * Check if error is unrecoverable (should not retry)
76
+ */
77
+ private isUnrecoverableError;
78
+ /**
79
+ * Log message if verbose enabled
80
+ */
81
+ private log;
82
+ }
83
+ //# sourceMappingURL=token-refresh-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-refresh-worker.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/token-refresh-worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,2BAA2B;AAC3B,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAmDD;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAA6B;gBAEpC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAIpD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAwBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAsBZ;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAI5C;;OAEG;IACH,qBAAqB,IAAI,aAAa,EAAE;IAIxC;;;OAGG;YACW,WAAW;IAkCzB;;;OAGG;YACW,gBAAgB;IA+C9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,GAAG;CAKZ"}