dsh-cliworker-now 0.7.6 → 0.7.7

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 (144) hide show
  1. package/README.en.md +29 -9
  2. package/README.md +31 -9
  3. package/lib/account-models.mjs +16 -13
  4. package/lib/client.js +658 -61
  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 +3724 -1589
  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 +2 -2
  15. package/lib/pi-omp-bridge.mjs +2 -2
  16. package/lib/private-launch.mjs +6 -2
  17. package/lib/terminal-bridge.mjs +2 -2
  18. package/lib/typert.host.js +83 -11
  19. package/lib/typert.remote-client.d.ts +2 -0
  20. package/lib/typert.remote-client.d.ts.map +1 -1
  21. package/lib/typert.remote-client.js +77 -11
  22. package/lib/types/client/account-query-queue.d.ts +16 -0
  23. package/lib/types/client/account-query-queue.js +61 -0
  24. package/lib/types/client/account-query-queue.js.map +1 -0
  25. package/lib/types/client/account-terminal.d.ts +6 -2
  26. package/lib/types/client/account-terminal.js +260 -31
  27. package/lib/types/client/account-terminal.js.map +1 -1
  28. package/lib/types/client/settings-dialog.js +65 -38
  29. package/lib/types/client/settings-dialog.js.map +1 -1
  30. package/lib/types/client/zcode-login-link-provider.d.ts +9 -0
  31. package/lib/types/client/zcode-login-link-provider.js +105 -0
  32. package/lib/types/client/zcode-login-link-provider.js.map +1 -0
  33. package/lib/types/client/zcode-login-link.d.ts +16 -0
  34. package/lib/types/client/zcode-login-link.js +194 -0
  35. package/lib/types/client/zcode-login-link.js.map +1 -0
  36. package/lib/types/host/account-models.d.mts +3 -1
  37. package/lib/types/host/account-models.mjs +16 -13
  38. package/lib/types/host/accounts.d.ts +3 -2
  39. package/lib/types/host/accounts.js +129 -22
  40. package/lib/types/host/accounts.js.map +1 -1
  41. package/lib/types/host/adapters.d.ts +1 -1
  42. package/lib/types/host/adapters.js +60 -11
  43. package/lib/types/host/adapters.js.map +1 -1
  44. package/lib/types/host/agy-models.d.ts +2 -1
  45. package/lib/types/host/agy-models.js +6 -6
  46. package/lib/types/host/agy-models.js.map +1 -1
  47. package/lib/types/host/agy-windows-account.d.ts +14 -0
  48. package/lib/types/host/agy-windows-account.js +104 -0
  49. package/lib/types/host/agy-windows-account.js.map +1 -0
  50. package/lib/types/host/authorized-catalog.js +13 -4
  51. package/lib/types/host/authorized-catalog.js.map +1 -1
  52. package/lib/types/host/claude-native-oauth.d.ts +17 -0
  53. package/lib/types/host/claude-native-oauth.js +272 -0
  54. package/lib/types/host/claude-native-oauth.js.map +1 -0
  55. package/lib/types/host/claude-own-route.d.ts +33 -0
  56. package/lib/types/host/claude-own-route.js +250 -0
  57. package/lib/types/host/claude-own-route.js.map +1 -0
  58. package/lib/types/host/cli-account-binding.d.ts +2 -1
  59. package/lib/types/host/cli-account-binding.js +59 -21
  60. package/lib/types/host/cli-account-binding.js.map +1 -1
  61. package/lib/types/host/codex-models.js +4 -0
  62. package/lib/types/host/codex-models.js.map +1 -1
  63. package/lib/types/host/extended-adapters.d.ts +3 -2
  64. package/lib/types/host/extended-adapters.js +9 -7
  65. package/lib/types/host/extended-adapters.js.map +1 -1
  66. package/lib/types/host/first-party-models.d.ts +1 -0
  67. package/lib/types/host/first-party-models.js +136 -47
  68. package/lib/types/host/first-party-models.js.map +1 -1
  69. package/lib/types/host/hermes-accounts.js +15 -1
  70. package/lib/types/host/hermes-accounts.js.map +1 -1
  71. package/lib/types/host/hermes-adapter.d.ts +3 -0
  72. package/lib/types/host/hermes-adapter.js +13 -4
  73. package/lib/types/host/hermes-adapter.js.map +1 -1
  74. package/lib/types/host/hermes-installation.js +54 -35
  75. package/lib/types/host/hermes-installation.js.map +1 -1
  76. package/lib/types/host/hermes-native-entry.py +48 -13
  77. package/lib/types/host/hermes-nous-refresh.py +331 -0
  78. package/lib/types/host/hermes-nous.d.ts +5 -1
  79. package/lib/types/host/hermes-nous.js +5 -5
  80. package/lib/types/host/hermes-nous.js.map +1 -1
  81. package/lib/types/host/hermes-renewal.d.ts +27 -0
  82. package/lib/types/host/hermes-renewal.js +292 -0
  83. package/lib/types/host/hermes-renewal.js.map +1 -0
  84. package/lib/types/host/hermes-windows-installation.d.ts +5 -0
  85. package/lib/types/host/hermes-windows-installation.js +91 -0
  86. package/lib/types/host/hermes-windows-installation.js.map +1 -0
  87. package/lib/types/host/index.d.ts +2 -0
  88. package/lib/types/host/index.js +17 -2
  89. package/lib/types/host/index.js.map +1 -1
  90. package/lib/types/host/kimi-accounts.d.ts +2 -0
  91. package/lib/types/host/kimi-accounts.js +4 -2
  92. package/lib/types/host/kimi-accounts.js.map +1 -1
  93. package/lib/types/host/kimi-oauth-models.d.ts +14 -0
  94. package/lib/types/host/kimi-oauth-models.js +246 -0
  95. package/lib/types/host/kimi-oauth-models.js.map +1 -0
  96. package/lib/types/host/mimo-metadata-cache.d.ts +22 -0
  97. package/lib/types/host/mimo-metadata-cache.js +121 -0
  98. package/lib/types/host/mimo-metadata-cache.js.map +1 -0
  99. package/lib/types/host/native-capability-cache.d.ts +11 -0
  100. package/lib/types/host/native-capability-cache.js +94 -0
  101. package/lib/types/host/native-capability-cache.js.map +1 -0
  102. package/lib/types/host/native-launch.mjs +62 -7
  103. package/lib/types/host/native-process.d.ts +3 -1
  104. package/lib/types/host/native-process.js +18 -3
  105. package/lib/types/host/native-process.js.map +1 -1
  106. package/lib/types/host/native-spawn.mjs +32 -0
  107. package/lib/types/host/pi-installation.d.mts +1 -1
  108. package/lib/types/host/pi-installation.mjs +27 -3
  109. package/lib/types/host/pi-omp-adapter.js +15 -1
  110. package/lib/types/host/pi-omp-adapter.js.map +1 -1
  111. package/lib/types/host/private-launch.mjs +23 -0
  112. package/lib/types/host/routing.js +25 -2
  113. package/lib/types/host/routing.js.map +1 -1
  114. package/lib/types/host/runtime.js +17 -5
  115. package/lib/types/host/runtime.js.map +1 -1
  116. package/lib/types/host/windows-account-bootstrap.ps1 +44 -0
  117. package/lib/types/host/windows-account-launch.mjs +47 -0
  118. package/lib/types/host/windows-account-owner.ps1 +137 -0
  119. package/lib/types/host/windows-account-stdio.mjs +19 -0
  120. package/lib/types/host/windows-account-terminal.d.ts +17 -0
  121. package/lib/types/host/windows-account-terminal.js +208 -0
  122. package/lib/types/host/windows-account-terminal.js.map +1 -0
  123. package/lib/types/host/windows-agy-account.ps1 +81 -0
  124. package/lib/types/host/windows-cli-installation.d.ts +31 -0
  125. package/lib/types/host/windows-cli-installation.js +157 -0
  126. package/lib/types/host/windows-cli-installation.js.map +1 -0
  127. package/lib/types/host/windows-hidden-launch.mjs +49 -0
  128. package/lib/types/host/windows-hidden-process.d.ts +12 -0
  129. package/lib/types/host/windows-hidden-process.js +116 -0
  130. package/lib/types/host/windows-hidden-process.js.map +1 -0
  131. package/lib/types/host/zcode-adapter.js +5 -1
  132. package/lib/types/host/zcode-adapter.js.map +1 -1
  133. package/lib/types/host/zcode-grok-accounts.d.ts +3 -1
  134. package/lib/types/host/zcode-grok-accounts.js +60 -11
  135. package/lib/types/host/zcode-grok-accounts.js.map +1 -1
  136. package/lib/types/shared/accounts.d.ts +4 -0
  137. package/lib/windows-account-bootstrap.ps1 +44 -0
  138. package/lib/windows-account-launch.mjs +47 -0
  139. package/lib/windows-account-owner.ps1 +137 -0
  140. package/lib/windows-account-stdio.mjs +19 -0
  141. package/lib/windows-agy-account.ps1 +81 -0
  142. package/lib/windows-hidden-launch.mjs +49 -0
  143. package/lib/zcode-resume.mjs +2 -2
  144. package/package.json +1 -1
