dsh-cliworker-now 0.7.6 → 0.7.8

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 (181) hide show
  1. package/README.en.md +53 -11
  2. package/README.md +56 -11
  3. package/lib/account-models.mjs +49 -18
  4. package/lib/client.js +1221 -151
  5. package/lib/client.js.map +1 -1
  6. package/lib/grok-catalog.mjs +2 -2
  7. package/lib/hermes-native-entry.py +48 -13
  8. package/lib/hermes-nous-refresh.py +331 -0
  9. package/lib/index.js +9469 -6030
  10. package/lib/index.js.map +1 -1
  11. package/lib/native-launch.mjs +62 -7
  12. package/lib/native-spawn.mjs +32 -0
  13. package/lib/pi-installation.mjs +27 -3
  14. package/lib/pi-native-catalog.mjs +17 -7
  15. package/lib/pi-omp-bridge.mjs +2 -2
  16. package/lib/pi-omp-refresh.mjs +3 -3
  17. package/lib/private-launch.mjs +6 -2
  18. package/lib/terminal-bridge.mjs +2 -2
  19. package/lib/typert.host.js +265 -25
  20. package/lib/typert.remote-client.d.ts +8 -0
  21. package/lib/typert.remote-client.d.ts.map +1 -1
  22. package/lib/typert.remote-client.js +241 -25
  23. package/lib/types/client/account-query-queue.d.ts +16 -0
  24. package/lib/types/client/account-query-queue.js +61 -0
  25. package/lib/types/client/account-query-queue.js.map +1 -0
  26. package/lib/types/client/account-terminal.d.ts +6 -2
  27. package/lib/types/client/account-terminal.js +260 -31
  28. package/lib/types/client/account-terminal.js.map +1 -1
  29. package/lib/types/client/cli-executable-settings.d.ts +13 -0
  30. package/lib/types/client/cli-executable-settings.js +128 -0
  31. package/lib/types/client/cli-executable-settings.js.map +1 -0
  32. package/lib/types/client/management-styles.d.ts +1 -1
  33. package/lib/types/client/management-styles.js +4 -0
  34. package/lib/types/client/management-styles.js.map +1 -1
  35. package/lib/types/client/settings-dialog.js +196 -80
  36. package/lib/types/client/settings-dialog.js.map +1 -1
  37. package/lib/types/client/styles.d.ts +1 -1
  38. package/lib/types/client/styles.js +18 -16
  39. package/lib/types/client/styles.js.map +1 -1
  40. package/lib/types/client/zcode-login-link-provider.d.ts +9 -0
  41. package/lib/types/client/zcode-login-link-provider.js +105 -0
  42. package/lib/types/client/zcode-login-link-provider.js.map +1 -0
  43. package/lib/types/client/zcode-login-link.d.ts +16 -0
  44. package/lib/types/client/zcode-login-link.js +194 -0
  45. package/lib/types/client/zcode-login-link.js.map +1 -0
  46. package/lib/types/host/account-models.d.mts +10 -2
  47. package/lib/types/host/account-models.mjs +49 -18
  48. package/lib/types/host/accounts.d.ts +3 -2
  49. package/lib/types/host/accounts.js +168 -29
  50. package/lib/types/host/accounts.js.map +1 -1
  51. package/lib/types/host/adapters.d.ts +3 -1
  52. package/lib/types/host/adapters.js +138 -11
  53. package/lib/types/host/adapters.js.map +1 -1
  54. package/lib/types/host/agy-background-environment.d.ts +2 -0
  55. package/lib/types/host/agy-background-environment.js +7 -0
  56. package/lib/types/host/agy-background-environment.js.map +1 -0
  57. package/lib/types/host/agy-models.d.ts +2 -1
  58. package/lib/types/host/agy-models.js +6 -6
  59. package/lib/types/host/agy-models.js.map +1 -1
  60. package/lib/types/host/agy-windows-account.d.ts +14 -0
  61. package/lib/types/host/agy-windows-account.js +104 -0
  62. package/lib/types/host/agy-windows-account.js.map +1 -0
  63. package/lib/types/host/authorized-catalog.js +13 -4
  64. package/lib/types/host/authorized-catalog.js.map +1 -1
  65. package/lib/types/host/claude-native-oauth.d.ts +17 -0
  66. package/lib/types/host/claude-native-oauth.js +274 -0
  67. package/lib/types/host/claude-native-oauth.js.map +1 -0
  68. package/lib/types/host/claude-own-route.d.ts +45 -0
  69. package/lib/types/host/claude-own-route.js +375 -0
  70. package/lib/types/host/claude-own-route.js.map +1 -0
  71. package/lib/types/host/cli-account-binding.d.ts +2 -1
  72. package/lib/types/host/cli-account-binding.js +64 -21
  73. package/lib/types/host/cli-account-binding.js.map +1 -1
  74. package/lib/types/host/cli-executable-paths.d.ts +30 -0
  75. package/lib/types/host/cli-executable-paths.js +272 -0
  76. package/lib/types/host/cli-executable-paths.js.map +1 -0
  77. package/lib/types/host/codex-models.d.ts +3 -1
  78. package/lib/types/host/codex-models.js +41 -4
  79. package/lib/types/host/codex-models.js.map +1 -1
  80. package/lib/types/host/extended-adapters.d.ts +3 -2
  81. package/lib/types/host/extended-adapters.js +9 -7
  82. package/lib/types/host/extended-adapters.js.map +1 -1
  83. package/lib/types/host/first-party-models.d.ts +5 -0
  84. package/lib/types/host/first-party-models.js +173 -50
  85. package/lib/types/host/first-party-models.js.map +1 -1
  86. package/lib/types/host/hermes-accounts.js +68 -9
  87. package/lib/types/host/hermes-accounts.js.map +1 -1
  88. package/lib/types/host/hermes-adapter.d.ts +3 -0
  89. package/lib/types/host/hermes-adapter.js +13 -4
  90. package/lib/types/host/hermes-adapter.js.map +1 -1
  91. package/lib/types/host/hermes-installation.js +54 -35
  92. package/lib/types/host/hermes-installation.js.map +1 -1
  93. package/lib/types/host/hermes-models.js +21 -2
  94. package/lib/types/host/hermes-models.js.map +1 -1
  95. package/lib/types/host/hermes-native-entry.py +48 -13
  96. package/lib/types/host/hermes-nous-refresh.py +331 -0
  97. package/lib/types/host/hermes-nous.d.ts +5 -1
  98. package/lib/types/host/hermes-nous.js +5 -5
  99. package/lib/types/host/hermes-nous.js.map +1 -1
  100. package/lib/types/host/hermes-renewal.d.ts +27 -0
  101. package/lib/types/host/hermes-renewal.js +292 -0
  102. package/lib/types/host/hermes-renewal.js.map +1 -0
  103. package/lib/types/host/hermes-windows-installation.d.ts +5 -0
  104. package/lib/types/host/hermes-windows-installation.js +91 -0
  105. package/lib/types/host/hermes-windows-installation.js.map +1 -0
  106. package/lib/types/host/index.d.ts +12 -0
  107. package/lib/types/host/index.js +138 -8
  108. package/lib/types/host/index.js.map +1 -1
  109. package/lib/types/host/kimi-accounts.d.ts +2 -0
  110. package/lib/types/host/kimi-accounts.js +4 -2
  111. package/lib/types/host/kimi-accounts.js.map +1 -1
  112. package/lib/types/host/kimi-oauth-models.d.ts +14 -0
  113. package/lib/types/host/kimi-oauth-models.js +246 -0
  114. package/lib/types/host/kimi-oauth-models.js.map +1 -0
  115. package/lib/types/host/mimo-metadata-cache.d.ts +22 -0
  116. package/lib/types/host/mimo-metadata-cache.js +121 -0
  117. package/lib/types/host/mimo-metadata-cache.js.map +1 -0
  118. package/lib/types/host/native-capability-cache.d.ts +11 -0
  119. package/lib/types/host/native-capability-cache.js +94 -0
  120. package/lib/types/host/native-capability-cache.js.map +1 -0
  121. package/lib/types/host/native-launch.mjs +62 -7
  122. package/lib/types/host/native-process.d.ts +3 -1
  123. package/lib/types/host/native-process.js +30 -5
  124. package/lib/types/host/native-process.js.map +1 -1
  125. package/lib/types/host/native-spawn.mjs +32 -0
  126. package/lib/types/host/opencode-native.js +13 -0
  127. package/lib/types/host/opencode-native.js.map +1 -1
  128. package/lib/types/host/pi-installation.d.mts +1 -1
  129. package/lib/types/host/pi-installation.mjs +27 -3
  130. package/lib/types/host/pi-omp-adapter.js +17 -3
  131. package/lib/types/host/pi-omp-adapter.js.map +1 -1
  132. package/lib/types/host/pi-omp-native.js +5 -3
  133. package/lib/types/host/pi-omp-native.js.map +1 -1
  134. package/lib/types/host/pi-omp-refresh.mjs +3 -3
  135. package/lib/types/host/private-launch.mjs +23 -0
  136. package/lib/types/host/process.d.ts +3 -0
  137. package/lib/types/host/process.js +3 -1
  138. package/lib/types/host/process.js.map +1 -1
  139. package/lib/types/host/routing.js +25 -2
  140. package/lib/types/host/routing.js.map +1 -1
  141. package/lib/types/host/runtime.js +21 -5
  142. package/lib/types/host/runtime.js.map +1 -1
  143. package/lib/types/host/settings-catalog-cache.d.ts +28 -0
  144. package/lib/types/host/settings-catalog-cache.js +189 -0
  145. package/lib/types/host/settings-catalog-cache.js.map +1 -0
  146. package/lib/types/host/windows-account-bootstrap.ps1 +44 -0
  147. package/lib/types/host/windows-account-launch.mjs +47 -0
  148. package/lib/types/host/windows-account-owner.ps1 +137 -0
  149. package/lib/types/host/windows-account-stdio.mjs +19 -0
  150. package/lib/types/host/windows-account-terminal.d.ts +17 -0
  151. package/lib/types/host/windows-account-terminal.js +208 -0
  152. package/lib/types/host/windows-account-terminal.js.map +1 -0
  153. package/lib/types/host/windows-agy-account.ps1 +81 -0
  154. package/lib/types/host/windows-cli-installation.d.ts +35 -0
  155. package/lib/types/host/windows-cli-installation.js +164 -0
  156. package/lib/types/host/windows-cli-installation.js.map +1 -0
  157. package/lib/types/host/windows-codex-launch.d.ts +9 -0
  158. package/lib/types/host/windows-codex-launch.js +216 -0
  159. package/lib/types/host/windows-codex-launch.js.map +1 -0
  160. package/lib/types/host/windows-desktop-cli-installation.d.ts +20 -0
  161. package/lib/types/host/windows-desktop-cli-installation.js +420 -0
  162. package/lib/types/host/windows-desktop-cli-installation.js.map +1 -0
  163. package/lib/types/host/windows-hidden-launch.mjs +51 -0
  164. package/lib/types/host/windows-hidden-process.d.ts +12 -0
  165. package/lib/types/host/windows-hidden-process.js +116 -0
  166. package/lib/types/host/windows-hidden-process.js.map +1 -0
  167. package/lib/types/host/zcode-adapter.js +5 -1
  168. package/lib/types/host/zcode-adapter.js.map +1 -1
  169. package/lib/types/host/zcode-grok-accounts.d.ts +3 -1
  170. package/lib/types/host/zcode-grok-accounts.js +60 -11
  171. package/lib/types/host/zcode-grok-accounts.js.map +1 -1
  172. package/lib/types/shared/accounts.d.ts +4 -0
  173. package/lib/types/shared/cli-settings.d.ts +8 -0
  174. package/lib/windows-account-bootstrap.ps1 +44 -0
  175. package/lib/windows-account-launch.mjs +47 -0
  176. package/lib/windows-account-owner.ps1 +137 -0
  177. package/lib/windows-account-stdio.mjs +19 -0
  178. package/lib/windows-agy-account.ps1 +81 -0
  179. package/lib/windows-hidden-launch.mjs +51 -0
  180. package/lib/zcode-resume.mjs +2 -2
  181. package/package.json +2 -2
