@bluewombat/runtime 0.8.0 → 0.10.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 (141) hide show
  1. package/README.md +236 -142
  2. package/SPECS.md +138 -97
  3. package/dist/cli.js +35 -37
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/agent-shorthand.d.ts +24 -4
  6. package/dist/config/agent-shorthand.d.ts.map +1 -1
  7. package/dist/config/agent-shorthand.js +65 -28
  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.d.ts +2 -0
  18. package/dist/config/home.d.ts.map +1 -1
  19. package/dist/config/home.js +4 -2
  20. package/dist/config/home.js.map +1 -1
  21. package/dist/config/load-config.d.ts +2 -2
  22. package/dist/config/load-config.d.ts.map +1 -1
  23. package/dist/config/load-config.js +342 -73
  24. package/dist/config/load-config.js.map +1 -1
  25. package/dist/config/parse-args.d.ts +1 -1
  26. package/dist/config/parse-args.d.ts.map +1 -1
  27. package/dist/config/parse-args.js +132 -103
  28. package/dist/config/parse-args.js.map +1 -1
  29. package/dist/config/types.d.ts +142 -38
  30. package/dist/config/types.d.ts.map +1 -1
  31. package/dist/config/types.js +13 -1
  32. package/dist/config/types.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/loop/authority.d.ts +41 -5
  38. package/dist/loop/authority.d.ts.map +1 -1
  39. package/dist/loop/authority.js +68 -24
  40. package/dist/loop/authority.js.map +1 -1
  41. package/dist/loop/context.d.ts +23 -3
  42. package/dist/loop/context.d.ts.map +1 -1
  43. package/dist/loop/deliveries.d.ts +16 -16
  44. package/dist/loop/deliveries.d.ts.map +1 -1
  45. package/dist/loop/deliveries.js +35 -187
  46. package/dist/loop/deliveries.js.map +1 -1
  47. package/dist/loop/describe.d.ts +4 -6
  48. package/dist/loop/describe.d.ts.map +1 -1
  49. package/dist/loop/describe.js +2 -2
  50. package/dist/loop/describe.js.map +1 -1
  51. package/dist/loop/drive.d.ts +11 -7
  52. package/dist/loop/drive.d.ts.map +1 -1
  53. package/dist/loop/drive.js +24 -38
  54. package/dist/loop/drive.js.map +1 -1
  55. package/dist/loop/features.d.ts +23 -0
  56. package/dist/loop/features.d.ts.map +1 -0
  57. package/dist/loop/features.js +834 -0
  58. package/dist/loop/features.js.map +1 -0
  59. package/dist/loop/journal.d.ts +1 -1
  60. package/dist/loop/journal.js +2 -2
  61. package/dist/loop/journal.js.map +1 -1
  62. package/dist/loop/lock.d.ts +1 -1
  63. package/dist/loop/lock.js +1 -1
  64. package/dist/loop/open-host.d.ts.map +1 -1
  65. package/dist/loop/open-host.js +132 -31
  66. package/dist/loop/open-host.js.map +1 -1
  67. package/dist/loop/probe.d.ts +1 -1
  68. package/dist/loop/probe.d.ts.map +1 -1
  69. package/dist/loop/probe.js +51 -22
  70. package/dist/loop/probe.js.map +1 -1
  71. package/dist/loop/process-tree.d.ts +1 -1
  72. package/dist/loop/process-tree.js +1 -1
  73. package/dist/loop/report.d.ts +9 -7
  74. package/dist/loop/report.d.ts.map +1 -1
  75. package/dist/loop/report.js +49 -106
  76. package/dist/loop/report.js.map +1 -1
  77. package/dist/loop/streams.d.ts +5 -5
  78. package/dist/loop/streams.d.ts.map +1 -1
  79. package/dist/loop/streams.js +3 -3
  80. package/dist/loop/streams.js.map +1 -1
  81. package/dist/loop/tick.d.ts +6 -4
  82. package/dist/loop/tick.d.ts.map +1 -1
  83. package/dist/loop/tick.js +50 -78
  84. package/dist/loop/tick.js.map +1 -1
  85. package/dist/loop/trace.d.ts +5 -5
  86. package/dist/loop/trace.d.ts.map +1 -1
  87. package/dist/loop/trace.js +5 -14
  88. package/dist/loop/trace.js.map +1 -1
  89. package/dist/loop/transformers.d.ts +18 -14
  90. package/dist/loop/transformers.d.ts.map +1 -1
  91. package/dist/loop/transformers.js +139 -74
  92. package/dist/loop/transformers.js.map +1 -1
  93. package/dist/loop/warm.d.ts +3 -3
  94. package/dist/loop/warm.js +4 -4
  95. package/dist/loop/warm.js.map +1 -1
  96. package/dist/loop/work-line.d.ts +1 -1
  97. package/dist/operator/agent-plugins.d.ts +11 -0
  98. package/dist/operator/agent-plugins.d.ts.map +1 -1
  99. package/dist/operator/agent-plugins.js +17 -11
  100. package/dist/operator/agent-plugins.js.map +1 -1
  101. package/dist/operator/board.d.ts +3 -8
  102. package/dist/operator/board.d.ts.map +1 -1
  103. package/dist/operator/board.js +2 -11
  104. package/dist/operator/board.js.map +1 -1
  105. package/dist/operator/cancel.d.ts +2 -2
  106. package/dist/operator/cancel.js +6 -6
  107. package/dist/operator/cancel.js.map +1 -1
  108. package/dist/operator/doctor.d.ts +9 -0
  109. package/dist/operator/doctor.d.ts.map +1 -1
  110. package/dist/operator/doctor.js +110 -53
  111. package/dist/operator/doctor.js.map +1 -1
  112. package/dist/operator/explain.d.ts +76 -0
  113. package/dist/operator/explain.d.ts.map +1 -0
  114. package/dist/operator/explain.js +585 -0
  115. package/dist/operator/explain.js.map +1 -0
  116. package/dist/operator/film.d.ts +3 -11
  117. package/dist/operator/film.d.ts.map +1 -1
  118. package/dist/operator/film.js +8 -93
  119. package/dist/operator/film.js.map +1 -1
  120. package/dist/operator/init.d.ts.map +1 -1
  121. package/dist/operator/init.js +52 -55
  122. package/dist/operator/init.js.map +1 -1
  123. package/dist/operator/live.js +1 -1
  124. package/dist/operator/live.js.map +1 -1
  125. package/dist/operator/log.js +12 -6
  126. package/dist/operator/log.js.map +1 -1
  127. package/dist/operator/release.d.ts +2 -2
  128. package/dist/operator/release.js +7 -7
  129. package/dist/operator/release.js.map +1 -1
  130. package/dist/operator/run.d.ts +25 -0
  131. package/dist/operator/run.d.ts.map +1 -0
  132. package/dist/operator/run.js +70 -0
  133. package/dist/operator/run.js.map +1 -0
  134. package/dist/operator/setup.d.ts.map +1 -1
  135. package/dist/operator/setup.js +22 -16
  136. package/dist/operator/setup.js.map +1 -1
  137. package/dist/plugins/manager.d.ts +33 -2
  138. package/dist/plugins/manager.d.ts.map +1 -1
  139. package/dist/plugins/manager.js +67 -0
  140. package/dist/plugins/manager.js.map +1 -1
  141. package/package.json +15 -16