@@ -1,6 +1,9 @@
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";
3
5
  import { discoverFirstPartySources, readFirstPartyModelSources } from "./first-party-models.js";
6
+ import { nativeAgyAccountIdentity } from "./agy-windows-account.js";
4
7
  import { extendedCatalog, isExtendedCli } from "./extended-adapters.js";
5
8
  import { ZCodeProtocol, managedZCodeEntry } from "./zcode-adapter.js";
6
9
  import { HermesProtocol } from "./hermes-adapter.js";
@@ -8,10 +11,12 @@ import { GrokProtocol } from "./grok-adapter.js";
8
11
  import { OpenCodeProtocol } from "./opencode-adapter.js";
9
12
  import { BridgeProtocol } from "./bridge-protocol.js";
10
13
  import { verifyPiOmpExecutable } from "./pi-omp-identity.js";
14
+ import { findWindowsCodexAppx, hasWindowsHermesInstallDirectory, presentWindowsCliCandidate, WindowsCliInstallationError, } from "./windows-cli-installation.js";
11
15
  import { resolveModel } from "../shared/models.js";
12
16
  import { existsSync, statSync, lstatSync, accessSync, constants } from 'node:fs';
13
17
  import { homedir } from 'node:os';
14
18
  import { join } from 'node:path';
