@coralai/sps-cli 0.65.31 → 0.65.33

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 (140) hide show
  1. package/README-CN.md +3 -3
  2. package/README.md +3 -3
  3. package/dist/commands/modelCommand.d.ts.map +1 -1
  4. package/dist/commands/modelCommand.js +5 -92
  5. package/dist/commands/modelCommand.js.map +1 -1
  6. package/dist/commands/pipelineTick.d.ts.map +1 -1
  7. package/dist/commands/pipelineTick.js +0 -9
  8. package/dist/commands/pipelineTick.js.map +1 -1
  9. package/dist/commands/projectInit.d.ts +1 -1
  10. package/dist/commands/setup.d.ts.map +1 -1
  11. package/dist/commands/setup.js +0 -3
  12. package/dist/commands/setup.js.map +1 -1
  13. package/dist/commands/tick.d.ts.map +1 -1
  14. package/dist/commands/tick.js +0 -12
  15. package/dist/commands/tick.js.map +1 -1
  16. package/dist/console/index.d.ts.map +1 -1
  17. package/dist/console/index.js +27 -4
  18. package/dist/console/index.js.map +1 -1
  19. package/dist/console/routes/audit.d.ts.map +1 -1
  20. package/dist/console/routes/audit.js +4 -1
  21. package/dist/console/routes/audit.js.map +1 -1
  22. package/dist/console/routes/chat.d.ts.map +1 -1
  23. package/dist/console/routes/chat.js +14 -21
  24. package/dist/console/routes/chat.js.map +1 -1
  25. package/dist/console/routes/health.d.ts +14 -0
  26. package/dist/console/routes/health.d.ts.map +1 -0
  27. package/dist/console/routes/health.js +60 -0
  28. package/dist/console/routes/health.js.map +1 -0
  29. package/dist/console/routes/projects.js +1 -1
  30. package/dist/console/routes/projects.js.map +1 -1
  31. package/dist/console/routes/providers.d.ts.map +1 -1
  32. package/dist/console/routes/providers.js +2 -6
  33. package/dist/console/routes/providers.js.map +1 -1
  34. package/dist/console/routes/workers.d.ts.map +1 -1
  35. package/dist/console/routes/workers.js +19 -0
  36. package/dist/console/routes/workers.js.map +1 -1
  37. package/dist/console-assets/assets/{ShowcasePage-GF_0kvZG.js → ShowcasePage-NmXybDqC.js} +1 -1
  38. package/dist/console-assets/assets/{index-lgFYFfCi.js → index-DCAnGMiQ.js} +207 -217
  39. package/dist/console-assets/index.html +1 -1
  40. package/dist/core/activityStream.d.ts +42 -0
  41. package/dist/core/activityStream.d.ts.map +1 -0
  42. package/dist/core/activityStream.js +208 -0
  43. package/dist/core/activityStream.js.map +1 -0
  44. package/dist/core/agents/workerModelEnv.d.ts +2 -3
  45. package/dist/core/agents/workerModelEnv.d.ts.map +1 -1
  46. package/dist/core/agents/workerModelEnv.js +4 -17
  47. package/dist/core/agents/workerModelEnv.js.map +1 -1
  48. package/dist/core/markerFile.d.ts.map +1 -1
  49. package/dist/core/markerFile.js +3 -2
  50. package/dist/core/markerFile.js.map +1 -1
  51. package/dist/core/memory2/config.d.ts +11 -2
  52. package/dist/core/memory2/config.d.ts.map +1 -1
  53. package/dist/core/memory2/config.js +28 -4
  54. package/dist/core/memory2/config.js.map +1 -1
  55. package/dist/core/memory2/distill.d.ts.map +1 -1
  56. package/dist/core/memory2/distill.js +7 -5
  57. package/dist/core/memory2/distill.js.map +1 -1
  58. package/dist/core/queue.d.ts.map +1 -1
  59. package/dist/core/queue.js +2 -1
  60. package/dist/core/queue.js.map +1 -1
  61. package/dist/core/reclaimConfig.d.ts.map +1 -1
  62. package/dist/core/reclaimConfig.js +14 -2
  63. package/dist/core/reclaimConfig.js.map +1 -1
  64. package/dist/core/skills/SkillsManager.d.ts +5 -1
  65. package/dist/core/skills/SkillsManager.d.ts.map +1 -1
  66. package/dist/core/skills/SkillsManager.js +41 -2
  67. package/dist/core/skills/SkillsManager.js.map +1 -1
  68. package/dist/daemon/daemonClient.d.ts.map +1 -1
  69. package/dist/daemon/daemonClient.js +15 -1
  70. package/dist/daemon/daemonClient.js.map +1 -1
  71. package/dist/daemon/orphanReclaim.d.ts +34 -0
  72. package/dist/daemon/orphanReclaim.d.ts.map +1 -0
  73. package/dist/daemon/orphanReclaim.js +64 -0
  74. package/dist/daemon/orphanReclaim.js.map +1 -0
  75. package/dist/daemon/runGovernor.d.ts +11 -0
  76. package/dist/daemon/runGovernor.d.ts.map +1 -1
  77. package/dist/daemon/runGovernor.js +28 -0
  78. package/dist/daemon/runGovernor.js.map +1 -1
  79. package/dist/daemon/sessionDaemon.d.ts +8 -0
  80. package/dist/daemon/sessionDaemon.d.ts.map +1 -1
  81. package/dist/daemon/sessionDaemon.js +129 -6
  82. package/dist/daemon/sessionDaemon.js.map +1 -1
  83. package/dist/engines/MonitorEngine.d.ts.map +1 -1
  84. package/dist/engines/MonitorEngine.js +27 -7
  85. package/dist/engines/MonitorEngine.js.map +1 -1
  86. package/dist/infra/filesystem.d.ts +5 -0
  87. package/dist/infra/filesystem.d.ts.map +1 -1
  88. package/dist/infra/filesystem.js +13 -1
  89. package/dist/infra/filesystem.js.map +1 -1
  90. package/dist/main.js +1 -6
  91. package/dist/main.js.map +1 -1
  92. package/dist/openai-agent/runWorker.d.ts.map +1 -1
  93. package/dist/openai-agent/runWorker.js +10 -6
  94. package/dist/openai-agent/runWorker.js.map +1 -1
  95. package/dist/openai-agent/storage/toolLedger.d.ts +9 -1
  96. package/dist/openai-agent/storage/toolLedger.d.ts.map +1 -1
  97. package/dist/openai-agent/storage/toolLedger.js +11 -2
  98. package/dist/openai-agent/storage/toolLedger.js.map +1 -1
  99. package/dist/providers/RuntimeSessionRuntime.d.ts.map +1 -1
  100. package/dist/providers/RuntimeSessionRuntime.js +14 -1
  101. package/dist/providers/RuntimeSessionRuntime.js.map +1 -1
  102. package/dist/providers/llm/workerTools.d.ts.map +1 -1
  103. package/dist/providers/llm/workerTools.js +9 -3
  104. package/dist/providers/llm/workerTools.js.map +1 -1
  105. package/dist/providers/mcp/spsMcpServer.d.ts +4 -0
  106. package/dist/providers/mcp/spsMcpServer.d.ts.map +1 -1
  107. package/dist/providers/mcp/spsMcpServer.js +7 -1
  108. package/dist/providers/mcp/spsMcpServer.js.map +1 -1
  109. package/dist/runtime/backends/process/ExternalProcessBackend.d.ts +4 -0
  110. package/dist/runtime/backends/process/ExternalProcessBackend.d.ts.map +1 -1
  111. package/dist/runtime/backends/process/ExternalProcessBackend.js +49 -5
  112. package/dist/runtime/backends/process/ExternalProcessBackend.js.map +1 -1
  113. package/dist/runtime/service/AgentRuntime.d.ts.map +1 -1
  114. package/dist/runtime/service/AgentRuntime.js +8 -4
  115. package/dist/runtime/service/AgentRuntime.js.map +1 -1
  116. package/dist/runtime/service/FileRecordStore.d.ts +13 -0
  117. package/dist/runtime/service/FileRecordStore.d.ts.map +1 -1
  118. package/dist/runtime/service/FileRecordStore.js +90 -3
  119. package/dist/runtime/service/FileRecordStore.js.map +1 -1
  120. package/dist/services/ChatService.d.ts +1 -1
  121. package/dist/services/ChatService.d.ts.map +1 -1
  122. package/dist/services/ProjectService.d.ts +1 -1
  123. package/dist/services/ProjectService.d.ts.map +1 -1
  124. package/dist/services/WorkerService.d.ts +21 -0
  125. package/dist/services/WorkerService.d.ts.map +1 -1
  126. package/dist/services/WorkerService.js +35 -0
  127. package/dist/services/WorkerService.js.map +1 -1
  128. package/package.json +1 -1
  129. package/dist/commands/codexProxyCommand.d.ts +0 -2
  130. package/dist/commands/codexProxyCommand.d.ts.map +0 -1
  131. package/dist/commands/codexProxyCommand.js +0 -81
  132. package/dist/commands/codexProxyCommand.js.map +0 -1
  133. package/dist/console/routes/codexProxy.d.ts +0 -11
  134. package/dist/console/routes/codexProxy.d.ts.map +0 -1
  135. package/dist/console/routes/codexProxy.js +0 -68
  136. package/dist/console/routes/codexProxy.js.map +0 -1
  137. package/dist/core/agents/sidecar/CodexProxyManager.d.ts +0 -79
  138. package/dist/core/agents/sidecar/CodexProxyManager.d.ts.map +0 -1
  139. package/dist/core/agents/sidecar/CodexProxyManager.js +0 -359
  140. package/dist/core/agents/sidecar/CodexProxyManager.js.map +0 -1
