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,5 +1,6 @@
1
1
  import type { SubprocessHandle, SubprocessSpawnSpec, SubprocessTerminalSpawnSpec, SubprocessTerminalHandle } from '@deepseek-ai/dsh-subprocess';
2
2
  import type { ModelChoice, Preference, TaskMode } from '../shared/types.ts';
3
+ import type { CliExecutablePathStore } from './cli-executable-paths.ts';
3
4
  export interface ProcessBackend {
4
5
  resolveExecutable(name: string): Promise<string>;
5
6
  spawn(spec: SubprocessSpawnSpec): SubprocessHandle;
@@ -10,6 +11,8 @@ export declare class ProcessCleanupUnconfirmedError extends Error {
10
11
  constructor();
11
12
  }
12
13
  export interface RuntimeConfig {
14
+ /** Host-private machine-local CLI path preferences, shared by all entry points. */
15
+ cliExecutablePaths?: CliExecutablePathStore;
13
16
  executable: string;
14
17
  codexExecutable?: string;
15
18
  claudeExecutable?: string;
@@ -1,6 +1,7 @@
1
1
  import { accessSync, constants, realpathSync, statSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { isAbsolute, parse, resolve, sep } from 'node:path';
4
+ import { agyBackgroundEnvironment } from "./agy-background-environment.js";
4
5
  /** A process range is still unconfirmed; callers must stop admitting work. */
5
6
  export class ProcessCleanupUnconfirmedError extends Error {
6
7
  constructor() {
@@ -22,7 +23,7 @@ export function projectDirectory(input) {
22
23
  throw new Error('Project must be an absolute directory');
23
24
  const path = realpathSync(input);
24
25
  const home = realpathSync(homedir());
25
- const key = (value) => process.platform === 'win32' ? value.toLowerCase() : value;
26
+ const key = (value) => (process.platform === 'win32' ? value.toLowerCase() : value);
26
27
  if (key(path) === key(parse(path).root) || key(path) === key(home) || key(home).startsWith(key(path + sep)))
27
28
  throw new Error('Refusing a root or home directory as workspace');
28
29
  const forbidden = [
@@ -88,6 +89,7 @@ export async function discoverModels(backend, config, cwd, signal) {
88
89
  const process = backend.spawn({
89
90
  argv: [executable, 'models'],
90
91
  cwd,
92
+ env: agyBackgroundEnvironment('antigravity'),
91
93
  stdio: { stdin: 'ignore', stdout: 'pipe', stderr: 'pipe' },
92
94
  graceMs: config.graceMs,
93
95
  signal: control,
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/host/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/host/process.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,19 @@ export function resolveCliName(name) {
61
61
  match: normalized === exact.cli ? 'canonical' : 'alias',
62
62
  matchedName: exact.name,
63
63
  };
64
+ const annotated = /^([^()]+)\(([^()]+)\)$/u.exec(normalized);
65
+ if (annotated) {
66
+ const primary = resolveCliName(annotated[1]);
67
+ const alias = resolveCliName(annotated[2]);
68
+ if (primary.status === 'resolved' && alias.status === 'resolved' && primary.cli === alias.cli)
69
+ return primary;
70
+ return {
71
+ status: 'ambiguous',
72
+ candidates: [
73
+ ...new Set([primary, alias].flatMap((result) => result.status === 'resolved' ? [result.cli] : result.candidates)),
74
+ ],
75
+ };
76
+ }
64
77
  const parts = name.split(/[,,、/;;+]|\s+(?:and|or)\s+|[和与或]/iu).filter((part) => part.trim());
65
78
  if (parts.length > 1) {
66
79
  const candidates = [
@@ -107,7 +120,7 @@ function withoutQuotes(text) {
107
120
  .replace(/^\s*>.*$/gmu, '')
108
121
  .replace(/`[^`\n]*`|“[^”]*”|「[^」]*」|『[^』]*』|"[^"\n]*"|'[^'\n]*'/gu, '');
109
122
  }
110
- const command = /^(?:(?:请(?:你)?|麻烦(?:你)?|帮我|帮忙|我想(?:要)?|我希望|我要|现在|再|然后|顺便|同时|并且|并|也|你能否|能否|能不能|可以|please|can you)\s*)*(?:调用|使用|用|派遣|启动|让|invoke\b|call\b|use\b|start\b)\s*(.+)$/iu;
123
+ const command = /^(?:(?:请(?:你)?|麻烦(?:你)?|帮我|帮忙|我想(?:要)?|我希望|我要|现在|再|然后|顺便|同时|并且|并|也|只|仅仅?|你能否|能否|能不能|可以|please|can you)\s*)*(?:调用|使用|用|派遣|启动|让|invoke\b|call\b|use\b|start\b)\s*(.+)$/iu;
111
124
  const discussion = /^\s*(?:的?\s*(?:模型|model\b)|是什么意思|是什[么麼]|是否|有什么|怎么样|怎么(?:用|调用)|如何(?:工作|使用)|有哪些|的?(?:区别|说明|例子|示例|介绍)|这个(?:说法|例子)|means\b)/iu;
112
125
  function isDiscussion(suffix) {
113
126
  if (discussion.test(suffix))
@@ -131,12 +144,18 @@ export function invocationResolution(messages) {
131
144
  if (message.source.kind !== 'user')
132
145
  continue;
133
146
  const text = withoutQuotes(message.content.flatMap((block) => (block.type === 'text' ? [block.text] : [])).join('\n'));
134
- for (const clause of text.split(/[\n。;;!?!?]|[,,](?=\s*(?:请|然后|顺便|同时|并且|调用|使用|用|让))/u)) {
147
+ for (const clause of text.split(/[\n。;;!?!?]|[,,](?=\s*(?:请|然后|顺便|同时|并且|只|仅|调用|使用|用|让))/u)) {
135
148
  const request = clause.trim().match(command)?.[1];
136
149
  if (!request)
137
150
  continue;
151
+ // Plugin/tool invocation is routing guidance, not a CLI selector. In
152
+ // particular, a later "参数 cli" must not turn cliworker_start into one.
153
+ if (/^(?:cli\s+worker(?:\s+now)?\b|cliworker_(?:start|resolve)\b)/iu.test(request))
154
+ continue;
138
155
  const explicit = request.match(/^(.*?)\s*(?:cli\b|命令行)(.*)$/iu);
139
156
  if (explicit) {
157
+ if (!explicit[1].trim())
158
+ continue;
140
159
  // A named worker's nested instruction belongs to followup, not CLI-name resolution.
141
160
  if (/调用|使用|继续|接着/u.test(explicit[1]))
142
161
  continue;
@@ -177,6 +196,10 @@ export function invocationResolution(messages) {
177
196
  return undefined;
178
197
  if (resolutions.length === 1)
179
198
  return resolutions[0];
199
+ const first = resolutions[0];
200
+ if (first.status === 'resolved' &&
201
+ resolutions.every((result) => result.status === 'resolved' && result.cli === first.cli))
202
+ return first;
180
203
  return {
181
204
  status: 'ambiguous',
182
205
  candidates: [
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/host/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/host/routing.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { readClaudeOwnRoute, prepareClaudeWorkerLaunch } from "./claude-own-route.js";
1
2
  import { extendedLaunch, isExtendedCli } from "./extended-adapters.js";
2
3
  import { appendFileSync } from 'node:fs';
3
4
  import { randomUUID } from 'node:crypto';
@@ -12,6 +13,7 @@ import { attachTelemetry, TelemetryReader } from "./telemetry.js";
12
13
  import { authorizeSelection, ACCOUNT_CHANGED } from "./authorized-catalog.js";
13
14
  import { readCliAccountBinding } from "./cli-account-binding.js";
14
15
  import { assertFirstPartyConfiguration, firstPartyEnvironment } from "./first-party-models.js";
16
+ import { agyBackgroundEnvironment } from "./agy-background-environment.js";
15
17
  export class WorkerRuntime {
16
18
  storage;
17
19
  backend;
@@ -478,12 +480,26 @@ export class WorkerRuntime {
478
480
  worker.status = 'running';
479
481
  this.storage.save(worker);
480
482
  this.changed();
483
+ const selectedClaudeRoute = cliOf(worker.preference) === 'claude'
484
+ ? await readClaudeOwnRoute(worker.project, controller.signal)
485
+ : undefined;
486
+ // Bind the exact prepared snapshot as well as the current source. A -> B -> A
487
+ // configuration changes must not authorize launching B under A's admission.
488
+ if (selectedClaudeRoute &&
489
+ binding !==
490
+ (await readCliAccountBinding('claude', this.backend, this.config, worker.project, controller.signal, selectedClaudeRoute)))
491
+ throw new Error(ACCOUNT_CHANGED);
481
492
  const launch = isExtendedCli(cliOf(worker.preference))
482
- ? await extendedLaunch(cliOf(worker.preference), executable, worker.project, worker.preference, worker.mode, task.prompt, join(this.storage.directory, 'native', worker.id), this.config, expectedConversation, (argv, env) => captureCatalogMetadata(this.backend, this.config, argv, worker.project, controller.signal, env))
483
- : {
484
- env: firstPartyEnvironment(cliOf(worker.preference)),
485
- argv: workerArguments(executable, worker.project, worker.preference, worker.mode, task.prompt, this.config.timeoutMs, expectedConversation),
486
- };
493
+ ? await extendedLaunch(cliOf(worker.preference), executable, worker.project, worker.preference, worker.mode, task.prompt, join(this.storage.directory, 'native', worker.id), this.config, expectedConversation, (argv, env) => captureCatalogMetadata(this.backend, this.config, argv, worker.project, controller.signal, env), { backend: this.backend, signal: controller.signal, graceMs: this.config.graceMs })
494
+ : cliOf(worker.preference) === 'claude'
495
+ ? await prepareClaudeWorkerLaunch(selectedClaudeRoute, workerArguments(executable, worker.project, worker.preference, worker.mode, task.prompt, this.config.timeoutMs, expectedConversation), this.storage.directory, controller.signal)
496
+ : {
497
+ env: {
498
+ ...firstPartyEnvironment(cliOf(worker.preference)),
499
+ ...agyBackgroundEnvironment(cliOf(worker.preference)),
500
+ },
501
+ argv: workerArguments(executable, worker.project, worker.preference, worker.mode, task.prompt, this.config.timeoutMs, expectedConversation),
502
+ };
487
503
  release = 'cleanup' in launch ? launch.cleanup : undefined;
488
504
  controller.signal.throwIfAborted();
489
505
  if (binding !==
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/host/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/host/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type CliId } from '../shared/types.ts';
2
+ import type { Catalog } from './adapters.ts';
3
+ /** A settings display cache, never an execution authorization cache. Persist only
4
+ * sanitized choices and a one-way account binding. Every new Host must discover
5
+ * before admitting its first settings list; disk data only avoids unchanged writes. */
6
+ export declare class SettingsCatalogCache {
7
+ private ready;
8
+ private pending;
9
+ private revisions;
10
+ private directory;
11
+ constructor(root: string);
12
+ invalidate(cli: CliId): void;
13
+ private previous;
14
+ get(input: {
15
+ cli: CliId;
16
+ project: string;
17
+ signal: AbortSignal;
18
+ refresh?: boolean;
19
+ binding: () => Promise<string>;
20
+ discover: () => Promise<{
21
+ catalog: Catalog;
22
+ binding: string;
23
+ }>;
24
+ }): Promise<{
25
+ catalog: Catalog;
26
+ binding: string;
27
+ }>;
28
+ }
@@ -0,0 +1,189 @@
1
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, mkdirSync, chmodSync, realpathSync, } from 'node:fs';
2
+ import { createHash } from 'node:crypto';
3
+ import { hostname } from 'node:os';
4
+ import { join, resolve, dirname, parse } from 'node:path';
5
+ import { z } from 'zod';
6
+ import { CLI_IDS, EFFORTS } from "../shared/types.js";
7
+ import { atomicJSON } from "./storage.js";
8
+ const text = z.string().min(1).max(2048);
9
+ const schema = z
10
+ .object({
11
+ policy: z.literal(1),
12
+ key: z.string().length(64),
13
+ binding: z.string().min(1).max(256),
14
+ catalog: z
15
+ .object({
16
+ cli: z.enum(CLI_IDS),
17
+ notice: z.string().max(8192),
18
+ models: z
19
+ .array(z
20
+ .object({
21
+ id: text,
22
+ label: text,
23
+ efforts: z.array(z.enum(EFFORTS)).max(EFFORTS.length).optional(),
24
+ variants: z.partialRecord(z.enum(EFFORTS), text).optional(),
25
+ cost: z.enum(['free', 'paid', 'unknown']).optional(),
26
+ })
27
+ .strict())
28
+ .min(1)
29
+ .max(4096),
30
+ })
31
+ .strict(),
32
+ })
33
+ .strict();
34
+ const hash = (value) => createHash('sha256').update(value).digest('hex');
35
+ const MAX_BYTES = 2 * 1024 * 1024;
36
+ function privateDirectory(path) {
37
+ const ancestors = [];
38
+ const root = parse(resolve(path)).root;
39
+ for (let current = dirname(resolve(path));; current = dirname(current)) {
40
+ const info = lstatSync(current);
41
+ const trustedAlias = process.platform === 'darwin' &&
42
+ ((current === '/tmp' && realpathSync(current) === '/private/tmp') ||
43
+ (current === '/var' && realpathSync(current) === '/private/var'));
44
+ if ((!info.isDirectory() || info.isSymbolicLink()) && !trustedAlias)
45
+ throw new Error('模型目录缓存路径不可用');
46
+ ancestors.push({ path: current, dev: info.dev, ino: info.ino });
47
+ if (current === root)
48
+ break;
49
+ }
50
+ mkdirSync(path, { mode: 0o700, recursive: true });
51
+ const info = lstatSync(path);
52
+ if (!info.isDirectory() || info.isSymbolicLink())
53
+ throw new Error('模型目录缓存路径不可用');
54
+ for (const ancestor of ancestors) {
55
+ const current = lstatSync(ancestor.path);
56
+ if (current.dev !== ancestor.dev || current.ino !== ancestor.ino)
57
+ throw new Error('模型目录缓存路径已变化');
58
+ }
59
+ chmodSync(path, 0o700);
60
+ }
61
+ function wait(pending, signal) {
62
+ signal.throwIfAborted();
63
+ return new Promise((resolve, reject) => {
64
+ const aborted = () => {
65
+ signal.removeEventListener('abort', aborted);
66
+ reject(signal.reason ?? new Error('模型查询已取消'));
67
+ };
68
+ signal.addEventListener('abort', aborted, { once: true });
69
+ void pending.then(resolve, reject).finally(() => signal.removeEventListener('abort', aborted));
70
+ });
71
+ }
72
+ /** A settings display cache, never an execution authorization cache. Persist only
73
+ * sanitized choices and a one-way account binding. Every new Host must discover
74
+ * before admitting its first settings list; disk data only avoids unchanged writes. */
75
+ export class SettingsCatalogCache {
76
+ ready = new Map();
77
+ pending = new Map();
78
+ revisions = new Map();
79
+ directory;
80
+ constructor(root) {
81
+ this.directory = join(root, 'settings-catalogs');
82
+ privateDirectory(this.directory);
83
+ }
84
+ invalidate(cli) {
85
+ this.revisions.set(cli, (this.revisions.get(cli) ?? 0) + 1);
86
+ for (const [key, entry] of this.ready)
87
+ if (entry.catalog.cli === cli)
88
+ this.ready.delete(key);
89
+ }
90
+ previous(key) {
91
+ let fd;
92
+ let buffer;
93
+ try {
94
+ privateDirectory(this.directory);
95
+ const path = join(this.directory, `${key}.json`), entry = lstatSync(path);
96
+ if (!entry.isFile() || entry.isSymbolicLink() || entry.nlink !== 1 || entry.size > MAX_BYTES)
97
+ return;
98
+ fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
99
+ const info = fstatSync(fd);
100
+ if (!info.isFile() ||
101
+ info.nlink !== 1 ||
102
+ info.dev !== entry.dev ||
103
+ info.ino !== entry.ino ||
104
+ info.size > MAX_BYTES)
105
+ return;
106
+ buffer = Buffer.alloc(info.size + 1);
107
+ let length = 0;
108
+ while (length < buffer.length) {
109
+ const size = readSync(fd, buffer, length, buffer.length - length, null);
110
+ if (!size)
111
+ break;
112
+ length += size;
113
+ }
114
+ const after = fstatSync(fd), current = lstatSync(path);
115
+ if (length !== info.size ||
116
+ after.size !== info.size ||
117
+ after.mtimeMs !== info.mtimeMs ||
118
+ after.nlink !== 1 ||
119
+ current.isSymbolicLink() ||
120
+ current.dev !== info.dev ||
121
+ current.ino !== info.ino ||
122
+ current.nlink !== 1 ||
123
+ current.size !== info.size ||
124
+ current.mtimeMs !== info.mtimeMs)
125
+ return;
126
+ const parsed = schema.parse(JSON.parse(buffer.subarray(0, length).toString('utf8')));
127
+ return parsed.key === key ? parsed : undefined;
128
+ }
129
+ catch {
130
+ return undefined;
131
+ }
132
+ finally {
133
+ buffer?.fill(0);
134
+ if (fd !== undefined)
135
+ closeSync(fd);
136
+ }
137
+ }
138
+ async get(input) {
139
+ const { cli, signal } = input;
140
+ const key = hash(JSON.stringify([process.platform, hostname(), input.project, cli]));
141
+ // Serialize concurrent opens without letting a cancelled caller publish data.
142
+ while (this.pending.has(key)) {
143
+ signal.throwIfAborted();
144
+ await wait(this.pending.get(key), signal);
145
+ }
146
+ signal.throwIfAborted();
147
+ let release;
148
+ this.pending.set(key, new Promise((resolve) => {
149
+ release = resolve;
150
+ }));
151
+ try {
152
+ if (input.refresh)
153
+ this.ready.delete(key);
154
+ const revision = this.revisions.get(cli) ?? 0;
155
+ const binding = await input.binding();
156
+ signal.throwIfAborted();
157
+ const current = this.ready.get(key);
158
+ if (current?.binding === binding)
159
+ return structuredClone({ catalog: current.catalog, binding });
160
+ this.ready.delete(key);
161
+ const result = await input.discover();
162
+ signal.throwIfAborted();
163
+ if ((this.revisions.get(cli) ?? 0) !== revision ||
164
+ result.binding !== binding ||
165
+ result.catalog.cli !== cli)
166
+ throw new Error('模型来源已变化,请刷新重试');
167
+ const entry = schema.parse({ policy: 1, key, binding, catalog: result.catalog });
168
+ const previous = this.previous(key);
169
+ const serialized = JSON.stringify(entry);
170
+ if (Buffer.byteLength(serialized) > MAX_BYTES)
171
+ throw new Error('模型目录过大,请检查 CLI 配置');
172
+ if (JSON.stringify(previous) !== serialized) {
173
+ privateDirectory(this.directory);
174
+ atomicJSON(join(this.directory, `${key}.json`), entry);
175
+ }
176
+ this.ready.set(key, entry);
177
+ return structuredClone({ catalog: entry.catalog, binding });
178
+ }
179
+ catch (error) {
180
+ this.ready.delete(key);
181
+ throw error;
182
+ }
183
+ finally {
184
+ this.pending.delete(key);
185
+ release();
186
+ }
187
+ }
188
+ }
189
+ //# sourceMappingURL=settings-catalog-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-catalog-cache.js","sourceRoot":"","sources":["../../../src/host/settings-catalog-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ param(
2
+ [Parameter(Mandatory=$true)][string]$Directory,
3
+ [Parameter(Mandatory=$true)][string]$RuntimePath,
4
+ [Parameter(Mandatory=$true)][string]$LaunchPath,
5
+ [Parameter(Mandatory=$true)][string]$ArgumentsBase64
6
+ )
7
+ $ErrorActionPreference = 'Stop'
8
+ # A console-subsystem root is necessary: Electron's GUI executable can attach
9
+ # to a different parent console even with ELECTRON_RUN_AS_NODE. Do not run any
10
+ # native CLI until this exact PowerShell root and its console belong to the Job.
11
+ $pidFile=Join-Path $Directory 'pid'
12
+ [System.IO.File]::WriteAllText(($pidFile+'.tmp'),[string]$PID)
13
+ [System.IO.File]::Move(($pidFile+'.tmp'),$pidFile)
14
+ [Console]::Out.Write(([char]27).ToString()+'[0m')
15
+ $until=[DateTime]::UtcNow.AddSeconds(15)
16
+ while (!(Test-Path -LiteralPath (Join-Path $Directory 'ready'))) {
17
+ if ([DateTime]::UtcNow -ge $until) { exit 1 }
18
+ Start-Sleep -Milliseconds 20
19
+ }
20
+ if (!(Test-Path -LiteralPath (Join-Path $Directory 'cancel')) -and !(Test-Path -LiteralPath (Join-Path $Directory 'stop'))) {
21
+ try {
22
+ # PowerShell's native pipeline may background a GUI executable or convert
23
+ # stderr to an error. Start the fixed helper without redirection and wait.
24
+ # Only fixed paths plus Base64 JSON are quoted here; CLI argv stays data.
25
+ $quote = { param([string]$Value) '"' + [regex]::Replace([regex]::Replace($Value, '(\\*)"', '$1$1\"'), '(\\+)$', '$1$1') + '"' }
26
+ $start = New-Object System.Diagnostics.ProcessStartInfo
27
+ $start.FileName = $RuntimePath
28
+ $start.Arguments = ((& $quote $LaunchPath), (& $quote $Directory), (& $quote $ArgumentsBase64)) -join ' '
29
+ $start.UseShellExecute = $false
30
+ $start.RedirectStandardInput = $false
31
+ $start.RedirectStandardOutput = $false
32
+ $start.RedirectStandardError = $false
33
+ $start.CreateNoWindow = $false
34
+ $runtime = [System.Diagnostics.Process]::Start($start)
35
+ try { $runtime.WaitForExit() } finally { $runtime.Dispose() }
36
+ if (!(Test-Path -LiteralPath (Join-Path $Directory 'exit'))) {
37
+ [System.IO.File]::WriteAllText((Join-Path $Directory 'exit'),'{"exitCode":1,"signal":null}')
38
+ }
39
+ } catch {
40
+ [System.IO.File]::WriteAllText((Join-Path $Directory 'exit'),'{"exitCode":1,"signal":null}')
41
+ }
42
+ }
43
+ # Host owns disposal, including native exit and startup cancellation paths.
44
+ while ($true) { Start-Sleep -Milliseconds 1000 }