wicked-crew 0.7.7 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/api/audit.d.ts +9 -1
  2. package/dist/api/audit.d.ts.map +1 -1
  3. package/dist/api/audit.js +11 -3
  4. package/dist/api/audit.js.map +1 -1
  5. package/dist/api/delivery-index.d.ts +94 -7
  6. package/dist/api/delivery-index.d.ts.map +1 -1
  7. package/dist/api/delivery-index.js +182 -4
  8. package/dist/api/delivery-index.js.map +1 -1
  9. package/dist/api/elicitation-cache.d.ts +10 -0
  10. package/dist/api/elicitation-cache.d.ts.map +1 -1
  11. package/dist/api/elicitation-cache.js +18 -0
  12. package/dist/api/elicitation-cache.js.map +1 -1
  13. package/dist/api/governance-steering.d.ts +8 -0
  14. package/dist/api/governance-steering.d.ts.map +1 -1
  15. package/dist/api/governance-steering.js +36 -12
  16. package/dist/api/governance-steering.js.map +1 -1
  17. package/dist/api/post-hoc-deliver.d.ts +38 -0
  18. package/dist/api/post-hoc-deliver.d.ts.map +1 -0
  19. package/dist/api/post-hoc-deliver.js +57 -0
  20. package/dist/api/post-hoc-deliver.js.map +1 -0
  21. package/dist/api/routes.d.ts +34 -7
  22. package/dist/api/routes.d.ts.map +1 -1
  23. package/dist/api/routes.js +314 -35
  24. package/dist/api/routes.js.map +1 -1
  25. package/dist/api/seat-signin.d.ts +18 -2
  26. package/dist/api/seat-signin.d.ts.map +1 -1
  27. package/dist/api/seat-signin.js +21 -2
  28. package/dist/api/seat-signin.js.map +1 -1
  29. package/dist/api/server.d.ts +22 -7
  30. package/dist/api/server.d.ts.map +1 -1
  31. package/dist/api/server.js +131 -22
  32. package/dist/api/server.js.map +1 -1
  33. package/dist/api/stall-watchdog.d.ts +46 -21
  34. package/dist/api/stall-watchdog.d.ts.map +1 -1
  35. package/dist/api/stall-watchdog.js +193 -19
  36. package/dist/api/stall-watchdog.js.map +1 -1
  37. package/dist/api/steering-landing.d.ts +130 -0
  38. package/dist/api/steering-landing.d.ts.map +1 -0
  39. package/dist/api/steering-landing.js +367 -0
  40. package/dist/api/steering-landing.js.map +1 -0
  41. package/dist/api/testing.d.ts +3 -0
  42. package/dist/api/testing.d.ts.map +1 -1
  43. package/dist/api/testing.js +146 -18
  44. package/dist/api/testing.js.map +1 -1
  45. package/dist/api/unit-output.d.ts.map +1 -1
  46. package/dist/api/unit-output.js +7 -1
  47. package/dist/api/unit-output.js.map +1 -1
  48. package/dist/campaigns/plan.d.ts +46 -0
  49. package/dist/campaigns/plan.d.ts.map +1 -1
  50. package/dist/campaigns/plan.js +80 -0
  51. package/dist/campaigns/plan.js.map +1 -1
  52. package/dist/campaigns/routes.d.ts +2 -2
  53. package/dist/campaigns/worktrees.d.ts +39 -0
  54. package/dist/campaigns/worktrees.d.ts.map +1 -0
  55. package/dist/campaigns/worktrees.js +95 -0
  56. package/dist/campaigns/worktrees.js.map +1 -0
  57. package/dist/cli/index.js +46 -13
  58. package/dist/cli/index.js.map +1 -1
  59. package/dist/core/adapter.d.ts +65 -13
  60. package/dist/core/adapter.d.ts.map +1 -1
  61. package/dist/core/adapter.js +148 -31
  62. package/dist/core/adapter.js.map +1 -1
  63. package/dist/core/bridge-reaper.d.ts +54 -9
  64. package/dist/core/bridge-reaper.d.ts.map +1 -1
  65. package/dist/core/bridge-reaper.js +116 -11
  66. package/dist/core/bridge-reaper.js.map +1 -1
  67. package/dist/core/types.d.ts +25 -12
  68. package/dist/core/types.d.ts.map +1 -1
  69. package/dist/core/types.js +14 -0
  70. package/dist/core/types.js.map +1 -1
  71. package/dist/interactive/chat-events.d.ts.map +1 -1
  72. package/dist/interactive/chat-events.js +5 -2
  73. package/dist/interactive/chat-events.js.map +1 -1
  74. package/dist/interactive/demo-events.d.ts.map +1 -1
  75. package/dist/interactive/demo-events.js +5 -2
  76. package/dist/interactive/demo-events.js.map +1 -1
  77. package/dist/interactive/doc-delete-routes.d.ts +69 -0
  78. package/dist/interactive/doc-delete-routes.d.ts.map +1 -0
  79. package/dist/interactive/doc-delete-routes.js +240 -0
  80. package/dist/interactive/doc-delete-routes.js.map +1 -0
  81. package/dist/interactive/doc-ledger-sweep.d.ts +53 -0
  82. package/dist/interactive/doc-ledger-sweep.d.ts.map +1 -0
  83. package/dist/interactive/doc-ledger-sweep.js +45 -0
  84. package/dist/interactive/doc-ledger-sweep.js.map +1 -0
  85. package/dist/interactive/draft-events.d.ts.map +1 -1
  86. package/dist/interactive/draft-events.js +5 -2
  87. package/dist/interactive/draft-events.js.map +1 -1
  88. package/dist/interactive/edit-events.d.ts.map +1 -1
  89. package/dist/interactive/edit-events.js +5 -2
  90. package/dist/interactive/edit-events.js.map +1 -1
  91. package/dist/interactive/ledger.d.ts +20 -0
  92. package/dist/interactive/ledger.d.ts.map +1 -1
  93. package/dist/interactive/ledger.js +32 -0
  94. package/dist/interactive/ledger.js.map +1 -1
  95. package/dist/interactive/ws-relay.d.ts +10 -0
  96. package/dist/interactive/ws-relay.d.ts.map +1 -1
  97. package/dist/interactive/ws-relay.js +16 -0
  98. package/dist/interactive/ws-relay.js.map +1 -1
  99. package/dist/projects/graph-paths.d.ts +7 -22
  100. package/dist/projects/graph-paths.d.ts.map +1 -1
  101. package/dist/projects/graph-paths.js +10 -37
  102. package/dist/projects/graph-paths.js.map +1 -1
  103. package/dist/projects/settings.d.ts +32 -2
  104. package/dist/projects/settings.d.ts.map +1 -1
  105. package/dist/projects/settings.js +48 -6
  106. package/dist/projects/settings.js.map +1 -1
  107. package/dist/projects/state-home.d.ts +42 -0
  108. package/dist/projects/state-home.d.ts.map +1 -0
  109. package/dist/projects/state-home.js +55 -0
  110. package/dist/projects/state-home.js.map +1 -0
  111. package/dist/qe/acceptance.d.ts +9 -0
  112. package/dist/qe/acceptance.d.ts.map +1 -1
  113. package/dist/qe/acceptance.js +21 -1
  114. package/dist/qe/acceptance.js.map +1 -1
  115. package/dist/studio/assets/index-gtE6scX0.js +537 -0
  116. package/dist/studio/index.html +1 -1
  117. package/dist/studio/testid-inventory.json +154 -153
  118. package/endpoint-manifest.json +28 -2
  119. package/package.json +4 -4
  120. package/dist/studio/assets/index-BjCZdfES.js +0 -537
