wicked-crew 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/api-prefix.d.ts +13 -0
- package/dist/api/api-prefix.d.ts.map +1 -0
- package/dist/api/api-prefix.js +13 -0
- package/dist/api/api-prefix.js.map +1 -0
- package/dist/api/audit.d.ts +57 -0
- package/dist/api/audit.d.ts.map +1 -0
- package/dist/api/audit.js +115 -0
- package/dist/api/audit.js.map +1 -0
- package/dist/api/auth.d.ts +192 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +515 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/evidence.d.ts +11 -0
- package/dist/api/evidence.d.ts.map +1 -1
- package/dist/api/evidence.js +8 -3
- package/dist/api/evidence.js.map +1 -1
- package/dist/api/gate-cache.d.ts +8 -0
- package/dist/api/gate-cache.d.ts.map +1 -1
- package/dist/api/gate-cache.js +10 -0
- package/dist/api/gate-cache.js.map +1 -1
- package/dist/api/open-path.d.ts +18 -0
- package/dist/api/open-path.d.ts.map +1 -0
- package/dist/api/open-path.js +79 -0
- package/dist/api/open-path.js.map +1 -0
- package/dist/api/routes.d.ts +113 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +516 -27
- package/dist/api/routes.js.map +1 -1
- package/dist/api/seat-health.d.ts +55 -0
- package/dist/api/seat-health.d.ts.map +1 -0
- package/dist/api/seat-health.js +273 -0
- package/dist/api/seat-health.js.map +1 -0
- package/dist/api/seat-signin.d.ts +27 -0
- package/dist/api/seat-signin.d.ts.map +1 -0
- package/dist/api/seat-signin.js +143 -0
- package/dist/api/seat-signin.js.map +1 -0
- package/dist/api/server.d.ts +111 -3
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +236 -11
- package/dist/api/server.js.map +1 -1
- package/dist/api/unit-output.d.ts +62 -0
- package/dist/api/unit-output.d.ts.map +1 -0
- package/dist/api/unit-output.js +108 -0
- package/dist/api/unit-output.js.map +1 -0
- package/dist/cli/index.js +97 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.d.ts +14 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +119 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/core/adapter.d.ts +106 -1
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js +293 -12
- package/dist/core/adapter.js.map +1 -1
- package/dist/core/bridge-path.d.ts +17 -6
- package/dist/core/bridge-path.d.ts.map +1 -1
- package/dist/core/bridge-path.js +17 -6
- package/dist/core/bridge-path.js.map +1 -1
- package/dist/core/types.d.ts +23 -352
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +11 -4
- package/dist/core/types.js.map +1 -1
- package/dist/interactive/bridge-pool.d.ts +71 -0
- package/dist/interactive/bridge-pool.d.ts.map +1 -0
- package/dist/interactive/bridge-pool.js +187 -0
- package/dist/interactive/bridge-pool.js.map +1 -0
- package/dist/interactive/bridge-root.d.ts +36 -0
- package/dist/interactive/bridge-root.d.ts.map +1 -0
- package/dist/interactive/bridge-root.js +48 -0
- package/dist/interactive/bridge-root.js.map +1 -0
- package/dist/interactive/draft-events.d.ts +144 -0
- package/dist/interactive/draft-events.d.ts.map +1 -0
- package/dist/interactive/draft-events.js +490 -0
- package/dist/interactive/draft-events.js.map +1 -0
- package/dist/interactive/edit-events.d.ts +172 -0
- package/dist/interactive/edit-events.d.ts.map +1 -0
- package/dist/interactive/edit-events.js +530 -0
- package/dist/interactive/edit-events.js.map +1 -0
- package/dist/interactive/ledger.d.ts +39 -0
- package/dist/interactive/ledger.d.ts.map +1 -0
- package/dist/interactive/ledger.js +93 -0
- package/dist/interactive/ledger.js.map +1 -0
- package/dist/interactive/proxy-routes.d.ts +39 -0
- package/dist/interactive/proxy-routes.d.ts.map +1 -0
- package/dist/interactive/proxy-routes.js +189 -0
- package/dist/interactive/proxy-routes.js.map +1 -0
- package/dist/interactive/ws-relay.d.ts +85 -0
- package/dist/interactive/ws-relay.d.ts.map +1 -0
- package/dist/interactive/ws-relay.js +191 -0
- package/dist/interactive/ws-relay.js.map +1 -0
- package/dist/projects/activity.d.ts +29 -0
- package/dist/projects/activity.d.ts.map +1 -0
- package/dist/projects/activity.js +172 -0
- package/dist/projects/activity.js.map +1 -0
- package/dist/projects/charter.d.ts +28 -0
- package/dist/projects/charter.d.ts.map +1 -0
- package/dist/projects/charter.js +53 -0
- package/dist/projects/charter.js.map +1 -0
- package/dist/projects/events.d.ts +55 -0
- package/dist/projects/events.d.ts.map +1 -0
- package/dist/projects/events.js +141 -0
- package/dist/projects/events.js.map +1 -0
- package/dist/projects/membership-index.d.ts +25 -0
- package/dist/projects/membership-index.d.ts.map +1 -0
- package/dist/projects/membership-index.js +46 -0
- package/dist/projects/membership-index.js.map +1 -0
- package/dist/projects/routes.d.ts +90 -0
- package/dist/projects/routes.d.ts.map +1 -0
- package/dist/projects/routes.js +388 -0
- package/dist/projects/routes.js.map +1 -0
- package/dist/projects/settings.d.ts +32 -0
- package/dist/projects/settings.d.ts.map +1 -0
- package/dist/projects/settings.js +64 -0
- package/dist/projects/settings.js.map +1 -0
- package/dist/qe/acceptance.d.ts +137 -0
- package/dist/qe/acceptance.d.ts.map +1 -0
- package/dist/qe/acceptance.js +249 -0
- package/dist/qe/acceptance.js.map +1 -0
- package/dist/qe/gate-events.d.ts +111 -0
- package/dist/qe/gate-events.d.ts.map +1 -0
- package/dist/qe/gate-events.js +168 -0
- package/dist/qe/gate-events.js.map +1 -0
- package/dist/qe/ledger.d.ts +100 -0
- package/dist/qe/ledger.d.ts.map +1 -0
- package/dist/qe/ledger.js +154 -0
- package/dist/qe/ledger.js.map +1 -0
- package/dist/studio/assets/index-CCwXa1cn.js +428 -0
- package/dist/studio/assets/index-HWxo0h41.css +32 -0
- package/dist/studio/index.html +2 -2
- package/package.json +10 -4
- package/dist/studio/assets/index-Ci_R6ARr.js +0 -423
- package/dist/studio/assets/index-Dio_c1Q3.css +0 -32
package/dist/api/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit-key resolution and the reason a unit's transcript is absent — the read half of
|
|
3
|
+
* `GET /runs/:id/units/:unitKey/output`.
|
|
4
|
+
*
|
|
5
|
+
* The endpoint used to answer `200 {"output": null}` for four different facts: an unknown
|
|
6
|
+
* run, an unknown unit key, a unit that had not run yet, and a unit whose gate DENIED. The
|
|
7
|
+
* last is the one an operator reaches for during triage, so the one case that most needs an
|
|
8
|
+
* answer was the case that yielded nothing — with a success status and no error (FINDING-006).
|
|
9
|
+
*
|
|
10
|
+
* `null` here is never bare. Either the run/unit does not exist (the route 404s), or the unit
|
|
11
|
+
* exists and this module says which of the remaining causes applies, in the unit's own terms.
|
|
12
|
+
*
|
|
13
|
+
* ## Why a rejected unit has no transcript
|
|
14
|
+
*
|
|
15
|
+
* This is not a gap in the endpoint — it is wicked-core's deny-dominates rule, working. Core
|
|
16
|
+
* writes a `work_output` node ONLY when the unit's phase resolved approved
|
|
17
|
+
* (`wicked-core/src/execute.rs`, "on approval: record the work-output node"; a
|
|
18
|
+
* validator/evaluator deny lands there as `!approved` and writes none). A unit is `done` iff
|
|
19
|
+
* it was approved and `rejected` otherwise (`wicked-core/src/pipeline.rs`), so
|
|
20
|
+
* `rejected` ⇒ no stored output, by design: no output can leak past a deny.
|
|
21
|
+
*
|
|
22
|
+
* What survives a deny is the REASON, on the unit record itself — `denial_reason`, which
|
|
23
|
+
* carries the gate's citation for a governance/validator deny and a bounded head+tail excerpt
|
|
24
|
+
* of the worker's failure output for a step failure (`wicked-core/src/actor.rs`). That is what
|
|
25
|
+
* this module points the operator at. It does NOT claim the transcript is recoverable
|
|
26
|
+
* elsewhere: the streamed text rode `cliOutputDelta`, which `wicked-core/src/event_log.rs`
|
|
27
|
+
* excludes from the durable log as high-volume, and no `work_output` node was written.
|
|
28
|
+
*/
|
|
29
|
+
import type { SessionView, WorkUnit } from '../core/types.js';
|
|
30
|
+
/**
|
|
31
|
+
* The unit a caller's path segment names, or `null`.
|
|
32
|
+
*
|
|
33
|
+
* Matching runs against the run's ACTUAL unit records rather than string-concatenating
|
|
34
|
+
* `<run>:<segment>` and hoping core keyed it that way. Four spellings resolve, tried
|
|
35
|
+
* most-specific first so a bare ord can never shadow a phase id:
|
|
36
|
+
*
|
|
37
|
+
* 1. the fully-qualified id `run-1:survey`
|
|
38
|
+
* 2. the id suffix `survey` (workflow runs) / `u3` (free-text runs)
|
|
39
|
+
* 3. the ordinal in `u<ord>` form `u3`
|
|
40
|
+
* 4. the bare ordinal `3`
|
|
41
|
+
*
|
|
42
|
+
* Passes 3 and 4 exist because the id suffix and the ordinal diverge on workflow runs: the
|
|
43
|
+
* unit at ord 3 is keyed `<run>:domain`, so `3` and `u3` addressed nothing at all. An
|
|
44
|
+
* operator reading `#3` off the run list had no working key for that unit.
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveUnit(run: SessionView, unitKey: string): WorkUnit | null;
|
|
47
|
+
/**
|
|
48
|
+
* Every key `resolveUnit` accepts for this run, in `ord` order — the body of the 404 for an
|
|
49
|
+
* unknown key. A caller who guessed wrong gets the working keys back rather than a second
|
|
50
|
+
* round of guessing; the operator on FINDING-006 tried three spellings and stopped.
|
|
51
|
+
*/
|
|
52
|
+
export declare function unitKeysFor(run: SessionView): string[];
|
|
53
|
+
/**
|
|
54
|
+
* Why this unit's stored output is absent, in the unit's own terms. Call ONLY when the read
|
|
55
|
+
* came back `null` — a unit with output has nothing to explain.
|
|
56
|
+
*
|
|
57
|
+
* Every branch names a DIFFERENT cause. Collapsing them into one message is the shape this
|
|
58
|
+
* whole endpoint was filed for: an operator cannot act on "no output" without knowing whether
|
|
59
|
+
* the unit was denied, has not run, or is a record core disagrees with.
|
|
60
|
+
*/
|
|
61
|
+
export declare function outputUnavailableReason(unit: WorkUnit): string;
|
|
62
|
+
//# sourceMappingURL=unit-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit-output.d.ts","sourceRoot":"","sources":["../../src/api/unit-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAW9E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CAKtD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAsC9D"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit-key resolution and the reason a unit's transcript is absent — the read half of
|
|
3
|
+
* `GET /runs/:id/units/:unitKey/output`.
|
|
4
|
+
*
|
|
5
|
+
* The endpoint used to answer `200 {"output": null}` for four different facts: an unknown
|
|
6
|
+
* run, an unknown unit key, a unit that had not run yet, and a unit whose gate DENIED. The
|
|
7
|
+
* last is the one an operator reaches for during triage, so the one case that most needs an
|
|
8
|
+
* answer was the case that yielded nothing — with a success status and no error (FINDING-006).
|
|
9
|
+
*
|
|
10
|
+
* `null` here is never bare. Either the run/unit does not exist (the route 404s), or the unit
|
|
11
|
+
* exists and this module says which of the remaining causes applies, in the unit's own terms.
|
|
12
|
+
*
|
|
13
|
+
* ## Why a rejected unit has no transcript
|
|
14
|
+
*
|
|
15
|
+
* This is not a gap in the endpoint — it is wicked-core's deny-dominates rule, working. Core
|
|
16
|
+
* writes a `work_output` node ONLY when the unit's phase resolved approved
|
|
17
|
+
* (`wicked-core/src/execute.rs`, "on approval: record the work-output node"; a
|
|
18
|
+
* validator/evaluator deny lands there as `!approved` and writes none). A unit is `done` iff
|
|
19
|
+
* it was approved and `rejected` otherwise (`wicked-core/src/pipeline.rs`), so
|
|
20
|
+
* `rejected` ⇒ no stored output, by design: no output can leak past a deny.
|
|
21
|
+
*
|
|
22
|
+
* What survives a deny is the REASON, on the unit record itself — `denial_reason`, which
|
|
23
|
+
* carries the gate's citation for a governance/validator deny and a bounded head+tail excerpt
|
|
24
|
+
* of the worker's failure output for a step failure (`wicked-core/src/actor.rs`). That is what
|
|
25
|
+
* this module points the operator at. It does NOT claim the transcript is recoverable
|
|
26
|
+
* elsewhere: the streamed text rode `cliOutputDelta`, which `wicked-core/src/event_log.rs`
|
|
27
|
+
* excludes from the durable log as high-volume, and no `work_output` node was written.
|
|
28
|
+
*/
|
|
29
|
+
import { API_PREFIX } from './api-prefix.js';
|
|
30
|
+
/**
|
|
31
|
+
* The unit a caller's path segment names, or `null`.
|
|
32
|
+
*
|
|
33
|
+
* Matching runs against the run's ACTUAL unit records rather than string-concatenating
|
|
34
|
+
* `<run>:<segment>` and hoping core keyed it that way. Four spellings resolve, tried
|
|
35
|
+
* most-specific first so a bare ord can never shadow a phase id:
|
|
36
|
+
*
|
|
37
|
+
* 1. the fully-qualified id `run-1:survey`
|
|
38
|
+
* 2. the id suffix `survey` (workflow runs) / `u3` (free-text runs)
|
|
39
|
+
* 3. the ordinal in `u<ord>` form `u3`
|
|
40
|
+
* 4. the bare ordinal `3`
|
|
41
|
+
*
|
|
42
|
+
* Passes 3 and 4 exist because the id suffix and the ordinal diverge on workflow runs: the
|
|
43
|
+
* unit at ord 3 is keyed `<run>:domain`, so `3` and `u3` addressed nothing at all. An
|
|
44
|
+
* operator reading `#3` off the run list had no working key for that unit.
|
|
45
|
+
*/
|
|
46
|
+
export function resolveUnit(run, unitKey) {
|
|
47
|
+
const runId = run.session.id;
|
|
48
|
+
const prefix = `${runId}:`;
|
|
49
|
+
const byId = run.units.find((u) => u.id === unitKey);
|
|
50
|
+
if (byId !== undefined)
|
|
51
|
+
return byId;
|
|
52
|
+
const bySuffix = run.units.find((u) => u.id.startsWith(prefix) && u.id.slice(prefix.length) === unitKey);
|
|
53
|
+
if (bySuffix !== undefined)
|
|
54
|
+
return bySuffix;
|
|
55
|
+
const byOrdU = run.units.find((u) => `u${u.ord}` === unitKey);
|
|
56
|
+
if (byOrdU !== undefined)
|
|
57
|
+
return byOrdU;
|
|
58
|
+
const byOrd = run.units.find((u) => String(u.ord) === unitKey);
|
|
59
|
+
return byOrd ?? null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Every key `resolveUnit` accepts for this run, in `ord` order — the body of the 404 for an
|
|
63
|
+
* unknown key. A caller who guessed wrong gets the working keys back rather than a second
|
|
64
|
+
* round of guessing; the operator on FINDING-006 tried three spellings and stopped.
|
|
65
|
+
*/
|
|
66
|
+
export function unitKeysFor(run) {
|
|
67
|
+
const prefix = `${run.session.id}:`;
|
|
68
|
+
return [...run.units]
|
|
69
|
+
.sort((a, b) => a.ord - b.ord)
|
|
70
|
+
.map((u) => (u.id.startsWith(prefix) ? u.id.slice(prefix.length) : u.id));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Why this unit's stored output is absent, in the unit's own terms. Call ONLY when the read
|
|
74
|
+
* came back `null` — a unit with output has nothing to explain.
|
|
75
|
+
*
|
|
76
|
+
* Every branch names a DIFFERENT cause. Collapsing them into one message is the shape this
|
|
77
|
+
* whole endpoint was filed for: an operator cannot act on "no output" without knowing whether
|
|
78
|
+
* the unit was denied, has not run, or is a record core disagrees with.
|
|
79
|
+
*/
|
|
80
|
+
export function outputUnavailableReason(unit) {
|
|
81
|
+
const where = `The gate decision and the run's event trail are in GET ${API_PREFIX}/runs/${unit.session_id}/evidence.`;
|
|
82
|
+
if (unit.status === 'rejected') {
|
|
83
|
+
const why = unit.denial_reason === null || unit.denial_reason === undefined || unit.denial_reason === ''
|
|
84
|
+
? 'core recorded no denial_reason on this unit'
|
|
85
|
+
: unit.denial_reason;
|
|
86
|
+
// Deliberately does NOT call this a governance deny. `rejected` is reached two ways — a gate
|
|
87
|
+
// deny AND a worker step failure — and only `denial_reason` distinguishes them (core prefixes
|
|
88
|
+
// it "Governance DENIED unit N …" or "Worker FAILED on unit N (triage: …)"). Naming one cause
|
|
89
|
+
// for both would be this endpoint committing the FINDING-050 error while fixing FINDING-006.
|
|
90
|
+
return (`Unit ${unit.ord} was REJECTED, so wicked-core stored no transcript for it: a work_output ` +
|
|
91
|
+
`record is written only for a unit whose phase resolved approved, and this one's did not. ` +
|
|
92
|
+
`That is the deny-dominates rule holding, not a lost or unreadable record — and the text ` +
|
|
93
|
+
`the unit streamed is not retained anywhere else, so this is the whole of what survives. ` +
|
|
94
|
+
`Why it was rejected: ${why}. ${where}`);
|
|
95
|
+
}
|
|
96
|
+
if (unit.status === 'pending' || unit.status === 'distributed') {
|
|
97
|
+
return (`Unit ${unit.ord} has not finished (status: ${unit.status}). wicked-core writes a unit's ` +
|
|
98
|
+
`transcript when its gate resolves, so there is nothing stored yet — this is not a ` +
|
|
99
|
+
`statement about what the unit will produce. Live output for a running unit streams on /ws.`);
|
|
100
|
+
}
|
|
101
|
+
// `done` means the gate APPROVED, and an approved unit always gets a work_output node. Reaching
|
|
102
|
+
// here means the record core holds disagrees with the record it served — report that as the
|
|
103
|
+
// anomaly it is rather than as an ordinary empty answer.
|
|
104
|
+
return (`Unit ${unit.ord} is recorded as ${unit.status} (approved), which in wicked-core always ` +
|
|
105
|
+
`carries a stored work_output — but the transcript read for '${unit.id}' returned nothing. ` +
|
|
106
|
+
`Treat this as an inconsistent store, not as a unit that produced no output. ${where}`);
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=unit-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit-output.js","sourceRoot":"","sources":["../../src/api/unit-output.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { randomUUID } from 'node:crypto';
|
|
|
7
7
|
import { CoreAdapter } from '../core/adapter.js';
|
|
8
8
|
import { ensureBridgesOnPath } from '../core/bridge-path.js';
|
|
9
9
|
import { startServer } from '../api/server.js';
|
|
10
|
+
import { resolveAuthMode } from '../api/auth.js';
|
|
11
|
+
import { runMcpServer } from './mcp.js';
|
|
10
12
|
const [, , command, ...argv] = process.argv;
|
|
11
13
|
function flag(args, name) {
|
|
12
14
|
const i = args.indexOf(name);
|
|
@@ -15,6 +17,14 @@ function flag(args, name) {
|
|
|
15
17
|
function hasFlag(args, name) {
|
|
16
18
|
return args.includes(name);
|
|
17
19
|
}
|
|
20
|
+
/** `true` when an env var is set to a falsy string: "", "0", "false", "no", "off" (case-insensitive, trimmed).
|
|
21
|
+
* An empty / whitespace-only value is treated as falsy so `VAR=` (common shell unset idiom) disables the feature. */
|
|
22
|
+
function isFalsy(val) {
|
|
23
|
+
if (val === undefined)
|
|
24
|
+
return false;
|
|
25
|
+
const v = val.trim().toLowerCase();
|
|
26
|
+
return v === '' || v === '0' || v === 'false' || v === 'no' || v === 'off';
|
|
27
|
+
}
|
|
18
28
|
/** Durable state home (~/.wicked-crew) — runs/evidence must survive a reboot, which the
|
|
19
29
|
* OS temp dir explicitly does not. Created on demand; --db/--bus-db still override. */
|
|
20
30
|
function stateHome() {
|
|
@@ -34,7 +44,38 @@ function parseBootstrap(args) {
|
|
|
34
44
|
const busDbPath = flag(args, '--bus-db') ??
|
|
35
45
|
process.env['WICKED_BUS_DB'] ??
|
|
36
46
|
join(stateHome(), 'bus.db');
|
|
37
|
-
|
|
47
|
+
// OPT-IN (Phase 6a, same shape as --engine-exec): consume the QE gate's bus
|
|
48
|
+
// events (`wicked.qe.gate.*` + `wicked.qe.deploy.completed`) into the
|
|
49
|
+
// acceptance freshness cache. Default OFF → the acceptance route lazy-reads
|
|
50
|
+
// the ledger on demand, which needs no bus at all.
|
|
51
|
+
const qeGateEvents = hasFlag(args, '--qe-gate-events') ||
|
|
52
|
+
(process.env['WICKED_QE_GATE_EVENTS'] !== undefined && process.env['WICKED_QE_GATE_EVENTS'] !== '');
|
|
53
|
+
// Which bus db the QE subscription reads: an EXPLICIT --bus-db / WICKED_BUS_DB
|
|
54
|
+
// wins; otherwise wicked-bus's own default (`~/.something-wicked/wicked-bus/bus.db`) —
|
|
55
|
+
// the db the QE pipeline's CLI emits to. Deliberately NOT the exec seam's
|
|
56
|
+
// `~/.wicked-crew/bus.db` fallback: that default is crew-private, and the QE
|
|
57
|
+
// events are cross-product traffic that never lands there.
|
|
58
|
+
const qeBusDbPath = flag(args, '--bus-db') ?? process.env['WICKED_BUS_DB'];
|
|
59
|
+
// DEFAULT ON (closes #261): answer wicked-interactive's `doc.created` (kind:source, project-bound)
|
|
60
|
+
// with a governed `interactive-draft` run. The bus is already required for the project bridge,
|
|
61
|
+
// and only project-bound docs trigger runs — unbound docs are ignored. Opt-out:
|
|
62
|
+
// --no-interactive-draft-events or WICKED_INTERACTIVE_DRAFT_EVENTS=0|false|no|off|""
|
|
63
|
+
// The bus db follows the SAME resolution as the QE seam — explicit --bus-db / WICKED_BUS_DB wins,
|
|
64
|
+
// otherwise wicked-bus's own default (which honors WICKED_BUS_DATA_DIR): interactive's service
|
|
65
|
+
// resolves its bus exactly that way, so by default the two meet on the same db.
|
|
66
|
+
const interactiveDraftEvents = !hasFlag(args, '--no-interactive-draft-events') &&
|
|
67
|
+
!isFalsy(process.env['WICKED_INTERACTIVE_DRAFT_EVENTS']);
|
|
68
|
+
// DEFAULT ON (closes #261, same rationale): answer wicked-interactive's structural feedback
|
|
69
|
+
// handoffs (`feedback.processed`, awaiting_structural > 0) with a governed `interactive-edit`
|
|
70
|
+
// run. Opt-out: --no-interactive-edit-events or WICKED_INTERACTIVE_EDIT_EVENTS=0|false|no|off|""
|
|
71
|
+
const interactiveEditEvents = !hasFlag(args, '--no-interactive-edit-events') &&
|
|
72
|
+
!isFalsy(process.env['WICKED_INTERACTIVE_EDIT_EVENTS']);
|
|
73
|
+
// Deterministic-worker override for harnesses (a JSON AgenticCli array); unset = the roster.
|
|
74
|
+
const interactiveSeats = process.env['WICKED_INTERACTIVE_SEATS'];
|
|
75
|
+
return {
|
|
76
|
+
dbPath, port, stub, engineExec, busDbPath, qeGateEvents, qeBusDbPath,
|
|
77
|
+
interactiveDraftEvents, interactiveEditEvents, interactiveSeats,
|
|
78
|
+
};
|
|
38
79
|
}
|
|
39
80
|
let adapterRef;
|
|
40
81
|
async function bootstrap(opts) {
|
|
@@ -50,7 +91,45 @@ async function bootstrap(opts) {
|
|
|
50
91
|
busDbPath: opts.busDbPath,
|
|
51
92
|
});
|
|
52
93
|
adapterRef = adapter;
|
|
53
|
-
const
|
|
94
|
+
const serverOptions = {
|
|
95
|
+
...(opts.qeGateEvents
|
|
96
|
+
? {
|
|
97
|
+
qeGateEvents: {
|
|
98
|
+
enabled: true,
|
|
99
|
+
...(opts.qeBusDbPath !== undefined ? { dbPath: opts.qeBusDbPath } : {}),
|
|
100
|
+
},
|
|
101
|
+
}
|
|
102
|
+
: {}),
|
|
103
|
+
...(opts.interactiveDraftEvents
|
|
104
|
+
? {
|
|
105
|
+
interactiveDraftEvents: {
|
|
106
|
+
enabled: true,
|
|
107
|
+
// Same bus-db resolution as the QE seam (explicit wins; else wicked-bus defaults).
|
|
108
|
+
...(opts.qeBusDbPath !== undefined ? { dbPath: opts.qeBusDbPath } : {}),
|
|
109
|
+
...(opts.interactiveSeats !== undefined ? { clisJson: opts.interactiveSeats } : {}),
|
|
110
|
+
},
|
|
111
|
+
}
|
|
112
|
+
: {}),
|
|
113
|
+
...(opts.interactiveEditEvents
|
|
114
|
+
? {
|
|
115
|
+
interactiveEditEvents: {
|
|
116
|
+
enabled: true,
|
|
117
|
+
// Same bus-db resolution as the QE seam (explicit wins; else wicked-bus defaults).
|
|
118
|
+
...(opts.qeBusDbPath !== undefined ? { dbPath: opts.qeBusDbPath } : {}),
|
|
119
|
+
...(opts.interactiveSeats !== undefined ? { clisJson: opts.interactiveSeats } : {}),
|
|
120
|
+
},
|
|
121
|
+
}
|
|
122
|
+
: {}),
|
|
123
|
+
// Projects (DES-PROJECT-001): default-ON, loud-non-fatal. Bus-db resolution follows the
|
|
124
|
+
// cross-product seams above (explicit --bus-db / WICKED_BUS_DB wins; otherwise wicked-bus's
|
|
125
|
+
// own default, where interactive's service also lands) — NOT the exec seam's crew-private
|
|
126
|
+
// fallback: `wicked.crew.project.*` and the interactive activity bridge are cross-product
|
|
127
|
+
// traffic, and the two skins must meet on one db.
|
|
128
|
+
...(opts.qeBusDbPath !== undefined
|
|
129
|
+
? { projectEvents: { dbPath: opts.qeBusDbPath } }
|
|
130
|
+
: {}),
|
|
131
|
+
};
|
|
132
|
+
const { port } = await startServer(adapter, opts.port, undefined, Object.keys(serverOptions).length > 0 ? serverOptions : undefined);
|
|
54
133
|
installShutdownHandlers();
|
|
55
134
|
return { adapter, port };
|
|
56
135
|
}
|
|
@@ -87,8 +166,14 @@ async function main() {
|
|
|
87
166
|
port,
|
|
88
167
|
db: opts.dbPath,
|
|
89
168
|
stub: opts.stub,
|
|
169
|
+
// The identity seam's resolved mode (task #88): `required` under
|
|
170
|
+
// WICKED_RUNTIME=team / WICKED_CREW_AUTH=required, else `off` (local).
|
|
171
|
+
auth: resolveAuthMode(),
|
|
90
172
|
engineExec: adapter.engineExec,
|
|
91
173
|
busDb: adapter.engineExec ? adapter.busDbPath : undefined,
|
|
174
|
+
qeGateEvents: opts.qeGateEvents || undefined,
|
|
175
|
+
interactiveDraftEvents: opts.interactiveDraftEvents || undefined,
|
|
176
|
+
interactiveEditEvents: opts.interactiveEditEvents || undefined,
|
|
92
177
|
startupMs: Math.round(performance.now() - t0),
|
|
93
178
|
});
|
|
94
179
|
}
|
|
@@ -138,9 +223,18 @@ async function main() {
|
|
|
138
223
|
else if (command === 'status') {
|
|
139
224
|
await runStatus(argv);
|
|
140
225
|
}
|
|
226
|
+
else if (command === 'mcp') {
|
|
227
|
+
const portStr = flag(argv, '--port');
|
|
228
|
+
const port = portStr !== undefined ? Number(portStr) : 7701;
|
|
229
|
+
if (!Number.isFinite(port) || !Number.isInteger(port) || port < 1 || port > 65535) {
|
|
230
|
+
console.error(`--port must be an integer between 1 and 65535 (got: ${portStr ?? '(missing)'})`);
|
|
231
|
+
process.exit(1);
|
|
232
|
+
}
|
|
233
|
+
await runMcpServer(port);
|
|
234
|
+
}
|
|
141
235
|
else {
|
|
142
236
|
console.error(`Unknown command: ${command ?? '(none)'}`);
|
|
143
|
-
console.error('Usage: wicked-crew serve|start|resume|gate|status');
|
|
237
|
+
console.error('Usage: wicked-crew serve|start|resume|gate|status|mcp');
|
|
144
238
|
process.exit(1);
|
|
145
239
|
}
|
|
146
240
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AAE5C,SAAS,IAAI,CAAC,IAAc,EAAE,IAAY;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,OAAO,CAAC,IAAc,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;sHACsH;AACtH,SAAS,OAAO,CAAC,GAAuB;IACtC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;AAC7E,CAAC;AAmBD;uFACuF;AACvF,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC;IAChF,yFAAyF;IACzF,uGAAuG;IACvG,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;QAC9B,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9B,4EAA4E;IAC5E,sEAAsE;IACtE,4EAA4E;IAC5E,mDAAmD;IACnD,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACjC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC;IACtG,+EAA+E;IAC/E,uFAAuF;IACvF,0EAA0E;IAC1E,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3E,mGAAmG;IACnG,+FAA+F;IAC/F,gFAAgF;IAChF,2FAA2F;IAC3F,kGAAkG;IAClG,+FAA+F;IAC/F,gFAAgF;IAChF,MAAM,sBAAsB,GAC1B,CAAC,OAAO,CAAC,IAAI,EAAE,+BAA+B,CAAC;QAC/C,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC3D,4FAA4F;IAC5F,8FAA8F;IAC9F,iGAAiG;IACjG,MAAM,qBAAqB,GACzB,CAAC,OAAO,CAAC,IAAI,EAAE,8BAA8B,CAAC;QAC9C,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC1D,6FAA6F;IAC7F,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACjE,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW;QACpE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB;KAChE,CAAC;AACJ,CAAC;AAED,IAAI,UAAmC,CAAC;AAExC,KAAK,UAAU,SAAS,CAAC,IAAmB;IAC1C,gFAAgF;IAChF,iFAAiF;IACjF,+EAA+E;IAC/E,2CAA2C;IAC3C,mBAAmB,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,UAAU,GAAG,OAAO,CAAC;IACrB,MAAM,aAAa,GAAG;QACpB,GAAG,CAAC,IAAI,CAAC,YAAY;YACnB,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;oBACb,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,sBAAsB;YAC7B,CAAC,CAAC;gBACE,sBAAsB,EAAE;oBACtB,OAAO,EAAE,IAAI;oBACb,mFAAmF;oBACnF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,qBAAqB;YAC5B,CAAC,CAAC;gBACE,qBAAqB,EAAE;oBACrB,OAAO,EAAE,IAAI;oBACb,mFAAmF;oBACnF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,wFAAwF;QACxF,4FAA4F;QAC5F,0FAA0F;QAC1F,0FAA0F;QAC1F,kDAAkD;QAClD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAChC,OAAO,EACP,IAAI,CAAC,IAAI,EACT,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAClE,CAAC;IACF,uBAAuB,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,0EAA0E;QAC1E,+BAA+B;QAC/B,IAAI,CAAC;YACH,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B;IACjD,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,UAAU,CAAC;YACT,IAAI,EAAE,OAAO;YACb,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,MAAM;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,iEAAiE;YACjE,uEAAuE;YACvE,IAAI,EAAE,eAAe,EAAE;YACvB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACzD,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;YAC5C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,IAAI,SAAS;YAChE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,IAAI,SAAS;YAC9D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,sBAAsB,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,4BAA4B;QAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,yBAAyB;QACpE,IAAI,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,CAAC,KAAK,CAAC,qCAAqC,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,0BAA0B;QAChE,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,KAAK,GAAmB;YAC5B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,UAAU,EAAE;YAClD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;SAC/C,CAAC;QACF,IAAI,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClD,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/H,CAAC;SAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAClF,OAAO,CAAC,KAAK,CAAC,uDAAuD,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,gBAAgB,KAAK,OAAO,EAAE;QAC5E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,mBAAmB,KAAK,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,IAAI,GAAG,oBAAoB,IAAI,SAAS,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `wicked-crew mcp` — stdio MCP server that proxies the wicked-crew daemon's
|
|
3
|
+
* run-lifecycle surface. One tool per verb; all calls are 1:1 HTTP passthroughs
|
|
4
|
+
* to a running daemon. The MCP server is stateless: it carries NO in-process
|
|
5
|
+
* adapter and does NOT open the engine DB.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* wicked-crew mcp [--port <n>] # connects to daemon at 127.0.0.1:<port>
|
|
9
|
+
*
|
|
10
|
+
* The daemon must already be running (`wicked-crew serve`). Governance semantics,
|
|
11
|
+
* repo-scoping, and run authority all live in the daemon — no new authority here.
|
|
12
|
+
*/
|
|
13
|
+
export declare function runMcpServer(port: number): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwCH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+H9D"}
|
package/dist/cli/mcp.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `wicked-crew mcp` — stdio MCP server that proxies the wicked-crew daemon's
|
|
3
|
+
* run-lifecycle surface. One tool per verb; all calls are 1:1 HTTP passthroughs
|
|
4
|
+
* to a running daemon. The MCP server is stateless: it carries NO in-process
|
|
5
|
+
* adapter and does NOT open the engine DB.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* wicked-crew mcp [--port <n>] # connects to daemon at 127.0.0.1:<port>
|
|
9
|
+
*
|
|
10
|
+
* The daemon must already be running (`wicked-crew serve`). Governance semantics,
|
|
11
|
+
* repo-scoping, and run authority all live in the daemon — no new authority here.
|
|
12
|
+
*/
|
|
13
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
14
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
15
|
+
import { z } from 'zod';
|
|
16
|
+
// ─── Crew daemon client ───────────────────────────────────────────────────────
|
|
17
|
+
class CrewClient {
|
|
18
|
+
base;
|
|
19
|
+
constructor(port) {
|
|
20
|
+
this.base = `http://127.0.0.1:${port}/api/v1`;
|
|
21
|
+
}
|
|
22
|
+
async get(path) {
|
|
23
|
+
const res = await fetch(`${this.base}${path}`);
|
|
24
|
+
if (!res.ok)
|
|
25
|
+
throw new Error(`GET ${path} → ${res.status}: ${await res.text()}`);
|
|
26
|
+
return res.json();
|
|
27
|
+
}
|
|
28
|
+
async post(path, body) {
|
|
29
|
+
const res = await fetch(`${this.base}${path}`, {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
headers: { 'Content-Type': 'application/json' },
|
|
32
|
+
body: JSON.stringify(body),
|
|
33
|
+
});
|
|
34
|
+
if (!res.ok)
|
|
35
|
+
throw new Error(`POST ${path} → ${res.status}: ${await res.text()}`);
|
|
36
|
+
return res.json();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// ─── Tool result helpers ──────────────────────────────────────────────────────
|
|
40
|
+
function ok(data) {
|
|
41
|
+
return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
|
|
42
|
+
}
|
|
43
|
+
// ─── MCP server ──────────────────────────────────────────────────────────────
|
|
44
|
+
export async function runMcpServer(port) {
|
|
45
|
+
const client = new CrewClient(port);
|
|
46
|
+
// Probe the daemon before advertising ourselves — fail loudly if unreachable.
|
|
47
|
+
// Capture the version from the health response so serverInfo stays in sync with the daemon.
|
|
48
|
+
let daemonVersion = '0.0.0';
|
|
49
|
+
try {
|
|
50
|
+
const health = await client.get('/health');
|
|
51
|
+
if (typeof health.version === 'string')
|
|
52
|
+
daemonVersion = health.version;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
throw new Error(`[wicked-crew mcp] Cannot reach daemon at port ${port}. ` +
|
|
56
|
+
`Start it first with: wicked-crew serve --port ${port}`);
|
|
57
|
+
}
|
|
58
|
+
const server = new McpServer({ name: 'wicked-crew', version: daemonVersion });
|
|
59
|
+
// ── launch_run ─────────────────────────────────────────────────────────────
|
|
60
|
+
server.tool('launch_run', 'Launch a new governed workflow run on the wicked-crew daemon. ' +
|
|
61
|
+
'Returns the run ID which can be used with the other tools.', {
|
|
62
|
+
problem: z.string().min(1).describe('The task description / problem statement for the run'),
|
|
63
|
+
workflow: z.string().optional().describe('Workflow id (e.g. "feature", "bug", "survey-repo"). ' +
|
|
64
|
+
'Use list_workflows to see available ids.'),
|
|
65
|
+
repo: z.string().optional().describe('Registered repo reference (id returned by the daemon registry). ' +
|
|
66
|
+
'Required for workflows that need a code graph.'),
|
|
67
|
+
project_id: z.string().optional().describe('File the run into a project. The project must exist and be active.'),
|
|
68
|
+
}, async ({ problem, workflow, repo, project_id }) => {
|
|
69
|
+
const body = { problem };
|
|
70
|
+
if (workflow)
|
|
71
|
+
body['workflow'] = workflow;
|
|
72
|
+
if (repo)
|
|
73
|
+
body['repoRef'] = repo;
|
|
74
|
+
if (project_id)
|
|
75
|
+
body['projectId'] = project_id;
|
|
76
|
+
return ok(await client.post('/runs', body));
|
|
77
|
+
});
|
|
78
|
+
// ── run_status ─────────────────────────────────────────────────────────────
|
|
79
|
+
server.tool('run_status', 'Get the current status and unit details of a run. ' +
|
|
80
|
+
'Poll this after launch_run to track progress.', {
|
|
81
|
+
run_id: z.string().min(1).describe('The run ID returned by launch_run'),
|
|
82
|
+
}, async ({ run_id }) => ok(await client.get(`/runs/${run_id}`)));
|
|
83
|
+
// ── list_runs ──────────────────────────────────────────────────────────────
|
|
84
|
+
server.tool('list_runs', 'List all runs on the daemon, most-actionable first (awaiting gate/elicitation first, ' +
|
|
85
|
+
'then active, then completed).', {}, async () => ok(await client.get('/runs')));
|
|
86
|
+
// ── run_events ─────────────────────────────────────────────────────────────
|
|
87
|
+
server.tool('run_events', 'Return the durable event trail for a run. ' +
|
|
88
|
+
'Useful for inspecting exactly what happened during a governed workflow. ' +
|
|
89
|
+
'The daemon returns all events; `limit` truncates client-side (most-recent last).', {
|
|
90
|
+
run_id: z.string().min(1).describe('The run ID'),
|
|
91
|
+
limit: z.number().int().min(1).max(1000).optional().describe('Maximum number of events to return. Truncated from the tail (most-recent). Default: all.'),
|
|
92
|
+
}, async ({ run_id, limit }) => {
|
|
93
|
+
const data = await client.get(`/runs/${run_id}/events`);
|
|
94
|
+
const events = limit !== undefined ? data.events.slice(-limit) : data.events;
|
|
95
|
+
return ok({ ...data, returned: events.length, events });
|
|
96
|
+
});
|
|
97
|
+
// ── answer_gate ────────────────────────────────────────────────────────────
|
|
98
|
+
server.tool('answer_gate', 'Approve or reject the human gate on a run. ' +
|
|
99
|
+
'Use run_status to check if a run is awaiting a gate decision before calling this.', {
|
|
100
|
+
run_id: z.string().min(1).describe('The run ID'),
|
|
101
|
+
approve: z.boolean().describe('true to approve, false to reject'),
|
|
102
|
+
amend: z.string().optional().describe('Optional steering text appended to the next unit\'s prompt when approving'),
|
|
103
|
+
}, async ({ run_id, approve, amend }) => {
|
|
104
|
+
const body = { approve };
|
|
105
|
+
if (amend !== undefined)
|
|
106
|
+
body['amend'] = amend;
|
|
107
|
+
return ok(await client.post(`/runs/${run_id}/gate`, body));
|
|
108
|
+
});
|
|
109
|
+
// ── cancel_run ─────────────────────────────────────────────────────────────
|
|
110
|
+
server.tool('cancel_run', 'Cancel an active run. The run will be marked as failed immediately.', {
|
|
111
|
+
run_id: z.string().min(1).describe('The run ID to cancel'),
|
|
112
|
+
}, async ({ run_id }) => ok(await client.post(`/runs/${run_id}/cancel`, {})));
|
|
113
|
+
// ── list_workflows ─────────────────────────────────────────────────────────
|
|
114
|
+
server.tool('list_workflows', 'List all workflows available on the daemon, ' +
|
|
115
|
+
'including their phases and evidence-floor requirements.', {}, async () => ok(await client.get('/workflows')));
|
|
116
|
+
const transport = new StdioServerTransport();
|
|
117
|
+
await server.connect(transport);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
|