@polderlabs/bizar-omp 0.7.8 → 0.7.10
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 +35 -4
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +46 -23
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/doctor.d.ts +4 -4
- package/dist/cli/install.d.ts +126 -9
- package/dist/cli/install.d.ts.map +1 -1
- package/dist/cli/install.js +19 -4
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/mobile-claim.d.ts +143 -0
- package/dist/cli/mobile-claim.d.ts.map +1 -0
- package/dist/cli/mobile-claim.js +399 -0
- package/dist/cli/mobile-claim.js.map +1 -0
- package/dist/cli/omb-commands.d.ts +1 -1
- package/dist/cli/omb-commands.d.ts.map +1 -1
- package/dist/cli/omb-commands.js +22 -1
- package/dist/cli/omb-commands.js.map +1 -1
- package/dist/cli/omb-mobile.d.ts +47 -0
- package/dist/cli/omb-mobile.d.ts.map +1 -0
- package/dist/cli/omb-mobile.js +307 -0
- package/dist/cli/omb-mobile.js.map +1 -0
- package/dist/cli/omb-sessions.d.ts +64 -0
- package/dist/cli/omb-sessions.d.ts.map +1 -0
- package/dist/cli/omb-sessions.js +231 -0
- package/dist/cli/omb-sessions.js.map +1 -0
- package/dist/cli/omb-update.d.ts.map +1 -1
- package/dist/cli/omb-update.js +17 -2
- package/dist/cli/omb-update.js.map +1 -1
- package/dist/cli/omb.js +20 -15
- package/dist/cli/omb.js.map +1 -1
- package/dist/cli/omp-mobile-dispatch.d.ts +10 -0
- package/dist/cli/omp-mobile-dispatch.d.ts.map +1 -0
- package/dist/cli/omp-mobile-dispatch.js +148 -0
- package/dist/cli/omp-mobile-dispatch.js.map +1 -0
- package/dist/core/acceptance.d.ts.map +1 -1
- package/dist/core/acceptance.js +22 -2
- package/dist/core/acceptance.js.map +1 -1
- package/dist/core/transitions.d.ts.map +1 -1
- package/dist/core/transitions.js +17 -1
- package/dist/core/transitions.js.map +1 -1
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +62 -23
- package/dist/extension.js.map +1 -1
- package/dist/omp/compatibility-receipt.d.ts +69 -0
- package/dist/omp/compatibility-receipt.d.ts.map +1 -0
- package/dist/omp/compatibility-receipt.js +60 -0
- package/dist/omp/compatibility-receipt.js.map +1 -0
- package/dist/omp/compatibility.d.ts +5 -5
- package/dist/omp/compatibility.d.ts.map +1 -1
- package/dist/omp/compatibility.js +2 -2
- package/dist/omp/compatibility.js.map +1 -1
- package/dist/omp/daemon-service.d.ts +6 -0
- package/dist/omp/daemon-service.d.ts.map +1 -1
- package/dist/omp/daemon-service.js +452 -14
- package/dist/omp/daemon-service.js.map +1 -1
- package/dist/omp/omb-sessions.d.ts +10 -0
- package/dist/omp/omb-sessions.d.ts.map +1 -1
- package/dist/omp/omb-sessions.js +8 -6
- package/dist/omp/omb-sessions.js.map +1 -1
- package/dist/omp/tmux.d.ts +17 -0
- package/dist/omp/tmux.d.ts.map +1 -1
- package/dist/omp/tmux.js +51 -7
- package/dist/omp/tmux.js.map +1 -1
- package/dist/scripts/emit-compatibility-receipt.d.ts +2 -0
- package/dist/scripts/emit-compatibility-receipt.d.ts.map +1 -0
- package/dist/scripts/emit-compatibility-receipt.js +33 -0
- package/dist/scripts/emit-compatibility-receipt.js.map +1 -0
- package/dist/tools/workflow.d.ts.map +1 -1
- package/dist/tools/workflow.js +11 -1
- package/dist/tools/workflow.js.map +1 -1
- package/docs/07-bizarharness-integration.md +44 -0
- package/docs/compatibility/baseline.json +9 -8
- package/docs/compatibility/supported-surfaces.json +2 -1
- package/docs/development/ci-release-implementation-guide.md +3 -3
- package/docs/releases/0.7.10.md +27 -0
- package/docs/releases/0.7.9.md +18 -0
- package/docs/releases/npm-publishing.md +12 -12
- package/docs/releases/support-matrix.md +8 -1
- package/package.json +6 -4
- package/skills/omp-native-development/SKILL.md +1 -1
- package/skills/omp-native-development/references/accuracy-and-versioning.md +1 -1
- package/skills/omp-native-development/references/source-manifest.json +3 -3
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { claimSessionForMobile, describeClaim, listClaims, releaseMobileClaim, } from "./mobile-claim.js";
|
|
2
|
+
import { listOmbSessions, sessionMatchesCwdScope } from "../omp/omb-sessions.js";
|
|
3
|
+
/**
|
|
4
|
+
* `omb sessions list --json` — a machine-readable session inventory.
|
|
5
|
+
*
|
|
6
|
+
* Until this existed there was no stable way for another tool to learn what
|
|
7
|
+
* sessions Bizar owns. The dashboard's `GET /sessions` is the only other
|
|
8
|
+
* machine-readable surface, and it is deliberately gated behind a loopback
|
|
9
|
+
* bearer token; a companion process on the same host has no way to reach it
|
|
10
|
+
* without minting one.
|
|
11
|
+
*
|
|
12
|
+
* Two properties are load-bearing and must not be relaxed:
|
|
13
|
+
*
|
|
14
|
+
* - **Scan authority travels with the data.** An empty list is ambiguous with
|
|
15
|
+
* "the multiplexer did not answer", and a consumer that treats it as
|
|
16
|
+
* authoritative blanks every row on a transient tmux restart. `authority.known`
|
|
17
|
+
* is what lets a caller tell those apart.
|
|
18
|
+
* - **Liveness is never inferred.** `processObserved`, `authorityKnown` and
|
|
19
|
+
* `uncertainLiveness` are three separate observations, reported as three
|
|
20
|
+
* separate fields. Collapsing them would turn "we could not tell" into "no".
|
|
21
|
+
*/
|
|
22
|
+
export const SESSIONS_USAGE = `omb sessions list [--all] [--json]
|
|
23
|
+
|
|
24
|
+
Lists the Bizar-owned sessions for this project; --all selects every project.
|
|
25
|
+
|
|
26
|
+
--json print machine-readable output for other tools.
|
|
27
|
+
--all include sessions from every project known to this OMB host.
|
|
28
|
+
|
|
29
|
+
Fields are observations, not inferences. authority.known is false when the
|
|
30
|
+
multiplexer did not answer, and an empty sessions list in that state means
|
|
31
|
+
"unknown", not "none". uncertainLiveness and processObserved are reported
|
|
32
|
+
separately for the same reason: unknown liveness is never downgraded to
|
|
33
|
+
absent.`;
|
|
34
|
+
/**
|
|
35
|
+
* Projects an internal session row onto the published shape.
|
|
36
|
+
*
|
|
37
|
+
* `command` and all prompt/tool content are dropped. The process id and native
|
|
38
|
+
* id remain only for trusted host-side consumers that prove claim eligibility;
|
|
39
|
+
* the mobile host removes both before projecting any row to the phone.
|
|
40
|
+
*/
|
|
41
|
+
function toInventorySession(session) {
|
|
42
|
+
return {
|
|
43
|
+
name: session.name,
|
|
44
|
+
displayName: session.displayName ?? session.name,
|
|
45
|
+
state: session.state,
|
|
46
|
+
generation: session.generation,
|
|
47
|
+
project: session.project,
|
|
48
|
+
cwd: session.cwd,
|
|
49
|
+
hosted: session.hosted,
|
|
50
|
+
attached: session.attached,
|
|
51
|
+
authorityKnown: session.authorityKnown,
|
|
52
|
+
processObserved: session.processObserved,
|
|
53
|
+
uncertainLiveness: session.uncertainLiveness,
|
|
54
|
+
...(session.activity === undefined ? {} : { activity: (({ pid: _pid, ...activity }) => activity)(session.activity) }),
|
|
55
|
+
...(session.nativeId === undefined ? {} : { nativeId: session.nativeId }),
|
|
56
|
+
...(session.pid === undefined ? {} : { pid: session.pid }),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* One scan, one authority value.
|
|
61
|
+
*
|
|
62
|
+
* An earlier version probed authority and then listed sessions separately. That
|
|
63
|
+
* is wrong: if the multiplexer changes state between the two probes, the
|
|
64
|
+
* payload can claim `authority.known: true` alongside an empty list, which is
|
|
65
|
+
* exactly the "blank every row on a transient restart" failure the field
|
|
66
|
+
* exists to prevent. `requireMultiplexer` makes the listing itself fail
|
|
67
|
+
* closed, so authority and data are always the same observation.
|
|
68
|
+
*/
|
|
69
|
+
export async function collectSessionsInventory(cwd = process.cwd(), env = process.env, options = {}) {
|
|
70
|
+
let sessions;
|
|
71
|
+
try {
|
|
72
|
+
sessions = await listOmbSessions(cwd, env, { includeStopped: true, requireMultiplexer: true, includeAllStopped: true });
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
// The scan is unavailable, so authority is unknown and the list is
|
|
76
|
+
// explicitly empty. A consumer sees "unknown", not "none".
|
|
77
|
+
const reason = error instanceof Error ? error.message : "the multiplexer did not answer a session scan";
|
|
78
|
+
return { authority: { known: false, reason }, sessions: [] };
|
|
79
|
+
}
|
|
80
|
+
const scoped = options.scope === "all" ? sessions : sessions.filter((session) => sessionMatchesCwdScope(session, cwd));
|
|
81
|
+
return { authority: { known: true }, sessions: scoped.map(toInventorySession) };
|
|
82
|
+
}
|
|
83
|
+
export async function runSessionsCommand(cwd, args, env) {
|
|
84
|
+
// Help is handled before subcommand parsing: `omb sessions --help` is the
|
|
85
|
+
// direct help form every other registered command supports, so it must not be
|
|
86
|
+
// read as a subcommand name and rejected as unknown.
|
|
87
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
88
|
+
process.stdout.write(`${SESSIONS_USAGE}\n`);
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
const sub = args[0] ?? "list";
|
|
92
|
+
const json = args.includes("--json");
|
|
93
|
+
if (sub !== "list") {
|
|
94
|
+
process.stderr.write(`omb sessions: unknown subcommand "${sub}"\n\n${SESSIONS_USAGE}\n`);
|
|
95
|
+
return 2;
|
|
96
|
+
}
|
|
97
|
+
const inventory = await collectSessionsInventory(cwd, env, { scope: args.includes("--all") ? "all" : "project" });
|
|
98
|
+
if (json) {
|
|
99
|
+
process.stdout.write(`${JSON.stringify(inventory, null, 2)}\n`);
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
102
|
+
if (inventory.sessions.length === 0) {
|
|
103
|
+
// Say *why* it is empty rather than implying there are no sessions.
|
|
104
|
+
process.stdout.write(inventory.authority.known
|
|
105
|
+
? "No Bizar sessions for this project.\n"
|
|
106
|
+
: `No sessions could be listed: ${inventory.authority.reason ?? "session authority is unknown"}.\n`);
|
|
107
|
+
return inventory.authority.known ? 0 : 1;
|
|
108
|
+
}
|
|
109
|
+
for (const session of inventory.sessions) {
|
|
110
|
+
const liveness = session.processObserved ? "" : session.uncertainLiveness ? " (liveness unknown)" : " (no live process observed)";
|
|
111
|
+
process.stdout.write(`${session.name} ${session.state}${session.attached ? " attached" : ""}${liveness}\n`);
|
|
112
|
+
}
|
|
113
|
+
return 0;
|
|
114
|
+
}
|
|
115
|
+
/** Mobile ownership controls live under the mobile command family. */
|
|
116
|
+
export async function runMobileSessionsCommand(cwd, args, env) {
|
|
117
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
118
|
+
process.stdout.write(`${MOBILE_SESSIONS_USAGE}\n`);
|
|
119
|
+
return 0;
|
|
120
|
+
}
|
|
121
|
+
const sub = args[0] ?? "list";
|
|
122
|
+
const json = args.includes("--json");
|
|
123
|
+
if (sub === "claims")
|
|
124
|
+
return runListClaims(env, json);
|
|
125
|
+
if (sub === "claim")
|
|
126
|
+
return await runClaimMobile(cwd, ["claim-mobile", ...args.slice(1)], env, json);
|
|
127
|
+
if (sub === "release")
|
|
128
|
+
return await runReleaseMobile(cwd, ["release-mobile", ...args.slice(1)], env, json);
|
|
129
|
+
if (sub === "list")
|
|
130
|
+
return await runSessionsCommand(cwd, ["list", ...(args.includes("--project") ? [] : ["--all"]), ...args.slice(1)], env);
|
|
131
|
+
process.stderr.write(`omb mobile sessions: unknown subcommand "${sub}"\n\n${MOBILE_SESSIONS_USAGE}\n`);
|
|
132
|
+
return 2;
|
|
133
|
+
}
|
|
134
|
+
export const MOBILE_SESSIONS_USAGE = `omb mobile sessions <list|claims|claim|release> [options]
|
|
135
|
+
|
|
136
|
+
list List OMB sessions across projects (add --project for this directory only).
|
|
137
|
+
claims List outstanding mobile ownership claims.
|
|
138
|
+
claim <name> <generation> [--owner <label>] [--holder-pid <pid>] [--json]
|
|
139
|
+
Claim one stopped session generation for the mobile host.
|
|
140
|
+
release <claim-id> [--json]
|
|
141
|
+
Release a mobile ownership claim.
|
|
142
|
+
|
|
143
|
+
Claims require an exact generation and confirmed stopped, unattached session.
|
|
144
|
+
A session with a live local owner is refused.
|
|
145
|
+
`;
|
|
146
|
+
function runListClaims(env, json) {
|
|
147
|
+
const claims = listClaims(env).map((claim) => describeClaim(claim));
|
|
148
|
+
if (json) {
|
|
149
|
+
process.stdout.write(`${JSON.stringify({ claims }, null, 2)}\n`);
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
if (claims.length === 0) {
|
|
153
|
+
process.stdout.write("No mobile claims.\n");
|
|
154
|
+
return 0;
|
|
155
|
+
}
|
|
156
|
+
for (const claim of claims) {
|
|
157
|
+
process.stdout.write(`${String(claim.claimId)} ${String(claim.session)} ${String(claim.owner)}${claim.stale === true ? " (stale)" : ""}\n`);
|
|
158
|
+
}
|
|
159
|
+
return 0;
|
|
160
|
+
}
|
|
161
|
+
async function runClaimMobile(cwd, args, env, json) {
|
|
162
|
+
const name = args[1];
|
|
163
|
+
const generation = args[2];
|
|
164
|
+
if (name === undefined || generation === undefined) {
|
|
165
|
+
process.stderr.write("usage: omb mobile sessions claim <session> <generation> [--owner <label>] [--holder-pid <n>] [--json]\n");
|
|
166
|
+
return 2;
|
|
167
|
+
}
|
|
168
|
+
const ownerIndex = args.indexOf("--owner");
|
|
169
|
+
const owner = ownerIndex >= 0 && args[ownerIndex + 1] !== undefined ? String(args[ownerIndex + 1]) : "mobile";
|
|
170
|
+
const holderIndex = args.indexOf("--holder-pid");
|
|
171
|
+
const holderRaw = holderIndex >= 0 ? args[holderIndex + 1] : undefined;
|
|
172
|
+
const holderPid = holderRaw === undefined ? undefined : Number(holderRaw);
|
|
173
|
+
if (holderPid !== undefined && (!Number.isInteger(holderPid) || holderPid <= 0)) {
|
|
174
|
+
process.stderr.write("omb sessions: --holder-pid must be a positive integer\n");
|
|
175
|
+
return 2;
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
const outcome = await claimSessionForMobile({ cwd, name, generation, owner, holderPid, env });
|
|
179
|
+
if (json) {
|
|
180
|
+
process.stdout.write(`${JSON.stringify(outcome, null, 2)}\n`);
|
|
181
|
+
return 0;
|
|
182
|
+
}
|
|
183
|
+
const lines = [
|
|
184
|
+
`claimed ${outcome.claim.session}`,
|
|
185
|
+
`claim id ${outcome.claim.claimId}`,
|
|
186
|
+
`generation ${outcome.claim.generation}`,
|
|
187
|
+
`directory ${outcome.sessionDir}`,
|
|
188
|
+
...(outcome.takeover ? ["note took over a stale claim"] : []),
|
|
189
|
+
];
|
|
190
|
+
process.stdout.write(`${lines.join("\n")}\n`);
|
|
191
|
+
return 0;
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
return reportFailure(error, json);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
async function runReleaseMobile(cwd, args, env, json) {
|
|
198
|
+
const claimId = args[1];
|
|
199
|
+
if (claimId === undefined) {
|
|
200
|
+
process.stderr.write("usage: omb mobile sessions release <claim-id> [--json]\n");
|
|
201
|
+
return 2;
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
const outcome = await releaseMobileClaim({ claimId, cwd, env });
|
|
205
|
+
if (json) {
|
|
206
|
+
process.stdout.write(`${JSON.stringify(outcome, null, 2)}\n`);
|
|
207
|
+
return 0;
|
|
208
|
+
}
|
|
209
|
+
process.stdout.write(`released ${outcome.claim.session} (claim ${outcome.claim.claimId})\n`);
|
|
210
|
+
// A claim that lost its generation is reported, not buried: the caller has
|
|
211
|
+
// to know the session moved on while it held the claim.
|
|
212
|
+
if (!outcome.generationHeld) {
|
|
213
|
+
process.stderr.write("note: the session changed generation while claimed; the claim did not protect it\n");
|
|
214
|
+
}
|
|
215
|
+
return 0;
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
return reportFailure(error, json);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function reportFailure(error, json) {
|
|
222
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
223
|
+
if (json) {
|
|
224
|
+
process.stdout.write(`${JSON.stringify({ ok: false, error: message }, null, 2)}\n`);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
process.stderr.write(`omb sessions: ${message}\n`);
|
|
228
|
+
}
|
|
229
|
+
return 1;
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=omb-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omb-sessions.js","sourceRoot":"","sources":["../../src/cli/omb-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb-update.d.ts","sourceRoot":"","sources":["../../src/cli/omb-update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"omb-update.d.ts","sourceRoot":"","sources":["../../src/cli/omb-update.ts"],"names":[],"mappings":"AASA,oEAAoE;AACpE,eAAO,MAAM,WAAW,QAAO,OAAwC,CAAC;AACxE,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAEpD,eAAO,MAAM,YAAY,kZAOmC,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,QAAQ,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,IAAI,MAAM,CAAC;IACzB,aAAa,IAAI,MAAM,CAAC;IACxB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAAC;IACxC,gBAAgB,IAAI,MAAM,CAAC;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;CAC9D;AAQD,eAAO,MAAM,YAAY,YAAa,MAAM,KAAG,MAI9C,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,MAAM,SAAS,MAAM,KAAG,MAO7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAE5D,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,MAIjD,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CASrF;AAED,eAAO,MAAM,cAAc,EAAE,cA4B5B,CAAC;AA6BF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,cAA+B,GACxC,OAAO,CAAC,MAAM,CAAC,CAmIjB"}
|
package/dist/cli/omb-update.js
CHANGED
|
@@ -3,6 +3,7 @@ import { execFileSync } from "node:child_process";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { packageRoot } from "./install.js";
|
|
5
5
|
import { runNpm } from "./process.js";
|
|
6
|
+
import { isQualifiedOmpVersion, LATEST_QUALIFIED_OMP_VERSION } from "../omp/compatibility.js";
|
|
6
7
|
import { findOnPath } from "../omp/tmux.js";
|
|
7
8
|
import { runInkUpdate } from "./update-ink.js";
|
|
8
9
|
/** Whether the current stdout can host the interactive Ink view. */
|
|
@@ -168,9 +169,23 @@ export async function runUpdateCommand(args, env = process.env, services = updat
|
|
|
168
169
|
try {
|
|
169
170
|
ompVersion = services.ompCurrentVersion();
|
|
170
171
|
ompLatest = validOmpVersion(services.ompLatestVersion());
|
|
171
|
-
|
|
172
|
+
// `omb update` is a Bizar self-update, not an OMP upgrade. It only moves
|
|
173
|
+
// OMP forward to the newest version Bizar has *qualified*; installing
|
|
174
|
+
// whatever npm reports as latest would put a working installation onto an
|
|
175
|
+
// unqualified runtime before the compatibility gate has cleared it, and the
|
|
176
|
+
// plugin refresh then bypasses the compatibility guard for exactly that
|
|
177
|
+
// case. A newer-but-unqualified OMP is reported and left for an explicit
|
|
178
|
+
// `omp update`.
|
|
179
|
+
const target = ompLatest && isQualifiedOmpVersion(ompLatest) ? ompLatest : undefined;
|
|
180
|
+
if (!target) {
|
|
181
|
+
ompUpdateResult = "current";
|
|
182
|
+
ompUpdateReason = ompLatest
|
|
183
|
+
? `OMP ${ompLatest} is newer than the highest qualified version (${LATEST_QUALIFIED_OMP_VERSION}); upgrade OMP explicitly to try it.`
|
|
184
|
+
: "could not determine the latest OMP version";
|
|
185
|
+
}
|
|
186
|
+
else if (ompVersion && compareVersions(target, ompVersion) > 0) {
|
|
172
187
|
try {
|
|
173
|
-
services.installOmp(`${OMP_PACKAGE_NAME}@${
|
|
188
|
+
services.installOmp(`${OMP_PACKAGE_NAME}@${target}`);
|
|
174
189
|
ompUpdateResult = "updated";
|
|
175
190
|
}
|
|
176
191
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb-update.js","sourceRoot":"","sources":["../../src/cli/omb-update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"omb-update.js","sourceRoot":"","sources":["../../src/cli/omb-update.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/omb.js
CHANGED
|
@@ -5,23 +5,28 @@ import { parseOmbCommand } from "./omb-invocation.js";
|
|
|
5
5
|
import { launchOmb, shouldLaunchOmbInTmux } from "../omp/tmux.js";
|
|
6
6
|
try {
|
|
7
7
|
const [token = "", ...args] = process.argv.slice(2);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
process.exitCode = await command.run(args, process.env);
|
|
8
|
+
if (token === "--internal-mobile") {
|
|
9
|
+
process.exitCode = await (await import("./omb-mobile.js")).runMobileCommand(args, process.env);
|
|
11
10
|
}
|
|
12
11
|
else {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
const command = findOmbCommand(token);
|
|
13
|
+
if (command) {
|
|
14
|
+
process.exitCode = await command.run(args, process.env);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// Anything omb does not own is an OMP invocation: run or attach it, then
|
|
18
|
+
// return to the hub when the launch took over an opaque terminal.
|
|
19
|
+
const invocation = parseOmbCommand(process.argv.slice(2));
|
|
20
|
+
const returnToHub = shouldLaunchOmbInTmux({
|
|
21
|
+
args: invocation.ompArgs,
|
|
22
|
+
env: process.env,
|
|
23
|
+
stdinIsTTY: process.stdin.isTTY === true,
|
|
24
|
+
stdoutIsTTY: process.stdout.isTTY === true,
|
|
25
|
+
});
|
|
26
|
+
process.exitCode = await launchOmb(process.cwd(), invocation.ompArgs, process.env, invocation.sessionId);
|
|
27
|
+
if (returnToHub)
|
|
28
|
+
process.exitCode = await runAgentsHub(process.cwd(), [], process.env);
|
|
29
|
+
}
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
32
|
catch (error) {
|
package/dist/cli/omb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb.js","sourceRoot":"","sources":["../../src/cli/omb.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAElE,IAAI,CAAC;IACH,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"omb.js","sourceRoot":"","sources":["../../src/cli/omb.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAElE,IAAI,CAAC;IACH,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;QAClC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,kEAAkE;YAClE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,qBAAqB,CAAC;gBACxC,IAAI,EAAE,UAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;gBACxC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;aAC3C,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YACzG,IAAI,WAAW;gBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;AACH,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function installOmpMobileDispatch(command?: string, env?: NodeJS.ProcessEnv): {
|
|
2
|
+
path: string;
|
|
3
|
+
nativePath: string;
|
|
4
|
+
installed: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function removeOmpMobileDispatch(command?: string, env?: NodeJS.ProcessEnv): {
|
|
7
|
+
path: string;
|
|
8
|
+
restored: boolean;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=omp-mobile-dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omp-mobile-dispatch.d.ts","sourceRoot":"","sources":["../../src/cli/omp-mobile-dispatch.ts"],"names":[],"mappings":"AA4CA,wBAAgB,wBAAwB,CAAC,OAAO,SAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAwCxJ;AAED,wBAAgB,uBAAuB,CAAC,OAAO,SAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CA4BlI"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { chmodSync, existsSync, statSync, openSync, closeSync, linkSync, readSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { delimiter, isAbsolute, join, resolve } from "node:path";
|
|
3
|
+
const MARKER = "# bizar-omp-mobile-dispatch:v1";
|
|
4
|
+
const NATIVE_SUFFIX = ".bizar-native";
|
|
5
|
+
function executableOnPath(command, env) {
|
|
6
|
+
if (command.includes("/") || command.includes("\\")) {
|
|
7
|
+
const candidate = resolve(command);
|
|
8
|
+
return existsSync(candidate) ? candidate : undefined;
|
|
9
|
+
}
|
|
10
|
+
for (const directory of (env.PATH ?? "").split(delimiter)) {
|
|
11
|
+
if (!directory)
|
|
12
|
+
continue;
|
|
13
|
+
const candidate = join(directory, command);
|
|
14
|
+
try {
|
|
15
|
+
if (statSync(candidate).isFile())
|
|
16
|
+
return candidate;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
// Continue through PATH; the CLI prints a single useful error below.
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
function wrapper(nativePath) {
|
|
25
|
+
const quote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
|
|
26
|
+
return `#!/bin/sh\n${MARKER}\nif [ "\${1-}" = mobile ]; then\n shift\n exec omb --internal-mobile "$@"\nfi\nexec ${quote(nativePath)} "$@"\n`;
|
|
27
|
+
}
|
|
28
|
+
function readHeader(path) {
|
|
29
|
+
const fd = openSync(path, "r");
|
|
30
|
+
try {
|
|
31
|
+
const buffer = Buffer.alloc(96);
|
|
32
|
+
const count = readSync(fd, buffer, 0, buffer.length, 0);
|
|
33
|
+
return buffer.toString("utf8", 0, count);
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
closeSync(fd);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function resolveTarget(command, env) {
|
|
40
|
+
const target = executableOnPath(command, env);
|
|
41
|
+
if (!target)
|
|
42
|
+
throw new Error(`Cannot find OMP executable "${command}" on PATH`);
|
|
43
|
+
if (process.platform === "win32")
|
|
44
|
+
throw new Error("The omp mobile dispatcher currently requires a POSIX shell");
|
|
45
|
+
return realpathSync(target);
|
|
46
|
+
}
|
|
47
|
+
export function installOmpMobileDispatch(command = "omp", env = process.env) {
|
|
48
|
+
const target = resolveTarget(command, env);
|
|
49
|
+
if (!executableOnPath("omb", env))
|
|
50
|
+
throw new Error("Cannot install omp mobile routing because the Bizar OMB command is not on PATH");
|
|
51
|
+
const targetHeader = readHeader(target);
|
|
52
|
+
const nativePath = `${target}${NATIVE_SUFFIX}`;
|
|
53
|
+
if (targetHeader.startsWith(`#!/bin/sh\n${MARKER}\n`)) {
|
|
54
|
+
if (!existsSync(nativePath) || !statSync(nativePath).isFile())
|
|
55
|
+
throw new Error(`omp dispatcher is installed but its native OMP backup is missing: ${nativePath}`);
|
|
56
|
+
return { path: target, nativePath, installed: false };
|
|
57
|
+
}
|
|
58
|
+
if (!statSync(target).isFile())
|
|
59
|
+
throw new Error(`OMP path is not a regular executable file: ${target}`);
|
|
60
|
+
if (existsSync(nativePath)) {
|
|
61
|
+
const targetStat = statSync(target);
|
|
62
|
+
const backupStat = statSync(nativePath);
|
|
63
|
+
if (targetStat.dev === backupStat.dev && targetStat.ino === backupStat.ino)
|
|
64
|
+
rmSync(nativePath);
|
|
65
|
+
else
|
|
66
|
+
throw new Error(`Refusing to replace an existing OMP backup: ${nativePath}`);
|
|
67
|
+
}
|
|
68
|
+
const lockPath = `${target}.bizar-mobile.lock`;
|
|
69
|
+
let lock;
|
|
70
|
+
try {
|
|
71
|
+
lock = openSync(lockPath, "wx", 0o600);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
throw new Error(`Another OMP mobile dispatcher change is in progress (${lockPath})`);
|
|
75
|
+
}
|
|
76
|
+
const temporary = `${target}.${process.pid}.bizar-mobile.tmp`;
|
|
77
|
+
try {
|
|
78
|
+
writeFileSync(temporary, wrapper(nativePath), { mode: 0o755, flag: "wx" });
|
|
79
|
+
chmodSync(temporary, 0o755);
|
|
80
|
+
// Preserve the complete native OMP executable through a hard link, then
|
|
81
|
+
// atomically replace only its command path with the dispatcher.
|
|
82
|
+
try {
|
|
83
|
+
linkSync(target, nativePath);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
throw new Error(`Could not preserve native OMP at ${nativePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
renameSync(temporary, target);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
rmSync(nativePath, { force: true });
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
return { path: target, nativePath, installed: true };
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
rmSync(temporary, { force: true });
|
|
99
|
+
closeSync(lock);
|
|
100
|
+
rmSync(lockPath, { force: true });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export function removeOmpMobileDispatch(command = "omp", env = process.env) {
|
|
104
|
+
const target = resolveTarget(command, env);
|
|
105
|
+
let contents;
|
|
106
|
+
try {
|
|
107
|
+
contents = readHeader(target);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return { path: target, restored: false };
|
|
111
|
+
}
|
|
112
|
+
if (!contents.startsWith(`#!/bin/sh\n${MARKER}\n`))
|
|
113
|
+
return { path: target, restored: false };
|
|
114
|
+
contents = readFileSync(target, "utf8");
|
|
115
|
+
const nativePath = `${target}${NATIVE_SUFFIX}`;
|
|
116
|
+
if (!existsSync(nativePath) || !statSync(nativePath).isFile())
|
|
117
|
+
throw new Error(`Cannot restore OMP; native executable is missing: ${nativePath}`);
|
|
118
|
+
if (process.platform === "win32" || !isAbsolute(target))
|
|
119
|
+
throw new Error("Cannot safely restore the OMP dispatcher at this path");
|
|
120
|
+
const expected = wrapper(nativePath);
|
|
121
|
+
if (contents !== expected)
|
|
122
|
+
throw new Error("The omp dispatcher was modified; refusing to replace an unrecognized executable");
|
|
123
|
+
const lockPath = `${target}.bizar-mobile.lock`;
|
|
124
|
+
let lock;
|
|
125
|
+
try {
|
|
126
|
+
lock = openSync(lockPath, "wx", 0o600);
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
throw new Error(`Another OMP mobile dispatcher change is in progress (${lockPath})`);
|
|
130
|
+
}
|
|
131
|
+
const temporary = `${target}.${process.pid}.bizar-native.tmp`;
|
|
132
|
+
try {
|
|
133
|
+
renameSync(nativePath, temporary);
|
|
134
|
+
try {
|
|
135
|
+
renameSync(temporary, target);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
renameSync(temporary, nativePath);
|
|
139
|
+
throw error;
|
|
140
|
+
}
|
|
141
|
+
return { path: target, restored: true };
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
closeSync(lock);
|
|
145
|
+
rmSync(lockPath, { force: true });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=omp-mobile-dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omp-mobile-dispatch.js","sourceRoot":"","sources":["../../src/cli/omp-mobile-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../src/core/acceptance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAkB,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhH,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AACtT,MAAM,WAAW,iBAAiB;IAAG,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAAE;AACpJ,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgB9G;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../src/core/acceptance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAkB,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhH,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AACtT,MAAM,WAAW,iBAAiB;IAAG,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAAE;AACpJ,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgB9G;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,GAAG,kBAAkB,CAuDjH"}
|
package/dist/core/acceptance.js
CHANGED
|
@@ -93,9 +93,29 @@ export function evaluateAcceptance(state, requirements) {
|
|
|
93
93
|
if (state.run?.cancellation.requested)
|
|
94
94
|
blockers.push({ code: "CANCEL_FENCE_ACTIVE", message: "Workflow cancellation has been acknowledged" });
|
|
95
95
|
const criteria = (requirements.criteria ?? []).filter(criterion => criterion.applicable);
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
// An `operator-judgment` criterion is satisfied by a passing operator
|
|
97
|
+
// receipt, not by a check. It used to be skipped entirely, so the default
|
|
98
|
+
// criteria — which `freezeObjective` derives from plain acceptance-criterion
|
|
99
|
+
// strings, all of them operator judgments — gated nothing at all.
|
|
100
|
+
for (const criterion of criteria) {
|
|
101
|
+
if (criterion.kind === "operator-judgment") {
|
|
102
|
+
const receipt = [...(state.operatorReceipts ?? [])]
|
|
103
|
+
.filter(candidate => candidate.id === criterion.id || candidate.workItemId === criterion.id)
|
|
104
|
+
.sort((a, b) => a.issuedAt.localeCompare(b.issuedAt))
|
|
105
|
+
.at(-1);
|
|
106
|
+
if (!receipt)
|
|
107
|
+
blockers.push({ code: "MISSING_CHECK", message: `Criterion ${criterion.id} requires an operator receipt; none was recorded`, criterionId: criterion.id });
|
|
108
|
+
else if (receipt.verdict !== "passed")
|
|
109
|
+
blockers.push({ code: "LATEST_ATTEMPT_FAILED", message: `Operator receipt for ${criterion.id} is "${receipt.verdict}": ${receipt.rationale}`, criterionId: criterion.id });
|
|
110
|
+
else {
|
|
111
|
+
coveredCriterionIds.add(criterion.id);
|
|
112
|
+
selectedEvidenceIds.push(receipt.id);
|
|
113
|
+
}
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
if (!coveredCriterionIds.has(criterion.id))
|
|
98
117
|
blockers.push({ code: "MISSING_CHECK", message: `Criterion ${criterion.id} has no covered evidence`, criterionId: criterion.id });
|
|
118
|
+
}
|
|
99
119
|
return { eligible: blockers.length === 0 && checks.length > 0, coveredCriterionIds: [...coveredCriterionIds], selectedEvidenceIds, missingEvidence, staleEvidence, supersededEvidence, blockers };
|
|
100
120
|
}
|
|
101
121
|
//# sourceMappingURL=acceptance.js.map
|