@bluewombat/runtime 0.8.0 → 0.9.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 (135) hide show
  1. package/README.md +124 -100
  2. package/SPECS.md +103 -84
  3. package/dist/cli.js +32 -34
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/agent-shorthand.d.ts +0 -1
  6. package/dist/config/agent-shorthand.d.ts.map +1 -1
  7. package/dist/config/agent-shorthand.js +1 -9
  8. package/dist/config/agent-shorthand.js.map +1 -1
  9. package/dist/config/defaults.d.ts +0 -2
  10. package/dist/config/defaults.d.ts.map +1 -1
  11. package/dist/config/defaults.js +0 -2
  12. package/dist/config/defaults.js.map +1 -1
  13. package/dist/config/find-config.d.ts +3 -2
  14. package/dist/config/find-config.d.ts.map +1 -1
  15. package/dist/config/find-config.js +4 -4
  16. package/dist/config/find-config.js.map +1 -1
  17. package/dist/config/home.js +2 -2
  18. package/dist/config/home.js.map +1 -1
  19. package/dist/config/load-config.d.ts +2 -2
  20. package/dist/config/load-config.d.ts.map +1 -1
  21. package/dist/config/load-config.js +46 -29
  22. package/dist/config/load-config.js.map +1 -1
  23. package/dist/config/parse-args.d.ts.map +1 -1
  24. package/dist/config/parse-args.js +50 -48
  25. package/dist/config/parse-args.js.map +1 -1
  26. package/dist/config/types.d.ts +40 -24
  27. package/dist/config/types.d.ts.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/loop/authority.d.ts +3 -4
  33. package/dist/loop/authority.d.ts.map +1 -1
  34. package/dist/loop/authority.js +27 -22
  35. package/dist/loop/authority.js.map +1 -1
  36. package/dist/loop/context.d.ts +8 -3
  37. package/dist/loop/context.d.ts.map +1 -1
  38. package/dist/loop/deliveries.d.ts +16 -16
  39. package/dist/loop/deliveries.d.ts.map +1 -1
  40. package/dist/loop/deliveries.js +35 -187
  41. package/dist/loop/deliveries.js.map +1 -1
  42. package/dist/loop/describe.d.ts +4 -6
  43. package/dist/loop/describe.d.ts.map +1 -1
  44. package/dist/loop/describe.js +2 -2
  45. package/dist/loop/describe.js.map +1 -1
  46. package/dist/loop/drive.d.ts +4 -6
  47. package/dist/loop/drive.d.ts.map +1 -1
  48. package/dist/loop/drive.js +9 -33
  49. package/dist/loop/drive.js.map +1 -1
  50. package/dist/loop/features.d.ts +23 -0
  51. package/dist/loop/features.d.ts.map +1 -0
  52. package/dist/loop/features.js +571 -0
  53. package/dist/loop/features.js.map +1 -0
  54. package/dist/loop/journal.d.ts +1 -1
  55. package/dist/loop/journal.js +2 -2
  56. package/dist/loop/journal.js.map +1 -1
  57. package/dist/loop/lock.d.ts +1 -1
  58. package/dist/loop/lock.js +1 -1
  59. package/dist/loop/open-host.d.ts.map +1 -1
  60. package/dist/loop/open-host.js +23 -24
  61. package/dist/loop/open-host.js.map +1 -1
  62. package/dist/loop/probe.d.ts +1 -1
  63. package/dist/loop/probe.d.ts.map +1 -1
  64. package/dist/loop/probe.js +51 -22
  65. package/dist/loop/probe.js.map +1 -1
  66. package/dist/loop/process-tree.d.ts +1 -1
  67. package/dist/loop/process-tree.js +1 -1
  68. package/dist/loop/report.d.ts +9 -7
  69. package/dist/loop/report.d.ts.map +1 -1
  70. package/dist/loop/report.js +30 -99
  71. package/dist/loop/report.js.map +1 -1
  72. package/dist/loop/streams.d.ts +5 -5
  73. package/dist/loop/streams.d.ts.map +1 -1
  74. package/dist/loop/streams.js +3 -3
  75. package/dist/loop/streams.js.map +1 -1
  76. package/dist/loop/tick.d.ts +6 -4
  77. package/dist/loop/tick.d.ts.map +1 -1
  78. package/dist/loop/tick.js +50 -78
  79. package/dist/loop/tick.js.map +1 -1
  80. package/dist/loop/trace.d.ts +5 -5
  81. package/dist/loop/trace.d.ts.map +1 -1
  82. package/dist/loop/trace.js +5 -14
  83. package/dist/loop/trace.js.map +1 -1
  84. package/dist/loop/transformers.d.ts +3 -13
  85. package/dist/loop/transformers.d.ts.map +1 -1
  86. package/dist/loop/transformers.js +3 -53
  87. package/dist/loop/transformers.js.map +1 -1
  88. package/dist/loop/warm.d.ts +3 -3
  89. package/dist/loop/warm.js +3 -3
  90. package/dist/loop/work-line.d.ts +1 -1
  91. package/dist/operator/agent-plugins.d.ts +11 -0
  92. package/dist/operator/agent-plugins.d.ts.map +1 -1
  93. package/dist/operator/agent-plugins.js +3 -3
  94. package/dist/operator/agent-plugins.js.map +1 -1
  95. package/dist/operator/board.d.ts +3 -8
  96. package/dist/operator/board.d.ts.map +1 -1
  97. package/dist/operator/board.js +2 -11
  98. package/dist/operator/board.js.map +1 -1
  99. package/dist/operator/cancel.d.ts +2 -2
  100. package/dist/operator/cancel.js +6 -6
  101. package/dist/operator/cancel.js.map +1 -1
  102. package/dist/operator/doctor.d.ts +9 -0
  103. package/dist/operator/doctor.d.ts.map +1 -1
  104. package/dist/operator/doctor.js +32 -25
  105. package/dist/operator/doctor.js.map +1 -1
  106. package/dist/operator/explain.d.ts +76 -0
  107. package/dist/operator/explain.d.ts.map +1 -0
  108. package/dist/operator/explain.js +556 -0
  109. package/dist/operator/explain.js.map +1 -0
  110. package/dist/operator/film.d.ts +3 -11
  111. package/dist/operator/film.d.ts.map +1 -1
  112. package/dist/operator/film.js +8 -90
  113. package/dist/operator/film.js.map +1 -1
  114. package/dist/operator/init.d.ts.map +1 -1
  115. package/dist/operator/init.js +41 -49
  116. package/dist/operator/init.js.map +1 -1
  117. package/dist/operator/live.js +1 -1
  118. package/dist/operator/live.js.map +1 -1
  119. package/dist/operator/log.js +3 -4
  120. package/dist/operator/log.js.map +1 -1
  121. package/dist/operator/release.d.ts +2 -2
  122. package/dist/operator/release.js +7 -7
  123. package/dist/operator/release.js.map +1 -1
  124. package/dist/operator/run.d.ts +25 -0
  125. package/dist/operator/run.d.ts.map +1 -0
  126. package/dist/operator/run.js +70 -0
  127. package/dist/operator/run.js.map +1 -0
  128. package/dist/operator/setup.d.ts.map +1 -1
  129. package/dist/operator/setup.js +20 -16
  130. package/dist/operator/setup.js.map +1 -1
  131. package/dist/plugins/manager.d.ts +33 -2
  132. package/dist/plugins/manager.d.ts.map +1 -1
  133. package/dist/plugins/manager.js +67 -0
  134. package/dist/plugins/manager.js.map +1 -1
  135. package/package.json +15 -16
