@namzu/cli 21.0.0 → 22.0.1

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 (143) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/README.md +31 -10
  3. package/dist/bin.js +3 -7
  4. package/dist/bin.js.map +1 -1
  5. package/dist/commands/run.js +1 -1
  6. package/dist/commands/run.js.map +1 -1
  7. package/dist/config/load.d.ts.map +1 -1
  8. package/dist/config/load.js +23 -2
  9. package/dist/config/load.js.map +1 -1
  10. package/dist/config/schema.d.ts +13 -9
  11. package/dist/config/schema.d.ts.map +1 -1
  12. package/dist/config/schema.js.map +1 -1
  13. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  14. package/dist/doctor/checks/credentials.js +2 -0
  15. package/dist/doctor/checks/credentials.js.map +1 -1
  16. package/dist/installation.d.ts +5 -0
  17. package/dist/installation.d.ts.map +1 -0
  18. package/dist/installation.js +48 -0
  19. package/dist/installation.js.map +1 -0
  20. package/dist/integrations/providers/current-credential.d.ts +4 -0
  21. package/dist/integrations/providers/current-credential.d.ts.map +1 -0
  22. package/dist/integrations/providers/current-credential.js +45 -0
  23. package/dist/integrations/providers/current-credential.js.map +1 -0
  24. package/dist/integrations/providers/discover.d.ts +12 -1
  25. package/dist/integrations/providers/discover.d.ts.map +1 -1
  26. package/dist/integrations/providers/discover.js +17 -1
  27. package/dist/integrations/providers/discover.js.map +1 -1
  28. package/dist/integrations/providers/gemini-credentials.d.ts +13 -0
  29. package/dist/integrations/providers/gemini-credentials.d.ts.map +1 -0
  30. package/dist/integrations/providers/gemini-credentials.js +148 -0
  31. package/dist/integrations/providers/gemini-credentials.js.map +1 -0
  32. package/dist/integrations/providers/register.d.ts.map +1 -1
  33. package/dist/integrations/providers/register.js +5 -0
  34. package/dist/integrations/providers/register.js.map +1 -1
  35. package/dist/integrations/providers/registry.d.ts +1 -1
  36. package/dist/integrations/providers/registry.d.ts.map +1 -1
  37. package/dist/integrations/providers/registry.js +10 -0
  38. package/dist/integrations/providers/registry.js.map +1 -1
  39. package/dist/integrations/providers/setup.d.ts +49 -0
  40. package/dist/integrations/providers/setup.d.ts.map +1 -0
  41. package/dist/integrations/providers/setup.js +105 -0
  42. package/dist/integrations/providers/setup.js.map +1 -0
  43. package/dist/integrations/sessions/store.d.ts +1 -0
  44. package/dist/integrations/sessions/store.d.ts.map +1 -1
  45. package/dist/integrations/sessions/store.js +17 -4
  46. package/dist/integrations/sessions/store.js.map +1 -1
  47. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  48. package/dist/integrations/subagents/activity.js +12 -3
  49. package/dist/integrations/subagents/activity.js.map +1 -1
  50. package/dist/integrations/subagents/history.d.ts +26 -0
  51. package/dist/integrations/subagents/history.d.ts.map +1 -0
  52. package/dist/integrations/subagents/history.js +76 -0
  53. package/dist/integrations/subagents/history.js.map +1 -0
  54. package/dist/integrations/subagents/model-effort.d.ts +4 -0
  55. package/dist/integrations/subagents/model-effort.d.ts.map +1 -0
  56. package/dist/integrations/subagents/model-effort.js +12 -0
  57. package/dist/integrations/subagents/model-effort.js.map +1 -0
  58. package/dist/integrations/subagents/runtime.d.ts +21 -4
  59. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  60. package/dist/integrations/subagents/runtime.js +205 -23
  61. package/dist/integrations/subagents/runtime.js.map +1 -1
  62. package/dist/integrations/web/search.d.ts +11 -0
  63. package/dist/integrations/web/search.d.ts.map +1 -0
  64. package/dist/integrations/web/search.js +73 -0
  65. package/dist/integrations/web/search.js.map +1 -0
  66. package/dist/resume-invocation.d.ts +3 -0
  67. package/dist/resume-invocation.d.ts.map +1 -0
  68. package/dist/resume-invocation.js +24 -0
  69. package/dist/resume-invocation.js.map +1 -0
  70. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  71. package/dist/tui/AgentExplorer.js +5 -5
  72. package/dist/tui/AgentExplorer.js.map +1 -1
  73. package/dist/tui/App.d.ts.map +1 -1
  74. package/dist/tui/App.js +242 -88
  75. package/dist/tui/App.js.map +1 -1
  76. package/dist/tui/BrandHeader.js +3 -3
  77. package/dist/tui/BrandHeader.js.map +1 -1
  78. package/dist/tui/Composer.d.ts.map +1 -1
  79. package/dist/tui/Composer.js +18 -2
  80. package/dist/tui/Composer.js.map +1 -1
  81. package/dist/tui/PermissionOverlay.d.ts +4 -1
  82. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  83. package/dist/tui/PermissionOverlay.js +6 -5
  84. package/dist/tui/PermissionOverlay.js.map +1 -1
  85. package/dist/tui/Picker.d.ts +2 -1
  86. package/dist/tui/Picker.d.ts.map +1 -1
  87. package/dist/tui/Picker.js +10 -3
  88. package/dist/tui/Picker.js.map +1 -1
  89. package/dist/tui/ProviderSetup.d.ts +6 -0
  90. package/dist/tui/ProviderSetup.d.ts.map +1 -0
  91. package/dist/tui/ProviderSetup.js +125 -0
  92. package/dist/tui/ProviderSetup.js.map +1 -0
  93. package/dist/tui/ResumePicker.d.ts.map +1 -1
  94. package/dist/tui/ResumePicker.js +5 -3
  95. package/dist/tui/ResumePicker.js.map +1 -1
  96. package/dist/tui/StatusPanel.d.ts +5 -0
  97. package/dist/tui/StatusPanel.d.ts.map +1 -0
  98. package/dist/tui/StatusPanel.js +11 -0
  99. package/dist/tui/StatusPanel.js.map +1 -0
  100. package/dist/tui/ToolOutputViewer.d.ts +11 -0
  101. package/dist/tui/ToolOutputViewer.d.ts.map +1 -0
  102. package/dist/tui/ToolOutputViewer.js +39 -0
  103. package/dist/tui/ToolOutputViewer.js.map +1 -0
  104. package/dist/tui/Transcript.d.ts.map +1 -1
  105. package/dist/tui/Transcript.js +9 -3
  106. package/dist/tui/Transcript.js.map +1 -1
  107. package/dist/tui/agent.d.ts +7 -1
  108. package/dist/tui/agent.d.ts.map +1 -1
  109. package/dist/tui/agent.js +195 -46
  110. package/dist/tui/agent.js.map +1 -1
  111. package/dist/tui/exit-summary.d.ts.map +1 -1
  112. package/dist/tui/exit-summary.js +1 -1
  113. package/dist/tui/exit-summary.js.map +1 -1
  114. package/dist/tui/live-window.d.ts.map +1 -1
  115. package/dist/tui/live-window.js +5 -1
  116. package/dist/tui/live-window.js.map +1 -1
  117. package/dist/tui/logo.d.ts +4 -4
  118. package/dist/tui/logo.d.ts.map +1 -1
  119. package/dist/tui/logo.js +4 -4
  120. package/dist/tui/logo.js.map +1 -1
  121. package/dist/tui/model-catalogue-view.d.ts +3 -0
  122. package/dist/tui/model-catalogue-view.d.ts.map +1 -0
  123. package/dist/tui/model-catalogue-view.js +50 -0
  124. package/dist/tui/model-catalogue-view.js.map +1 -0
  125. package/dist/tui/permission-review.d.ts +2 -0
  126. package/dist/tui/permission-review.d.ts.map +1 -1
  127. package/dist/tui/permission-review.js +57 -3
  128. package/dist/tui/permission-review.js.map +1 -1
  129. package/dist/tui/slashCommands.d.ts +7 -0
  130. package/dist/tui/slashCommands.d.ts.map +1 -1
  131. package/dist/tui/slashCommands.js +75 -1
  132. package/dist/tui/slashCommands.js.map +1 -1
  133. package/dist/tui/status-card.d.ts +3 -0
  134. package/dist/tui/status-card.d.ts.map +1 -0
  135. package/dist/tui/status-card.js +30 -0
  136. package/dist/tui/status-card.js.map +1 -0
  137. package/dist/tui/status-panel-layout.d.ts +11 -0
  138. package/dist/tui/status-panel-layout.d.ts.map +1 -0
  139. package/dist/tui/status-panel-layout.js +42 -0
  140. package/dist/tui/status-panel-layout.js.map +1 -0
  141. package/dist/tui/types.d.ts +4 -0
  142. package/dist/tui/types.d.ts.map +1 -1
  143. package/package.json +5 -4
