ridgeline 0.7.21 → 0.8.2

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 (169) hide show
  1. package/dist/agents/core/builder.md +15 -0
  2. package/dist/catalog/build-catalog.js +2 -1
  3. package/dist/catalog/build-catalog.js.map +1 -1
  4. package/dist/catalog/classify.js +2 -1
  5. package/dist/catalog/classify.js.map +1 -1
  6. package/dist/catalog/pack-sprites.js +3 -2
  7. package/dist/catalog/pack-sprites.js.map +1 -1
  8. package/dist/catalog/vision-describe.js +3 -2
  9. package/dist/catalog/vision-describe.js.map +1 -1
  10. package/dist/cli.js +112 -44
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/build.js +0 -1
  13. package/dist/commands/build.js.map +1 -1
  14. package/dist/commands/check.d.ts +1 -5
  15. package/dist/commands/check.js +2 -60
  16. package/dist/commands/check.js.map +1 -1
  17. package/dist/commands/create.d.ts +0 -1
  18. package/dist/commands/create.js +0 -18
  19. package/dist/commands/create.js.map +1 -1
  20. package/dist/commands/design.d.ts +0 -1
  21. package/dist/commands/design.js +1 -2
  22. package/dist/commands/design.js.map +1 -1
  23. package/dist/commands/qa-workflow.js +6 -5
  24. package/dist/commands/qa-workflow.js.map +1 -1
  25. package/dist/commands/refine.d.ts +0 -1
  26. package/dist/commands/refine.js +0 -1
  27. package/dist/commands/refine.js.map +1 -1
  28. package/dist/commands/research.d.ts +2 -1
  29. package/dist/commands/research.js +2 -2
  30. package/dist/commands/research.js.map +1 -1
  31. package/dist/commands/retrospective.d.ts +0 -1
  32. package/dist/commands/retrospective.js +1 -2
  33. package/dist/commands/retrospective.js.map +1 -1
  34. package/dist/commands/shape.d.ts +30 -1
  35. package/dist/commands/shape.js +16 -5
  36. package/dist/commands/shape.js.map +1 -1
  37. package/dist/commands/spec.d.ts +2 -1
  38. package/dist/commands/spec.js +2 -1
  39. package/dist/commands/spec.js.map +1 -1
  40. package/dist/commands/ui.d.ts +7 -0
  41. package/dist/commands/ui.js +96 -0
  42. package/dist/commands/ui.js.map +1 -0
  43. package/dist/config.js +2 -2
  44. package/dist/config.js.map +1 -1
  45. package/dist/engine/claude/claude.exec.d.ts +11 -0
  46. package/dist/engine/claude/claude.exec.js +73 -36
  47. package/dist/engine/claude/claude.exec.js.map +1 -1
  48. package/dist/engine/claude/stable.prompt.d.ts +31 -0
  49. package/dist/engine/claude/stable.prompt.js +137 -0
  50. package/dist/engine/claude/stable.prompt.js.map +1 -0
  51. package/dist/engine/claude/stream.display.d.ts +1 -1
  52. package/dist/engine/claude/stream.display.js +2 -1
  53. package/dist/engine/claude/stream.display.js.map +1 -1
  54. package/dist/engine/detect/index.d.ts +15 -0
  55. package/dist/engine/detect/index.js +160 -0
  56. package/dist/engine/detect/index.js.map +1 -0
  57. package/dist/engine/discovery/agent.registry.d.ts +5 -6
  58. package/dist/engine/discovery/agent.registry.js +20 -54
  59. package/dist/engine/discovery/agent.registry.js.map +1 -1
  60. package/dist/engine/discovery/skill.check.d.ts +3 -3
  61. package/dist/engine/discovery/skill.check.js +4 -4
  62. package/dist/engine/discovery/skill.check.js.map +1 -1
  63. package/dist/engine/index.d.ts +0 -1
  64. package/dist/engine/index.js +1 -3
  65. package/dist/engine/index.js.map +1 -1
  66. package/dist/engine/pipeline/build.exec.js +19 -6
  67. package/dist/engine/pipeline/build.exec.js.map +1 -1
  68. package/dist/engine/pipeline/ensemble.exec.d.ts +41 -3
  69. package/dist/engine/pipeline/ensemble.exec.js +295 -94
  70. package/dist/engine/pipeline/ensemble.exec.js.map +1 -1
  71. package/dist/engine/pipeline/phase.sequence.js +97 -4
  72. package/dist/engine/pipeline/phase.sequence.js.map +1 -1
  73. package/dist/engine/pipeline/pipeline.shared.d.ts +7 -0
  74. package/dist/engine/pipeline/pipeline.shared.js +21 -3
  75. package/dist/engine/pipeline/pipeline.shared.js.map +1 -1
  76. package/dist/engine/pipeline/refine.exec.d.ts +0 -1
  77. package/dist/engine/pipeline/refine.exec.js +1 -2
  78. package/dist/engine/pipeline/refine.exec.js.map +1 -1
  79. package/dist/engine/pipeline/research.exec.d.ts +2 -1
  80. package/dist/engine/pipeline/research.exec.js +53 -7
  81. package/dist/engine/pipeline/research.exec.js.map +1 -1
  82. package/dist/engine/pipeline/review.exec.d.ts +2 -1
  83. package/dist/engine/pipeline/review.exec.js +14 -6
  84. package/dist/engine/pipeline/review.exec.js.map +1 -1
  85. package/dist/engine/pipeline/sensors.collect.d.ts +6 -0
  86. package/dist/engine/pipeline/sensors.collect.js +34 -0
  87. package/dist/engine/pipeline/sensors.collect.js.map +1 -0
  88. package/dist/engine/pipeline/specialist.verdict.d.ts +19 -0
  89. package/dist/engine/pipeline/specialist.verdict.js +189 -0
  90. package/dist/engine/pipeline/specialist.verdict.js.map +1 -0
  91. package/dist/engine/pipeline/specify.exec.d.ts +2 -1
  92. package/dist/engine/pipeline/specify.exec.js +159 -7
  93. package/dist/engine/pipeline/specify.exec.js.map +1 -1
  94. package/dist/sensors/a11y.d.ts +36 -0
  95. package/dist/sensors/a11y.js +134 -0
  96. package/dist/sensors/a11y.js.map +1 -0
  97. package/dist/sensors/contrast.d.ts +3 -0
  98. package/dist/sensors/contrast.js +117 -0
  99. package/dist/sensors/contrast.js.map +1 -0
  100. package/dist/sensors/index.d.ts +27 -0
  101. package/dist/sensors/index.js +3 -0
  102. package/dist/sensors/index.js.map +1 -0
  103. package/dist/sensors/playwright.d.ts +69 -0
  104. package/dist/sensors/playwright.js +266 -0
  105. package/dist/sensors/playwright.js.map +1 -0
  106. package/dist/sensors/vision.d.ts +18 -0
  107. package/dist/sensors/vision.js +125 -0
  108. package/dist/sensors/vision.js.map +1 -0
  109. package/dist/stores/feedback.format.js +9 -0
  110. package/dist/stores/feedback.format.js.map +1 -1
  111. package/dist/stores/feedback.parse.js +2 -0
  112. package/dist/stores/feedback.parse.js.map +1 -1
  113. package/dist/stores/settings.d.ts +7 -1
  114. package/dist/stores/settings.js +10 -1
  115. package/dist/stores/settings.js.map +1 -1
  116. package/dist/stores/trajectory.d.ts +9 -2
  117. package/dist/stores/trajectory.js +6 -0
  118. package/dist/stores/trajectory.js.map +1 -1
  119. package/dist/types.d.ts +36 -3
  120. package/dist/ui/color.d.ts +16 -0
  121. package/dist/ui/color.js +46 -0
  122. package/dist/ui/color.js.map +1 -0
  123. package/dist/ui/contrast.d.ts +2 -0
  124. package/dist/ui/contrast.js +94 -0
  125. package/dist/ui/contrast.js.map +1 -0
  126. package/dist/ui/dashboard/client.d.ts +1 -0
  127. package/dist/ui/dashboard/client.js +281 -0
  128. package/dist/ui/dashboard/client.js.map +1 -0
  129. package/dist/ui/dashboard/css.d.ts +1 -0
  130. package/dist/ui/dashboard/css.js +341 -0
  131. package/dist/ui/dashboard/css.js.map +1 -0
  132. package/dist/ui/dashboard/events.d.ts +15 -0
  133. package/dist/ui/dashboard/events.js +40 -0
  134. package/dist/ui/dashboard/events.js.map +1 -0
  135. package/dist/ui/dashboard/favicon.d.ts +2 -0
  136. package/dist/ui/dashboard/favicon.js +20 -0
  137. package/dist/ui/dashboard/favicon.js.map +1 -0
  138. package/dist/ui/dashboard/hex.d.ts +7 -0
  139. package/dist/ui/dashboard/hex.js +16 -0
  140. package/dist/ui/dashboard/hex.js.map +1 -0
  141. package/dist/ui/dashboard/html.d.ts +7 -0
  142. package/dist/ui/dashboard/html.js +69 -0
  143. package/dist/ui/dashboard/html.js.map +1 -0
  144. package/dist/ui/dashboard/server.d.ts +26 -0
  145. package/dist/ui/dashboard/server.js +257 -0
  146. package/dist/ui/dashboard/server.js.map +1 -0
  147. package/dist/ui/dashboard/snapshot.d.ts +29 -0
  148. package/dist/ui/dashboard/snapshot.js +71 -0
  149. package/dist/ui/dashboard/snapshot.js.map +1 -0
  150. package/dist/ui/dashboard/tokens.d.ts +19 -0
  151. package/dist/ui/dashboard/tokens.js +25 -0
  152. package/dist/ui/dashboard/tokens.js.map +1 -0
  153. package/dist/ui/dashboard/watcher.d.ts +13 -0
  154. package/dist/ui/dashboard/watcher.js +238 -0
  155. package/dist/ui/dashboard/watcher.js.map +1 -0
  156. package/dist/ui/output.js +3 -2
  157. package/dist/ui/output.js.map +1 -1
  158. package/dist/ui/preflight.d.ts +21 -0
  159. package/dist/ui/preflight.js +159 -0
  160. package/dist/ui/preflight.js.map +1 -0
  161. package/dist/ui/spinner.d.ts +0 -6
  162. package/dist/ui/spinner.js +25 -6
  163. package/dist/ui/spinner.js.map +1 -1
  164. package/dist/ui/transcript.js +2 -3
  165. package/dist/ui/transcript.js.map +1 -1
  166. package/dist/utils/flavour-removed.d.ts +12 -0
  167. package/dist/utils/flavour-removed.js +44 -0
  168. package/dist/utils/flavour-removed.js.map +1 -0
  169. package/package.json +16 -3
