@bragi-gmbh/codebus 1.4.0 → 1.6.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 (130) hide show
  1. package/dist/ci-hooks/ci-hooks.js +126 -0
  2. package/dist/ci-hooks/ci-hooks.js.map +1 -0
  3. package/dist/commands/agent.js +137 -0
  4. package/dist/commands/agent.js.map +1 -0
  5. package/dist/commands/as.js +1 -1
  6. package/dist/commands/as.js.map +1 -1
  7. package/dist/commands/ask.js +1 -1
  8. package/dist/commands/ask.js.map +1 -1
  9. package/dist/commands/ci-findings.js +129 -0
  10. package/dist/commands/ci-findings.js.map +1 -0
  11. package/dist/commands/ci-reply.js +117 -0
  12. package/dist/commands/ci-reply.js.map +1 -0
  13. package/dist/commands/ci-steer-escalate.js +65 -0
  14. package/dist/commands/ci-steer-escalate.js.map +1 -0
  15. package/dist/commands/cli-mcp-correlation.js +131 -0
  16. package/dist/commands/cli-mcp-correlation.js.map +1 -0
  17. package/dist/commands/connector-attach-detach.js +542 -0
  18. package/dist/commands/connector-attach-detach.js.map +1 -0
  19. package/dist/commands/connector.js +513 -0
  20. package/dist/commands/connector.js.map +1 -0
  21. package/dist/commands/correlation.js +194 -0
  22. package/dist/commands/correlation.js.map +1 -0
  23. package/dist/commands/decision.js +63 -0
  24. package/dist/commands/decision.js.map +1 -1
  25. package/dist/commands/digest.js +14 -3
  26. package/dist/commands/digest.js.map +1 -1
  27. package/dist/commands/do.js +127 -0
  28. package/dist/commands/do.js.map +1 -0
  29. package/dist/commands/factory-attention.js +106 -0
  30. package/dist/commands/factory-attention.js.map +1 -0
  31. package/dist/commands/factory-context-read.js +171 -0
  32. package/dist/commands/factory-context-read.js.map +1 -0
  33. package/dist/commands/factory-interventions.js +102 -0
  34. package/dist/commands/factory-interventions.js.map +1 -0
  35. package/dist/commands/factory.js +187 -0
  36. package/dist/commands/factory.js.map +1 -1
  37. package/dist/commands/graph-pull.js +130 -0
  38. package/dist/commands/graph-pull.js.map +1 -0
  39. package/dist/commands/graph.js +5 -1
  40. package/dist/commands/graph.js.map +1 -1
  41. package/dist/commands/inbox.js +7 -7
  42. package/dist/commands/inbox.js.map +1 -1
  43. package/dist/commands/ingest.js +1 -1
  44. package/dist/commands/ingest.js.map +1 -1
  45. package/dist/commands/install.js +1160 -55
  46. package/dist/commands/install.js.map +1 -1
  47. package/dist/commands/integration-ledger.js +81 -0
  48. package/dist/commands/integration-ledger.js.map +1 -0
  49. package/dist/commands/knowledge.js +178 -0
  50. package/dist/commands/knowledge.js.map +1 -0
  51. package/dist/commands/links.js +1 -1
  52. package/dist/commands/links.js.map +1 -1
  53. package/dist/commands/morning.js +50 -1
  54. package/dist/commands/morning.js.map +1 -1
  55. package/dist/commands/plan-compiler.js +260 -0
  56. package/dist/commands/plan-compiler.js.map +1 -0
  57. package/dist/commands/plan-lint.js +275 -0
  58. package/dist/commands/plan-lint.js.map +1 -0
  59. package/dist/commands/plan-score.js +203 -0
  60. package/dist/commands/plan-score.js.map +1 -0
  61. package/dist/commands/plan.js +481 -15
  62. package/dist/commands/plan.js.map +1 -1
  63. package/dist/commands/product-validity.js +168 -0
  64. package/dist/commands/product-validity.js.map +1 -0
  65. package/dist/commands/question.js +1 -1
  66. package/dist/commands/question.js.map +1 -1
  67. package/dist/commands/read-policy.js +131 -0
  68. package/dist/commands/read-policy.js.map +1 -0
  69. package/dist/commands/read.js +1 -1
  70. package/dist/commands/read.js.map +1 -1
  71. package/dist/commands/repo.js +106 -8
  72. package/dist/commands/repo.js.map +1 -1
  73. package/dist/commands/repository-protection.js +209 -0
  74. package/dist/commands/repository-protection.js.map +1 -0
  75. package/dist/commands/resolve.js +2 -2
  76. package/dist/commands/resolve.js.map +1 -1
  77. package/dist/commands/self-healing.js +26 -0
  78. package/dist/commands/self-healing.js.map +1 -0
  79. package/dist/commands/send.js +1 -1
  80. package/dist/commands/send.js.map +1 -1
  81. package/dist/commands/serial-merge.js +303 -0
  82. package/dist/commands/serial-merge.js.map +1 -0
  83. package/dist/commands/session.js +1 -1
  84. package/dist/commands/session.js.map +1 -1
  85. package/dist/commands/task.js +92 -1
  86. package/dist/commands/task.js.map +1 -1
  87. package/dist/commands/verify.js +77 -0
  88. package/dist/commands/verify.js.map +1 -0
  89. package/dist/config/self-healing-analysis.json +158 -0
  90. package/dist/errors.js +18 -4
  91. package/dist/errors.js.map +1 -1
  92. package/dist/execution/client.js +53 -0
  93. package/dist/execution/client.js.map +1 -0
  94. package/dist/execution/local.js +24 -0
  95. package/dist/execution/local.js.map +1 -0
  96. package/dist/execution/ssh.js +38 -0
  97. package/dist/execution/ssh.js.map +1 -0
  98. package/dist/graph.js +78 -16
  99. package/dist/graph.js.map +1 -1
  100. package/dist/index.js +30 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/json-lite.js +248 -0
  103. package/dist/json-lite.js.map +1 -0
  104. package/dist/knowledge-drift.js +40 -0
  105. package/dist/knowledge-drift.js.map +1 -0
  106. package/dist/lint/parallelism.js +414 -0
  107. package/dist/lint/parallelism.js.map +1 -0
  108. package/dist/mail-latency.js +11 -1
  109. package/dist/mail-latency.js.map +1 -1
  110. package/dist/mcp-ci-findings.js +31 -0
  111. package/dist/mcp-ci-findings.js.map +1 -0
  112. package/dist/mcp-correlation.js +290 -0
  113. package/dist/mcp-correlation.js.map +1 -0
  114. package/dist/mcp-factory-context-read.js +81 -0
  115. package/dist/mcp-factory-context-read.js.map +1 -0
  116. package/dist/mcp-registry.js +128 -1
  117. package/dist/mcp-registry.js.map +1 -1
  118. package/dist/mcp.js +94 -5
  119. package/dist/mcp.js.map +1 -1
  120. package/dist/openrouter-reservation-guard.js +97 -0
  121. package/dist/openrouter-reservation-guard.js.map +1 -0
  122. package/dist/self-healing-analysis-loader.js +150 -0
  123. package/dist/self-healing-analysis-loader.js.map +1 -0
  124. package/dist/sender.js +11 -9
  125. package/dist/sender.js.map +1 -1
  126. package/dist/toml-lite.js +546 -0
  127. package/dist/toml-lite.js.map +1 -0
  128. package/dist/version-check.js +23 -7
  129. package/dist/version-check.js.map +1 -1
  130. package/package.json +5 -3