@@ -51,6 +51,8 @@ export const credentialSourcesCheck = {
51
51
  return `${d.entry.id} (keychain · ${d.source.service})`;
52
52
  case 'claude-file':
53
53
  return `${d.entry.id} (Claude session · ${d.source.path})`;
54
+ case 'gemini-file':
55
+ return `${d.entry.id} (Gemini session · ${d.source.path})`;
54
56
  case 'codex-file':
55
57
  return `${d.entry.id} (Codex session · ${d.source.path})`;
56
58
  case 'stored':
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IAClD,EAAE,EAAE,uBAAuB;IAC3B,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK,IAAgC,EAAE;QAC3C,IAAI,QAAuD,CAAA;QAC3D,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,oEAAoE;YACpE,sEAAsE;YACtE,OAAO;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC3F,CAAA;QACF,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACN,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EACV,kTAAkT;aACnT,CAAA;QACF,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,KAAK;oBACT,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAA;gBACnD,KAAK,QAAQ;oBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,uDAAuD,CAAA;gBAC5E,KAAK,eAAe;oBACnB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC7D,KAAK,UAAU;oBACd,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAA;gBACxD,KAAK,aAAa;oBACjB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC3D,KAAK,YAAY;oBAChB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC1D,KAAK,QAAQ;oBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBACtD,KAAK,OAAO;oBACX,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,CAAA;gBAC7E,KAAK,SAAS;oBACb,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,4BAA4B,CAAA;YAClD,CAAC;QACF,CAAC,CAAC,CAAA;QACF,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,kCAAkC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC/E,CAAA;IACF,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IAClD,EAAE,EAAE,uBAAuB;IAC3B,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK,IAAgC,EAAE;QAC3C,IAAI,QAAuD,CAAA;QAC3D,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,oEAAoE;YACpE,sEAAsE;YACtE,OAAO;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC3F,CAAA;QACF,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACN,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EACV,kTAAkT;aACnT,CAAA;QACF,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,KAAK;oBACT,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAA;gBACnD,KAAK,QAAQ;oBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,uDAAuD,CAAA;gBAC5E,KAAK,eAAe;oBACnB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC7D,KAAK,UAAU;oBACd,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAA;gBACxD,KAAK,aAAa;oBACjB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC3D,KAAK,aAAa;oBACjB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC3D,KAAK,YAAY;oBAChB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC1D,KAAK,QAAQ;oBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;gBACtD,KAAK,OAAO;oBACX,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,CAAA;gBAC7E,KAAK,SAAS;oBACb,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,4BAA4B,CAAA;YAClD,CAAC;QACF,CAAC,CAAC,CAAA;QACF,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,kCAAkC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC/E,CAAA;IACF,CAAC;CACD,CAAA"}
@@ -0,0 +1,5 @@
1
+ /** Fingerprint executable CLI files, independent of checkout path and timestamps. */
2
+ export declare function fingerprintCli(directory: string): string;
3
+ /** Local diagnostic only: no credentials, network calls or git lookup. */
4
+ export declare function installationRows(): readonly (readonly [string, string])[];
5
+ //# sourceMappingURL=installation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../src/installation.ts"],"names":[],"mappings":"AAOA,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA0BxD;AAGD,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAezE"}
@@ -0,0 +1,48 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync, readdirSync } from 'node:fs';
3
+ import { dirname, join, relative } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { CLI_VERSION } from './version.js';
6
+ /** Fingerprint executable CLI files, independent of checkout path and timestamps. */
7
+ export function fingerprintCli(directory) {
8
+ const hash = createHash('sha256');
9
+ const visit = (folder) => {
10
+ for (const entry of readdirSync(folder, { withFileTypes: true }).sort((a, b) => a.name.localeCompare(b.name, 'en'))) {
11
+ const path = join(folder, entry.name);
12
+ if (entry.isDirectory() &&
13
+ !['node_modules', '__tests__', '__fixtures__'].includes(entry.name))
14
+ visit(path);
15
+ else if (entry.isFile() &&
16
+ /\.(js|ts|tsx)$/.test(entry.name) &&
17
+ !/\.(d|test|proc-test)\.(js|ts|tsx)$/.test(entry.name)) {
18
+ hash.update(relative(directory, path).replaceAll('\\', '/'));
19
+ hash.update('\0');
20
+ hash.update(readFileSync(path));
21
+ hash.update('\0');
22
+ }
23
+ }
24
+ };
25
+ visit(directory);
26
+ return hash.digest('hex').slice(0, 16);
27
+ }
28
+ let cached;
29
+ /** Local diagnostic only: no credentials, network calls or git lookup. */
30
+ export function installationRows() {
31
+ if (cached)
32
+ return cached;
33
+ const directory = dirname(fileURLToPath(import.meta.url));
34
+ let fingerprint = 'unavailable';
35
+ try {
36
+ fingerprint = fingerprintCli(directory);
37
+ }
38
+ catch {
39
+ /* Diagnostics must not prevent /status. */
40
+ }
41
+ cached = [
42
+ ['Version', CLI_VERSION],
43
+ ['Build', fingerprint],
44
+ ['Executable', join(directory, import.meta.url.endsWith('.ts') ? 'bin.ts' : 'bin.js')],
45
+ ];
46
+ return cached;
47
+ }
48
+ //# sourceMappingURL=installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../src/installation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9E,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAClC,EAAE,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,IACC,KAAK,CAAC,WAAW,EAAE;gBACnB,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAEnE,KAAK,CAAC,IAAI,CAAC,CAAA;iBACP,IACJ,KAAK,CAAC,MAAM,EAAE;gBACd,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACjC,CAAC,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EACrD,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;gBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACF,CAAC;IACF,CAAC,CAAA;IACD,KAAK,CAAC,SAAS,CAAC,CAAA;IAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvC,CAAC;AAED,IAAI,MAA0D,CAAA;AAC9D,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB;IAC/B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,IAAI,WAAW,GAAG,aAAa,CAAA;IAC/B,IAAI,CAAC;QACJ,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,2CAA2C;IAC5C,CAAC;IACD,MAAM,GAAG;QACR,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACtF,CAAA;IACD,OAAO,MAAM,CAAA;AACd,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DetectedProvider } from './discover.js';
2
+ /** Serialize rotations and reread the admitted owner when an auxiliary client is built. */
3
+ export declare function createCurrentCredentialReader(): (detected: DetectedProvider | null, signal?: AbortSignal) => Promise<DetectedProvider | null>;
4
+ //# sourceMappingURL=current-credential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-credential.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/current-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAOrD,2FAA2F;AAC3F,wBAAgB,6BAA6B,KAG3C,UAAU,gBAAgB,GAAG,IAAI,EACjC,SAAS,WAAW,KAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA8CnC"}
@@ -0,0 +1,45 @@
1
+ import { CredentialWithdrawnError, ensureFreshAnthropicToken, readSubscriptionCredential, } from './oauth.js';
2
+ /** Serialize rotations and reread the admitted owner when an auxiliary client is built. */
3
+ export function createCurrentCredentialReader() {
4
+ let tail = Promise.resolve();
5
+ return (detected, signal) => {
6
+ if (detected?.entry.id !== 'anthropic' || !detected.oauth) {
7
+ signal?.throwIfAborted();
8
+ return Promise.resolve(detected);
9
+ }
10
+ const oauth = detected.oauth;
11
+ const work = tail.then(async () => {
12
+ signal?.throwIfAborted();
13
+ const origin = oauth.origin ?? 'keychain';
14
+ const credential = readSubscriptionCredential(origin, oauth.sourcePath);
15
+ if (!credential)
16
+ throw new CredentialWithdrawnError();
17
+ const metadata = { ...oauth, ...credential, origin };
18
+ // Keychain credentials remain owner-refreshed; only reread that source.
19
+ const token = origin === 'keychain'
20
+ ? credential.accessToken
21
+ : await ensureFreshAnthropicToken(credential.accessToken, metadata, signal);
22
+ signal?.throwIfAborted();
23
+ if (token === credential.accessToken &&
24
+ credential.expiresAt !== undefined &&
25
+ credential.expiresAt <= Date.now()) {
26
+ throw new CredentialWithdrawnError('The Claude credential is still expired after renewal. Retry when its owner has refreshed it, or sign in with /login.');
27
+ }
28
+ const published = readSubscriptionCredential(origin, oauth.sourcePath);
29
+ const current = published?.accessToken === token ? published : credential;
30
+ return {
31
+ ...detected,
32
+ apiKey: token,
33
+ oauth: {
34
+ origin,
35
+ sourcePath: oauth.sourcePath,
36
+ refreshToken: current.refreshToken,
37
+ expiresAt: current.accessToken === token ? current.expiresAt : undefined,
38
+ },
39
+ };
40
+ });
41
+ tail = work.then(() => { }, () => { });
42
+ return work;
43
+ };
44
+ }
45
+ //# sourceMappingURL=current-credential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-credential.js","sourceRoot":"","sources":["../../../src/integrations/providers/current-credential.ts"],"names":[],"mappings":"AACA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,GAC1B,MAAM,YAAY,CAAA;AAEnB,2FAA2F;AAC3F,MAAM,UAAU,6BAA6B;IAC5C,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC3C,OAAO,CACN,QAAiC,EACjC,MAAoB,EACe,EAAE;QACrC,IAAI,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,EAAE,cAAc,EAAE,CAAA;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,EAAE,cAAc,EAAE,CAAA;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAA;YACzC,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YACvE,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;YACrD,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,CAAA;YACpD,wEAAwE;YACxE,MAAM,KAAK,GACV,MAAM,KAAK,UAAU;gBACpB,CAAC,CAAC,UAAU,CAAC,WAAW;gBACxB,CAAC,CAAC,MAAM,yBAAyB,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC7E,MAAM,EAAE,cAAc,EAAE,CAAA;YACxB,IACC,KAAK,KAAK,UAAU,CAAC,WAAW;gBAChC,UAAU,CAAC,SAAS,KAAK,SAAS;gBAClC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EACjC,CAAC;gBACF,MAAM,IAAI,wBAAwB,CACjC,sHAAsH,CACtH,CAAA;YACF,CAAC;YACD,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YACtE,MAAM,OAAO,GAAG,SAAS,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;YACzE,OAAO;gBACN,GAAG,QAAQ;gBACX,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE;oBACN,MAAM;oBACN,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,SAAS,EAAE,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;iBACxE;aACD,CAAA;QACF,CAAC,CAAC,CAAA;QACF,IAAI,GAAG,IAAI,CAAC,IAAI,CACf,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACR,CAAA;QACD,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;AACF,CAAC"}
@@ -2,7 +2,8 @@
2
2
  * Discover usable credential sources, reachable local servers, and public Zen.