@@ -5,21 +5,32 @@
5
5
  * 空闲 = 距上次"真实活动"(建/派/订阅),不含存活探测;见 sessionDaemon.pollSessions。
6
6
  * @layer core
7
7
  */
8
- import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
8
+ import { mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
9
9
  import { homedir } from 'node:os';
10
10
  import { dirname, resolve } from 'node:path';
11
11
  const FILE = resolve(homedir(), '.coral', 'sessions', 'reclaim.json');
12
12
  export const DEFAULT_RECLAIM_MINUTES = 10;
13
+ /**
14
+ * mtime 缓存:daemon 的 pollSessions **每 2 秒**调一次本函数。裸读文件意味着每 2 秒
15
+ * 一次同步 I/O 卡在事件循环上(而这个值几乎从不变)。改为只 stat(便宜)、mtime 变了才读。
16
+ */
17
+ let cached = null;
13
18
  /** 当前生效的空闲回收分钟数。 */
14
19
  export function getReclaimMinutes() {
15
20
  try {
21
+ const mtimeMs = statSync(FILE).mtimeMs;
22
+ if (cached && cached.mtimeMs === mtimeMs)
23
+ return cached.minutes;
16
24
  const j = JSON.parse(readFileSync(FILE, 'utf-8'));
17
- if (typeof j.idleMinutes === 'number' && j.idleMinutes > 0)
25
+ if (typeof j.idleMinutes === 'number' && j.idleMinutes > 0) {
26
+ cached = { mtimeMs, minutes: j.idleMinutes };
18
27
  return j.idleMinutes;
28
+ }
19
29
  }
20
30
  catch {
21
31
  /* 无文件 → 走 env / 默认 */
22
32
  }
33
+ cached = null;
23
34
  const env = parseInt(process.env.SPS_SESSION_TTL_MINUTES || '', 10);
24
35
  if (Number.isFinite(env) && env > 0)
25
36
  return env;
@@ -29,5 +40,6 @@ export function getReclaimMinutes() {
29
40
  export function setReclaimMinutes(minutes) {
30
41
  mkdirSync(dirname(FILE), { recursive: true });
31
42
  writeFileSync(FILE, JSON.stringify({ idleMinutes: minutes }, null, 2));
43
+ cached = null; // 同进程内立即生效,不等 mtime 比对
32
44
  }
33
45
  //# sourceMappingURL=reclaimConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reclaimConfig.js","sourceRoot":"","sources":["../../src/core/reclaimConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,oBAAoB;AACpB,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA6B,CAAC;QAC9E,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,WAAW,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAChD,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"reclaimConfig.js","sourceRoot":"","sources":["../../src/core/reclaimConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;;;GAGG;AACH,IAAI,MAAM,GAAgD,IAAI,CAAC;AAE/D,oBAAoB;AACpB,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QACvC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA6B,CAAC;QAC9E,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,CAAC,CAAC,WAAW,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IACD,MAAM,GAAG,IAAI,CAAC;IACd,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAChD,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,GAAG,IAAI,CAAC,CAAC,uBAAuB;AACxC,CAAC"}
@@ -9,6 +9,8 @@ export interface SkillsManagerOpts {
9
9
  /** 随包内建 monitor-skills 目录(可选,最低优先级)。 */
10
10
  bundledMonitorSkillsDir?: string;
11
11
  }
12
+ /** 供测试/热重载清空进程级缓存。 */
13
+ export declare function clearSkillsDiscoverCache(): void;
12
14
  export declare class SkillsManager {
13
15
  private readonly cwd;
14
16
  private readonly home;
@@ -18,7 +20,9 @@ export declare class SkillsManager {
18
20
  constructor(opts: SkillsManagerOpts);
19
21
  /** 某命名空间的根目录,**高→低优先级**(项目 > 全局 > 内建)。 */
20
22
  private roots;
21
- /** 多源合并后的全部元数据(同名 project 胜)。结果缓存。 */
23
+ /** 根目录 mtime 指纹:增删 skill 会改变目录 mtime → 缓存立即失效。 */
24
+ private rootsStamp;
25
+ /** 多源合并后的全部元数据(同名 project 胜)。结果缓存(实例级 + 进程级)。 */
22
26
  discover(ns?: SkillNamespace): SkillMeta[];
23
27
  /** gating:把全集收窄成合格集(§4)。 */
24
28
  eligible(metas: SkillMeta[], opts?: GateOpts): SkillMeta[];
@@ -1 +1 @@
1
- {"version":3,"file":"SkillsManager.d.ts","sourceRoot":"","sources":["../../../src/core/skills/SkillsManager.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAOD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAClE,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;gBAEpD,IAAI,EAAE,iBAAiB;IASnC,0CAA0C;IAC1C,OAAO,CAAC,KAAK;IAmBb,sCAAsC;IACtC,QAAQ,CAAC,EAAE,GAAE,cAAyB,GAAG,SAAS,EAAE;IAepD,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,GAAE,QAAa,GAAG,SAAS,EAAE;IAS9D;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,SAAS,EAAE;IAsCjE,6EAA6E;IAC7E,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM;IAevC,+DAA+D;IAC/D,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM;IAMnC,mCAAmC;IACnC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE;IAMnC,8DAA8D;IAC9D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAE,cAAyB,GAAG,MAAM,GAAG,IAAI;IAYhE,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAE,cAAyB,GAAG,gBAAgB;IASvE,2CAA2C;IAC3C,MAAM,IAAI,IAAI;CAGf;AA2BD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAClB,SAAS,GAAG,IAAI,CAqClB;AAKD,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,OAAO,CAE1E"}
1
+ {"version":3,"file":"SkillsManager.d.ts","sourceRoot":"","sources":["../../../src/core/skills/SkillsManager.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAoBD,sBAAsB;AACtB,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAClE,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;gBAEpD,IAAI,EAAE,iBAAiB;IASnC,0CAA0C;IAC1C,OAAO,CAAC,KAAK;IAmBb,kDAAkD;IAClD,OAAO,CAAC,UAAU;IAYlB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,GAAE,cAAyB,GAAG,SAAS,EAAE;IAwBpD,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,GAAE,QAAa,GAAG,SAAS,EAAE;IAS9D;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,SAAS,EAAE;IAsCjE,6EAA6E;IAC7E,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM;IAevC,+DAA+D;IAC/D,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM;IAMnC,mCAAmC;IACnC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE;IAMnC,8DAA8D;IAC9D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAE,cAAyB,GAAG,MAAM,GAAG,IAAI;IAYhE,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAE,cAAyB,GAAG,gBAAgB;IASvE,2CAA2C;IAC3C,MAAM,IAAI,IAAI;CAIf;AA2BD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAClB,SAAS,GAAG,IAAI,CAqClB;AAKD,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,OAAO,CAE1E"}
@@ -15,6 +15,22 @@ import { resolve } from 'node:path';
15
15
  import { parse as parseYaml } from 'yaml';
16
16
  /** 正文截断上限(与 spsMcpServer 一致),防超长 SKILL.md 撑爆上下文。 */
17
17
  const MAX_BODY = 12000;
18
+ /**
19
+ * 进程级发现缓存(审计 D4)。
20
+ *
21
+ * 🔴 此前缓存是**实例级**的,而热路径上的 `resolveEligibleSkillNames` 每条 chat 消息都
22
+ * `new SkillsManager(...)` —— 等于每发一条消息就把所有 skill 根目录全量重扫一遍
23
+ * (每个 skill 目录 readdir + 读 SKILL.md 解 frontmatter)。
24
+ *
25
+ * 失效策略:根目录 mtime 指纹(增删 skill 立刻失效)+ 30s TTL(兜住"就地改 frontmatter"
26
+ * 这种不改变目录 mtime 的编辑)。skill **正文**不走这里(load_skill 每次实时读,保持热更新)。
27
+ */
28
+ const DISCOVER_TTL_MS = 30_000;
29
+ const discoverCache = new Map();
30
+ /** 供测试/热重载清空进程级缓存。 */
31
+ export function clearSkillsDiscoverCache() {
32
+ discoverCache.clear();
33
+ }
18
34
  export class SkillsManager {
19
35
  cwd;
20
36
  home;
@@ -47,13 +63,34 @@ export class SkillsManager {
47
63
  return r;
48
64
  }
49
65
  // ── 发现(元数据,轻)──────────────────────────────────────────
50
- /** 多源合并后的全部元数据(同名 project 胜)。结果缓存。 */
66
+ /** 根目录 mtime 指纹:增删 skill 会改变目录 mtime → 缓存立即失效。 */
67
+ rootsStamp(roots) {
68
+ return roots
69
+ .map((r) => {
70
+ try {
71
+ return `${r.dir}:${statSync(r.dir).mtimeMs}`;
72
+ }
73
+ catch {
74
+ return `${r.dir}:-`;
75
+ }
76
+ })
77
+ .join('|');
78
+ }
79
+ /** 多源合并后的全部元数据(同名 project 胜)。结果缓存(实例级 + 进程级)。 */
51
80
  discover(ns = 'skills') {
52
81
  const cached = this.cache.get(ns);
53
82
  if (cached)
54
83
  return cached;
84
+ const roots = this.roots(ns);
85
+ const key = `${ns}\u0000${this.cwd}\u0000${this.home}`;
86
+ const stamp = this.rootsStamp(roots);
87
+ const hit = discoverCache.get(key);
88
+ if (hit && hit.stamp === stamp && Date.now() - hit.at < DISCOVER_TTL_MS) {
89
+ this.cache.set(ns, hit.list);
90
+ return hit.list;
91
+ }
55
92
  const byName = new Map();
56
- for (const root of this.roots(ns)) {
93
+ for (const root of roots) {
57
94
  // 高→低遍历,**先到先得 = 高优先级胜**(项目盖全局盖内建)。
58
95
  for (const meta of scanRoot(root)) {
59
96
  if (!byName.has(meta.name))
@@ -62,6 +99,7 @@ export class SkillsManager {
62
99
  }
63
100
  const list = [...byName.values()];
64
101
  this.cache.set(ns, list);
102
+ discoverCache.set(key, { stamp, at: Date.now(), list });
65
103
  return list;
66
104
  }
67
105
  /** gating:把全集收窄成合格集(§4)。 */
@@ -179,6 +217,7 @@ export class SkillsManager {
179
217
  /** 清缓存(热重载:目录/文件变更后调一次,下次 discover 重扫)。 */
180
218
  reload() {
181
219
  this.cache.clear();
220
+ discoverCache.clear();
182
221
  }
183
222
  }
184
223
  // ── 内部工具(纯函数)──────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"SkillsManager.js","sourceRoot":"","sources":["../../../src/core/skills/SkillsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SkillsManager.js","sourceRoot":"","sources":["../../../src/core/skills/SkillsManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemonClient.d.ts","sourceRoot":"","sources":["../../src/daemon/daemonClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAiC,MAAM,oBAAoB,CAAC;AAErF,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;CAWhE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAID,qBAAa,YAAY;IACX,OAAO,CAAC,UAAU;gBAAV,UAAU,SAAiB;IAE/C,oCAAoC;IAC9B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAU7B,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAIzB,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC;IAM/B,+DAA+D;IACzD,QAAQ,IAAI,OAAO,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;IAII,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,wEAAwE;IAClE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;;;OAUG;IACH,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,GACrB,aAAa,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAoFtD;;;;;OAKG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,aAAa,SAAI,GAChB,aAAa,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAkDhD,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IASV,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAQhB,uDAAuD;IACvD,OAAO,CAAC,OAAO;CAwDhB;AAED,0CAA0C;AAC1C,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
1
+ {"version":3,"file":"daemonClient.d.ts","sourceRoot":"","sources":["../../src/daemon/daemonClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAiC,MAAM,oBAAoB,CAAC;AAErF,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;CAWhE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAOD,qBAAa,YAAY;IACX,OAAO,CAAC,UAAU;gBAAV,UAAU,SAAiB;IAE/C,oCAAoC;IAC9B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAU7B,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAIzB,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC;IAM/B,+DAA+D;IACzD,QAAQ,IAAI,OAAO,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;IAII,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,wEAAwE;IAClE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;;;OAUG;IACH,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,GACrB,aAAa,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAoFtD;;;;;OAKG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,aAAa,SAAI,GAChB,aAAa,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAgEhD,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IASV,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAQhB,uDAAuD;IACvD,OAAO,CAAC,OAAO;CAwDhB;AAED,0CAA0C;AAC1C,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
@@ -17,6 +17,8 @@ import { existsSync } from 'node:fs';
17
17
  import { createConnection } from 'node:net';
18
18
  import { resolve } from 'node:path';
19
19
  const DEFAULT_SOCKET = process.env.SPS_DAEMON_SOCKET || resolve(process.env.HOME || '/home/coral', '.coral', 'sessions', 'daemon.sock');
20
+ /** 重订阅最大尝试次数(超过则放弃并冒错,不再无限重试)。 */
21
+ const MAX_RESUBSCRIBE_ATTEMPTS = 12;
20
22
  export class DaemonClient {
21
23
  socketPath;
22
24
  constructor(socketPath = DEFAULT_SOCKET) {
@@ -173,6 +175,7 @@ export class DaemonClient {
173
175
  */
174
176
  subscribeRunResilient(slot, afterSequence = 0) {
175
177
  let cancelled = false;
178
+ let attempt = 0;
176
179
  let active = null;
177
180
  const self = this;
178
181
  const iterable = {
@@ -185,6 +188,9 @@ export class DaemonClient {
185
188
  for await (const event of active) {
186
189
  if (cancelled)
187
190
  return;
191
+ // 收到任何事件 = 这次订阅真的建起来了 → 退避计数清零,
192
+ // 否则长会话里累积的历史重连次数会把后面的正常重连误判成"该放弃了"。
193
+ attempt = 0;
188
194
  if (typeof event.sequence === 'number' &&
189
195
  event.sequence <= cursor) {
190
196
  continue;
@@ -208,8 +214,16 @@ export class DaemonClient {
208
214
  }
209
215
  if (cancelled || terminal)
210
216
  return;
217
+ // 指数退避(审计 B12):此前是固定 75ms 无退避、无上限 —— daemon 长期不可达时
218
+ // 变成 13Hz 忙循环空烧 CPU,而 consume 永远不返回。现在 75ms 起、每次翻倍、
219
+ // 封顶 5s;连续失败超过上限则放弃并把错误交给调用方,而不是无限重试。
220
+ attempt += 1;
221
+ if (attempt > MAX_RESUBSCRIBE_ATTEMPTS) {
222
+ throw new Error(`subscribeRun: daemon 连续 ${MAX_RESUBSCRIBE_ATTEMPTS} 次不可达,放弃重连(slot=${slot})`);
223
+ }
224
+ const delayMs = Math.min(5_000, 75 * 2 ** (attempt - 1));
211
225
  await new Promise((resolveDelay) => {
212
- const timer = setTimeout(resolveDelay, 75);
226
+ const timer = setTimeout(resolveDelay, delayMs);
213
227
  timer.unref?.();
214
228
  });
215
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daemonClient.js","sourceRoot":"","sources":["../../src/daemon/daemonClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemonClient.js","sourceRoot":"","sources":["../../src/daemon/daemonClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface OrphanCandidate {
2
+ slot: string;
3
+ pid: number | null;
4
+ }
5
+ export interface ReclaimDeps {
6
+ /** pid 是否存活。 */
7
+ isAlive: (pid: number) => boolean;
8
+ /** 取 pid 的完整命令行(取不到返 null)。 */
9
+ commandOf: (pid: number) => Promise<string | null>;
10
+ /** 杀掉进程组(worker 是 detached 的,连它自己拉起的 shell/MCP 一并收)。 */
11
+ killGroup: (pid: number) => void;
12
+ log: (message: string) => void;
13
+ }
14
+ export interface ReclaimResult {
15
+ killed: Array<{
16
+ slot: string;
17
+ pid: number;
18
+ }>;
19
+ /** 身份证不出来 → 放过,但要告警(可能是 pid 复用,也可能是别的 sps 实例)。 */
20
+ skippedUnverified: Array<{
21
+ slot: string;
22
+ pid: number;
23
+ }>;
24
+ /** pid 已不在,只是陈旧记录。 */
25
+ stale: string[];
26
+ }
27
+ /** 命令行是否像"我们派出去的 worker"。两类:openai 的 node 入口 / claude 的二进制。 */
28
+ export declare function looksLikeSpsWorker(command: string): boolean;
29
+ /**
30
+ * 回收上一代残留的 session 级 worker。**只做判断与执行,不读文件** —— 候选由调用方从
31
+ * 记录里取,便于测试。
32
+ */
33
+ export declare function reclaimOrphanSessions(candidates: OrphanCandidate[], deps: ReclaimDeps): Promise<ReclaimResult>;
34
+ //# sourceMappingURL=orphanReclaim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphanReclaim.d.ts","sourceRoot":"","sources":["../../src/daemon/orphanReclaim.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB;IAChB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,+BAA+B;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnD,wDAAwD;IACxD,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,kDAAkD;IAClD,iBAAiB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,sBAAsB;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,aAAa,CAAC,CA6BxB"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @module daemon/orphanReclaim
3
+ * @description daemon 启动时回收上一代残留的 worker 进程(审计 B8 的另一半)。
4
+ *
5
+ * 为什么需要:worker 是 `detached` 起的(自成进程组,防止 `kill -9 daemon` 只杀本体时
6
+ * 留下无人管的子进程),代价是 **daemon 死了 worker 必定存活**。而它们只在"该 slot 被再次
7
+ * ensureSession"时才会被 `retireUncontrolledWorker` 收掉 —— 没人再碰的会话就一直挂着烧
8
+ * token,且总闸完全看不见它们(计数归零而机器上真的在跑)。
9
+ *
10
+ * 🔴 三条安全边界,少一条都可能杀错进程:
11
+ * 1. **只回收 `session-*`**(chat / harness 会话)。pipeline 的 `worker-*` 由 tick 启动时的
12
+ * `cleanupOrphanWorkerSessions` 负责 —— 两边各管一段,不重叠也不留空。
13
+ * 2. **必须 pid 存活**才考虑;不存活只是陈旧记录,清掉记录即可。
14
+ * 3. **必须身份可证**(命令行比对)才杀 —— pid 会被复用,记录里的 pid 现在可能属于
15
+ * 完全无关的进程。证不出身份就**放过并告警**,宁可漏杀不可误杀。
16
+ *
17
+ * 为什么不能"接管"而只能杀:daemon 与 worker 是 stdio 管道通信,管道随上一代 daemon 一起
18
+ * 消失,新 daemon 无法再控制它 —— 留着只会占资源且永远收不到终态。
19
+ * @layer daemon
20
+ */
21
+ import { basename } from 'node:path';
22
+ /** 命令行是否像"我们派出去的 worker"。两类:openai 的 node 入口 / claude 的二进制。 */
23
+ export function looksLikeSpsWorker(command) {
24
+ if (/spsMcpStdio|openai-agent/.test(command))
25
+ return true;
26
+ // claude worker:claude 二进制 + 我们注入的 sps MCP 配置
27
+ return /claude/.test(command) && /mcpServers|sps/.test(command);
28
+ }
29
+ /**
30
+ * 回收上一代残留的 session 级 worker。**只做判断与执行,不读文件** —— 候选由调用方从
31
+ * 记录里取,便于测试。
32
+ */
33
+ export async function reclaimOrphanSessions(candidates, deps) {
34
+ const result = { killed: [], skippedUnverified: [], stale: [] };
35
+ for (const { slot, pid } of candidates) {
36
+ if (!slot.startsWith('session-'))
37
+ continue; // 边界 1:pipeline 的 worker-* 不归这里管
38
+ if (!pid)
39
+ continue;
40
+ if (pid === process.pid)
41
+ continue; // 永不自杀
42
+ if (!deps.isAlive(pid)) {
43
+ result.stale.push(slot);
44
+ continue;
45
+ }
46
+ // 边界 3:身份必须可证。pid 复用是真实存在的,证不出就放过。
47
+ const command = await deps.commandOf(pid);
48
+ if (!command || !looksLikeSpsWorker(command)) {
49
+ result.skippedUnverified.push({ slot, pid });
50
+ deps.log(`孤儿回收:跳过 ${slot} pid=${pid} —— 身份无法确认(命令行:${command ? basename(command.split(/\s+/)[0] ?? '') : '取不到'}),宁可漏杀不误杀`);
51
+ continue;
52
+ }
53
+ deps.log(`孤儿回收:${slot} pid=${pid} 是上一代残留且无法再控制,杀掉进程组`);
54
+ try {
55
+ deps.killGroup(pid);
56
+ result.killed.push({ slot, pid });
57
+ }
58
+ catch (err) {
59
+ deps.log(`孤儿回收失败 ${slot} pid=${pid}: ${err instanceof Error ? err.message : String(err)}`);
60
+ }
61
+ }
62
+ return result;
63
+ }
64
+ //# sourceMappingURL=orphanReclaim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphanReclaim.js","sourceRoot":"","sources":["../../src/daemon/orphanReclaim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAyBrC,+DAA+D;AAC/D,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,8CAA8C;IAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAA6B,EAC7B,IAAiB;IAEjB,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAE/E,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,iCAAiC;QAC7E,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG;YAAE,SAAS,CAAC,OAAO;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,mCAAmC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CACN,WAAW,IAAI,QAAQ,GAAG,kBAAkB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CACjH,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,GAAG,qBAAqB,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -28,6 +28,8 @@ export declare class RunGovernor {
28
28
  private readonly cfg;
29
29
  /** slot → origin(该 slot 当前 running 的 run 归属平台)。 */
30
30
  private readonly running;
31
+ /** 排空中:不再接纳新请求,排队者已被清退。 */
32
+ private draining;
31
33
  private readonly queue;
32
34
  constructor(cfg: RunGovernorConfig);
33
35
  /**
@@ -35,6 +37,15 @@ export declare class RunGovernor {
35
37
  * 队满/超时 → reject CapacityError。同一 slot 重复申请视为已入(runtime 层会拒绝并发 run)。
36
38
  */
37
39
  acquire(slot: string, origin: string): Promise<void>;
40
+ /**
41
+ * 排空:清退全部排队者并拒绝后续 acquire。
42
+ *
43
+ * 🔴 队列**刻意不持久化**:排队者本质是"一个正等着的连接",daemon 一死那个连接也死了,
44
+ * 库里躺一条"某某在排队"毫无意义 —— 重启后调度器会去派活给一个已经不存在的客户端。
45
+ * 正确做法是关闭时让每个等待者立刻拿到明确的 CAPACITY 错误,而不是连接莫名其妙断掉。
46
+ * 返回被清退的数量(审计用)。
47
+ */
48
+ drain(reason?: string): number;
38
49
  /** run 结算(complete/error/cancel/丢失)后释放槽位并按序派发排队项。幂等。 */
39
50
  release(slot: string): void;
40
51
  /** 当前被计数为 running 的 slot 集(供 poll 对账:runtime 已不 running 的 slot 应 release)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"runGovernor.d.ts","sourceRoot":"","sources":["../../src/daemon/runGovernor.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,qBAAa,aAAc,SAAQ,KAAK;IAIpC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM;IANtB,QAAQ,CAAC,IAAI,cAAc;gBAEzB,OAAO,EAAE,MAAM,EACN,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM;CAKvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAUD,qBAAa,WAAW;IAKV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAET,GAAG,EAAE,iBAAiB;IAEnD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpD,wDAAwD;IACxD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,8EAA8E;IAC9E,YAAY,IAAI,MAAM,EAAE;IAIxB,KAAK,IAAI,gBAAgB;IAczB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,aAAa;CAYtB;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,UAAU,GAAE,MAAmB,GAAG,MAAM,CAGtE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,iBAAiB,CAgB9G"}
1
+ {"version":3,"file":"runGovernor.d.ts","sourceRoot":"","sources":["../../src/daemon/runGovernor.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,qBAAa,aAAc,SAAQ,KAAK;IAIpC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM;IANtB,QAAQ,CAAC,IAAI,cAAc;gBAEzB,OAAO,EAAE,MAAM,EACN,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM;CAKvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAUD,qBAAa,WAAW;IAOV,OAAO,CAAC,QAAQ,CAAC,GAAG;IANhC,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAET,GAAG,EAAE,iBAAiB;IAEnD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpD;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,SAA4B,GAAG,MAAM;IAWjD,wDAAwD;IACxD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,8EAA8E;IAC9E,YAAY,IAAI,MAAM,EAAE;IAIxB,KAAK,IAAI,gBAAgB;IAczB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,aAAa;CAYtB;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,UAAU,GAAE,MAAmB,GAAG,MAAM,CAGtE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,iBAAiB,CAgB9G"}
@@ -35,6 +35,8 @@ export class RunGovernor {
35
35
  cfg;
36
36
  /** slot → origin(该 slot 当前 running 的 run 归属平台)。 */
37
37
  running = new Map();
38
+ /** 排空中:不再接纳新请求,排队者已被清退。 */
39
+ draining = false;
38
40
  queue = [];
39
41
  constructor(cfg) {
40
42
  this.cfg = cfg;
@@ -44,6 +46,9 @@ export class RunGovernor {
44
46
  * 队满/超时 → reject CapacityError。同一 slot 重复申请视为已入(runtime 层会拒绝并发 run)。
45
47
  */
46
48
  acquire(slot, origin) {
49
+ if (this.draining) {
50
+ return Promise.reject(this.capacityError('daemon is shutting down'));
51
+ }
47
52
  if (this.running.has(slot)) {
48
53
  this.running.set(slot, origin);
49
54
  return Promise.resolve();
@@ -52,6 +57,11 @@ export class RunGovernor {
52
57
  this.running.set(slot, origin);
53
58
  return Promise.resolve();
54
59
  }
60
+ // quota=0 是"禁止该来源派活"的合法配置。排队没有意义 —— 它永远等不到名额,
61
+ // 只会白白占着队列直到超时。直接明确拒绝(审计 C3)。
62
+ if (this.cfg.originQuotas[origin] === 0) {
63
+ return Promise.reject(this.capacityError(`origin "${origin}" quota is 0`));
64
+ }
55
65
  if (this.queue.length >= this.cfg.maxQueue) {
56
66
  return Promise.reject(this.capacityError('queue full'));
57
67
  }
@@ -71,6 +81,24 @@ export class RunGovernor {
71
81
  this.queue.push(waiter);
72
82
  });
73
83
  }
84
+ /**
85
+ * 排空:清退全部排队者并拒绝后续 acquire。
86
+ *
87
+ * 🔴 队列**刻意不持久化**:排队者本质是"一个正等着的连接",daemon 一死那个连接也死了,
88
+ * 库里躺一条"某某在排队"毫无意义 —— 重启后调度器会去派活给一个已经不存在的客户端。
89
+ * 正确做法是关闭时让每个等待者立刻拿到明确的 CAPACITY 错误,而不是连接莫名其妙断掉。
90
+ * 返回被清退的数量(审计用)。
91
+ */
92
+ drain(reason = 'daemon is shutting down') {
93
+ this.draining = true;
94
+ const n = this.queue.length;
95
+ for (const w of this.queue) {
96
+ clearTimeout(w.timer);
97
+ w.reject(this.capacityError(reason));
98
+ }
99
+ this.queue.length = 0;
100
+ return n;
101
+ }
74
102
  /** run 结算(complete/error/cancel/丢失)后释放槽位并按序派发排队项。幂等。 */
75
103
  release(slot) {
76
104
  if (!this.running.delete(slot))
@@ -1 +1 @@
1
- {"version":3,"file":"runGovernor.js","sourceRoot":"","sources":["../../src/daemon/runGovernor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runGovernor.js","sourceRoot":"","sources":["../../src/daemon/runGovernor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAanC,qFAAqF;AACrF,MAAM,OAAO,aAAc,SAAQ,KAAK;IAI3B;IACA;IACA;IACA;IANF,IAAI,GAAG,UAAU,CAAC;IAC3B,YACE,OAAe,EACN,WAAmB,EACnB,UAAkB,EAClB,OAAe,EACf,GAAW;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,QAAG,GAAH,GAAG,CAAQ;QAGpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAkBD,MAAM,OAAO,WAAW;IAOO;IAN7B,mDAAmD;IAClC,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,2BAA2B;IACnB,QAAQ,GAAG,KAAK,CAAC;IACR,KAAK,GAAa,EAAE,CAAC;IAEtC,YAA6B,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAEvD;;;OAGG;IACH,OAAO,CAAC,IAAY,EAAE,MAAc;QAClC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,8CAA8C;QAC9C,8BAA8B;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,MAAM,cAAc,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAW;gBACrB,IAAI;gBACJ,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE;oBACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACrC,IAAI,CAAC,IAAI,CAAC;wBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;aACzB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,GAAG,yBAAyB;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,wDAAwD;IACxD,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACH,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC1B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC7B,QAAQ;YACR,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;SACrC,CAAC;IACJ,CAAC;IAEO,QAAQ;QACd,4CAA4C;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAI,CAAC;YAC1F,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,MAAc;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,KAAK,MAAM;oBAAE,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,mEAAmE;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,aAAa,CACtB,uBAAuB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,aAAa,KAAK,aAAa,MAAM,EAAE,EAC7G,WAAW,EACX,KAAK,EACL,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAC3B,CAAC;IACJ,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,aAAqB,QAAQ,EAAE;IAC5D,MAAM,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA0C,OAAO,CAAC,GAAG;IACzF,MAAM,KAAK,GAAG,CAAC,GAAuB,EAAE,IAAY,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE;QACxF,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACjE,IAAI,CAAC;YAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,8BAA8B,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;QACtF,YAAY;QACZ,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC;QACzD,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI;KACnE,CAAC;AACJ,CAAC"}
@@ -27,6 +27,9 @@ export interface DaemonResponse {
27
27
  code?: string;
28
28
  /** CAPACITY 拒绝时:建议重试等待秒数(可映射 Retry-After)。 */
29
29
  retryAfterS?: number;
30
+ /** CAPACITY 拒绝时:当前在跑数与上限(排障用)。 */
31
+ running?: number;
32
+ max?: number;
30
33
  /** CAPACITY 拒绝时:当前排队深度。 */
31
34
  queueDepth?: number;
32
35
  }
@@ -143,6 +146,11 @@ export declare class SessionDaemon {
143
146
  * structured events as NDJSON. Socket stays open until 'complete' fires or
144
147
  * client disconnects.
145
148
  */
149
+ /**
150
+ * 启动时回收上一代残留的 session worker。worker 是 detached 的 → daemon 死了它们必定
151
+ * 存活,而 stdio 管道随上一代 daemon 消失,新 daemon 无法再控制它们。详见 orphanReclaim。
152
+ */
153
+ private reclaimOrphans;
146
154
  private handleSubscribeRun;
147
155
  private dispatch;
148
156
  /** run 结算(complete)→ 释放总闸槽位。幂等;订阅在结算后自拆。 */
@@ -1 +1 @@
1
- {"version":3,"file":"sessionDaemon.d.ts","sourceRoot":"","sources":["../../src/daemon/sessionDaemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionDaemon.d.ts","sourceRoot":"","sources":["../../src/daemon/sessionDaemon.ts"],"names":[],"mappings":"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"}