@@ -0,0 +1,19 @@
1
+ import type { SpecialistStage, SpecialistVerdict } from "../../types";
2
+ /**
3
+ * Extract a stage-specific skeleton from raw specialist output.
4
+ *
5
+ * Accepts two shapes, in order:
6
+ * 1. A top-level JSON object or fenced ```json block whose root contains
7
+ * a `_skeleton` field matching the stage schema.
8
+ * 2. A top-level JSON object or fenced ```json block whose root directly
9
+ * matches the stage schema (used by researchers who append a skeleton
10
+ * block to their prose report).
11
+ *
12
+ * Returns null on missing block, malformed JSON, or schema mismatch.
13
+ */
14
+ export declare const parseSpecialistVerdict: (stage: SpecialistStage, raw: string) => SpecialistVerdict | null;
15
+ /**
16
+ * Agreement is defined strictly: every verdict must parse and every pair
17
+ * must be equal under the stage's normalization rules.
18
+ */
19
+ export declare const skeletonsAgree: (verdicts: (SpecialistVerdict | null)[]) => boolean;
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.skeletonsAgree = exports.parseSpecialistVerdict = void 0;
4
+ const FENCE_PATTERN = /```(?:json)?\s*\n?([\s\S]*?)```/g;
5
+ const findJsonCandidates = (raw) => {
6
+ const candidates = [];
7
+ const trimmed = raw.trim();
8
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
9
+ candidates.push(trimmed);
10
+ }
11
+ let match;
12
+ while ((match = FENCE_PATTERN.exec(raw)) !== null) {
13
+ candidates.push(match[1].trim());
14
+ }
15
+ return candidates;
16
+ };
17
+ const safeParse = (text) => {
18
+ try {
19
+ return JSON.parse(text);
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ };
25
+ const asStringArray = (v) => {
26
+ if (!Array.isArray(v))
27
+ return null;
28
+ const out = [];
29
+ for (const item of v) {
30
+ if (typeof item !== "string")
31
+ return null;
32
+ out.push(item);
33
+ }
34
+ return out;
35
+ };
36
+ const normalizeSpec = (obj) => {
37
+ const sectionOutline = asStringArray(obj.sectionOutline);
38
+ const riskList = asStringArray(obj.riskList);
39
+ if (!sectionOutline || !riskList)
40
+ return null;
41
+ return { sectionOutline, riskList };
42
+ };
43
+ const normalizePlan = (obj) => {
44
+ const rawPhases = obj.phaseList;
45
+ if (!Array.isArray(rawPhases))
46
+ return null;
47
+ const phaseList = [];
48
+ for (const item of rawPhases) {
49
+ if (typeof item !== "object" || item === null)
50
+ return null;
51
+ const entry = item;
52
+ if (typeof entry.id !== "string" || typeof entry.slug !== "string")
53
+ return null;
54
+ phaseList.push({ id: entry.id, slug: entry.slug });
55
+ }
56
+ const rawGraph = obj.depGraph;
57
+ if (!Array.isArray(rawGraph))
58
+ return null;
59
+ const depGraph = [];
60
+ for (const edge of rawGraph) {
61
+ if (!Array.isArray(edge) || edge.length !== 2)
62
+ return null;
63
+ const [a, b] = edge;
64
+ if (typeof a !== "string" || typeof b !== "string")
65
+ return null;
66
+ depGraph.push([a, b]);
67
+ }
68
+ return { phaseList, depGraph };
69
+ };
70
+ const normalizeResearch = (obj) => {
71
+ const findings = asStringArray(obj.findings);
72
+ const openQuestions = asStringArray(obj.openQuestions);
73
+ if (!findings || !openQuestions)
74
+ return null;
75
+ return { findings, openQuestions };
76
+ };
77
+ const normalizeBy = (stage, obj) => {
78
+ if (stage === "spec")
79
+ return normalizeSpec(obj);
80
+ if (stage === "plan")
81
+ return normalizePlan(obj);
82
+ return normalizeResearch(obj);
83
+ };
84
+ /**
85
+ * Extract a stage-specific skeleton from raw specialist output.
86
+ *
87
+ * Accepts two shapes, in order:
88
+ * 1. A top-level JSON object or fenced ```json block whose root contains
89
+ * a `_skeleton` field matching the stage schema.
90
+ * 2. A top-level JSON object or fenced ```json block whose root directly
91
+ * matches the stage schema (used by researchers who append a skeleton
92
+ * block to their prose report).
93
+ *
94
+ * Returns null on missing block, malformed JSON, or schema mismatch.
95
+ */
96
+ const parseSpecialistVerdict = (stage, raw) => {
97
+ if (!raw || typeof raw !== "string")
98
+ return null;
99
+ const candidates = findJsonCandidates(raw);
100
+ for (const text of candidates) {
101
+ const parsed = safeParse(text);
102
+ if (!parsed || typeof parsed !== "object")
103
+ continue;
104
+ const obj = parsed;
105
+ const nested = obj._skeleton;
106
+ if (nested && typeof nested === "object") {
107
+ const skeleton = normalizeBy(stage, nested);
108
+ if (skeleton)
109
+ return { stage, skeleton };
110
+ }
111
+ const direct = normalizeBy(stage, obj);
112
+ if (direct)
113
+ return { stage, skeleton: direct };
114
+ }
115
+ return null;
116
+ };
117
+ exports.parseSpecialistVerdict = parseSpecialistVerdict;
118
+ const trimStrings = (list) => list.map((s) => s.trim());
119
+ const sortedCopy = (list) => [...list].sort();
120
+ const equalOrderInsensitive = (a, b) => {
121
+ if (a.length !== b.length)
122
+ return false;
123
+ const left = sortedCopy(trimStrings(a));
124
+ const right = sortedCopy(trimStrings(b));
125
+ for (let i = 0; i < left.length; i++) {
126
+ if (left[i] !== right[i])
127
+ return false;
128
+ }
129
+ return true;
130
+ };
131
+ const equalOrdered = (a, b) => {
132
+ if (a.length !== b.length)
133
+ return false;
134
+ for (let i = 0; i < a.length; i++) {
135
+ if (a[i].id.trim() !== b[i].id.trim() || a[i].slug.trim() !== b[i].slug.trim())
136
+ return false;
137
+ }
138
+ return true;
139
+ };
140
+ const normalizeEdgeKey = (edge) => `${edge[0].trim()}->${edge[1].trim()}`;
141
+ const equalEdges = (a, b) => {
142
+ if (a.length !== b.length)
143
+ return false;
144
+ const left = a.map(normalizeEdgeKey).sort();
145
+ const right = b.map(normalizeEdgeKey).sort();
146
+ for (let i = 0; i < left.length; i++) {
147
+ if (left[i] !== right[i])
148
+ return false;
149
+ }
150
+ return true;
151
+ };
152
+ const skeletonsEqual = (a, b) => {
153
+ if (a.stage !== b.stage)
154
+ return false;
155
+ if (a.stage === "spec" && b.stage === "spec") {
156
+ return (equalOrderInsensitive(a.skeleton.sectionOutline, b.skeleton.sectionOutline) &&
157
+ equalOrderInsensitive(a.skeleton.riskList, b.skeleton.riskList));
158
+ }
159
+ if (a.stage === "plan" && b.stage === "plan") {
160
+ return (equalOrdered(a.skeleton.phaseList, b.skeleton.phaseList) &&
161
+ equalEdges(a.skeleton.depGraph, b.skeleton.depGraph));
162
+ }
163
+ if (a.stage === "research" && b.stage === "research") {
164
+ return (equalOrderInsensitive(a.skeleton.findings, b.skeleton.findings) &&
165
+ equalOrderInsensitive(a.skeleton.openQuestions, b.skeleton.openQuestions));
166
+ }
167
+ return false;
168
+ };
169
+ /**
170
+ * Agreement is defined strictly: every verdict must parse and every pair
171
+ * must be equal under the stage's normalization rules.
172
+ */
173
+ const skeletonsAgree = (verdicts) => {
174
+ if (verdicts.length < 2)
175
+ return false;
176
+ const first = verdicts[0];
177
+ if (!first)
178
+ return false;
179
+ for (let i = 1; i < verdicts.length; i++) {
180
+ const next = verdicts[i];
181
+ if (!next)
182
+ return false;
183
+ if (!skeletonsEqual(first, next))
184
+ return false;
185
+ }
186
+ return true;
187
+ };
188
+ exports.skeletonsAgree = skeletonsAgree;
189
+ //# sourceMappingURL=specialist.verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist.verdict.js","sourceRoot":"","sources":["../../../src/engine/pipeline/specialist.verdict.ts"],"names":[],"mappings":";;;AAQA,MAAM,aAAa,GAAG,kCAAkC,CAAA;AAExD,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAY,EAAE;IACnD,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,KAA6B,CAAA;IACjC,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,CAAU,EAAmB,EAAE;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,GAA4B,EAAiC,EAAE;IACpF,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC7C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,GAA4B,EAAiC,EAAE;IACpF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,SAAS,GAAmC,EAAE,CAAA;IACpD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC1D,MAAM,KAAK,GAAG,IAA+B,CAAA;QAC7C,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/E,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IACzC,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC1D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,GAA4B,EAAqC,EAAE;IAC5F,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAC5C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAClB,KAAsB,EACtB,GAA4B,EACU,EAAE;IACxC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACI,MAAM,sBAAsB,GAAG,CACpC,KAAsB,EACtB,GAAW,EACe,EAAE;IAC5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEhD,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC1C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAQ;QACnD,MAAM,GAAG,GAAG,MAAiC,CAAA;QAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAA;QAC5B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAAiC,CAAC,CAAA;YACtE,IAAI,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAuB,CAAA;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACtC,IAAI,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAuB,CAAA;IACrE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAtBY,QAAA,sBAAsB,0BAsBlC;AAED,MAAM,WAAW,GAAG,CAAC,IAAc,EAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC3E,MAAM,UAAU,GAAG,CAAC,IAAc,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;AAEjE,MAAM,qBAAqB,GAAG,CAAC,CAAW,EAAE,CAAW,EAAW,EAAE;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IACxC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,CAAiC,EAAE,CAAiC,EAAW,EAAE;IACrG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAA;IAC9F,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAU,EAAE,CAC1D,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;AAExC,MAAM,UAAU,GAAG,CAAC,CAAqB,EAAE,CAAqB,EAAW,EAAE;IAC3E,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IACxC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAW,EAAE;IAC7E,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,CACL,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC3E,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAChE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxD,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrD,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACrD,OAAO,CACL,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/D,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC1E,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,QAAsC,EAAW,EAAE;IAChF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;IAChD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAVY,QAAA,cAAc,kBAU1B"}
@@ -2,10 +2,11 @@ import { EnsembleResult } from "../../types";
2
2
  export type SpecEnsembleConfig = {
3
3
  model: string;
4
4
  timeoutMinutes: number;
5
+ specialistTimeoutSeconds: number;
5
6
  maxBudgetUsd: number | null;
6
7
  buildDir: string;
7
- flavour: string | null;
8
8
  matchedShapes: string[];
9
+ isThorough: boolean;
9
10
  /** Optional user-authored spec content treated as authoritative source material. */
10
11
  userInput: string | null;
11
12
  };
@@ -38,7 +38,6 @@ const fs = __importStar(require("node:fs"));
38
38
  const path = __importStar(require("node:path"));
39
39
  const ensemble_exec_1 = require("./ensemble.exec");
40
40
  const agent_registry_1 = require("../discovery/agent.registry");
41
- const flavour_resolve_1 = require("../discovery/flavour.resolve");
42
41
  const pipeline_shared_1 = require("./pipeline.shared");
43
42
  const prompt_document_1 = require("./prompt.document");
44
43
  // ---------------------------------------------------------------------------
@@ -124,8 +123,25 @@ const SPEC_SPECIALIST_SCHEMA = JSON.stringify({
124
123
  },
125
124
  },
126
125
  },