19
+ import { SubprocessExecutableNotFoundError } from '@deepseek-ai/dsh-subprocess';
15
20
  import { CLI_LABELS, EFFORTS, cliOf, } from "../shared/types.js";
16
21
  import { AgyProtocol } from "./protocol.js";
17
22
  import { CliProtocol } from "./cli-protocol.js";
@@ -36,10 +41,22 @@ export const executableFor = (cli, config) => {
36
41
  const configured = config[`${cli}Executable`];
37
42
  if (configured && configured !== cli)
38
43
  return configured;
44
+ // A deployed standalone runtime is shared across platforms. An explicit
45
+ // custom executable still wins, and a missing deployment keeps native lookup.
46
+ if (cli === 'zcode' && entryPresent(managedZCodeEntry()))
47
+ return managedZCodeEntry();
39
48
  if (process.platform === 'win32') {
40
49
  const roots = [
41
50
  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'),
51
+ join(homedir(), cli === 'pi'
52
+ ? '.pi/agent/bin'
53
+ : cli === 'grok'
54
+ ? '.grok/bin'
55
+ : cli === 'kimi'
56
+ ? '.kimi-code/bin'
57
+ : cli === 'mimo'
58
+ ? '.mimocode/bin'
59
+ : '.local/bin'),
43
60
  ];
44
61
  if (cli === 'zcode') {
45
62
  const programs = process.env.LOCALAPPDATA && join(process.env.LOCALAPPDATA, 'Programs');
@@ -57,12 +74,15 @@ export const executableFor = (cli, config) => {
57
74
  if (entryPresent(entry))
58
75
  return entry;
59
76
  }
77
+ if (cli === 'codex' || cli === 'hermes') {
78
+ const entry = presentWindowsCliCandidate(cli);
79
+ if (entry)
80
+ return entry;
81
+ }
60
82
  return configured || cli;
61
83
  }
62
84
  if (cli === 'zcode')
63
- return existsSync(managedZCodeEntry())
64
- ? managedZCodeEntry()
65
- : '/Applications/ZCode.app/Contents/Resources/glm/zcode.cjs';
85
+ return '/Applications/ZCode.app/Contents/Resources/glm/zcode.cjs';
66
86
  if (cli === 'grok')
67
87
  return join(homedir(), '.grok/bin/grok');
68
88
  if (cli === 'pi') {
@@ -79,7 +99,7 @@ export const executableFor = (cli, config) => {
79
99
  return existsSync(nativePath) ? nativePath : (configured ?? cli);
80
100
  };
81
101
  /** Read-only discovery with bounded output. Never persist or expose provider credentials. */
82
- export async function captureCatalogMetadata(backend, config, argv, cwd, signal, env) {
102
+ export async function captureCatalogMetadata(backend, config, argv, cwd, signal, env, allowedExitCodes = [0]) {
83
103
  signal.throwIfAborted();
84
104
  const control = AbortSignal.any([signal, AbortSignal.timeout(15000)]);
85
105
  const process = backend.spawn({
@@ -107,7 +127,7 @@ export async function captureCatalogMetadata(backend, config, argv, cwd, signal,
107
127
  await Promise.all(readers);
108
128
  const outcome = await process.done;
109
129
  control.throwIfAborted();
110
- if (outcome.exitCode !== 0)
130
+ if (outcome.exitCode === null || !allowedExitCodes.includes(outcome.exitCode))
111
131
  throw new Error('CLI 模型查询失败,请在终端检查该 CLI 配置');
112
132
  return output;
113
133
  }
@@ -130,7 +150,7 @@ export async function catalogFor(cli, backend, config, cwd, signal) {
130
150
  const executable = await resolveCliExecutable(cli, backend, config, signal);
131
151
  signal.throwIfAborted();
132
152
  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);
153
+ 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
154
  if (!models.length)
135
155
  throw new Error(`${CLI_LABELS[cli]} 当前账号暂无可用模型,请登录或刷新`);
136
156
  return {
@@ -140,7 +160,7 @@ export async function catalogFor(cli, backend, config, cwd, signal) {
140
160
  };
141
161
  }
142
162
  if (cli === 'antigravity') {
143
- const models = await discoverAgyAccountModels(() => capture(backend, config, [executable, 'models'], cwd, signal), signal);
163
+ const models = await discoverAgyAccountModels(() => capture(backend, config, [executable, 'models'], cwd, signal), signal, undefined, nativeAgyAccountIdentity(backend, config));
144
164
  return { cli, models, notice: '当前账号可用模型' };
145
165
  }
146
166
  if (cli === 'codex') {
@@ -150,11 +170,20 @@ export async function catalogFor(cli, backend, config, cwd, signal) {
150
170
  return { cli, models, notice: '当前账号可用模型' };
151
171
  }
152
172
  if (cli === 'claude' || cli === 'kimi' || cli === 'mimo') {
173
+ const claudeRoute = cli === 'claude' ? await readClaudeOwnRoute(cwd, signal) : undefined;
174
+ if (claudeRoute?.kind === 'native') {
175
+ const { models } = await discoverClaudeNativeOAuth(backend, config, executable, cwd, signal, claudeNativeSettingsArguments(claudeRoute.configDirectory));
176
+ return { cli, models, notice: 'Claude 官方账号当前可用模型' };
177
+ }
153
178
  const sources = await readFirstPartyModelSources(cli, executable, cwd, (argv, env) => capture(backend, config, argv, cwd, signal, env), signal);
154
179
  const models = await discoverFirstPartySources(sources, signal);
155
180
  if (!models.length)
156
181
  throw new Error(`${CLI_LABELS[cli]} 当前账号暂无可确认模型,请检查配置`);
157
- return { cli, models, notice: '当前账号可用模型' };
182
+ return {
183
+ cli,
184
+ models,
185
+ notice: claudeRoute?.kind === 'proxy' ? 'Claude 本地代理当前可用模型' : '当前账号可用模型',
186
+ };
158
187
  }
159
188
  throw new Error('Unsupported CLI');
160
189
  }
@@ -299,6 +328,10 @@ export async function resolveCliExecutable(cli, backend, config, signal = AbortS
299
328
  return await backend.resolveExecutable(executable);
300
329
  }
301
330
  catch (error) {
331
+ const absent = error instanceof SubprocessExecutableNotFoundError || ['ENOENT', 'ENOTDIR'].includes(error.code);
332
+ if (process.platform === 'win32' && executable === cli && absent &&
333
+ cli === 'hermes' && hasWindowsHermesInstallDirectory())
334
+ throw new WindowsCliInstallationError('检测到 Hermes 安装目录,但未找到可用 CLI 入口,请完成安装或配置已有入口');
302
335
  // Only an absent default PATH entry can use the legacy private install.
303
336
  // A broken or incompatible native/configured entry must remain an error.
304
337
  if (cli === 'pi' && executable === 'pi' && ['ENOENT', 'ENOTDIR'].includes(error.code)) {
@@ -313,15 +346,31 @@ export async function resolveCliExecutable(cli, backend, config, signal = AbortS
313
346
  };
314
347
  // Path lookup owns no process; it may be abandoned, but no late resolution
315
348
  // may start an identity probe after its caller has cancelled.
316
- resolved = await new Promise((resolve, reject) => {
349
+ const pathLookup = (read) => new Promise((resolve, reject) => {
317
350
  const abort = () => reject(signal.reason);
318
351
  signal.addEventListener('abort', abort, { once: true });
319
- void lookup()
352
+ void read()
320
353
  .then(resolve, reject)
321
354
  .finally(() => signal.removeEventListener('abort', abort));
322
355
  if (signal.aborted)
323
356
  abort();
324
357
  });
358
+ try {
359
+ resolved = await pathLookup(lookup);
360
+ }
361
+ catch (error) {
362
+ signal.throwIfAborted();
363
+ const absent = error instanceof SubprocessExecutableNotFoundError || ['ENOENT', 'ENOTDIR'].includes(error.code);
364
+ if (process.platform !== 'win32' || cli !== 'codex' || executable !== cli || !absent)
365
+ throw error;
366
+ // Appx metadata owns a child process. Unlike pure PATH lookup, cancellation
367
+ // must await its cleanup and preserve ProcessCleanupUnconfirmedError.
368
+ const entry = await findWindowsCodexAppx((argv, cwd) => captureCatalogMetadata(backend, config, argv, cwd, signal), signal);
369
+ signal.throwIfAborted();
370
+ if (!entry)
371
+ throw error;
372
+ resolved = await pathLookup(() => backend.resolveExecutable(entry));
373
+ }
325
374
  }
326
375
  signal.throwIfAborted();
327
376
  if (cli === 'pi' || cli === 'omp')
@@ -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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"}
@@ -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>;