@jingyi0605/codingns4dsh 0.2.1-beta.4 → 0.2.1-beta.5

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 (248) hide show
  1. package/README.en.md +30 -6
  2. package/README.md +29 -5
  3. package/data/build/dist/client/account-bar.d.ts +1 -1
  4. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  5. package/data/build/dist/client/account-bar.js +22 -14
  6. package/data/build/dist/client/account-bar.js.map +1 -1
  7. package/data/build/dist/client/adapter-catalog-watch.d.ts +8 -0
  8. package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -0
  9. package/data/build/dist/client/adapter-catalog-watch.js +79 -0
  10. package/data/build/dist/client/adapter-catalog-watch.js.map +1 -0
  11. package/data/build/dist/client/avatar/live2d.d.ts +2 -0
  12. package/data/build/dist/client/avatar/live2d.d.ts.map +1 -1
  13. package/data/build/dist/client/avatar/live2d.js +16 -6
  14. package/data/build/dist/client/avatar/live2d.js.map +1 -1
  15. package/data/build/dist/client/avatar/manager.d.ts.map +1 -1
  16. package/data/build/dist/client/avatar/manager.js +4 -2
  17. package/data/build/dist/client/avatar/manager.js.map +1 -1
  18. package/data/build/dist/client/bundle.js +831 -403
  19. package/data/build/dist/client/bundle.js.map +1 -1
  20. package/data/build/dist/client/cli-catalog.d.ts +3 -0
  21. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  22. package/data/build/dist/client/cli-catalog.js +7 -0
  23. package/data/build/dist/client/cli-catalog.js.map +1 -1
  24. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  25. package/data/build/dist/client/cli-slots.js +5 -43
  26. package/data/build/dist/client/cli-slots.js.map +1 -1
  27. package/data/build/dist/client/debug/ui.d.ts.map +1 -1
  28. package/data/build/dist/client/debug/ui.js +14 -5
  29. package/data/build/dist/client/debug/ui.js.map +1 -1
  30. package/data/build/dist/client/desktop-assistant.js +19 -5
  31. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  32. package/data/build/dist/client/features/cli-adapters.js +48 -13
  33. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  34. package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
  35. package/data/build/dist/client/features/global-voice-assistant.js +12 -7
  36. package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
  37. package/data/build/dist/client/features/peer-host.d.ts +2 -1
  38. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  39. package/data/build/dist/client/features/peer-host.js +110 -33
  40. package/data/build/dist/client/features/peer-host.js.map +1 -1
  41. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  42. package/data/build/dist/client/features/workspace-session-enhancement.js +37 -10
  43. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  44. package/data/build/dist/client/git-management.d.ts +1 -1
  45. package/data/build/dist/client/git-management.d.ts.map +1 -1
  46. package/data/build/dist/client/git-management.js +46 -27
  47. package/data/build/dist/client/git-management.js.map +1 -1
  48. package/data/build/dist/client/locale.d.ts.map +1 -1
  49. package/data/build/dist/client/locale.js +10 -0
  50. package/data/build/dist/client/locale.js.map +1 -1
  51. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
  52. package/data/build/dist/client/locales/peerHost.js +4 -0
  53. package/data/build/dist/client/locales/peerHost.js.map +1 -1
  54. package/data/build/dist/client/locales/peerHostWorkspace.js +2 -2
  55. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
  56. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  57. package/data/build/dist/client/locales/usage.js +4 -0
  58. package/data/build/dist/client/locales/usage.js.map +1 -1
  59. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  60. package/data/build/dist/client/model-catalog-cache.js +9 -2
  61. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  62. package/data/build/dist/client/rpc-call.d.ts +4 -0
  63. package/data/build/dist/client/rpc-call.d.ts.map +1 -0
  64. package/data/build/dist/client/rpc-call.js +23 -0
  65. package/data/build/dist/client/rpc-call.js.map +1 -0
  66. package/data/build/dist/client/serial-polling.d.ts +13 -0
  67. package/data/build/dist/client/serial-polling.d.ts.map +1 -0
  68. package/data/build/dist/client/serial-polling.js +41 -0
  69. package/data/build/dist/client/serial-polling.js.map +1 -0
  70. package/data/build/dist/client/session-adapter-cache.d.ts.map +1 -1
  71. package/data/build/dist/client/session-adapter-cache.js +11 -1
  72. package/data/build/dist/client/session-adapter-cache.js.map +1 -1
  73. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -1
  74. package/data/build/dist/client/sherpa-voice-adapter.js +8 -8
  75. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -1
  76. package/data/build/dist/client/subscription-slot.d.ts +11 -0
  77. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  78. package/data/build/dist/client/subscription-slot.js +42 -15
  79. package/data/build/dist/client/subscription-slot.js.map +1 -1
  80. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +1 -1
  81. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  82. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +3 -10
  83. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  84. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -1
  85. package/data/build/dist/host/cli-adapters/antigravity-subscription.js +10 -10
  86. package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -1
  87. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  88. package/data/build/dist/host/cli-adapters/claude-driver.js +7 -5
  89. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  90. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  91. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +8 -7
  92. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  93. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  94. package/data/build/dist/host/cli-adapters/command-code-driver.js +9 -8
  95. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  96. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
  97. package/data/build/dist/host/cli-adapters/cursor-driver.js +4 -3
  98. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
  99. package/data/build/dist/host/cli-adapters/delegate-dispatch.js +1 -1
  100. package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -1
  101. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts +2 -0
  102. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts.map +1 -1
  103. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +5 -0
  104. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
  105. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
  106. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +2 -4
  107. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
  108. package/data/build/dist/host/cli-adapters/driver.d.ts +1 -1
  109. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  110. package/data/build/dist/host/cli-adapters/feature.js +28 -36
  111. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  112. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  113. package/data/build/dist/host/cli-adapters/grok-driver.js +2 -1
  114. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  115. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  116. package/data/build/dist/host/cli-adapters/kimi-driver.js +4 -3
  117. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  118. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +2 -0
  119. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  120. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +10 -0
  121. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  122. package/data/build/dist/host/cli-adapters/log-files.d.ts +3 -0
  123. package/data/build/dist/host/cli-adapters/log-files.d.ts.map +1 -0
  124. package/data/build/dist/host/cli-adapters/log-files.js +32 -0
  125. package/data/build/dist/host/cli-adapters/log-files.js.map +1 -0
  126. package/data/build/dist/host/cli-adapters/native-team-subagent.js +1 -1
  127. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  128. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +10 -0
  129. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  130. package/data/build/dist/host/cli-adapters/opencode-driver.js +128 -26
  131. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  132. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts +29 -0
  133. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts.map +1 -0
  134. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +471 -0
  135. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js.map +1 -0
  136. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  137. package/data/build/dist/host/cli-adapters/pi-driver.js +2 -1
  138. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  139. package/data/build/dist/host/cli-adapters/process-utils.d.ts +8 -2
  140. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  141. package/data/build/dist/host/cli-adapters/process-utils.js +90 -9
  142. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  143. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  144. package/data/build/dist/host/cli-adapters/qoder-driver.js +55 -72
  145. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  146. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts +6 -1
  147. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts.map +1 -1
  148. package/data/build/dist/host/cli-adapters/qoder-subscription.js +37 -10
  149. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
  150. package/data/build/dist/host/cli-adapters/registry.d.ts +13 -21
  151. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  152. package/data/build/dist/host/cli-adapters/registry.js +71 -127
  153. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  154. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +1 -0
  155. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  156. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +6 -6
  157. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  158. package/data/build/dist/host/cli-adapters/session-store.d.ts +5 -1
  159. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
  160. package/data/build/dist/host/cli-adapters/session-store.js +68 -11
  161. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
  162. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  163. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -3
  164. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  165. package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
  166. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  167. package/data/build/dist/host/debug.d.ts.map +1 -1
  168. package/data/build/dist/host/debug.js +5 -4
  169. package/data/build/dist/host/debug.js.map +1 -1
  170. package/data/build/dist/host/dsh-runtime-version.d.ts +1 -1
  171. package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -1
  172. package/data/build/dist/host/dsh-runtime-version.js +22 -17
  173. package/data/build/dist/host/dsh-runtime-version.js.map +1 -1
  174. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts.map +1 -1
  175. package/data/build/dist/host/features/assistant-avatar-runtime.js +20 -5
  176. package/data/build/dist/host/features/assistant-avatar-runtime.js.map +1 -1
  177. package/data/build/dist/host/features/assistant-source-cache.d.ts +12 -0
  178. package/data/build/dist/host/features/assistant-source-cache.d.ts.map +1 -0
  179. package/data/build/dist/host/features/assistant-source-cache.js +56 -0
  180. package/data/build/dist/host/features/assistant-source-cache.js.map +1 -0
  181. package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -1
  182. package/data/build/dist/host/features/global-voice-coordinator.js +15 -10
  183. package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -1
  184. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  185. package/data/build/dist/host/features/global-voice-rpc.js +28 -13
  186. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  187. package/data/build/dist/host/features/sherpa-voice-worker.d.ts +18 -0
  188. package/data/build/dist/host/features/sherpa-voice-worker.d.ts.map +1 -0
  189. package/data/build/dist/host/features/sherpa-voice-worker.js +40 -0
  190. package/data/build/dist/host/features/sherpa-voice-worker.js.map +1 -0
  191. package/data/build/dist/host/features/sherpa-worker-runtime.d.ts +41 -0
  192. package/data/build/dist/host/features/sherpa-worker-runtime.d.ts.map +1 -0
  193. package/data/build/dist/host/features/sherpa-worker-runtime.js +200 -0
  194. package/data/build/dist/host/features/sherpa-worker-runtime.js.map +1 -0
  195. package/data/build/dist/host/index.d.ts +1 -1
  196. package/data/build/dist/host/index.d.ts.map +1 -1
  197. package/data/build/dist/host/index.js +2 -2
  198. package/data/build/dist/host/index.js.map +1 -1
  199. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  200. package/data/build/dist/host/lan-access-dsh.js +5 -22
  201. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  202. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +6 -46
  203. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
  204. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +48 -28
  205. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
  206. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.d.ts.map +1 -1
  207. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js +1 -0
  208. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js.map +1 -1
  209. package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts.map +1 -1
  210. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js +4 -1
  211. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js.map +1 -1
  212. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts +7 -1
  213. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts.map +1 -1
  214. package/data/build/dist/host/modules/peer-host/peer-host-session.js +40 -13
  215. package/data/build/dist/host/modules/peer-host/peer-host-session.js.map +1 -1
  216. package/data/build/dist/host/rpc.js +1 -1
  217. package/data/build/dist/host/rpc.js.map +1 -1
  218. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts +1 -1
  219. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -1
  220. package/data/build/dist/host/terminal/backends/tmux-backend.js +15 -14
  221. package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -1
  222. package/data/build/dist/shared/assistant-avatar-engine.d.ts +3 -0
  223. package/data/build/dist/shared/assistant-avatar-engine.d.ts.map +1 -1
  224. package/data/build/dist/shared/assistant-avatar-engine.js +4 -0
  225. package/data/build/dist/shared/assistant-avatar-engine.js.map +1 -1
  226. package/data/build/dist/shared/contracts/cli-adapter.d.ts +3 -0
  227. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  228. package/data/build/dist/shared/contracts/errors.d.ts +1 -0
  229. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  230. package/data/build/dist/shared/contracts/errors.js +1 -0
  231. package/data/build/dist/shared/contracts/errors.js.map +1 -1
  232. package/data/build/dist/shared/contracts/peer-host.d.ts +1 -0
  233. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  234. package/data/build/dist/shared/contracts/peer-host.js +1 -0
  235. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  236. package/data/build/dist/shared/contracts/version.d.ts +3 -1
  237. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  238. package/data/build/dist/shared/contracts/version.js +20 -7
  239. package/data/build/dist/shared/contracts/version.js.map +1 -1
  240. package/data/build/dist/shared/peer-host-http-routes.d.ts +62 -0
  241. package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -0
  242. package/data/build/dist/shared/peer-host-http-routes.js +31 -0
  243. package/data/build/dist/shared/peer-host-http-routes.js.map +1 -0
  244. package/package.json +1 -1
  245. package/profile/README.md +2 -2
  246. package/profile/package.json +2 -2
  247. package/profile/version.json +1 -1
  248. package/version.json +1 -1
