@software-dlc/cli 0.163.2 → 0.164.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @software-dlc/cli
2
2
 
3
+ ## 0.164.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 16e5f0d: Graph: sdlc viewer draws the Queues page at org/<org>/queues from promote status: the four stages with their built-in policies, each stage's turns, waiting entries and batch, every holder named by its thread, and the turns running beside a batch on Main
8
+
3
9
  ## 0.163.2
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,59 @@
1
+ import type { AppContractAnswer } from './app-contract-readers.js';
2
+ /**
3
+ * sdlc viewer's Queues page reads (lq6-local, docs/specs/live-queues.md LQ6): GET api/app/queues,
4
+ * the four promotion stages with what each list row draws, and api/app/queues/<stage>, one stage's
5
+ * configuration and its queue-state/v1. Both come from one engine read, `promote status` (a read of
6
+ * a copy, without --wake), whose queue_state gives every stage as queue-state/v1, and from the
7
+ * engine's built-in policy and management for each stage (queue_model/builtin.json). Nothing here
8
+ * words a state of its own: the shared page does.
9
+ *
10
+ * The read runs in a child process and is kept QUEUES_KEEP_MS from when it finished, one read at a
11
+ * time, later requests joining it. A failed read is not kept, so the next request reads again.
12
+ */
13
+ /** One engine run: its exit code and output. */
14
+ export type QueuesRun = (command: {
15
+ script: string;
16
+ args: string[];
17
+ cwd: string;
18
+ timeout_ms: number;
19
+ }) => Promise<{
20
+ code: number;
21
+ stdout: string;
22
+ stderr: string;
23
+ }>;
24
+ export type QueuesInput = {
25
+ /** The checkout whose engine runs, and the main checkout whose queues it reads. */
26
+ engine: string;
27
+ repo: string;
28
+ run?: QueuesRun;
29
+ /** Epoch ms; tests stand it in. */
30
+ now?: () => number;
31
+ /** Where a failure's detail goes: the viewer's terminal. */
32
+ log?: (line: string) => void;
33
+ };
34
+ export type AppQueues = {
35
+ list: () => Promise<AppContractAnswer>;
36
+ queue: (stage: string) => Promise<AppContractAnswer>;
37
+ /** Whether the engine gives queue-state/v1 and the built-in policies; false answers view_outdated. */
38
+ current: boolean;
39
+ };
40
+ export declare const QUEUES_KEEP_MS = 15000;
41
+ export declare const QUEUES_OUTDATED = "This viewer's engine has no queue-state reads yet; update the main checkout and restart sdlc viewer.";
42
+ type Json = Record<string, unknown>;
43
+ /**
44
+ * What a waiting Main entry waits on, as its Note: 'Waits on <thread>: both change <items>', then its
45
+ * own join note. promote names the nearest entry ahead it depends on and the files, migrations or
46
+ * resources both change.
47
+ */
48
+ export declare function waitsOnLine(waits_for: Json): string | null;
49
+ /**
50
+ * The Queues page for the repository sdlc viewer runs in, read by the engine its other panels run:
51
+ * a SoftwareDLC checkout's own, else the packaged one, as the Worktrees page finds it. Null outside
52
+ * a Git repository or with no engine, where the page answers engine_missing.
53
+ */
54
+ export declare function queuesProvider(cwd: string, { packaged }?: {
55
+ packaged?: () => string | null;
56
+ }): AppQueues | null;
57
+ export declare function appQueues(input: QueuesInput): AppQueues;
58
+ export {};
59
+ //# sourceMappingURL=app-queues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-queues.d.ts","sourceRoot":"","sources":["../../src/local/app-queues.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;;;;GAUG;AAEH,gDAAgD;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC;IAChH,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrD,sGAAsG;IACtG,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,CAAC;AAkCrC,eAAO,MAAM,eAAe,yGAC4E,CAAC;AASzG,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAqCpC;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAU1D;AAqDD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,EAAE,QAA0B,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;CAAO,GACtE,SAAS,GAAG,IAAI,CAOlB;AAYD,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CA6JvD"}
@@ -0,0 +1,323 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { readFileSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
+ import { engineLayout, locateCheckout, packagedEngine, viewCodeRoot } from '../checkout.js';
5
+ import { VIEW_PACKAGE } from '../view-seam.js';
6
+ export const QUEUES_KEEP_MS = 15_000;
7
+ const READ_TIMEOUT_MS = 120_000;
8
+ const STAGES = ['main', 'staging', 'publish', 'accept'];
9
+ // Each stage's name, purpose and second line, in this checkout's words (frame 661a64e7).
10
+ const STAGE_COPY = {
11
+ main: {
12
+ name: 'Main',
13
+ purpose: "Lands this checkout's finished work on local main. Independent entries run side by side; only one lands at a time.",
14
+ binding: { kind: 'label', label: 'Lands on local main' },
15
+ layer: { kind: 'implement' }
16
+ },
17
+ staging: {
18
+ name: 'Staging',
19
+ purpose: "Deploys local main to hosted staging, one turn at a time; a deploy carries every entry waiting to deploy.",
20
+ binding: null,
21
+ layer: { kind: 'release', promotes_to: 'staging' }
22
+ },
23
+ // Publish and Accept ride and hold turns as Staging does: Release's rows, with nowhere to promote to.
24
+ publish: {
25
+ name: 'Publish',
26
+ purpose: "Publishes the local coordinator's graph to the hosted project, one turn at a time.",
27
+ binding: null,
28
+ layer: { kind: 'release' }
29
+ },
30
+ accept: {
31
+ name: 'Accept',
32
+ purpose: 'Accepts the published graph proposal on the hosted project, one turn at a time.',
33
+ binding: null,
34
+ layer: { kind: 'release' }
35
+ }
36
+ };
37
+ export const QUEUES_OUTDATED = "This viewer's engine has no queue-state reads yet; update the main checkout and restart sdlc viewer.";
38
+ const TERMINAL = 'see the sdlc viewer terminal';
39
+ // A registry another command holds: SQLite's 'database is locked' or 'database is busy', which
40
+ // promote's own locked() keeps retrying and then reports. Hosted's errors are never matched.
41
+ const BUSY = /\b(?:database|registry) is (?:locked|busy)\b/;
42
+ /** A live stage hosted could not read: never a busy registry, whatever its text says. */
43
+ class LiveReadError extends Error {
44
+ }
45
+ const record = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : {};
46
+ const list = (value) => (Array.isArray(value) ? value : []);
47
+ const text = (value) => (typeof value === 'string' ? value : '');
48
+ function runPython({ script, args, cwd, timeout_ms }) {
49
+ return new Promise((done) => {
50
+ execFile('python3', [script, ...args], { cwd, encoding: 'utf8', timeout: timeout_ms, maxBuffer: 64 * 1024 * 1024 }, (error, stdout, stderr) => {
51
+ const code = error ? (typeof error.code === 'number' ? error.code : 1) : 0;
52
+ done({ code, stdout: String(stdout), stderr: String(stderr) || (error && !stdout ? error.message : '') });
53
+ });
54
+ });
55
+ }
56
+ /** promote's {ok, result} answer, from its last line when other output comes before it. */
57
+ function answerOf(out) {
58
+ const stdout = out.stdout.trim();
59
+ for (const candidate of [stdout, stdout.split('\n').pop() ?? '']) {
60
+ let parsed;
61
+ try {
62
+ parsed = record(JSON.parse(candidate));
63
+ }
64
+ catch {
65
+ continue;
66
+ }
67
+ if (parsed.ok !== true)
68
+ throw new Error(`promote status refused it: ${text(parsed.error)}`);
69
+ return record(parsed.result);
70
+ }
71
+ throw new Error(`promote status printed no answer: ${(out.stderr || out.stdout).trim().slice(-300)}`);
72
+ }
73
+ /**
74
+ * What a waiting Main entry waits on, as its Note: 'Waits on <thread>: both change <items>', then its
75
+ * own join note. promote names the nearest entry ahead it depends on and the files, migrations or
76
+ * resources both change.
77
+ */
78
+ export function waitsOnLine(waits_for) {
79
+ const thread = text(waits_for.thread);
80
+ if (!thread)
81
+ return null;
82
+ const items = list(waits_for.why)
83
+ .map(record)
84
+ .flatMap((why) => list(why.items).map(text))
85
+ .filter(Boolean);
86
+ const shown = items.slice(0, 3).join(', ') + (items.length > 3 ? ` and ${items.length - 3} more` : '');
87
+ const others = Number(waits_for.and_others_ahead) || 0;
88
+ return `Waits on ${thread}${shown ? `: both change ${shown}` : ''}${others ? ` (and ${others} more ahead)` : ''}`;
89
+ }
90
+ function withReasons(state, reasons) {
91
+ return {
92
+ ...state,
93
+ entries: list(state.entries)
94
+ .map(record)
95
+ .map((entry) => {
96
+ const line = entry.turn === 'running' ? null : waitsOnLine(reasons.get(text(entry.ref)) ?? {});
97
+ if (!line)
98
+ return entry;
99
+ return { ...entry, note: entry.note ? `${line} · ${text(entry.note)}` : line };
100
+ })
101
+ };
102
+ }
103
+ /**
104
+ * Every holder named: a holder with no thread (an execution the registry no longer ties to one) is
105
+ * named by its key, as an entry is, never as a missing organization member.
106
+ */
107
+ function named(state) {
108
+ const subject = (holder) => ({ kind: 'thread', id: text(holder) });
109
+ const fill = (part) => {
110
+ const found = part ? record(part) : null;
111
+ return found && !found.holder_subject ? { ...found, holder_subject: subject(found.holder) } : (part ?? null);
112
+ };
113
+ return { ...state, freeze: fill(state.freeze), manager: fill(state.manager), batch: fill(state.batch) };
114
+ }
115
+ /** The built-in policy and management of each stage, or null when the engine has none to read. */
116
+ function builtinOf(scripts) {
117
+ try {
118
+ const queues = record(record(JSON.parse(readFileSync(join(scripts, 'queue_model', 'builtin.json'), 'utf8'))).queues);
119
+ const found = {};
120
+ for (const stage of STAGES) {
121
+ const queue = record(queues[stage]);
122
+ if (!queue.policy || !queue.management)
123
+ return null;
124
+ found[stage] = { policy: record(queue.policy), management: record(queue.management) };
125
+ }
126
+ return found;
127
+ }
128
+ catch {
129
+ return null;
130
+ }
131
+ }
132
+ /** Whether promote status gives queue_state (the engine behind sdlc viewer may be older). */
133
+ function givesQueueState(scripts) {
134
+ try {
135
+ return readFileSync(join(scripts, 'promote.py'), 'utf8').includes('"queue_state"');
136
+ }
137
+ catch {
138
+ return false;
139
+ }
140
+ }
141
+ /**
142
+ * The Queues page for the repository sdlc viewer runs in, read by the engine its other panels run:
143
+ * a SoftwareDLC checkout's own, else the packaged one, as the Worktrees page finds it. Null outside
144
+ * a Git repository or with no engine, where the page answers engine_missing.
145
+ */
146
+ export function queuesProvider(cwd, { packaged = installedEngine } = {}) {
147
+ const checkout = locateCheckout(cwd);
148
+ if (!checkout)
149
+ return null;
150
+ const dir = viewCodeRoot(checkout);
151
+ if (!dir && process.env.SDLC_VIEW_ROOT)
152
+ return null;
153
+ const engine = dir ? resolve(dir, '..', '..') : packaged();
154
+ return engine ? appQueues({ engine, repo: checkout.main }) : null;
155
+ }
156
+ function installedEngine() {
157
+ const own = packagedEngine(import.meta.url);
158
+ if (own)
159
+ return own;
160
+ try {
161
+ return packagedEngine(import.meta.resolve(VIEW_PACKAGE));
162
+ }
163
+ catch {
164
+ return null;
165
+ }
166
+ }
167
+ export function appQueues(input) {
168
+ const run = input.run ?? runPython;
169
+ const now = input.now ?? Date.now;
170
+ const log = input.log ?? ((line) => process.stderr.write(`sdlc viewer: ${line}\n`));
171
+ const scripts = engineLayout(input.engine).scripts;
172
+ const builtin = builtinOf(scripts);
173
+ const current = builtin !== null && givesQueueState(scripts);
174
+ let kept;
175
+ let reading;
176
+ const readNow = async () => {
177
+ const out = await run({
178
+ script: join(scripts, 'promote'),
179
+ args: ['--repo', input.repo, 'status'],
180
+ cwd: input.repo,
181
+ timeout_ms: READ_TIMEOUT_MS
182
+ });
183
+ const answer = answerOf(out);
184
+ // A stage bound to a live queue gives hosted's queue-state/v1 in live_state, in place of the
185
+ // local registry's (promote live_status); one hosted could not read fails the read. While the
186
+ // local registry still has open entries for a newly bound stage, promote gives both hosted's
187
+ // state and that problem: those local entries hold the stage until they end, so the page draws
188
+ // the local state and the terminal says why.
189
+ const stores = record(answer.stores);
190
+ const live = record(answer.live_state);
191
+ const live_errors = record(answer.live_errors);
192
+ const states = Object.fromEntries(STAGES.map((stage) => {
193
+ const local = record(answer.queue_state)[stage];
194
+ if (stores[stage] !== 'live')
195
+ return [stage, local];
196
+ const problem = text(live_errors[stage]);
197
+ if (!live[stage])
198
+ throw new LiveReadError(`the live ${stage} queue could not be read: ${problem || 'no state'}`);
199
+ if (problem) {
200
+ log(`the ${stage} stage is drawn from the local registry: ${problem}`);
201
+ return [stage, local];
202
+ }
203
+ return [stage, live[stage]];
204
+ }));
205
+ // promote's own rows for Main carry what each waiting entry waits on, which queue-state/v1 leaves out.
206
+ const reasons = new Map(list(record(answer.queues).main)
207
+ .map(record)
208
+ .map((row) => [text(row.execution), record(row.waits_for)]));
209
+ const found = {};
210
+ for (const stage of STAGES) {
211
+ const state = record(states[stage]);
212
+ if (state.version !== 'queue-state/v1')
213
+ throw new Error(`promote status gave no queue-state/v1 for ${stage}`);
214
+ found[stage] = named(stage === 'main' ? withReasons(state, reasons) : state);
215
+ }
216
+ return found;
217
+ };
218
+ const read = () => {
219
+ if (kept && now() - kept.at < QUEUES_KEEP_MS)
220
+ return Promise.resolve(kept.states);
221
+ if (reading)
222
+ return reading;
223
+ const started = readNow()
224
+ .then((states) => {
225
+ kept = { at: now(), states };
226
+ return states;
227
+ })
228
+ .finally(() => {
229
+ reading = undefined;
230
+ });
231
+ reading = started;
232
+ return started;
233
+ };
234
+ const config = (stage) => {
235
+ const copy = STAGE_COPY[stage];
236
+ return {
237
+ id: stage,
238
+ name: copy.name,
239
+ purpose: copy.purpose,
240
+ binding: copy.binding,
241
+ layer: copy.layer,
242
+ policy: builtin[stage].policy,
243
+ management: builtin[stage].management
244
+ };
245
+ };
246
+ const summary = (stage, state) => {
247
+ const entries = list(state.entries).map(record);
248
+ const running = entries.filter((entry) => entry.turn === 'running' && entry.batching !== 'in_batch');
249
+ // The row names the turn holding the landing lock, else the first running.
250
+ const landing = running.find((entry) => state.landing && entry.ref === state.landing);
251
+ const first = landing ?? running[0];
252
+ const batch = state.batch ? record(state.batch) : null;
253
+ const members = batch ? list(batch.members).map(record) : [];
254
+ return {
255
+ ...config(stage),
256
+ waiting: entries.filter((entry) => entry.turn !== 'running').length,
257
+ turn: first
258
+ ? {
259
+ ref: first.ref,
260
+ subject: first.subject,
261
+ ...(typeof first.started_at === 'number' ? { started_at: first.started_at } : {}),
262
+ ...(typeof first.fixing_since === 'number' ? { fixing_since: first.fixing_since } : {}),
263
+ ...(first.hold === true ? { hold: true, ...(text(first.note) ? { note: text(first.note) } : {}) } : {}),
264
+ ...(landing ? { landing: true } : {})
265
+ }
266
+ : null,
267
+ freeze: state.freeze ?? null,
268
+ batch: batch
269
+ ? {
270
+ id: batch.id,
271
+ holder: batch.holder,
272
+ ...(batch.holder_subject ? { holder_subject: batch.holder_subject } : {}),
273
+ opened_at: batch.opened_at,
274
+ size: members.length,
275
+ remaining: members.filter((member) => member.outcome === null || member.outcome === undefined).length
276
+ }
277
+ : null,
278
+ running_count: running.length
279
+ };
280
+ };
281
+ const failed = (error) => {
282
+ const message = error instanceof Error ? error.message : String(error);
283
+ log(`queues read failed: ${message}`);
284
+ // promote keeps trying a registry another command holds, and gives up saying it is locked.
285
+ if (!(error instanceof LiveReadError) && BUSY.test(message)) {
286
+ return {
287
+ status: 503,
288
+ body: { reason: 'store_locked', error: 'The coordination registry is busy; read again in a moment.', retry: true, retry_after: 15 }
289
+ };
290
+ }
291
+ return { status: 500, body: { reason: 'engine_failed', error: `The queues could not be read; ${TERMINAL}.`, retry: true } };
292
+ };
293
+ const outdated = { status: 409, body: { reason: 'view_outdated', error: QUEUES_OUTDATED } };
294
+ return {
295
+ current,
296
+ list: async () => {
297
+ if (!current)
298
+ return outdated;
299
+ try {
300
+ const states = await read();
301
+ return { status: 200, body: { queues: STAGES.map((stage) => summary(stage, states[stage])) } };
302
+ }
303
+ catch (error) {
304
+ return failed(error);
305
+ }
306
+ },
307
+ queue: async (stage) => {
308
+ if (!STAGES.includes(stage)) {
309
+ return { status: 404, body: { reason: 'not_found', error: 'No queue here has that name.' } };
310
+ }
311
+ if (!current)
312
+ return outdated;
313
+ try {
314
+ const states = await read();
315
+ return { status: 200, body: { queue: config(stage), state: states[stage] } };
316
+ }
317
+ catch (error) {
318
+ return failed(error);
319
+ }
320
+ }
321
+ };
322
+ }
323
+ //# sourceMappingURL=app-queues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-queues.js","sourceRoot":"","sources":["../../src/local/app-queues.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,11 @@ export type AppShellInput = {
87
87
  sizes: () => Promise<AppContractAnswer>;
88
88
  current: boolean;
89
89
  };