@@ -1,10 +1,10 @@
1
- import { PRODUCT } from "@bluewombat/manager-kit";
1
+ import { CLI_NAME } from "@bluewombat/manager-kit";
2
2
  import { parseArgs } from "../config/parse-args.js";
3
3
  import { openHost } from "../loop/open-host.js";
4
4
  /**
5
- * Abandon one Feature by key.
5
+ * Abandon one Ticket by key.
6
6
  *
7
- * The team still abandons in the FeatureManager. This is the hatch when the
7
+ * The team still abandons in the TicketTracker. This is the hatch when the
8
8
  * tracker cannot say the intention is gone — a manager with no `probe`, or
9
9
  * an operator who already knows — and the ledger would otherwise freeze the
10
10
  * Project. It takes the ledger lock: stop `run` first if it holds it.
@@ -12,7 +12,7 @@ import { openHost } from "../loop/open-host.js";
12
12
  export async function runCancel(input) {
13
13
  const peeled = peelKey(input.argv);
14
14
  if (peeled.key === undefined) {
15
- input.write(`Usage: ${PRODUCT} cancel <key>\n`);
15
+ input.write(`Usage: ${CLI_NAME} cancel <key>\n`);
16
16
  return 2;
17
17
  }
18
18
  const { key } = peeled;
@@ -40,10 +40,10 @@ export async function runCancel(input) {
40
40
  input.write(`Already cancelled.\n`);
41
41
  return 0;
42
42
  case "not-found":
43
- input.write(`No Feature named "${key}" in the ledger.\n`);
43
+ input.write(`No Ticket named "${key}" in the ledger.\n`);
44
44
  return 2;
45
45
  case "done":
46
- input.write("Too late: that Feature is already done.\n");
46
+ input.write("Too late: that Ticket is already done.\n");
47
47
  return 1;
48
48
  case "point-of-no-return":
49
49
  input.write("Too late: abandon is refused after merging.\n");
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/operator/cancel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/operator/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAUhD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAkB;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,KAAK,CAAC,UAAU,QAAQ,iBAAiB,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEvB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACpE,MAAM,OAAO,GAAgB;QAC3B,GAAG,MAAM,CAAC,UAAU;QACpB,aAAa;QACb,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACvD,CAAC;IACF,IAAI,IAAsD,CAAC;IAC3D,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;YACnC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,mBAAmB;gBACtB,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO,CAAC,CAAC;YACX,KAAK,WAAW;gBACd,KAAK,CAAC,KAAK,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC;gBACzD,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,CAAC;YACX,KAAK,oBAAoB;gBACvB,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC"}
@@ -1,3 +1,6 @@
1
+ import type { ManagerModule } from "@bluewombat/manager-kit";
2
+ import { type HostInvocation } from "../config/types.js";
3
+ import { type WorkLineResolution } from "../loop/work-line.js";
1
4
  export type DoctorInput = {
2
5
  cwd: string;
3
6
  argv: string[];
@@ -12,4 +15,10 @@ export type DoctorInput = {
12
15
  * the same rule.
13
16
  */
