@interf/compiler 0.1.12 → 0.2.1

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 (282) hide show
  1. package/README.md +197 -192
  2. package/dist/commands/benchmark.d.ts.map +1 -1
  3. package/dist/commands/benchmark.js +65 -84
  4. package/dist/commands/benchmark.js.map +1 -1
  5. package/dist/commands/compile.d.ts.map +1 -1
  6. package/dist/commands/compile.js +19 -3
  7. package/dist/commands/compile.js.map +1 -1
  8. package/dist/commands/create.d.ts +3 -0
  9. package/dist/commands/create.d.ts.map +1 -1
  10. package/dist/commands/create.js +39 -14
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/default.d.ts.map +1 -1
  13. package/dist/commands/default.js +2 -0
  14. package/dist/commands/default.js.map +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +8 -63
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/index.d.ts +11 -29
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +7 -16
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/agent-args.d.ts +4 -0
  23. package/dist/lib/agent-args.d.ts.map +1 -0
  24. package/dist/lib/agent-args.js +42 -0
  25. package/dist/lib/agent-args.js.map +1 -0
  26. package/dist/lib/agent-constants.d.ts +6 -0
  27. package/dist/lib/agent-constants.d.ts.map +1 -0
  28. package/dist/lib/agent-constants.js +29 -0
  29. package/dist/lib/agent-constants.js.map +1 -0
  30. package/dist/lib/agent-detection.d.ts +8 -0
  31. package/dist/lib/agent-detection.d.ts.map +1 -0
  32. package/dist/lib/agent-detection.js +66 -0
  33. package/dist/lib/agent-detection.js.map +1 -0
  34. package/dist/lib/agent-execution.d.ts +3 -0
  35. package/dist/lib/agent-execution.d.ts.map +1 -0
  36. package/dist/lib/agent-execution.js +207 -0
  37. package/dist/lib/agent-execution.js.map +1 -0
  38. package/dist/lib/agent-logs.d.ts +3 -0
  39. package/dist/lib/agent-logs.d.ts.map +1 -0
  40. package/dist/lib/agent-logs.js +18 -0
  41. package/dist/lib/agent-logs.js.map +1 -0
  42. package/dist/lib/agent-preflight.d.ts +8 -0
  43. package/dist/lib/agent-preflight.d.ts.map +1 -0
  44. package/dist/lib/agent-preflight.js +77 -0
  45. package/dist/lib/agent-preflight.js.map +1 -0
  46. package/dist/lib/agent-render.d.ts +9 -0
  47. package/dist/lib/agent-render.d.ts.map +1 -0
  48. package/dist/lib/agent-render.js +219 -0
  49. package/dist/lib/agent-render.js.map +1 -0
  50. package/dist/lib/agent-status.d.ts +4 -0
  51. package/dist/lib/agent-status.d.ts.map +1 -0
  52. package/dist/lib/agent-status.js +59 -0
  53. package/dist/lib/agent-status.js.map +1 -0
  54. package/dist/lib/agent-types.d.ts +31 -0
  55. package/dist/lib/agent-types.d.ts.map +1 -0
  56. package/dist/lib/agent-types.js +2 -0
  57. package/dist/lib/agent-types.js.map +1 -0
  58. package/dist/lib/agents.d.ts +7 -49
  59. package/dist/lib/agents.d.ts.map +1 -1
  60. package/dist/lib/agents.js +8 -554
  61. package/dist/lib/agents.js.map +1 -1
  62. package/dist/lib/benchmark-execution.d.ts +9 -0
  63. package/dist/lib/benchmark-execution.d.ts.map +1 -0
  64. package/dist/lib/benchmark-execution.js +488 -0
  65. package/dist/lib/benchmark-execution.js.map +1 -0
  66. package/dist/lib/benchmark-paths.d.ts +11 -0
  67. package/dist/lib/benchmark-paths.d.ts.map +1 -0
  68. package/dist/lib/benchmark-paths.js +38 -0
  69. package/dist/lib/benchmark-paths.js.map +1 -0
  70. package/dist/lib/benchmark-specs.d.ts +8 -0
  71. package/dist/lib/benchmark-specs.d.ts.map +1 -0
  72. package/dist/lib/benchmark-specs.js +115 -0
  73. package/dist/lib/benchmark-specs.js.map +1 -0
  74. package/dist/lib/benchmark-targets.d.ts +5 -0
  75. package/dist/lib/benchmark-targets.d.ts.map +1 -0
  76. package/dist/lib/benchmark-targets.js +72 -0
  77. package/dist/lib/benchmark-targets.js.map +1 -0
  78. package/dist/lib/benchmark-types.d.ts +19 -0
  79. package/dist/lib/benchmark-types.d.ts.map +1 -0
  80. package/dist/lib/benchmark-types.js +2 -0
  81. package/dist/lib/benchmark-types.js.map +1 -0
  82. package/dist/lib/benchmark.d.ts +4 -29
  83. package/dist/lib/benchmark.d.ts.map +1 -1
  84. package/dist/lib/benchmark.js +3 -324
  85. package/dist/lib/benchmark.js.map +1 -1
  86. package/dist/lib/bundled-templates.d.ts +5 -0
  87. package/dist/lib/bundled-templates.d.ts.map +1 -0
  88. package/dist/lib/bundled-templates.js +23 -0
  89. package/dist/lib/bundled-templates.js.map +1 -0
  90. package/dist/lib/config.d.ts +1 -0
  91. package/dist/lib/config.d.ts.map +1 -1
  92. package/dist/lib/config.js +2 -0
  93. package/dist/lib/config.js.map +1 -1
  94. package/dist/lib/eval-packs.d.ts +204 -0
  95. package/dist/lib/eval-packs.d.ts.map +1 -0
  96. package/dist/lib/eval-packs.js +177 -0
  97. package/dist/lib/eval-packs.js.map +1 -0
  98. package/dist/lib/execution-profile.d.ts +18 -0
  99. package/dist/lib/execution-profile.d.ts.map +1 -0
  100. package/dist/lib/execution-profile.js +85 -0
  101. package/dist/lib/execution-profile.js.map +1 -0
  102. package/dist/lib/interf-bootstrap.d.ts +4 -0
  103. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  104. package/dist/lib/interf-bootstrap.js +71 -68
  105. package/dist/lib/interf-bootstrap.js.map +1 -1
  106. package/dist/lib/interf-compile-plan.d.ts +12 -0
  107. package/dist/lib/interf-compile-plan.d.ts.map +1 -0
  108. package/dist/lib/interf-compile-plan.js +143 -0
  109. package/dist/lib/interf-compile-plan.js.map +1 -0
  110. package/dist/lib/interf-detect.d.ts.map +1 -1
  111. package/dist/lib/interf-detect.js +11 -10
  112. package/dist/lib/interf-detect.js.map +1 -1
  113. package/dist/lib/interf-scaffold.d.ts +1 -10
  114. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  115. package/dist/lib/interf-scaffold.js +25 -362
  116. package/dist/lib/interf-scaffold.js.map +1 -1
  117. package/dist/lib/interf-workflow-package.d.ts +4 -0
  118. package/dist/lib/interf-workflow-package.d.ts.map +1 -0
  119. package/dist/lib/interf-workflow-package.js +131 -0
  120. package/dist/lib/interf-workflow-package.js.map +1 -0
  121. package/dist/lib/interf.d.ts +2 -1
  122. package/dist/lib/interf.d.ts.map +1 -1
  123. package/dist/lib/interf.js +2 -1
  124. package/dist/lib/interf.js.map +1 -1
  125. package/dist/lib/local-workflows.d.ts.map +1 -1
  126. package/dist/lib/local-workflows.js +8 -12
  127. package/dist/lib/local-workflows.js.map +1 -1
  128. package/dist/lib/logger.d.ts +4 -0
  129. package/dist/lib/logger.d.ts.map +1 -0
  130. package/dist/lib/logger.js +11 -0
  131. package/dist/lib/logger.js.map +1 -0
  132. package/dist/lib/obsidian.d.ts.map +1 -1
  133. package/dist/lib/obsidian.js +7 -3
  134. package/dist/lib/obsidian.js.map +1 -1
  135. package/dist/lib/parse.d.ts +2 -2
  136. package/dist/lib/parse.d.ts.map +1 -1
  137. package/dist/lib/parse.js +11 -7
  138. package/dist/lib/parse.js.map +1 -1
  139. package/dist/lib/registry.js +3 -3
  140. package/dist/lib/registry.js.map +1 -1
  141. package/dist/lib/runtime-acceptance.d.ts +4 -0
  142. package/dist/lib/runtime-acceptance.d.ts.map +1 -0
  143. package/dist/lib/runtime-acceptance.js +123 -0
  144. package/dist/lib/runtime-acceptance.js.map +1 -0
  145. package/dist/lib/runtime-contracts.d.ts +4 -0
  146. package/dist/lib/runtime-contracts.d.ts.map +1 -0
  147. package/dist/lib/runtime-contracts.js +63 -0
  148. package/dist/lib/runtime-contracts.js.map +1 -0
  149. package/dist/lib/runtime-paths.d.ts +8 -0
  150. package/dist/lib/runtime-paths.d.ts.map +1 -0
  151. package/dist/lib/runtime-paths.js +28 -0
  152. package/dist/lib/runtime-paths.js.map +1 -0
  153. package/dist/lib/runtime-prompt.d.ts +3 -0
  154. package/dist/lib/runtime-prompt.d.ts.map +1 -0
  155. package/dist/lib/runtime-prompt.js +59 -0
  156. package/dist/lib/runtime-prompt.js.map +1 -0
  157. package/dist/lib/runtime-reconcile.d.ts +6 -0
  158. package/dist/lib/runtime-reconcile.d.ts.map +1 -0
  159. package/dist/lib/runtime-reconcile.js +339 -0
  160. package/dist/lib/runtime-reconcile.js.map +1 -0
  161. package/dist/lib/runtime-runs.d.ts +12 -0
  162. package/dist/lib/runtime-runs.d.ts.map +1 -0
  163. package/dist/lib/runtime-runs.js +337 -0
  164. package/dist/lib/runtime-runs.js.map +1 -0
  165. package/dist/lib/runtime-types.d.ts +42 -0
  166. package/dist/lib/runtime-types.d.ts.map +1 -0
  167. package/dist/lib/runtime-types.js +2 -0
  168. package/dist/lib/runtime-types.js.map +1 -0
  169. package/dist/lib/runtime.d.ts +6 -58
  170. package/dist/lib/runtime.d.ts.map +1 -1
  171. package/dist/lib/runtime.js +5 -614
  172. package/dist/lib/runtime.js.map +1 -1
  173. package/dist/lib/schema.d.ts +156 -13
  174. package/dist/lib/schema.d.ts.map +1 -1
  175. package/dist/lib/schema.js +113 -4
  176. package/dist/lib/schema.js.map +1 -1
  177. package/dist/lib/source-config.d.ts +13 -0
  178. package/dist/lib/source-config.d.ts.map +1 -0
  179. package/dist/lib/source-config.js +75 -0
  180. package/dist/lib/source-config.js.map +1 -0
  181. package/dist/lib/state-artifacts.d.ts +15 -0
  182. package/dist/lib/state-artifacts.d.ts.map +1 -0
  183. package/dist/lib/state-artifacts.js +24 -0
  184. package/dist/lib/state-artifacts.js.map +1 -0
  185. package/dist/lib/state-health.d.ts +9 -0
  186. package/dist/lib/state-health.d.ts.map +1 -0
  187. package/dist/lib/state-health.js +330 -0
  188. package/dist/lib/state-health.js.map +1 -0
  189. package/dist/lib/state-io.d.ts +15 -0
  190. package/dist/lib/state-io.d.ts.map +1 -0
  191. package/dist/lib/state-io.js +219 -0
  192. package/dist/lib/state-io.js.map +1 -0
  193. package/dist/lib/state-paths.d.ts +5 -0
  194. package/dist/lib/state-paths.d.ts.map +1 -0
  195. package/dist/lib/state-paths.js +19 -0
  196. package/dist/lib/state-paths.js.map +1 -0
  197. package/dist/lib/state-view.d.ts +7 -0
  198. package/dist/lib/state-view.d.ts.map +1 -0
  199. package/dist/lib/state-view.js +147 -0
  200. package/dist/lib/state-view.js.map +1 -0
  201. package/dist/lib/state.d.ts +6 -46
  202. package/dist/lib/state.d.ts.map +1 -1
  203. package/dist/lib/state.js +5 -632
  204. package/dist/lib/state.js.map +1 -1
  205. package/dist/lib/summarize-plan.d.ts +1 -0
  206. package/dist/lib/summarize-plan.d.ts.map +1 -1
  207. package/dist/lib/summarize-plan.js +10 -0
  208. package/dist/lib/summarize-plan.js.map +1 -1
  209. package/dist/lib/user-config.js +2 -2
  210. package/dist/lib/user-config.js.map +1 -1
  211. package/dist/lib/validate-helpers.d.ts +21 -0
  212. package/dist/lib/validate-helpers.d.ts.map +1 -0
  213. package/dist/lib/validate-helpers.js +72 -0
  214. package/dist/lib/validate-helpers.js.map +1 -0
  215. package/dist/lib/validate-interface.d.ts +2 -0
  216. package/dist/lib/validate-interface.d.ts.map +1 -1
  217. package/dist/lib/validate-interface.js +103 -53
  218. package/dist/lib/validate-interface.js.map +1 -1
  219. package/dist/lib/validate-kb.d.ts +8 -0
  220. package/dist/lib/validate-kb.d.ts.map +1 -1
  221. package/dist/lib/validate-kb.js +53 -24
  222. package/dist/lib/validate-kb.js.map +1 -1
  223. package/dist/lib/validate.d.ts +1 -1
  224. package/dist/lib/validate.d.ts.map +1 -1
  225. package/dist/lib/validate.js +5 -2
  226. package/dist/lib/validate.js.map +1 -1
  227. package/dist/lib/workflow-definitions.d.ts +1 -1
  228. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  229. package/dist/lib/workflow-definitions.js +90 -166
  230. package/dist/lib/workflow-definitions.js.map +1 -1
  231. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  232. package/dist/lib/workflow-helpers.js +6 -3
  233. package/dist/lib/workflow-helpers.js.map +1 -1
  234. package/dist/lib/workflow-stage-runner.d.ts +41 -0
  235. package/dist/lib/workflow-stage-runner.d.ts.map +1 -0
  236. package/dist/lib/workflow-stage-runner.js +106 -0
  237. package/dist/lib/workflow-stage-runner.js.map +1 -0
  238. package/dist/lib/workflow-starter-docs.d.ts +9 -0
  239. package/dist/lib/workflow-starter-docs.d.ts.map +1 -0
  240. package/dist/lib/workflow-starter-docs.js +18 -0
  241. package/dist/lib/workflow-starter-docs.js.map +1 -0
  242. package/dist/lib/workflows-interface-contracts.d.ts +24 -0
  243. package/dist/lib/workflows-interface-contracts.d.ts.map +1 -0
  244. package/dist/lib/workflows-interface-contracts.js +304 -0
  245. package/dist/lib/workflows-interface-contracts.js.map +1 -0
  246. package/dist/lib/workflows-interface.d.ts +3 -10
  247. package/dist/lib/workflows-interface.d.ts.map +1 -1
  248. package/dist/lib/workflows-interface.js +117 -365
  249. package/dist/lib/workflows-interface.js.map +1 -1
  250. package/dist/lib/workflows-kb.d.ts.map +1 -1
  251. package/dist/lib/workflows-kb.js +79 -55
  252. package/dist/lib/workflows-kb.js.map +1 -1
  253. package/dist/lib/workflows.d.ts.map +1 -1
  254. package/dist/lib/workflows.js +1 -1
  255. package/dist/lib/workflows.js.map +1 -1
  256. package/package.json +15 -4
  257. package/skills/interface/analyze/SKILL.md +79 -28
  258. package/skills/interface/compile/SKILL.md +27 -28
  259. package/skills/interface/create/SKILL.md +53 -230
  260. package/skills/interface/create/references/compile-plan-format.md +31 -31
  261. package/skills/interface/create/references/workflows.md +17 -32
  262. package/skills/interface/query/SKILL.md +15 -1
  263. package/skills/interface/retrieve/SKILL.md +32 -65
  264. package/skills/knowledge-base/compile/SKILL.md +59 -83
  265. package/skills/knowledge-base/compile/references/stage-claims.md +1 -1
  266. package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
  267. package/skills/knowledge-base/query/SKILL.md +13 -1
  268. package/skills/knowledge-base/summarize/SKILL.md +54 -24
  269. package/templates/interface/README.md +13 -12
  270. package/templates/interface/interfaces.md +14 -11
  271. package/templates/knowledge-base/README.md +0 -1
  272. package/templates/knowledge-base/registry.md +15 -15
  273. package/templates/workflow-package/README.md +16 -0
  274. package/templates/workflow-package/create/SKILL.md +8 -0
  275. package/templates/workflow-package/interface-query/SKILL.md +29 -0
  276. package/templates/workflow-package/interface-stage/SKILL.md +13 -0
  277. package/templates/workflow-package/knowledge-base-query/SKILL.md +36 -0
  278. package/templates/workflow-package/knowledge-base-stage/SKILL.md +13 -0
  279. package/templates/workflow-starters/interface/interf/README.md +13 -0
  280. package/templates/workflow-starters/interface/interf/create/SKILL.md +15 -0
  281. package/templates/workflow-starters/knowledge-base/interf/README.md +13 -0
  282. package/templates/workflow-starters/knowledge-base/karpathy/README.md +13 -0
