@soleri/core 9.11.0 → 9.13.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 (234) hide show
  1. package/dist/adapters/types.d.ts +2 -0
  2. package/dist/adapters/types.d.ts.map +1 -1
  3. package/dist/brain/brain.d.ts +5 -1
  4. package/dist/brain/brain.d.ts.map +1 -1
  5. package/dist/brain/brain.js +97 -10
  6. package/dist/brain/brain.js.map +1 -1
  7. package/dist/dream/cron-manager.d.ts +10 -0
  8. package/dist/dream/cron-manager.d.ts.map +1 -0
  9. package/dist/dream/cron-manager.js +122 -0
  10. package/dist/dream/cron-manager.js.map +1 -0
  11. package/dist/dream/dream-engine.d.ts +34 -0
  12. package/dist/dream/dream-engine.d.ts.map +1 -0
  13. package/dist/dream/dream-engine.js +88 -0
  14. package/dist/dream/dream-engine.js.map +1 -0
  15. package/dist/dream/dream-ops.d.ts +8 -0
  16. package/dist/dream/dream-ops.d.ts.map +1 -0
  17. package/dist/dream/dream-ops.js +49 -0
  18. package/dist/dream/dream-ops.js.map +1 -0
  19. package/dist/dream/index.d.ts +7 -0
  20. package/dist/dream/index.d.ts.map +1 -0
  21. package/dist/dream/index.js +5 -0
  22. package/dist/dream/index.js.map +1 -0
  23. package/dist/dream/schema.d.ts +3 -0
  24. package/dist/dream/schema.d.ts.map +1 -0
  25. package/dist/dream/schema.js +16 -0
  26. package/dist/dream/schema.js.map +1 -0
  27. package/dist/embeddings/index.d.ts +5 -0
  28. package/dist/embeddings/index.d.ts.map +1 -0
  29. package/dist/embeddings/index.js +3 -0
  30. package/dist/embeddings/index.js.map +1 -0
  31. package/dist/embeddings/openai-provider.d.ts +31 -0
  32. package/dist/embeddings/openai-provider.d.ts.map +1 -0
  33. package/dist/embeddings/openai-provider.js +120 -0
  34. package/dist/embeddings/openai-provider.js.map +1 -0
  35. package/dist/embeddings/pipeline.d.ts +36 -0
  36. package/dist/embeddings/pipeline.d.ts.map +1 -0
  37. package/dist/embeddings/pipeline.js +78 -0
  38. package/dist/embeddings/pipeline.js.map +1 -0
  39. package/dist/embeddings/types.d.ts +62 -0
  40. package/dist/embeddings/types.d.ts.map +1 -0
  41. package/dist/embeddings/types.js +3 -0
  42. package/dist/embeddings/types.js.map +1 -0
  43. package/dist/engine/bin/soleri-engine.js +4 -1
  44. package/dist/engine/bin/soleri-engine.js.map +1 -1
  45. package/dist/engine/module-manifest.d.ts.map +1 -1
  46. package/dist/engine/module-manifest.js +20 -0
  47. package/dist/engine/module-manifest.js.map +1 -1
  48. package/dist/engine/register-engine.d.ts.map +1 -1
  49. package/dist/engine/register-engine.js +12 -0
  50. package/dist/engine/register-engine.js.map +1 -1
  51. package/dist/flows/chain-types.d.ts +8 -8
  52. package/dist/flows/dispatch-registry.d.ts +15 -1
  53. package/dist/flows/dispatch-registry.d.ts.map +1 -1
  54. package/dist/flows/dispatch-registry.js +28 -1
  55. package/dist/flows/dispatch-registry.js.map +1 -1
  56. package/dist/flows/executor.d.ts +20 -2
  57. package/dist/flows/executor.d.ts.map +1 -1
  58. package/dist/flows/executor.js +79 -1
  59. package/dist/flows/executor.js.map +1 -1
  60. package/dist/flows/index.d.ts +2 -1
  61. package/dist/flows/index.d.ts.map +1 -1
  62. package/dist/flows/index.js.map +1 -1
  63. package/dist/flows/types.d.ts +43 -21
  64. package/dist/flows/types.d.ts.map +1 -1
  65. package/dist/index.d.ts +6 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +4 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/persona/defaults.d.ts +8 -0
  70. package/dist/persona/defaults.d.ts.map +1 -1
  71. package/dist/persona/defaults.js +49 -0
  72. package/dist/persona/defaults.js.map +1 -1
  73. package/dist/plugins/types.d.ts +31 -31
  74. package/dist/runtime/admin-ops.d.ts.map +1 -1
  75. package/dist/runtime/admin-ops.js +15 -0
  76. package/dist/runtime/admin-ops.js.map +1 -1
  77. package/dist/runtime/admin-setup-ops.js +2 -2
  78. package/dist/runtime/admin-setup-ops.js.map +1 -1
  79. package/dist/runtime/embedding-ops.d.ts +12 -0
  80. package/dist/runtime/embedding-ops.d.ts.map +1 -0
  81. package/dist/runtime/embedding-ops.js +96 -0
  82. package/dist/runtime/embedding-ops.js.map +1 -0
  83. package/dist/runtime/facades/embedding-facade.d.ts +7 -0
  84. package/dist/runtime/facades/embedding-facade.d.ts.map +1 -0
  85. package/dist/runtime/facades/embedding-facade.js +8 -0
  86. package/dist/runtime/facades/embedding-facade.js.map +1 -0
  87. package/dist/runtime/facades/index.d.ts.map +1 -1
  88. package/dist/runtime/facades/index.js +12 -0
  89. package/dist/runtime/facades/index.js.map +1 -1
  90. package/dist/runtime/facades/orchestrate-facade.d.ts.map +1 -1
  91. package/dist/runtime/facades/orchestrate-facade.js +120 -0
  92. package/dist/runtime/facades/orchestrate-facade.js.map +1 -1
  93. package/dist/runtime/feature-flags.d.ts.map +1 -1
  94. package/dist/runtime/feature-flags.js +4 -0
  95. package/dist/runtime/feature-flags.js.map +1 -1
  96. package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
  97. package/dist/runtime/orchestrate-ops.js +140 -9
  98. package/dist/runtime/orchestrate-ops.js.map +1 -1
  99. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  100. package/dist/runtime/planning-extra-ops.js +51 -0
  101. package/dist/runtime/planning-extra-ops.js.map +1 -1
  102. package/dist/runtime/preflight.d.ts +32 -0
  103. package/dist/runtime/preflight.d.ts.map +1 -0
  104. package/dist/runtime/preflight.js +29 -0
  105. package/dist/runtime/preflight.js.map +1 -0
  106. package/dist/runtime/runtime.d.ts.map +1 -1
  107. package/dist/runtime/runtime.js +33 -2
  108. package/dist/runtime/runtime.js.map +1 -1
  109. package/dist/runtime/types.d.ts +27 -0
  110. package/dist/runtime/types.d.ts.map +1 -1
  111. package/dist/skills/step-tracker.d.ts +39 -0
  112. package/dist/skills/step-tracker.d.ts.map +1 -0
  113. package/dist/skills/step-tracker.js +105 -0
  114. package/dist/skills/step-tracker.js.map +1 -0
  115. package/dist/skills/sync-skills.d.ts +3 -2
  116. package/dist/skills/sync-skills.d.ts.map +1 -1
  117. package/dist/skills/sync-skills.js +42 -8
  118. package/dist/skills/sync-skills.js.map +1 -1
  119. package/dist/subagent/dispatcher.d.ts +4 -3
  120. package/dist/subagent/dispatcher.d.ts.map +1 -1
  121. package/dist/subagent/dispatcher.js +57 -35
  122. package/dist/subagent/dispatcher.js.map +1 -1
  123. package/dist/subagent/index.d.ts +1 -0
  124. package/dist/subagent/index.d.ts.map +1 -1
  125. package/dist/subagent/index.js.map +1 -1
  126. package/dist/subagent/orphan-reaper.d.ts +51 -4
  127. package/dist/subagent/orphan-reaper.d.ts.map +1 -1
  128. package/dist/subagent/orphan-reaper.js +103 -3
  129. package/dist/subagent/orphan-reaper.js.map +1 -1
  130. package/dist/subagent/types.d.ts +7 -0
  131. package/dist/subagent/types.d.ts.map +1 -1
  132. package/dist/subagent/workspace-resolver.d.ts +2 -0
  133. package/dist/subagent/workspace-resolver.d.ts.map +1 -1
  134. package/dist/subagent/workspace-resolver.js +3 -1
  135. package/dist/subagent/workspace-resolver.js.map +1 -1
  136. package/dist/vault/vault-entries.d.ts +18 -0
  137. package/dist/vault/vault-entries.d.ts.map +1 -1
  138. package/dist/vault/vault-entries.js +73 -0
  139. package/dist/vault/vault-entries.js.map +1 -1
  140. package/dist/vault/vault-manager.d.ts.map +1 -1
  141. package/dist/vault/vault-manager.js +1 -0
  142. package/dist/vault/vault-manager.js.map +1 -1
  143. package/dist/vault/vault-schema.d.ts.map +1 -1
  144. package/dist/vault/vault-schema.js +14 -0
  145. package/dist/vault/vault-schema.js.map +1 -1
  146. package/dist/vault/vault.d.ts +1 -0
  147. package/dist/vault/vault.d.ts.map +1 -1
  148. package/dist/vault/vault.js.map +1 -1
  149. package/package.json +3 -5
  150. package/src/__tests__/cron-manager.test.ts +132 -0
  151. package/src/__tests__/deviation-detection.test.ts +234 -0
  152. package/src/__tests__/embeddings.test.ts +536 -0
  153. package/src/__tests__/preflight.test.ts +97 -0
  154. package/src/__tests__/step-persistence.test.ts +324 -0
  155. package/src/__tests__/step-tracker.test.ts +260 -0
  156. package/src/__tests__/subagent/dispatcher.test.ts +122 -4
  157. package/src/__tests__/subagent/orphan-reaper.test.ts +148 -12
  158. package/src/__tests__/subagent/process-lifecycle.test.ts +422 -0
  159. package/src/__tests__/subagent/workspace-resolver.test.ts +6 -1
  160. package/src/adapters/types.ts +2 -0
  161. package/src/brain/brain.ts +117 -9
  162. package/src/dream/cron-manager.ts +137 -0
  163. package/src/dream/dream-engine.ts +119 -0
  164. package/src/dream/dream-ops.ts +56 -0
  165. package/src/dream/dream.test.ts +182 -0
  166. package/src/dream/index.ts +6 -0
  167. package/src/dream/schema.ts +17 -0
  168. package/src/embeddings/openai-provider.ts +158 -0
  169. package/src/embeddings/pipeline.ts +126 -0
  170. package/src/embeddings/types.ts +67 -0
  171. package/src/engine/bin/soleri-engine.ts +4 -1
  172. package/src/engine/module-manifest.test.ts +4 -4
  173. package/src/engine/module-manifest.ts +20 -0
  174. package/src/engine/register-engine.ts +12 -0
  175. package/src/flows/dispatch-registry.ts +44 -1
  176. package/src/flows/executor.ts +93 -2
  177. package/src/flows/index.ts +2 -0
  178. package/src/flows/types.ts +39 -1
  179. package/src/index.ts +12 -0
  180. package/src/persona/defaults.test.ts +39 -1
  181. package/src/persona/defaults.ts +65 -0
  182. package/src/planning/goal-ancestry.test.ts +3 -5
  183. package/src/planning/planner.test.ts +2 -3
  184. package/src/runtime/admin-ops.test.ts +2 -2
  185. package/src/runtime/admin-ops.ts +17 -0
  186. package/src/runtime/admin-setup-ops.ts +2 -2
  187. package/src/runtime/embedding-ops.ts +116 -0
  188. package/src/runtime/facades/admin-facade.test.ts +31 -0
  189. package/src/runtime/facades/embedding-facade.ts +11 -0
  190. package/src/runtime/facades/index.ts +12 -0
  191. package/src/runtime/facades/orchestrate-facade.test.ts +16 -0
  192. package/src/runtime/facades/orchestrate-facade.ts +146 -0
  193. package/src/runtime/feature-flags.ts +4 -0
  194. package/src/runtime/orchestrate-ops.test.ts +131 -0
  195. package/src/runtime/orchestrate-ops.ts +158 -10
  196. package/src/runtime/planning-extra-ops.ts +77 -0
  197. package/src/runtime/preflight.ts +53 -0
  198. package/src/runtime/runtime.ts +41 -2
  199. package/src/runtime/types.ts +20 -0
  200. package/src/skills/__tests__/sync-skills.test.ts +132 -0
  201. package/src/skills/step-tracker.ts +162 -0
  202. package/src/skills/sync-skills.ts +54 -9
  203. package/src/subagent/dispatcher.ts +62 -39
  204. package/src/subagent/index.ts +1 -0
  205. package/src/subagent/orphan-reaper.test.ts +135 -0
  206. package/src/subagent/orphan-reaper.ts +130 -7
  207. package/src/subagent/types.ts +10 -0
  208. package/src/subagent/workspace-resolver.ts +3 -1
  209. package/src/vault/vault-entries.ts +112 -0
  210. package/src/vault/vault-manager.ts +1 -0
  211. package/src/vault/vault-scaling.test.ts +3 -2
  212. package/src/vault/vault-schema.ts +15 -0
  213. package/src/vault/vault.ts +1 -0
  214. package/vitest.config.ts +2 -1
  215. package/dist/brain/strength-scorer.d.ts +0 -31
  216. package/dist/brain/strength-scorer.d.ts.map +0 -1
  217. package/dist/brain/strength-scorer.js +0 -264
  218. package/dist/brain/strength-scorer.js.map +0 -1
  219. package/dist/engine/index.d.ts +0 -21
  220. package/dist/engine/index.d.ts.map +0 -1
  221. package/dist/engine/index.js +0 -18
  222. package/dist/engine/index.js.map +0 -1
  223. package/dist/hooks/index.d.ts +0 -2
  224. package/dist/hooks/index.d.ts.map +0 -1
  225. package/dist/hooks/index.js +0 -2
  226. package/dist/hooks/index.js.map +0 -1
  227. package/dist/persona/index.d.ts +0 -5
  228. package/dist/persona/index.d.ts.map +0 -1
  229. package/dist/persona/index.js +0 -4
  230. package/dist/persona/index.js.map +0 -1
  231. package/dist/vault/vault-interfaces.d.ts +0 -153
  232. package/dist/vault/vault-interfaces.d.ts.map +0 -1
  233. package/dist/vault/vault-interfaces.js +0 -2
  234. package/dist/vault/vault-interfaces.js.map +0 -1
