wicked-crew 0.7.0 → 0.7.1
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/README.md +103 -0
- package/dist/api/endpoint-manifest-live.d.ts +29 -0
- package/dist/api/endpoint-manifest-live.d.ts.map +1 -0
- package/dist/api/endpoint-manifest-live.js +72 -0
- package/dist/api/endpoint-manifest-live.js.map +1 -0
- package/dist/api/endpoint-manifest.d.ts +107 -0
- package/dist/api/endpoint-manifest.d.ts.map +1 -0
- package/dist/api/endpoint-manifest.js +108 -0
- package/dist/api/endpoint-manifest.js.map +1 -0
- package/dist/api/requirements.d.ts +7 -0
- package/dist/api/requirements.d.ts.map +1 -1
- package/dist/api/requirements.js +23 -2
- package/dist/api/requirements.js.map +1 -1
- package/dist/api/routes.d.ts +4 -4
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +48 -8
- package/dist/api/routes.js.map +1 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +50 -4
- package/dist/api/server.js.map +1 -1
- package/dist/cli/index.js +13 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adapter.d.ts +12 -0
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js +59 -6
- package/dist/core/adapter.js.map +1 -1
- package/dist/core/deliverable-floor.d.ts +65 -13
- package/dist/core/deliverable-floor.d.ts.map +1 -1
- package/dist/core/deliverable-floor.js +96 -21
- package/dist/core/deliverable-floor.js.map +1 -1
- package/dist/interactive/bridge-pool.d.ts +24 -0
- package/dist/interactive/bridge-pool.d.ts.map +1 -1
- package/dist/interactive/bridge-pool.js +26 -2
- package/dist/interactive/bridge-pool.js.map +1 -1
- package/dist/interactive/edit-events.d.ts +3 -2
- package/dist/interactive/edit-events.d.ts.map +1 -1
- package/dist/interactive/edit-events.js +15 -7
- package/dist/interactive/edit-events.js.map +1 -1
- package/dist/projects/graph-paths.d.ts +32 -2
- package/dist/projects/graph-paths.d.ts.map +1 -1
- package/dist/projects/graph-paths.js +49 -4
- package/dist/projects/graph-paths.js.map +1 -1
- package/dist/projects/graph.d.ts +13 -1
- package/dist/projects/graph.d.ts.map +1 -1
- package/dist/projects/graph.js +73 -19
- package/dist/projects/graph.js.map +1 -1
- package/dist/projects/routes.d.ts +10 -0
- package/dist/projects/routes.d.ts.map +1 -1
- package/dist/projects/routes.js +18 -1
- package/dist/projects/routes.js.map +1 -1
- package/dist/qe/ledger.d.ts +3 -2
- package/dist/qe/ledger.d.ts.map +1 -1
- package/dist/qe/ledger.js +5 -4
- package/dist/qe/ledger.js.map +1 -1
- package/dist/studio/assets/{index-8p8uwCxG.js → index-D-BFUYnY.js} +76 -76
- package/dist/studio/index.html +1 -1
- package/endpoint-manifest.json +624 -0
- package/package.json +8 -5
|
@@ -29,6 +29,30 @@ import { spawn as nodeSpawn } from 'node:child_process';
|
|
|
29
29
|
import { mkdirSync, readFileSync } from 'node:fs';
|
|
30
30
|
import { join, resolve } from 'node:path';
|
|
31
31
|
export const LOCK_NAME = '.wi-serve.json';
|
|
32
|
+
/**
|
|
33
|
+
* The wicked-interactive range crew will start, as an npm spec.
|
|
34
|
+
*
|
|
35
|
+
* The spawn used to be a bare `npx --yes wicked-interactive`, which resolves whatever the public
|
|
36
|
+
* registry calls `latest` AT RUNTIME — no lockfile entry, no integrity hash, no floor. Three things
|
|
37
|
+
* follow from that, and none of them are theoretical:
|
|
38
|
+
*
|
|
39
|
+
* - a breaking wicked-interactive release changes crew's behaviour with no crew change, no review,
|
|
40
|
+
* and nothing in crew's history to point at during the incident;
|
|
41
|
+
* - crew has no way to REQUIRE a route it depends on. The learned-theme readback
|
|
42
|
+
* (`GET /d/:docId/api/theme/learned`, interactive#181) shipped in 0.8.1; against 0.8.0 the
|
|
43
|
+
* brand-learn surface polls forever and degrades silently. A floor turns that into a resolvable
|
|
44
|
+
* version, not a mystery;
|
|
45
|
+
* - the resolution is a network fetch from a public registry into a long-lived daemon.
|
|
46
|
+
*
|
|
47
|
+
* A caret floor is the smallest fix that closes the first two: it pins the MAJOR-compatible range so
|
|
48
|
+
* a 0.9.0 cannot arrive unannounced, and it states the minimum crew actually needs. It does NOT make
|
|
49
|
+
* the fetch reproducible — that needs a real dependency with a lockfile entry, which is the
|
|
50
|
+
* follow-up this comment exists to keep visible.
|
|
51
|
+
*
|
|
52
|
+
* Bump this when crew starts depending on a newer interactive route, and say which route in the
|
|
53
|
+
* commit.
|
|
54
|
+
*/
|
|
55
|
+
export const INTERACTIVE_SPEC = 'wicked-interactive@^0.8.1';
|
|
32
56
|
/** ADR-0025: 1.5 s × 3 while the pid lives. */
|
|
33
57
|
export const HEALTH_TIMEOUT_MS = 1500;
|
|
34
58
|
export const HEALTH_ATTEMPTS = 3;
|
|
@@ -46,7 +70,7 @@ export class BridgeUnavailableError extends Error {
|
|
|
46
70
|
}
|
|
47
71
|
/** The one command that reproduces a failed start in a terminal, where its output is visible. */
|
|
48
72
|
function serveCommand(root) {
|
|
49
|
-
return `npx
|
|
73
|
+
return `npx ${INTERACTIVE_SPEC} serve --root ${root}`;
|
|
50
74
|
}
|
|
51
75
|
/**
|
|
52
76
|
* The daemon's own http origin from its bound server address, or null before `listen`. Wildcard
|
|
@@ -235,7 +259,7 @@ export class InteractiveBridgePool {
|
|
|
235
259
|
function defaultSpawn(root) {
|
|
236
260
|
// `--yes` is load-bearing: without it npx PROMPTS when the package is not installed, and a
|
|
237
261
|
// daemon has no tty to answer with — the request would hang instead of failing to a 503.
|
|
238
|
-
return nodeSpawn('npx', ['--yes',
|
|
262
|
+
return nodeSpawn('npx', ['--yes', INTERACTIVE_SPEC, 'serve', '--root', root], {
|
|
239
263
|
cwd: root,
|
|
240
264
|
detached: true,
|
|
241
265
|
stdio: 'ignore',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-pool.js","sourceRoot":"","sources":["../../src/interactive/bridge-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge-pool.js","sourceRoot":"","sources":["../../src/interactive/bridge-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,8 +139,9 @@ export interface InteractiveEditOptions {
|
|
|
139
139
|
heartbeatMs?: number;
|
|
140
140
|
/** Ledger file (default `~/.wicked-crew/interactive-edit-ledger.json`). */
|
|
141
141
|
ledgerPath?: string;
|
|
142
|
-
/**
|
|
143
|
-
* (default `~/.wicked-crew/interactive-edits`).
|
|
142
|
+
/** Root under which each handoff gets its OWN subdirectory (`<editDir>/<safeKey>/`) holding
|
|
143
|
+
* that handoff's JSON + edited fragments (default `~/.wicked-crew/interactive-edits`). Only
|
|
144
|
+
* the per-handoff subdirectory is ever declared as a run's write root — see crew#314. */
|
|
144
145
|
editDir?: string;
|
|
145
146
|
/** Seat roster JSON for the governed run (default: the production council roster).
|
|
146
147
|
* The functional-test harness passes a deterministic stub seat here. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-events.d.ts","sourceRoot":"","sources":["../../src/interactive/edit-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAcH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/E,eAAO,MAAM,kBAAkB,0CAA0C,CAAC;AAC1E,eAAO,MAAM,cAAc,sCAAsC,CAAC;AAElE,gGAAgG;AAChG,eAAO,MAAM,2BAA2B,6DAAgD,CAAC;AAEzF;4EAC4E;AAC5E,eAAO,MAAM,2BAA2B,iCAAiC,CAAC;AAI1E,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,EAAE,WAqB3C,CAAC;AAIF,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CA+BrG;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;yEACyE;AACzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CAK9F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CASnF;AAID,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED;;;iCAGiC;AACjC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAGnE;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,cAAc,CAyB3E;AAID,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC;gGAC4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;iFAC6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;
|
|
1
|
+
{"version":3,"file":"edit-events.d.ts","sourceRoot":"","sources":["../../src/interactive/edit-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -493,10 +493,16 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
|
|
|
493
493
|
if (f.key === key)
|
|
494
494
|
return;
|
|
495
495
|
}
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
496
|
+
// PER-HANDOFF ISOLATION (crew#314, same class as crew#313's draft/chat fix): every file this
|
|
497
|
+
// run reads or writes lives under ONE per-handoff directory, so the write root declared below
|
|
498
|
+
// can be that directory instead of the whole shared `editDir`. The handoff JSON used to sit
|
|
499
|
+
// directly under `editDir`, which forced the wholesale declaration and handed each worker
|
|
500
|
+
// read+write access to every SIBLING handoff's fragments and instructions.
|
|
501
|
+
const safeKey = key.replace(/[^a-zA-Z0-9_-]/g, '-');
|
|
502
|
+
const runDir = join(editDir, safeKey);
|
|
503
|
+
mkdirSync(runDir, { recursive: true });
|
|
504
|
+
const items = handoffFileItems(handoff, runDir);
|
|
505
|
+
const handoffPath = join(runDir, 'handoff.json');
|
|
500
506
|
writeFileSync(handoffPath, JSON.stringify({ document_id: handoff.documentId, version: handoff.version, items }, null, 2), 'utf8');
|
|
501
507
|
const runId = randomUUID();
|
|
502
508
|
emitInteractive(STATUS_POSTED, {
|
|
@@ -514,11 +520,13 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
|
|
|
514
520
|
// The 7b surface: a project-bound doc's governed edits are FILED — the run lands in
|
|
515
521
|
// the project's activity feed instead of floating unattributed.
|
|
516
522
|
...(handoff.projectId !== undefined ? { projectId: handoff.projectId } : {}),
|
|
517
|
-
// The task names the handoff JSON + per-block output files under `
|
|
523
|
+
// The task names the handoff JSON + per-block output files under `runDir`, which sits
|
|
518
524
|
// OUTSIDE the unit's sandbox — the wrapped-CLI boundary would deny both the reads and
|
|
519
525
|
// the deliverable writes (crew#263, same shape as the draft path). One declared root
|
|
520
|
-
// covers both: write roots are readable (wicked-core#259).
|
|
521
|
-
|
|
526
|
+
// covers both: write roots are readable (wicked-core#259). It is the PER-HANDOFF dir,
|
|
527
|
+
// never the shared `editDir` (crew#314): a wholesale declaration would let this worker
|
|
528
|
+
// read and overwrite every other in-flight handoff's fragments.
|
|
529
|
+
extraWriteRoots: [runDir],
|
|
522
530
|
// THE DELIVERABLE FLOOR (crew#311): EVERY handed-off fragment file is a deliverable, so
|
|
523
531
|
// a run that rewrote three blocks and wrote one file fails too — the floor is per-path,
|
|
524
532
|
// not "did anything land". Without it the engine's substance floor passes a worker
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-events.js","sourceRoot":"","sources":["../../src/interactive/edit-events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"edit-events.js","sourceRoot":"","sources":["../../src/interactive/edit-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,21 @@
|
|
|
25
25
|
* manifest that describes it together, so removing a project's graph is one `rm -rf` that cannot
|
|
26
26
|
* leave a manifest describing a database that is gone.
|
|
27
27
|
*
|
|
28
|
+
* # Why the root FOLLOWS `--db` (crew#330)
|
|
29
|
+
*
|
|
30
|
+
* `~/.wicked-crew` is the daemon's DEFAULT state home, not its definition. A daemon started with
|
|
31
|
+
* `--db $SCRATCH/core.db --bus-db $SCRATCH/bus.db` reads as fully isolated — and then built its
|
|
32
|
+
* project graph in the developer's real home, 41.7 MB keyed by project ids that only the scratch
|
|
33
|
+
* store ever knew, with nothing to reap them. One `--db` must move everything durable, so the
|
|
34
|
+
* bootstrap threads the RESOLVED state home (the `--db` parent) into this module via
|
|
35
|
+
* {@link setProjectGraphStateHome}, and the resolver here prefers it over the homedir fallback.
|
|
36
|
+
* With no `--db`, the resolved state home IS `~/.wicked-crew`, so the default daemon's paths are
|
|
37
|
+
* byte-identical to what they were before the fix.
|
|
38
|
+
*
|
|
28
39
|
* Overridable with `WICKED_CREW_PROJECT_GRAPH_ROOT` — the same escape hatch
|
|
29
40
|
* `WICKED_CREW_PROJECT_SETTINGS` gives the settings store, and what lets the tests and the proof
|
|
30
|
-
* scripts run without touching a developer's real home.
|
|
41
|
+
* scripts run without touching a developer's real home. The env override outranks the configured
|
|
42
|
+
* state home: it is the more specific instruction ("graphs go THERE") and the one CI already uses.
|
|
31
43
|
*/
|
|
32
44
|
/**
|
|
33
45
|
* The estate label charset, copied from the rule that enforces it
|
|
@@ -74,7 +86,25 @@ export declare function repoLabel(repoId: string): string;
|
|
|
74
86
|
* synthesized `default` both pass; anything that does not is a bug worth hearing about.
|
|
75
87
|
*/
|
|
76
88
|
export declare function assertProjectIdIsPathSafe(projectId: string): void;
|
|
77
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* The state home the daemon was ACTUALLY given, derived from its resolved core-db path — the seam
|
|
91
|
+
* that makes `--db` move the project graphs along with everything else durable (crew#330).
|
|
92
|
+
*
|
|
93
|
+
* Called from the CLI bootstrap (the one place that knows the resolved `--db`), before any route
|
|
94
|
+
* can resolve a graph path. `undefined` clears it (tests). Idempotent; the last call wins, which
|
|
95
|
+
* is harmless because a process boots one daemon.
|
|
96
|
+
*/
|
|
97
|
+
export declare function setProjectGraphStateHome(stateHome: string | undefined): void;
|
|
98
|
+
/**
|
|
99
|
+
* A core-db path → the state home it implies. Pure and exported so the bootstrap and the
|
|
100
|
+
* regression test spell the derivation once: `dirname` of the ABSOLUTE db path, so a relative
|
|
101
|
+
* `--db ./scratch/core.db` still lands its graphs next to the db it named rather than resolving
|
|
102
|
+
* differently on every later `join`.
|
|
103
|
+
*/
|
|
104
|
+
export declare function stateHomeOfDb(dbPath: string): string;
|
|
105
|
+
/** The root every project graph directory hangs off. Precedence: explicit env override, then the
|
|
106
|
+
* daemon's configured state home (the `--db` parent — crew#330), then the `~/.wicked-crew`
|
|
107
|
+
* default (which is also what the configured state home resolves to when `--db` was not given). */
|
|
78
108
|
export declare function projectGraphRoot(env?: NodeJS.ProcessEnv): string;
|
|
79
109
|
/** One project's graph directory — holds the database and the manifest that describes it. */
|
|
80
110
|
export declare function projectGraphDir(projectId: string, env?: NodeJS.ProcessEnv): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-paths.d.ts","sourceRoot":"","sources":["../../src/projects/graph-paths.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graph-paths.d.ts","sourceRoot":"","sources":["../../src/projects/graph-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAMH;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQvD;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAcjE;AASD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;oGAEoG;AACpG,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAK7E;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAG/F;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE9F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEpG"}
|
|
@@ -25,13 +25,25 @@
|
|
|
25
25
|
* manifest that describes it together, so removing a project's graph is one `rm -rf` that cannot
|
|
26
26
|
* leave a manifest describing a database that is gone.
|
|
27
27
|
*
|
|
28
|
+
* # Why the root FOLLOWS `--db` (crew#330)
|
|
29
|
+
*
|
|
30
|
+
* `~/.wicked-crew` is the daemon's DEFAULT state home, not its definition. A daemon started with
|
|
31
|
+
* `--db $SCRATCH/core.db --bus-db $SCRATCH/bus.db` reads as fully isolated — and then built its
|
|
32
|
+
* project graph in the developer's real home, 41.7 MB keyed by project ids that only the scratch
|
|
33
|
+
* store ever knew, with nothing to reap them. One `--db` must move everything durable, so the
|
|
34
|
+
* bootstrap threads the RESOLVED state home (the `--db` parent) into this module via
|
|
35
|
+
* {@link setProjectGraphStateHome}, and the resolver here prefers it over the homedir fallback.
|
|
36
|
+
* With no `--db`, the resolved state home IS `~/.wicked-crew`, so the default daemon's paths are
|
|
37
|
+
* byte-identical to what they were before the fix.
|
|
38
|
+
*
|
|
28
39
|
* Overridable with `WICKED_CREW_PROJECT_GRAPH_ROOT` — the same escape hatch
|
|
29
40
|
* `WICKED_CREW_PROJECT_SETTINGS` gives the settings store, and what lets the tests and the proof
|
|
30
|
-
* scripts run without touching a developer's real home.
|
|
41
|
+
* scripts run without touching a developer's real home. The env override outranks the configured
|
|
42
|
+
* state home: it is the more specific instruction ("graphs go THERE") and the one CI already uses.
|
|
31
43
|
*/
|
|
32
44
|
import { createHash } from 'node:crypto';
|
|
33
45
|
import { homedir } from 'node:os';
|
|
34
|
-
import { join } from 'node:path';
|
|
46
|
+
import { dirname, join, resolve } from 'node:path';
|
|
35
47
|
/**
|
|
36
48
|
* The estate label charset, copied from the rule that enforces it
|
|
37
49
|
* (`wicked-estate/src/repo_scope.rs::validate_label`): 1–64 chars of `[A-Za-z0-9._-]`, and never
|
|
@@ -103,9 +115,42 @@ export function assertProjectIdIsPathSafe(projectId) {
|
|
|
103
115
|
throw new Error(`project id ${JSON.stringify(projectId)} cannot address a project graph directory: ${why}`);
|
|
104
116
|
}
|
|
105
117
|
}
|
|
106
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* The daemon's RESOLVED state home — set once at bootstrap from the `--db` parent (crew#330),
|
|
120
|
+
* `undefined` for library consumers and unit tests that never boot a daemon (they fall through to
|
|
121
|
+
* the homedir default, exactly the pre-fix behaviour).
|
|
122
|
+
*/
|
|
123
|
+
let configuredStateHome;
|
|
124
|
+
/**
|
|
125
|
+
* The state home the daemon was ACTUALLY given, derived from its resolved core-db path — the seam
|
|
126
|
+
* that makes `--db` move the project graphs along with everything else durable (crew#330).
|
|
127
|
+
*
|
|
128
|
+
* Called from the CLI bootstrap (the one place that knows the resolved `--db`), before any route
|
|
129
|
+
* can resolve a graph path. `undefined` clears it (tests). Idempotent; the last call wins, which
|
|
130
|
+
* is harmless because a process boots one daemon.
|
|
131
|
+
*/
|
|
132
|
+
export function setProjectGraphStateHome(stateHome) {
|
|
133
|
+
configuredStateHome = stateHome;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A core-db path → the state home it implies. Pure and exported so the bootstrap and the
|
|
137
|
+
* regression test spell the derivation once: `dirname` of the ABSOLUTE db path, so a relative
|
|
138
|
+
* `--db ./scratch/core.db` still lands its graphs next to the db it named rather than resolving
|
|
139
|
+
* differently on every later `join`.
|
|
140
|
+
*/
|
|
141
|
+
export function stateHomeOfDb(dbPath) {
|
|
142
|
+
return dirname(resolve(dbPath));
|
|
143
|
+
}
|
|
144
|
+
/** The root every project graph directory hangs off. Precedence: explicit env override, then the
|
|
145
|
+
* daemon's configured state home (the `--db` parent — crew#330), then the `~/.wicked-crew`
|
|
146
|
+
* default (which is also what the configured state home resolves to when `--db` was not given). */
|
|
107
147
|
export function projectGraphRoot(env = process.env) {
|
|
108
|
-
|
|
148
|
+
const override = env['WICKED_CREW_PROJECT_GRAPH_ROOT'];
|
|
149
|
+
if (override !== undefined)
|
|
150
|
+
return override;
|
|
151
|
+
if (configuredStateHome !== undefined)
|
|
152
|
+
return join(configuredStateHome, 'project-graphs');
|
|
153
|
+
return join(homedir(), '.wicked-crew', 'project-graphs');
|
|
109
154
|
}
|
|
110
155
|
/** One project's graph directory — holds the database and the manifest that describes it. */
|
|
111
156
|
export function projectGraphDir(projectId, env = process.env) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-paths.js","sourceRoot":"","sources":["../../src/projects/graph-paths.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graph-paths.js","sourceRoot":"","sources":["../../src/projects/graph-paths.ts"],"names":[],"mappings":"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"}
|
package/dist/projects/graph.d.ts
CHANGED
|
@@ -89,7 +89,19 @@ export declare class ProjectGraphEngineTooOldError extends Error {
|
|
|
89
89
|
}
|
|
90
90
|
/** Read the project graph's standing without touching it. */
|
|
91
91
|
export declare function projectGraphStatus(adapter: CoreAdapter, projectId: string, env?: NodeJS.ProcessEnv): Promise<ProjectGraphStatus>;
|
|
92
|
-
|
|
92
|
+
/** What a refresh was asked to do, and where it may say things. Both optional, both additive. */
|
|
93
|
+
export interface RefreshOptions {
|
|
94
|
+
/**
|
|
95
|
+
* Bypass the clean-HEAD skip for every member repo AND pass `--force` to `wicked-estate index`.
|
|
96
|
+
* The migration path: after a wicked-estate upgrade, an UNCHANGED repo never re-indexes under
|
|
97
|
+
* the plain rules, so its rows keep the old binary's id scheme and unresolved accounting until
|
|
98
|
+
* its HEAD happens to move. Costs a full rebuild — the same bound as the project's first build.
|
|
99
|
+
*/
|
|
100
|
+
force?: boolean;
|
|
101
|
+
/** Receives one line per index run that wrote to stderr (estate's migration notice, warnings). */
|
|
102
|
+
log?: (msg: string) => void;
|
|
103
|
+
}
|
|
104
|
+
export declare function refreshProjectGraph(adapter: CoreAdapter, projectId: string, env?: NodeJS.ProcessEnv, opts?: RefreshOptions): Promise<ProjectGraphRefreshResult>;
|
|
93
105
|
/**
|
|
94
106
|
* Passed to the engine as `LaunchOptions.projectGraph`. `repoLabel` names this run's repo inside
|
|
95
107
|
* the co-located graph so the engine can confirm the graph actually holds it; a repo-less run
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/projects/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EAEzB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAG1B,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,QAEkE,CAAC;AAEhG;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,QAGiB,CAAC;AA2H9C;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CASpG;AAoBD;;;;;;;;GAQG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAoLD;;;;;;;;;;;GAWG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAInC;AAYD,6DAA6D;AAC7D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,kBAAkB,CAAC,CA0B7B;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/projects/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/projects/graph.js
CHANGED
|
@@ -397,34 +397,48 @@ export async function projectGraphStatus(adapter, projectId, env = process.env)
|
|
|
397
397
|
const manifest = dbExists ? await readManifest(projectId, env) : null;
|
|
398
398
|
return buildStatus({ projectId, members, manifest, dbExists, env });
|
|
399
399
|
}
|
|
400
|
-
// ── Refresh ───────────────────────────────────────────────────────────────────
|
|
401
|
-
/**
|
|
402
|
-
* One refresh at a time per project. Two `wicked-estate index` runs against one SQLite file is a
|
|
403
|
-
* writer race, and the second caller wanting the same work done is served by the first — so
|
|
404
|
-
* concurrent callers COALESCE onto the in-flight refresh rather than getting a 409 for asking.
|
|
405
|
-
*/
|
|
406
400
|
const inFlight = new Map();
|
|
407
|
-
export async function refreshProjectGraph(adapter, projectId, env = process.env) {
|
|
401
|
+
export async function refreshProjectGraph(adapter, projectId, env = process.env, opts = {}) {
|
|
402
|
+
const force = opts.force === true;
|
|
408
403
|
const running = inFlight.get(projectId);
|
|
409
|
-
if (running !== undefined)
|
|
410
|
-
return running;
|
|
411
|
-
const
|
|
412
|
-
|
|
413
|
-
|
|
404
|
+
if (running !== undefined && (running.force || !force))
|
|
405
|
+
return running.promise;
|
|
406
|
+
const after = running?.promise ?? Promise.resolve(undefined);
|
|
407
|
+
const promise = after
|
|
408
|
+
// The prior refresh's failure belongs to its own caller; this one still runs.
|
|
409
|
+
.catch(() => undefined)
|
|
410
|
+
.then(() => doRefresh(adapter, projectId, env, force, opts.log))
|
|
411
|
+
// The delete is guarded: a queued forced entry replaces a plain one in the map, and the plain
|
|
412
|
+
// one settling must not evict its successor.
|
|
413
|
+
.finally(() => {
|
|
414
|
+
if (inFlight.get(projectId) === entry)
|
|
415
|
+
inFlight.delete(projectId);
|
|
416
|
+
});
|
|
417
|
+
const entry = { force, promise };
|
|
418
|
+
inFlight.set(projectId, entry);
|
|
419
|
+
return promise;
|
|
420
|
+
}
|
|
421
|
+
/** Last `max` bytes of a stderr stream, trimmed — enough to carry estate's migration notice. */
|
|
422
|
+
const STDERR_TAIL_BYTES = 2048;
|
|
423
|
+
function stderrTail(stderr, max = STDERR_TAIL_BYTES) {
|
|
424
|
+
const trimmed = stderr.trim();
|
|
425
|
+
return trimmed.length <= max ? trimmed : `…${trimmed.slice(trimmed.length - max)}`;
|
|
414
426
|
}
|
|
415
|
-
async function doRefresh(adapter, projectId, env) {
|
|
427
|
+
async function doRefresh(adapter, projectId, env, force, log) {
|
|
416
428
|
const members = await resolveMembers(adapter, projectId);
|
|
417
429
|
assertEngineFresh(members.repos);
|
|
418
430
|
const dbPath = projectGraphDb(projectId, env);
|
|
419
431
|
const indexed = [];
|
|
420
432
|
const skipped = [];
|
|
421
433
|
const failed = [];
|
|
434
|
+
const repoRows = [];
|
|
422
435
|
if (members.repos.length === 0) {
|
|
423
436
|
return {
|
|
424
437
|
status: buildStatus({ projectId, members, manifest: null, dbExists: existsSync(dbPath), env }),
|
|
425
438
|
indexed,
|
|
426
439
|
skipped,
|
|
427
440
|
failed,
|
|
441
|
+
repos: repoRows,
|
|
428
442
|
};
|
|
429
443
|
}
|
|
430
444
|
assertLabelsUnique(members.repos);
|
|
@@ -464,18 +478,42 @@ async function doRefresh(adapter, projectId, env) {
|
|
|
464
478
|
const before = priorByLabel.get(m.label);
|
|
465
479
|
// Skip only on POSITIVE evidence: a clean checkout, at the same commit the graph already holds,
|
|
466
480
|
// in the same place it was indexed from. Anything less re-indexes — estate's own incremental
|
|
467
|
-
// digest skip
|
|
468
|
-
//
|
|
469
|
-
|
|
481
|
+
// digest skip usually makes an unchanged re-index cheap (the exception is estate's id_scheme
|
|
482
|
+
// migration gate, which turns the first index under a new scheme into a full re-extract — once,
|
|
483
|
+
// and the stderr tail on the repo's row says so), so the cost of being wrong here is bounded,
|
|
484
|
+
// never a stale answer.
|
|
485
|
+
//
|
|
486
|
+
// `force` bypasses this ON PURPOSE: the skip fires on git evidence alone, so it also skips a
|
|
487
|
+
// repo whose rows were written by an OLDER estate binary — the one situation where "unchanged
|
|
488
|
+
// checkout" does not mean "current graph". Force is the migration path for exactly that.
|
|
489
|
+
if (!force &&
|
|
490
|
+
dbExisted &&
|
|
470
491
|
before !== undefined &&
|
|
471
492
|
head !== null &&
|
|
472
493
|
before.head === head &&
|
|
473
494
|
before.rootPath === m.repo.root_path) {
|
|
474
495
|
skipped.push(m.label);
|
|
496
|
+
repoRows.push({ repoId: m.repoId, label: m.label, action: 'skipped-head-unchanged' });
|
|
475
497
|
continue;
|
|
476
498
|
}
|
|
477
499
|
try {
|
|
478
|
-
await execCapped(estateExe(env), [
|
|
500
|
+
const { stderr } = await execCapped(estateExe(env), [
|
|
501
|
+
'index',
|
|
502
|
+
m.repo.root_path,
|
|
503
|
+
'--db',
|
|
504
|
+
dbPath,
|
|
505
|
+
'--repo',
|
|
506
|
+
m.label,
|
|
507
|
+
// estate's own digest skip would otherwise no-op an unchanged repo, leaving the very rows
|
|
508
|
+
// a forced refresh exists to rewrite.
|
|
509
|
+
...(force ? ['--force'] : []),
|
|
510
|
+
], { timeout: INDEX_TIMEOUT_MS, cwd: m.repo.root_path });
|
|
511
|
+
// The index child's stderr used to be discarded here, which swallowed estate's id_scheme
|
|
512
|
+
// migration notice — the ONE signal explaining why a one-second incremental refresh suddenly
|
|
513
|
+
// ran for minutes. Bounded tail on the repo's row, full-line through the logger.
|
|
514
|
+
const tail = stderrTail(stderr);
|
|
515
|
+
if (tail !== '')
|
|
516
|
+
log?.(`wicked-estate index ${m.label} (project ${projectId}) stderr: ${tail}`);
|
|
479
517
|
if (!verifiedLabelling) {
|
|
480
518
|
if (!(await graphHoldsLabel(dbPath, m.label, env))) {
|
|
481
519
|
throw new EstateDroppedRepoLabelError(`wicked-estate indexed ${m.repoId} but the graph records no repo labelled ` +
|
|
@@ -497,6 +535,12 @@ async function doRefresh(adapter, projectId, env) {
|
|
|
497
535
|
else
|
|
498
536
|
rows.push(row);
|
|
499
537
|
indexed.push(m.label);
|
|
538
|
+
repoRows.push({
|
|
539
|
+
repoId: m.repoId,
|
|
540
|
+
label: m.label,
|
|
541
|
+
action: 'indexed',
|
|
542
|
+
...(tail === '' ? {} : { stderrTail: tail }),
|
|
543
|
+
});
|
|
500
544
|
}
|
|
501
545
|
catch (err) {
|
|
502
546
|
// A binary that drops `--repo` is a property of the RUN, not of this repo: every remaining
|
|
@@ -515,10 +559,19 @@ async function doRefresh(adapter, projectId, env) {
|
|
|
515
559
|
await writeManifest(projectId, { version: 1, projectId, repos: [] }, env);
|
|
516
560
|
throw err;
|
|
517
561
|
}
|
|
518
|
-
|
|
562
|
+
const error = err instanceof ExecOutputTooLarge ? err.message : message(err);
|
|
563
|
+
failed.push({ repoId: m.repoId, label: m.label, error });
|
|
564
|
+
// execFile errors carry the child's stderr; the failure tail is worth as much as a success's.
|
|
565
|
+
const errStderr = err.stderr;
|
|
566
|
+
const tail = typeof errStderr === 'string' ? stderrTail(errStderr) : '';
|
|
567
|
+
if (tail !== '')
|
|
568
|
+
log?.(`wicked-estate index ${m.label} (project ${projectId}) stderr: ${tail}`);
|
|
569
|
+
repoRows.push({
|
|
519
570
|
repoId: m.repoId,
|
|
520
571
|
label: m.label,
|
|
521
|
-
|
|
572
|
+
action: 'failed',
|
|
573
|
+
error,
|
|
574
|
+
...(tail === '' ? {} : { stderrTail: tail }),
|
|
522
575
|
});
|
|
523
576
|
}
|
|
524
577
|
}
|
|
@@ -529,6 +582,7 @@ async function doRefresh(adapter, projectId, env) {
|
|
|
529
582
|
indexed,
|
|
530
583
|
skipped,
|
|
531
584
|
failed,
|
|
585
|
+
repos: repoRows,
|
|
532
586
|
};
|
|
533
587
|
}
|
|
534
588
|
/**
|