package/dist/index.js CHANGED
@@ -39,12 +39,27 @@ import { registerAs } from "./commands/as.js";
39
39
  import { registerCheckin } from "./commands/checkin.js";
40
40
  import { registerTick } from "./commands/tick.js";
41
41
  import { registerPlan } from "./commands/plan.js";
42
+ import { registerPlanLint } from "./commands/plan-lint.js";
43
+ import { registerPlanScore } from "./commands/plan-score.js";
42
44
  import { registerPlanGh } from "./commands/plan-gh.js";
43
45
  import { registerMorning } from "./commands/morning.js";
44
46
  import { registerUpgrade } from "./commands/upgrade.js";
45
47
  import { registerJira } from "./commands/jira.js";
46
48
  import { registerFactory } from "./commands/factory.js";
49
+ import { registerFactoryInterventions } from "./commands/factory-interventions.js";
47
50
  import { registerDoc } from "./commands/doc.js";
51
+ import { registerAgent } from "./commands/agent.js";
52
+ import { registerKnowledge } from "./commands/knowledge.js";
53
+ import { registerDo } from "./commands/do.js";
54
+ import { registerCorrelationCommand } from "./commands/cli-mcp-correlation.js";
55
+ import { registerSerialMerge } from "./commands/serial-merge.js";
56
+ import { registerCorrelation } from "./commands/correlation.js";
57
+ import { registerFactoryContextRead } from "./commands/factory-context-read.js";
58
+ import { registerIntegrationLedger } from "./commands/integration-ledger.js";
59
+ import { registerSelfHealing } from "./commands/self-healing.js";
60
+ import { registerConnector } from "./commands/connector.js";
61
+ import { registerRepositoryProtection } from "./commands/repository-protection.js";
62
+ import { registerProductValidity } from "./commands/product-validity.js";
48
63
  const program = new Command();