14
17
  export declare function runDoctor(input: DoctorInput): Promise<number>;
18
+ /**
19
+ * The same decision `mason run` makes at boot, without the fetch. A manager
20
+ * that does not load names no reference; the failure is reported where the
21
+ * manager is.
22
+ */
23
+ export declare function workLineOf(invocation: HostInvocation, module: ManagerModule | undefined): Promise<WorkLineResolution>;
15
24
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/operator/doctor.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAgGnE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/operator/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoC,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAYjG,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAmInE;AA0FD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA2B7B"}
@@ -2,11 +2,12 @@ import { existsSync, statSync } from "node:fs";
2
2
  import { delimiter, dirname, isAbsolute, join } from "node:path";
3
3
  import { PRODUCT } from "@bluewombat/manager-kit";
4
4
  import { ISOLATION_COPY, ISOLATION_GIT } from "../config/defaults.js";
5
- import { CONFIG_FILENAME, findConfig } from "../config/find-config.js";
5
+ import { DEFAULT_CONFIG_FILENAME, findConfig } from "../config/find-config.js";
6
6
  import { parseArgs } from "../config/parse-args.js";
7
+ import { hasAgent, isOn, } from "../config/types.js";
7
8
  import { inspectWorkLine, resolveWorkLine } from "../loop/work-line.js";
8
9
  import { resolveIsolationStrategy } from "../plugins/isolation.js";
9
- import { contextOf, loadManagerModule } from "../plugins/manager.js";
10
+ import { contextOf, distinctManagers, loadManagerModule, nameOfSides, requestOf, } from "../plugins/manager.js";
10
11
  import { agentPluginFindings } from "./agent-plugins.js";
11
12
  import { remoteNames } from "./git-remote.js";
12
13
  const REQUIRED_NODE_MAJOR = 24;