@@ -1,6 +1,10 @@
1
+ import { readClaudeOwnRoute, claudeNativeSettingsArguments } from "./claude-own-route.js";
2
+ import { discoverClaudeNativeOAuth } from "./claude-native-oauth.js";
1
3
  import { discoverCodexModels } from "./codex-models.js";
2
4
  import { discoverAgyAccountModels } from "./agy-models.js";
5
+ import { agyBackgroundEnvironment } from "./agy-background-environment.js";
3
6
  import { discoverFirstPartySources, readFirstPartyModelSources } from "./first-party-models.js";
7
+ import { nativeAgyAccountIdentity } from "./agy-windows-account.js";
4
8
  import { extendedCatalog, isExtendedCli } from "./extended-adapters.js";
5
9
  import { ZCodeProtocol, managedZCodeEntry } from "./zcode-adapter.js";
6
10
  import { HermesProtocol } from "./hermes-adapter.js";
@@ -8,10 +12,13 @@ import { GrokProtocol } from "./grok-adapter.js";
8
12
  import { OpenCodeProtocol } from "./opencode-adapter.js";
9
13
  import { BridgeProtocol } from "./bridge-protocol.js";
10
14
  import { verifyPiOmpExecutable } from "./pi-omp-identity.js";
15
+ import { findWindowsCodexAppx, hasWindowsHermesInstallDirectory, presentWindowsCliCandidate, WindowsCliInstallationError, WindowsCliNotFoundError, } from "./windows-cli-installation.js";
16
+ import { findWindowsDesktopCli, windowsOpenCodeDesktopCli } from "./windows-desktop-cli-installation.js";
11
17
  import { resolveModel } from "../shared/models.js";