@@ -0,0 +1,55 @@
1
+ /**
2
+ * The daemon's RESOLVED state home — the ONE directory every crew-side durable store hangs off.
3
+ *
4
+ * # Why this module exists (crew#330 → crew#351 → crew#353)
5
+ *
6
+ * `~/.wicked-crew` is the daemon's DEFAULT state home, not its definition. A daemon started with
7
+ * `--db $SCRATCH/core.db` reads as fully isolated — and anything durable that still resolves from
8
+ * `homedir()` unconditionally silently escapes the isolation and lands in the developer's real
9
+ * home, keyed by ids only the scratch store ever knew, with nothing to reap it. crew#330 observed
10
+ * exactly that for project graphs (41.7 MB of them); #351 fixed it with a bootstrap-threaded state
11
+ * home private to `graph-paths.ts`; crew#353 found the SAME escape in the project settings store.
12
+ *
13
+ * Rather than grow one private seam per store (two setters the bootstrap must remember to call in
14
+ * tandem is how the second one got missed), the seam lives here once: the CLI bootstrap threads
15
+ * the resolved `--db` parent in via {@link setCrewStateHome}, and every store that keeps durable
16
+ * state under the crew home resolves its root through {@link crewStateHome}. Today that is the
17
+ * project graphs (`graph-paths.ts`) and the project settings store (`settings.ts`); a new durable
18
+ * store should resolve here too, never from `homedir()` directly.
19
+ *
20
+ * With no `--db` the resolved state home IS `~/.wicked-crew`, so the default daemon's paths are
21
+ * byte-identical to what they were before either fix. Per-store env overrides
22
+ * (`WICKED_CREW_PROJECT_GRAPH_ROOT`, `WICKED_CREW_PROJECT_SETTINGS`) still outrank the configured
23
+ * state home at their own resolution sites: they are the more specific instruction, and the one
24
+ * the tests and proof scripts already use.
25
+ */
26
+ import { homedir } from 'node:os';
27
+ import { dirname, join, resolve } from 'node:path';
28
+ /**
29
+ * Set once at bootstrap from the `--db` parent; `undefined` for library consumers and unit tests
30
+ * that never boot a daemon (they fall through to the homedir default, the pre-#330 behaviour).
31
+ */
32
+ let configuredStateHome;
33
+ /**
34
+ * Thread the daemon's ACTUAL state home in — called from the CLI bootstrap (the one place that
35
+ * knows the resolved `--db`), before the server constructs any store. `undefined` clears it
36
+ * (tests). Idempotent; the last call wins, which is harmless because a process boots one daemon.
37
+ */
38
+ export function setCrewStateHome(stateHome) {
39
+ configuredStateHome = stateHome;
40
+ }
41
+ /** The state home every durable store resolves under: the bootstrap-configured `--db` parent when
42
+ * a daemon is running, the historical `~/.wicked-crew` default otherwise. */
43
+ export function crewStateHome() {
44
+ return configuredStateHome ?? join(homedir(), '.wicked-crew');
45
+ }
46
+ /**
47
+ * A core-db path → the state home it implies. Pure and exported so the bootstrap and the
48
+ * regression tests spell the derivation once: `dirname` of the ABSOLUTE db path, so a relative
49
+ * `--db ./scratch/core.db` still lands its stores next to the db it named rather than resolving
50
+ * differently on every later `join`.
51
+ */
52
+ export function stateHomeOfDb(dbPath) {
53
+ return dirname(resolve(dbPath));
54
+ }
55
+ //# sourceMappingURL=state-home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-home.js","sourceRoot":"","sources":["../../src/projects/state-home.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,IAAI,mBAAuC,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA6B;IAC5D,mBAAmB,GAAG,SAAS,CAAC;AAClC,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,aAAa;IAC3B,OAAO,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,CAAC"}
@@ -60,6 +60,15 @@ export declare function acceptancePhaseIds(workflow: WorkflowDef | null): string
60
60
  * full registry (built-ins + user workflows). Free-text runs are excluded by