126
+ _skeleton: {
127
+ type: "object",
128
+ description: "Compact agreement-detection skeleton used to decide whether synthesis can be skipped.",
129
+ properties: {
130
+ sectionOutline: {
131
+ type: "array",
132
+ items: { type: "string" },
133
+ description: "Ordered feature/section names that structure the spec.",
134
+ },
135
+ riskList: {
136
+ type: "array",
137
+ items: { type: "string" },
138
+ description: "Concerns and risks the synthesizer must address.",
139
+ },
140
+ },
141
+ required: ["sectionOutline", "riskList"],
142
+ },
127
143
  },
128
- required: ["perspective", "spec", "constraints", "tradeoffs", "concerns"],
144
+ required: ["perspective", "spec", "constraints", "tradeoffs", "concerns", "_skeleton"],
129
145
  });
130
146
  // ---------------------------------------------------------------------------
131
147
  // Prompt construction
@@ -148,6 +164,7 @@ const buildSpecSpecialistPrompt = (overlay) => {
148
164
  "- `taste`: { codeStyle, testPatterns, commitFormat, commentStyle } or null if no style preferences expressed",
149
165
  "- `tradeoffs`: What your approach sacrifices",
150
166
  "- `concerns`: Things the other specialists might miss",
167
+ "- `_skeleton`: { sectionOutline: string[], riskList: string[] } — sectionOutline mirrors your feature/section names in order; riskList mirrors your concerns. Keep this faithful; it is used for ensemble agreement detection.",
151
168
  ].join("\n");