@@ -26,8 +26,9 @@ export class SubagentDispatcher {
26
26
  this.goalAncestry = new GoalAncestry(config.goalRepository);
27
27
  }
28
28
  this.workspace = new WorkspaceResolver(config.baseDir ?? process.cwd());
29
- this.reaper = new OrphanReaper((taskId) => {
30
- // On orphan: release the task claim and clean up workspace
29
+ this.reaper = new OrphanReaper((taskId, pid) => {
30
+ // On orphan: kill the process group, release the task claim, and clean up workspace
31
+ this.reaper.killProcessGroup(pid);
31
32
  this.checkout.release(taskId);
32
33
  this.workspace.cleanup(taskId);
33
34
  });
@@ -46,48 +47,46 @@ export class SubagentDispatcher {
46
47
  }
47
48
  // Resolve dependency order
48
49
  const ordered = this.resolveDependencies(tasks);
49
- if (parallel) {
50
- // Run independent tasks in parallel, respecting dependencies
51
- const results = await this.dispatchParallel(ordered, {
52
- maxConcurrent,
53
- worktreeIsolation,
54
- timeout,
55
- onTaskUpdate,
56
- });
50
+ try {
51
+ if (parallel) {
52
+ // Run independent tasks in parallel, respecting dependencies
53
+ const results = await this.dispatchParallel(ordered, {
54
+ maxConcurrent,
55
+ worktreeIsolation,
56
+ timeout,
57
+ onTaskUpdate,
58
+ });
59
+ return aggregate(results);
60
+ }
61
+ // Sequential dispatch — await in loop is intentional (tasks must run one at a time)
62
+ const results = [];
63
+ for (const task of ordered) {
64
+ // eslint-disable-line no-await-in-loop
65
+ onTaskUpdate?.(task.taskId, 'running');
66
+ const result = await this.executeTask(task, worktreeIsolation, timeout);
67
+ results.push(result);
68
+ onTaskUpdate?.(task.taskId, result.status);
69
+ // Stop on failure in sequential mode
70
+ if (result.exitCode !== 0)
71
+ break;
72
+ }
57
73
  return aggregate(results);
58
74
  }
59
- // Sequential dispatch — await in loop is intentional (tasks must run one at a time)
60
- const results = [];
61
- for (const task of ordered) {
62
- // eslint-disable-line no-await-in-loop
63
- onTaskUpdate?.(task.taskId, 'running');
64
- const result = await this.executeTask(task, worktreeIsolation, timeout);
65
- results.push(result);
66
- onTaskUpdate?.(task.taskId, result.status);
67
- // Stop on failure in sequential mode
68
- if (result.exitCode !== 0)
69
- break;
75
+ finally {
76
+ // Event-driven orphan reaping: sweep after every dispatch cycle
77
+ this.reaper.reap();
70
78
  }
71
- return aggregate(results);
72
79
  }
73
- /** Clean up all resources (worktrees, claims, concurrency) */
80
+ /** Clean up all resources — kills tracked process groups, then cleans worktrees, claims, concurrency */
74
81
  cleanup() {
82
+ this.reaper.killAll();
75
83
  this.workspace.cleanupAll();
76
84
  this.checkout.releaseAll();
77
85
  this.concurrency.reset();
78
- this.reaper.clear();
79
86
  }
80
87
  /** Run orphan detection and cleanup */
81
88
  reapOrphans() {
82
- const orphaned = this.reaper.reap();
83
- return orphaned.map((p) => ({
84
- taskId: p.taskId,
85
- status: 'orphaned',
86
- exitCode: 1,
87
- error: `Process ${p.pid} died unexpectedly`,
88
- durationMs: Date.now() - p.registeredAt,
89
- pid: p.pid,
90
- }));
89
+ return this.reaper.reap();
91
90
  }
92
91
  // ── Internal ──────────────────────────────────────────────────────
93
92
  async dispatchParallel(tasks, opts) {
@@ -193,18 +192,39 @@ export class SubagentDispatcher {
193
192
  enrichedConfig =
194
193
  this.goalAncestry.inject({ config: enrichedConfig }, goalId).config ?? enrichedConfig;
195
194
  }
196
- // 5. Execute with timeout
195
+ // 5. Execute with timeout and active process killing
196
+ let childPid;
197
197
  try {
198
198
  const resultPromise = adapter.execute({
199
199
  runId: `subagent-${task.taskId}-${Date.now()}`,
200
200
  prompt: task.prompt,
201
201
  workspace,
202
202
  config: enrichedConfig,
203
+ onMeta: (meta) => {
204
+ // Adapters report their child PID via onMeta({ pid })
205
+ if (typeof meta.pid === 'number') {
206
+ childPid = meta.pid;
207
+ this.reaper.register(childPid, task.taskId);
208
+ }
209
+ },
203
210
  });
204
211
  const timeoutPromise = new Promise((_, reject) => {
205
- setTimeout(() => reject(new Error('Task timed out')), timeout);
212
+ setTimeout(() => {
213
+ reject(new Error('Task timed out'));
214
+ // Kill the child process if we have a PID
215
+ if (childPid !== undefined) {
216
+ // Fire-and-forget: kill with escalation (SIGTERM → wait 5s → SIGKILL)
217
+ void this.reaper.killProcess(childPid, true).then(() => {
218
+ this.reaper.unregister(childPid);
219
+ });
220
+ }
221
+ }, timeout);
206
222
  });
207
223
  const adapterResult = await Promise.race([resultPromise, timeoutPromise]);
224
+ // Normal completion — unregister from reaper
225
+ if (childPid !== undefined) {
226
+ this.reaper.unregister(childPid);
227
+ }
208
228
  return {
209
229
  taskId: task.taskId,
210
230
  status: adapterResult.exitCode === 0 ? 'completed' : 'failed',
@@ -213,6 +233,7 @@ export class SubagentDispatcher {
213
233
  usage: adapterResult.usage,
214
234
  sessionState: adapterResult.sessionState,
215
235
  durationMs: Date.now() - startTime,
236
+ pid: childPid ?? adapterResult.pid,
216
237
  };
217
238
  }
218
239
  catch (err) {
@@ -222,6 +243,7 @@ export class SubagentDispatcher {
222
243
  exitCode: 1,
223
244
  error: err instanceof Error ? err.message : String(err),
224
245
  durationMs: Date.now() - startTime,
246
+ pid: childPid,
225
247
  };
226
248
  }
227
249
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/subagent/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/subagent/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export { TaskCheckout } from './task-checkout.js';
9
9
  export { WorkspaceResolver } from './workspace-resolver.js';
10
10
  export { ConcurrencyManager } from './concurrency-manager.js';
11
11
  export { OrphanReaper } from './orphan-reaper.js';
12
+ export type { ReapResult, ProcessGroupKillResult } from './orphan-reaper.js';
12
13
  export { aggregate as aggregateResults } from './result-aggregator.js';
13
14
  export { SubagentDispatcher } from './dispatcher.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -5,8 +5,29 @@
5
5
  * - No error → process is alive
6
6
  * - ESRCH → process is dead (reap it)
7
7
  * - EPERM → process is alive but we lack permission to signal it
8
+ *
9
+ * Process group management:
10
+ * - `killProcessGroup()` sends a signal to the entire process group (-pid)
11
+ * - `killAll()` kills all tracked processes via process groups
12
+ * - Group kill only works if the child was spawned with `detached: true`
13
+ * or is otherwise a process group leader. Falls back to single-process
14
+ * kill when the group doesn't exist (ESRCH on -pid).
8
15
  */
9
- import type { TrackedProcess } from './types.js';
16
+ import type { TrackedProcess, KillResult } from './types.js';
17
+ /** Result of a reap cycle. */
18
+ export interface ReapResult {
19
+ /** Task IDs of processes that were found dead and cleaned up. */
20
+ reaped: string[];
21
+ /** Task IDs of processes that are still alive. */
22
+ alive: string[];
23
+ }
24
+ /** Result of a process group kill attempt */
25
+ export interface ProcessGroupKillResult {
26
+ /** Whether the kill signal was delivered */
27
+ killed: boolean;
28
+ /** Whether the group or single-process kill path was used */
29
+ method: 'group' | 'single';
30
+ }
10
31
  export declare class OrphanReaper {
11
32
  private readonly tracked;
12
33
  private readonly onOrphan?;
@@ -17,21 +38,47 @@ export declare class OrphanReaper {
17
38
  unregister(pid: number): void;
18
39
  /**
19
40
  * Check each tracked PID for liveness. Dead processes are removed from
20
- * tracking, the onOrphan callback is invoked, and they are returned.
41
+ * tracking, the onOrphan callback is invoked, and the result summarises
42
+ * which task IDs were reaped vs still alive.
43
+ */
44
+ reap(): ReapResult;
45
+ /**
46
+ * Kill a process by PID. Sends SIGTERM first; if `escalate` is true
47
+ * (default), waits 5 seconds and sends SIGKILL if still alive.
48
+ *
49
+ * Handles gracefully: process already dead, EPERM, etc.
21
50
  */
22
- reap(): TrackedProcess[];
51
+ killProcess(pid: number, escalate?: boolean): Promise<KillResult>;
23
52
  /** Return all currently tracked processes. */
24
53
  listTracked(): TrackedProcess[];
25
54
  /** Check if a PID is currently tracked. */
26
55
  isTracked(pid: number): boolean;
27
56
  /** Clear all tracked processes without killing them. */
28
57
  clear(): void;
58
+ /**
59
+ * Kill an entire process group by negating the PID.
60
+ *
61
+ * Attempts `process.kill(-pid, signal)` first to kill the whole group.
62
+ * Falls back to `process.kill(pid, signal)` if the group kill fails
63
+ * (e.g., ESRCH when the process isn't a group leader).
64
+ *
65
+ * **Limitation:** Group kill only works if the child was spawned with
66
+ * `detached: true` or is otherwise a process group leader. On macOS,
67
+ * `process.kill(-pid)` works for process group leaders.
68
+ */
69
+ killProcessGroup(pid: number, signal?: NodeJS.Signals): ProcessGroupKillResult;
70
+ /**
71
+ * Kill all tracked processes via process groups and clear tracking.
72
+ *
73
+ * Returns a summary of kill results keyed by PID.
74
+ */
75
+ killAll(signal?: NodeJS.Signals): Map<number, ProcessGroupKillResult>;
29
76
  /**
30
77
  * Signal-0 existence check.
31
78
  * - No error → alive
32
79
  * - EPERM → alive (exists but we can't signal it)
33
80
  * - ESRCH → dead
34
81
  */
35
- private isAlive;
82
+ isAlive(pid: number): boolean;
36
83
  }
37
84
  //# sourceMappingURL=orphan-reaper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orphan-reaper.d.ts","sourceRoot":"","sources":["../../src/subagent/orphan-reaper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAwC;gBAEtD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;IAI5D,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C,6DAA6D;IAC7D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;;OAGG;IACH,IAAI,IAAI,cAAc,EAAE;IAcxB,8CAA8C;IAC9C,WAAW,IAAI,cAAc,EAAE;IAI/B,2CAA2C;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,wDAAwD;IACxD,KAAK,IAAI,IAAI;IAMb;;;;;OAKG;IACH,OAAO,CAAC,OAAO;CAWhB"}
1
+ {"version":3,"file":"orphan-reaper.d.ts","sourceRoot":"","sources":["../../src/subagent/orphan-reaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7D,8BAA8B;AAC9B,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,6CAA6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC5B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAwC;gBAEtD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;IAI5D,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C,6DAA6D;IAC7D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;;;OAIG;IACH,IAAI,IAAI,UAAU;IAiBlB;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAsCpE,8CAA8C;IAC9C,WAAW,IAAI,cAAc,EAAE;IAI/B,2CAA2C;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,wDAAwD;IACxD,KAAK,IAAI,IAAI;IAIb;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,sBAAsB;IAuBzF;;;;OAIG;IACH,OAAO,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAahF;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAW9B"}
@@ -5,7 +5,15 @@
5
5
  * - No error → process is alive
6
6
  * - ESRCH → process is dead (reap it)
7
7
  * - EPERM → process is alive but we lack permission to signal it
8
+ *
9
+ * Process group management:
10
+ * - `killProcessGroup()` sends a signal to the entire process group (-pid)
11
+ * - `killAll()` kills all tracked processes via process groups
12
+ * - Group kill only works if the child was spawned with `detached: true`
13
+ * or is otherwise a process group leader. Falls back to single-process
14
+ * kill when the group doesn't exist (ESRCH on -pid).
8
15
  */
16
+ const KILL_GRACE_PERIOD_MS = 5_000;
9
17
  export class OrphanReaper {
10
18
  tracked = new Map();
11
19
  onOrphan;
@@ -22,18 +30,62 @@ export class OrphanReaper {
22
30
  }
23
31
  /**
24
32
  * Check each tracked PID for liveness. Dead processes are removed from
25
- * tracking, the onOrphan callback is invoked, and they are returned.
33
+ * tracking, the onOrphan callback is invoked, and the result summarises
34
+ * which task IDs were reaped vs still alive.
26
35
  */
27
36
  reap() {
28
37
  const reaped = [];
38
+ const alive = [];
29
39
  for (const [pid, entry] of this.tracked) {
30
40
  if (!this.isAlive(pid)) {
31
41
  this.tracked.delete(pid);
32
42
  this.onOrphan?.(entry.taskId, pid);
33
- reaped.push(entry);
43
+ reaped.push(entry.taskId);
44
+ }
45
+ else {
46
+ alive.push(entry.taskId);
34
47
  }
35
48
  }
36
- return reaped;
49
+ return { reaped, alive };
50
+ }
51
+ /**
52
+ * Kill a process by PID. Sends SIGTERM first; if `escalate` is true
53
+ * (default), waits 5 seconds and sends SIGKILL if still alive.
54
+ *
55
+ * Handles gracefully: process already dead, EPERM, etc.
56
+ */
57
+ async killProcess(pid, escalate = true) {
58
+ // If already dead, report as killed via SIGTERM (no-op)
59
+ if (!this.isAlive(pid)) {
60
+ return { killed: true, signal: 'SIGTERM' };
61
+ }
62
+ // Send SIGTERM
63
+ try {
64
+ process.kill(pid, 'SIGTERM');
65
+ }
66
+ catch {
67
+ // ESRCH = already dead, EPERM = can't signal
68
+ return { killed: !this.isAlive(pid), signal: 'SIGTERM' };
69
+ }
70
+ // If not escalating, check once and return
71
+ if (!escalate) {
72
+ // Give a brief moment for the signal to take effect
73
+ return { killed: !this.isAlive(pid), signal: 'SIGTERM' };
74
+ }
75
+ // Wait grace period, then check if still alive
76
+ await new Promise((resolve) => setTimeout(resolve, KILL_GRACE_PERIOD_MS));
77
+ if (!this.isAlive(pid)) {
78
+ return { killed: true, signal: 'SIGTERM' };
79
+ }
80
+ // Escalate to SIGKILL
81
+ try {
82
+ process.kill(pid, 'SIGKILL');
83
+ }
84
+ catch {
85
+ // Process may have died between check and kill
86
+ return { killed: !this.isAlive(pid), signal: 'SIGKILL' };
87
+ }
88
+ return { killed: true, signal: 'SIGKILL' };
37
89
  }
38
90
  /** Return all currently tracked processes. */
39
91
  listTracked() {
@@ -47,6 +99,54 @@ export class OrphanReaper {
47
99
  clear() {
48
100
  this.tracked.clear();
49
101
  }
102
+ /**
103
+ * Kill an entire process group by negating the PID.
104
+ *
105
+ * Attempts `process.kill(-pid, signal)` first to kill the whole group.
106
+ * Falls back to `process.kill(pid, signal)` if the group kill fails
107
+ * (e.g., ESRCH when the process isn't a group leader).
108
+ *
109
+ * **Limitation:** Group kill only works if the child was spawned with
110
+ * `detached: true` or is otherwise a process group leader. On macOS,
111
+ * `process.kill(-pid)` works for process group leaders.
112
+ */
113
+ killProcessGroup(pid, signal = 'SIGTERM') {
114
+ // Try group kill first
115
+ try {
116
+ process.kill(-pid, signal);
117
+ return { killed: true, method: 'group' };
118
+ }
119
+ catch (groupErr) {
120
+ const groupCode = groupErr.code;
121
+ // ESRCH on the group means it's not a group leader — fall back to single
122
+ if (groupCode === 'ESRCH') {
123
+ try {
124
+ process.kill(pid, signal);
125
+ return { killed: true, method: 'single' };
126
+ }
127
+ catch {
128
+ // Process is already dead
129
+ return { killed: false, method: 'single' };
130
+ }
131
+ }
132
+ // EPERM means the process group exists but we can't signal it
133
+ // Any other error — process is dead or inaccessible
134
+ return { killed: false, method: 'group' };
135
+ }
136
+ }
137
+ /**
138
+ * Kill all tracked processes via process groups and clear tracking.
139
+ *
140
+ * Returns a summary of kill results keyed by PID.
141
+ */
142
+ killAll(signal = 'SIGTERM') {
143
+ const results = new Map();
144
+ for (const [pid] of this.tracked) {
145
+ results.set(pid, this.killProcessGroup(pid, signal));
146
+ }
147
+ this.tracked.clear();
148
+ return results;
149
+ }
50
150
  // ── internals ──────────────────────────────────────────────────────
51
151
  /**
52
152
  * Signal-0 existence check.
@@ -1 +1 @@
1
- {"version":3,"file":"orphan-reaper.js","sourceRoot":"","sources":["../../src/subagent/orphan-reaper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,OAAO,YAAY;IACN,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5C,QAAQ,CAAyC;IAElE,YAAY,QAAgD;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,gCAAgC;IAChC,QAAQ,CAAC,GAAW,EAAE,MAAc;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,6DAA6D;IAC7D,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8CAA8C;IAC9C,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,2CAA2C;IAC3C,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,wDAAwD;IACxD,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,sEAAsE;IAEtE;;;;;OAKG;IACK,OAAO,CAAC,GAAW;QACzB,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YAClC,2CAA2C;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"orphan-reaper.js","sourceRoot":"","sources":["../../src/subagent/orphan-reaper.ts"],"names":[],"mappings":"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"}
@@ -111,4 +111,11 @@ export interface TrackedProcess {
111
111
  /** When the process was registered */
112
112
  registeredAt: number;
113
113
  }
114
+ /** Result of attempting to kill a process */
115
+ export interface KillResult {
116
+ /** Whether the process was successfully killed */
117
+ killed: boolean;
118
+ /** Which signal ultimately killed the process */
119
+ signal: 'SIGTERM' | 'SIGKILL';
120
+ }
114
121
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAInF,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAID,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAIpG,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CACjE;AAID,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,6CAA6C;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAID,qCAAqC;AACrC,MAAM,WAAW,SAAS;IACxB,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B"}
@@ -22,6 +22,8 @@ export declare class WorkspaceResolver {
22
22
  resolve(taskId: string, workspace: string, isolate: boolean): string;
23
23
  /**
24
24
  * Remove the worktree for a given task.
25
+ * Deletes the worktree directory and local branch.
26
+ * Worktree branches are local-only — never pushed to remote.
25
27
  * Silently handles errors (e.g., worktree already removed).
26
28
  */
27
29
  cleanup(taskId: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-resolver.d.ts","sourceRoot":"","sources":["../../src/subagent/workspace-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;gBAEjD,OAAO,EAAE,MAAM;IAI3B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAuCpE;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB7B,mCAAmC;IACnC,UAAU,IAAI,IAAI;IAMlB,6CAA6C;IAC7C,UAAU,IAAI,YAAY,EAAE;IAI5B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGlC"}
1
+ {"version":3,"file":"workspace-resolver.d.ts","sourceRoot":"","sources":["../../src/subagent/workspace-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;gBAEjD,OAAO,EAAE,MAAM;IAI3B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAuCpE;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB7B,mCAAmC;IACnC,UAAU,IAAI,IAAI;IAMlB,6CAA6C;IAC7C,UAAU,IAAI,YAAY,EAAE;IAI5B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGlC"}
@@ -57,6 +57,8 @@ export class WorkspaceResolver {
57
57
  }
58
58
  /**
59
59
  * Remove the worktree for a given task.
60
+ * Deletes the worktree directory and local branch.
61
+ * Worktree branches are local-only — never pushed to remote.
60
62
  * Silently handles errors (e.g., worktree already removed).
61
63
  */
62
64
  cleanup(taskId) {
@@ -70,7 +72,7 @@ export class WorkspaceResolver {
70
72
  catch {
71
73
  // Silently ignore — worktree may already be gone
72
74
  }
73
- // Clean up the branch as well
75
+ // Clean up the local branch (worktree branches are local-only)
74
76
  if (info.branch) {
75
77
  try {
76
78
  execSync(`git branch -D "${info.branch}"`, { ...EXEC_OPTS, cwd: this.baseDir });
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../../src/subagent/workspace-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../../src/subagent/workspace-resolver.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { PersistenceProvider } from '../persistence/types.js';
6
6
  import type { IntelligenceEntry } from '../intelligence/types.js';
7
+ import type { StoredVector } from '../embeddings/types.js';
7
8
  import type { LinkManager } from './linking.js';
8
9
  import type { SearchResult, VaultStats } from './vault.js';
9
10
  export interface AutoLinkConfig {
@@ -62,6 +63,23 @@ export declare function contentHashStats(provider: PersistenceProvider): {
62
63
  hashed: number;
63
64
  uniqueHashes: number;
64
65
  };
66
+ /** Store a vector for an entry. Upserts — replaces if exists. */
67
+ export declare function storeVector(provider: PersistenceProvider, entryId: string, vector: number[], model: string, dimensions: number): void;
68
+ /** Get the stored vector for an entry, or null. */
69
+ export declare function getVector(provider: PersistenceProvider, entryId: string): StoredVector | null;
70
+ /** Delete the vector for an entry. */
71
+ export declare function deleteVector(provider: PersistenceProvider, entryId: string): void;
72
+ /** Get IDs of entries that have no vector for the given model. */
73
+ export declare function getEntriesWithoutVectors(provider: PersistenceProvider, model: string): string[];
74
+ /**
75
+ * Brute-force cosine similarity search over all stored vectors.
76
+ * Returns top-K entries sorted by similarity descending.
77
+ * For <100K entries, brute-force is fast enough (~50ms).
78
+ */
79
+ export declare function cosineSearch(provider: PersistenceProvider, queryVector: number[], topK: number): Array<{
80
+ entryId: string;
81
+ similarity: number;
82
+ }>;
65
83
  export declare function rowToEntry(row: Record<string, unknown>): IntelligenceEntry;
66
84
  export declare function rowToSearchResult(row: Record<string, unknown>): SearchResult;
67
85
  /** Build FTS5 query from natural language: terms joined with OR for broad matching. */
@@ -1 +1 @@
1
- {"version":3,"file":"vault-entries.d.ts","sourceRoot":"","sources":["../../src/vault/vault-entries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,IAAI,CACF,iBAAiB,EACf,OAAO,GACP,aAAa,GACb,SAAS,GACT,SAAS,GACT,gBAAgB,GAChB,KAAK,GACL,MAAM,GACN,WAAW,GACX,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,YAAY,CACf,CACF,CAAC;AAEF,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAUtE;AAED,wBAAgB,IAAI,CAClB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,GAAG,EAAE,cAAc,GAClB,MAAM,CAuCR;AAED,wBAAgB,SAAS,CACvB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,GAAG,EAAE,cAAc,GAClB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB9E;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,GAAG,EAAE,cAAc,GAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CASxC;AAED,wBAAgB,MAAM,CACpB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,kBAAkB,GAC3B,YAAY,EAAE,CA6ChB;AAED,wBAAgB,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAGvF;AAED,wBAAgB,IAAI,CAClB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClE,iBAAiB,EAAE,CAsCrB;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,mBAAmB,GAAG,UAAU,CAQ/D;AAED,wBAAgB,GAAG,CACjB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,cAAc,GAClB,IAAI,CAEN;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED,wBAAgB,MAAM,CACpB,QAAQ,EAAE,mBAAmB,EAC7B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,cAAc,GAClB,iBAAiB,GAAG,IAAI,CAK1B;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,mBAAmB,EAC7B,EAAE,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAcT;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CASrB;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,GAAE,MAAW,GACjB,iBAAiB,EAAE,CAQrB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAM/E;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAW5F;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,mBAAmB,GAC5B,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAI1C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,GAAE,MAAW,GAAG,iBAAiB,EAAE,CAIhG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,CAUA;AAWD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAmB1E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAG5E;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUnD"}
1
+ {"version":3,"file":"vault-entries.d.ts","sourceRoot":"","sources":["../../src/vault/vault-entries.ts"],"names":[],"mappings":"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"}