@coralai/sps-cli 0.66.7 → 0.67.0

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 (282) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/assembly/art.yml +6 -0
  3. package/assembly/base.yml +72 -0
  4. package/assembly/cli.yml +4 -0
  5. package/assembly/console.yml +4 -0
  6. package/assembly/daemon.yml +4 -0
  7. package/dist/commands/agentCommand.d.ts +22 -1
  8. package/dist/commands/agentCommand.d.ts.map +1 -1
  9. package/dist/commands/agentCommand.js +14 -15
  10. package/dist/commands/agentCommand.js.map +1 -1
  11. package/dist/commands/cardAdd.d.ts +14 -1
  12. package/dist/commands/cardAdd.d.ts.map +1 -1
  13. package/dist/commands/cardAdd.js +32 -14
  14. package/dist/commands/cardAdd.js.map +1 -1
  15. package/dist/commands/cardInsert.d.ts +19 -1
  16. package/dist/commands/cardInsert.d.ts.map +1 -1
  17. package/dist/commands/cardInsert.js +5 -18
  18. package/dist/commands/cardInsert.js.map +1 -1
  19. package/dist/commands/consoleCommand.d.ts +20 -1
  20. package/dist/commands/consoleCommand.d.ts.map +1 -1
  21. package/dist/commands/consoleCommand.js +5 -2
  22. package/dist/commands/consoleCommand.js.map +1 -1
  23. package/dist/commands/imCommand.d.ts +9 -1
  24. package/dist/commands/imCommand.d.ts.map +1 -1
  25. package/dist/commands/imCommand.js +2 -9
  26. package/dist/commands/imCommand.js.map +1 -1
  27. package/dist/commands/memoryCommand.d.ts +11 -1
  28. package/dist/commands/memoryCommand.d.ts.map +1 -1
  29. package/dist/commands/memoryCommand.js +12 -18
  30. package/dist/commands/memoryCommand.js.map +1 -1
  31. package/dist/commands/monitorTick.d.ts +24 -1
  32. package/dist/commands/monitorTick.d.ts.map +1 -1
  33. package/dist/commands/monitorTick.js +8 -4
  34. package/dist/commands/monitorTick.js.map +1 -1
  35. package/dist/commands/openaiAgent.d.ts +2 -1
  36. package/dist/commands/openaiAgent.d.ts.map +1 -1
  37. package/dist/commands/openaiAgent.js +7 -3
  38. package/dist/commands/openaiAgent.js.map +1 -1
  39. package/dist/commands/pipelineTick.d.ts +4 -1
  40. package/dist/commands/pipelineTick.d.ts.map +1 -1
  41. package/dist/commands/pipelineTick.js +11 -7
  42. package/dist/commands/pipelineTick.js.map +1 -1
  43. package/dist/commands/pluginCommand.d.ts +2 -0
  44. package/dist/commands/pluginCommand.d.ts.map +1 -0
  45. package/dist/commands/pluginCommand.js +160 -0
  46. package/dist/commands/pluginCommand.js.map +1 -0
  47. package/dist/commands/qaTick.d.ts +4 -1
  48. package/dist/commands/qaTick.d.ts.map +1 -1
  49. package/dist/commands/qaTick.js +11 -7
  50. package/dist/commands/qaTick.js.map +1 -1
  51. package/dist/commands/schedulerTick.d.ts +24 -1
  52. package/dist/commands/schedulerTick.d.ts.map +1 -1
  53. package/dist/commands/schedulerTick.js +5 -23
  54. package/dist/commands/schedulerTick.js.map +1 -1
  55. package/dist/commands/tick.d.ts +25 -2
  56. package/dist/commands/tick.d.ts.map +1 -1
  57. package/dist/commands/tick.js +39 -16
  58. package/dist/commands/tick.js.map +1 -1
  59. package/dist/commands/workerLaunch.d.ts +4 -1
  60. package/dist/commands/workerLaunch.d.ts.map +1 -1
  61. package/dist/commands/workerLaunch.js +11 -7
  62. package/dist/commands/workerLaunch.js.map +1 -1
  63. package/dist/console/index.d.ts +21 -0
  64. package/dist/console/index.d.ts.map +1 -1
  65. package/dist/console/index.js +8 -4
  66. package/dist/console/index.js.map +1 -1
  67. package/dist/console/routes/capabilities.d.ts +3 -0
  68. package/dist/console/routes/capabilities.d.ts.map +1 -1
  69. package/dist/console/routes/capabilities.js +2 -21
  70. package/dist/console/routes/capabilities.js.map +1 -1
  71. package/dist/console/routes/cards.d.ts +19 -0
  72. package/dist/console/routes/cards.d.ts.map +1 -1
  73. package/dist/console/routes/cards.js +1 -1
  74. package/dist/console/routes/cards.js.map +1 -1
  75. package/dist/console/routes/mcpTools.d.ts +2 -1
  76. package/dist/console/routes/mcpTools.d.ts.map +1 -1
  77. package/dist/console/routes/mcpTools.js +3 -8
  78. package/dist/console/routes/mcpTools.js.map +1 -1
  79. package/dist/console/routes/plugins.d.ts +20 -0
  80. package/dist/console/routes/plugins.d.ts.map +1 -0
  81. package/dist/console/routes/plugins.js +185 -0
  82. package/dist/console/routes/plugins.js.map +1 -0
  83. package/dist/console/routes/tts.d.ts +2 -1
  84. package/dist/console/routes/tts.d.ts.map +1 -1
  85. package/dist/console/routes/tts.js +2 -3
  86. package/dist/console/routes/tts.js.map +1 -1
  87. package/dist/console-assets/assets/{ShowcasePage-CkqOu-1n.js → ShowcasePage-3ekOTV_g.js} +1 -1
  88. package/dist/console-assets/assets/{index-DCKXZKta.css → index-Dd7MTFgX.css} +1 -1
  89. package/dist/console-assets/assets/{index-BugtIQfO.js → index-o3svZ9mC.js} +224 -214
  90. package/dist/console-assets/index.html +2 -2
  91. package/dist/core/agents/resolveBackend.d.ts +0 -5
  92. package/dist/core/agents/resolveBackend.d.ts.map +1 -1
  93. package/dist/core/agents/resolveBackend.js +6 -52
  94. package/dist/core/agents/resolveBackend.js.map +1 -1
  95. package/dist/core/art/artRunService.d.ts +13 -1
  96. package/dist/core/art/artRunService.d.ts.map +1 -1
  97. package/dist/core/art/artRunService.js +1 -0
  98. package/dist/core/art/artRunService.js.map +1 -1
  99. package/dist/core/mcpToolCatalog.d.ts +14 -1
  100. package/dist/core/mcpToolCatalog.d.ts.map +1 -1
  101. package/dist/core/mcpToolCatalog.js +7 -11
  102. package/dist/core/mcpToolCatalog.js.map +1 -1
  103. package/dist/core/tools/ToolCardExecutor.d.ts +12 -2
  104. package/dist/core/tools/ToolCardExecutor.d.ts.map +1 -1
  105. package/dist/core/tools/ToolCardExecutor.js.map +1 -1
  106. package/dist/daemon/daemonClient.d.ts +8 -2
  107. package/dist/daemon/daemonClient.d.ts.map +1 -1
  108. package/dist/daemon/daemonClient.js +9 -0
  109. package/dist/daemon/daemonClient.js.map +1 -1
  110. package/dist/daemon/sessionDaemon.d.ts +7 -2
  111. package/dist/daemon/sessionDaemon.d.ts.map +1 -1
  112. package/dist/daemon/sessionDaemon.js +49 -10
  113. package/dist/daemon/sessionDaemon.js.map +1 -1
  114. package/dist/engines/StageEngine.d.ts +6 -1
  115. package/dist/engines/StageEngine.d.ts.map +1 -1
  116. package/dist/engines/StageEngine.js +10 -7
  117. package/dist/engines/StageEngine.js.map +1 -1
  118. package/dist/im/IMGatewayManager.d.ts +12 -0
  119. package/dist/im/IMGatewayManager.d.ts.map +1 -1
  120. package/dist/im/IMGatewayManager.js +10 -18
  121. package/dist/im/IMGatewayManager.js.map +1 -1
  122. package/dist/main.js +69 -23
  123. package/dist/main.js.map +1 -1
  124. package/dist/manager/makeBackendFactory.d.ts +12 -0
  125. package/dist/manager/makeBackendFactory.d.ts.map +1 -1
  126. package/dist/manager/makeBackendFactory.js +3 -2
  127. package/dist/manager/makeBackendFactory.js.map +1 -1
  128. package/dist/manager/worker-manager-impl.d.ts +19 -0
  129. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  130. package/dist/manager/worker-manager-impl.js +15 -15
  131. package/dist/manager/worker-manager-impl.js.map +1 -1
  132. package/dist/openai-agent/memory/v2Bridge.d.ts +28 -2
  133. package/dist/openai-agent/memory/v2Bridge.d.ts.map +1 -1
  134. package/dist/openai-agent/memory/v2Bridge.js +4 -20
  135. package/dist/openai-agent/memory/v2Bridge.js.map +1 -1
  136. package/dist/openai-agent/runWorker.d.ts +8 -6
  137. package/dist/openai-agent/runWorker.d.ts.map +1 -1
  138. package/dist/openai-agent/runWorker.js +5 -4
  139. package/dist/openai-agent/runWorker.js.map +1 -1
  140. package/dist/openai-agent/sandbox/execution.d.ts +10 -2
  141. package/dist/openai-agent/sandbox/execution.d.ts.map +1 -1
  142. package/dist/openai-agent/sandbox/execution.js +9 -6
  143. package/dist/openai-agent/sandbox/execution.js.map +1 -1
  144. package/dist/plugin/assembly.d.ts +37 -0
  145. package/dist/plugin/assembly.d.ts.map +1 -0
  146. package/dist/plugin/assembly.js +95 -0
  147. package/dist/plugin/assembly.js.map +1 -0
  148. package/dist/plugin/context.d.ts +101 -0
  149. package/dist/plugin/context.d.ts.map +1 -0
  150. package/dist/plugin/context.js +187 -0
  151. package/dist/plugin/context.js.map +1 -0
  152. package/dist/plugin/hot.d.ts +34 -0
  153. package/dist/plugin/hot.d.ts.map +1 -0
  154. package/dist/plugin/hot.js +62 -0
  155. package/dist/plugin/hot.js.map +1 -0
  156. package/dist/plugin/layers.d.ts +40 -0
  157. package/dist/plugin/layers.d.ts.map +1 -0
  158. package/dist/plugin/layers.js +101 -0
  159. package/dist/plugin/layers.js.map +1 -0
  160. package/dist/plugin/manager.d.ts +80 -0
  161. package/dist/plugin/manager.d.ts.map +1 -0
  162. package/dist/plugin/manager.js +202 -0
  163. package/dist/plugin/manager.js.map +1 -0
  164. package/dist/plugin/run.d.ts +53 -0
  165. package/dist/plugin/run.d.ts.map +1 -0
  166. package/dist/plugin/run.js +72 -0
  167. package/dist/plugin/run.js.map +1 -0
  168. package/dist/providers/MarkdownTaskBackend.d.ts +7 -0
  169. package/dist/providers/MarkdownTaskBackend.d.ts.map +1 -1
  170. package/dist/providers/MarkdownTaskBackend.js +17 -0
  171. package/dist/providers/MarkdownTaskBackend.js.map +1 -1
  172. package/dist/providers/art/artGen.d.ts +18 -3
  173. package/dist/providers/art/artGen.d.ts.map +1 -1
  174. package/dist/providers/art/artGen.js +15 -15
  175. package/dist/providers/art/artGen.js.map +1 -1
  176. package/dist/providers/art/artRunChild.d.ts +2 -1
  177. package/dist/providers/art/artRunChild.d.ts.map +1 -1
  178. package/dist/providers/art/artRunChild.js +15 -8
  179. package/dist/providers/art/artRunChild.js.map +1 -1
  180. package/dist/providers/llm/chatTools.d.ts +10 -1
  181. package/dist/providers/llm/chatTools.d.ts.map +1 -1
  182. package/dist/providers/llm/chatTools.js +4 -4
  183. package/dist/providers/llm/chatTools.js.map +1 -1
  184. package/dist/providers/mcp/spsMcpServer.d.ts +3 -0
  185. package/dist/providers/mcp/spsMcpServer.d.ts.map +1 -1
  186. package/dist/providers/mcp/spsMcpServer.js +34 -32
  187. package/dist/providers/mcp/spsMcpServer.js.map +1 -1
  188. package/dist/providers/mcp/spsMcpStdio.js +12 -1
  189. package/dist/providers/mcp/spsMcpStdio.js.map +1 -1
  190. package/dist/providers/media/generateAsset.d.ts +11 -0
  191. package/dist/providers/media/generateAsset.d.ts.map +1 -1
  192. package/dist/providers/media/generateAsset.js +2 -3
  193. package/dist/providers/media/generateAsset.js.map +1 -1
  194. package/dist/providers/registry.d.ts +0 -4
  195. package/dist/providers/registry.d.ts.map +1 -1
  196. package/dist/providers/registry.js +1 -14
  197. package/dist/providers/registry.js.map +1 -1
  198. package/dist/seams/agents/index.d.ts +49 -0
  199. package/dist/seams/agents/index.d.ts.map +1 -0
  200. package/dist/seams/agents/index.js +54 -0
  201. package/dist/seams/agents/index.js.map +1 -0
  202. package/dist/seams/agents-builtin/index.d.ts +19 -0
  203. package/dist/seams/agents-builtin/index.d.ts.map +1 -0
  204. package/dist/seams/agents-builtin/index.js +69 -0
  205. package/dist/seams/agents-builtin/index.js.map +1 -0
  206. package/dist/seams/capabilities/index.d.ts +39 -0
  207. package/dist/seams/capabilities/index.d.ts.map +1 -0
  208. package/dist/seams/capabilities/index.js +47 -0
  209. package/dist/seams/capabilities/index.js.map +1 -0
  210. package/dist/seams/capabilities-art/index.d.ts +14 -0
  211. package/dist/seams/capabilities-art/index.d.ts.map +1 -0
  212. package/dist/seams/capabilities-art/index.js +9 -0
  213. package/dist/seams/capabilities-art/index.js.map +1 -0
  214. package/dist/seams/im/index.d.ts +28 -0
  215. package/dist/seams/im/index.d.ts.map +1 -0
  216. package/dist/seams/im/index.js +36 -0
  217. package/dist/seams/im/index.js.map +1 -0
  218. package/dist/seams/im-builtin/index.d.ts +13 -0
  219. package/dist/seams/im-builtin/index.d.ts.map +1 -0
  220. package/dist/seams/im-builtin/index.js +25 -0
  221. package/dist/seams/im-builtin/index.js.map +1 -0
  222. package/dist/seams/media/index.d.ts +30 -0
  223. package/dist/seams/media/index.d.ts.map +1 -0
  224. package/dist/seams/media/index.js +38 -0
  225. package/dist/seams/media/index.js.map +1 -0
  226. package/dist/seams/media-builtin/index.d.ts +13 -0
  227. package/dist/seams/media-builtin/index.d.ts.map +1 -0
  228. package/dist/seams/media-builtin/index.js +10 -0
  229. package/dist/seams/media-builtin/index.js.map +1 -0
  230. package/dist/seams/memory/index.d.ts +58 -0
  231. package/dist/seams/memory/index.d.ts.map +1 -0
  232. package/dist/seams/memory/index.js +28 -0
  233. package/dist/seams/memory/index.js.map +1 -0
  234. package/dist/seams/memory-local/index.d.ts +31 -0
  235. package/dist/seams/memory-local/index.d.ts.map +1 -0
  236. package/dist/seams/memory-local/index.js +55 -0
  237. package/dist/seams/memory-local/index.js.map +1 -0
  238. package/dist/seams/notifier/index.d.ts +37 -0
  239. package/dist/seams/notifier/index.d.ts.map +1 -0
  240. package/dist/seams/notifier/index.js +30 -0
  241. package/dist/seams/notifier/index.js.map +1 -0
  242. package/dist/seams/notifier-matrix/index.d.ts +17 -0
  243. package/dist/seams/notifier-matrix/index.d.ts.map +1 -0
  244. package/dist/seams/notifier-matrix/index.js +8 -0
  245. package/dist/seams/notifier-matrix/index.js.map +1 -0
  246. package/dist/seams/notifier-none/index.d.ts +18 -0
  247. package/dist/seams/notifier-none/index.d.ts.map +1 -0
  248. package/dist/seams/notifier-none/index.js +14 -0
  249. package/dist/seams/notifier-none/index.js.map +1 -0
  250. package/dist/seams/repo/index.d.ts +38 -0
  251. package/dist/seams/repo/index.d.ts.map +1 -0
  252. package/dist/seams/repo/index.js +43 -0
  253. package/dist/seams/repo/index.js.map +1 -0
  254. package/dist/seams/repo-builtin/index.d.ts +14 -0
  255. package/dist/seams/repo-builtin/index.d.ts.map +1 -0
  256. package/dist/seams/repo-builtin/index.js +14 -0
  257. package/dist/seams/repo-builtin/index.js.map +1 -0
  258. package/dist/seams/tools/index.d.ts +83 -0
  259. package/dist/seams/tools/index.d.ts.map +1 -0
  260. package/dist/seams/tools/index.js +67 -0
  261. package/dist/seams/tools/index.js.map +1 -0
  262. package/dist/services/CardService.d.ts +8 -0
  263. package/dist/services/CardService.d.ts.map +1 -1
  264. package/dist/services/CardService.js +16 -3
  265. package/dist/services/CardService.js.map +1 -1
  266. package/dist/services/MemoryService.d.ts +12 -0
  267. package/dist/services/MemoryService.d.ts.map +1 -1
  268. package/dist/services/MemoryService.js +14 -18
  269. package/dist/services/MemoryService.js.map +1 -1
  270. package/dist/services/container.d.ts +20 -1
  271. package/dist/services/container.d.ts.map +1 -1
  272. package/dist/services/container.js +10 -3
  273. package/dist/services/container.js.map +1 -1
  274. package/dist/services/executors.d.ts +4 -0
  275. package/dist/services/executors.d.ts.map +1 -1
  276. package/dist/services/executors.js +27 -5
  277. package/dist/services/executors.js.map +1 -1
  278. package/dist/services/promptPreview.d.ts +14 -1
  279. package/dist/services/promptPreview.d.ts.map +1 -1
  280. package/dist/services/promptPreview.js +4 -3
  281. package/dist/services/promptPreview.js.map +1 -1
  282. package/package.json +16 -3
