@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.
- package/dist/adapters/types.d.ts +2 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/brain/brain.d.ts +5 -1
- package/dist/brain/brain.d.ts.map +1 -1
- package/dist/brain/brain.js +97 -10
- package/dist/brain/brain.js.map +1 -1
- package/dist/dream/cron-manager.d.ts +10 -0
- package/dist/dream/cron-manager.d.ts.map +1 -0
- package/dist/dream/cron-manager.js +122 -0
- package/dist/dream/cron-manager.js.map +1 -0
- package/dist/dream/dream-engine.d.ts +34 -0
- package/dist/dream/dream-engine.d.ts.map +1 -0
- package/dist/dream/dream-engine.js +88 -0
- package/dist/dream/dream-engine.js.map +1 -0
- package/dist/dream/dream-ops.d.ts +8 -0
- package/dist/dream/dream-ops.d.ts.map +1 -0
- package/dist/dream/dream-ops.js +49 -0
- package/dist/dream/dream-ops.js.map +1 -0
- package/dist/dream/index.d.ts +7 -0
- package/dist/dream/index.d.ts.map +1 -0
- package/dist/dream/index.js +5 -0
- package/dist/dream/index.js.map +1 -0
- package/dist/dream/schema.d.ts +3 -0
- package/dist/dream/schema.d.ts.map +1 -0
- package/dist/dream/schema.js +16 -0
- package/dist/dream/schema.js.map +1 -0
- package/dist/embeddings/index.d.ts +5 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +3 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/openai-provider.d.ts +31 -0
- package/dist/embeddings/openai-provider.d.ts.map +1 -0
- package/dist/embeddings/openai-provider.js +120 -0
- package/dist/embeddings/openai-provider.js.map +1 -0
- package/dist/embeddings/pipeline.d.ts +36 -0
- package/dist/embeddings/pipeline.d.ts.map +1 -0
- package/dist/embeddings/pipeline.js +78 -0
- package/dist/embeddings/pipeline.js.map +1 -0
- package/dist/embeddings/types.d.ts +62 -0
- package/dist/embeddings/types.d.ts.map +1 -0
- package/dist/embeddings/types.js +3 -0
- package/dist/embeddings/types.js.map +1 -0
- package/dist/engine/bin/soleri-engine.js +4 -1
- package/dist/engine/bin/soleri-engine.js.map +1 -1
- package/dist/engine/module-manifest.d.ts.map +1 -1
- package/dist/engine/module-manifest.js +20 -0
- package/dist/engine/module-manifest.js.map +1 -1
- package/dist/engine/register-engine.d.ts.map +1 -1
- package/dist/engine/register-engine.js +12 -0
- package/dist/engine/register-engine.js.map +1 -1
- package/dist/flows/chain-types.d.ts +8 -8
- package/dist/flows/dispatch-registry.d.ts +15 -1
- package/dist/flows/dispatch-registry.d.ts.map +1 -1
- package/dist/flows/dispatch-registry.js +28 -1
- package/dist/flows/dispatch-registry.js.map +1 -1
- package/dist/flows/executor.d.ts +20 -2
- package/dist/flows/executor.d.ts.map +1 -1
- package/dist/flows/executor.js +79 -1
- package/dist/flows/executor.js.map +1 -1
- package/dist/flows/index.d.ts +2 -1
- package/dist/flows/index.d.ts.map +1 -1
- package/dist/flows/index.js.map +1 -1
- package/dist/flows/types.d.ts +43 -21
- package/dist/flows/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/persona/defaults.d.ts +8 -0
- package/dist/persona/defaults.d.ts.map +1 -1
- package/dist/persona/defaults.js +49 -0
- package/dist/persona/defaults.js.map +1 -1
- package/dist/plugins/types.d.ts +31 -31
- package/dist/runtime/admin-ops.d.ts.map +1 -1
- package/dist/runtime/admin-ops.js +15 -0
- package/dist/runtime/admin-ops.js.map +1 -1
- package/dist/runtime/admin-setup-ops.js +2 -2
- package/dist/runtime/admin-setup-ops.js.map +1 -1
- package/dist/runtime/embedding-ops.d.ts +12 -0
- package/dist/runtime/embedding-ops.d.ts.map +1 -0
- package/dist/runtime/embedding-ops.js +96 -0
- package/dist/runtime/embedding-ops.js.map +1 -0
- package/dist/runtime/facades/embedding-facade.d.ts +7 -0
- package/dist/runtime/facades/embedding-facade.d.ts.map +1 -0
- package/dist/runtime/facades/embedding-facade.js +8 -0
- package/dist/runtime/facades/embedding-facade.js.map +1 -0
- package/dist/runtime/facades/index.d.ts.map +1 -1
- package/dist/runtime/facades/index.js +12 -0
- package/dist/runtime/facades/index.js.map +1 -1
- package/dist/runtime/facades/orchestrate-facade.d.ts.map +1 -1
- package/dist/runtime/facades/orchestrate-facade.js +120 -0
- package/dist/runtime/facades/orchestrate-facade.js.map +1 -1
- package/dist/runtime/feature-flags.d.ts.map +1 -1
- package/dist/runtime/feature-flags.js +4 -0
- package/dist/runtime/feature-flags.js.map +1 -1
- package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
- package/dist/runtime/orchestrate-ops.js +140 -9
- package/dist/runtime/orchestrate-ops.js.map +1 -1
- package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
- package/dist/runtime/planning-extra-ops.js +51 -0
- package/dist/runtime/planning-extra-ops.js.map +1 -1
- package/dist/runtime/preflight.d.ts +32 -0
- package/dist/runtime/preflight.d.ts.map +1 -0
- package/dist/runtime/preflight.js +29 -0
- package/dist/runtime/preflight.js.map +1 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +33 -2
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +27 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/skills/step-tracker.d.ts +39 -0
- package/dist/skills/step-tracker.d.ts.map +1 -0
- package/dist/skills/step-tracker.js +105 -0
- package/dist/skills/step-tracker.js.map +1 -0
- package/dist/skills/sync-skills.d.ts +3 -2
- package/dist/skills/sync-skills.d.ts.map +1 -1
- package/dist/skills/sync-skills.js +42 -8
- package/dist/skills/sync-skills.js.map +1 -1
- package/dist/subagent/dispatcher.d.ts +4 -3
- package/dist/subagent/dispatcher.d.ts.map +1 -1
- package/dist/subagent/dispatcher.js +57 -35
- package/dist/subagent/dispatcher.js.map +1 -1
- package/dist/subagent/index.d.ts +1 -0
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js.map +1 -1
- package/dist/subagent/orphan-reaper.d.ts +51 -4
- package/dist/subagent/orphan-reaper.d.ts.map +1 -1
- package/dist/subagent/orphan-reaper.js +103 -3
- package/dist/subagent/orphan-reaper.js.map +1 -1
- package/dist/subagent/types.d.ts +7 -0
- package/dist/subagent/types.d.ts.map +1 -1
- package/dist/subagent/workspace-resolver.d.ts +2 -0
- package/dist/subagent/workspace-resolver.d.ts.map +1 -1
- package/dist/subagent/workspace-resolver.js +3 -1
- package/dist/subagent/workspace-resolver.js.map +1 -1
- package/dist/vault/vault-entries.d.ts +18 -0
- package/dist/vault/vault-entries.d.ts.map +1 -1
- package/dist/vault/vault-entries.js +73 -0
- package/dist/vault/vault-entries.js.map +1 -1
- package/dist/vault/vault-manager.d.ts.map +1 -1
- package/dist/vault/vault-manager.js +1 -0
- package/dist/vault/vault-manager.js.map +1 -1
- package/dist/vault/vault-schema.d.ts.map +1 -1
- package/dist/vault/vault-schema.js +14 -0
- package/dist/vault/vault-schema.js.map +1 -1
- package/dist/vault/vault.d.ts +1 -0
- package/dist/vault/vault.d.ts.map +1 -1
- package/dist/vault/vault.js.map +1 -1
- package/package.json +3 -5
- package/src/__tests__/cron-manager.test.ts +132 -0
- package/src/__tests__/deviation-detection.test.ts +234 -0
- package/src/__tests__/embeddings.test.ts +536 -0
- package/src/__tests__/preflight.test.ts +97 -0
- package/src/__tests__/step-persistence.test.ts +324 -0
- package/src/__tests__/step-tracker.test.ts +260 -0
- package/src/__tests__/subagent/dispatcher.test.ts +122 -4
- package/src/__tests__/subagent/orphan-reaper.test.ts +148 -12
- package/src/__tests__/subagent/process-lifecycle.test.ts +422 -0
- package/src/__tests__/subagent/workspace-resolver.test.ts +6 -1
- package/src/adapters/types.ts +2 -0
- package/src/brain/brain.ts +117 -9
- package/src/dream/cron-manager.ts +137 -0
- package/src/dream/dream-engine.ts +119 -0
- package/src/dream/dream-ops.ts +56 -0
- package/src/dream/dream.test.ts +182 -0
- package/src/dream/index.ts +6 -0
- package/src/dream/schema.ts +17 -0
- package/src/embeddings/openai-provider.ts +158 -0
- package/src/embeddings/pipeline.ts +126 -0
- package/src/embeddings/types.ts +67 -0
- package/src/engine/bin/soleri-engine.ts +4 -1
- package/src/engine/module-manifest.test.ts +4 -4
- package/src/engine/module-manifest.ts +20 -0
- package/src/engine/register-engine.ts +12 -0
- package/src/flows/dispatch-registry.ts +44 -1
- package/src/flows/executor.ts +93 -2
- package/src/flows/index.ts +2 -0
- package/src/flows/types.ts +39 -1
- package/src/index.ts +12 -0
- package/src/persona/defaults.test.ts +39 -1
- package/src/persona/defaults.ts +65 -0
- package/src/planning/goal-ancestry.test.ts +3 -5
- package/src/planning/planner.test.ts +2 -3
- package/src/runtime/admin-ops.test.ts +2 -2
- package/src/runtime/admin-ops.ts +17 -0
- package/src/runtime/admin-setup-ops.ts +2 -2
- package/src/runtime/embedding-ops.ts +116 -0
- package/src/runtime/facades/admin-facade.test.ts +31 -0
- package/src/runtime/facades/embedding-facade.ts +11 -0
- package/src/runtime/facades/index.ts +12 -0
- package/src/runtime/facades/orchestrate-facade.test.ts +16 -0
- package/src/runtime/facades/orchestrate-facade.ts +146 -0
- package/src/runtime/feature-flags.ts +4 -0
- package/src/runtime/orchestrate-ops.test.ts +131 -0
- package/src/runtime/orchestrate-ops.ts +158 -10
- package/src/runtime/planning-extra-ops.ts +77 -0
- package/src/runtime/preflight.ts +53 -0
- package/src/runtime/runtime.ts +41 -2
- package/src/runtime/types.ts +20 -0
- package/src/skills/__tests__/sync-skills.test.ts +132 -0
- package/src/skills/step-tracker.ts +162 -0
- package/src/skills/sync-skills.ts +54 -9
- package/src/subagent/dispatcher.ts +62 -39
- package/src/subagent/index.ts +1 -0
- package/src/subagent/orphan-reaper.test.ts +135 -0
- package/src/subagent/orphan-reaper.ts +130 -7
- package/src/subagent/types.ts +10 -0
- package/src/subagent/workspace-resolver.ts +3 -1
- package/src/vault/vault-entries.ts +112 -0
- package/src/vault/vault-manager.ts +1 -0
- package/src/vault/vault-scaling.test.ts +3 -2
- package/src/vault/vault-schema.ts +15 -0
- package/src/vault/vault.ts +1 -0
- package/vitest.config.ts +2 -1
- package/dist/brain/strength-scorer.d.ts +0 -31
- package/dist/brain/strength-scorer.d.ts.map +0 -1
- package/dist/brain/strength-scorer.js +0 -264
- package/dist/brain/strength-scorer.js.map +0 -1
- package/dist/engine/index.d.ts +0 -21
- package/dist/engine/index.d.ts.map +0 -1
- package/dist/engine/index.js +0 -18
- package/dist/engine/index.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -2
- package/dist/hooks/index.js.map +0 -1
- package/dist/persona/index.d.ts +0 -5
- package/dist/persona/index.d.ts.map +0 -1
- package/dist/persona/index.js +0 -4
- package/dist/persona/index.js.map +0 -1
- package/dist/vault/vault-interfaces.d.ts +0 -153
- package/dist/vault/vault-interfaces.d.ts.map +0 -1
- package/dist/vault/vault-interfaces.js +0 -2
- 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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
|
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
|
-
|
|
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(() =>
|
|
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":"AAAA;;;;;;GAMG;AAUH,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;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/subagent/dispatcher.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent/index.d.ts
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
1
|
+
{"version":3,"file":"orphan-reaper.js","sourceRoot":"","sources":["../../src/subagent/orphan-reaper.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent/types.d.ts
CHANGED
|
@@ -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":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,OAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAElE,MAAM,OAAO,iBAAiB;IACX,OAAO,CAAS;IAChB,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE7D,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAgB;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,YAAY,MAAM,EAAE,CAAC;YAEpC,iCAAiC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,QAAQ,CAAC,qBAAqB,YAAY,SAAS,MAAM,GAAG,EAAE;gBAC5D,GAAG,SAAS;gBACZ,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAiB;gBACzB,MAAM;gBACN,IAAI,EAAE,YAAY;gBAClB,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAEjC,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;YAChE,OAAO,CAAC,IAAI,CACV,2DAA2D,MAAM,IAAI,EACrE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../../src/subagent/workspace-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,OAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAElE,MAAM,OAAO,iBAAiB;IACX,OAAO,CAAS;IAChB,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE7D,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAgB;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,YAAY,MAAM,EAAE,CAAC;YAEpC,iCAAiC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,QAAQ,CAAC,qBAAqB,YAAY,SAAS,MAAM,GAAG,EAAE;gBAC5D,GAAG,SAAS;gBACZ,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAiB;gBACzB,MAAM;gBACN,IAAI,EAAE,YAAY;gBAClB,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAEjC,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;YAChE,OAAO,CAAC,IAAI,CACV,2DAA2D,MAAM,IAAI,EACrE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAc;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,wBAAwB,IAAI,CAAC,IAAI,WAAW,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,QAAQ,CAAC,kBAAkB,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,mCAAmC;IACnC,UAAU;QACR,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,0DAA0D;IAC1D,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -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":"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"}
|
|
1
|
+
{"version":3,"file":"vault-entries.d.ts","sourceRoot":"","sources":["../../src/vault/vault-entries.ts"],"names":[],"mappings":"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"}
|