3
3
  *
4
4
  * Claude/Codex device sessions precede Namzu-owned sign-ins and their optional
5
- * API environment alternatives. Zen/Go use direct API environment variables,
5
+ * API environment alternatives. Gemini prefers explicit API keys, then reuses its
6
+ * installed CLI Google session. Zen/Go use direct API environment variables,
6
7
  * then exact API entries in OpenCode's owner store. Anonymous Zen is available
7
8
  * without a credential or local installation and is ordered last.
8
9
  *
@@ -41,6 +42,11 @@ export type DetectionSource = {
41
42
  readonly kind: 'codex-file';
42
43
  readonly path: string;
43
44
  }
45
+ /** A Google account session owned by Gemini CLI. */
46
+ | {
47
+ readonly kind: 'gemini-file';
48
+ readonly path: string;
49
+ }
44
50
  /**
45
51
  * namzu's own credential store — a subscription the operator signed in to
46
52
  * from inside namzu. Carries the path because "where did this come from"
@@ -92,6 +98,11 @@ export interface DetectedProvider {
92
98
  readonly expiresAt?: number;
93
99
  readonly origin: 'codex-file' | 'stored';
94
100
  };
101
+ /** Exact owner file and optional Google Cloud billing project, never a Namzu project ID. */
102
+ readonly gemini?: {
103
+ readonly sourcePath: string;
104
+ readonly projectId?: string;
105
+ };
95
106
  /** Other sources that also satisfy this provider — informational. */