90
+ /** The Queues page's reads (queuesProvider), or undefined when no engine resolves. */
91
+ queues?: {
92
+ list: () => Promise<AppContractAnswer>;
93
+ queue: (stage: string) => Promise<AppContractAnswer>;
94
+ };
90
95
  version?: string;
91
96
  now?: () => number;
92
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell-readers.d.ts","sourceRoot":"","sources":["../../src/local/app-shell-readers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-shell-readers.d.ts","sourceRoot":"","sources":["../../src/local/app-shell-readers.ts"],"names":[],"mappings":"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"}
@@ -221,6 +221,7 @@ const READ_ONLY = {
221
221
  };
222
222
  const ENGINE_MISSING = 'Tasks, issues and Releases are read by the SoftwareDLC coordination engine, which this repository does not have.';
223
223
  const WORKTREES_MISSING = 'Worktrees are read by the SoftwareDLC coordination engine, which this repository does not have.';
224
+ const QUEUES_MISSING = 'Queues are read by the SoftwareDLC coordination engine, which this repository does not have.';
224
225
  // The Worktrees page's reads (la-worktrees): the list, and the slower size read beside it.
225
226
  const WORKTREE_READS = ['worktrees', 'worktree-sizes'];
226
227
  /** Whether `segments` under api/app/ name a route: a HEAD on one answers 200, on anything else 404. */