package/dist/main.js CHANGED
@@ -47,8 +47,8 @@ import { createRequire } from 'node:module';
47
47
  import { resolve } from 'node:path';
48
48
  import { executeAgentCommand } from './commands/agentCommand.js';
49
49
  import { executeCardAdd } from './commands/cardAdd.js';
50
- import { executeCardInsert } from './commands/cardInsert.js';
51
50
  import { executeCardDashboard } from './commands/cardDashboard.js';
51
+ import { executeCardInsert } from './commands/cardInsert.js';
52
52
  import { executeCardMarkComplete } from './commands/cardMarkComplete.js';
53
53
  import { executeCardMarkStarted } from './commands/cardMarkStarted.js';
54
54
  import { executeDoctor } from './commands/doctor.js';
@@ -58,17 +58,19 @@ import { executeMonitorTick } from './commands/monitorTick.js';
58
58
  import { executePipelineTick } from './commands/pipelineTick.js';
59
59
  import { executePmCommand } from './commands/pmCommand.js';
60
60
  import { executeProjectInit } from './commands/projectInit.js';
61
+ import { executePrune } from './commands/prune.js';
61
62
  import { executeQaTick } from './commands/qaTick.js';
62
63
  import { executeReset } from './commands/reset.js';
63
64
  import { executeSchedulerTick } from './commands/schedulerTick.js';