61
61
  * construction: their planned units are `u1`, `u2`, … — not phase ids — and
62
62
  * they declare nothing.
63
+ *
64
+ * PER-RUN COMPOSITION (crew#293/#311, default-on since crew#393): a launch can append run-scoped
65
+ * phases the definition never had — the deliverable floor, then the deliver phase — so a
66
+ * delivered run's unit sequence is `<def's phases…, [verify-deliverables,] [deliver]>`. When the
67
+ * exact sequence matches nothing, the trailing appendages are stripped (in reverse composition
68
+ * order) and the match retried: the acceptance requirement lives on the DEFINITION, and a run
69
+ * must not lose its gate because it also delivered. A def that carries its own `deliver` phase
70
+ * (an operator overlay) still wins the EXACT match first, so stripping never mistakes a declared
71
+ * phase for an appendage.
63
72
  */
64
73
  export declare function resolveRunWorkflow(run: SessionView, workflows: WorkflowDef[]): WorkflowDef | null;
65
74
  /** The gate's resolution of one run's acceptance requirement. */
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@
36
36
  */
37
37
  import { VERDICT_VALUES } from 'wicked-ledger';
38
38
  import { basename } from 'node:path';
39
+ import { DELIVER_PHASE_ID } from '../core/deliver.js';
40
+ import { DELIVERABLE_FLOOR_PHASE_ID } from '../core/deliverable-floor.js';
39
41
  import { readAcceptanceState, summarizeManifest } from './ledger.js';
40
42
  import { resolveConformance } from './conformance.js';
41
43
  /**
@@ -71,6 +73,15 @@ export function acceptancePhaseIds(workflow) {
71
73
  * full registry (built-ins + user workflows). Free-text runs are excluded by
72
74
  * construction: their planned units are `u1`, `u2`, … — not phase ids — and
73
75
  * they declare nothing.
76
+ *
77
+ * PER-RUN COMPOSITION (crew#293/#311, default-on since crew#393): a launch can append run-scoped
78
+ * phases the definition never had — the deliverable floor, then the deliver phase — so a
79
+ * delivered run's unit sequence is `<def's phases…, [verify-deliverables,] [deliver]>`. When the
80
+ * exact sequence matches nothing, the trailing appendages are stripped (in reverse composition
81
+ * order) and the match retried: the acceptance requirement lives on the DEFINITION, and a run
82
+ * must not lose its gate because it also delivered. A def that carries its own `deliver` phase
83
+ * (an operator overlay) still wins the EXACT match first, so stripping never mistakes a declared
84
+ * phase for an appendage.
74
85
  */
75
86
  export function resolveRunWorkflow(run, workflows) {
76
87
  const direct = workflows.find((w) => w.id === run.session.workflow_id);
@@ -86,7 +97,16 @@ export function resolveRunWorkflow(run, workflows) {
86
97
  });
87
98
  if (phases.length === 0 || phases.some((p) => p === '' || /^u\d+$/.test(p)))
88
99
  return null;
89
- return (workflows.find((w) => w.phases.length === phases.length && w.phases.every((p, i) => p.id === phases[i])) ?? null);
100
+ const bySequence = (seq) => workflows.find((w) => w.phases.length === seq.length && w.phases.every((p, i) => p.id === seq[i])) ?? null;
101
+ const exact = bySequence(phases);
102
+ if (exact !== null)
103
+ return exact;
104
+ const stripped = [...phases];
105
+ if (stripped[stripped.length - 1] === DELIVER_PHASE_ID)
106
+ stripped.pop();
107
+ if (stripped[stripped.length - 1] === DELIVERABLE_FLOOR_PHASE_ID)
108
+ stripped.pop();
109
+ return stripped.length < phases.length ? bySequence(stripped) : null;
90
110
  }
91
111
  /** Narrow an arbitrary string from the store to the ledger's verdict enum. */
92
112
  function asVerdict(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}