49
64
  // version always mirrors package.json (works from src via tsx and from dist)
50
65
  const pkg = createRequire(import.meta.url)("../package.json");
@@ -94,12 +109,27 @@ registerAs(program, g);
94
109
  registerCheckin(program, g);
95
110
  registerTick(program, g);
96
111
  const planCmd = registerPlan(program, g);
112
+ registerPlanLint(planCmd);
113
+ registerPlanScore(planCmd);
97
114
  registerPlanGh(planCmd, g);
98
115
  registerMorning(program, g);
99
116
  registerUpgrade(program, g);
100
117
  registerJira(program, g);
101
118
  registerFactory(program, g);
119
+ registerFactoryInterventions(program, g);
102
120
  registerDoc(program, g);
121
+ registerAgent(program, g);
122
+ registerKnowledge(program, g);
123
+ registerDo(program, g);
124
+ registerSerialMerge(program, g);
125
+ registerCorrelation(program, g);
126
+ registerCorrelationCommand(program, g);
127
+ registerFactoryContextRead(program);
128
+ registerIntegrationLedger(program, g);
129
+ registerSelfHealing(program, g);
130
+ registerConnector(program, g);
131
+ registerRepositoryProtection(program, g);
132
+ registerProductValidity(program, g);
103
133
  g(program.command("login"))
104
134
  .option("--anon-key <key>").option("--github", "sign in with GitHub via your browser (Supabase OAuth → github_web_login)").action(loginCmd);
105
135
  g(program.command("doctor")).option("--anon-key <key>").action(doctorCmd);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * json-lite — a minimal recursive-descent JSON scanner used to locate the
