@bluewombat/runtime 0.1.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.
Files changed (151) hide show
  1. package/README.md +473 -0
  2. package/SPECS.md +303 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +172 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/config/defaults.d.ts +17 -0
  8. package/dist/config/defaults.d.ts.map +1 -0
  9. package/dist/config/defaults.js +17 -0
  10. package/dist/config/defaults.js.map +1 -0
  11. package/dist/config/find-config.d.ts +9 -0
  12. package/dist/config/find-config.d.ts.map +1 -0
  13. package/dist/config/find-config.js +25 -0
  14. package/dist/config/find-config.js.map +1 -0
  15. package/dist/config/home.d.ts +17 -0
  16. package/dist/config/home.d.ts.map +1 -0
  17. package/dist/config/home.js +23 -0
  18. package/dist/config/home.js.map +1 -0
  19. package/dist/config/load-config.d.ts +13 -0
  20. package/dist/config/load-config.d.ts.map +1 -0
  21. package/dist/config/load-config.js +537 -0
  22. package/dist/config/load-config.js.map +1 -0
  23. package/dist/config/parse-args.d.ts +25 -0
  24. package/dist/config/parse-args.d.ts.map +1 -0
  25. package/dist/config/parse-args.js +478 -0
  26. package/dist/config/parse-args.js.map +1 -0
  27. package/dist/config/types.d.ts +144 -0
  28. package/dist/config/types.d.ts.map +1 -0
  29. package/dist/config/types.js +2 -0
  30. package/dist/config/types.js.map +1 -0
  31. package/dist/index.d.ts +30 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +16 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/loop/authority.d.ts +51 -0
  36. package/dist/loop/authority.d.ts.map +1 -0
  37. package/dist/loop/authority.js +166 -0
  38. package/dist/loop/authority.js.map +1 -0
  39. package/dist/loop/context.d.ts +44 -0
  40. package/dist/loop/context.d.ts.map +1 -0
  41. package/dist/loop/context.js +2 -0
  42. package/dist/loop/context.js.map +1 -0
  43. package/dist/loop/cursor.d.ts +4 -0
  44. package/dist/loop/cursor.d.ts.map +1 -0
  45. package/dist/loop/cursor.js +20 -0
  46. package/dist/loop/cursor.js.map +1 -0
  47. package/dist/loop/deliveries.d.ts +22 -0
  48. package/dist/loop/deliveries.d.ts.map +1 -0
  49. package/dist/loop/deliveries.js +240 -0
  50. package/dist/loop/deliveries.js.map +1 -0
  51. package/dist/loop/describe.d.ts +40 -0
  52. package/dist/loop/describe.d.ts.map +1 -0
  53. package/dist/loop/describe.js +48 -0
  54. package/dist/loop/describe.js.map +1 -0
  55. package/dist/loop/drive.d.ts +15 -0
  56. package/dist/loop/drive.d.ts.map +1 -0
  57. package/dist/loop/drive.js +42 -0
  58. package/dist/loop/drive.js.map +1 -0
  59. package/dist/loop/journal.d.ts +22 -0
  60. package/dist/loop/journal.d.ts.map +1 -0
  61. package/dist/loop/journal.js +49 -0
  62. package/dist/loop/journal.js.map +1 -0
  63. package/dist/loop/lock.d.ts +11 -0
  64. package/dist/loop/lock.d.ts.map +1 -0
  65. package/dist/loop/lock.js +60 -0
  66. package/dist/loop/lock.js.map +1 -0
  67. package/dist/loop/message.d.ts +34 -0
  68. package/dist/loop/message.d.ts.map +1 -0
  69. package/dist/loop/message.js +48 -0
  70. package/dist/loop/message.js.map +1 -0
  71. package/dist/loop/open-host.d.ts +13 -0
  72. package/dist/loop/open-host.d.ts.map +1 -0
  73. package/dist/loop/open-host.js +180 -0
  74. package/dist/loop/open-host.js.map +1 -0
  75. package/dist/loop/probe.d.ts +9 -0
  76. package/dist/loop/probe.d.ts.map +1 -0
  77. package/dist/loop/probe.js +57 -0
  78. package/dist/loop/probe.js.map +1 -0
  79. package/dist/loop/report.d.ts +26 -0
  80. package/dist/loop/report.d.ts.map +1 -0
  81. package/dist/loop/report.js +328 -0
  82. package/dist/loop/report.js.map +1 -0
  83. package/dist/loop/tick.d.ts +24 -0
  84. package/dist/loop/tick.d.ts.map +1 -0
  85. package/dist/loop/tick.js +169 -0
  86. package/dist/loop/tick.js.map +1 -0
  87. package/dist/loop/trace.d.ts +16 -0
  88. package/dist/loop/trace.d.ts.map +1 -0
  89. package/dist/loop/trace.js +49 -0
  90. package/dist/loop/trace.js.map +1 -0
  91. package/dist/loop/transformers.d.ts +27 -0
  92. package/dist/loop/transformers.d.ts.map +1 -0
  93. package/dist/loop/transformers.js +229 -0
  94. package/dist/loop/transformers.js.map +1 -0
  95. package/dist/loop/work-line.d.ts +73 -0
  96. package/dist/loop/work-line.d.ts.map +1 -0
  97. package/dist/loop/work-line.js +109 -0
  98. package/dist/loop/work-line.js.map +1 -0
  99. package/dist/operator/board.d.ts +31 -0
  100. package/dist/operator/board.d.ts.map +1 -0
  101. package/dist/operator/board.js +67 -0
  102. package/dist/operator/board.js.map +1 -0
  103. package/dist/operator/cancel.d.ts +19 -0
  104. package/dist/operator/cancel.d.ts.map +1 -0
  105. package/dist/operator/cancel.js +70 -0
  106. package/dist/operator/cancel.js.map +1 -0
  107. package/dist/operator/doctor.d.ts +15 -0
  108. package/dist/operator/doctor.d.ts.map +1 -0
  109. package/dist/operator/doctor.js +416 -0
  110. package/dist/operator/doctor.js.map +1 -0
  111. package/dist/operator/git-remote.d.ts +39 -0
  112. package/dist/operator/git-remote.d.ts.map +1 -0
  113. package/dist/operator/git-remote.js +78 -0
  114. package/dist/operator/git-remote.js.map +1 -0
  115. package/dist/operator/init.d.ts +28 -0
  116. package/dist/operator/init.d.ts.map +1 -0
  117. package/dist/operator/init.js +522 -0
  118. package/dist/operator/init.js.map +1 -0
  119. package/dist/operator/live.d.ts +19 -0
  120. package/dist/operator/live.d.ts.map +1 -0
  121. package/dist/operator/live.js +149 -0
  122. package/dist/operator/live.js.map +1 -0
  123. package/dist/operator/prompt.d.ts +35 -0
  124. package/dist/operator/prompt.d.ts.map +1 -0
  125. package/dist/operator/prompt.js +125 -0
  126. package/dist/operator/prompt.js.map +1 -0
  127. package/dist/operator/setup.d.ts +18 -0
  128. package/dist/operator/setup.d.ts.map +1 -0
  129. package/dist/operator/setup.js +62 -0
  130. package/dist/operator/setup.js.map +1 -0
  131. package/dist/plugins/discover.d.ts +13 -0
  132. package/dist/plugins/discover.d.ts.map +1 -0
  133. package/dist/plugins/discover.js +81 -0
  134. package/dist/plugins/discover.js.map +1 -0
  135. package/dist/plugins/isolation.d.ts +78 -0
  136. package/dist/plugins/isolation.d.ts.map +1 -0
  137. package/dist/plugins/isolation.js +64 -0
  138. package/dist/plugins/isolation.js.map +1 -0
  139. package/dist/plugins/load.d.ts +35 -0
  140. package/dist/plugins/load.d.ts.map +1 -0
  141. package/dist/plugins/load.js +109 -0
  142. package/dist/plugins/load.js.map +1 -0
  143. package/dist/plugins/manager.d.ts +43 -0
  144. package/dist/plugins/manager.d.ts.map +1 -0
  145. package/dist/plugins/manager.js +47 -0
  146. package/dist/plugins/manager.js.map +1 -0
  147. package/dist/plugins/persist.d.ts +33 -0
  148. package/dist/plugins/persist.d.ts.map +1 -0
  149. package/dist/plugins/persist.js +26 -0
  150. package/dist/plugins/persist.js.map +1 -0
  151. package/package.json +66 -0