64
65
  import { executeSetup } from './commands/setup.js';
65
- import { executePrune } from './commands/prune.js';
66
66
  import { executeStatus } from './commands/status.js';
67
67
  import { executeStop } from './commands/stop.js';
68
68
  import { executeTick } from './commands/tick.js';
69
69
  import { executeWorkerDashboard } from './commands/workerDashboard.js';
70
70
  import { executeWorkerLaunch } from './commands/workerLaunch.js';
71
71
  import { executeWorkerKill, executeWorkerPs } from './commands/workerPs.js';
72
+ import { mountAssembly, userRowIds } from './plugin/assembly.js';
73
+ import { withContext } from './plugin/run.js';
72
74
  const _require = createRequire(import.meta.url);
73
75
  const VERSION = _require('../package.json').version;
74
76
  const COMMANDS = {
@@ -80,6 +82,8 @@ const COMMANDS = {
80
82
  // 有意**不列** `openai-agent`:它是被 spawn 的**子进程入口**,不是给人敲的命令。
81
83
  init: { desc: 'Create/register a project (workspace, conf, hooks)', usage: 'sps init <project> [flags]',
82
84
  examples: ['sps init my-project'] },
85
+ plugin: { desc: 'Manage which plugins each assembly mounts', usage: 'sps plugin <add|remove|list> [pkg] [--assembly base|cli|console|daemon]',
86
+ examples: ['sps plugin list', 'sps plugin add my-sps-plugin --assembly cli', 'sps plugin remove my-sps-plugin'] },
83
87
  im: { desc: 'IM gateway (bind channels, run bridge)', usage: 'sps im',
84
88
  examples: ['sps im'] },
85
89
  prune: { desc: 'Reclaim orphan project metadata whose workspace is gone (dry-run unless --force)', usage: 'sps prune [--force]',
@@ -87,12 +91,12 @@ const COMMANDS = {
87
91
  tick: { desc: 'Run the continuous pipeline', usage: 'sps tick <project> [--json]',
88
92
  examples: ['sps tick my-project', 'sps tick proj1 proj2'] },
89
93
  card: { desc: 'Manage cards (create, board, mark started/complete)', usage: 'sps card <subcommand> <project> [args]', subs: {
90
- add: 'Create a new task card (--checklist "点1;点2" 写验收清单)',
94
+ add: 'Create a new card (--checklist 写验收清单;--tool <能力id> --input <JSON> 建工具卡)',
91
95
  insert: 'Insert a priority card that jumps the queue (fix cards / mid-run follow-ups)',
92
96
  dashboard: 'Show the card board',
93
97
  'mark-started': 'Mark a card as started (used by Claude UserPromptSubmit hook)',
94
98
  'mark-complete': 'Mark a card as complete (used by Claude Stop hook)',
95
- }, examples: ['sps card add my-project "New task" --checklist "登录能用;错误有提示"', 'sps card add my-project "并行任务" --order 2 # 执行波次:同 order=同波并行,省略=按 seq 串行', 'sps card insert my-project "修复登录报错"'] },
99
+ }, examples: ['sps card add my-project "New task" --checklist "登录能用;错误有提示"', 'sps card add my-project "并行任务" --order 2 # 执行波次:同 order=同波并行,省略=按 seq 串行', 'sps card add my-project "缩图" --tool art.resize --input \'{"in":"assets/a.png","maxWidth":64,"maxHeight":64}\' # 工具卡', 'sps card insert my-project "修复登录报错"'] },
96
100
  doctor: { desc: 'Project health check and state repair', usage: 'sps doctor <project> [--json] [--fix] [--reset-state] [--skip-remote]',
97
101
  examples: ['sps doctor my-project', 'sps doctor my-project --json', 'sps doctor my-project --reset-state'] },
98
102
  scheduler: { desc: 'Scheduler: promote Planning → Backlog', usage: 'sps scheduler <subcommand> <project>', subs: {
@@ -245,7 +249,7 @@ function printCommandHelp(cmd) {
245
249
  }
246
250
  }
247
251
  // Commands that always have subcommands
248
- const SUBCOMMAND_COMMANDS = new Set(['scheduler', 'pipeline', 'worker', 'pm', 'qa', 'monitor', 'project', 'card', 'skill', 'memory', 'hook', 'graph', 'model', 'art']);
252
+ const SUBCOMMAND_COMMANDS = new Set(['scheduler', 'pipeline', 'worker', 'pm', 'qa', 'monitor', 'project', 'card', 'skill', 'memory', 'hook', 'graph', 'model', 'art', 'plugin',]);
249
253
  function parseArgs(argv) {
250
254
  const flags = {};
251
255
  const positionals = [];
@@ -326,7 +330,7 @@ function requireProject(args, usage) {
326
330
  }
327
331
  return project;
328
332
  }
329
- async function main() {
333
+ async function main(app) {
330
334
  const args = parseArgs(process.argv.slice(2));
331
335
  if (args.flags.version) {
332
336
  console.log(VERSION);
@@ -348,7 +352,7 @@ async function main() {
348
352
  // Internal external-process backend. Keep it out of COMMANDS and stdout help.
349
353
  if (args.command === 'openai-agent') {
350
354
  const { executeOpenAIAgentWorker } = await import('./commands/openaiAgent.js');
351
- await executeOpenAIAgentWorker();
355
+ await executeOpenAIAgentWorker(app);
352
356
  // 一次性 worker:终端事件已 flush、storage 锁已释放(executeOpenAIAgentWorker 内 await 完)。
353
357
  // sandbox/MCP/undici 可能留下 ref 住事件循环的句柄,靠自然退出会赖着不走(→ 下一轮 dispatch
354
358
  // 报 "run is still active")。契约是"写完终端即退",这里强制退出收口。
@@ -372,7 +376,7 @@ async function main() {
372
376
  await executeDaemonCommand(agentArgs[1] || '');
373
377
  return;
374
378
  }
375
- await executeAgentCommand(agentArgs);
379
+ await executeAgentCommand(agentArgs, app);
376
380
  return;
377
381
  }
378
382
  // ─── pipeline (aliases for tick/stop/status/reset/workers/board/card/logs)
@@ -390,7 +394,7 @@ async function main() {
390
394
  // 非阻塞:PipelineService.start 走 detached spawn(后台跑 sps tick,像 daemon)+ 瞬间返回。
391
395
  // agent/脚本用它,绝不会阻塞回合。要前台跟着看用 `sps tick`(那个才阻塞)。
392
396
  const { createContainer } = await import('./services/container.js');
393
- const c = createContainer();
397
+ const c = createContainer(app);
394
398
  for (const project of projects) {
395
399
  const r = await c.pipelines.start(project);
396
400
  if (r.ok)
@@ -445,7 +449,7 @@ async function main() {
445
449
  console.error('Usage: sps pipeline card add <project> "<title>"');
446
450
  process.exit(2);
447
451
  }
448
- await executeCardAdd(project, args.positionals.slice(1), args.flags);
452
+ await executeCardAdd(project, args.positionals.slice(1), args.flags, app);
449
453
  return;
450
454
  }
451
455
  if (sub === 'logs') {
@@ -540,7 +544,7 @@ async function main() {
540
544
  console.error('Usage: sps tick <project> [project2] [project3] ...');
541
545
  process.exit(2);
542
546
  }
543
- await executeTick(projects, args.flags);
547
+ await executeTick(projects, args.flags, app);
544
548
  return;
545
549
  }
546
550
  // ─── logs ──────────────────────────────────────────────────────
@@ -585,19 +589,19 @@ async function main() {
585
589
  // ─── memory(本地记忆 v2)──────────────────────────────────────
586
590
  if (args.command === 'memory') {
587
591
  const { executeMemoryCommand } = await import('./commands/memoryCommand.js');
588
- await executeMemoryCommand(args.subcommand, args.project, args.positionals, args.flags);
592
+ await executeMemoryCommand(args.subcommand, args.project, args.positionals, args.flags, app);
589
593
  return;
590
594
  }
591
595
  // ─── console ───────────────────────────────────────────────────
592
596
  if (args.command === 'console') {
593
597
  const { executeConsole } = await import('./commands/consoleCommand.js');
594
- await executeConsole(args.flags);
598
+ await executeConsole(args.flags, app);
595
599
  return;
596
600
  }
597
601
  // ─── im(IM 网关:Telegram/… 接入,项目切换 + 命令 + 对话)──────────
598
602
  if (args.command === 'im') {
599
603
  const { executeImCommand } = await import('./commands/imCommand.js');
600
- await executeImCommand();
604
+ await executeImCommand(app);
601
605
  return;
602
606
  }
603
607
  // ─── model(worker 模型来源:多平台预设 + 本地订阅认证)──────────────
@@ -677,7 +681,7 @@ async function main() {
677
681
  process.exit(2);
678
682
  }
679
683
  const { createContainer } = await import('./services/container.js');
680
- const r = await createContainer().projects.relocate(args.project, {
684
+ const r = await createContainer(app).projects.relocate(args.project, {
681
685
  newDir: to,
682
686
  alreadyMoved: args.flags['already-moved'] === true,
683
687
  });
@@ -695,7 +699,7 @@ async function main() {
695
699
  console.error('Usage: sps scheduler tick <project>');
696
700
  process.exit(2);
697
701
  }
698
- await executeSchedulerTick(args.project, args.flags);
702
+ await executeSchedulerTick(args.project, args.flags, app);
699
703
  return;
700
704
  }
701
705
  }
@@ -706,7 +710,7 @@ async function main() {
706
710
  console.error('Usage: sps pipeline tick <project>');
707
711
  process.exit(2);
708
712
  }
709
- await executePipelineTick(args.project, args.flags);
713
+ await executePipelineTick(args.project, args.flags, app);
710
714
  return;
711
715
  }
712
716
  }
@@ -735,7 +739,7 @@ async function main() {
735
739
  process.exit(2);
736
740
  }
737
741
  const seq = args.positionals[0] || '';
738
- await executeWorkerLaunch(args.project, seq, args.flags);
742
+ await executeWorkerLaunch(args.project, seq, args.flags, app);
739
743
  return;
740
744
  }
741
745
  if (args.subcommand === 'dashboard') {
@@ -755,7 +759,7 @@ async function main() {
755
759
  console.error('Usage: sps qa tick <project>');
756
760
  process.exit(2);
757
761
  }
758
- await executeQaTick(args.project, args.flags);
762
+ await executeQaTick(args.project, args.flags, app);
759
763
  return;
760
764
  }
761
765
  }
@@ -766,7 +770,7 @@ async function main() {
766
770
  console.error('Usage: sps monitor tick <project>');
767
771
  process.exit(2);
768
772
  }
769
- await executeMonitorTick(args.project, args.flags);
773
+ await executeMonitorTick(args.project, args.flags, app);
770
774
  return;
771
775
  }
772
776
  }
@@ -790,7 +794,7 @@ async function main() {
790
794
  console.error('Usage: sps card add <project> "<title>" ["description"]');
791
795
  process.exit(2);
792
796
  }
793
- await executeCardAdd(args.project, args.positionals, args.flags);
797
+ await executeCardAdd(args.project, args.positionals, args.flags, app);
794
798
  return;
795
799
  }
796
800
  if (args.subcommand === 'insert') {
@@ -798,7 +802,7 @@ async function main() {
798
802
  console.error('Usage: sps card insert <project> "<title>" ["description"]');
799
803
  process.exit(2);
800
804
  }
801
- await executeCardInsert(args.project, args.positionals, args.flags);
805
+ await executeCardInsert(args.project, args.positionals, args.flags, app);
802
806
  return;
803
807
  }
804
808
  if (args.subcommand === 'dashboard') {
@@ -835,7 +839,49 @@ async function main() {
835
839
  console.error(`[${args.command}${args.subcommand ? ' ' + args.subcommand : ''}] Not yet implemented.`);
836
840
  process.exit(1);
837
841
  }
838
- main().catch((err) => {
842
+ /**
843
+ * 装配档按命令选:`console` / `daemon` 是**长驻宿主**,它们各有自己的一套插件;
844
+ * 其余都是一次性命令,走 cli。
845
+ *
846
+ * ⚠️ 这里只能看 argv 的第一个词 —— 参数解析在 main 里面。
847
+ * 判错了的后果是"挂了另一套插件",不是崩;而三个装配档的差异会随 seam 迁入而变大,
848
+ * 所以这条判断要跟着装配档一起改,别让它落后。
849
+ */
850
+ function assemblyFor(argv) {
851
+ const cmd = argv.find((a) => !a.startsWith('-'));
852
+ if (cmd === 'console')
853
+ return 'console';
854
+ if (cmd === 'daemon')
855
+ return 'daemon';
856
+ return 'cli';
857
+ }
858
+ /**
859
+ * 🔴 **修复类命令不挂装配档。**
860
+ * `sps plugin` 是用来修装配档的;如果它自己要先把装配档挂起来,
861
+ * 那么一旦装配档里有一行坏插件,**连修它的命令都起不来** —— 实测过:
862
+ * `plugin add` 一个能解析但不是 Cordis 插件的包之后,后续每条命令都炸,
863
+ * 包括 `plugin remove` 自己。
864
+ * ⇒ 修复工具不能依赖被修复的东西。
865
+ */
866
+ const REPAIR_COMMANDS = new Set(['plugin']);
867
+ async function bootstrap() {
868
+ const argv = process.argv.slice(2);
869
+ const args = parseArgs(argv);
870
+ if (REPAIR_COMMANDS.has(args.command)) {
871
+ const { executePluginCommand } = await import('./commands/pluginCommand.js');
872
+ await executePluginCommand(args.subcommand ?? undefined, [args.project, ...args.positionals].filter((x) => !!x), args.flags);
873
+ return;
874
+ }
875
+ const assembly = assemblyFor(argv);
876
+ // 🔴 **用户装的插件起不来只警告,内建起不来必须抛。**
877
+ // 理由不是宽容:修它的地方(console 插件页 / `sps plugin remove`)本身也要
878
+ // 先把进程起起来。被一个坏插件连坐,插件管理就等于白做。
879
+ const fromUser = userRowIds(assembly);
880
+ await withContext(mountAssembly(assembly), (app) => main(app), {
881
+ tolerate: (bad) => !!bad.entryId && fromUser.has(bad.entryId),
882
+ });
883
+ }
884
+ bootstrap().catch((err) => {
839
885
  console.error(err instanceof Error ? err.message : String(err));
840
886
  process.exit(1);
841
887
  });
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,13 @@
1
+ /**
2
+ * @module manager/makeBackendFactory
3
+ * @description 构造 worker-manager 的 per-slot AgentBackend 工厂(L3 P4-part2 起为唯一执行路径)。
4
+ * worker-manager 只认 `BackendFactory` 抽象、不认具体后端;换 agent 后端 = 改 resolveBackend
5
+ * 的 switch,派活入口(tick/pipelineTick/qaTick/workerLaunch/executors)不动。
6
+ * 所有派活入口共用此 helper,避免每处重复 loadAgentsConfig + resolveBackend 拼装。
7
+ * @layer manager
8
+ * @boundedContext worker-lifecycle
9
+ */
10
+ import type { Context as PluginContext } from '@deepseek-ai/cordis';
1
11
  import type { BackendFactory } from './worker-manager.js';
2
12
  /**
3
13
  * worker 后端有效配置 = 全局 defaults.json < 项目 conf(WORKER_AGENT/MODE/PROVIDER/MODEL)< SPS_WORKER_* env。
@@ -10,6 +20,8 @@ import type { BackendFactory } from './worker-manager.js';
10
20
  * @param opts.runtimeDir 运行时目录(openai per-slot sessionFile 落此)。
11
21
  */
12
22
  export declare function makeBackendFactory(opts: {
23
+ /** 插件装配上下文 —— agent 后端从 `sps.agents` 注册表取。 */
24
+ app: PluginContext;
13
25
  project: string;
14
26
  workerModel?: string;
15
27
  workerAgent?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"makeBackendFactory.d.ts","sourceRoot":"","sources":["../../src/manager/makeBackendFactory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CA8BjB"}
1
+ {"version":3,"file":"makeBackendFactory.d.ts","sourceRoot":"","sources":["../../src/manager/makeBackendFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,8CAA8C;IAC9C,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAgCjB"}
@@ -9,7 +9,6 @@
9
9
  */
10
10
  import { join } from 'node:path';
11
11
  import { resolveWorkerConfig } from '../core/intel/agentsConfig.js';
12
- import { resolveBackend } from '../core/agents/resolveBackend.js';
13
12
  import { createReviewerModel } from '../providers/llm/modelFactory.js';
14
13
  import { resolveAgentProvider } from '../providers/llm/providers.js';
15
14
  /**
@@ -34,7 +33,9 @@ export function makeBackendFactory(opts) {
34
33
  const configuredProvider = worker.providerId
35
34
  ? resolveAgentProvider(worker.providerId, o.cwd)
36
35
  : undefined;
37
- return resolveBackend(worker, {
36
+ // 🔴 后端从**注册表**取,不再走 resolveBackend 的手写 switch ——
37
+ // 加一个 agent 后端不该需要改内核代码(北极星那句话的机制化)。
38
+ return opts.app['sps.agents'].create(`${worker.agent}-${worker.mode}`, {
38
39
  cwd: o.cwd,
39
40
  project: opts.project,
40
41
  modelName: worker.model,
@@ -1 +1 @@
1
- {"version":3,"file":"makeBackendFactory.js","sourceRoot":"","sources":["../../src/manager/makeBackendFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAQlC;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,KAAK,EAAE,IAAI,CAAC,WAAW;QACvB,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,UAAU,EAAE,IAAI,CAAC,cAAc;QAC/B,KAAK,EAAE,IAAI,CAAC,WAAW;KACxB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACjB,4CAA4C;QAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU;YAC1C,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,cAAc,CAAC,MAAM,EAAE;YAC5B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,mEAAmE;YACnE,WAAW,EAAE,WAAW,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC9C,kFAAkF;YAClF,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,iBAAiB,EAAE,MAAM,CAAC,SAAS;YACnC,eAAe,EAAE,MAAM,CAAC,OAAO,IAAI,kBAAkB,EAAE,OAAO;YAC9D,kDAAkD;YAClD,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACvG,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,eAAe,CAAC;SAClE,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"makeBackendFactory.js","sourceRoot":"","sources":["../../src/manager/makeBackendFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAUlC;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,KAAK,EAAE,IAAI,CAAC,WAAW;QACvB,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,UAAU,EAAE,IAAI,CAAC,cAAc;QAC/B,KAAK,EAAE,IAAI,CAAC,WAAW;KACxB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACjB,4CAA4C;QAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU;YAC1C,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,kDAAkD;QAClD,wCAAwC;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE;YACrE,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,mEAAmE;YACnE,WAAW,EAAE,WAAW,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC9C,kFAAkF;YAClF,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,iBAAiB,EAAE,MAAM,CAAC,SAAS;YACnC,eAAe,EAAE,MAAM,CAAC,OAAO,IAAI,kBAAkB,EAAE,OAAO;YAC9D,kDAAkD;YAClD,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACvG,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,eAAe,CAAC;SAClE,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,7 +1,25 @@
1
+ /**
2
+ * @module worker-manager-impl
3
+ * @description WorkerManager 接口的具体实现,整合 Supervisor/Judge/Limiter 为统一 ACP 接口
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-03-28
10
+ * @updated 2026-04-03
11
+ *
12
+ * @role manager
13
+ * @layer manager
14
+ * @boundedContext worker-lifecycle
15
+ */
16
+ import type { Context as PluginContext } from '@deepseek-ai/cordis';
1
17
  import type { CompletionJudge } from './completion-judge.js';
2
18
  import type { ProcessSupervisor } from './supervisor.js';
3
19
  import type { BackendFactory, InspectQuery, RecoveryContext, RecoveryResult, TaskCancelRequest, TaskConfirmRequest, TaskInputRequest, TaskResumeRequest, TaskRunRequest, TaskRunResponse, WorkerEventHandler, WorkerManager, WorkerSnapshot } from './worker-manager.js';
4
20
  export interface WorkerManagerDeps {
21
+ /** 插件装配上下文 —— 记忆注入从 `sps.memory` seam 取,不再直连 memory2。 */
22
+ app: PluginContext;
5
23
  supervisor: ProcessSupervisor;
6
24
  completionJudge: CompletionJudge;
7
25
  stateFile: string;
@@ -23,6 +41,7 @@ export declare class WorkerManagerImpl implements WorkerManager {
23
41
  /** L3 P4-part2:per-slot AgentBackend(worker 执行唯一路径),跨卡暖复用。 */
24
42
  private readonly backendFactory;
25
43
  private readonly slotBackends;
44
+ private readonly app;
26
45
  constructor(deps: WorkerManagerDeps);
27
46
  /** L3 P2:该 slot 是否由本进程 per-slot backend 托管(→ MonitorEngine 豁免孤儿/health 检查,
28
47
  * 由 monitorViaBackend 轮询 runState 管生死)。跨 tick 重启后本进程无此 backend → false(交孤儿恢复)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"worker-manager-impl.d.ts","sourceRoot":"","sources":["../../src/manager/worker-manager-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-manager-impl.d.ts","sourceRoot":"","sources":["../../src/manager/worker-manager-impl.ts"],"names":[],"mappings":"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"}
@@ -16,16 +16,14 @@
16
16
  import { execFileSync } from 'node:child_process';
17
17
  import { mkdirSync, readdirSync, unlinkSync, writeFileSync } from 'node:fs';
18
18
  import { dirname, resolve } from 'node:path';
19
- import { getMarkerPathFromStateFile, patchCurrentCardFile, writeCurrentCardFile } from '../core/markerFile.js';
20
- import { loadProjectConf } from '../core/config.js';
21
- import { createIdleWorkerSlot, readState, writeState } from '../core/state.js';
22
- import { SPS_WORKER_RULES } from '../core/agents/spsWorkerRules.js';
23
19
  import { readProjectAgentConfig } from '../core/agents/projectAgentConfig.js';
24
- import { buildMemoryInjection } from '../core/memory2/inject.js';
25
- import { captureBindUnsub, captureDiscard, captureFlush, captureNote, captureStart } from '../core/memory2/capture.js';
20
+ import { SPS_WORKER_RULES } from '../core/agents/spsWorkerRules.js';
21
+ import { loadProjectConf } from '../core/config.js';
22
+ import { loadAgentsConfig } from '../core/intel/agentsConfig.js';
23
+ import { getMarkerPathFromStateFile, patchCurrentCardFile, writeCurrentCardFile } from '../core/markerFile.js';
26
24
  import { externalObserve } from '../core/memory2/external/agentMemory.js';
27
25
  import { importSessionToExternal } from '../core/memory2/external/importTranscript.js';
28
- import { loadAgentsConfig } from '../core/intel/agentsConfig.js';
26
+ import { createIdleWorkerSlot, readState, writeState } from '../core/state.js';
29
27
  // ─── Timeout Defaults ──────────────────────────────────────────
30
28
  const DEFAULT_TIMEOUTS = {
31
29
  startupSec: 60, // 60s for worker to start
@@ -47,7 +45,9 @@ export class WorkerManagerImpl {
47
45
  /** L3 P4-part2:per-slot AgentBackend(worker 执行唯一路径),跨卡暖复用。 */
48
46
  backendFactory;
49
47
  slotBackends = new Map();
48
+ app;
50
49
  constructor(deps) {
50
+ this.app = deps.app;
51
51
  this.supervisor = deps.supervisor;
52
52
  this.completionJudge = deps.completionJudge;
53
53
  this.stateFile = deps.stateFile;
@@ -404,7 +404,7 @@ export class WorkerManagerImpl {
404
404
  // 失败/未完成 → 丢弃 buffer(免泄漏 + 免把半截输出当结论)。
405
405
  if (isComplete) {
406
406
  try {
407
- const outcome = captureFlush(project, cardId);
407
+ const outcome = this.app['sps.memory'].captureFlush(project, cardId);
408
408
  if ('saved' in outcome)
409
409
  this.log(`memory captured ${outcome.saved.id} for card ${cardId}`);
410
410
  }
@@ -413,7 +413,7 @@ export class WorkerManagerImpl {
413
413
  }
414
414
  }
415
415
  else {
416
- captureDiscard(project, cardId);
416
+ this.app['sps.memory'].captureDiscard(project, cardId);
417
417
  }
418
418
  // Emit event — SPSEventHandler handles PM operations, slot release, notifications
419
419
  this.emitEvent({
@@ -538,7 +538,7 @@ export class WorkerManagerImpl {
538
538
  // completed → flush(抽结论去重入库);failed → discard(免把半截输出当结论)。捕获失败不阻断收尾。
539
539
  if (eventType === 'run.completed') {
540
540
  try {
541
- const outcome = captureFlush(ctx.project, ctx.cardId);
541
+ const outcome = this.app['sps.memory'].captureFlush(ctx.project, ctx.cardId);
542
542
  if ('saved' in outcome)
543
543
  this.log(`memory captured ${outcome.saved.id} for card ${ctx.cardId}`);
544
544
  }
@@ -547,7 +547,7 @@ export class WorkerManagerImpl {
547
547
  }
548
548
  }
549
549
  else {
550
- captureDiscard(ctx.project, ctx.cardId);
550
+ this.app['sps.memory'].captureDiscard(ctx.project, ctx.cardId);
551
551
  }
552
552
  // Release resources (same as handleExit tail)
553
553
  this.supervisor.remove(ctx.workerId);
@@ -824,18 +824,18 @@ export class WorkerManagerImpl {
824
824
  try {
825
825
  if (!backend.subscribe)
826
826
  return;
827
- captureStart(project, cardId);
827
+ this.app['sps.memory'].captureStart(project, cardId);
828
828
  // 可选:把工具事件转发给 agentmemory /observe(默认关 —— 逐工具 HTTP 且不稳后端;且红线下只有
829
829
  // toolName 无 I/O,不如 agentmemory 原生 Claude Code 钩子丰富)。SPS_MEMORY_OBSERVE=on 才开。
830
830
  const observe = (process.env.SPS_MEMORY_OBSERVE ?? '').toLowerCase() === 'on';
831
831
  const sid = backend.sessionId ?? `${project}:${cardId}`;
832
832
  const unsub = backend.subscribe((ev) => {
833
- captureNote(project, cardId, ev);
833
+ this.app['sps.memory'].captureNote(project, cardId, ev);
834
834
  if (observe && ev.kind === 'tool' && ev.phase === 'end') {
835
835
  void externalObserve({ sessionId: sid, project, cwd, toolName: ev.name, output: ev.detail }).catch(() => { });
836
836
  }
837
837
  });
838
- captureBindUnsub(project, cardId, unsub);
838
+ this.app['sps.memory'].captureBindUnsub(project, cardId, unsub);
839
839
  }
840
840
  catch (err) {
841
841
  this.log(`memory capture start skipped: ${err instanceof Error ? err.message : String(err)}`);
@@ -867,7 +867,7 @@ export class WorkerManagerImpl {
867
867
  { scope: 'project', project },
868
868
  { scope: 'global' },
869
869
  ];
870
- const block = buildMemoryInjection(refs);
870
+ const block = this.app['sps.memory'].buildInjection(refs);
871
871
  return block ? `${block}\n\n${prompt}` : prompt;
872
872
  }
873
873
  catch (err) {