152
169
  return `${overlay}${jsonDirective}`;
153
170
  };
@@ -259,11 +276,110 @@ const assembleSynthesizerUserPrompt = (shapeMd, buildDir, drafts, userInput) =>
259
276
  doc.instruction("Output Directory", `Write spec.md, constraints.md, and optionally taste.md to: ${buildDir}/\nUse the Write tool to create each file.`);
260
277
  return doc.render();
261
278
  };
279
+ const renderSpecMdFromDraft = (draft) => {
280
+ const lines = [];
281
+ lines.push(`# ${draft.spec.title}`);
282
+ lines.push("");
283
+ lines.push("## Overview");
284
+ lines.push("");
285
+ lines.push(draft.spec.overview.trim());
286
+ lines.push("");
287
+ lines.push("## Features");
288
+ lines.push("");
289
+ for (const feature of draft.spec.features) {
290
+ lines.push(`### ${feature.name}`);
291
+ lines.push("");
292
+ lines.push(feature.description.trim());
293
+ lines.push("");
294
+ lines.push("**Acceptance Criteria:**");
295
+ lines.push("");
296
+ for (const criterion of feature.acceptanceCriteria) {
297
+ lines.push(`- ${criterion}`);
298
+ }
299
+ lines.push("");
300
+ }
301
+ lines.push("## Scope");
302
+ lines.push("");
303
+ lines.push("**In scope:**");
304
+ lines.push("");
305
+ for (const item of draft.spec.scopeBoundaries.inScope) {
306
+ lines.push(`- ${item}`);
307
+ }
308
+ lines.push("");
309
+ lines.push("**Out of scope:**");
310
+ lines.push("");
311
+ for (const item of draft.spec.scopeBoundaries.outOfScope) {
312
+ lines.push(`- ${item}`);
313
+ }
314
+ lines.push("");
315
+ return lines.join("\n");
316
+ };
317
+ const renderConstraintsMdFromDraft = (draft) => {
318
+ const lines = [];
319
+ lines.push("# Constraints");
320
+ lines.push("");
321
+ lines.push(`- **Language:** ${draft.constraints.language}`);
322
+ lines.push(`- **Runtime:** ${draft.constraints.runtime}`);
323
+ if (draft.constraints.framework)
324
+ lines.push(`- **Framework:** ${draft.constraints.framework}`);
325
+ lines.push(`- **Directory conventions:** ${draft.constraints.directoryConventions}`);
326
+ lines.push(`- **Naming conventions:** ${draft.constraints.namingConventions}`);
327
+ if (draft.constraints.apiStyle)
328
+ lines.push(`- **API style:** ${draft.constraints.apiStyle}`);
329
+ if (draft.constraints.database)
330
+ lines.push(`- **Database:** ${draft.constraints.database}`);
331
+ if (draft.constraints.dependencies.length > 0) {
332
+ lines.push(`- **Dependencies:** ${draft.constraints.dependencies.join(", ")}`);
333
+ }
334
+ lines.push("");
335
+ lines.push("## Check Command");
336
+ lines.push("");
337
+ lines.push("```bash");
338
+ lines.push(draft.constraints.checkCommand.trim());
339
+ lines.push("```");
340
+ lines.push("");
341
+ return lines.join("\n");
342
+ };
343
+ const renderTasteMdFromDraft = (draft) => {
344
+ if (!draft.taste)
345
+ return null;
346
+ const lines = ["# Taste", ""];
347
+ if (draft.taste.codeStyle.length > 0) {
348
+ lines.push("## Code Style", "");
349
+ for (const item of draft.taste.codeStyle)
350
+ lines.push(`- ${item}`);
351
+ lines.push("");
352
+ }
353
+ if (draft.taste.testPatterns.length > 0) {
354
+ lines.push("## Test Patterns", "");
355
+ for (const item of draft.taste.testPatterns)
356
+ lines.push(`- ${item}`);
357
+ lines.push("");
358
+ }
359
+ if (draft.taste.commitFormat) {
360
+ lines.push("## Commit Format", "", draft.taste.commitFormat.trim(), "");
361
+ }
362
+ if (draft.taste.commentStyle) {
363
+ lines.push("## Comment Style", "", draft.taste.commentStyle.trim(), "");
364
+ }
365
+ return lines.join("\n");
366
+ };
367
+ const writeSpecArtifactsFromDraft = (buildDir, draft) => {
368
+ fs.mkdirSync(buildDir, { recursive: true });
369
+ const specPath = path.join(buildDir, "spec.md");
370
+ fs.writeFileSync(specPath, renderSpecMdFromDraft(draft));
371
+ fs.writeFileSync(path.join(buildDir, "constraints.md"), renderConstraintsMdFromDraft(draft));
372
+ const tasteMd = renderTasteMdFromDraft(draft);
373
+ if (tasteMd)
374
+ fs.writeFileSync(path.join(buildDir, "taste.md"), tasteMd);
375
+ return specPath;
376
+ };
262
377
  const invokeSpecifier = async (shapeMd, config) => {
263
- const registry = (0, agent_registry_1.buildAgentRegistry)((0, flavour_resolve_1.resolveFlavour)(config.flavour));
264
- // Get standard specialists
265
- let specialists = registry.getSpecialists("specifiers");
266
- // Conditionally add visual coherence specialist when visual shapes matched
378
+ const registry = (0, agent_registry_1.buildAgentRegistry)();
379
+ // Get standard specialists, capped at 2 (default) / 3 (thorough).
380
+ const baseSpecialists = registry.getSpecialists("specifiers");
381
+ let specialists = (0, ensemble_exec_1.selectSpecialists)(baseSpecialists, { isThorough: config.isThorough });
382
+ // Conditionally add visual coherence specialist when visual shapes matched.
267
383
  if (config.matchedShapes.length > 0) {
268
384
  const visualSpecialist = registry.getSpecialist("specifiers", "visual-coherence.md");
269
385
  if (visualSpecialist) {
@@ -281,11 +397,47 @@ const invokeSpecifier = async (shapeMd, config) => {
281
397
  synthesizerTools: ["Write"],
282
398
  model: config.model,
283
399
  timeoutMinutes: config.timeoutMinutes,
400
+ specialistTimeoutSeconds: config.specialistTimeoutSeconds,
284
401
  maxBudgetUsd: config.maxBudgetUsd,
285
402
  stallTimeoutMs: ensemble_exec_1.SYNTHESIZER_STALL_TIMEOUT_MS,
403
+ isTwoRound: config.isThorough,
404
+ buildAnnotationPrompt: (ownPerspective, otherDrafts) => {
405
+ const sections = [
406
+ `You are the ${ownPerspective} specialist. You have already submitted your proposal.`,
407
+ "Below are the other specialists' proposals. Review them and provide brief annotations:",
408
+ "- **Concerns:** Issues you see in their approaches",
409
+ "- **Agreements:** Where they align with or strengthen yours",
410
+ "- **Gaps:** What none of the proposals (including yours) adequately address",
411
+ "",
412
+ "Do NOT rewrite your proposal. Provide only annotations.",
413
+ "",
414
+ ];
415
+ for (const { perspective, draft } of otherDrafts) {
416
+ sections.push(`## ${perspective} Specialist Proposal\n`);
417
+ sections.push(`**Summary:** ${draft.spec.overview}`);
418
+ sections.push(`**Features:** ${draft.spec.features.length}`);
419
+ sections.push(`**Tradeoffs:** ${draft.tradeoffs}\n`);
420
+ }
421
+ return sections.join("\n");
422
+ },
423
+ stage: "spec",
424
+ buildDir: config.buildDir,
425
+ onAgreementSkip: (successful) => {
426
+ const [first] = successful;
427
+ const specPath = writeSpecArtifactsFromDraft(config.buildDir, first.draft);
428
+ (0, ensemble_exec_1.appendSkipAuditNote)(specPath, successful.length, "spec");
429
+ return {
430
+ success: true,
431
+ result: JSON.stringify(first.draft),
432
+ durationMs: 0,
433
+ costUsd: 0,
434
+ usage: { inputTokens: 0, outputTokens: 0, cacheReadInputTokens: 0, cacheCreationInputTokens: 0 },
435
+ sessionId: `synthesis-skipped-${first.perspective}`,
436
+ };
437
+ },
286
438
  verify: () => {
287
439
  const missing = ["spec.md", "constraints.md"]
288
- .filter(f => !fs.existsSync(path.join(config.buildDir, f)));
440
+ .filter((f) => !fs.existsSync(path.join(config.buildDir, f)));
289
441
  if (missing.length > 0) {
290
442
  throw new Error(`Synthesizer did not create required files: ${missing.join(", ")}`);
291
443
  }
@@ -1 +1 @@
1
- {"version":3,"file":"specify.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/specify.exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specify.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/specify.exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAEjC,mDAAsH;AACtH,gEAAgE;AAChE,uDAAyD;AACzD,uDAAkD;AAElD,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;QAClF,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC/B,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBACjE;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,oBAAoB,CAAC;qBACxD;iBACF;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wBACrD,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBACzD;oBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;iBACpC;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;SAC/D;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACvC,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACtC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,CAAC;SAC/G;QACD,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACvD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;aAC3C;SACF;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;QAC3E,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE,yCAAyC;SACvD;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACxD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBACvD;wBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;qBAClC;iBACF;aACF;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uFAAuF;YACpG,UAAU,EAAE;gBACV,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,wDAAwD;iBACtE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACzC;KACF;IACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC;CACvF,CAAC,CAAA;AAEF,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC5D,MAAM,aAAa,GAAG;QACpB,EAAE;QACF,cAAc;QACd,EAAE;QACF,uHAAuH;QACvH,+CAA+C;QAC/C,uFAAuF;QACvF,uEAAuE;QACvE,EAAE;QACF,yBAAyB;QACzB,oDAAoD;QACpD,6HAA6H;QAC7H,4IAA4I;QAC5I,8GAA8G;QAC9G,8CAA8C;QAC9C,uDAAuD;QACvD,gOAAgO;KACjO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,OAAO,GAAG,OAAO,GAAG,aAAa,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,0FAA0F;AAC1F,MAAM,4BAA4B,GAAG,CACnC,OAAe,EACf,MAA0B,EAClB,EAAE;IACV,MAAM,GAAG,GAAG,IAAI,gCAAc,EAAE,CAAA;IAEhC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAE7B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACtD,GAAG,CAAC,WAAW,CACb,yBAAyB,EACzB;YACE,wFAAwF;YACxF,qMAAqM;YACrM,iGAAiG;YACjG,gIAAgI;SACjI,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAA;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAEjE,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,kGAAkG,CAAC,CAAA;IAEpI,OAAO,GAAG,CAAC,MAAM,EAAE,CAAA;AACrB,CAAC,CAAA;AAED,6DAA6D;AAC7D,MAAM,mBAAmB,GAAG,CAC1B,QAAkB,EAClB,WAAmB,EACnB,KAAqB,EACf,EAAE;IACR,IAAA,uCAAqB,EAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7D,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnD,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAA;IAC5D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAChE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7E,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjB,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IAC1C,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,WAAW,CAAC,QAAQ,cAAc,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IACjG,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAA;IAC7F,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjE,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3F,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1F,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7E,QAAQ,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACpC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxG,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjH,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;QAC3F,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;QAC3F,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACrC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YACnC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,6BAA6B,GAAG,CACpC,OAAe,EACf,QAAgB,EAChB,MAAwD,EACxD,SAAwB,EAChB,EAAE;IACV,MAAM,GAAG,GAAG,IAAI,gCAAc,EAAE,CAAA;IAEhC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;QAC/C,GAAG,CAAC,WAAW,CACb,yBAAyB,EACzB;YACE,wFAAwF;YACxF,oMAAoM;YACpM,kHAAkH;YAClH,+FAA+F;SAChG,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,KAAK,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;QAC5C,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAE1D,GAAG,CAAC,WAAW,CACb,kBAAkB,EAClB,8DAA8D,QAAQ,4CAA4C,CACnH,CAAA;IAED,OAAO,GAAG,CAAC,MAAM,EAAE,CAAA;AACrB,CAAC,CAAA;AAkBD,MAAM,qBAAqB,GAAG,CAAC,KAAqB,EAAU,EAAE;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACzB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACzB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,CAAC,KAAqB,EAAU,EAAE;IACrE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IACzD,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAA;IAC9F,KAAK,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAA;IACpF,KAAK,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC5F,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3F,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,KAAqB,EAAiB,EAAE;IACtE,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,KAAK,GAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACvC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAE,KAAqB,EAAU,EAAE;IACtF,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5F,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,OAAO;QAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IACvE,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAEM,MAAM,eAAe,GAAG,KAAK,EAClC,OAAe,EACf,MAA0B,EACD,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAA,mCAAkB,GAAE,CAAA;IAErC,kEAAkE;IAClE,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,WAAW,GAAG,IAAA,iCAAiB,EAAC,eAAe,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;IAEvF,4EAA4E;IAC5E,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAA;QACpF,IAAI,gBAAgB,EAAE,CAAC;YACrB,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,gBAAgB,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,OAAO,IAAA,8BAAc,EAAiB;QACpC,KAAK,EAAE,YAAY;QACnB,WAAW;QAEX,qBAAqB,EAAE,yBAAyB;QAChD,oBAAoB,EAAE,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC;QACnE,gBAAgB,EAAE,sBAAsB;QAExC,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC;QACzD,0BAA0B,EAAE,CAAC,MAAM,EAAE,EAAE,CACrC,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QACnF,gBAAgB,EAAE,CAAC,OAAO,CAAC;QAE3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QACzD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,cAAc,EAAE,4CAA4B;QAE5C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,qBAAqB,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG;gBACf,eAAe,cAAc,wDAAwD;gBACrF,wFAAwF;gBACxF,oDAAoD;gBACpD,6DAA6D;gBAC7D,6EAA6E;gBAC7E,EAAE;gBACF,yDAAyD;gBACzD,EAAE;aACH,CAAA;YACD,KAAK,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,WAAW,wBAAwB,CAAC,CAAA;gBACxD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACpD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC5D,QAAQ,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;YACtD,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;QAED,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;YAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAA;YAC1B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YAC1E,IAAA,mCAAmB,EAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACxD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnC,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE;gBAChG,SAAS,EAAE,qBAAqB,KAAK,CAAC,WAAW,EAAE;aACpD,CAAA;QACH,CAAC;QAED,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC;iBAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACrF,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAlFY,QAAA,eAAe,mBAkF3B"}
@@ -0,0 +1,36 @@
1
+ import type { SensorAdapter, SensorFinding, SensorInput } from "./index";
2
+ interface PlaywrightModule {
3
+ chromium: {
4
+ launch(options: {
5
+ args?: string[];
6
+ timeout?: number;
7
+ headless?: boolean;
8
+ }): Promise<PlaywrightBrowser>;
9
+ };
10
+ }
11
+ interface PlaywrightBrowser {
12
+ newPage(): Promise<PlaywrightPage>;
13
+ close(): Promise<void>;
14
+ }
15
+ interface PlaywrightPage {
16
+ goto(url: string, options?: {
17
+ timeout?: number;
18
+ waitUntil?: string;
19
+ }): Promise<unknown>;
20
+ addScriptTag(options: {
21
+ path: string;
22
+ }): Promise<unknown>;
23
+ evaluate<R>(fn: string | (() => R)): Promise<R>;
24
+ close(): Promise<void>;
25
+ }
26
+ type A11yLoadPlaywright = () => PlaywrightModule;
27
+ type ResolveAxePath = () => string;
28
+ interface A11yRunInternals {
29
+ loadPlaywright?: A11yLoadPlaywright;
30
+ resolveAxePath?: ResolveAxePath;
31
+ isSandboxed?: () => boolean;
32
+ isResolvable?: () => boolean;
33
+ }
34
+ export declare const runA11ySensor: (input: SensorInput, internals?: A11yRunInternals) => Promise<SensorFinding[]>;
35
+ declare const a11ySensor: SensorAdapter;
36
+ export default a11ySensor;