@cleocode/core 2026.10.25 → 2026.10.26
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/build-provenance.json +2 -2
- package/dist/dispatch/contracts/output-contracts.d.ts +13 -0
- package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -1
- package/dist/dispatch/contracts/output-contracts.js +29 -0
- package/dist/dispatch/contracts/output-contracts.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +8 -0
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +24 -1
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-update.d.ts +8 -5
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +16 -5
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +27 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/hooks/handlers/watchdog-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/watchdog-hooks.js +5 -0
- package/dist/hooks/handlers/watchdog-hooks.js.map +1 -1
- package/dist/internal.d.ts +3 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -2
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js +22 -10
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/memory/brain-writer-thread.d.ts +30 -0
- package/dist/memory/brain-writer-thread.d.ts.map +1 -1
- package/dist/memory/brain-writer-thread.js +46 -1
- package/dist/memory/brain-writer-thread.js.map +1 -1
- package/dist/memory/brain-writer-worker.js +13 -2
- package/dist/memory/brain-writer-worker.js.map +1 -1
- package/dist/memory/embedding-backfill.d.ts +12 -0
- package/dist/memory/embedding-backfill.d.ts.map +1 -1
- package/dist/memory/embedding-backfill.js +51 -31
- package/dist/memory/embedding-backfill.js.map +1 -1
- package/dist/orchestrate/include-deps.d.ts +58 -0
- package/dist/orchestrate/include-deps.d.ts.map +1 -0
- package/dist/orchestrate/include-deps.js +138 -0
- package/dist/orchestrate/include-deps.js.map +1 -0
- package/dist/orchestrate/spawn-ops.d.ts +14 -33
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +49 -61
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worktree-complete.d.ts +15 -1
- package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
- package/dist/orchestrate/worktree-complete.js +36 -3
- package/dist/orchestrate/worktree-complete.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +142 -4
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +298 -48
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/open.d.ts +25 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +63 -11
- package/dist/release/open.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +83 -11
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +138 -39
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/governor.js +1 -1
- package/dist/resources/governor.js.map +1 -1
- package/dist/resources/hook-footprint.d.ts +24 -0
- package/dist/resources/hook-footprint.d.ts.map +1 -1
- package/dist/resources/hook-footprint.js +38 -1
- package/dist/resources/hook-footprint.js.map +1 -1
- package/dist/resources/run-class.d.ts +38 -5
- package/dist/resources/run-class.d.ts.map +1 -1
- package/dist/resources/run-class.js +60 -11
- package/dist/resources/run-class.js.map +1 -1
- package/dist/resources/run-governed.d.ts +13 -3
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +42 -9
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/resources/slot-holder.d.ts +3 -3
- package/dist/resources/slot-holder.js +3 -3
- package/dist/resources/tool-groups.d.ts +11 -7
- package/dist/resources/tool-groups.d.ts.map +1 -1
- package/dist/resources/tool-groups.js +24 -13
- package/dist/resources/tool-groups.js.map +1 -1
- package/dist/spawn/branch-integration.d.ts +281 -0
- package/dist/spawn/branch-integration.d.ts.map +1 -0
- package/dist/spawn/branch-integration.js +715 -0
- package/dist/spawn/branch-integration.js.map +1 -0
- package/dist/spawn/branch-lock.d.ts +32 -270
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +59 -770
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/spawn/index.d.ts +3 -1
- package/dist/spawn/index.d.ts.map +1 -1
- package/dist/spawn/index.js +5 -1
- package/dist/spawn/index.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +9 -4
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +3 -1
- package/dist/system/health.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts +18 -2
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +40 -6
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +3 -10
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +54 -10
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +10 -1
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +13 -3
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts +9 -6
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +75 -97
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-line.d.ts.map +1 -1
- package/dist/tasks/command-line.js +6 -2
- package/dist/tasks/command-line.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +7 -2
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +111 -29
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts +14 -0
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +17 -10
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/evidence-tree.d.ts +33 -0
- package/dist/tasks/evidence-tree.d.ts.map +1 -0
- package/dist/tasks/evidence-tree.js +132 -0
- package/dist/tasks/evidence-tree.js.map +1 -0
- package/dist/tasks/evidence.d.ts +42 -6
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +175 -79
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +3 -2
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +11 -3
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +156 -37
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/gate-staleness.d.ts +58 -0
- package/dist/tasks/gate-staleness.d.ts.map +1 -0
- package/dist/tasks/gate-staleness.js +78 -0
- package/dist/tasks/gate-staleness.js.map +1 -0
- package/dist/tasks/heavy-tool-env.d.ts +26 -1
- package/dist/tasks/heavy-tool-env.d.ts.map +1 -1
- package/dist/tasks/heavy-tool-env.js +92 -5
- package/dist/tasks/heavy-tool-env.js.map +1 -1
- package/dist/tasks/heavy-tool-limit.d.ts +24 -0
- package/dist/tasks/heavy-tool-limit.d.ts.map +1 -1
- package/dist/tasks/heavy-tool-limit.js +44 -1
- package/dist/tasks/heavy-tool-limit.js.map +1 -1
- package/dist/tasks/show.d.ts.map +1 -1
- package/dist/tasks/show.js +43 -0
- package/dist/tasks/show.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +48 -3
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +111 -3
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/tool-cache.d.ts +58 -7
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +216 -16
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +13 -0
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +34 -0
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-runner-guard.d.ts +6 -0
- package/dist/tasks/tool-runner-guard.d.ts.map +1 -1
- package/dist/tasks/tool-runner-guard.js.map +1 -1
- package/dist/tasks/tool-semaphore.js +1 -1
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/tasks/verification-policy.d.ts +26 -3
- package/dist/tasks/verification-policy.d.ts.map +1 -1
- package/dist/tasks/verification-policy.js +76 -11
- package/dist/tasks/verification-policy.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +12 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +33 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +6 -0
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +51 -1
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/worktree/force-unlock.js +2 -2
- package/dist/worktree/force-unlock.js.map +1 -1
- package/dist/worktree/list.d.ts +7 -7
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +11 -56
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/prune.d.ts +2 -2
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +4 -4
- package/dist/worktree/prune.js.map +1 -1
- package/package.json +13 -13
|
@@ -203,6 +203,36 @@ export type WriterResponseEnvelope = {
|
|
|
203
203
|
ok: false;
|
|
204
204
|
error: string;
|
|
205
205
|
};
|
|
206
|
+
/**
|
|
207
|
+
* Ask the writer worker to finish its background work (scheduled embeddings)
|
|
208
|
+
* before it is terminated (T14069). It answers {@link WriterDrainedMessage}.
|
|
209
|
+
*/
|
|
210
|
+
export interface WriterDrainMessage {
|
|
211
|
+
drain: true;
|
|
212
|
+
}
|
|
213
|
+
/** The writer worker finished its background work and may be terminated (T14069). */
|
|
214
|
+
export interface WriterDrainedMessage {
|
|
215
|
+
drained: true;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* How long {@link drainAndTerminateWriter} waits for the worker's background
|
|
219
|
+
* work before it terminates the worker anyway (T14069).
|
|
220
|
+
*/
|
|
221
|
+
export declare const WRITER_DRAIN_TIMEOUT_MS = 10000;
|
|
222
|
+
/**
|
|
223
|
+
* Stop a brain writer worker without cutting through its background work
|
|
224
|
+
* (T14069): ask it to drain, wait for its answer (at most `timeoutMs`), then
|
|
225
|
+
* terminate it. The worker embeds new observations inline, which loads the
|
|
226
|
+
* native onnxruntime addon; terminating the isolate mid-load or mid-inference
|
|
227
|
+
* can abort the whole process, and vitest reports that as "Worker exited
|
|
228
|
+
* unexpectedly".
|
|
229
|
+
*
|
|
230
|
+
* @param worker - The writer worker.
|
|
231
|
+
* @param timeoutMs - Longest wait for the drain. @defaultValue {@link WRITER_DRAIN_TIMEOUT_MS}
|
|
232
|
+
*
|
|
233
|
+
* @task T14069
|
|
234
|
+
*/
|
|
235
|
+
export declare function drainAndTerminateWriter(worker: import('node:worker_threads').Worker, timeoutMs?: number): Promise<void>;
|
|
206
236
|
/**
|
|
207
237
|
* Opt this process in to the worker-thread brain writer.
|
|
208
238
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-thread.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGlF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAiBjG;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,eAAe,GACf,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,CAAC;AAEjB,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,GAAG,EAAE,mBAAmB,CAAC;CAC1B;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,GAAG,EAAE,mBAAmB,CAAC;CAC1B;AAED,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;IAClE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,2BAA2B,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CACnD;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,YAAY,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAMD,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAMvC,iDAAiD;AACjD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,YAAY,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACnD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-thread.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,48 @@ import { getLogger } from '../logger.js';
|
|
|
64
64
|
import { resolveDualScopeDbPath } from '../store/dual-scope-db.js';
|
|
65
65
|
import { acquireWriterLease, assertWriterLeaseHeld, resolveLeaseMode, } from '../store/writer-lease.js';
|
|
66
66
|
import { _resetLongLivedBrainHostForTests, isLongLivedBrainHost, markLongLivedBrainHost, } from './brain-host.js';
|
|
67
|
+
/**
|
|
68
|
+
* How long {@link drainAndTerminateWriter} waits for the worker's background
|
|
69
|
+
* work before it terminates the worker anyway (T14069).
|
|
70
|
+
*/
|
|
71
|
+
export const WRITER_DRAIN_TIMEOUT_MS = 10_000;
|
|
72
|
+
/**
|
|
73
|
+
* Stop a brain writer worker without cutting through its background work
|
|
74
|
+
* (T14069): ask it to drain, wait for its answer (at most `timeoutMs`), then
|
|
75
|
+
* terminate it. The worker embeds new observations inline, which loads the
|
|
76
|
+
* native onnxruntime addon; terminating the isolate mid-load or mid-inference
|
|
77
|
+
* can abort the whole process, and vitest reports that as "Worker exited
|
|
78
|
+
* unexpectedly".
|
|
79
|
+
*
|
|
80
|
+
* @param worker - The writer worker.
|
|
81
|
+
* @param timeoutMs - Longest wait for the drain. @defaultValue {@link WRITER_DRAIN_TIMEOUT_MS}
|
|
82
|
+
*
|
|
83
|
+
* @task T14069
|
|
84
|
+
*/
|
|
85
|
+
export async function drainAndTerminateWriter(worker, timeoutMs = WRITER_DRAIN_TIMEOUT_MS) {
|
|
86
|
+
await new Promise((resolve) => {
|
|
87
|
+
const done = () => {
|
|
88
|
+
clearTimeout(timer);
|
|
89
|
+
worker.off('message', onMessage);
|
|
90
|
+
worker.off('exit', done);
|
|
91
|
+
resolve();
|
|
92
|
+
};
|
|
93
|
+
const onMessage = (msg) => {
|
|
94
|
+
if (typeof msg === 'object' && msg !== null && 'drained' in msg)
|
|
95
|
+
done();
|
|
96
|
+
};
|
|
97
|
+
const timer = setTimeout(done, timeoutMs);
|
|
98
|
+
worker.on('message', onMessage);
|
|
99
|
+
worker.once('exit', done);
|
|
100
|
+
try {
|
|
101
|
+
worker.postMessage({ drain: true });
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
done();
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
await worker.terminate();
|
|
108
|
+
}
|
|
67
109
|
// ============================================================================
|
|
68
110
|
// Bypass mode (CLEO_BRAIN_BYPASS_WRITER_THREAD=1)
|
|
69
111
|
// ============================================================================
|
|
@@ -173,6 +215,8 @@ class BrainWriterManager {
|
|
|
173
215
|
throw new BrainWriterShutDownError('observe');
|
|
174
216
|
const worker = new Worker(workerPath);
|
|
175
217
|
worker.on('message', (msg) => {
|
|
218
|
+
if ('drained' in msg)
|
|
219
|
+
return; // answered to drainAndTerminateWriter
|
|
176
220
|
this.handleWorkerMessage(msg);
|
|
177
221
|
});
|
|
178
222
|
worker.on('error', (err) => {
|
|
@@ -257,7 +301,8 @@ class BrainWriterManager {
|
|
|
257
301
|
}
|
|
258
302
|
if (this.worker) {
|
|
259
303
|
try {
|
|
260
|
-
|
|
304
|
+
// T14069: let its scheduled embeddings finish before terminating it.
|
|
305
|
+
await drainAndTerminateWriter(this.worker);
|
|
261
306
|
}
|
|
262
307
|
catch {
|
|
263
308
|
// ignore — worker may already be gone
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-thread.js","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAErB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAkJzB,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAC5B,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,iCAAiC,EAAE,EACrE,gFAAgF,CACjF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB;IAClC,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAOD;;;GAGG;AACH,MAAM,kBAAkB;IACd,MAAM,GAAgD,IAAI,CAAC;IAC3D,WAAW,GAAG,KAAK,CAAC;IACpB,eAAe,GAAiB,IAAI,CAAC;IACrC,WAAW,GAAyB,IAAI,CAAC;IAChC,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,UAAU,GAAG,CAAC,CAAC;IACf,YAAY,GAAG,KAAK,CAAC;IAE7B,0DAA0D;IAClD,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAClD,IAAI,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,CAAC,eAAe,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QAE9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAC9B,qEAAqE,CACtE,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,YAAY,IAAI,yBAAyB,EAAE;YAClD,MAAM,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAA2B,EAAE,EAAE;YACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,gEAAgE;YAChE,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,GAAG,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;gBACtE,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CAAC,GAA2B;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,wDAAwD;QAC9E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,EAAgB;QAC5B,0EAA0E;QAC1E,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,IAAI,CAAC,YAAY,IAAI,yBAAyB,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,wBAAwB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY,IAAI,yBAAyB,EAAE;YAClD,MAAM,IAAI,wBAAwB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QAC9B,MAAM,QAAQ,GAA0B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAEpD,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,mDAAmD;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;YAC7D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CACP,qFAAqF,CACtF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,SAAkB,CAAC;AAE7C,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,OAAgB,CAAC;AAiB1C,iEAAiE;AACjE,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,IAAI,gBAAgB,EAAE,KAAK,KAAK,EAAE,CAAC;QACjC,iEAAiE;QACjE,OAAO,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACtD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5B,kEAAkE;YAClE,qEAAqE;YACrE,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE;gBACvE,QAAQ,EAAE,EAAE;gBACZ,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC9B,6EAA6E;YAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC1B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACpB,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YACnB,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK;gBAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAE/E;;;;;GAKG;AACH,IAAI,eAAe,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;AAE1D,SAAS,SAAS,CAAC,EAAgB;IACjC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,8EAA8E;IAC9E,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAAC,EAAgB;IAC3C,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,qBAAqB,CACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,CAAC,WAAW,CAAC,CAC1D,CAAC;IACF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACrE,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,IAAI,QAAQ,GAA8B,IAAI,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,IAAI,oBAAoB,GAAG,KAAK,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,QAAQ,GAAG,yBAAkC,CAAC;IAEvD,YAAY,IAA0B;QACpC,KAAK,CACH,iFAAiF;YAC/E,qBAAqB,IAAI,qCAAqC,CACjE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,SAAS,UAAU,CAAC,OAA6B,SAAS;IACxD,mEAAmE;IACnE,4EAA4E;IAC5E,wEAAwE;IACxE,qCAAqC;IACrC,EAAE;IACF,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,QAAQ;IACR,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACpC,qCAAqC;QACrC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,GAAS,EAAE;YAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1D,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ;gBACN,EAAE,QAAQ,EAAE;iBACX,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;iBACtB,OAAO,CAAC,GAAG,EAAE;gBACZ,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAgB;IACtD,IAAI,YAA+C,CAAC;IAEpD,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,oFAAoF;IACpF,MAAM,MAAM,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClD,+CAA+C;QAC/C,IAAI,aAAa,EAAE,EAAE,CAAC;YACpB,OAAO,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,4EAA4E;QAC5E,wCAAwC;QACxC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YAChC,OAAO,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,wEAAwE;YACxE,yBAAyB;YACzB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,YAAY,wBAAwB,EAAE,CAAC;gBAC5C,wEAAwE;gBACxE,uEAAuE;gBACvE,oEAAoE;gBACpE,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAC5B,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAC9E,8EAA8E,CAC/E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAC7B,EAAE,GAAG,EAAE,GAAG,EAAE,EACZ,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,EAAE,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,uBAAuB;IACvB,oBAAoB,GAAG,IAAI,CAAC;IAC5B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,QAAQ,GAAG,IAAI,CAAC;IAChB,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,kDAAkD;IAClD,oBAAoB,GAAG,KAAK,CAAC;IAC7B,gCAAgC,EAAE,CAAC;IACnC,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACpC,aAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"brain-writer-thread.js","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import { parentPort } from 'node:worker_threads';
|
|
16
16
|
import { markBrainWriterIsolate, markLongLivedBrainHost } from './brain-host.js';
|
|
17
17
|
import { handleWriteOp } from './brain-writer-handlers.js';
|
|
18
|
+
import { drainScheduledEmbeddings } from './embedding-backfill.js';
|
|
18
19
|
if (!parentPort) {
|
|
19
20
|
throw new Error('brain-writer-worker.ts must be run as a worker thread');
|
|
20
21
|
}
|
|
@@ -55,9 +56,19 @@ async function processEnvelope(envelope) {
|
|
|
55
56
|
// we additionally serialize the *handling* so the DB writes never interleave.
|
|
56
57
|
// ---------------------------------------------------------------------------
|
|
57
58
|
let processingChain = Promise.resolve();
|
|
58
|
-
port.on('message', (
|
|
59
|
+
port.on('message', (msg) => {
|
|
60
|
+
// T14069: before it is terminated, finish the ops queued so far and the
|
|
61
|
+
// embeddings they scheduled, so termination never cuts through the native
|
|
62
|
+
// onnxruntime addon mid-load or mid-inference.
|
|
63
|
+
if ('drain' in msg) {
|
|
64
|
+
processingChain = processingChain
|
|
65
|
+
.then(() => drainScheduledEmbeddings())
|
|
66
|
+
.catch(() => undefined)
|
|
67
|
+
.then(() => port.postMessage({ drained: true }));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
59
70
|
// Chain each new request to the tail of the current processing chain so
|
|
60
71
|
// ops execute strictly sequentially.
|
|
61
|
-
processingChain = processingChain.then(() => processEnvelope(
|
|
72
|
+
processingChain = processingChain.then(() => processEnvelope(msg)).catch(() => undefined); // chain marker is failure-tolerant
|
|
62
73
|
});
|
|
63
74
|
//# sourceMappingURL=brain-writer-worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-worker.js","sourceRoot":"","sources":["../../src/memory/brain-writer-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-worker.js","sourceRoot":"","sources":["../../src/memory/brain-writer-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB,iFAAiF;AACjF,2EAA2E;AAC3E,gFAAgF;AAChF,sBAAsB,EAAE,CAAC;AACzB,uEAAuE;AACvE,sBAAsB,EAAE,CAAC;AAEzB;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,QAA+B;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAA2B;YACvC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,EAAE,EAAE,IAAI;YACR,MAAM;SACP,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,QAAQ,GAA2B;YACvC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAE9E,IAAI,eAAe,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;AAE1D,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAA+C,EAAE,EAAE;IACrE,wEAAwE;IACxE,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,eAAe,GAAG,eAAe;aAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC;aACtC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAiC,CAAC,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IACD,wEAAwE;IACxE,qCAAqC;IACrC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;AAChI,CAAC,CAAC,CAAC"}
|
|
@@ -97,4 +97,16 @@ export declare function runBoundedEmbeddingBackfill(projectRoot: string, options
|
|
|
97
97
|
* @task T13740
|
|
98
98
|
*/
|
|
99
99
|
export declare function scheduleEmbedding(projectRoot: string, id: string, text: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* Stop scheduling embeddings in this isolate and wait for the ones in flight
|
|
102
|
+
* (T14069). The brain writer worker calls it before it is terminated: an
|
|
103
|
+
* embedding loads `@huggingface/transformers` and its native onnxruntime addon,
|
|
104
|
+
* and terminating the isolate mid-load or mid-inference can abort the WHOLE
|
|
105
|
+
* process (`terminate called after throwing an instance of Napi::Error`).
|
|
106
|
+
*
|
|
107
|
+
* @returns Once every scheduled embedding has settled.
|
|
108
|
+
*
|
|
109
|
+
* @task T14069
|
|
110
|
+
*/
|
|
111
|
+
export declare function drainScheduledEmbeddings(): Promise<void>;
|
|
100
112
|
//# sourceMappingURL=embedding-backfill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-backfill.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,+EAA+E;AAC/E,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,sDAAsD;AACtD,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;IAC/D,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAoB7C;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BlF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAgCzC;
|
|
1
|
+
{"version":3,"file":"embedding-backfill.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,+EAA+E;AAC/E,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,sDAAsD;AACtD,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;IAC/D,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAoB7C;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BlF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAgCzC;AAQD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CA8BrF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9D"}
|
|
@@ -137,6 +137,10 @@ export async function runBoundedEmbeddingBackfill(projectRoot, options = {}) {
|
|
|
137
137
|
await admission.release();
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
+
/** Embeddings {@link scheduleEmbedding} started that have not finished (T14069). */
|
|
141
|
+
const _scheduledEmbeddings = new Set();
|
|
142
|
+
/** Set by {@link drainScheduledEmbeddings}: no new embedding starts in this isolate. */
|
|
143
|
+
let _embeddingsDrained = false;
|
|
140
144
|
/**
|
|
141
145
|
* Embed one freshly written memory row in the background — long-lived hosts only.
|
|
142
146
|
*
|
|
@@ -153,39 +157,55 @@ export async function runBoundedEmbeddingBackfill(projectRoot, options = {}) {
|
|
|
153
157
|
* @task T13740
|
|
154
158
|
*/
|
|
155
159
|
export function scheduleEmbedding(projectRoot, id, text) {
|
|
156
|
-
if (!isLongLivedBrainHost())
|
|
160
|
+
if (!isLongLivedBrainHost() || _embeddingsDrained)
|
|
157
161
|
return;
|
|
158
|
-
setImmediate(() => {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
const { enqueueBrainWrite } = await import('./brain-writer-thread.js');
|
|
183
|
-
await enqueueBrainWrite({ kind: 'embed', projectRoot, model, rows: [{ id, vector }] });
|
|
162
|
+
const task = new Promise((resolve) => setImmediate(resolve)).then(async () => {
|
|
163
|
+
try {
|
|
164
|
+
// T12314: registration is free; availability is checked by embedText.
|
|
165
|
+
if (!(await ensureEmbeddingProvider(projectRoot)))
|
|
166
|
+
return;
|
|
167
|
+
const model = getEmbeddingProvider()?.model;
|
|
168
|
+
const vector = await embedText(text);
|
|
169
|
+
if (!vector || !model)
|
|
170
|
+
return;
|
|
171
|
+
// T13230: inside the writer isolate the open handle IS the chokepoint's,
|
|
172
|
+
// so write directly (enqueueBrainWrite there would start a nested
|
|
173
|
+
// manager). Anywhere else (a main thread whose host ran the write
|
|
174
|
+
// inline, or any other worker thread, T13246) the op has already
|
|
175
|
+
// released the lease and the mutex, so the write goes back through
|
|
176
|
+
// the chokepoint.
|
|
177
|
+
if (isBrainWriterIsolate()) {
|
|
178
|
+
const { getBrainNativeDb } = await import('../store/memory-sqlite.js');
|
|
179
|
+
const { upsertEmbeddingRowsNative } = await import('../store/memory-accessor.js');
|
|
180
|
+
const nativeDb = getBrainNativeDb(projectRoot);
|
|
181
|
+
if (nativeDb)
|
|
182
|
+
upsertEmbeddingRowsNative(nativeDb, model, [{ id, vector }]);
|
|
183
|
+
return;
|
|
184
184
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
185
|
+
const { enqueueBrainWrite } = await import('./brain-writer-thread.js');
|
|
186
|
+
await enqueueBrainWrite({ kind: 'embed', projectRoot, model, rows: [{ id, vector }] });
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// Embedding is enrichment — the row is already persisted.
|
|
190
|
+
}
|
|
189
191
|
});
|
|
192
|
+
_scheduledEmbeddings.add(task);
|
|
193
|
+
void task.finally(() => _scheduledEmbeddings.delete(task));
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Stop scheduling embeddings in this isolate and wait for the ones in flight
|
|
197
|
+
* (T14069). The brain writer worker calls it before it is terminated: an
|
|
198
|
+
* embedding loads `@huggingface/transformers` and its native onnxruntime addon,
|
|
199
|
+
* and terminating the isolate mid-load or mid-inference can abort the WHOLE
|
|
200
|
+
* process (`terminate called after throwing an instance of Napi::Error`).
|
|
201
|
+
*
|
|
202
|
+
* @returns Once every scheduled embedding has settled.
|
|
203
|
+
*
|
|
204
|
+
* @task T14069
|
|
205
|
+
*/
|
|
206
|
+
export async function drainScheduledEmbeddings() {
|
|
207
|
+
_embeddingsDrained = true;
|
|
208
|
+
while (_scheduledEmbeddings.size > 0)
|
|
209
|
+
await Promise.allSettled([..._scheduledEmbeddings]);
|
|
190
210
|
}
|
|
191
211
|
//# sourceMappingURL=embedding-backfill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-backfill.js","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"embedding-backfill.js","sourceRoot":"","sources":["../../src/memory/embedding-backfill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cleo orchestrate spawn --include-deps` (T14045): the base a task branch
|
|
3
|
+
* starts from when it builds on dependencies whose branches have not landed.
|
|
4
|
+
*
|
|
5
|
+
* The orchestrator merges each dependency's `task/<id>` branch, `--no-ff`, into
|
|
6
|
+
* a commit made in a TEMPORARY integration worktree under the project's
|
|
7
|
+
* canonical worktree root; the primary checkout is never touched. The merge
|
|
8
|
+
* commit is then handed to the `--base` path (T14027), so the resolved-sha
|
|
9
|
+
* guard and the lifecycle audit apply as for any explicit base. Nothing is
|
|
10
|
+
* cherry-picked or rewritten: every dependency commit stays reachable.
|
|
11
|
+
*
|
|
12
|
+
* @task T14045
|
|
13
|
+
*/
|
|
14
|
+
/** One dependency branch folded into the integration commit. */
|
|
15
|
+
export interface IncludedDependency {
|
|
16
|
+
/** Dependency task id. */
|
|
17
|
+
taskId: string;
|
|
18
|
+
/** Its branch, `task/<id>`. */
|
|
19
|
+
branch: string;
|
|
20
|
+
/** The commit the branch pointed to when it was merged. */
|
|
21
|
+
sha: string;
|
|
22
|
+
}
|
|
23
|
+
/** The integration commit, or why none could be built. */
|
|
24
|
+
export type DependencyIntegration = {
|
|
25
|
+
ok: true;
|
|
26
|
+
/** Commit the task branch is created from (the last merge, or the base). */
|
|
27
|
+
sha: string;
|
|
28
|
+
/** The base the merges started from, as named (`HEAD` when none). */
|
|
29
|
+
baseRef: string;
|
|
30
|
+
/** The commit `baseRef` resolved to. */
|
|
31
|
+
baseSha: string;
|
|
32
|
+
/** Every dependency merged, in dependency order. */
|
|
33
|
+
dependencies: IncludedDependency[];
|
|
34
|
+
} | {
|
|
35
|
+
ok: false;
|
|
36
|
+
/** `E_INCLUDE_DEPS_MISSING`, `E_INCLUDE_DEPS_DIVERGED` or `E_WORKTREE_BASE_INVALID`. */
|
|
37
|
+
code: string;
|
|
38
|
+
message: string;
|
|
39
|
+
fix: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Build the integration commit for `taskId` from its dependencies' branches.
|
|
43
|
+
*
|
|
44
|
+
* A dependency with no `task/<id>` branch is refused (its work cannot be
|
|
45
|
+
* shown to be in the base), as is one sharing no history with the base or
|
|
46
|
+
* one whose merge conflicts. On success the base ref, its sha and each
|
|
47
|
+
* dependency sha are appended to `.cleo/audit/worktree-integration.jsonl`.
|
|
48
|
+
* The temporary worktree is always removed; no existing worktree is touched.
|
|
49
|
+
*
|
|
50
|
+
* @param projectRoot - The project's git checkout.
|
|
51
|
+
* @param taskId - The task being spawned.
|
|
52
|
+
* @param dependencies - Its dependency task ids, in order.
|
|
53
|
+
* @param baseRef - Ref the merges start from (`--base`); HEAD when omitted.
|
|
54
|
+
* @returns The integration commit, or the refusal.
|
|
55
|
+
* @task T14045
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildDependencyIntegration(projectRoot: string, taskId: string, dependencies: readonly string[], baseRef?: string): Promise<DependencyIntegration>;
|
|
58
|
+
//# sourceMappingURL=include-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include-deps.d.ts","sourceRoot":"","sources":["../../src/orchestrate/include-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0DAA0D;AAC1D,MAAM,MAAM,qBAAqB,GAC7B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAkBN;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CA6FhC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cleo orchestrate spawn --include-deps` (T14045): the base a task branch
|
|
3
|
+
* starts from when it builds on dependencies whose branches have not landed.
|
|
4
|
+
*
|
|
5
|
+
* The orchestrator merges each dependency's `task/<id>` branch, `--no-ff`, into
|
|
6
|
+
* a commit made in a TEMPORARY integration worktree under the project's
|
|
7
|
+
* canonical worktree root; the primary checkout is never touched. The merge
|
|
8
|
+
* commit is then handed to the `--base` path (T14027), so the resolved-sha
|
|
9
|
+
* guard and the lifecycle audit apply as for any explicit base. Nothing is
|
|
10
|
+
* cherry-picked or rewritten: every dependency commit stays reachable.
|
|
11
|
+
*
|
|
12
|
+
* @task T14045
|
|
13
|
+
*/
|
|
14
|
+
import { execFileSync } from 'node:child_process';
|
|
15
|
+
import { appendFileSync, mkdirSync, rmSync } from 'node:fs';
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
import { addTransientWorktree, removeTransientWorktree } from '@cleocode/worktree';
|
|
18
|
+
import { resolveAgentWorktreeRoot } from '../spawn/branch-lock.js';
|
|
19
|
+
function git(cwd, args) {
|
|
20
|
+
return execFileSync('git', args, {
|
|
21
|
+
cwd,
|
|
22
|
+
encoding: 'utf-8',
|
|
23
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
24
|
+
}).trim();
|
|
25
|
+
}
|
|
26
|
+
function tryGit(cwd, args) {
|
|
27
|
+
try {
|
|
28
|
+
return git(cwd, args);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Build the integration commit for `taskId` from its dependencies' branches.
|
|
36
|
+
*
|
|
37
|
+
* A dependency with no `task/<id>` branch is refused (its work cannot be
|
|
38
|
+
* shown to be in the base), as is one sharing no history with the base or
|
|
39
|
+
* one whose merge conflicts. On success the base ref, its sha and each
|
|
40
|
+
* dependency sha are appended to `.cleo/audit/worktree-integration.jsonl`.
|
|
41
|
+
* The temporary worktree is always removed; no existing worktree is touched.
|
|
42
|
+
*
|
|
43
|
+
* @param projectRoot - The project's git checkout.
|
|
44
|
+
* @param taskId - The task being spawned.
|
|
45
|
+
* @param dependencies - Its dependency task ids, in order.
|
|
46
|
+
* @param baseRef - Ref the merges start from (`--base`); HEAD when omitted.
|
|
47
|
+
* @returns The integration commit, or the refusal.
|
|
48
|
+
* @task T14045
|
|
49
|
+
*/
|
|
50
|
+
export async function buildDependencyIntegration(projectRoot, taskId, dependencies, baseRef) {
|
|
51
|
+
const base = baseRef ?? 'HEAD';
|
|
52
|
+
const baseSha = tryGit(projectRoot, ['rev-parse', '--verify', '--quiet', `${base}^{commit}`]);
|
|
53
|
+
if (!baseSha) {
|
|
54
|
+
return {
|
|
55
|
+
ok: false,
|
|
56
|
+
// @sync-invariant none:input-shape a --base that does not resolve is refused before any write
|
|
57
|
+
code: 'E_WORKTREE_BASE_INVALID',
|
|
58
|
+
message: `base '${base}' does not resolve to a commit`,
|
|
59
|
+
fix: 'Pass --base a branch, tag or sha that exists.',
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const included = [];
|
|
63
|
+
for (const dep of dependencies) {
|
|
64
|
+
const branch = `task/${dep}`;
|
|
65
|
+
const sha = tryGit(projectRoot, ['rev-parse', '--verify', '--quiet', `refs/heads/${branch}`]);
|
|
66
|
+
if (!sha) {
|
|
67
|
+
return {
|
|
68
|
+
ok: false,
|
|
69
|
+
// @sync-invariant none:input-shape a dependency with no branch is refused before any write
|
|
70
|
+
code: 'E_INCLUDE_DEPS_MISSING',
|
|
71
|
+
message: `dependency ${dep} has no branch '${branch}' to include`,
|
|
72
|
+
fix: `Spawn without --include-deps when ${dep} has already landed in the base, or restore its branch.`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
if (tryGit(projectRoot, ['merge-base', baseSha, sha]) === null) {
|
|
76
|
+
return {
|
|
77
|
+
ok: false,
|
|
78
|
+
// @sync-invariant none:input-shape a dependency that cannot merge onto the base is refused before any write
|
|
79
|
+
code: 'E_INCLUDE_DEPS_DIVERGED',
|
|
80
|
+
message: `dependency branch '${branch}' shares no history with ${base}`,
|
|
81
|
+
fix: `Rebuild ${branch} from the base, or spawn without --include-deps.`,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
included.push({ taskId: dep, branch, sha });
|
|
85
|
+
}
|
|
86
|
+
const scratch = join(resolveAgentWorktreeRoot(projectRoot), `.integration-${taskId}-${process.pid}-${Date.now()}`);
|
|
87
|
+
let sha = baseSha;
|
|
88
|
+
try {
|
|
89
|
+
mkdirSync(join(scratch, '..'), { recursive: true });
|
|
90
|
+
await addTransientWorktree({ projectRoot, worktreePath: scratch, baseRef: baseSha });
|
|
91
|
+
for (const dep of included) {
|
|
92
|
+
try {
|
|
93
|
+
git(scratch, [
|
|
94
|
+
'merge',
|
|
95
|
+
'--no-ff',
|
|
96
|
+
'--no-edit',
|
|
97
|
+
'-m',
|
|
98
|
+
`Integrate ${dep.branch} into the base of ${taskId} (--include-deps)`,
|
|
99
|
+
dep.sha,
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
tryGit(scratch, ['merge', '--abort']);
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
// @sync-invariant none:input-shape a dependency that cannot merge onto the base is refused before any write
|
|
107
|
+
code: 'E_INCLUDE_DEPS_DIVERGED',
|
|
108
|
+
message: `dependency branch '${dep.branch}' does not merge cleanly onto ${base} and the dependencies before it`,
|
|
109
|
+
fix: `Resolve the conflict on ${dep.branch} (rebase it on the base), then retry.`,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
sha = git(scratch, ['rev-parse', 'HEAD']);
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
await removeTransientWorktree(projectRoot, scratch).catch(() => undefined);
|
|
117
|
+
rmSync(scratch, { recursive: true, force: true });
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const auditDir = join(projectRoot, '.cleo', 'audit');
|
|
121
|
+
mkdirSync(auditDir, { recursive: true });
|
|
122
|
+
appendFileSync(join(auditDir, 'worktree-integration.jsonl'), `${JSON.stringify({
|
|
123
|
+
timestamp: new Date().toISOString(),
|
|
124
|
+
action: 'include-deps',
|
|
125
|
+
taskId,
|
|
126
|
+
baseRef: base,
|
|
127
|
+
baseSha,
|
|
128
|
+
integrationSha: sha,
|
|
129
|
+
dependencies: included,
|
|
130
|
+
agent: process.env['CLEO_AGENT_ID'] ?? 'cleo',
|
|
131
|
+
})}\n`, 'utf-8');
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// Audit is best-effort, as for every worktree-integration row.
|
|
135
|
+
}
|
|
136
|
+
return { ok: true, sha, baseRef: base, baseSha, dependencies: included };
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=include-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include-deps.js","sourceRoot":"","sources":["../../src/orchestrate/include-deps.ts"],"names":[],"mappings":"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"}
|