96
107
  readonly alternatives: readonly DetectionSource[];
97
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
  * Discover usable credential sources, reachable local servers, and public Zen.
3
3
  *
4
4
  * Claude/Codex device sessions precede Namzu-owned sign-ins and their optional
5
- * API environment alternatives. Zen/Go use direct API environment variables,
5
+ * API environment alternatives. Gemini prefers explicit API keys, then reuses its
6
+ * installed CLI Google session. Zen/Go use direct API environment variables,
6
7
  * then exact API entries in OpenCode's owner store. Anonymous Zen is available
7
8
  * without a credential or local installation and is ordered last.
8
9
  *
@@ -13,6 +14,7 @@
13
14
  import { EnvCredentialProvider } from '@namzu/sdk';
14
15
  import { hasApiCredential } from './access.js';
15
16
  import { credentialsPath, readStoredCodexCredential, readStoredSubscriptionCredential, } from './credential-store.js';
17
+ import { readGeminiFileCredentialCandidates } from './gemini-credentials.js';
16
18
  import { preferFresherCredential, readClaudeFileCredentialCandidates, readCodexFileCredentialCandidates, readOpenCodeApiCredentialCandidates, } from './harness-credentials.js';
17
19
  import { KEYCHAIN_SERVICE, readAgentKeychainCredential } from './keychain.js';