@@ -234,7 +235,8 @@ export function appRouteKnown(segments) {
234
235
  (rest.length === 3 && rest[0] === 'lists' && rest[2] === 'tasks') ||
235
236
  (rest.length === 2 && rest[0] === 'tasks'));
236
237
  }
237
- if (domain === 'issues' || domain === 'releases')
238
+ // The Queues page (lq6-local): the list, and one stage.
239
+ if (domain === 'issues' || domain === 'releases' || domain === 'queues')
238
240
  return rest.length <= 1;
239
241
  return false;
240
242
  }
@@ -342,6 +344,11 @@ export function appShellReader(input) {
342
344
  return refusal({ status: 404, reason: 'engine_missing', error: WORKTREES_MISSING });
343
345
  return domain === 'worktrees' ? input.worktrees.list() : input.worktrees.sizes();
344
346
  }
347
+ if (domain === 'queues' && rest.length <= 1) {
348
+ if (!input.queues)
349
+ return refusal({ status: 404, reason: 'engine_missing', error: QUEUES_MISSING });
350
+ return rest.length === 0 ? input.queues.list() : input.queues.queue(rest[0]);
351
+ }
345
352
  if (!['tasks', 'issues', 'releases'].includes(domain)) {
346
353
  return refusal({ status: 404, reason: 'not_found', error: 'Not found.' });
347
354
  }