@@ -1,12 +1,9 @@
1
+ import { invalidateCommandEnvironment, withCommandSignal } from './process-utils.js';
1
2
  import { CodingNsRpcError } from '../rpc-table.js';
2
3
  import { debugInfo } from '../../shared/debug.js';
3
4
  import { CodingNsCliSessionStore } from './session-store.js';
4
5
  import { readLegacyImportedAdapterPreferences } from './legacy-session-settings.js';
5
6
  import { knownAntigravityContextWindow, knownCodexContextWindow, knownCommandCodeContextWindow } from './model-catalog.js';
6
- const DEFAULT_INSTALLED_CACHE_TTL_MS = 5 * 60_000;
7
- const DEFAULT_UNINSTALLED_CACHE_TTL_MS = 30_000;
8
- const DEFAULT_MODEL_CACHE_TTL_MS = 10 * 60_000;
9
- const DEFAULT_MODEL_RETRY_TTL_MS = 15_000;
10
7
  export class CodingNsCliAdapterRegistry {
11
8
  drivers = new Map();
12
9
  sessions = new Map();
@@ -19,19 +16,12 @@ export class CodingNsCliAdapterRegistry {
19
16
  probes = new Map();
20
17
  executingSessions = new Set();
21
18
  archivingSessions = new Set();
22
- installedCacheTtlMs;
23
- uninstalledCacheTtlMs;
24
- modelCacheTtlMs;
25
- modelRetryTtlMs;
26
19
  detectionCache = new Map();
27
20
  detectionRefreshes = new Map();
28
- detectionTimers = new Map();
29
21
  modelCache = new Map();
30
22
  modelFailures = new Map();
31
23
  modelRefreshes = new Map();
32
- modelTimers = new Map();
33
24
  modelGenerations = new Map();
34
- requestedModelCatalogs = new Set();
35
25
  /**
36
26
  * 上次构建目录时驱动声明的 Provider 配置指纹。
37
27
  *
@@ -49,6 +39,11 @@ export class CodingNsCliAdapterRegistry {
49
39
  */
50
40
  segmentedTurns = new Map();
51
41
  cacheGeneration = 0;
42
+ startupTimer;
43
+ lifetime = new AbortController();
44
+ originalDetections = new Map();
45
+ detectionStates = new Map();
46
+ detectionTimes = new Map();
52
47
  disposed = false;
53
48
  constructor(drivers, enabled = {}, options = {}) {
54
49
  this.sessionStore = options.sessionStore;
@@ -58,10 +53,6 @@ export class CodingNsCliAdapterRegistry {
58
53
  this.missingConfirmationDelayMs = options.missingConfirmationDelayMs ?? 2_000;
59
54
  this.providerProbeTimeoutMs = Math.max(1, options.providerProbeTimeoutMs ?? 10_000);
60
55
  this.providerProbeConcurrency = Math.max(1, Math.floor(options.providerProbeConcurrency ?? 4));
61
- this.installedCacheTtlMs = positiveTtl(options.installedCacheTtlMs, DEFAULT_INSTALLED_CACHE_TTL_MS);
62
- this.uninstalledCacheTtlMs = positiveTtl(options.uninstalledCacheTtlMs, DEFAULT_UNINSTALLED_CACHE_TTL_MS);
63
- this.modelCacheTtlMs = positiveTtl(options.modelCacheTtlMs, DEFAULT_MODEL_CACHE_TTL_MS);
64
- this.modelRetryTtlMs = positiveTtl(options.modelRetryTtlMs, DEFAULT_MODEL_RETRY_TTL_MS);
65
56
  const configuredPreferences = options.settings?.get().agentAdapterPreferences;
66
57
  const legacyPreferences = options.settings === undefined ? {} : readLegacyImportedAdapterPreferences();
67
58
  const mergedPreferences = mergePreferenceRecords(legacyPreferences, configuredPreferences);
@@ -75,6 +66,9 @@ export class CodingNsCliAdapterRegistry {
75
66
  if (this.drivers.has(driver.descriptor.id))
76
67
  throw new Error(`重复 Agent: ${driver.descriptor.id}`);
77
68
  this.drivers.set(driver.descriptor.id, driver);
69
+ // 驱动在模型查询和执行前的自检也必须复用同一缓存,不能绕过注册表反复启动 CLI。
70
+ this.originalDetections.set(driver.descriptor.id, driver.detect);
71
+ driver.detect = () => this.readDetection(driver);
78
72
  this.enabled.set(driver.descriptor.id, enabled[driver.descriptor.id] !== false);
79
73
  }
80
74
  for (const record of this.sessionStore?.list({ includeArchived: true }) ?? []) {
@@ -88,47 +82,51 @@ export class CodingNsCliAdapterRegistry {
88
82
  preferences = new Map();
89
83
  /** 设置服务更新必须按选择顺序落盘;并发 update 会让旧快照覆盖新模型/档位。 */
90
84
  preferenceWriteTail = Promise.resolve();
91
- /**
92
- * Host 启动后预热安装状态,并按驱动声明后台预热模型目录。
93
- *
94
- * 模型探测可能启动完整外部服务,必须留在后台;只有调用方显式请求
95
- * `models()` 时才等待结果。未声明预热的驱动保持原有按需加载,避免启动时
96
- * 同时拉起所有外部 CLI。
97
- */
85
+ /** 启动让出首屏,只检测一次;模型目录留到首次使用时异步加载。 */
98
86
  warmCatalog() {
99
- for (const driver of this.drivers.values()) {
100
- const adapterId = driver.descriptor.id;
101
- this.scheduleDetectionRefresh(adapterId, 0);
102
- if (driver.warmModelCatalog !== true || !this.isEnabled(adapterId))
103
- continue;
104
- this.requestedModelCatalogs.add(adapterId);
105
- // 定时器把第一次 detect 也移出当前调用栈;某些 CLI 的版本探测仍是同步
106
- // 子进程调用,不能让 warmCatalog() 本身承担这段启动时间。
107
- const timer = setTimeout(() => {
108
- if (!this.disposed)
109
- void this.warmModelCatalog(driver).catch(() => undefined);
110
- }, 0);
111
- unrefTimer(timer);
112
- }
113
- }
114
- /** 等安装探测完成后再刷新模型,避免为同一个 CLI 启动两次检测进程。 */
115
- async warmModelCatalog(driver) {
116
- if (this.disposed)
87
+ if (this.disposed || this.startupTimer !== undefined)
117
88
  return;
118
- const detection = await this.readDetection(driver);
119
- if (this.disposed || !this.isEnabled(driver.descriptor.id) || !detection.installed)
120
- return;
121
- await this.refreshModels(driver);
89
+ this.startupTimer = setTimeout(() => {
90
+ for (const driver of this.drivers.values())
91
+ void this.readDetection(driver);
92
+ }, 1_000);
93
+ unrefTimer(this.startupTimer);
122
94
  }
95
+ /** 普通目录查询只读内存,不等待 CLI,也不触发过期刷新。 */
123
96
  async catalog() {
124
- return Promise.all([...this.drivers.values()].map(async (driver) => {
125
- const detection = await this.readDetection(driver);
126
- return { ...driver.descriptor, enabled: this.isEnabled(driver.descriptor.id), ...detection };
97
+ return [...this.drivers.values()].map((driver) => {
98
+ const id = driver.descriptor.id;
99
+ const checkedAt = this.detectionTimes.get(id);
100
+ return {
101
+ ...driver.descriptor, enabled: this.isEnabled(id),
102
+ ...(this.detectionCache.get(id)?.value ?? { installed: false, version: null, command: null }),
103
+ detectionState: this.detectionStates.get(id) ?? 'pending',
104
+ ...(checkedAt === undefined ? {} : { checkedAt }),
105
+ };
106
+ });
107
+ }
108
+ /** 真正执行用户选择时,只等待这些目标的首轮检测,避免把 pending 误判成未安装。 */
109
+ async catalogForUse(adapterIds) {
110
+ await Promise.all([...new Set(adapterIds)].map((id) => {
111
+ const driver = this.drivers.get(id);
112
+ return driver === undefined || !this.isEnabled(id) ? undefined : this.readDetection(driver);
127
113
  }));
114
+ return this.catalog();
115
+ }
116
+ /** 仅设置页显式重新检测;并发请求合并,已有模型在重新检测后按需刷新。 */
117
+ async refreshCatalog(adapterId) {
118
+ if (this.disposed)
119
+ throw new Error('Agent 注册表已关闭');
120
+ const drivers = adapterId === undefined ? [...this.drivers.values()] : [this.requireDriver(adapterId)];
121
+ invalidateCommandEnvironment();
122
+ await Promise.all(drivers.map(async (driver) => {
123
+ await this.refreshDetection(driver);
124
+ this.invalidateModelCache(driver.descriptor.id);
125
+ }));
126
+ return this.catalog();
128
127
  }
129
128
  async models(adapterId) {
130
129
  const driver = this.requireEnabledDriver(adapterId);
131
- this.requestedModelCatalogs.add(adapterId);
132
130
  // Provider 配置(供应商、登录方式、默认档位)变化时必须先作废目录,否则
133
131
  // 账号级判定会跟着 10 分钟 TTL 一起被沿用,界面上的档位开关等控件长期缺失。
134
132
  if (this.invalidateOnCatalogFingerprintChange(adapterId, driver)) {
@@ -136,14 +134,10 @@ export class CodingNsCliAdapterRegistry {
136
134
  }
137
135
  const cached = this.modelCache.get(adapterId);
138
136
  if (cached !== undefined) {
139
- if (cached.expiresAt <= Date.now())
140
- void this.refreshModels(driver).catch(() => undefined);
141
137
  return cached.value;
142
138
  }
143
139
  const failure = this.modelFailures.get(adapterId);
144
140
  if (failure !== undefined) {
145
- if (failure.expiresAt <= Date.now())
146
- void this.refreshModels(driver).catch(() => undefined);
147
141
  throw failure.error;
148
142
  }
149
143
  return this.refreshModels(driver);
@@ -173,10 +167,6 @@ export class CodingNsCliAdapterRegistry {
173
167
  this.enabled.set(adapterId, enabled);
174
168
  if (previous === enabled)
175
169
  return enabled;
176
- if (!enabled)
177
- this.clearTimer(this.modelTimers, adapterId);
178
- else if (this.requestedModelCatalogs.has(adapterId))
179
- this.scheduleModelRefresh(adapterId, 0);
180
170
  return enabled;
181
171
  }
182
172
  applyEnabledSettings(settings) {
@@ -522,6 +512,9 @@ export class CodingNsCliAdapterRegistry {
522
512
  providerState: 'available',
523
513
  providerCheckedAt: new Date().toISOString(),
524
514
  });
515
+ // 首次或重绑的 Provider ID 必须先落盘,避免崩溃后丢失续接身份。
516
+ if (providerIdentityChanged)
517
+ await this.sessionStore?.flush();
525
518
  }
526
519
  if (event.type === 'finish') {
527
520
  this.segmentedTurns.delete(input.sessionId);
@@ -711,15 +704,16 @@ export class CodingNsCliAdapterRegistry {
711
704
  if (this.disposed)
712
705
  return;
713
706
  this.disposed = true;
707
+ this.lifetime.abort();
714
708
  this.cacheGeneration += 1;
715
- this.clearAllTimers(this.detectionTimers);
716
- this.clearAllTimers(this.modelTimers);
709
+ clearTimeout(this.startupTimer);
710
+ for (const [id, detect] of this.originalDetections)
711
+ this.drivers.get(id).detect = detect;
717
712
  this.detectionCache.clear();
718
713
  this.modelCache.clear();
719
714
  this.modelFailures.clear();
720
715
  this.modelGenerations.clear();
721
716
  this.catalogFingerprints.clear();
722
- this.requestedModelCatalogs.clear();
723
717
  await Promise.all([...this.segmentedTurns.values()].map(({ iterator }) => iterator === null ? Promise.resolve() : closeAgentIterator(iterator)));
724
718
  this.segmentedTurns.clear();
725
719
  this.lastUsages.clear();
@@ -730,8 +724,6 @@ export class CodingNsCliAdapterRegistry {
730
724
  const adapterId = driver.descriptor.id;
731
725
  const cached = this.detectionCache.get(adapterId);
732
726
  if (cached !== undefined) {
733
- if (cached.expiresAt <= Date.now())
734
- void this.refreshDetection(driver);
735
727
  return cached.value;
736
728
  }
737
729
  return this.refreshDetection(driver);
@@ -742,14 +734,16 @@ export class CodingNsCliAdapterRegistry {
742
734
  const running = this.detectionRefreshes.get(adapterId);
743
735
  if (running !== undefined)
744
736
  return running;
745
- this.clearTimer(this.detectionTimers, adapterId);
737
+ if (this.disposed)
738
+ return Promise.resolve(this.detectionCache.get(adapterId)?.value ?? { installed: false, version: null, command: null });
739
+ this.detectionStates.set(adapterId, 'running');
746
740
  const generation = this.cacheGeneration;
747
741
  const previous = this.detectionCache.get(adapterId);
748
742
  const refresh = (async () => {
749
743
  let detection;
750
744
  let failed = false;
751
745
  try {
752
- const detected = await driver.detect();
746
+ const detected = await withCommandSignal(this.lifetime.signal, () => this.originalDetections.get(adapterId).call(driver));
753
747
  const getDiagnostic = driver.getDiscoveryDiagnostic;
754
748
  const diagnostic = getDiagnostic === undefined ? undefined : getDiagnostic.call(driver);
755
749
  detection = diagnostic === undefined ? detected : { ...detected, diagnostic };
@@ -760,18 +754,11 @@ export class CodingNsCliAdapterRegistry {
760
754
  }
761
755
  if (this.disposed || generation !== this.cacheGeneration)
762
756
  return detection;
763
- const ttl = failed
764
- ? this.uninstalledCacheTtlMs
765
- : detection.installed
766
- ? this.installedCacheTtlMs
767
- : this.uninstalledCacheTtlMs;
768
- this.detectionCache.set(adapterId, { value: detection, expiresAt: Date.now() + ttl });
769
- this.scheduleDetectionRefresh(adapterId, ttl);
757
+ this.detectionCache.set(adapterId, { value: detection });
758
+ this.detectionStates.set(adapterId, failed ? 'error' : 'ready');
759
+ this.detectionTimes.set(adapterId, new Date().toISOString());
770
760
  if (previous !== undefined && detectionFingerprint(previous.value) !== detectionFingerprint(detection)) {
771
761
  this.invalidateModelCache(adapterId);
772
- if (detection.installed && this.requestedModelCatalogs.has(adapterId) && this.isEnabled(adapterId)) {
773
- this.scheduleModelRefresh(adapterId, 0);
774
- }
775
762
  }
776
763
  return detection;
777
764
  })().finally(() => {
@@ -781,27 +768,26 @@ export class CodingNsCliAdapterRegistry {
781
768
  this.detectionRefreshes.set(adapterId, refresh);
782
769
  return refresh;
783
770
  }
784
- /** 模型目录使用 stale-while-revalidate;空结果和失败只缩短重试间隔。 */
771
+ /** 模型目录合并并发请求;缓存由手动检测或配置变化失效,不后台定时重跑。 */
785
772
  refreshModels(driver) {
786
773
  const adapterId = driver.descriptor.id;
787
774
  const running = this.modelRefreshes.get(adapterId);
788
775
  if (running !== undefined)
789
776
  return running;
790
- this.clearTimer(this.modelTimers, adapterId);
791
777
  const generation = this.cacheGeneration;
792
778
  const modelGeneration = this.modelGenerations.get(adapterId) ?? 0;
793
779
  const previous = this.modelCache.get(adapterId);
794
780
  const refresh = (async () => {
781
+ const probeFingerprint = readCatalogFingerprint(driver);
795
782
  try {
796
783
  // 指纹必须在探测开始前捕获:若在 listModels() 返回后再读,探测期间发生的
797
784
  // 第二次供应商切换会被记成“已应用”,而目录其实来自切换前的配置,之后
798
785
  // 指纹比对会一直命中,旧判定又被锁进缓存。
799
- const probeFingerprint = readCatalogFingerprint(driver);
800
- const catalog = await driver.listModels();
786
+ const catalog = await withCommandSignal(this.lifetime.signal, () => driver.listModels());
801
787
  if (this.disposed || generation !== this.cacheGeneration)
802
788
  return previous?.value ?? catalog;
803
789
  if (modelGeneration !== (this.modelGenerations.get(adapterId) ?? 0))
804
- return this.refreshModels(driver);
790
+ return this.models(adapterId);
805
791
  this.modelFailures.delete(adapterId);
806
792
  const hasModels = catalogHasModels(catalog);
807
793
  const keepPrevious = !hasModels && previous !== undefined && catalogHasModels(previous.value);
@@ -809,9 +795,7 @@ export class CodingNsCliAdapterRegistry {
809
795
  // 指纹与目录一起落库:只有真正代表这份目录的配置才会在下次比对时命中。
810
796
  if (probeFingerprint !== undefined)
811
797
  this.catalogFingerprints.set(adapterId, probeFingerprint);
812
- const ttl = hasModels ? this.modelCacheTtlMs : this.modelRetryTtlMs;
813
- this.modelCache.set(adapterId, { value, expiresAt: Date.now() + ttl });
814
- this.scheduleModelRefresh(adapterId, ttl);
798
+ this.modelCache.set(adapterId, { value });
815
799
  return value;
816
800
  }
817
801
  catch (error) {
@@ -821,14 +805,14 @@ export class CodingNsCliAdapterRegistry {
821
805
  throw error;
822
806
  }
823
807
  if (modelGeneration !== (this.modelGenerations.get(adapterId) ?? 0))
824
- return this.refreshModels(driver);
808
+ return this.models(adapterId);
809
+ if (probeFingerprint !== undefined)
810
+ this.catalogFingerprints.set(adapterId, probeFingerprint);
825
811
  if (previous !== undefined) {
826
- this.modelCache.set(adapterId, { value: previous.value, expiresAt: Date.now() + this.modelRetryTtlMs });
827
- this.scheduleModelRefresh(adapterId, this.modelRetryTtlMs);
812
+ this.modelCache.set(adapterId, { value: previous.value });
828
813
  return previous.value;
829
814
  }
830
- this.modelFailures.set(adapterId, { error, expiresAt: Date.now() + this.modelRetryTtlMs });
831
- this.scheduleModelRefresh(adapterId, this.modelRetryTtlMs);
815
+ this.modelFailures.set(adapterId, { error });
832
816
  throw error;
833
817
  }
834
818
  })().finally(() => {
@@ -838,38 +822,12 @@ export class CodingNsCliAdapterRegistry {
838
822
  this.modelRefreshes.set(adapterId, refresh);
839
823
  return refresh;
840
824
  }
841
- scheduleDetectionRefresh(adapterId, delayMs) {
842
- if (this.disposed)
843
- return;
844
- this.clearTimer(this.detectionTimers, adapterId);
845
- const timer = setTimeout(() => {
846
- this.detectionTimers.delete(adapterId);
847
- const driver = this.drivers.get(adapterId);
848
- if (driver !== undefined && !this.disposed)
849
- void this.refreshDetection(driver);
850
- }, delayMs);
851
- unrefTimer(timer);
852
- this.detectionTimers.set(adapterId, timer);
853
- }
854
- scheduleModelRefresh(adapterId, delayMs) {
855
- if (this.disposed || !this.isEnabled(adapterId) || !this.requestedModelCatalogs.has(adapterId))
856
- return;
857
- this.clearTimer(this.modelTimers, adapterId);
858
- const timer = setTimeout(() => {
859
- this.modelTimers.delete(adapterId);
860
- const driver = this.drivers.get(adapterId);
861
- if (driver !== undefined && this.isEnabled(adapterId) && !this.disposed)
862
- void this.refreshModels(driver).catch(() => undefined);
863
- }, delayMs);
864
- unrefTimer(timer);
865
- this.modelTimers.set(adapterId, timer);
866
- }
867
825
  invalidateModelCache(adapterId) {
868
- this.clearTimer(this.modelTimers, adapterId);
869
826
  this.modelGenerations.set(adapterId, (this.modelGenerations.get(adapterId) ?? 0) + 1);
870
827
  this.modelRefreshes.delete(adapterId);
871
828
  this.modelCache.delete(adapterId);
872
829
  this.modelFailures.delete(adapterId);
830
+ this.catalogFingerprints.delete(adapterId);
873
831
  }
874
832
  /**
875
833
  * 比对驱动的 Provider 配置指纹,变化时立即作废该适配器的目录缓存。
@@ -893,17 +851,6 @@ export class CodingNsCliAdapterRegistry {
893
851
  this.invalidateModelCache(adapterId);
894
852
  return true;
895
853
  }
896
- clearTimer(timers, adapterId) {
897
- const timer = timers.get(adapterId);
898
- if (timer !== undefined)
899
- clearTimeout(timer);
900
- timers.delete(adapterId);
901
- }
902
- clearAllTimers(timers) {
903
- for (const timer of timers.values())
904
- clearTimeout(timer);
905
- timers.clear();
906
- }
907
854
  async refreshProviderState(record, force) {
908
855
  if (record.status === 'archived')
909
856
  return;
@@ -1054,9 +1001,6 @@ async function forEachConcurrent(values, concurrency, task) {
1054
1001
  });
1055
1002
  await Promise.all(workers);
1056
1003
  }
1057
- function positiveTtl(value, fallback) {
1058
- return Math.max(1, Math.floor(value ?? fallback));
1059
- }
1060
1004
  function detectionFingerprint(detection) {
1061
1005
  return JSON.stringify([detection.installed, detection.command, detection.version, detection.diagnostic]);
1062
1006
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/registry.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { JsonRpcProcess, type JsonRpcMessage } from './json-rpc-process.js';
4
4
  export interface RpcBinaryOptions {
5
5
  readonly binaries: readonly string[];
6
6
  readonly spawnSync?: typeof spawnSync;
7
+ readonly environment?: Readonly<Record<string, string | undefined>>;
7
8
  }
8
9
  export declare function detectBinary(options: RpcBinaryOptions): Promise<{
9
10
  installed: boolean;