@@ -6,8 +6,10 @@ import { homeOf, inHome } from "./home.js";
6
6
  import { loadConfig } from "./load-config.js";
7
7
  const HOST_FLAGS = new Set([
8
8
  "--config",
9
- "--manager",
10
- "--manager-option",
9
+ "--feature-tracker",
10
+ "--feature-tracker-option",
11
+ "--ticket-tracker",
12
+ "--ticket-tracker-option",
11
13
  "--home",
12
14
  "--work-line-stable",
13
15
  "--work-line-branch",
@@ -18,10 +20,6 @@ const HOST_FLAGS = new Set([
18
20
  "--streams-dir",
19
21
  "--timeout-ms",
20
22
  "--poll-interval-ms",
21
- "--planner",
22
- "--planner-timeout-ms",
23
- "--planner-gate",
24
- "--planner-gate-timeout-ms",
25
23
  "--builder",
26
24
  "--builder-timeout-ms",
27
25
  "--builder-max-attempts",
@@ -45,8 +43,6 @@ const HOST_FLAGS = new Set([
45
43
  ]);
46
44
  /** The gate-id and gate-timeout-ms flags, each landing on a GatedPassBag or on AssemblyBag's own top-level pocket (the produce:false judgement pass). */
47
45
  const GATE_FLAGS = new Set([
48
- "--planner-gate",
49
- "--planner-gate-timeout-ms",
50
46
  "--builder-gate",
51
47
  "--builder-gate-timeout-ms",
52
48
  "--builder-repair-gate",
@@ -60,7 +56,6 @@ const GATE_FLAGS = new Set([
60
56
  ]);
61
57
  /** Flags that take a command after `--`, and where each one lands. */
62
58
  const COMMAND_FLAGS = new Map([
63
- ["--planner", "planner"],
64
59
  ["--builder", { stage: "builder", pass: "producer" }],
65
60
  ["--builder-repair", { stage: "builder", pass: "repair" }],
66
61
  ["--assembly-fix", "assembly-fix"],
@@ -78,9 +73,6 @@ function emptyAssembly() {
78
73
  /** Which bag a `--*-gate`/`--*-gate-timeout-ms` flag writes into. */
79
74
  function gatePocket(bag, token) {
80
75
  switch (token) {
81
- case "--planner-gate":
82
- case "--planner-gate-timeout-ms":
83
- return bag.planner;
84
76
  case "--builder-gate":
85
77
  case "--builder-gate-timeout-ms":
86
78
  return bag.builder.producer;
@@ -146,15 +138,15 @@ function isDirectory(path) {
146
138
  }
147
139
  }
148
140
  /** A repeated key collects into an array, which is how a list reaches a manager. */
149
- function addManagerOption(options, raw) {
141
+ function addManagerOption(options, raw, flag) {
150
142
  const separator = raw.indexOf("=");
151
143
  if (separator < 1) {
152
- return { ok: false, reason: "--manager-option must be key=value." };
144
+ return { ok: false, reason: `${flag} must be key=value.` };
153
145
  }
154
146
  const key = raw.slice(0, separator).trim();
155
147
  const value = raw.slice(separator + 1);
156
148
  if (key.length === 0) {
157
- return { ok: false, reason: "--manager-option must be key=value." };
149
+ return { ok: false, reason: `${flag} must be key=value.` };
158
150
  }
159
151
  const existing = options[key];
160
152
  if (existing === undefined) {
@@ -170,8 +162,8 @@ function addManagerOption(options, raw) {
170
162
  }
171
163
  function parseFlags(argv) {
172
164
  const bag = {
173
- managerOptions: {},
174
- planner: emptyGatedPass(),
165
+ featureTrackerOptions: {},
166
+ ticketTrackerOptions: {},
175
167
  builder: emptyStage(),
176
168
  assembly: emptyAssembly(),
177
169
  };
@@ -187,10 +179,7 @@ function parseFlags(argv) {
187
179
  if (!command) {
188
180
  return { ok: false, reason: `Missing non-empty command after ${token} --.` };
189
181
  }
190
- if (lands === "planner") {
191
- bag.planner.cmd = command.command;
192
- }
193
- else if (lands === "assembly-fix") {
182
+ if (lands === "assembly-fix") {
194
183
  bag.assembly.fix.cmd = command.command;
195
184
  }
196
185
  else if (lands === "assembly-validate") {
@@ -232,11 +221,21 @@ function parseFlags(argv) {
232
221
  case "--config":
233
222
  bag.configPath = taken.value;
234
223
  break;
235
- case "--manager":
236
- bag.manager = taken.value;
224
+ case "--feature-tracker":
225
+ bag.featureTracker = taken.value;
237
226
  break;
238
- case "--manager-option": {
239
- const added = addManagerOption(bag.managerOptions, taken.value);
227
+ case "--feature-tracker-option": {
228
+ const added = addManagerOption(bag.featureTrackerOptions, taken.value, token);
229
+ if (!added.ok) {
230
+ return added;
231
+ }
232
+ break;
233
+ }
234
+ case "--ticket-tracker":
235
+ bag.ticketTracker = taken.value;
236
+ break;
237
+ case "--ticket-tracker-option": {
238
+ const added = addManagerOption(bag.ticketTrackerOptions, taken.value, token);
240
239
  if (!added.ok) {
241
240
  return added;
242
241
  }
@@ -292,8 +291,6 @@ function parseFlags(argv) {
292
291
  bag.timeoutMs = value;
293
292
  break;
294
293
  }
295
- case "--planner-timeout-ms":
296
- case "--planner-gate-timeout-ms":
297
294
  case "--builder-timeout-ms":
298
295
  case "--builder-repair-timeout-ms":
299
296
  case "--builder-max-attempts":
@@ -310,9 +307,6 @@ function parseFlags(argv) {
310
307
  return { ok: false, reason: `${token} must be a positive integer.` };
311
308
  }
312
309
  switch (token) {
313
- case "--planner-timeout-ms":
314
- bag.planner.timeoutMs = value;
315
- break;
316
310
  case "--builder-timeout-ms":
317
311
  bag.builder.producer.timeoutMs = value;
318
312
  break;
@@ -356,12 +350,20 @@ function parseFlags(argv) {
356
350
  }
357
351
  function overlay(base, bag, cwd) {
358
352
  const merged = { ...base };
359
- if (bag.manager !== undefined) {
360
- merged.manager = bag.manager;
361
- }
362
- // Per key: overriding one option must not drop the rest of the config's.
363
- if (Object.keys(bag.managerOptions).length > 0) {
364
- merged.managerOptions = { ...(base.managerOptions ?? {}), ...bag.managerOptions };
353
+ for (const side of ["featureTracker", "ticketTracker"]) {
354
+ const name = bag[side];
355
+ const options = bag[`${side}Options`];
356
+ const spec = { ...base[side] };
357
+ if (name !== undefined) {
358
+ spec.package = name;
359
+ }
360
+ // Per key: overriding one option must not drop the rest of the config's.
361
+ if (Object.keys(options).length > 0) {
362
+ spec.options = { ...(base[side]?.options ?? {}), ...options };
363
+ }
364
+ if (Object.keys(spec).length > 0) {
365
+ merged[side] = spec;
366
+ }
365
367
  }
366
368
  if (bag.home !== undefined) {
367
369
  merged.home = resolve(cwd, bag.home);
@@ -394,10 +396,6 @@ function overlay(base, bag, cwd) {
394
396
  if (bag.persist !== undefined) {
395
397
  merged.persist = bag.persist;
396
398
  }
397
- const planner = overlayGatedPass(merged.planner, bag.planner);
398
- if (planner !== undefined) {
399
- merged.planner = planner;
400
- }
401
399
  const builder = overlayBuilder(merged.builder, bag.builder);
402
400
  if (builder !== undefined) {
403
401
  merged.builder = builder;
@@ -498,10 +496,18 @@ export function parseArgs(argv, input = {}) {
498
496
  return finalize(overlay(base, flags.bag, cwd), cwd, input.checkPaths ?? true);
499
497
  }
500
498
  function finalize(merged, cwd, checkPaths) {
501
- if (merged.manager === undefined) {
499
+ const featurePackage = merged.featureTracker?.package;
500
+ if (featurePackage === undefined) {
502
501
  return {
503
502
  ok: false,
504
- reason: 'Missing required "manager". Name a package that exports createManager.',
503
+ reason: 'Missing required "featureTracker.package". Name a package that exports createManager.',
504
+ };
505
+ }
506
+ const ticketPackage = merged.ticketTracker?.package;
507
+ if (ticketPackage === undefined) {
508
+ return {
509
+ ok: false,
510
+ reason: 'Missing required "ticketTracker.package". Name a package that exports createManager.',
505
511
  };
506
512
  }
507
513
  if (merged.workLineIsolation === undefined) {
@@ -510,9 +516,6 @@ function finalize(merged, cwd, checkPaths) {
510
516
  reason: `Missing required "workLine.isolation". Set it to a package name or path that exports strategy (e.g. "${ISOLATION_GIT}").`,
511
517
  };
512
518
  }
513
- if (merged.planner === undefined) {
514
- return { ok: false, reason: "Missing required --planner -- <argv…> and --planner-timeout-ms." };
515
- }
516
519
  if (merged.builder?.producer === undefined) {
517
520
  return { ok: false, reason: "Missing required --builder -- <argv…> and --builder-timeout-ms." };
518
521
  }
@@ -536,8 +539,8 @@ function finalize(merged, cwd, checkPaths) {
536
539
  return { ok: false, reason: `--workspace-root is not a directory: ${workspaceRoot}` };
537
540
  }
538
541
  const invocation = {
539
- manager: merged.manager,
540
- managerOptions: merged.managerOptions ?? {},
542
+ featureTracker: { package: featurePackage, options: merged.featureTracker?.options ?? {} },
543
+ ticketTracker: { package: ticketPackage, options: merged.ticketTracker?.options ?? {} },
541
544
  configDir: merged.configDir ?? cwd,
542
545
  home,
543
546
  workLineIsolation: merged.workLineIsolation,
@@ -548,7 +551,6 @@ function finalize(merged, cwd, checkPaths) {
548
551
  workspaceRoot,
549
552
  ledgerRoot: resolve(cwd, merged.ledgerRoot ?? inHome(home, "ledger")),
550
553
  persist: merged.persist ?? DEFAULT_PERSIST,
551
- planner: merged.planner,
552
554
  builder: merged.builder,
553
555
  assembly: merged.assembly ?? { gates: [] },
554
556
  timeoutMs: merged.timeoutMs,
@@ -1 +1 @@
1
- {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/config/parse-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,UAAU;IACV,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,oBAAoB;IACpB,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;IAClB,UAAU;IACV,WAAW;IACX,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,WAAW;IACX,sBAAsB;IACtB,gBAAgB;IAChB,2BAA2B;IAC3B,WAAW;IACX,sBAAsB;IACtB,wBAAwB;IACxB,kBAAkB;IAClB,6BAA6B;IAC7B,gBAAgB;IAChB,2BAA2B;IAC3B,uBAAuB;IACvB,kCAAkC;IAClC,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,gCAAgC;IAChC,qBAAqB;IACrB,gCAAgC;IAChC,0BAA0B;IAC1B,qCAAqC;IACrC,yBAAyB;IACzB,iBAAiB;IACjB,4BAA4B;CAC7B,CAAC,CAAC;AAEH,yJAAyJ;AACzJ,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,gBAAgB;IAChB,2BAA2B;IAC3B,gBAAgB;IAChB,2BAA2B;IAC3B,uBAAuB;IACvB,kCAAkC;IAClC,iBAAiB;IACjB,4BAA4B;IAC5B,qBAAqB;IACrB,gCAAgC;IAChC,0BAA0B;IAC1B,qCAAqC;CACtC,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,aAAa,GAAG,IAAI,GAAG,CAG3B;IACA,CAAC,WAAW,EAAE,SAAS,CAAC;IACxB,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrD,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAClC,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;CAC7C,CAAC,CAAC;AA6DH,SAAS,cAAc;IACrB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,qEAAqE;AACrE,SAAS,UAAU,CAAC,GAAY,EAAE,KAAa;IAC7C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,2BAA2B;YAC9B,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,2BAA2B;YAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,kCAAkC;YACrC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,KAAK,iBAAiB,CAAC;QACvB,KAAK,4BAA4B;YAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,gCAAgC;YACnC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC1B;YACE,sEAAsE;YACtE,uEAAuE;YACvE,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc,EAAE,KAAa;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CACtB,IAAc,EACd,KAAa;IAEb,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,gBAAgB,CACvB,OAAgC,EAChC,GAAW;IAEX,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,GAAG,GAAY;QACnB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,cAAc,EAAE;QACzB,OAAO,EAAE,UAAU,EAAE;QACrB,QAAQ,EAAE,aAAa,EAAE;KAC1B,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,KAAK,MAAM,EAAE,CAAC;YAC/E,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBACpC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YACzC,CAAC;iBAAM,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YACrD,CAAC;YACD,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,KAAK,GAAG,EAAE,CAAC;YAC9D,CAAC;YACD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,KAAK,WAAW,EAAE,CAAC;YACpF,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,WAAW,KAAK,wBAAwB;iBAC1E,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3E,OAAO,MAAM,CAAC,iBAAiB,CAAC;YAChC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,KAAK,GAAG,EAAE,CAAC;QAC9D,CAAC;QACD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,UAAU;gBACb,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7B,MAAM;YACR,KAAK,WAAW;gBACd,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;oBACd,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,QAAQ;gBACX,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,oBAAoB;gBACvB,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;gBACjC,MAAM;YACR,KAAK,oBAAoB;gBACvB,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;gBACjC,MAAM;YACR,KAAK,uBAAuB;gBAC1B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EACJ,uFAAuF;qBAC1F,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;gBACpC,MAAM;YACR,KAAK,kBAAkB;gBACrB,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;gBAChC,MAAM;YACR,KAAK,UAAU;gBACb,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7B,MAAM;YACR,kEAAkE;YAClE,wEAAwE;YACxE,6DAA6D;YAC7D,KAAK,eAAe;gBAClB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mDAAmD,EAAE,CAAC;gBACpF,CAAC;gBACD,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7B,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,8EAA8E;qBACvF,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;gBAC3E,CAAC;gBACD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,CAAC;YAC5B,KAAK,2BAA2B,CAAC;YACjC,KAAK,sBAAsB,CAAC;YAC5B,KAAK,6BAA6B,CAAC;YACnC,KAAK,wBAAwB,CAAC;YAC9B,KAAK,2BAA2B,CAAC;YACjC,KAAK,kCAAkC,CAAC;YACxC,KAAK,2BAA2B,CAAC;YACjC,KAAK,gCAAgC,CAAC;YACtC,KAAK,gCAAgC,CAAC;YACtC,KAAK,qCAAqC,CAAC;YAC3C,KAAK,yBAAyB,CAAC;YAC/B,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,8BAA8B,EAAE,CAAC;gBACvE,CAAC;gBACD,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,sBAAsB;wBACzB,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;wBAC9B,MAAM;oBACR,KAAK,sBAAsB;wBACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvC,MAAM;oBACR,KAAK,6BAA6B;wBAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;wBACrC,MAAM;oBACR,KAAK,wBAAwB;wBAC3B,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;wBAChC,MAAM;oBACR,KAAK,2BAA2B;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;wBACnC,MAAM;oBACR,KAAK,gCAAgC;wBACnC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;wBACxC,MAAM;oBACR,KAAK,yBAAyB;wBAC5B,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;wBACjC,MAAM;oBACR;wBACE,6DAA6D;wBAC7D,qDAAqD;wBACrD,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC;wBACjD,MAAM;gBACV,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;gBACjF,CAAC;gBACD,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD;gBACE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACjE,CAAC;QACD,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,OAAO,CACd,IAA6B,EAC7B,GAAY,EACZ,GAAW;IAEX,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACpD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,yEAAyE;IACzE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,cAAc,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACpF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,aAAa,GAAG;YACrB,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;YAC7B,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC;aAClC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;IAC7C,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACnD,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAA0B,EAAE,GAAY;IAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,SAAS,CAAC;IACnD,IAAI,GAAG,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC5B,CAAC;AAED,2FAA2F;AAC3F,SAAS,YAAY,CAAC,IAAqC,EAAE,GAAe;IAC1E,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CACvB,IAA+B,EAC/B,GAAiB;IAEjB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CACrB,IAA2C,EAC3C,GAAa;IAEb,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,WAAW,CAAC;IACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,QAAQ;QACR,MAAM;QACN,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,IAA8B,EAC9B,GAAgB;IAEhB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,WAAW,CAAC;IACzD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,IACE,GAAG,KAAK,SAAS;QACjB,QAAQ,KAAK,SAAS;QACtB,WAAW,KAAK,SAAS;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC,EAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,QAAoB,EAAE;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,IAAI,GAA4B,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACvD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,MAA+B,EAAE,GAAW,EAAE,UAAmB;IACjF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,wEAAwE;SACjF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,wGAAwG,aAAa,KAAK;SACnI,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iEAAiE,EAAE,CAAC;IAClG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iEAAiE,EAAE,CAAC;IAClG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EACJ,gFAAgF;gBAChF,mEAAmE;SACtE,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,MAAM,GACV,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACxF,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oDAAoD,MAAM,EAAE,EAAE,CAAC;IAC7F,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACvF,IAAI,UAAU,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,wCAAwC,aAAa,EAAE,EAAE,CAAC;IACxF,CAAC;IAED,MAAM,UAAU,GAAmB;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,GAAG;QAClC,IAAI;QACJ,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,GAAG,CAAC,MAAM,CAAC,wBAAwB,KAAK,SAAS;YAC/C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;QACnF,aAAa;QACb,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,eAAe;QAC1C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1C,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,UAAU,CAAC,cAAc,GAAG,MAAM,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,UAAU,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,UAAU,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/config/parse-args.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,31 @@
1
- import type { GateSpec as PlannerGateSpec } from "@bluewombat/feature-breakdown";
2
1
  import type { GateSpec } from "@bluewombat/implementer";
3
2
  import type { ManagerModule } from "@bluewombat/manager-kit";
4
3
  /**
5
4
  * A command with its own Gate sequence. Every role is gated independently —
6
5
  * no sharing, no dispatch choosing between two buckets (see DECISIONS.md).
7
6
  */
8
- export type GatedPassSpec<G = GateSpec> = PassSpec & {
9
- gates: G[];
7
+ export type GatedPassSpec = PassSpec & {
8
+ gates: GateSpec[];
9
+ };
10
+ /**
11
+ * One tracker integration: the package that talks to it and the options that
12
+ * package reads. Host never reads `options`.
13
+ */
14
+ export type ManagerSpec<Package = string> = {
15
+ /** Package name or path to a module that exports `createManager`. */
16
+ package: Package;
17
+ options: Record<string, unknown>;
10
18
  };
11
19
  /**
12
20
  * What `mason run` accepted. Nothing here names a tracker: whatever a
13
- * FeatureManager needs travels in `managerOptions`, which Host does not read.
21
+ * FeatureTracker or a TicketTracker needs travels in its `options`, which Host
22
+ * does not read. The two may be the same package or two different ones.
14
23
  */
15
24
  export type HostInvocation = {
16
- /** Package name or path to a module that exports `createManager`. */
17
- manager: string;
18
- managerOptions: Record<string, unknown>;
25
+ /** Where Features are written and signalled. */
26
+ featureTracker: ManagerSpec;
27
+ /** Where the Tickets of a Feature are written, and the Authority that holds the lines. */
28
+ ticketTracker: ManagerSpec;
19
29
  /** Where a relative manager option resolves — the config file's directory. */
20
30
  configDir: string;
21
31
  /**
@@ -44,8 +54,8 @@ export type HostInvocation = {
44
54
  */
45
55
  workLineIsolationOptions?: Record<string, unknown>;
46
56
  /**
47
- * Prepare a Feature workspace once it exists (install deps, …), before any
48
- * Subtask is isolated from it. Absent: Subtasks inherit a cold Feature.
57
+ * Prepare the workspace once it exists (install deps, …), before the Builder
58
+ * runs in it. Absent: the Builder gets a cold tree.
49
59
  */
50
60
  workLineWarm?: PassSpec;
51
61
  workspaceRoot: string;
@@ -56,22 +66,20 @@ export type HostInvocation = {
56
66
  * `@bluewombat/persist-fs`.
57
67
  */
58
68
  persist: string;
59
- /** FeatureStandard in, a Plan out. Gated: judges `workLineStable` once a Plan is accepted. */
60
- planner: GatedPassSpec<PlannerGateSpec>;
61
- /** Making a Subtask, and judging what came out of it. */
69
+ /** Making the unit of work, and judging what came out of it. */
62
70
  builder: StageSpec;
63
- /** Judging the assembled feature, and fixing what a judgement refused. */
71
+ /** Judging the assembled ticket, and fixing what a judgement refused. */
64
72
  assembly: AssemblySpec;
65
73
  /**
66
74
  * The outside judge, when the Project declares one. Absent or disabled: the
67
- * assembled feature is folded into WorkLineStable and that fold is final.
75
+ * assembled ticket is folded into WorkLineStable and that fold is final.
68
76
  */
69
77
  authority?: AuthoritySpec;
70
78
  /**
71
- * What is filmed beyond the journal. Absent: the journal alone, as before.
79
+ * What is filmed beyond the journal. Absent: the journal alone.
72
80
  */
73
81
  observability?: ObservabilitySpec;
74
- /** How long any one child outside a Task may run: Planner, manager, isolations. */
82
+ /** How long any one child outside a Task may run: manager, isolations. */
75
83
  timeoutMs: number;
76
84
  /**
77
85
  * Times the work may be sent back before it escalates, by an Authority, by
@@ -104,7 +112,7 @@ export type ObservabilitySpec = {
104
112
  * somebody outside is a decision, not something to read off a directory. The
105
113
  * Publisher is the command that places the work where that judge looks, and the
106
114
  * Refresher the one that reads back what the judge accepted — two more slots,
107
- * like the Planner and the Gates.
115
+ * like the Gates.
108
116
  */
109
117
  export type AuthoritySpec = {
110
118
  enabled: boolean;
@@ -112,7 +120,7 @@ export type AuthoritySpec = {
112
120
  refreshArgv: string[];
113
121
  /**
114
122
  * Optional. Describes what is submitted, in the Project's own words:
115
- * spawned once per feature in its workspace with `--id`, `--title`,
123
+ * spawned once per ticket in its workspace with `--id`, `--title`,
116
124
  * `--intention`, `--target`; answers `{ subject, body? }`. What the
117
125
  * Authority makes of it is the manager's (for GitHub: the fold's message
118
126
  * and the pull request's text). Absent: the title and the intention, as the
@@ -133,7 +141,7 @@ export type PassSpec = {
133
141
  timeoutMs: number;
134
142
  };
135
143
  /**
136
- * Making a Subtask: first pass, then repair when a Gate refused, each judged
144
+ * Making the unit of work: first pass, then repair when a Gate refused, each judged
137
145
  * by its own Gate sequence — a repair Attempt with no gates of its own runs
138
146
  * ungated, even when the producer's list is not empty.
139
147
  */
@@ -146,7 +154,7 @@ export type StageSpec = {
146
154
  maxAttempts?: number;
147
155
  };
148
156
  /**
149
- * Judging the assembled feature as a whole.
157
+ * Judging the assembled ticket as a whole.
150
158
  *
151
159
  * The units are already validated. The Gates run either way. A command here is
152
160
  * not a second first-pass of the request: it is a surgical fix of what a
@@ -163,7 +171,7 @@ export type AssemblySpec = {
163
171
  /** Fixes what a judgement of the whole refused. Needs `--report`. Judged by its own `gates`. */
164
172
  fix?: GatedPassSpec;
165
173
  /**
166
- * A local, read-only judge of the assembled feature: whether it meets the
174
+ * A local, read-only judge of the assembled ticket: whether it meets the
167
175
  * intention, before there is a Submission or a Gate sequence to answer that.
168
176
  * Optional. Runs after align, with or without an Authority. A refusal is
169
177
  * parked on the aggregate and repaired by `fix`, the same as an Authority's.
@@ -174,11 +182,19 @@ export type AssemblySpec = {
174
182
  /** The judgement-only pass's own sequence — see above. */
175
183
  gates: GateSpec[];
176
184
  };
185
+ /**
186
+ * An invocation still being assembled from the config file and the flags: a
187
+ * side may have its package from one and an option from the other.
188
+ */
189
+ export type HostDraft = Omit<Partial<HostInvocation>, "featureTracker" | "ticketTracker"> & {
190
+ featureTracker?: Partial<ManagerSpec>;
191
+ ticketTracker?: Partial<ManagerSpec>;
192
+ };
177
193
  /** Import face: the invocation, plus the seams the CLI has no use for. */
178
- export type HostOptions = Omit<HostInvocation, "manager" | "managerOptions" | "configDir" | "home" | "persist"> & {
194
+ export type HostOptions = Omit<HostInvocation, "featureTracker" | "ticketTracker" | "configDir" | "home" | "persist"> & {
179
195
  /** A specifier to resolve, or an already-loaded module (tests, embedding). */
180
- manager: string | ManagerModule;
181
- managerOptions?: Record<string, unknown>;
196
+ featureTracker: ManagerSpec<string | ManagerModule>;
197
+ ticketTracker: ManagerSpec<string | ManagerModule>;
182
198
  configDir?: string;
183
199
  /** Defaults to `@bluewombat/persist-fs`. */
184
200
  persist?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,GAAG,MAAM,IAAI;IAC1C,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,gDAAgD;IAChD,cAAc,EAAE,WAAW,CAAC;IAC5B,0FAA0F;IAC1F,aAAa,EAAE,WAAW,CAAC;IAC3B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD;;;OAGG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,EAAE,SAAS,CAAC;IACnB,yEAAyE;IACzE,QAAQ,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,gFAAgF;QAChF,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,6DAA6D;QAC7D,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;KAChC,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,gEAAgE;IAChE,QAAQ,EAAE,aAAa,CAAC;IACxB,gGAAgG;IAChG,MAAM,EAAE,aAAa,CAAC;IACtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gGAAgG;IAChG,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC,GAAG;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,cAAc,EACd,gBAAgB,GAAG,eAAe,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CACtE,GAAG;IACF,8EAA8E;IAC9E,cAAc,EAAE,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IACpD,aAAa,EAAE,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { CONFIG_FILENAME, findConfig } from "./config/find-config.js";
1
+ export { DEFAULT_CONFIG_FILENAME, findConfig } from "./config/find-config.js";
2
2
  export type { ParseInput, ParseResult } from "./config/parse-args.js";
3
3
  export { parseArgs } from "./config/parse-args.js";
4
4
  export type { HostInvocation, HostOptions } from "./config/types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9E,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { CONFIG_FILENAME, findConfig } from "./config/find-config.js";
1
+ export { DEFAULT_CONFIG_FILENAME, findConfig } from "./config/find-config.js";
2
2
  export { parseArgs } from "./config/parse-args.js";
3
3
  export { openHost } from "./loop/open-host.js";
4
4
  export { createTransformers } from "./loop/transformers.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AuthorityPort } from "@bluewombat/conductor";
2
- import type { ManagerPort } from "@bluewombat/manager-kit";
2
+ import type { TicketTrackerPort } from "@bluewombat/manager-kit";
3
3
  import type { PassSpec } from "../config/types.js";
4
4
  import type { Journal } from "./journal.js";
5
5
  /**
@@ -7,7 +7,7 @@ import type { Journal } from "./journal.js";
7
7
  *
8
8
  * Two halves that do not belong to the same world: publishing the work is an
9
9
  * operation on a directory Host owns, and offering it to the outside belongs to
10
- * the FeatureManager. Host runs the first as a slot it never reads into, then
10
+ * the TicketTracker. Host runs the first as a slot it never reads into, then
11
11
  * hands the second the name that slot published under. Neither of them judges:
12
12
  * that is a Gate.
13
13
  *
@@ -16,9 +16,8 @@ import type { Journal } from "./journal.js";
16
16
  * places its work some other way changes that command and nothing else.
17
17
  */
18
18
  export declare function openAuthority(input: {
19
- manager: ManagerPort;
19
+ manager: TicketTrackerPort;
20
20
  workLineStable: string;
21
- workLineTarget: string;
22
21
  publishArgv: string[];
23
22
  timeoutMs: number;
24
23
  /** The isolation strategy's name for a Child, from its id. */
@@ -1 +1 @@
1
- {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/loop/authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,GAAG,aAAa,GAAG,SAAS,CA2E5B;AAwED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC1C,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB5C"}
1
+ {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/loop/authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,GAAG,aAAa,GAAG,SAAS,CAgF5B;AAwED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC1C,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB5C"}
@@ -1,4 +1,3 @@
1
- import { subjectOf } from "@bluewombat/conductor";
2
1
  import { describe } from "./describe.js";
3
2
  import { runSlot } from "./run-slot.js";
4
3
  /**
@@ -6,7 +5,7 @@ import { runSlot } from "./run-slot.js";
6
5
  *
7
6
  * Two halves that do not belong to the same world: publishing the work is an
8
7
  * operation on a directory Host owns, and offering it to the outside belongs to
9
- * the FeatureManager. Host runs the first as a slot it never reads into, then
8
+ * the TicketTracker. Host runs the first as a slot it never reads into, then
10
9
  * hands the second the name that slot published under. Neither of them judges:
11
10
  * that is a Gate.
12
11
  *
@@ -15,7 +14,7 @@ import { runSlot } from "./run-slot.js";
15
14
  * places its work some other way changes that command and nothing else.
16
15
  */
17
16
  export function openAuthority(input) {
18
- const { manager, workLineStable, workLineTarget, publishArgv, timeoutMs, refOf } = input;
17
+ const { manager, workLineStable, publishArgv, timeoutMs, refOf } = input;
19
18
  if (manager.submit === undefined || manager.fold === undefined) {
20
19
  return undefined;
21
20
  }
@@ -23,18 +22,26 @@ export function openAuthority(input) {
23
22
  const fold = manager.fold.bind(manager);
24
23
  return {
25
24
  async submit(offer) {
26
- // The name the strategy gave this feature's Child. What the Publisher
27
- // does with it — push it, copy it, upload it — is the Publisher's business.
28
- const ref = refOf(offer.ref);
29
- const published = await publish({
30
- argv: publishArgv,
31
- cwd: workLineStable,
32
- id: offer.key,
33
- ref,
34
- target: workLineTarget,
35
- timeoutMs,
36
- env: input.env,
37
- });
25
+ // A Feature's line is already with the Authority: the cut and every
26
+ // Ticket folded into it happened there, so there is nothing to publish
27
+ // and a local copy of it would only have diverged. A Ticket is published
28
+ // under the name the strategy gave its Child; what the Publisher does
29
+ // with it — push it, copy it, upload it — is the Publisher's business.
30
+ let published;
31
+ if (offer.branch !== undefined) {
32
+ published = { ok: true, ref: offer.branch };
33
+ }
34
+ else {
35
+ published = await publish({
36
+ argv: publishArgv,
37
+ cwd: workLineStable,
38
+ id: offer.key,
39
+ ref: refOf(offer.ref),
40
+ target: offer.target,
41
+ timeoutMs,
42
+ env: input.env,
43
+ });
44
+ }
38
45
  if (!published.ok) {
39
46
  input.journal?.append({
40
47
  event: "submit-refused",
@@ -46,14 +53,15 @@ export function openAuthority(input) {
46
53
  }
47
54
  // The Project's own words for what it submits, when it has a slot for
48
55
  // them; the Authority puts them where its kind of Submission is read.
49
- // Asked in the feature workspace, where the whole change is.
56
+ // Asked in the ticket workspace, where the whole change is.
50
57
  let description;
51
- if (input.describe !== undefined) {
58
+ // A line the Feature kept is not described: its words are the Feature's.
59
+ if (input.describe !== undefined && offer.branch === undefined) {
52
60
  const asked = await describe(input.describe, {
53
61
  id: offer.key,
54
62
  title: offer.title ?? offer.key,
55
63
  intention: offer.intention ?? "",
56
- target: workLineTarget,
64
+ target: offer.target,
57
65
  cwd: offer.workspace,
58
66
  });
59
67
  if (asked.ok) {
@@ -69,10 +77,7 @@ export function openAuthority(input) {
69
77
  const submitted = await submit({
70
78
  ...request,
71
79
  ref: published.ref,
72
- target: workLineTarget,
73
- // What the Submission lists as its work: one line per Subtask, the way
74
- // the plan was said on the tracker, not the whole intentions.
75
- ...(offer.steps === undefined ? {} : { steps: offer.steps.map(subjectOf) }),
80
+ target: offer.target,
76
81
  ...(description === undefined ? {} : { description }),
77
82
  });
78
83
  if (submitted.outcome === "refused") {