3
+ * exact character span of a value at a given key path, so a caller can
4
+ * splice in a replacement WITHOUT reserializing (and therefore reformatting)
5
+ * the rest of the document.
6
+ *
7
+ * Why this exists: `JSON.parse` + mutate + `JSON.stringify(obj, null, 2)`
8
+ * is semantically correct but not byte-stable — it silently renormalizes
9
+ * indentation, line endings, key ordering, and numeric literal formatting
10
+ * for content that has nothing to do with the key being changed. That's an
11
+ * acceptable cost for a one-time, explicitly-confirmed write (the user sees
12
+ * the JSON that's about to be written and approves it), but not for a
13
+ * targeted repair of a config file the user may have hand-tuned — see
14
+ * install.ts's MCP-pointer drift heal, the only caller of this module.
15
+ *
16
+ * findJsonValueSpan() walks the ENTIRE document with a real (if compact)
17
+ * JSON grammar — objects, arrays, strings with escapes, numbers, literals —
18
+ * so a key name that happens to appear inside an unrelated string value can
19
+ * never be mistaken for a real object key. It returns the span of the value
20
+ * found at the given path, or null if the path doesn't resolve to a value.
21
+ *
22
+ * Duplicate-key safety: `JSON.parse` resolves a duplicate object key by
23
+ * taking the LAST occurrence — the earlier one(s) are simply discarded.
24
+ * A naive "return the first match" scanner disagrees with that silently,
25
+ * which would patch the WRONG (stale, discarded) occurrence while
26
+ * `JSON.parse`-based code elsewhere in the caller reasons about the real
27
+ * (last) value — reporting success while the effective pointer is
28
+ * unchanged. findJsonValueSpan() instead FAILS CLOSED (throws) whenever any
29
+ * key along the requested path repeats within the same object, rather than
30
+ * guessing which occurrence is "the real one."
31
+ *
32
+ * Throws on malformed JSON or an ambiguous (duplicate-key) path — callers
33
+ * are expected to have already confirmed the document parses (e.g. via
34
+ * JSON.parse) before calling this, and must treat a throw here as "cannot
35
+ * safely locate this value," not "value not present."
36
+ */
37
+ /** True when every element of `shorter` matches the start of `longer`, in order (equal-length arrays included). */
38
+ function isPrefixOf(shorter, longer) {
39
+ if (shorter.length > longer.length)
40
+ return false;
41
+ return shorter.every((k, i) => k === longer[i]);
42
+ }
43
+ export function findJsonValueSpan(text, path) {
44
+ const n = text.length;
45
+ let i = 0;
46
+ let result = null;
47
+ let ambiguous = false;
48
+ function skipWs() {
49
+ while (i < n && (text[i] === " " || text[i] === "\t" || text[i] === "\n" || text[i] === "\r"))
50
+ i++;
51
+ }
52
+ function fail(message) {
53
+ throw new Error(`json-lite: ${message} at offset ${i}`);
54
+ }
55
+ function parseString() {
56
+ if (text[i] !== '"')
57
+ fail("expected string");
58
+ const start = i;
59
+ i++;
60
+ let closed = false;
61
+ while (i < n) {
62
+ const c = text[i];
63
+ if (c === "\\") {
64
+ i += 2;
65
+ continue;
66
+ }
67
+ if (c === '"') {
68
+ i++;
69
+ closed = true;
70
+ break;
71
+ }
72
+ if (c === "\n")
73
+ fail("unterminated string");
74
+ i++;
75
+ }
76
+ // Reaching EOF without ever hitting the closing quote (e.g. a trailing
77
+ // backslash right at EOF, or content that simply never closes) must
78
+ // throw, not silently return whatever was scanned as if it were a
79
+ // complete string (Luna/PR#110 finding).
80
+ if (!closed)
81
+ fail("unterminated string");
82
+ return text.slice(start, i);
83
+ }
84
+ function parseValue(currentPath) {
85
+ skipWs();
86
+ const c = text[i];
87
+ if (c === "{")
88
+ return parseObject(currentPath);
89
+ if (c === "[")
90
+ return parseArray(currentPath);
91
+ if (c === '"') {
92
+ parseString();
93
+ return;
94
+ }
95
+ if (text.startsWith("true", i)) {
96
+ i += 4;
97
+ return;
98
+ }
99
+ if (text.startsWith("false", i)) {
100
+ i += 5;
101
+ return;
102
+ }
103
+ if (text.startsWith("null", i)) {
104
+ i += 4;
105
+ return;
106
+ }
107
+ const m = /^-?\d+(\.\d+)?([eE][+-]?\d+)?/.exec(text.slice(i));
108
+ if (!m)
109
+ fail("expected a value");
110
+ i += m[0].length;
111
+ }
112
+ /**
113
+ * Array elements extend the CURRENT path with their numeric index
114
+ * (`currentPath.concat(String(index))`) — NOT reset to `[]` (Luna/PR#110
115
+ * finding: resetting the path here means a document like
116
+ * `{"mcpServers":{"codebus":X},"other":[{"mcpServers":{"codebus":Y}}]}`
117
+ * computes the SAME (wrong) path for the array-nested "codebus" as for
118
+ * the real top-level one, since both start fresh from `[]`. That let
119
+ * `findJsonValueSpan` mistake an unrelated array-nested object elsewhere
120
+ * in the document for the real target — or trip the duplicate-key
121
+ * ambiguity guard over two entries that were never actually the same
122
+ * path at all.
123
+ *
124
+ * Our own callers only ever look up plain object-nested paths (e.g.
125
+ * `["mcpServers","codebus"]`), which can never equal a path containing a
126
+ * numeric index segment, so correctly threading the path through arrays
127
+ * makes any object reachable only via an array elsewhere in the document
128
+ * naturally ineligible to match the target path or its duplicate-key
129
+ * tracking — both fixed by the same change, since "is this nextPath a
130
+ * prefix of the target path" already returns false the moment an index
131
+ * segment doesn't match a target segment.
132
+ */
133
+ function parseArray(currentPath) {
134
+ i++; // [
135
+ skipWs();
136
+ if (text[i] === "]") {
137
+ i++;
138
+ return;
139
+ }
140
+ let index = 0;
141
+ while (true) {
142
+ parseValue(currentPath.concat(String(index)));
143
+ index++;
144
+ skipWs();
145
+ if (text[i] === ",") {
146
+ i++;
147
+ skipWs();
148
+ continue;
149
+ }
150
+ if (text[i] === "]") {
151
+ i++;
152
+ break;
153
+ }
154
+ fail("expected ',' or ']' in array");
155
+ }
156
+ }
157
+ function parseObject(currentPath) {
158
+ i++; // {
159
+ skipWs();
160
+ // Scoped to THIS object literal only — a sibling object at a different
161
+ // nesting level (even one reached via the same key name one level up)
162
+ // gets its own fresh set. Only keys that participate in reaching (or
163
+ // exactly satisfy) the requested path are tracked, so an unrelated
164
+ // duplicate key (e.g. two "theme" entries) never trips this.
165
+ const seenKeysAlongPath = new Set();
166
+ if (text[i] === "}") {
167
+ i++;
168
+ return;
169
+ }
170
+ while (true) {
171
+ skipWs();
172
+ const keyRaw = parseString();
173
+ const key = JSON.parse(keyRaw);
174
+ skipWs();
175
+ if (text[i] !== ":")
176
+ fail("expected ':'");
177
+ i++;
178
+ skipWs();
179
+ const valueStart = i;
180
+ const nextPath = currentPath.concat(key);
181
+ parseValue(nextPath);
182
+ const valueEnd = i;
183
+ if (isPrefixOf(nextPath, path)) {
184
+ if (seenKeysAlongPath.has(key))
185
+ ambiguous = true;
186
+ seenKeysAlongPath.add(key);
187
+ }
188
+ if (nextPath.length === path.length && nextPath.every((k, idx) => k === path[idx])) {
189
+ // Keep the LAST match seen (matches JSON.parse's own duplicate-key
190
+ // semantics) — moot once `ambiguous` is set, since the caller fails
191
+ // closed regardless, but correct for the unambiguous case.
192
+ result = { start: valueStart, end: valueEnd };
193
+ }
194
+ skipWs();
195
+ if (text[i] === ",") {
196
+ i++;
197
+ continue;
198
+ }
199
+ if (text[i] === "}") {
200
+ i++;
201
+ break;
202
+ }
203
+ fail("expected ',' or '}'");
204
+ }
205
+ }
206
+ skipWs();
207
+ parseValue([]);
208
+ skipWs();
209
+ // A valid JSON document has nothing left after its one top-level value —
210
+ // "a valid JSON prefix followed by garbage" must throw, not silently
211
+ // return whatever span it found within the valid prefix (Luna/PR#110
212
+ // finding).
213
+ if (i < n)
214
+ fail("unexpected trailing content after top-level JSON value");
215
+ if (ambiguous)
216
+ fail("duplicate key along the requested path — refusing to guess which occurrence is authoritative");
217
+ return result;
218
+ }
219
+ /**
220
+ * Splices `newValueText` in place of the value found at `path`, preserving
221
+ * every other byte of `text`. Also re-indents continuation lines of a
222
+ * multi-line `newValueText` to match the indentation of the line the
223
+ * original value started on, so a pretty-printed document doesn't grow an
224
+ * oddly-indented island. Returns null (no change made) if `path` isn't
225
+ * found, the document doesn't parse as JSON at all, or the path is
226
+ * ambiguous due to a duplicate key (see findJsonValueSpan) — callers must
227
+ * treat null the same way regardless of which of those it was: don't patch,
228
+ * fall back to whatever the caller's next-safest behavior is.
229
+ */
230
+ export function replaceJsonValue(text, path, newValueText) {
231
+ let span;
232
+ try {
233
+ span = findJsonValueSpan(text, path);
234
+ }
235
+ catch {
236
+ return null;
237
+ }
238
+ if (span === null)
239
+ return null;
240
+ const lineStart = text.lastIndexOf("\n", span.start - 1) + 1;
241
+ const indent = /^[ \t]*/.exec(text.slice(lineStart, span.start))?.[0] ?? "";
242
+ const indented = newValueText
243
+ .split("\n")
244
+ .map((line, idx) => (idx === 0 ? line : indent + line))
245
+ .join("\n");
246
+ return text.slice(0, span.start) + indented + text.slice(span.end);
247
+ }
248
+ //# sourceMappingURL=json-lite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-lite.js","sourceRoot":"","sources":["../src/json-lite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { createHash } from "node:crypto";
2
+ import { readFileSync } from "node:fs";
3
+ import { execFileSync } from "node:child_process";
4
+ function compareVersions(left, right) {
5
+ const a = left.split(".").map(Number);
6
+ const b = right.split(".").map(Number);
7
+ for (let i = 0; i < 3; i++)
8
+ if (a[i] !== b[i])
9
+ return a[i] - b[i];
10
+ return 0;
11
+ }
12
+ function compatibleVersion(version, compatibility) {
13
+ if (!version || !compatibility)
14
+ return true;
15
+ if (typeof compatibility.exact === "string" && version !== compatibility.exact)
16
+ return false;
17
+ if (typeof compatibility.min === "string" && compareVersions(version, compatibility.min) < 0)
18
+ return false;
19
+ if (typeof compatibility.max === "string" && compareVersions(version, compatibility.max) > 0)
20
+ return false;
21
+ return true;
22
+ }
23
+ /** Production lifecycle + repository evaluator. The offline fixture exercises this same rule set. */
24
+ export function checkKnowledgeDrift(input) {
25
+ if (input.state !== "ratified")
26
+ return "non-ratified";
27
+ if (!input.lifecycleDigest || input.lifecycleDigest !== input.expectedDigest || input.repositoryDigest !== input.expectedDigest || (input.pinnedCommit && input.currentHead && input.pinnedCommit !== input.currentHead))
28
+ return "stale";
29
+ if (input.compatible === false || !compatibleVersion(input.version, input.compatibility))
30
+ return "incompatible";
31
+ if (input.previousVersion && input.version && compareVersions(input.version, input.previousVersion) < 0)
32
+ return "downgrade";
33
+ return "pass";
34
+ }
35
+ export function repositoryDigest(repoRoot, relativePath) {
36
+ const head = execFileSync("git", ["-C", repoRoot, "rev-parse", "HEAD"], { encoding: "utf8" }).trim();
37
+ const body = readFileSync(`${repoRoot}/${relativePath}`);
38
+ return { digest: createHash("sha256").update(body).digest("hex"), head };
39
+ }
40
+ //# sourceMappingURL=knowledge-drift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-drift.js","sourceRoot":"","sources":["../src/knowledge-drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBlD,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA2B,EAAE,aAAkD;IACxG,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7F,IAAI,OAAO,aAAa,CAAC,GAAG,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3G,IAAI,OAAO,aAAa,CAAC,GAAG,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3G,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,KAAiB;IACnD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,OAAO,CAAC;IACzO,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,cAAc,CAAC;IAChH,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAC5H,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,YAAoB;IACrE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrG,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;AAC3E,CAAC"}