@@ -0,0 +1,478 @@
1
+ import { existsSync, statSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { DEFAULT_PERSIST, ISOLATION_GIT } from "./defaults.js";
4
+ import { findConfig } from "./find-config.js";
5
+ import { homeOf, inHome } from "./home.js";
6
+ import { loadConfig } from "./load-config.js";
7
+ const HOST_FLAGS = new Set([
8
+ "--config",
9
+ "--manager",
10
+ "--manager-option",
11
+ "--home",
12
+ "--work-line-stable",
13
+ "--work-line-branch",
14
+ "--work-line-isolation",
15
+ "--workspace-root",
16
+ "--ledger",
17
+ "--persist",
18
+ "--timeout-ms",
19
+ "--poll-interval-ms",
20
+ "--planner",
21
+ "--planner-timeout-ms",
22
+ "--builder",
23
+ "--builder-timeout-ms",
24
+ "--builder-max-attempts",
25
+ "--builder-repair",
26
+ "--builder-repair-timeout-ms",
27
+ "--builder-gate",
28
+ "--builder-gate-timeout-ms",
29
+ "--assembly-fix",
30
+ "--assembly-fix-timeout-ms",
31
+ "--assembly-max-attempts",
32
+ "--assembly-gate",
33
+ "--assembly-gate-timeout-ms",
34
+ ]);
35
+ /** Flags that take a command after `--`, and where each one lands. */
36
+ const COMMAND_FLAGS = new Map([
37
+ ["--planner", "planner"],
38
+ ["--builder", { stage: "builder", pass: "producer" }],
39
+ ["--builder-repair", { stage: "builder", pass: "repair" }],
40
+ ["--assembly-fix", "assembly-fix"],
41
+ ]);
42
+ function emptyStage() {
43
+ return { producer: {}, repair: {}, gates: [] };
44
+ }
45
+ function emptyAssembly() {
46
+ return { fix: {}, gates: [] };
47
+ }
48
+ function takeValue(argv, index) {
49
+ const value = argv[index + 1];
50
+ if (value === undefined || value.startsWith("--")) {
51
+ return null;
52
+ }
53
+ return { value, next: index + 2 };
54
+ }
55
+ function takeCommandArgv(argv, start) {
56
+ if (argv[start] !== "--") {
57
+ return null;
58
+ }
59
+ const command = [];
60
+ let i = start + 1;
61
+ while (i < argv.length) {
62
+ const token = argv[i];
63
+ if (token !== undefined && HOST_FLAGS.has(token)) {
64
+ break;
65
+ }
66
+ if (token !== undefined) {
67
+ command.push(token);
68
+ }
69
+ i += 1;
70
+ }
71
+ if (command.length === 0) {
72
+ return null;
73
+ }
74
+ return { command, next: i };
75
+ }
76
+ function parsePositiveInt(raw) {
77
+ if (!/^\d+$/.test(raw)) {
78
+ return null;
79
+ }
80
+ const value = Number(raw);
81
+ if (!Number.isSafeInteger(value) || value < 1) {
82
+ return null;
83
+ }
84
+ return value;
85
+ }
86
+ function isDirectory(path) {
87
+ try {
88
+ return statSync(path).isDirectory();
89
+ }
90
+ catch {
91
+ return false;
92
+ }
93
+ }
94
+ /** A repeated key collects into an array, which is how a list reaches a manager. */
95
+ function addManagerOption(options, raw) {
96
+ const separator = raw.indexOf("=");
97
+ if (separator < 1) {
98
+ return { ok: false, reason: "--manager-option must be key=value." };
99
+ }
100
+ const key = raw.slice(0, separator).trim();
101
+ const value = raw.slice(separator + 1);
102
+ if (key.length === 0) {
103
+ return { ok: false, reason: "--manager-option must be key=value." };
104
+ }
105
+ const existing = options[key];
106
+ if (existing === undefined) {
107
+ options[key] = value;
108
+ }
109
+ else if (Array.isArray(existing)) {
110
+ existing.push(value);
111
+ }
112
+ else {
113
+ options[key] = [existing, value];
114
+ }
115
+ return { ok: true };
116
+ }
117
+ function parseFlags(argv) {
118
+ const bag = {
119
+ managerOptions: {},
120
+ planner: {},
121
+ builder: emptyStage(),
122
+ assembly: emptyAssembly(),
123
+ };
124
+ let i = 0;
125
+ while (i < argv.length) {
126
+ const token = argv[i];
127
+ if (token === undefined) {
128
+ break;
129
+ }
130
+ const lands = COMMAND_FLAGS.get(token);
131
+ if (lands !== undefined) {
132
+ const command = takeCommandArgv(argv, i + 1);
133
+ if (!command) {
134
+ return { ok: false, reason: `Missing non-empty command after ${token} --.` };
135
+ }
136
+ if (lands === "planner") {
137
+ bag.planner.cmd = command.command;
138
+ }
139
+ else if (lands === "assembly-fix") {
140
+ bag.assembly.fix.cmd = command.command;
141
+ }
142
+ else {
143
+ bag[lands.stage][lands.pass].cmd = command.command;
144
+ }
145
+ i = command.next;
146
+ continue;
147
+ }
148
+ if (token === "--builder-gate" || token === "--assembly-gate") {
149
+ const stage = token === "--builder-gate" ? "builder" : "assembly";
150
+ const idTaken = takeValue(argv, i);
151
+ if (!idTaken) {
152
+ return { ok: false, reason: `Missing value for ${token}.` };
153
+ }
154
+ const command = takeCommandArgv(argv, idTaken.next);
155
+ if (!command) {
156
+ return { ok: false, reason: `Missing non-empty command after ${token} <id> --.` };
157
+ }
158
+ const timeoutMs = bag[stage].nextGateTimeoutMs;
159
+ if (timeoutMs === undefined) {
160
+ return {
161
+ ok: false,
162
+ reason: `${token} ${idTaken.value} has no ${token}-timeout-ms before it.`,
163
+ };
164
+ }
165
+ bag[stage].gates.push({ id: idTaken.value, argv: command.command, timeoutMs });
166
+ delete bag[stage].nextGateTimeoutMs;
167
+ i = command.next;
168
+ continue;
169
+ }
170
+ const taken = takeValue(argv, i);
171
+ if (taken === null) {
172
+ return { ok: false, reason: `Missing value for ${token}.` };
173
+ }
174
+ switch (token) {
175
+ case "--config":
176
+ bag.configPath = taken.value;
177
+ break;
178
+ case "--manager":
179
+ bag.manager = taken.value;
180
+ break;
181
+ case "--manager-option": {
182
+ const added = addManagerOption(bag.managerOptions, taken.value);
183
+ if (!added.ok) {
184
+ return added;
185
+ }
186
+ break;
187
+ }
188
+ case "--home":
189
+ bag.home = taken.value;
190
+ break;
191
+ case "--work-line-stable":
192
+ bag.workLineStable = taken.value;
193
+ break;
194
+ case "--work-line-branch":
195
+ bag.workLineBranch = taken.value;
196
+ break;
197
+ case "--work-line-isolation":
198
+ if (taken.value.length === 0) {
199
+ return {
200
+ ok: false,
201
+ reason: "--work-line-isolation must be a non-empty package name or path that exports strategy.",
202
+ };
203
+ }
204
+ bag.workLineIsolation = taken.value;
205
+ break;
206
+ case "--workspace-root":
207
+ bag.workspaceRoot = taken.value;
208
+ break;
209
+ case "--ledger":
210
+ bag.ledgerRoot = taken.value;
211
+ break;
212
+ case "--persist":
213
+ if (taken.value.length === 0) {
214
+ return {
215
+ ok: false,
216
+ reason: "--persist must be a non-empty package name or path that exports openPersist.",
217
+ };
218
+ }
219
+ bag.persist = taken.value;
220
+ break;
221
+ case "--timeout-ms": {
222
+ const value = parsePositiveInt(taken.value);
223
+ if (value === null) {
224
+ return { ok: false, reason: "--timeout-ms must be a positive integer." };
225
+ }
226
+ bag.timeoutMs = value;
227
+ break;
228
+ }
229
+ case "--planner-timeout-ms":
230
+ case "--builder-timeout-ms":
231
+ case "--builder-repair-timeout-ms":
232
+ case "--builder-max-attempts":
233
+ case "--builder-gate-timeout-ms":
234
+ case "--assembly-fix-timeout-ms":
235
+ case "--assembly-max-attempts":
236
+ case "--assembly-gate-timeout-ms": {
237
+ const value = parsePositiveInt(taken.value);
238
+ if (value === null) {
239
+ return { ok: false, reason: `${token} must be a positive integer.` };
240
+ }
241
+ switch (token) {
242
+ case "--planner-timeout-ms":
243
+ bag.planner.timeoutMs = value;
244
+ break;
245
+ case "--builder-timeout-ms":
246
+ bag.builder.producer.timeoutMs = value;
247
+ break;
248
+ case "--builder-repair-timeout-ms":
249
+ bag.builder.repair.timeoutMs = value;
250
+ break;
251
+ case "--builder-max-attempts":
252
+ bag.builder.maxAttempts = value;
253
+ break;
254
+ case "--builder-gate-timeout-ms":
255
+ bag.builder.nextGateTimeoutMs = value;
256
+ break;
257
+ case "--assembly-fix-timeout-ms":
258
+ bag.assembly.fix.timeoutMs = value;
259
+ break;
260
+ case "--assembly-max-attempts":
261
+ bag.assembly.maxAttempts = value;
262
+ break;
263
+ default:
264
+ bag.assembly.nextGateTimeoutMs = value;
265
+ break;
266
+ }
267
+ break;
268
+ }
269
+ case "--poll-interval-ms": {
270
+ const value = parsePositiveInt(taken.value);
271
+ if (value === null) {
272
+ return { ok: false, reason: "--poll-interval-ms must be a positive integer." };
273
+ }
274
+ bag.pollIntervalMs = value;
275
+ break;
276
+ }
277
+ default:
278
+ return { ok: false, reason: `Unknown argument "${token}".` };
279
+ }
280
+ i = taken.next;
281
+ }
282
+ return { ok: true, bag };
283
+ }
284
+ function overlay(base, bag, cwd) {
285
+ const merged = { ...base };
286
+ if (bag.manager !== undefined) {
287
+ merged.manager = bag.manager;
288
+ }
289
+ // Per key: overriding one option must not drop the rest of the config's.
290
+ if (Object.keys(bag.managerOptions).length > 0) {
291
+ merged.managerOptions = { ...(base.managerOptions ?? {}), ...bag.managerOptions };
292
+ }
293
+ if (bag.home !== undefined) {
294
+ merged.home = resolve(cwd, bag.home);
295
+ }
296
+ if (bag.workLineStable !== undefined) {
297
+ merged.workLineStable = resolve(cwd, bag.workLineStable);
298
+ }
299
+ if (bag.workLineBranch !== undefined) {
300
+ merged.workLineBranch = bag.workLineBranch;
301
+ }
302
+ if (bag.workLineIsolation !== undefined) {
303
+ merged.workLineIsolation = bag.workLineIsolation;
304
+ }
305
+ if (bag.workspaceRoot !== undefined) {
306
+ merged.workspaceRoot = resolve(cwd, bag.workspaceRoot);
307
+ }
308
+ if (bag.ledgerRoot !== undefined) {
309
+ merged.ledgerRoot = resolve(cwd, bag.ledgerRoot);
310
+ }
311
+ if (bag.persist !== undefined) {
312
+ merged.persist = bag.persist;
313
+ }
314
+ const planner = overlayPass(merged.planner, bag.planner);
315
+ if (planner !== undefined) {
316
+ merged.planner = planner;
317
+ }
318
+ const builder = overlayBuilder(merged.builder, bag.builder);
319
+ if (builder !== undefined) {
320
+ merged.builder = builder;
321
+ }
322
+ const assembly = overlayAssembly(merged.assembly, bag.assembly);
323
+ if (assembly !== undefined) {
324
+ merged.assembly = assembly;
325
+ }
326
+ if (bag.timeoutMs !== undefined) {
327
+ merged.timeoutMs = bag.timeoutMs;
328
+ }
329
+ if (bag.pollIntervalMs !== undefined) {
330
+ merged.pollIntervalMs = bag.pollIntervalMs;
331
+ }
332
+ return merged;
333
+ }
334
+ /**
335
+ * A flag replaces the half of a pass it names, and leaves the other half alone.
336
+ *
337
+ * This is the one place a value is taken from somewhere else, and it is the
338
+ * documented rule of the CLI: flags override the file. Nothing here lets one
339
+ * pass borrow another pass's command.
340
+ */
341
+ function overlayPass(base, bag) {
342
+ const cmd = bag.cmd ?? base?.cmd;
343
+ const timeoutMs = bag.timeoutMs ?? base?.timeoutMs;
344
+ if (cmd === undefined || timeoutMs === undefined) {
345
+ return base;
346
+ }
347
+ return { cmd, timeoutMs };
348
+ }
349
+ function overlayBuilder(base, bag) {
350
+ const producer = overlayPass(base?.producer, bag.producer);
351
+ const repair = overlayPass(base?.repair, bag.repair);
352
+ const maxAttempts = bag.maxAttempts ?? base?.maxAttempts;
353
+ const gates = bag.gates.length > 0 ? bag.gates : (base?.gates ?? []);
354
+ if (producer === undefined &&
355
+ repair === undefined &&
356
+ maxAttempts === undefined &&
357
+ gates.length === 0) {
358
+ return base;
359
+ }
360
+ if (producer === undefined || repair === undefined) {
361
+ return base;
362
+ }
363
+ return {
364
+ producer,
365
+ repair,
366
+ ...(maxAttempts === undefined ? {} : { maxAttempts }),
367
+ gates,
368
+ };
369
+ }
370
+ function overlayAssembly(base, bag) {
371
+ const fix = overlayPass(base?.fix, bag.fix);
372
+ const maxAttempts = bag.maxAttempts ?? base?.maxAttempts;
373
+ const gates = bag.gates.length > 0 ? bag.gates : (base?.gates ?? []);
374
+ if (fix === undefined && maxAttempts === undefined && gates.length === 0) {
375
+ return base;
376
+ }
377
+ return {
378
+ ...(fix === undefined ? {} : { fix }),
379
+ ...(maxAttempts === undefined ? {} : { maxAttempts }),
380
+ gates,
381
+ };
382
+ }
383
+ /**
384
+ * Parse `mason run` argv (without node/script/`run`).
385
+ *
386
+ * The nearest `mason.config.json` is read when `--config` is absent, so a
387
+ * project that has one needs no flag at all. Flags override the file.
388
+ */
389
+ export function parseArgs(argv, input = {}) {
390
+ const cwd = input.cwd ?? process.cwd();
391
+ const flags = parseFlags(argv);
392
+ if (!flags.ok) {
393
+ return flags;
394
+ }
395
+ const configPath = flags.bag.configPath ?? findConfig(cwd);
396
+ let base = { configDir: cwd };
397
+ if (configPath !== undefined) {
398
+ const loaded = loadConfig(resolve(cwd, configPath));
399
+ if (!loaded.ok) {
400
+ return loaded;
401
+ }
402
+ base = loaded.invocation;
403
+ }
404
+ return finalize(overlay(base, flags.bag, cwd), cwd, input.checkPaths ?? true);
405
+ }
406
+ function finalize(merged, cwd, checkPaths) {
407
+ if (merged.manager === undefined) {
408
+ return {
409
+ ok: false,
410
+ reason: 'Missing required "manager". Name a package that exports createManager.',
411
+ };
412
+ }
413
+ if (merged.workLineIsolation === undefined) {
414
+ return {
415
+ ok: false,
416
+ reason: `Missing required "workLine.isolation". Set it to a package name or path that exports strategy (e.g. "${ISOLATION_GIT}").`,
417
+ };
418
+ }
419
+ if (merged.planner === undefined) {
420
+ return { ok: false, reason: "Missing required --planner -- <argv…> and --planner-timeout-ms." };
421
+ }
422
+ if (merged.builder?.producer === undefined) {
423
+ return { ok: false, reason: "Missing required --builder -- <argv…> and --builder-timeout-ms." };
424
+ }
425
+ if (merged.builder.repair === undefined) {
426
+ return {
427
+ ok: false,
428
+ reason: "Missing required --builder-repair -- <argv…> and --builder-repair-timeout-ms. " +
429
+ "A refused pass runs its own agent; it never reuses the first one.",
430
+ };
431
+ }
432
+ if (merged.timeoutMs === undefined) {
433
+ return { ok: false, reason: "Missing required --timeout-ms." };
434
+ }
435
+ const stable = merged.workLineStable === undefined ? undefined : resolve(cwd, merged.workLineStable);
436
+ if (stable !== undefined && checkPaths && (!existsSync(stable) || !isDirectory(stable))) {
437
+ return { ok: false, reason: `--work-line-stable is not an existing directory: ${stable}` };
438
+ }
439
+ const home = homeOf(cwd, merged.home);
440
+ const workspaceRoot = resolve(cwd, merged.workspaceRoot ?? inHome(home, "workspaces"));
441
+ if (checkPaths && existsSync(workspaceRoot) && !isDirectory(workspaceRoot)) {
442
+ return { ok: false, reason: `--workspace-root is not a directory: ${workspaceRoot}` };
443
+ }
444
+ const invocation = {
445
+ manager: merged.manager,
446
+ managerOptions: merged.managerOptions ?? {},
447
+ configDir: merged.configDir ?? cwd,
448
+ home,
449
+ workLineIsolation: merged.workLineIsolation,
450
+ ...(merged.workLineIsolationOptions === undefined
451
+ ? {}
452
+ : { workLineIsolationOptions: merged.workLineIsolationOptions }),
453
+ workspaceRoot,
454
+ ledgerRoot: resolve(cwd, merged.ledgerRoot ?? inHome(home, "ledger")),
455
+ persist: merged.persist ?? DEFAULT_PERSIST,
456
+ planner: merged.planner,
457
+ builder: merged.builder,
458
+ assembly: merged.assembly ?? { gates: [] },
459
+ timeoutMs: merged.timeoutMs,
460
+ };
461
+ if (stable !== undefined) {
462
+ invocation.workLineStable = stable;
463
+ }
464
+ if (merged.workLineBranch !== undefined) {
465
+ invocation.workLineBranch = merged.workLineBranch;
466
+ }
467
+ if (merged.authority !== undefined) {
468
+ invocation.authority = merged.authority;
469
+ }
470
+ if (merged.maxRefusals !== undefined) {
471
+ invocation.maxRefusals = merged.maxRefusals;
472
+ }
473
+ if (merged.pollIntervalMs !== undefined) {
474
+ invocation.pollIntervalMs = merged.pollIntervalMs;
475
+ }
476
+ return { ok: true, invocation };
477
+ }
478
+ //# sourceMappingURL=parse-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/config/parse-args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import type { GateSpec } from "@bluewombat/implementer";
2
+ import type { ManagerModule } from "@bluewombat/manager-kit";
3
+ /**
4
+ * What `mason run` accepted. Nothing here names a tracker: whatever a
5
+ * FeatureManager needs travels in `managerOptions`, which Host does not read.
6
+ */
7
+ export type HostInvocation = {
8
+ /** Package name or path to a module that exports `createManager`. */
9
+ manager: string;
10
+ managerOptions: Record<string, unknown>;
11
+ /** Where a relative manager option resolves — the config file's directory. */
12
+ configDir: string;
13
+ /**
14
+ * Where Host keeps what is its own. `workspaceRoot`, `ledgerRoot` and the
15
+ * copy of a reference work line live here unless each is placed elsewhere.
16
+ */
17
+ home: string;
18
+ /**
19
+ * The work line the operator maintains. Absent: the manager must name a
20
+ * reference work line, and Host keeps its own copy under `.mason/work-line`.
21
+ */
22
+ workLineStable?: string;
23
+ /**
24
+ * The work line a fold lands on. Absent: what the manager's reference names,
25
+ * or else whatever WorkLineStable has checked out, which is nobody's decision.
26
+ */
27
+ workLineBranch?: string;
28
+ /**
29
+ * Package name or path that exports an Isolation `strategy` (isolation + fold).
30
+ * Host loads it the way it loads a manager. No aliases — not `"git"` / `"copy"`.
31
+ */
32
+ workLineIsolation: string;
33
+ /**
34
+ * What that strategy is told, unread by Host — like `managerOptions` for a
35
+ * manager. Absent: the strategy's own defaults.
36
+ */
37
+ workLineIsolationOptions?: Record<string, unknown>;
38
+ workspaceRoot: string;
39
+ ledgerRoot: string;
40
+ /**
41
+ * Package name or path exporting `openPersist`: how the ledger is stored
42
+ * under `ledgerRoot`. Host loads it the way it loads a manager. Default
43
+ * `@bluewombat/persist-fs`.
44
+ */
45
+ persist: string;
46
+ /** FeatureStandard in, a Plan out. */
47
+ planner: PassSpec;
48
+ /** Making a Subtask, and judging what came out of it. */
49
+ builder: StageSpec;
50
+ /** Judging the assembled feature, and fixing what a judgement refused. */
51
+ assembly: AssemblySpec;
52
+ /**
53
+ * The outside judge, when the Project declares one. Absent or disabled: the
54
+ * assembled feature is folded into WorkLineStable and that fold is final.
55
+ */
56
+ authority?: AuthoritySpec;
57
+ /** How long any one child outside a Task may run: Planner, manager, isolations. */
58
+ timeoutMs: number;
59
+ /** Times an Authority may send a Submission back before it escalates. Default 3. */
60
+ maxRefusals?: number;
61
+ pollIntervalMs?: number;
62
+ };
63
+ /**
64
+ * The outside judge, and how the work is put in front of it.
65
+ *
66
+ * `enabled` is declared, never inferred: whether a Project offers its work to
67
+ * somebody outside is a decision, not something to read off a directory. The
68
+ * Publisher is the command that places the work where that judge looks, and the
69
+ * Refresher the one that reads back what the judge accepted — two more slots,
70
+ * like the Planner and the Gates.
71
+ */
72
+ export type AuthoritySpec = {
73
+ enabled: boolean;
74
+ publishArgv: string[];
75
+ refreshArgv: string[];
76
+ /**
77
+ * Optional. Describes what is submitted, in the Project's own words:
78
+ * spawned once per feature in its workspace with `--id`, `--title`,
79
+ * `--intention`, `--target`; answers `{ subject, body? }`. What the
80
+ * Authority makes of it is the manager's (for GitHub: the fold's message
81
+ * and the pull request's text). Absent: the title and the intention, as the
82
+ * human wrote them.
83
+ */
84
+ describeArgv?: string[];
85
+ };
86
+ /**
87
+ * One command, and the ceiling that bounds it.
88
+ *
89
+ * Both are named here and nowhere else. A pass that inherited its command from
90
+ * a neighbour would run an agent nobody wrote down, which is the one thing a
91
+ * config for autonomous work must never do.
92
+ */
93
+ export type PassSpec = {
94
+ cmd: string[];
95
+ /** Required. Nothing else bounds a producer. */
96
+ timeoutMs: number;
97
+ };
98
+ /**
99
+ * Making a Subtask: first pass, then repair when a Gate refused, then Gates.
100
+ */
101
+ export type StageSpec = {
102
+ /** Produces from a specification. */
103
+ producer: PassSpec;
104
+ /** Produces again, with the report of what refused the last pass. */
105
+ repair: PassSpec;
106
+ /** Attempts one Task may start. Default 3. */
107
+ maxAttempts?: number;
108
+ /** Judged after the producer, in order. */
109
+ gates: GateSpec[];
110
+ };
111
+ /**
112
+ * Judging the assembled feature as a whole.
113
+ *
114
+ * The units are already validated. The Gates run either way. A command here is
115
+ * not a second first-pass of the request: it is a surgical fix of what a
116
+ * judgement (usually the work line's own checks) refused. That command is
117
+ * reachable only through an Authority, which `doctor` checks against
118
+ * `authority.enabled`.
119
+ */
120
+ export type AssemblySpec = {
121
+ /** Fixes what a judgement of the whole refused. Needs `--report`. */
122
+ fix?: PassSpec;
123
+ maxAttempts?: number;
124
+ gates: GateSpec[];
125
+ };
126
+ /** Import face: the invocation, plus the seams the CLI has no use for. */
127
+ export type HostOptions = Omit<HostInvocation, "manager" | "managerOptions" | "configDir" | "home" | "persist"> & {
128
+ /** A specifier to resolve, or an already-loaded module (tests, embedding). */
129
+ manager: string | ManagerModule;
130
+ managerOptions?: Record<string, unknown>;
131
+ configDir?: string;
132
+ /** Defaults to `@bluewombat/persist-fs`. */
133
+ persist?: string;
134
+ /** Defaults to `.mason` under `configDir`. */
135
+ home?: string;
136
+ interruptFlag?: {
137
+ interrupted: boolean;
138
+ };
139
+ /** Read for a secret a manager names. Defaults to `process.env`. */
140
+ env?: Record<string, string | undefined>;
141
+ /** Where the run says what it is doing. Defaults to stdout. */
142
+ write?: (text: string) => void;
143
+ };
144
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":""}