@@ -373,7 +380,8 @@ export function appShellReader(input) {
373
380
  };
374
381
  const head = (segments) => !appRouteKnown(segments) ||
375
382
  (!input.domains && ['tasks', 'issues', 'releases'].includes(segments[0])) ||
376
- (!input.worktrees && WORKTREE_READS.includes(segments[0]))
383
+ (!input.worktrees && WORKTREE_READS.includes(segments[0])) ||
384
+ (!input.queues && segments[0] === 'queues')
377
385
  ? 404
378
386
  : 200;
379
387
  return Object.assign(read, { head, invalidate: () => input.domains?.invalidate?.() });
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell-readers.js","sourceRoot":"","sources":["../../src/local/app-shell-readers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-shell-readers.js","sourceRoot":"","sources":["../../src/local/app-shell-readers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-cli.d.ts","sourceRoot":"","sources":["../../src/local/workspace-cli.ts"],"names":[],"mappings":"AAgOA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,EAC1B,QAAQ,UAAQ,EAChB,SAAS,UAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBlB;AAyDD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,IACN,WAAW,GACX,UAAU,GACV,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,CAoBX;AAED,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAu3CF,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CA+Jf"}
1
+ {"version":3,"file":"workspace-cli.d.ts","sourceRoot":"","sources":["../../src/local/workspace-cli.ts"],"names":[],"mappings":"AAiOA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,EAC1B,QAAQ,UAAQ,EAChB,SAAS,UAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBlB;AAyDD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,IACN,WAAW,GACX,UAAU,GACV,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,CAoBX;AAED,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAu3CF,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CAiKf"}
@@ -16,6 +16,7 @@ import { local_workspace_task_scope_schema } from './workspace-scope.js';
16
16
  import { formatVariantsReport } from './variants.js';