@@ -1,615 +1,6 @@
1
- import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
2
- import { join, relative } from "node:path";
3
- import chalk from "chalk";
4
- import { countFilesRecursive } from "./filesystem.js";
5
- import { SKILLS_DIR } from "./config.js";
6
- import { buildRuntimeExecutorInfo, } from "./executors.js";
7
- import { RuntimeRunSchema, } from "./schema.js";
8
- import { getWorkflowStageDefinition, getWorkflowStages, getWorkflowStagePosition, } from "./workflow-definitions.js";
9
- import { STATE_DIR } from "./util.js";
10
- const RUN_FILE = "run.json";
11
- const RUN_HISTORY_FILE = "run-history.jsonl";
12
- const STAGE_CONTRACT_FILE = "stage-contract.json";
13
- const LOGS_DIR = "logs";
14
- export function runPath(dirPath) {
15
- return join(dirPath, STATE_DIR, RUN_FILE);
16
- }
17
- export function runHistoryPath(dirPath) {
18
- return join(dirPath, STATE_DIR, RUN_HISTORY_FILE);
19
- }
20
- export function stageContractPath(dirPath) {
21
- return join(dirPath, STATE_DIR, STAGE_CONTRACT_FILE);
22
- }
23
- export function logsDirPath(dirPath) {
24
- return join(dirPath, STATE_DIR, LOGS_DIR);
25
- }
26
- export function promptLogPath(dirPath, runId) {
27
- return join(logsDirPath(dirPath), `${runId}.prompt.txt`);
28
- }
29
- export function eventLogPath(dirPath, runId) {
30
- return join(logsDirPath(dirPath), `${runId}.events.ndjson`);
31
- }
32
- export function statusLogPath(dirPath, runId) {
33
- return join(logsDirPath(dirPath), `${runId}.status.log`);
34
- }
35
- export function loadRuntimeRun(dirPath) {
36
- const path = runPath(dirPath);
37
- if (!existsSync(path))
38
- return null;
39
- try {
40
- const raw = JSON.parse(readFileSync(path, "utf8"));
41
- const parsed = RuntimeRunSchema.safeParse(raw);
42
- if (parsed.success) {
43
- return parsed.data;
44
- }
45
- return normalizeRuntimeRunRecord(raw);
46
- }
47
- catch {
48
- return null;
49
- }
50
- }
51
- export function saveRuntimeRun(dirPath, run) {
52
- mkdirSync(join(dirPath, STATE_DIR), { recursive: true });
53
- writeFileSync(runPath(dirPath), JSON.stringify(run, null, 2) + "\n");
54
- }
55
- export function writeStageContract(dirPath, contract) {
56
- mkdirSync(join(dirPath, STATE_DIR), { recursive: true });
57
- const path = stageContractPath(dirPath);
58
- writeFileSync(path, JSON.stringify(contract, null, 2) + "\n");
59
- return path;
60
- }
61
- function readWorkspaceJsonFile(dirPath, relativePath) {
62
- const targetPath = join(dirPath, relativePath);
63
- if (!existsSync(targetPath))
64
- return null;
65
- try {
66
- const parsed = JSON.parse(readFileSync(targetPath, "utf8"));
67
- return parsed && typeof parsed === "object" && !Array.isArray(parsed)
68
- ? parsed
69
- : null;
70
- }
71
- catch {
72
- return null;
73
- }
74
- }
75
- function readPathValue(record, keyPath) {
76
- if (!record)
77
- return undefined;
78
- return keyPath
79
- .split(".")
80
- .filter((segment) => segment.length > 0)
81
- .reduce((current, segment) => {
82
- if (!current || typeof current !== "object" || Array.isArray(current))
83
- return undefined;
84
- return current[segment];
85
- }, record);
86
- }
87
- function toFiniteNumber(value) {
88
- if (typeof value !== "number" || !Number.isFinite(value))
89
- return null;
90
- return value;
91
- }
92
- function hasAcceptanceRules(acceptance) {
93
- if (!acceptance)
94
- return false;
95
- return (acceptance.artifacts_exist?.length ?? 0) > 0 ||
96
- (acceptance.state_truthy?.length ?? 0) > 0 ||
97
- Object.keys(acceptance.state_equals_counts ?? {}).length > 0 ||
98
- Object.keys(acceptance.state_at_least ?? {}).length > 0 ||
99
- Object.keys(acceptance.state_at_least_counts ?? {}).length > 0;
100
- }
101
- export function validateStageContractAcceptance(dirPath, contract = null) {
102
- const resolvedContract = contract ?? (() => {
103
- const path = stageContractPath(dirPath);
104
- if (!existsSync(path))
105
- return null;
106
- try {
107
- return JSON.parse(readFileSync(path, "utf8"));
108
- }
109
- catch {
110
- return null;
111
- }
112
- })();
113
- if (!resolvedContract) {
114
- return {
115
- ok: true,
116
- summary: "No active stage contract found for acceptance validation.",
117
- failures: [],
118
- };
119
- }
120
- const acceptance = resolvedContract.acceptance;
121
- if (!hasAcceptanceRules(acceptance)) {
122
- return {
123
- ok: true,
124
- summary: "No additional stage acceptance criteria were declared.",
125
- failures: [],
126
- };
127
- }
128
- const failures = [];
129
- const state = readWorkspaceJsonFile(dirPath, ".interf/state.json");
130
- for (const relativePath of acceptance?.artifacts_exist ?? []) {
131
- if (!existsSync(join(dirPath, relativePath))) {
132
- failures.push(`Missing required artifact: ${relativePath}.`);
133
- }
134
- }
135
- for (const keyPath of acceptance?.state_truthy ?? []) {
136
- if (!readPathValue(state, keyPath)) {
137
- failures.push(`Expected truthy state value at "${keyPath}".`);
138
- }
139
- }
140
- for (const [keyPath, countKey] of Object.entries(acceptance?.state_equals_counts ?? {})) {
141
- const actual = readPathValue(state, keyPath);
142
- const expected = resolvedContract.counts[countKey];
143
- if (typeof expected !== "number") {
144
- failures.push(`Acceptance references missing contract count "${countKey}" for "${keyPath}".`);
145
- continue;
146
- }
147
- if (actual !== expected) {
148
- failures.push(`Expected state "${keyPath}" to equal count "${countKey}" (${expected}), got ${JSON.stringify(actual)}.`);
149
- }
150
- }
151
- for (const [keyPath, minimum] of Object.entries(acceptance?.state_at_least ?? {})) {
152
- const actual = toFiniteNumber(readPathValue(state, keyPath));
153
- if (actual === null || actual < minimum) {
154
- failures.push(`Expected state "${keyPath}" to be at least ${minimum}, got ${actual === null ? "non-numeric" : actual}.`);
155
- }
156
- }
157
- for (const [keyPath, countKey] of Object.entries(acceptance?.state_at_least_counts ?? {})) {
158
- const actual = toFiniteNumber(readPathValue(state, keyPath));
159
- const expected = resolvedContract.counts[countKey];
160
- if (typeof expected !== "number") {
161
- failures.push(`Acceptance references missing contract count "${countKey}" for "${keyPath}".`);
162
- continue;
163
- }
164
- if (actual === null || actual < expected) {
165
- failures.push(`Expected state "${keyPath}" to be at least count "${countKey}" (${expected}), got ${actual === null ? "non-numeric" : actual}.`);
166
- }
167
- }
168
- if (failures.length === 0) {
169
- return {
170
- ok: true,
171
- summary: `Stage acceptance satisfied for ${resolvedContract.stage}.`,
172
- failures: [],
173
- };
174
- }
175
- return {
176
- ok: false,
177
- summary: `Stage acceptance failed for ${resolvedContract.stage}: ${failures.join(" ")}`,
178
- failures,
179
- };
180
- }
181
- export function buildStagePrompt(instructions, contractPath, statusLines) {
182
- const bundledSkillPath = join(SKILLS_DIR, ...instructions.bundled_skill.split("/"), "SKILL.md");
183
- const bundledSkillDoc = existsSync(bundledSkillPath)
184
- ? readFileSync(bundledSkillPath, "utf8").trim()
185
- : null;
186
- const modeNotes = instructions.effective_mode === "override"
187
- ? [
188
- "Local stage instruction docs are authoritative for this run.",
189
- "Do not fall back to bundled workflow heuristics unless the stage contract explicitly leaves room for them.",
190
- "Interf still enforces the same required reads, writes, verifier outputs, and state transitions at runtime.",
191
- ]
192
- : instructions.effective_mode === "extend"
193
- ? [
194
- "Use the bundled stage instructions as the default workflow for this run.",
195
- "Then apply any local stage instruction docs referenced by the contract as stage-specific extensions.",
196
- ]
197
- : [
198
- "Use the bundled stage instructions as the default workflow for this run.",
199
- ];
200
- return [
201
- `Interf built-in stage: ${instructions.bundled_skill}`,
202
- "",
203
- "This is an automated Interf stage run, not an open-ended chat session.",
204
- "The user has already invoked this stage through the Interf CLI. Execute it now.",
205
- "Do not ask what the user wants, offer help, list tools, or wait for another instruction.",
206
- `Read \`${contractPath}\` first. It is the authoritative contract for this stage.`,
207
- "Honor the contract's counts, artifact paths, and policies instead of recomputing an alternate workflow.",
208
- "If the contract points to local instruction docs or source-access checks, read and honor them before improvising.",
209
- "If `AGENTS.md` is listed in the contract, read it early. It is the workspace navigation and command surface for this run.",
210
- "`.interf/run.json` and `.interf/view-spec.json` are CLI-owned runtime artifacts. You may read them, but do not create, edit, or replace them.",
211
- "Stay inside the current workspace. Do not try to open SDK repo docs, SDK source files, or other paths outside the workspace unless the stage contract explicitly requires them.",
212
- instructions.effective_mode === "override"
213
- ? "Do not depend on globally installed slash-command skills for this run. Local stage instruction docs are the primary workflow layer for this run."
214
- : "Do not depend on globally installed slash-command skills for this run. Use the bundled stage instructions below as the default behavior.",
215
- ...modeNotes,
216
- "Do not narrate intentions, plans, or reasoning to the user.",
217
- "Only emit user-visible updates that begin with STATUS:, DONE:, BLOCKED:, or ERROR:.",
218
- "If you respond conversationally instead of executing the stage, the run will be treated as failed.",
219
- "As soon as the required artifacts, state updates, and status line are complete, stop. Do not keep browsing or auditing after the contract is satisfied.",
220
- ...statusLines,
221
- ...(bundledSkillDoc && instructions.effective_mode !== "override"
222
- ? [
223
- "",
224
- "Bundled Stage Instructions",
225
- "==========================",
226
- bundledSkillDoc,
227
- ]
228
- : []),
229
- ].join("\n");
230
- }
231
- export function buildKnowledgeBaseSummarizeContract(options) {
232
- const localSkillDocs = options.localSkillDocs ?? [];
233
- const workflowNotes = options.workflowNotes ?? [];
234
- return {
235
- instructions: options.instructions,
236
- counts: {
237
- target_files: options.targetCount,
238
- local_skill_docs: localSkillDocs.length,
239
- },
240
- ...(options.acceptance ? { acceptance: options.acceptance } : {}),
241
- artifacts: {
242
- reads: [
243
- "AGENTS.md",
244
- "interf.json",
245
- ".interf/state.json",
246
- options.planPath,
247
- ".interf/source-access.json",
248
- ...localSkillDocs,
249
- ],
250
- writes: [
251
- "summaries/",
252
- ".interf/inventory.json",
253
- ".interf/state.json",
254
- ".interf/health.json",
255
- ],
256
- verifies: [
257
- "interf verify summarize --json",
258
- ],
259
- },
260
- policies: {
261
- execution_mode: "deterministic",
262
- status_prefixes: ["STATUS:", "DONE:", "BLOCKED:", "ERROR:"],
263
- notes: [
264
- "Read `AGENTS.md` first for workspace navigation, raw-access expectations, and command usage.",
265
- `Process only the files listed in ${options.planPath}.`,
266
- `Source files live at ${options.sourcePath}.`,
267
- "This is a knowledge-base file-evidence stage only. Do not do broad cross-file semantic weaving or ontology design here.",
268
- "Write every summary as markdown under `summaries/` with a `.md` filename, even when the source file has another extension.",
269
- "Use JSON frontmatter wrapped in `---` markers. Do not use YAML `key: value` frontmatter.",
270
- "Use cautious, source-grounded titles. Summary filenames should describe what the file is or records without overstating uncertain conclusions.",
271
- "If links are added, keep them minimal and source-grounded.",
272
- "If you need to verify raw access, inspect `.interf/source-access.json` and try one path from `suggested_checks` before assuming the source root is reachable. These checks are canonical absolute source-file paths.",
273
- ...workflowNotes,
274
- ...(localSkillDocs.length > 0
275
- ? [
276
- "Read any local instruction docs listed in the contract before processing source files.",
277
- options.instructions.effective_mode === "override"
278
- ? "Local docs replace the bundled file-evidence workflow for this run, but they still do not bypass per-file evidence capture, evidence weighting, required writes, or deterministic state transitions."
279
- : "Local docs can refine summary structure and file-evidence heuristics, but they do not bypass per-file evidence capture, evidence weighting, required writes, or deterministic state transitions.",
280
- ]
281
- : []),
282
- ],
283
- evidence_weighting: {
284
- required_fields: ["source_kind", "evidence_tier", "truth_mode", "state"],
285
- preserve_tiers: true,
286
- },
287
- },
288
- };
289
- }
290
- export async function runExecutorStage(options) {
291
- const run = startRuntimeRun(options);
292
- const prompt = options.buildPrompt(run.contract_path);
293
- writeRuntimeRunPrompt(options.knowledgeBasePath, run.run_id, prompt);
294
- const code = await options.executor.execute(options.knowledgeBasePath, prompt, {
295
- eventLogPath: eventLogPath(options.knowledgeBasePath, run.run_id),
296
- statusLogPath: statusLogPath(options.knowledgeBasePath, run.run_id),
297
- completionCheck: options.completionCheck,
298
- });
299
- finalizeRuntimeRun(options.knowledgeBasePath, code);
300
- return code;
301
- }
302
- export async function runExecutorSummarizeStage(options) {
303
- const run = startRuntimeRun(options);
304
- const prompt = options.buildPrompt(run.contract_path);
305
- let lastReported = 0;
306
- writeRuntimeRunPrompt(options.knowledgeBasePath, run.run_id, prompt);
307
- const progressPromise = options.executor.execute(options.knowledgeBasePath, prompt, {
308
- eventLogPath: eventLogPath(options.knowledgeBasePath, run.run_id),
309
- statusLogPath: statusLogPath(options.knowledgeBasePath, run.run_id),
310
- completionCheck: options.completionCheck,
311
- });
312
- const timer = setInterval(() => {
313
- const currentSummaryCount = countFilesRecursive(join(options.knowledgeBasePath, "summaries"));
314
- const completed = Math.max(0, Math.min(options.targetCount, currentSummaryCount - options.startingSummaryCount));
315
- if (completed <= lastReported)
316
- return;
317
- lastReported = completed;
318
- updateRuntimeRun(options.knowledgeBasePath, {
319
- counts: {
320
- ...run.counts,
321
- completed_summaries: completed,
322
- target_summaries: options.targetCount,
323
- },
324
- summary: `${options.stageLabel} ${completed}/${options.targetCount} source files into summaries.`,
325
- });
326
- console.log(chalk.dim(` STATUS: wrote ${completed}/${options.targetCount} summaries`));
327
- }, 10000);
328
- try {
329
- const code = await progressPromise;
330
- finalizeRuntimeRun(options.knowledgeBasePath, code);
331
- return code;
332
- }
333
- finally {
334
- clearInterval(timer);
335
- }
336
- }
337
- export function beginRuntimeRun(dirPath, run) {
338
- saveRuntimeRun(dirPath, run);
339
- return run;
340
- }
341
- export function updateRuntimeRun(dirPath, patch) {
342
- const current = loadRuntimeRun(dirPath);
343
- if (!current)
344
- return null;
345
- const next = {
346
- ...current,
347
- ...patch,
348
- updated_at: new Date().toISOString(),
349
- };
350
- saveRuntimeRun(dirPath, next);
351
- return next;
352
- }
353
- export function markRuntimeRunFailedAfterValidation(dirPath, summary) {
354
- const current = loadRuntimeRun(dirPath);
355
- if (!current)
356
- return null;
357
- const finishedAt = current.finished_at ?? new Date().toISOString();
358
- const next = {
359
- ...current,
360
- status: "failed",
361
- updated_at: new Date().toISOString(),
362
- finished_at: finishedAt,
363
- exit_code: 1,
364
- error: summary,
365
- summary,
366
- };
367
- saveRuntimeRun(dirPath, next);
368
- replaceOrAppendRunHistoryEntry(dirPath, next);
369
- return next;
370
- }
371
- export function markRuntimeRunSucceededAfterValidation(dirPath, summary) {
372
- const current = loadRuntimeRun(dirPath);
373
- if (!current)
374
- return null;
375
- const finishedAt = current.finished_at ?? new Date().toISOString();
376
- const next = {
377
- ...current,
378
- status: "succeeded",
379
- updated_at: new Date().toISOString(),
380
- finished_at: finishedAt,
381
- exit_code: 0,
382
- error: null,
383
- summary,
384
- };
385
- saveRuntimeRun(dirPath, next);
386
- replaceOrAppendRunHistoryEntry(dirPath, next);
387
- return next;
388
- }
389
- export function runtimeRunStdoutContains(dirPath, needle) {
390
- const current = loadRuntimeRun(dirPath);
391
- const relativeEventPath = current?.logs?.event_stream_path;
392
- if (!relativeEventPath)
393
- return false;
394
- const eventPath = join(dirPath, relativeEventPath);
395
- if (!existsSync(eventPath))
396
- return false;
397
- const raw = readFileSync(eventPath, "utf8");
398
- const lines = raw.split("\n").filter((line) => line.trim().length > 0);
399
- for (const line of lines) {
400
- try {
401
- const event = JSON.parse(line);
402
- if (event.type !== "stdout")
403
- continue;
404
- if (typeof event.line === "string" && event.line.includes(needle)) {
405
- return true;
406
- }
407
- }
408
- catch {
409
- // Ignore malformed log lines and continue scanning the rest of the stream.
410
- }
411
- }
412
- return false;
413
- }
414
- function startRuntimeRun(options) {
415
- const runId = createRunId();
416
- const generatedAt = new Date().toISOString();
417
- const workflowStages = getWorkflowStages(options.targetType, options.workflow, options.workflowSourcePath);
418
- const stagePosition = getWorkflowStagePosition(options.targetType, options.workflow, options.stage, options.workflowSourcePath);
419
- const stageDefinition = getWorkflowStageDefinition(options.targetType, options.workflow, options.stage, options.workflowSourcePath);
420
- const contract = {
421
- kind: "interf-stage-contract",
422
- version: 1,
423
- generated_at: generatedAt,
424
- run_id: runId,
425
- target_type: options.targetType,
426
- target_name: options.knowledgeBaseName,
427
- workflow: {
428
- id: options.workflow,
429
- stage_index: stagePosition?.stageIndex ?? null,
430
- stage_total: stagePosition?.stageTotal ?? workflowStages.length,
431
- stages: stagePosition?.stages ?? workflowStages,
432
- },
433
- stage: options.stage,
434
- stage_label: stageDefinition?.label ?? options.stageLabel,
435
- contract_type: options.contractType,
436
- executor: buildRuntimeExecutorInfo(options.executor),
437
- instructions: options.contract.instructions,
438
- counts: options.contract.counts,
439
- ...(options.contract.acceptance ? { acceptance: options.contract.acceptance } : {}),
440
- artifacts: options.contract.artifacts,
441
- policies: options.contract.policies,
442
- };
443
- const contractPath = writeStageContract(options.knowledgeBasePath, contract);
444
- const run = {
445
- kind: "interf-run",
446
- version: 1,
447
- run_id: runId,
448
- target_type: options.targetType,
449
- target_name: options.knowledgeBaseName,
450
- workflow: options.workflow,
451
- stage: options.stage,
452
- stage_label: stageDefinition?.label ?? options.stageLabel,
453
- contract_type: options.contractType,
454
- status: "running",
455
- executor: buildRuntimeExecutorInfo(options.executor),
456
- started_at: generatedAt,
457
- updated_at: generatedAt,
458
- finished_at: null,
459
- contract_path: relativeContractPath(contractPath, options.knowledgeBasePath),
460
- counts: { ...contract.counts },
461
- output_artifacts: [...contract.artifacts.writes],
462
- logs: {
463
- prompt_path: relative(options.knowledgeBasePath, promptLogPath(options.knowledgeBasePath, runId)),
464
- event_stream_path: relative(options.knowledgeBasePath, eventLogPath(options.knowledgeBasePath, runId)),
465
- status_path: relative(options.knowledgeBasePath, statusLogPath(options.knowledgeBasePath, runId)),
466
- },
467
- summary: options.summary,
468
- exit_code: null,
469
- error: null,
470
- };
471
- return beginRuntimeRun(options.knowledgeBasePath, run);
472
- }
473
- function finalizeRuntimeRun(dirPath, code) {
474
- const current = loadRuntimeRun(dirPath);
475
- if (!current)
476
- return null;
477
- const finishedAt = new Date().toISOString();
478
- const next = {
479
- ...current,
480
- status: code === 0 ? "succeeded" : "failed",
481
- updated_at: finishedAt,
482
- finished_at: finishedAt,
483
- exit_code: code,
484
- error: code === 0 ? null : `Executor exited with code ${code}.`,
485
- summary: code === 0
486
- ? `${current.stage_label} completed successfully.`
487
- : `${current.stage_label} failed with exit code ${code}.`,
488
- };
489
- saveRuntimeRun(dirPath, next);
490
- appendFileSync(runHistoryPath(dirPath), JSON.stringify(next) + "\n");
491
- return next;
492
- }
493
- function writeRuntimeRunPrompt(dirPath, runId, prompt) {
494
- mkdirSync(logsDirPath(dirPath), { recursive: true });
495
- writeFileSync(promptLogPath(dirPath, runId), `${prompt}\n`);
496
- }
497
- function relativeContractPath(contractPath, knowledgeBasePath) {
498
- return relative(knowledgeBasePath, contractPath);
499
- }
500
- function createRunId() {
501
- return `run_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
502
- }
503
- function normalizeRuntimeRunRecord(raw) {
504
- if (!raw || typeof raw !== "object")
505
- return null;
506
- const record = raw;
507
- const executor = record.executor;
508
- if (record.kind !== "interf-run" ||
509
- typeof record.version !== "number" ||
510
- typeof record.run_id !== "string" ||
511
- (record.target_type !== "knowledge-base" && record.target_type !== "interface") ||
512
- typeof record.target_name !== "string" ||
513
- typeof record.workflow !== "string" ||
514
- typeof record.stage !== "string" ||
515
- !executor ||
516
- typeof executor !== "object" ||
517
- typeof record.started_at !== "string" ||
518
- typeof record.updated_at !== "string" ||
519
- typeof record.contract_path !== "string" ||
520
- typeof record.summary !== "string") {
521
- return null;
522
- }
523
- const executorRecord = executor;
524
- const normalized = {
525
- kind: "interf-run",
526
- version: record.version,
527
- run_id: record.run_id,
528
- target_type: record.target_type,
529
- target_name: record.target_name,
530
- workflow: record.workflow,
531
- stage: record.stage,
532
- stage_label: typeof record.stage_label === "string" ? record.stage_label : record.stage,
533
- contract_type: typeof record.contract_type === "string"
534
- ? record.contract_type
535
- : inferRuntimeContractType(record.target_type, record.stage),
536
- status: normalizeRuntimeRunStatus(record),
537
- executor: {
538
- kind: executorRecord.kind,
539
- name: executorRecord.name,
540
- display_name: executorRecord.display_name,
541
- command: typeof executorRecord.command === "string" ? executorRecord.command : null,
542
- model: typeof executorRecord.model === "string" ? executorRecord.model : null,
543
- effort: typeof executorRecord.effort === "string" ? executorRecord.effort : null,
544
- profile: typeof executorRecord.profile === "string" ? executorRecord.profile : null,
545
- timeout_ms: typeof executorRecord.timeout_ms === "number" ? executorRecord.timeout_ms : null,
546
- },
547
- started_at: record.started_at,
548
- updated_at: record.updated_at,
549
- finished_at: typeof record.finished_at === "string" ? record.finished_at : null,
550
- contract_path: record.contract_path,
551
- counts: record.counts && typeof record.counts === "object" ? record.counts : {},
552
- output_artifacts: Array.isArray(record.output_artifacts) ? record.output_artifacts : [],
553
- logs: record.logs && typeof record.logs === "object"
554
- ? record.logs
555
- : undefined,
556
- summary: record.summary,
557
- exit_code: typeof record.exit_code === "number" ? record.exit_code : null,
558
- error: typeof record.error === "string" ? record.error : null,
559
- };
560
- const parsed = RuntimeRunSchema.safeParse(normalized);
561
- return parsed.success ? parsed.data : null;
562
- }
563
- function normalizeRuntimeRunStatus(record) {
564
- const status = record.status;
565
- if (status === "running" || status === "succeeded" || status === "failed") {
566
- return status;
567
- }
568
- if (typeof record.exit_code === "number") {
569
- return record.exit_code === 0 ? "succeeded" : "failed";
570
- }
571
- if (typeof record.error === "string" && record.error.length > 0) {
572
- return "failed";
573
- }
574
- return "running";
575
- }
576
- function inferRuntimeContractType(targetType, stage) {
577
- if (targetType === "knowledge-base") {
578
- return stage === "compile" ? "kb-knowledge-layer" : "kb-file-evidence";
579
- }
580
- if (stage === "create-interface")
581
- return "interface-plan";
582
- if (stage === "analyze")
583
- return "interface-analysis";
584
- if (stage === "compile")
585
- return "interface-output";
586
- return "interface-retrieval";
587
- }
588
- function replaceOrAppendRunHistoryEntry(dirPath, run) {
589
- const historyPath = runHistoryPath(dirPath);
590
- if (!existsSync(historyPath)) {
591
- appendFileSync(historyPath, JSON.stringify(run) + "\n");
592
- return;
593
- }
594
- const raw = readFileSync(historyPath, "utf8");
595
- const lines = raw.split("\n").filter((line) => line.trim().length > 0);
596
- let replaced = false;
597
- const nextLines = lines.map((line) => {
598
- try {
599
- const entry = JSON.parse(line);
600
- if (entry.run_id === run.run_id) {
601
- replaced = true;
602
- return JSON.stringify(run);
603
- }
604
- }
605
- catch {
606
- // Preserve malformed history lines as-is instead of rewriting unrelated data.
607
- }
608
- return line;
609
- });
610
- if (!replaced) {
611
- nextLines.push(JSON.stringify(run));
612
- }
613
- writeFileSync(historyPath, `${nextLines.join("\n")}\n`);
614
- }
1
+ export { eventLogPath, logsDirPath, promptLogPath, runHistoryPath, runPath, stageContractPath, statusLogPath, } from "./runtime-paths.js";
2
+ export { validateStageContractAcceptance } from "./runtime-acceptance.js";
3
+ export { buildStagePrompt } from "./runtime-prompt.js";
4
+ export { buildKnowledgeBaseSummarizeContract } from "./runtime-contracts.js";
5
+ export { beginRuntimeRun, loadRuntimeRun, markRuntimeRunFailedAfterValidation, markRuntimeRunSucceededAfterValidation, runExecutorStage, runExecutorSummarizeStage, saveRuntimeRun, updateRuntimeRun, writeStageContract, } from "./runtime-runs.js";
615
6
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/lib/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,GAWjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,QAAQ,GAAG,MAAM,CAAC;AAwDxB,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAa;IAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa;IACzD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,gBAAgB,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAa;IAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;QAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,GAAe;IAC7D,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,QAA8B;IAE9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAe,EACf,YAAoB;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAY,CAAC;QACvE,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,MAAiC;YACnC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,MAAsC,EACtC,OAAe;IAEf,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,MAAM,CAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACxF,OAAQ,OAAmC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC,EAAE,MAAM,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA8C;IACxE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QAClD,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAe,EACf,WAAwC,IAAI;IAE5C,MAAM,gBAAgB,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAyB,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,2DAA2D;YACpE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAC/C,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,wDAAwD;YACjE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAEnE,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,8BAA8B,YAAY,GAAG,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,OAAO,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,IAAI,EAAE,CAAC,EAAE,CAAC;QACxF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,iDAAiD,QAAQ,UAAU,OAAO,IAAI,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,qBAAqB,QAAQ,MAAM,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,oBAAoB,OAAO,SAAS,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3H,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,qBAAqB,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,iDAAiD,QAAQ,UAAU,OAAO,IAAI,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,2BAA2B,QAAQ,MAAM,QAAQ,UAAU,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAClJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,kCAAkC,gBAAgB,CAAC,KAAK,GAAG;YACpE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,+BAA+B,gBAAgB,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvF,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAsC,EACtC,YAAoB,EACpB,WAAqB;IAErB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAClD,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAC/C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GACb,YAAY,CAAC,cAAc,KAAK,UAAU;QACxC,CAAC,CAAC;YACE,8DAA8D;YAC9D,4GAA4G;YAC5G,4GAA4G;SAC7G;QACH,CAAC,CAAC,YAAY,CAAC,cAAc,KAAK,QAAQ;YACxC,CAAC,CAAC;gBACE,0EAA0E;gBAC1E,sGAAsG;aACvG;YACH,CAAC,CAAC;gBACE,0EAA0E;aAC3E,CAAC;IAEV,OAAO;QACL,0BAA0B,YAAY,CAAC,aAAa,EAAE;QACtD,EAAE;QACF,wEAAwE;QACxE,iFAAiF;QACjF,0FAA0F;QAC1F,UAAU,YAAY,4DAA4D;QAClF,yGAAyG;QACzG,mHAAmH;QACnH,2HAA2H;QAC3H,+IAA+I;QAC/I,iLAAiL;QACjL,YAAY,CAAC,cAAc,KAAK,UAAU;YACxC,CAAC,CAAC,kJAAkJ;YACpJ,CAAC,CAAC,0IAA0I;QAC9I,GAAG,SAAS;QACZ,6DAA6D;QAC7D,qFAAqF;QACrF,oGAAoG;QACpG,yJAAyJ;QACzJ,GAAG,WAAW;QACd,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC,cAAc,KAAK,UAAU;YAC/D,CAAC,CAAC;gBACE,EAAE;gBACF,4BAA4B;gBAC5B,4BAA4B;gBAC5B,eAAe;aAChB;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAA8C;IAE9C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE;YACN,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,gBAAgB,EAAE,cAAc,CAAC,MAAM;SACxC;QACD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,WAAW;gBACX,aAAa;gBACb,oBAAoB;gBACpB,OAAO,CAAC,QAAQ;gBAChB,4BAA4B;gBAC5B,GAAG,cAAc;aAClB;YACD,MAAM,EAAE;gBACN,YAAY;gBACZ,wBAAwB;gBACxB,oBAAoB;gBACpB,qBAAqB;aACtB;YACD,QAAQ,EAAE;gBACR,gCAAgC;aACjC;SACF;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,eAAe;YAC/B,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC3D,KAAK,EAAE;gBACL,8FAA8F;gBAC9F,oCAAoC,OAAO,CAAC,QAAQ,GAAG;gBACvD,wBAAwB,OAAO,CAAC,UAAU,GAAG;gBAC7C,yHAAyH;gBACzH,4HAA4H;gBAC5H,0FAA0F;gBAC1F,gJAAgJ;gBAChJ,4DAA4D;gBAC5D,sNAAsN;gBACtN,GAAG,aAAa;gBAChB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;oBAC3B,CAAC,CAAC;wBACE,wFAAwF;wBACxF,OAAO,CAAC,YAAY,CAAC,cAAc,KAAK,UAAU;4BAChD,CAAC,CAAC,sMAAsM;4BACxM,CAAC,CAAC,kMAAkM;qBACvM;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,kBAAkB,EAAE;gBAClB,eAAe,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC;gBACxE,cAAc,EAAE,IAAI;aACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAqC;IAErC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtD,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC7E,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC;QACjE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC;QACnE,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAyC;IAEzC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAClF,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC;QACjE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC;QACnE,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACjH,IAAI,SAAS,IAAI,YAAY;YAAE,OAAO;QACtC,YAAY,GAAG,SAAS,CAAC;QACzB,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC1C,MAAM,EAAE;gBACN,GAAG,GAAG,CAAC,MAAM;gBACb,mBAAmB,EAAE,SAAS;gBAC9B,gBAAgB,EAAE,OAAO,CAAC,WAAW;aACtC;YACD,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,IAAI,SAAS,IAAI,OAAO,CAAC,WAAW,+BAA+B;SAClG,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,SAAS,IAAI,OAAO,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC;IAC1F,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;QACnC,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,GAAe;IAEf,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,KAAyG;IAEzG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,IAAI,GAAe;QACvB,GAAG,OAAO;QACV,GAAG,KAAK;QACR,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IAEF,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAAe,EACf,OAAe;IAEf,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnE,MAAM,IAAI,GAAe;QACvB,GAAG,OAAO;QACV,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,OAAO;QACd,OAAO;KACR,CAAC;IAEF,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,8BAA8B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,OAAe,EACf,OAAe;IAEf,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnE,MAAM,IAAI,GAAe;QACvB,GAAG,OAAO;QACV,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,IAAI;QACX,OAAO;KACR,CAAC;IAEF,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,8BAA8B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,MAAc;IAEd,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,iBAAiB,GAAG,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC;IAC3D,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACtC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAAqC;IAC5D,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,iBAAiB,CACtC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,kBAAkB,CACT,CAAC;IACpB,MAAM,aAAa,GAAG,wBAAwB,CAC5C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,kBAAkB,CAC3B,CAAC;IACF,MAAM,eAAe,GAAG,0BAA0B,CAChD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,kBAAkB,CAC3B,CAAC;IACF,MAAM,QAAQ,GAAyB;QACrC,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,WAAW,EAAE,OAAO,CAAC,iBAAiB;QACtC,QAAQ,EAAE;YACR,EAAE,EAAE,OAAO,CAAC,QAAQ;YACpB,WAAW,EAAE,aAAa,EAAE,UAAU,IAAI,IAAI;YAC9C,WAAW,EAAE,aAAa,EAAE,UAAU,IAAI,cAAc,CAAC,MAAM;YAC/D,MAAM,EAAG,aAAa,EAAE,MAAqC,IAAI,cAAc;SAChF;QACD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,OAAO,CAAC,UAAU;QACzD,aAAa,EAAE,OAAO,CAAC,YAAY;QACnC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;QAC3C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;KACpC,CAAC;IAEF,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAe;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,WAAW,EAAE,OAAO,CAAC,iBAAiB;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,OAAO,CAAC,UAAU;QACzD,aAAa,EAAE,OAAO,CAAC,YAAY;QACnC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpD,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC5E,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC9B,gBAAgB,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;QAChD,IAAI,EAAE;YACJ,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACjG,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACtG,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;SAClG;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,OAAO,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAe;QACvB,GAAG,OAAO;QACV,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QAC3C,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,IAAI,GAAG;QAC/D,OAAO,EACL,IAAI,KAAK,CAAC;YACR,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,0BAA0B;YAClD,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,0BAA0B,IAAI,GAAG;KAC9D,CAAC;IAEF,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC3E,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB,EAAE,iBAAyB;IAC3E,OAAO,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAY;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,IACE,MAAM,CAAC,IAAI,KAAK,YAAY;QAC5B,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,CAAC,MAAM,CAAC,WAAW,KAAK,gBAAgB,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC;QAC/E,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACnC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,CAAC,QAAQ;QACT,OAAO,QAAQ,KAAK,QAAQ;QAC5B,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,QAAmC,CAAC;IAC3D,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;QACvF,aAAa,EACX,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;YACtC,CAAC,CAAC,MAAM,CAAC,aAAa;YACtB,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;QAChE,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC;QACzC,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,OAAO,EAAE,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACnF,KAAK,EAAE,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC7E,MAAM,EAAE,OAAO,cAAc,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAChF,OAAO,EAAE,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACnF,UAAU,EAAE,OAAO,cAAc,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;SAC7F;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QAC/E,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC/E,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;QACvF,IAAI,EACF,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC5C,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,SAAS;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACzE,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;KAC9D,CAAC;IAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB,CAChC,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAmB,EACnB,KAAc;IAEd,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACzE,CAAC;IACD,IAAI,KAAK,KAAK,kBAAkB;QAAE,OAAO,gBAAgB,CAAC;IAC1D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACrD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC;IACnD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,8BAA8B,CAAC,OAAe,EAAE,GAAe;IACtE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChC,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8EAA8E;QAChF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/lib/runtime.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mCAAmC,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,eAAe,EACf,cAAc,EACd,mCAAmC,EACnC,sCAAsC,EACtC,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}