12
18
  import { existsSync, statSync, lstatSync, accessSync, constants } from 'node:fs';
13
19
  import { homedir } from 'node:os';
14
20
  import { join } from 'node:path';
21
+ import { SubprocessExecutableNotFoundError } from '@deepseek-ai/dsh-subprocess';
15
22
  import { CLI_LABELS, EFFORTS, cliOf, } from "../shared/types.js";
16
23
  import { AgyProtocol } from "./protocol.js";
17
24
  import { CliProtocol } from "./cli-protocol.js";
@@ -36,10 +43,22 @@ export const executableFor = (cli, config) => {
36
43
  const configured = config[`${cli}Executable`];
37
44
  if (configured && configured !== cli)
38
45
  return configured;
46
+ // A deployed standalone runtime is shared across platforms. An explicit
47
+ // custom executable still wins, and a missing deployment keeps native lookup.
48
+ if (cli === 'zcode' && entryPresent(managedZCodeEntry()))
49
+ return managedZCodeEntry();
39
50
  if (process.platform === 'win32') {
40
51
  const roots = [
41
52
  join(homedir(), '.local', 'bin'),
42
- join(homedir(), cli === 'pi' ? '.pi/agent/bin' : cli === 'grok' ? '.grok/bin' : cli === 'kimi' ? '.kimi-code/bin' : cli === 'mimo' ? '.mimocode/bin' : '.local/bin'),
53
+ join(homedir(), cli === 'pi'
54
+ ? '.pi/agent/bin'
55
+ : cli === 'grok'
56
+ ? '.grok/bin'
57
+ : cli === 'kimi'
58
+ ? '.kimi-code/bin'
59
+ : cli === 'mimo'
60
+ ? '.mimocode/bin'
61
+ : '.local/bin'),
43
62
  ];
44
63
  if (cli === 'zcode') {
45
64
  const programs = process.env.LOCALAPPDATA && join(process.env.LOCALAPPDATA, 'Programs');
@@ -57,12 +76,15 @@ export const executableFor = (cli, config) => {
57
76
  if (entryPresent(entry))
58
77
  return entry;
59
78
  }
79
+ if (cli === 'codex' || cli === 'hermes') {
80
+ const entry = presentWindowsCliCandidate(cli);
81
+ if (entry)
82
+ return entry;
83
+ }
60
84
  return configured || cli;
61
85
  }
62
86
  if (cli === 'zcode')
63
- return existsSync(managedZCodeEntry())
64
- ? managedZCodeEntry()
65
- : '/Applications/ZCode.app/Contents/Resources/glm/zcode.cjs';
87
+ return '/Applications/ZCode.app/Contents/Resources/glm/zcode.cjs';
66
88
  if (cli === 'grok')
67
89
  return join(homedir(), '.grok/bin/grok');
68
90
  if (cli === 'pi') {
@@ -79,7 +101,7 @@ export const executableFor = (cli, config) => {
79
101
  return existsSync(nativePath) ? nativePath : (configured ?? cli);
80
102
  };
81
103
  /** Read-only discovery with bounded output. Never persist or expose provider credentials. */
82
- export async function captureCatalogMetadata(backend, config, argv, cwd, signal, env) {
104
+ export async function captureCatalogMetadata(backend, config, argv, cwd, signal, env, allowedExitCodes = [0]) {
83
105
  signal.throwIfAborted();
84
106
  const control = AbortSignal.any([signal, AbortSignal.timeout(15000)]);
85
107
  const process = backend.spawn({
@@ -107,7 +129,7 @@ export async function captureCatalogMetadata(backend, config, argv, cwd, signal,
107
129
  await Promise.all(readers);
108
130
  const outcome = await process.done;
109
131
  control.throwIfAborted();
110
- if (outcome.exitCode !== 0)
132
+ if (outcome.exitCode === null || !allowedExitCodes.includes(outcome.exitCode))
111
133
  throw new Error('CLI 模型查询失败,请在终端检查该 CLI 配置');
112
134
  return output;
113
135
  }
@@ -130,7 +152,7 @@ export async function catalogFor(cli, backend, config, cwd, signal) {
130
152
  const executable = await resolveCliExecutable(cli, backend, config, signal);
131
153
  signal.throwIfAborted();
132
154
  if (isExtendedCli(cli)) {
133
- const models = await extendedCatalog(cli, executable, (argv, env) => capture(backend, config, argv, cwd, signal, env), config.stateDirectory ?? join(process.env.DSH_HOME ?? join(homedir(), '.dsh'), 'cliworker-now'), config, signal);
155
+ const models = await extendedCatalog(cli, executable, (argv, env) => capture(backend, config, argv, cwd, signal, env), config.stateDirectory ?? join(process.env.DSH_HOME ?? join(homedir(), '.dsh'), 'cliworker-now'), config, signal, { backend, signal, graceMs: config.graceMs });
134
156
  if (!models.length)
135
157
  throw new Error(`${CLI_LABELS[cli]} 当前账号暂无可用模型,请登录或刷新`);
136
158
  return {
@@ -140,7 +162,7 @@ export async function catalogFor(cli, backend, config, cwd, signal) {
140
162
  };
141
163
  }
142
164
  if (cli === 'antigravity') {
143
- const models = await discoverAgyAccountModels(() => capture(backend, config, [executable, 'models'], cwd, signal), signal);
165
+ const models = await discoverAgyAccountModels(() => capture(backend, config, [executable, 'models'], cwd, signal, agyBackgroundEnvironment(cli)), signal, undefined, nativeAgyAccountIdentity(backend, config));
144
166
  return { cli, models, notice: '当前账号可用模型' };
145
167
  }
146
168
  if (cli === 'codex') {
@@ -150,11 +172,22 @@ export async function catalogFor(cli, backend, config, cwd, signal) {
150
172
  return { cli, models, notice: '当前账号可用模型' };
151
173
  }
152
174
  if (cli === 'claude' || cli === 'kimi' || cli === 'mimo') {
175
+ const claudeRoute = cli === 'claude' ? await readClaudeOwnRoute(cwd, signal) : undefined;
176
+ if (claudeRoute?.kind === 'native') {
177
+ const { models } = await discoverClaudeNativeOAuth(backend, config, executable, cwd, signal, claudeNativeSettingsArguments(claudeRoute.configDirectory, claudeRoute.suppressedEnvironment));
178
+ return { cli, models, notice: 'Claude 官方账号当前可用模型' };
179
+ }
153
180
  const sources = await readFirstPartyModelSources(cli, executable, cwd, (argv, env) => capture(backend, config, argv, cwd, signal, env), signal);
154
181
  const models = await discoverFirstPartySources(sources, signal);
155
182
  if (!models.length)
156
183
  throw new Error(`${CLI_LABELS[cli]} 当前账号暂无可确认模型,请检查配置`);
157
- return { cli, models, notice: '当前账号可用模型' };
184
+ return {
185
+ cli,
186
+ models,
187
+ notice: claudeRoute
188
+ ? 'Claude 路由模型;目录未提供时使用自身配置,远端可用性以实际调用为准'
189
+ : '当前账号可用模型',
190
+ };
158
191
  }
159
192
  throw new Error('Unsupported CLI');
160
193
  }
@@ -281,9 +314,62 @@ export function protocolFor(cli, emit, identify, maxLineBytes, expectedModel) {
281
314
  ? new AgyProtocol(emit, identify, maxLineBytes)
282
315
  : new CliProtocol(cli, emit, identify, maxLineBytes);
283
316
  }
317
+ export function configuredCliExecutable(cli, config) {
318
+ if (cli === 'harness')
319
+ return undefined;
320
+ const value = cli === 'antigravity' ? config.executable : config[`${cli}Executable`];
321
+ return value && value !== (cli === 'antigravity' ? 'agy' : cli) ? value : undefined;
322
+ }
323
+ function configWithExecutable(cli, config, path) {
324
+ return { ...config, [cli === 'antigravity' ? 'executable' : `${cli}Executable`]: path };
325
+ }
326
+ /** Reuse a verified location; discovery never overwrites a later manual choice. */
284
327
  export async function resolveCliExecutable(cli, backend, config, signal = AbortSignal.timeout(15000)) {
328
+ signal.throwIfAborted();
329
+ const store = config.cliExecutablePaths;
330
+ if (!store || cli === 'harness')
331
+ return resolveUncachedCliExecutable(cli, backend, config, signal);
332
+ let entry = store.read(cli);
333
+ const deployment = configuredCliExecutable(cli, config);
334
+ if (entry?.mode === 'auto' && !deployment) {
335
+ let present;
336
+ try {
337
+ present = statSync(entry.path).isFile();
338
+ if (present)
339
+ accessSync(entry.path, constants.R_OK);
340
+ }
341
+ catch (error) {
342
+ if (!['ENOENT', 'ENOTDIR'].includes(error.code))
343
+ throw error;
344
+ present = false;
345
+ }
346
+ if (!present) {
347
+ store.reset(cli);
348
+ entry = undefined;
349
+ }
350
+ }
351
+ const revision = store.revision(cli);
352
+ const selected = entry?.mode === 'manual' ? entry.path : deployment ? undefined : entry?.path;
353
+ const result = await resolveUncachedCliExecutable(cli, backend, selected ? configWithExecutable(cli, config, selected) : config, signal);
354
+ signal.throwIfAborted();
355
+ const current = store.read(cli);
356
+ if (store.revision(cli) !== revision) {
357
+ // Concurrent identical initial discovery is harmless; a new manual source
358
+ // or any different location must not admit work from this old request.
359
+ if (current?.mode === 'auto' && current.path === result && entry?.mode !== 'manual')
360
+ return result;
361
+ throw new Error('CLI 路径已更新,请刷新后重试');
362
+ }
363
+ if (entry?.mode !== 'manual' && !deployment && !store.remember(cli, result, revision))
364
+ throw new Error('CLI 路径已更新,请刷新后重试');
365
+ return result;
366
+ }
367
+ async function resolveUncachedCliExecutable(cli, backend, config, signal = AbortSignal.timeout(15000)) {
285
368
  signal.throwIfAborted();
286
369
  const executable = executableFor(cli, config);
370
+ const configured = cli !== 'antigravity' && cli !== 'harness' ? config[`${cli}Executable`] : undefined;
371
+ const explicit = !!configured && configured !== cli;
372
+ const desktopCli = process.platform === 'win32' && (cli === 'zcode' || cli === 'opencode');
287
373
  let resolved;
288
374
  if (isExtendedCli(cli) && /\.[cm]?js$/.test(executable) && existsSync(executable)) {
289
375
  // JavaScript launchers run through Node and need readability, not an executable bit.
@@ -299,6 +385,13 @@ export async function resolveCliExecutable(cli, backend, config, signal = AbortS
299
385
  return await backend.resolveExecutable(executable);
300
386
  }
301
387
  catch (error) {
388
+ const absent = error instanceof SubprocessExecutableNotFoundError || ['ENOENT', 'ENOTDIR'].includes(error.code);
389
+ if (process.platform === 'win32' &&
390
+ executable === cli &&
391
+ absent &&
392
+ cli === 'hermes' &&
393
+ hasWindowsHermesInstallDirectory())
394
+ throw new WindowsCliInstallationError('检测到 Hermes 安装目录,但未找到可用 CLI 入口,请完成安装或配置已有入口');
302
395
  // Only an absent default PATH entry can use the legacy private install.
303
396
  // A broken or incompatible native/configured entry must remain an error.
304
397
  if (cli === 'pi' && executable === 'pi' && ['ENOENT', 'ENOTDIR'].includes(error.code)) {
@@ -313,17 +406,51 @@ export async function resolveCliExecutable(cli, backend, config, signal = AbortS
313
406
  };
314
407
  // Path lookup owns no process; it may be abandoned, but no late resolution
315
408
  // may start an identity probe after its caller has cancelled.
316
- resolved = await new Promise((resolve, reject) => {
409
+ const pathLookup = (read) => new Promise((resolve, reject) => {
317
410
  const abort = () => reject(signal.reason);
318
411
  signal.addEventListener('abort', abort, { once: true });
319
- void lookup()
412
+ void read()
320
413
  .then(resolve, reject)
321
414
  .finally(() => signal.removeEventListener('abort', abort));
322
415
  if (signal.aborted)
323
416
  abort();
324
417
  });
418
+ try {
419
+ resolved = await pathLookup(lookup);
420
+ }
421
+ catch (error) {
422
+ signal.throwIfAborted();
423
+ const absent = error instanceof SubprocessExecutableNotFoundError || ['ENOENT', 'ENOTDIR'].includes(error.code);
424
+ if (desktopCli && executable === cli && !explicit && absent) {
425
+ const entry = await findWindowsDesktopCli(cli, (argv, cwd) => captureCatalogMetadata(backend, { ...config, maxRunBytes: Math.min(config.maxRunBytes, 65_536) }, argv, cwd, signal), signal);
426
+ signal.throwIfAborted();
427
+ if (!entry)
428
+ throw new WindowsCliNotFoundError(cli);
429
+ // The helper already checked the current, readable CJS file. Do not
430
+ // ask PATH to rediscover it or interpret a Desktop executable as a task.
431
+ resolved = /\.[cm]?js$/i.test(entry)
432
+ ? entry
433
+ : await pathLookup(() => backend.resolveExecutable(entry));
434
+ }
435
+ else {
436
+ if (process.platform !== 'win32' || cli !== 'codex' || executable !== cli || !absent)
437
+ throw error;
438
+ // Appx metadata owns a child process. Unlike pure PATH lookup, cancellation
439
+ // must await its cleanup and preserve ProcessCleanupUnconfirmedError.
440
+ const entry = await findWindowsCodexAppx((argv, cwd) => captureCatalogMetadata(backend, config, argv, cwd, signal), signal);
441
+ signal.throwIfAborted();
442
+ if (!entry)
443
+ throw error;
444
+ resolved = await pathLookup(() => backend.resolveExecutable(entry));
445
+ }
446
+ }
325
447
  }
326
448
  signal.throwIfAborted();
449
+ if (process.platform === 'win32' && cli === 'opencode') {
450
+ const bundled = windowsOpenCodeDesktopCli(resolved, explicit);
451
+ if (bundled)
452
+ resolved = bundled;
453
+ }
327
454
  if (cli === 'pi' || cli === 'omp')
328
455
  return verifyPiOmpExecutable(cli, resolved, (argv, cwd, env) => captureCatalogMetadata(backend, config, argv, cwd, signal, env));
329
456
  return resolved;
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/host/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/host/adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Keep Windows background queries/tasks from starting AGY's own updater. */
2
+ export declare function agyBackgroundEnvironment(cli: string, platform?: NodeJS.Platform): Record<string, string>;
@@ -0,0 +1,7 @@
1
+ /** Keep Windows background queries/tasks from starting AGY's own updater. */
2
+ export function agyBackgroundEnvironment(cli, platform = process.platform) {
3
+ return cli === 'antigravity' && platform === 'win32'
4
+ ? { AGY_CLI_DISABLE_AUTO_UPDATE: 'true' }
5
+ : {};
6
+ }
7
+ //# sourceMappingURL=agy-background-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agy-background-environment.js","sourceRoot":"","sources":["../../../src/host/agy-background-environment.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CACtC,GAAW,EACX,WAA4B,OAAO,CAAC,QAAQ;IAE5C,OAAO,GAAG,KAAK,aAAa,IAAI,QAAQ,KAAK,OAAO;QAClD,CAAC,CAAC,EAAE,2BAA2B,EAAE,MAAM,EAAE;QACzC,CAAC,CAAC,EAAE,CAAA;AACR,CAAC"}
@@ -1,4 +1,5 @@
1
+ import { type AccountIdentitySource } from './account-identity.ts';
1
2
  import type { ModelChoice } from '../shared/types.ts';
2
3
  /** The native consumer directory is account-scoped, not a public model cache. */
3
4
  export declare function assertAgyNativeAccountRoute(signal: AbortSignal, home?: string): Promise<void>;
4
- export declare function discoverAgyAccountModels(capture: () => Promise<string>, signal: AbortSignal, home?: string): Promise<ModelChoice[]>;
5
+ export declare function discoverAgyAccountModels(capture: () => Promise<string>, signal: AbortSignal, home?: string, identitySource?: AccountIdentitySource): Promise<ModelChoice[]>;
@@ -8,7 +8,9 @@ export async function assertAgyNativeAccountRoute(signal, home = homedir()) {
8
8
  signal.throwIfAborted();
9
9
  const settings = await readFirstPartyJson(join(home, '.gemini/antigravity-cli/settings.json'));
10
10
  signal.throwIfAborted();
11
- const configured = (value) => value !== undefined && value !== null && value !== '' &&
11
+ const configured = (value) => value !== undefined &&
12
+ value !== null &&
13
+ value !== '' &&
12
14
  !(Array.isArray(value) && !value.length) &&
13
15
  !(typeof value === 'object' && !Object.keys(value).length);
14
16
  if (configured(settings.modelProvider) ||
@@ -16,9 +18,9 @@ export async function assertAgyNativeAccountRoute(signal, home = homedir()) {
16
18
  configured(settings.customModelsConfig))
17
19
  throw new Error('Antigravity 当前自定义模型来源尚未支持,请使用原生账号模型');
18
20
  }
19
- export async function discoverAgyAccountModels(capture, signal, home = homedir()) {
21
+ export async function discoverAgyAccountModels(capture, signal, home = homedir(), identitySource = localAccountIdentity({ home })) {
20
22
  await assertAgyNativeAccountRoute(signal, home);
21
- const identity = await localAccountIdentity({ home })('antigravity', signal);
23
+ const identity = await identitySource('antigravity', signal);
22
24
  if (identity?.state !== 'authenticated')
23
25
  throw new Error('请先登录 Antigravity');
24
26
  const output = await capture();
@@ -26,9 +28,7 @@ export async function discoverAgyAccountModels(capture, signal, home = homedir()
26
28
  const rows = output.split(/\r?\n/).flatMap((line) => {
27
29
  const [id, ...labels] = line.split('\t');
28
30
  const label = labels.join(' ').trim();
29
- return id && label && /^[A-Za-z0-9_.:/-]+$/.test(id)
30
- ? [{ id, label }]
31
- : [];
31
+ return id && label && /^[A-Za-z0-9_.:/-]+$/.test(id) ? [{ id, label }] : [];
32
32
  });
33
33
  if (!rows.length)
34
34
  throw new Error('Antigravity 当前账号暂无可用模型,请刷新');
@@ -1 +1 @@
1
- {"version":3,"file":"agy-models.js","sourceRoot":"","sources":["../../../src/host/agy-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAmB,EAAE,IAAI,GAAG,OAAO,EAAE;IACrF,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC,CAAA;IAC9F,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE,CACpC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QACrD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,IACE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA8B,EAC9B,MAAmB,EACnB,IAAI,GAAG,OAAO,EAAE;IAEhB,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC5E,IAAI,QAAQ,EAAE,KAAK,KAAK,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;IAC9B,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,EAAE,IAAI,KAAK,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"agy-models.js","sourceRoot":"","sources":["../../../src/host/agy-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAA8B,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAmB,EAAE,IAAI,GAAG,OAAO,EAAE;IACrF,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC,CAAA;IAC9F,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE,CACpC,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,EAAE;QACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,IACE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAEvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA8B,EAC9B,MAAmB,EACnB,IAAI,GAAG,OAAO,EAAE,EAChB,iBAAwC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC;IAEtE,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC5D,IAAI,QAAQ,EAAE,KAAK,KAAK,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;IAC9B,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,EAAE,IAAI,KAAK,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type AccountIdentity, type AccountIdentitySource } from './account-identity.ts';
2
+ import type { ProcessBackend, RuntimeConfig } from './process.ts';
3
+ type WindowsAgyAccount = {
4
+ identity: AccountIdentity;
5
+ principalHash?: string;
6
+ };
7
+ /** Only the initial binding and model precheck may share a native projection.
8
+ * The final binding must be read after this operation has exited its scope. */
9
+ export declare function withWindowsAgyAccountSnapshot<T>(backend: ProcessBackend, config: RuntimeConfig, signal: AbortSignal, operation: () => Promise<T>): Promise<T>;
10
+ /** Secret-free projection of the exact native Windows credential target. */
11
+ export declare function projectWindowsAgyAccount(raw: string): WindowsAgyAccount;
12
+ export declare function readWindowsAgyAccount(backend: ProcessBackend, config: RuntimeConfig, signal: AbortSignal): Promise<WindowsAgyAccount>;
13
+ export declare function nativeAgyAccountIdentity(backend: ProcessBackend, config: RuntimeConfig, platform?: NodeJS.Platform): AccountIdentitySource;
14
+ export {};
@@ -0,0 +1,104 @@
1
+ import { homedir } from 'node:os';
2
+ import { AsyncLocalStorage } from 'node:async_hooks';
3
+ import { win32 } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { captureCatalogMetadata } from "./adapters.js";
6
+ import { accountEmail, localAccountIdentity, } from "./account-identity.js";
7
+ const accountSnapshots = new AsyncLocalStorage();
8
+ /** Only the initial binding and model precheck may share a native projection.
9
+ * The final binding must be read after this operation has exited its scope. */
10
+ export async function withWindowsAgyAccountSnapshot(backend, config, signal, operation) {
11
+ signal.throwIfAborted();
12
+ const scope = { backend, config, signal, active: true };
13
+ return accountSnapshots.run(scope, async () => {
14
+ try {
15
+ return await operation();
16
+ }
17
+ finally {
18
+ // Async descendants can retain the ALS store; they must not reuse a
19
+ // projection after the originating operation has completed or failed.
20
+ scope.active = false;
21
+ scope.reading = undefined;
22
+ }
23
+ });
24
+ }
25
+ /** Secret-free projection of the exact native Windows credential target. */
26
+ export function projectWindowsAgyAccount(raw) {
27
+ try {
28
+ if (raw.length > 4096)
29
+ throw new Error('Invalid native account projection');
30
+ const value = JSON.parse(raw);
31
+ if (!value || typeof value !== 'object' || Array.isArray(value))
32
+ throw new Error('Invalid projection');
33
+ if (value.state === 'authenticated')
34
+ return {
35
+ identity: {
36
+ state: 'authenticated',
37
+ authMethod: 'oauth',
38
+ verification: 'local',
39
+ summary: '已登录 Antigravity',
40
+ accountLabel: accountEmail(value.email),
41
+ },
42
+ ...(typeof value.principalHash === 'string' && /^[a-f0-9]{64}$/.test(value.principalHash)
43
+ ? { principalHash: value.principalHash }
44
+ : {}),
45
+ };
46
+ if (value.state === 'unconfigured')
47
+ return { identity: { state: 'unconfigured', verification: 'local', summary: '尚未登录 Antigravity' } };
48
+ if (value.state === 'unauthenticated')
49
+ return {
50
+ identity: { state: 'unauthenticated', verification: 'local', summary: '本地登录已过期,请重新登录' },
51
+ };
52
+ if (value.state === 'unknown')
53
+ return {
54
+ identity: { state: 'unknown', verification: 'local', summary: '登录格式未知,请打开账号终端' },
55
+ };
56
+ }
57
+ catch {
58
+ /* Fixed safe diagnosis below. */
59
+ }
60
+ return {
61
+ identity: {
62
+ state: 'unavailable',
63
+ verification: 'local',
64
+ summary: '无法读取 Windows 原生账号,请在登录的桌面会话中重试',
65
+ },
66
+ };
67
+ }
68
+ export async function readWindowsAgyAccount(backend, config, signal) {
69
+ signal.throwIfAborted();
70
+ const scope = accountSnapshots.getStore();
71
+ if (!scope?.active || scope.backend !== backend || scope.config !== config || scope.signal !== signal)
72
+ return readNativeWindowsAgyAccount(backend, config, signal);
73
+ const reading = (scope.reading ??= readNativeWindowsAgyAccount(backend, config, signal));
74
+ try {
75
+ const account = await reading;
76
+ signal.throwIfAborted();
77
+ // A consumer cannot mutate another precheck's safe projection.
78
+ return { ...account, identity: { ...account.identity } };
79
+ }
80
+ catch (error) {
81
+ if (scope.reading === reading)
82
+ scope.reading = undefined;
83
+ throw error;
84
+ }
85
+ }
86
+ async function readNativeWindowsAgyAccount(backend, config, signal) {
87
+ signal.throwIfAborted();
88
+ const raw = await captureCatalogMetadata(backend, config, [
89
+ win32.join(process.env.SystemRoot ?? 'C:\\Windows', 'System32/WindowsPowerShell/v1.0/powershell.exe'),
90
+ '-NoLogo',
91
+ '-NoProfile',
92
+ '-NonInteractive',
93
+ '-File',
94
+ fileURLToPath(new URL('./windows-agy-account.ps1', import.meta.url)),
95
+ ], homedir(), signal, undefined, [0, 1]);
96
+ signal.throwIfAborted();
97
+ return projectWindowsAgyAccount(raw);
98
+ }
99
+ export function nativeAgyAccountIdentity(backend, config, platform = process.platform) {
100
+ if (platform !== 'win32')
101
+ return localAccountIdentity();
102
+ return async (cli, signal) => cli === 'antigravity' ? (await readWindowsAgyAccount(backend, config, signal)).identity : undefined;
103
+ }
104
+ //# sourceMappingURL=agy-windows-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agy-windows-account.js","sourceRoot":"","sources":["../../../src/host/agy-windows-account.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
1
  import { catalogFor, validatePreference } from "./adapters.js";
2
2
  import { readCliAccountBinding } from "./cli-account-binding.js";
3
+ import { withWindowsAgyAccountSnapshot } from "./agy-windows-account.js";
3
4
  import { resolveModel } from "../shared/models.js";
4
5
  import { cliOf } from "../shared/types.js";
5
6
  export const ACCOUNT_CHANGED = '账号已变更,请重新选择或新建任务';
6
7
  /** Private authorization state: never spread this object into a Remote response. */
7
8
  export async function authorizedCatalog(cli, backend, config, project, signal, expected) {
8
- const binding = await readCliAccountBinding(cli, backend, config, project, signal);
9
- if (expected && binding !== expected)
10
- throw new Error(ACCOUNT_CHANGED);
11
- const catalog = await catalogFor(cli, backend, config, project, signal);
9
+ const discover = async () => {
10
+ const binding = await readCliAccountBinding(cli, backend, config, project, signal);
11
+ if (expected && binding !== expected)
12
+ throw new Error(ACCOUNT_CHANGED);
13
+ const catalog = await catalogFor(cli, backend, config, project, signal);
14
+ return { binding, catalog };
15
+ };
16
+ const { binding, catalog } = cli === 'antigravity' && process.platform === 'win32'
17
+ ? await withWindowsAgyAccountSnapshot(backend, config, signal, discover)
18
+ : await discover();
12
19
  signal.throwIfAborted();
20
+ // Deliberately outside the snapshot scope: logout, expiry and account changes
21
+ // during native model discovery must still invalidate the returned directory.
13
22
  if (binding !== (await readCliAccountBinding(cli, backend, config, project, signal)))
14
23
  throw new Error(ACCOUNT_CHANGED);
15
24
  if (catalog.cli !== cli)
@@ -1 +1 @@
1
- {"version":3,"file":"authorized-catalog.js","sourceRoot":"","sources":["../../../src/host/authorized-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAgB,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,KAAK,EAA+B,MAAM,oBAAoB,CAAA;AAGvE,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAEjD,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAU,EACV,OAAuB,EACvB,MAAqB,EACrB,OAAe,EACf,MAAmB,EACnB,QAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAClF,IAAI,QAAQ,IAAI,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,IAAI,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAClC,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IACzD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,OAAuB,EACvB,MAAqB,EACrB,OAAe,EACf,MAAmB,EACnB,QAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrG,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;AACnF,CAAC"}
1
+ {"version":3,"file":"authorized-catalog.js","sourceRoot":"","sources":["../../../src/host/authorized-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAgB,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,KAAK,EAA+B,MAAM,oBAAoB,CAAA;AAGvE,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAEjD,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAU,EACV,OAAuB,EACvB,MAAqB,EACrB,OAAe,EACf,MAAmB,EACnB,QAAiB;IAEjB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAClF,IAAI,QAAQ,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACtE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACvE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAA;IACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GACxB,GAAG,KAAK,aAAa,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnD,CAAC,CAAC,MAAM,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACxE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAA;IACtB,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAClC,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IACzD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,OAAuB,EACvB,MAAqB,EACrB,OAAe,EACf,MAAmB,EACnB,QAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrG,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;AACnF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type ModelChoice } from '../shared/types.ts';
2
+ import { type ProcessBackend, type RuntimeConfig } from './process.ts';
3
+ export declare class ClaudeNativeOAuthError extends Error {
4
+ readonly code = "CLAUDE_NATIVE_OAUTH_UNAVAILABLE";
5
+ constructor(message?: string);
6
+ }
7
+ export interface ClaudeNativeOAuthCatalog {
8
+ models: ModelChoice[];
9
+ /** Host-only identity evidence. Do not persist this object or send it through Gateway. */
10
+ account: {
11
+ email: string;
12
+ organization?: string;
13
+ };
14
+ }
15
+ export declare function parseClaudeNativeOAuthCatalog(initialize: unknown, usage: unknown, now?: number): ClaudeNativeOAuthCatalog;
16
+ /** Only initialize/get_usage controls are sent. No user message, token read, login or model request. */
17
+ export declare function discoverClaudeNativeOAuth(backend: ProcessBackend, config: RuntimeConfig, executable: string, cwd: string, signal: AbortSignal, prefixArgs: string[]): Promise<ClaudeNativeOAuthCatalog>;