17
17
  import { startLocalWorkspaceViewer } from './workspace-viewer-server.js';
18
18
  import { appShellReader } from './app-shell-readers.js';
19
+ import { queuesProvider } from './app-queues.js';
19
20
  import { worktreesProvider } from './app-worktrees.js';
20
21
  import { loadViewModule, viewerProviders } from '../view-seam.js';
21
22
  import { localEnvironmentRemoteConfiguration } from './workspace-remote-provider.js';
@@ -1522,7 +1523,9 @@ export async function runLocalWorkspaceCommand(input) {
1522
1523
  // (la-shell), and the domain reads through the engine's readers where it resolves (la-contracts).
1523
1524
  // The Worktrees page reads and writes through the main checkout's engine (la-worktrees).
1524
1525
  const worktrees = worktreesProvider(process.cwd()) ?? undefined;
1525
- const app = appShellReader({ cwd: process.cwd(), domains, worktrees });
1526
+ // The Queues page reads promote status's queue state through the same engine (lq6-local).
1527
+ const app_queues = queuesProvider(process.cwd()) ?? undefined;
1528
+ const app = appShellReader({ cwd: process.cwd(), domains, worktrees, queues: app_queues });
1526
1529
  const viewer = await startLocalWorkspaceViewer({
1527
1530
  runtime,
1528
1531
  port: port_value === null ? undefined : Number(port_value),