18
20
  import { PROVIDER_REGISTRY } from './registry.js';
@@ -31,6 +33,8 @@ import { PROVIDER_REGISTRY } from './registry.js';
31
33
  */
32
34
  export function signedInSubscriptionProviders(detected) {
33
35
  return detected.filter((provider) => {
36
+ if (provider.entry.id === 'google')
37
+ return provider.source.kind === 'gemini-file';
34
38
  if (provider.entry.subscriptionLogin === undefined)
35
39
  return false;
36
40
  return [provider.source, ...provider.alternatives].some((source) => source.kind === 'claude-file' ||
@@ -50,6 +54,7 @@ export async function discoverProviders(opts = {}) {
50
54
  // The vocabulary agreement is asserted instead, where it can fail loudly.
51
55
  const credentials = new EnvCredentialProvider({ env, anyKey: true });
52
56
  const detected = [];
57
+ const geminiCredentials = readGeminiFileCredentialCandidates(opts.home, env, opts.windowsHome);
53
58
  // Read both credential sources once, up front, so the loop body stays
54
59
  // uniform. Only anthropic consumes either.
55
60
  //
@@ -104,6 +109,7 @@ export async function discoverProviders(opts = {}) {
104
109
  let anonymousSelected = false;
105
110
  let oauth;
106
111
  let codex;
112
+ let gemini;
107
113
  if (id === 'anthropic') {
108
114
  const borrowedCandidates = [
109
115
  ...claudeFileCredentials.map(({ credential, path }) => ({
@@ -214,6 +220,15 @@ export async function discoverProviders(opts = {}) {
214
220
  sources.push({ kind: 'env', envName });
215
221
  }
216
222
  }
223
+ if (id === 'google') {
224
+ const borrowed = geminiCredentials[0];
225
+ if (borrowed && apiKey === undefined) {
226
+ apiKey = borrowed.credential.accessToken;
227
+ sources.push({ kind: 'gemini-file', path: borrowed.path });
228
+ const projectId = env.GOOGLE_CLOUD_PROJECT?.trim() || env.GOOGLE_CLOUD_PROJECT_ID?.trim();
229
+ gemini = { sourcePath: borrowed.path, ...(projectId ? { projectId } : {}) };
230
+ }
231
+ }
217
232
  if (id === 'zen' || id === 'zen-go') {
218
233
  for (const candidate of openCodeCredentials) {
219
234
  if (anonymousSelected)
@@ -243,6 +258,7 @@ export async function discoverProviders(opts = {}) {
243
258
  baseUrl: entry.defaultBaseUrl,
244
259
  ...(oauth ? { oauth } : {}),
245
260
  ...(codex ? { codex } : {}),
261
+ ...(gemini ? { gemini } : {}),
246
262
  alternatives: sources.slice(1),
247
263
  });
248
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface GeminiCredential {
2
+ readonly accessToken: string;
3
+ readonly refreshToken?: string;
4
+ readonly expiresAt?: number;
5
+ }
6
+ export declare function readGeminiCredentialFile(path: string): GeminiCredential | null;
7
+ export declare function readGeminiFileCredentialCandidates(home: string | undefined, env?: NodeJS.ProcessEnv, windowsHome?: string | null | undefined): readonly {
8
+ readonly path: string;
9
+ readonly credential: GeminiCredential;
10
+ }[];
11
+ /** Refresh in memory only. Re-read the owner's file before every request so logout is respected. */
12
+ export declare function createGeminiAccessTokenResolver(path: string, fetchFn?: typeof fetch, env?: NodeJS.ProcessEnv): (signal?: AbortSignal) => Promise<string>;
13
+ //# sourceMappingURL=gemini-credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-credentials.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/gemini-credentials.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAqC9E;AAED,wBAAgB,kCAAkC,CACjD,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,WAAW,GAAE,MAAM,GAAG,IAAI,GAAG,SAA2D,GACtF,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,EAAE,CAkB7E;AAED,oGAAoG;AACpG,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,OAAO,KAAwB,EACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CA+E3C"}
@@ -0,0 +1,148 @@
1
+ /** Read-only reuse of the Google account session owned by Gemini CLI. */
2
+ import { constants, closeSync, fstatSync, openSync, readSync } from 'node:fs';
3
+ import { homedir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { wslWindowsHome } from './harness-credentials.js';
6
+ const REFRESH_URL = 'https://oauth2.googleapis.com/token';
7
+ const MAX_BYTES = 1024 * 1024;
8
+ export function readGeminiCredentialFile(path) {
9
+ let fd;
10
+ try {
11
+ fd = openSync(path, constants.O_RDONLY | constants.O_NONBLOCK);
12
+ const stat = fstatSync(fd);
13
+ if (!stat.isFile() || stat.size > MAX_BYTES)
14
+ return null;
15
+ const buffer = Buffer.alloc(MAX_BYTES + 1);
16
+ let size = 0;
17
+ while (size < buffer.length) {
18
+ const count = readSync(fd, buffer, size, buffer.length - size, null);
19
+ if (count === 0)
20
+ break;
21
+ size += count;
22
+ }
23
+ if (size > MAX_BYTES)
24
+ return null;
25
+ const value = JSON.parse(buffer.subarray(0, size).toString('utf8'));
26
+ if (!value || typeof value !== 'object' || Array.isArray(value))
27
+ return null;
28
+ const record = value;
29
+ if (typeof record.access_token !== 'string' || !record.access_token.trim())
30
+ return null;
31
+ if (record.expiry_date !== undefined &&
32
+ (typeof record.expiry_date !== 'number' ||
33
+ !Number.isFinite(record.expiry_date) ||
34
+ record.expiry_date <= 0))
35
+ return null;
36
+ return {
37
+ accessToken: record.access_token,
38
+ ...(typeof record.refresh_token === 'string' && record.refresh_token.trim()
39
+ ? { refreshToken: record.refresh_token }
40
+ : {}),
41
+ ...(typeof record.expiry_date === 'number' ? { expiresAt: record.expiry_date } : {}),
42
+ };
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ finally {
48
+ if (fd !== undefined)
49
+ closeSync(fd);
50
+ }
51
+ }
52
+ export function readGeminiFileCredentialCandidates(home, env = process.env, windowsHome = home === undefined ? wslWindowsHome(env) : null) {
53
+ // Gemini CLI's Storage appends .gemini to its overridden home. An explicit
54
+ // owner location must not fall through to a different signed-in account.
55
+ const paths = env.GEMINI_CLI_HOME
56
+ ? [join(env.GEMINI_CLI_HOME, '.gemini', 'oauth_creds.json')]
57
+ : [
58
+ join(home ?? homedir(), '.gemini', 'oauth_creds.json'),
59
+ ...(windowsHome ? [join(windowsHome, '.gemini', 'oauth_creds.json')] : []),
60
+ ];
61
+ return [...new Set(paths)].flatMap((path) => {
62
+ const credential = readGeminiCredentialFile(path);
63
+ return credential &&
64
+ (credential.expiresAt === undefined ||
65
+ credential.expiresAt > Date.now() + 60_000 ||
66
+ credential.refreshToken)
67
+ ? [{ path, credential }]
68
+ : [];
69
+ });
70
+ }
71
+ /** Refresh in memory only. Re-read the owner's file before every request so logout is respected. */
72
+ export function createGeminiAccessTokenResolver(path, fetchFn = globalThis.fetch, env = process.env) {
73
+ let source;
74
+ let cached;
75
+ let pending;
76
+ return async (signal) => {
77
+ signal?.throwIfAborted();
78
+ const owner = readGeminiCredentialFile(path);
79
+ if (!owner)
80
+ throw new Error('Gemini CLI sign-in is no longer available. Sign in with Gemini CLI again.');
81
+ const fingerprint = JSON.stringify(owner);
82
+ if (source !== fingerprint) {
83
+ source = fingerprint;
84
+ cached = owner;
85
+ pending = undefined;
86
+ }
87
+ const current = cached ?? owner;
88
+ if (current.expiresAt === undefined || current.expiresAt > Date.now() + 60_000)
89
+ return current.accessToken;
90
+ if (!current.refreshToken)
91
+ throw new Error('Gemini CLI sign-in has expired. Sign in with Gemini CLI again.');
92
+ const clientId = env.GOOGLE_OAUTH_CLIENT_ID?.trim();
93
+ const clientSecret = env.GOOGLE_OAUTH_CLIENT_SECRET?.trim();
94
+ if (!clientId || !clientSecret)
95
+ throw new Error('Gemini CLI sign-in has expired. Refresh it in Gemini CLI, or configure the matching GOOGLE_OAUTH_CLIENT_ID and GOOGLE_OAUTH_CLIENT_SECRET.');
96
+ if (!pending) {
97
+ const refresh = current.refreshToken;
98
+ const operation = (async () => {
99
+ const response = await fetchFn(REFRESH_URL, {
100
+ method: 'POST',
101
+ redirect: 'error',
102
+ signal: AbortSignal.timeout(15_000),
103
+ headers: { 'content-type': 'application/x-www-form-urlencoded' },
104
+ body: new URLSearchParams({
105
+ client_id: clientId,
106
+ client_secret: clientSecret,
107
+ refresh_token: refresh,
108
+ grant_type: 'refresh_token',
109
+ }),
110
+ });
111
+ if (!response.ok)
112
+ throw new Error(`Gemini CLI sign-in could not be refreshed (HTTP ${response.status}). Sign in with Gemini CLI again.`);
113
+ const value = (await response.json());
114
+ if (typeof value.access_token !== 'string' ||
115
+ !value.access_token ||
116
+ typeof value.expires_in !== 'number' ||
117
+ !Number.isFinite(value.expires_in) ||
118
+ value.expires_in <= 0)
119
+ throw new Error('Google returned an invalid sign-in refresh response.');
120
+ // Do not let a late refresh replace a newer owner session.
121
+ if (source === fingerprint)
122
+ cached = {
123
+ accessToken: value.access_token,
124
+ refreshToken: typeof value.refresh_token === 'string' ? value.refresh_token : refresh,
125
+ expiresAt: Date.now() + value.expires_in * 1000,
126
+ };
127
+ return value.access_token;
128
+ })();
129
+ pending = operation;
130
+ void operation
131
+ .finally(() => {
132
+ if (pending === operation)
133
+ pending = undefined;
134
+ })
135
+ .catch(() => { });
136
+ }
137
+ if (!signal)
138
+ return pending;
139
+ signal.throwIfAborted();
140
+ // A cancelled waiter must not cancel a refresh needed by sibling requests.
141
+ return new Promise((resolve, reject) => {
142
+ const abort = () => reject(signal.reason);
143
+ signal.addEventListener('abort', abort, { once: true });
144
+ pending?.then(resolve, reject).finally(() => signal.removeEventListener('abort', abort));
145
+ });
146
+ };
147
+ }
148
+ //# sourceMappingURL=gemini-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-credentials.js","sourceRoot":"","sources":["../../../src/integrations/providers/gemini-credentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAqB,KAAK,UAAU,EAA8B,MAAM,eAAe,CAAA;AAI9F;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CpE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,SAAS,cAAc,EAAE,GAChC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CA0BxC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAqB,KAAK,UAAU,EAA8B,MAAM,eAAe,CAAA;AAI9F;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDpE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,SAAS,cAAc,EAAE,GAChC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CA0BxC"}
@@ -56,6 +56,11 @@ export async function ensureRegistered(id) {
56
56
  mod.registerAnthropic();
57
57
  break;
58
58
  }
59
+ case 'google': {
60
+ const mod = await import('@namzu/google');
61
+ mod.registerGoogle();
62
+ break;
63
+ }
59
64
  case 'openai': {
60
65
  const mod = await import('@namzu/openai');
61
66
  mod.registerOpenAI();
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/integrations/providers/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/integrations/providers/register.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Adding a provider means adding one entry here; nothing else in this
6
6
  * layer needs to change.
7
7
  */
8
- export type ProviderId = 'anthropic' | 'codex' | 'openai' | 'openrouter' | 'zen' | 'zen-go' | 'deepseek' | 'ollama' | 'lmstudio' | 'bedrock' | 'http';
8
+ export type ProviderId = 'anthropic' | 'codex' | 'google' | 'openai' | 'openrouter' | 'zen' | 'zen-go' | 'deepseek' | 'ollama' | 'lmstudio' | 'bedrock' | 'http';
9
9
  /** SDK type passed to `ProviderRegistry.create({type, ...})`. */
10
10
  export type SdkProviderType = ProviderId;
11
11
  export type SubscriptionProviderId = 'anthropic' | 'codex';
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GACnB,WAAW,GACX,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,CAAA;AAET,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAA;AAExC,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,gFAAgF;IAChF,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACjD;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,MAAM,EAAE,CAAA;CAC3C;AAED,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CA8IjF,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,EAEjD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAI7E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GACnB,WAAW,GACX,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,CAAA;AAET,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAA;AAExC,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,gFAAgF;IAChF,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACjD;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,MAAM,EAAE,CAAA;CAC3C;AAED,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAwJjF,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,EAEjD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAI7E"}
@@ -35,6 +35,16 @@ export const PROVIDER_REGISTRY = Object.freeze({
35
35
  constructible: true,
36
36
  driverPackage: '@namzu/openai',
37
37
  },
38
+ google: {
39
+ id: 'google',
40
+ label: 'Google (Gemini)',
41
+ envVars: ['GEMINI_API_KEY', 'GOOGLE_API_KEY'],
42
+ defaultModel: 'gemini-2.5-flash',
43
+ requiresApiKey: true,
44
+ acceptsTypedCredential: true,
45
+ constructible: true,
46
+ driverPackage: '@namzu/google',
47
+ },
38
48
  openai: {
39
49
  id: 'openai',
40
50
  label: 'OpenAI',
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/integrations/providers/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/integrations/providers/registry.ts"],"names":[],"mappings":"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"}