@@ -19,7 +20,11 @@ export async function runDoctor(input) {
19
20
  const findings = [nodeFinding(input.nodeVersion ?? process.versions.node)];
20
21
  const configPath = configPathOf(input);
21
22
  findings.push(configPath === undefined
22
- ? { level: "warn", label: "config", detail: `no ${CONFIG_FILENAME} found; using flags only` }
23
+ ? {
24
+ level: "warn",
25
+ label: "config",
26
+ detail: `no ${DEFAULT_CONFIG_FILENAME} found; using flags only`,
27
+ }
23
28
  : { level: "ok", label: "config", detail: configPath });
24
29
  const parsed = parseArgs(input.argv, { cwd: input.cwd, checkPaths: false });
25
30
  if (!parsed.ok) {
@@ -29,16 +34,15 @@ export async function runDoctor(input) {
29
34
  const invocation = parsed.invocation;
30
35
  findings.push({ level: "ok", label: "invocation", detail: "every required field is set" });
31
36
  findings.push({ level: "ok", label: "home", detail: invocation.home });
32
- const request = {
33
- manager: invocation.manager,
34
- managerOptions: invocation.managerOptions,
37
+ const common = {
35
38
  configDir: invocation.configDir,
36
39
  durationMs: invocation.timeoutMs,
37
40
  interruptFlag: { interrupted: false },
38
41
  env: input.env,
39
42
  };
40
- const loaded = await loadManagerModule(request);
41
- const workLine = await workLineOf(invocation, loaded.ok ? loaded.module : undefined);
43
+ const trackerRequest = requestOf(invocation.ticketTracker, common);
44
+ const tracker = await loadManagerModule(trackerRequest);
45
+ const workLine = await workLineOf(invocation, tracker.ok ? tracker.module : undefined);
42
46
  findings.push(...workLineFindings(workLine));
43
47
  // Whose the directory is decides which checks apply: Host's copy of a
44
48
  // reference was already held against it, and may not exist yet.
@@ -46,7 +50,7 @@ export async function runDoctor(input) {
46
50
  const target = workLine.kind === "copy" ? workLine.target : invocation.workLineBranch;
47
51
  findings.push(...isolationFindings(invocation, workLine));
48
52
  findings.push(...authorityFindings(invocation, workLine, target, input.env));
49
- const judged = assemblyFinding(invocation);
53
+ const judged = ticketFinding(invocation);
50
54
  if (judged !== undefined) {
51
55
  findings.push(judged);
52
56
  }
@@ -68,14 +72,23 @@ export async function runDoctor(input) {
68
72
  detail: `${streams.dir ?? join(invocation.home, "streams")} (${(streams.keep ?? ["stdout", "stderr"]).join(", ")})`,
69
73
  }
70
74
  : { level: "ok", label: "streams", detail: "off — the journal alone" });
71
- findings.push(...gatedPassFindings("Planner", invocation.planner, input.env, stable));
72
- findings.push(...gatedPassFindings("Builder producer", invocation.builder.producer, input.env, stable));
73
- findings.push(...gatedPassFindings("Builder repair", invocation.builder.repair, input.env, stable));
74
- if (invocation.assembly.fix !== undefined) {
75
- findings.push(...gatedPassFindings("Assembly fix", invocation.assembly.fix, input.env, stable));
75
+ if (invocation.builder.tests !== undefined) {
76
+ findings.push(...reviewFindings("Builder tests", invocation.builder.tests, input.env, stable));
77
+ }
78
+ if (invocation.builder.e2e !== undefined) {
79
+ findings.push(...gatedPassFindings("Builder e2e", invocation.builder.e2e, input.env, stable));
80
+ }
81
+ findings.push(...gatedPassFindings("Builder producer", invocation.builder.producer, input.env, stable, false));
82
+ findings.push(...gatedPassFindings("Builder repair", invocation.builder.repair, input.env, stable, false));
83
+ // One list judges both passes (builder.gates): checked once, not twice.
84
+ for (const gate of invocation.builder.producer.gates) {
85
+ findings.push(commandFinding(`Builder gate ${gate.id}`, gate.argv, input.env));
86
+ }
87
+ if (invocation.ticket.fix !== undefined) {
88
+ findings.push(...gatedPassFindings("Ticket fix", invocation.ticket.fix, input.env, stable));
76
89
  }
77
- if (invocation.assembly.validate !== undefined) {
78
- findings.push(...gatedPassFindings("Assembly validate", invocation.assembly.validate, input.env, stable));
90
+ if (invocation.ticket.validate !== undefined) {
91
+ findings.push(...reviewFindings("Ticket validate", invocation.ticket.validate, input.env, stable));
79
92
  }
80
93
  const describeArgv = invocation.authority?.enabled
81
94
  ? invocation.authority.describeArgv
@@ -84,17 +97,37 @@ export async function runDoctor(input) {
84
97
  findings.push(...agentPluginFindings("Describer", describeArgv, stable));
85
98
  }
86
99
  // The judgement-only pass's own sequence — never shared with fix or validate.
87
- for (const gate of invocation.assembly.gates) {
88
- findings.push(commandFinding(`Assembly gate ${gate.id}`, gate.argv, input.env));
89
- }
90
- findings.push(...assemblyFixFindings(invocation));
91
- if (!loaded.ok) {
92
- findings.push({ level: "fail", label: "manager", detail: loaded.reason });
93
- return report(findings, input.write);
100
+ for (const gate of invocation.ticket.gates) {
101
+ findings.push(commandFinding(`Ticket gate ${gate.id}`, gate.argv, input.env));
102
+ }
103
+ findings.push(...ticketFixFindings(invocation));
104
+ // The Feature's line has its own fix and its own sequence, apart from a Ticket's.
105
+ if (invocation.feature !== undefined) {
106
+ findings.push(...gatedPassFindings("Feature fix", invocation.feature.fix, input.env, stable));
107
+ findings.push(...reviewFindings("Feature validate", invocation.feature.validate, input.env, stable));
108
+ if (!isOn(invocation.feature.validate) && invocation.feature.gates.length === 0) {
109
+ findings.push({
110
+ level: "warn",
111
+ label: "feature judgement",
112
+ detail: "feature.validate is off and feature.gates is empty — nothing judges a Feature before it is folded",
113
+ });
114
+ }
115
+ for (const gate of invocation.feature.gates) {
116
+ findings.push(commandFinding(`Feature gate ${gate.id}`, gate.argv, input.env));
117
+ }
94
118
  }
95
- findings.push({ level: "ok", label: "manager", detail: invocation.manager });
96
- if (loaded.module.checkManager !== undefined) {
97
- findings.push(...(await loaded.module.checkManager(contextOf(request))));
119
+ for (const one of distinctManagers(invocation)) {
120
+ const label = nameOfSides(one.sides);
121
+ const request = requestOf(one.spec, common, one.sides);
122
+ const loaded = await loadManagerModule(request);
123
+ if (!loaded.ok) {
124
+ findings.push({ level: "fail", label, detail: loaded.reason });
125
+ continue;
126
+ }
127
+ findings.push({ level: "ok", label, detail: String(one.spec.package) });
128
+ if (loaded.module.checkManager !== undefined) {
129
+ findings.push(...(await loaded.module.checkManager(contextOf(request))));
130
+ }
98
131
  }
99
132
  return report(findings, input.write);
100
133
  }
@@ -133,7 +166,7 @@ function authorityFindings(invocation, workLine, target, env) {
133
166
  findings.push({
134
167
  level: "ok",
135
168
  label: "authority",
136
- detail: `offers the assembled feature on "${target}"`,
169
+ detail: `offers the assembled ticket on "${target}"`,
137
170
  });
138
171
  }
139
172
  findings.push(commandFinding("Publisher", authority.publishArgv, env));
@@ -180,14 +213,14 @@ function nodeFinding(version) {
180
213
  * that does not load names no reference; the failure is reported where the
181
214
  * manager is.
182
215
  */
183
- async function workLineOf(invocation, module) {
216
+ export async function workLineOf(invocation, module) {
184
217
  const strategy = await resolveIsolationStrategy(invocation.workLineIsolation, invocation.configDir, invocation.workLineIsolationOptions);
185
218
  if (!strategy.ok) {
186
219
  return { kind: "invalid", reason: strategy.reason };
187
220
  }
188
221
  const context = contextOf({
189
- manager: invocation.manager,
190
- managerOptions: invocation.managerOptions,
222
+ manager: invocation.ticketTracker.package,
223
+ managerOptions: invocation.ticketTracker.options,
191
224
  configDir: invocation.configDir,
192
225
  durationMs: invocation.timeoutMs,
193
226
  interruptFlag: { interrupted: false },
@@ -197,7 +230,7 @@ async function workLineOf(invocation, module) {
197
230
  home: invocation.home,
198
231
  stable: invocation.workLineStable,
199
232
  branch: invocation.workLineBranch,
200
- manager: invocation.manager,
233
+ manager: invocation.ticketTracker.package,
201
234
  wantsAuthority: invocation.authority?.enabled === true,
202
235
  reference: module?.referenceManager?.(context),
203
236
  strategy: strategy.strategy,
@@ -292,62 +325,86 @@ function isolationFindings(invocation, workLine) {
292
325
  return findings;
293
326
  }
294
327
  /**
295
- * Whether anything judges the assembled feature.
328
+ * Whether anything judges the assembled ticket.
296
329
  *
297
- * With a work line to offer the work to, the assembled feature is published and
330
+ * With a work line to offer the work to, the assembled ticket is published and
298
331
  * then folded on the Gate sequence's word. An empty sequence is a Project that
299
332
  * publishes and merges with nothing looking at the whole.
300
333
  */
301
- function assemblyFinding(invocation) {
334
+ function ticketFinding(invocation) {
302
335
  // Only an Authority publishes and merges. With the fold staying local there
303
336
  // is nothing outside to guard, and the unit Gates already judged every part.
304
337
  if (invocation.authority?.enabled !== true) {
305
338
  return undefined;
306
339
  }
307
- if (invocation.assembly.gates.length > 0) {
340
+ if (invocation.ticket.gates.length > 0) {
341
+ return {
342
+ level: "ok",
343
+ label: "ticket gates",
344
+ detail: invocation.ticket.gates.map((gate) => gate.id).join(", "),
345
+ };
346
+ }
347
+ if (invocation.builder.producer.gates.length > 0) {
348
+ // The unit's own checks run again once the work is aligned, so something does
349
+ // judge the ticket; what is missing is a reader of the published work (a CI).
308
350
  return {
309
351
  level: "ok",
310
- label: "assembly gates",
311
- detail: invocation.assembly.gates.map((gate) => gate.id).join(", "),
352
+ label: "ticket gates",
353
+ detail: 'none — no CI is read. builder.gates run again after the align; add "ticket.gates" (ci-green) when a CI runs on the pull requests',
312
354
  };
313
355
  }
314
356
  return {
315
357
  level: "warn",
316
- label: "assembly gates",
317
- detail: 'none — the assembled feature is published and merged with nothing judging it. Add "assembly.gates" (ci-green reads the work line\'s own checks)',
358
+ label: "ticket gates",
359
+ detail: 'none — the assembled ticket is published and merged with nothing judging it. Add "builder.gates", which run again after the align, or "ticket.gates" (ci-green reads the work line\'s own checks)',
318
360
  };
319
361
  }
320
362
  /** A gated pass's command, then one finding per Gate's own command. */
321
- function gatedPassFindings(label, pass, env, workLine) {
363
+ /** A review with an agent is checked as a pass; without one, its Gates are all there is. */
364
+ function reviewFindings(label, review, env, workLine) {
365
+ if (hasAgent(review)) {
366
+ return gatedPassFindings(label, review, env, workLine);
367
+ }
368
+ if (!isOn(review)) {
369
+ return [{ level: "ok", label, detail: "off (agent: false, no gates)" }];
370
+ }
371
+ return [
372
+ { level: "ok", label, detail: "no agent (agent: false): its gates run alone" },
373
+ ...review.gates.map((gate) => commandFinding(`${label} gate ${gate.id}`, gate.argv, env)),
374
+ ];
375
+ }
376
+ function gatedPassFindings(label, pass, env, workLine, withGates = true) {
322
377
  const findings = [commandFinding(label, pass.cmd, env)];
323
378
  findings.push(...agentPluginFindings(label, pass.cmd, workLine));
324
- for (const gate of pass.gates) {
325
- findings.push(commandFinding(`${label} gate ${gate.id}`, gate.argv, env));
379
+ if (withGates) {
380
+ for (const gate of pass.gates) {
381
+ findings.push(commandFinding(`${label} gate ${gate.id}`, gate.argv, env));
382
+ }
326
383
  }
327
384
  return findings;
328
385
  }
329
386
  /**
330
387
  * A refusal that comes back needs a command that can fix what it named. The
331
- * work is sent back to `assembly.fix` by an Authority, by `assembly.validate`,
388
+ * work is sent back to `ticket.fix` by an Authority, by `ticket.validate`,
332
389
  * or by both — `fix` is dead only when neither refuser exists.
333
390
  */
334
- function assemblyFixFindings(invocation) {
335
- const fixDeclared = invocation.assembly.fix !== undefined;
336
- const validateDeclared = invocation.assembly.validate !== undefined;
391
+ function ticketFixFindings(invocation) {
392
+ const fixDeclared = invocation.ticket.fix !== undefined;
393
+ const validateDeclared = isOn(invocation.ticket.validate);
337
394
  const offering = invocation.authority?.enabled === true;
338
395
  const findings = [];
339
396
  if (offering && !fixDeclared) {
340
397
  findings.push({
341
398
  level: "fail",
342
- label: "assembly fix",
343
- detail: 'authority.enabled is true, so a Submission can come back. Name "assembly.fix"',
399
+ label: "ticket fix",
400
+ detail: 'authority.enabled is true, so a Submission can come back. Name "ticket.fix"',
344
401
  });
345
402
  }
346
403
  if (fixDeclared && !offering && !validateDeclared) {
347
404
  findings.push({
348
405
  level: "warn",
349
- label: "assembly fix",
350
- detail: "declared, but nothing sends a Submission back without an Authority or assembly.validate — it will never run",
406
+ label: "ticket fix",
407
+ detail: "declared, but nothing sends a Submission back without an Authority or ticket.validate — it will never run",
351
408
  });
352
409
  }
353
410
  if (validateDeclared && !fixDeclared) {
@@ -355,8 +412,8 @@ function assemblyFixFindings(invocation) {
355
412
  // escalate on the spot. Said here so it reads as a choice, not a bug.
356
413
  findings.push({
357
414
  level: "warn",
358
- label: "assembly fix",
359
- detail: "assembly.validate is declared with no assembly.fix — its refusals escalate immediately, with nothing to repair them",
415
+ label: "ticket fix",
416
+ detail: "ticket.validate is declared with no ticket.fix — its refusals escalate immediately, with nothing to repair them",
360
417
  });
361
418
  }
362
419
  return findings;
@@ -365,7 +422,7 @@ function assemblyFixFindings(invocation) {
365
422
  * Which work line a fold would land on.
366
423
  *
367
424
  * Without `workLine.branch` the answer is "whatever is checked out", which is
368
- * nobody's decision: leave that tree on another branch and a feature lands
425
+ * nobody's decision: leave that tree on another branch and a ticket lands
369
426
  * there without a word.
370
427
  */
371
428
  function workLineBranchFinding(path, wanted) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/operator/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/operator/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAGL,QAAQ,EACR,IAAI,GAEL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAW9C,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAkB;IAChD,MAAM,QAAQ,GAAc,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtF,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CACX,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC;YACE,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM,uBAAuB,0BAA0B;SAChE;QACH,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CACzD,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU,EAAE,UAAU,CAAC,SAAS;QAChC,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;QACrC,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;IACF,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;IACtF,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,KAAK,IAAI;QACvB,CAAC,CAAC;YACE,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACpH;QACH,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,CACzE,CAAC;IACF,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,QAAQ,CAAC,IAAI,CACX,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAChG,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAC5F,CAAC;IACF,wEAAwE;IACxE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7C,QAAQ,CAAC,IAAI,CACX,GAAG,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO;QAChD,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY;QACnC,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,8EAA8E;IAC9E,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,kFAAkF;IAClF,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9F,QAAQ,CAAC,IAAI,CACX,GAAG,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CACtF,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EACJ,mGAAmG;aACtG,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,UAA0B,EAC1B,QAA4B,EAC5B,MAA0B,EAC1B,GAAuC;IAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL;gBACE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,WAAW;gBAClB,MAAM,EACJ,wHAAwH;aAC3H;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,8CAA8C,EAAE;SAC5F,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,oFAAoF;SAC7F,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,mCAAmC,MAAM,GAAG;SACrD,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,gDAAgD;IAChD,IACE,MAAM,KAAK,SAAS;QACpB,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC;QAChE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK;QAC/C,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChD,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,kBAAkB;YACzB,MAAM,EACJ,mIAAmI;SACtI,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,KAAK,IAAI,mBAAmB;QACjC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QACpD,CAAC,CAAC;YACE,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,GAAG,OAAO,MAAM,OAAO,UAAU,mBAAmB,WAAW;SACxE,CAAC;AACR,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAA0B,EAC1B,MAAiC;IAEjC,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,wBAAwB,CACpC,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC;QACxB,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;QACzC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;QAChD,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU,EAAE,UAAU,CAAC,SAAS;QAChC,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;QACrC,GAAG,EAAE,EAAE;KACR,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,cAAc;QACjC,MAAM,EAAE,UAAU,CAAC,cAAc;QACjC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;QACzC,cAAc,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;QACtD,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,OAAO,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,YAAY,EAAE,QAAQ,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,KAAK,WAAW;YACd,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO;gBACL,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,eAAe,EAAE;aACjF,CAAC;QACJ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAc;gBAC1B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE;aACxE,CAAC;YACF,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC5B,KAAK,SAAS;oBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;oBACxF,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,WAAW;wBAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,+CAA+C;qBAC1E,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,WAAW;wBAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,oCAAoC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;qBACtF,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,IAAI,EAAE,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,GAAG,IAAI,oBAAoB;SACpC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,UAA0B,EAAE,QAA4B;IACjF,MAAM,QAAQ,GAAc;QAC1B;YACE,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,UAAU,CAAC,iBAAiB;SACrC;KACF,CAAC;IACF,MAAM,aAAa,GAAG,UAAU,CAAC,iBAAiB,KAAK,aAAa,CAAC;IACrE,MAAM,cAAc,GAAG,UAAU,CAAC,iBAAiB,KAAK,cAAc,CAAC;IACvE,oEAAoE;IACpE,MAAM,aAAa,GACjB,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;QAC5D,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,aAAa,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACjF,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,IAAI,aAAa,qGAAqG;SAC/H,CAAC,CAAC;IACL,CAAC;IACD,IAAI,cAAc,IAAI,UAAU,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,IAAI,cAAc,6FAA6F;SACxH,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,UAA0B;IAC/C,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,UAAU,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,8EAA8E;QAC9E,8EAA8E;QAC9E,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,cAAc;YACrB,MAAM,EACJ,kIAAkI;SACrI,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,cAAc;QACrB,MAAM,EACJ,mMAAmM;KACtM,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,4FAA4F;AAC5F,SAAS,cAAc,CACrB,KAAa,EACb,MAAkB,EAClB,GAAuC,EACvC,QAA4B;IAE5B,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,8CAA8C,EAAE;QAC9E,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAa,EACb,IAAmB,EACnB,GAAuC,EACvC,QAA4B,EAC5B,SAAS,GAAG,IAAI;IAEhB,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,UAA0B;IACnD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,6EAA6E;SACtF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,YAAY;YACnB,MAAM,EACJ,2GAA2G;SAC9G,CAAC,CAAC;IACL,CAAC;IACD,IAAI,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,yEAAyE;QACzE,sEAAsE;QACtE,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,YAAY;YACnB,MAAM,EACJ,iHAAiH;SACpH,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,MAA0B;IACrE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,gEAAgE;SAC5F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,4BAA4B,MAAM,GAAG;SACjE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,oFAAoF;AACpF,SAAS,eAAe,CAAC,KAAa,EAAE,IAAY;IAClD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YACjC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;YACtC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,IAAI,EAAE,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;gBACrC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,mBAAmB,EAAE;gBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,QAAQ,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC;QAC5E,CAAC;QACD,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAAa,EACb,IAAc,EACd,GAAuC;IAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,SAAS;QACvC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,OAAO,EAAE,EAAE;QACnE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,iEAAiE;AACjE,SAAS,MAAM,CAAC,OAAe,EAAE,GAAuC;IACtE,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,QAAmB,EAAE,KAA6B;IAChE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1F,KAAK,CACH,GAAG,IAAI,KAAK,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAC3F,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,MAAM,qBAAqB,CAAC,CAAC;IAC7E,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,76 @@
1
+ export type ExplainInput = {
2
+ cwd: string;
3
+ argv: string[];
4
+ env: Record<string, string | undefined>;
5
+ write: (text: string) => void;
6
+ };
7
+ /** Where a plugin comes from: the operator's home, or the project's deck. */
8
+ export type Layer = "home" | "base" | "profile";
9
+ export type Note = {
10
+ level: "warn" | "fail";
11
+ text: string;
12
+ };
13
+ /** One plugin an agent starts with. `undefined` means "not known", never "none". */
14
+ export type PluginReport = {
15
+ layer: Layer;
16
+ id: string;
17
+ source: string;
18
+ skills?: string[];
19
+ agents?: string[];
20
+ commands?: string[];
21
+ hooks?: boolean;
22
+ mcp?: string[];
23
+ note?: string;
24
+ };
25
+ export type RoleReport = {
26
+ role: string;
27
+ kind: "agent" | "command";
28
+ command?: string[];
29
+ agent?: {
30
+ adapter: string;
31
+ model?: string;
32
+ home?: string;
33
+ apiKeyEnv?: string;
34
+ apiKeySet?: boolean;
35
+ denyShell: string[];
36
+ };
37
+ timeoutMs: number;
38
+ maxAttempts?: number;
39
+ prompt?: {
40
+ file?: string;
41
+ placeholders: string[];
42
+ rulesFile?: string;
43
+ };
44
+ project?: {
45
+ state: "read" | "not-yet" | "no-deck" | "invalid";
46
+ profile: string;
47
+ path?: string;
48
+ commit?: string;
49
+ date?: string;
50
+ promptFile?: string;
51
+ promptText?: string;
52
+ };
53
+ plugins: PluginReport[];
54
+ gates: string[];
55
+ notes: Note[];
56
+ };
57
+ /**
58
+ * What each role's slot fills in its prompt, and what the prompt must place.
59
+ *
60
+ * It mirrors the `fillPrompt` call of each slot, which refuses an unknown name
61
+ * and a missing required one on every attempt. A test reads the slots' own
62
+ * sources and fails when this table drifts from them.
63
+ */
64
+ export declare const PROMPT_PLACEHOLDERS: Record<string, {
65
+ known: readonly string[];
66
+ required: readonly string[];
67
+ }>;
68
+ /**
69
+ * Say what an agent role starts with, from the config and the files alone.
70
+ *
71
+ * Nothing runs and nothing is fetched. A deck plugin's contents come from the
72
+ * lock the project committed; a fact that cannot be read says so instead of
73
+ * being guessed, and a setup every attempt would fail on is a failure here too.
74
+ */
75
+ export declare function runExplain(input: ExplainInput): Promise<number>;
76
+ //# sourceMappingURL=explain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../src/operator/explain.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,oFAAoF;AACpF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QAClD,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAsC1D,CAAC;AAkbF;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCrE"}