smol-symphony 0.2.0 → 0.3.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 (716) hide show
  1. package/AGENTS.md +41 -22
  2. package/DESIGN.md +494 -273
  3. package/README.md +109 -57
  4. package/SPEC.md +33 -24
  5. package/WORKFLOW.minimal.yaml +34 -0
  6. package/{WORKFLOW.template.md → WORKFLOW.template.yaml} +409 -256
  7. package/WORKFLOW.yaml +487 -0
  8. package/assets/skills/symphony-issues/SKILL.md +136 -0
  9. package/assets/symphony-mise.system.toml +68 -0
  10. package/dist/src/bin/symphony.js +30 -0
  11. package/dist/src/bin/symphony.js.map +1 -0
  12. package/dist/src/core/actions/context.js +109 -0
  13. package/dist/src/core/actions/context.js.map +1 -0
  14. package/dist/{actions/parsing.js → src/core/actions/parse.js} +33 -114
  15. package/dist/src/core/actions/parse.js.map +1 -0
  16. package/dist/src/core/actions/plan.js +197 -0
  17. package/dist/src/core/actions/plan.js.map +1 -0
  18. package/dist/src/core/actions/predicates.js +111 -0
  19. package/dist/src/core/actions/predicates.js.map +1 -0
  20. package/dist/src/core/actions/run-fold.js +248 -0
  21. package/dist/src/core/actions/run-fold.js.map +1 -0
  22. package/dist/src/core/actions/template.js +118 -0
  23. package/dist/src/core/actions/template.js.map +1 -0
  24. package/dist/src/core/cli/args.js +116 -0
  25. package/dist/src/core/cli/args.js.map +1 -0
  26. package/dist/src/core/coerce.js +75 -0
  27. package/dist/src/core/coerce.js.map +1 -0
  28. package/dist/src/core/credential/account-id.js +20 -0
  29. package/dist/src/core/credential/account-id.js.map +1 -0
  30. package/dist/src/core/credential/adapter-config.js +136 -0
  31. package/dist/src/core/credential/adapter-config.js.map +1 -0
  32. package/dist/src/core/credential/availability.js +98 -0
  33. package/dist/src/core/credential/availability.js.map +1 -0
  34. package/dist/src/core/credential/extract.js +228 -0
  35. package/dist/src/core/credential/extract.js.map +1 -0
  36. package/dist/src/core/credential/fake-creds.js +171 -0
  37. package/dist/src/core/credential/fake-creds.js.map +1 -0
  38. package/dist/src/core/credential/identity.js +125 -0
  39. package/dist/src/core/credential/identity.js.map +1 -0
  40. package/dist/src/core/credential/shape.js +230 -0
  41. package/dist/src/core/credential/shape.js.map +1 -0
  42. package/dist/src/core/credential/strings.js +15 -0
  43. package/dist/src/core/credential/strings.js.map +1 -0
  44. package/dist/src/core/doctor/checks.js +303 -0
  45. package/dist/src/core/doctor/checks.js.map +1 -0
  46. package/dist/src/core/git/result.js +107 -0
  47. package/dist/src/core/git/result.js.map +1 -0
  48. package/dist/src/core/http/decisions.js +225 -0
  49. package/dist/src/core/http/decisions.js.map +1 -0
  50. package/dist/{http.js → src/core/http/render.js} +472 -738
  51. package/dist/src/core/http/render.js.map +1 -0
  52. package/dist/{http-handlers.js → src/core/http/routes.js} +52 -87
  53. package/dist/src/core/http/routes.js.map +1 -0
  54. package/dist/src/core/http/views.js +181 -0
  55. package/dist/src/core/http/views.js.map +1 -0
  56. package/dist/src/core/image/managed-image.js +95 -0
  57. package/dist/src/core/image/managed-image.js.map +1 -0
  58. package/dist/src/core/issue/file.js +149 -0
  59. package/dist/src/core/issue/file.js.map +1 -0
  60. package/dist/src/core/issue/parse.js +210 -0
  61. package/dist/src/core/issue/parse.js.map +1 -0
  62. package/dist/src/core/mcp/dispatch.js +239 -0
  63. package/dist/src/core/mcp/dispatch.js.map +1 -0
  64. package/dist/src/core/mcp/post-move.js +92 -0
  65. package/dist/src/core/mcp/post-move.js.map +1 -0
  66. package/dist/src/core/mcp/protocol.js +293 -0
  67. package/dist/src/core/mcp/protocol.js.map +1 -0
  68. package/dist/src/core/mcp/url.js +162 -0
  69. package/dist/src/core/mcp/url.js.map +1 -0
  70. package/dist/src/core/path.js +63 -0
  71. package/dist/src/core/path.js.map +1 -0
  72. package/dist/src/core/reconcile/image-decide.js +48 -0
  73. package/dist/src/core/reconcile/image-decide.js.map +1 -0
  74. package/dist/src/core/reconcile/ledger.js +142 -0
  75. package/dist/src/core/reconcile/ledger.js.map +1 -0
  76. package/dist/src/core/reconcile/pr-classify.js +62 -0
  77. package/dist/src/core/reconcile/pr-classify.js.map +1 -0
  78. package/dist/{reconciler → src/core/reconcile}/pr-decide.js +25 -12
  79. package/dist/src/core/reconcile/pr-decide.js.map +1 -0
  80. package/dist/src/core/reconcile/pr-loop.js +161 -0
  81. package/dist/src/core/reconcile/pr-loop.js.map +1 -0
  82. package/dist/src/core/reconcile/pr-notes.js +35 -0
  83. package/dist/src/core/reconcile/pr-notes.js.map +1 -0
  84. package/dist/src/core/reconcile/vm-decide.js +70 -0
  85. package/dist/src/core/reconcile/vm-decide.js.map +1 -0
  86. package/dist/src/core/reconcile/vm-reap.js +207 -0
  87. package/dist/src/core/reconcile/vm-reap.js.map +1 -0
  88. package/dist/src/core/reconcile/workspace-decide.js +162 -0
  89. package/dist/src/core/reconcile/workspace-decide.js.map +1 -0
  90. package/dist/src/core/runlog/summary.js +231 -0
  91. package/dist/src/core/runlog/summary.js.map +1 -0
  92. package/dist/src/core/runner/dispatch-config.js +95 -0
  93. package/dist/src/core/runner/dispatch-config.js.map +1 -0
  94. package/dist/src/core/runner/injection.js +61 -0
  95. package/dist/src/core/runner/injection.js.map +1 -0
  96. package/dist/src/core/runner/mise.js +210 -0
  97. package/dist/src/core/runner/mise.js.map +1 -0
  98. package/dist/src/core/runner/prompt.js +720 -0
  99. package/dist/src/core/runner/prompt.js.map +1 -0
  100. package/dist/src/core/runner/turn.js +242 -0
  101. package/dist/src/core/runner/turn.js.map +1 -0
  102. package/dist/src/core/runner/vm-plan.js +390 -0
  103. package/dist/src/core/runner/vm-plan.js.map +1 -0
  104. package/dist/src/core/schedule/admission.js +123 -0
  105. package/dist/src/core/schedule/admission.js.map +1 -0
  106. package/dist/src/core/schedule/circuit-breaker.js +111 -0
  107. package/dist/src/core/schedule/circuit-breaker.js.map +1 -0
  108. package/dist/src/core/schedule/eligibility.js +83 -0
  109. package/dist/src/core/schedule/eligibility.js.map +1 -0
  110. package/dist/src/core/schedule/reconcile-issue.js +82 -0
  111. package/dist/src/core/schedule/reconcile-issue.js.map +1 -0
  112. package/dist/src/core/schedule/retry.js +96 -0
  113. package/dist/src/core/schedule/retry.js.map +1 -0
  114. package/dist/src/core/schedule/sleep-cycle.js +133 -0
  115. package/dist/src/core/schedule/sleep-cycle.js.map +1 -0
  116. package/dist/src/core/schedule/slots.js +124 -0
  117. package/dist/src/core/schedule/slots.js.map +1 -0
  118. package/dist/src/core/schedule/tick.js +553 -0
  119. package/dist/src/core/schedule/tick.js.map +1 -0
  120. package/dist/src/core/schedule/token-fold.js +181 -0
  121. package/dist/src/core/schedule/token-fold.js.map +1 -0
  122. package/dist/src/core/state-resolve.js +86 -0
  123. package/dist/src/core/state-resolve.js.map +1 -0
  124. package/dist/src/core/vm-guards.js +278 -0
  125. package/dist/src/core/vm-guards.js.map +1 -0
  126. package/dist/src/core/workflow/derive.js +107 -0
  127. package/dist/src/core/workflow/derive.js.map +1 -0
  128. package/dist/src/core/workflow/parse.js +687 -0
  129. package/dist/src/core/workflow/parse.js.map +1 -0
  130. package/dist/src/core/workflow/prompt-probe.js +78 -0
  131. package/dist/src/core/workflow/prompt-probe.js.map +1 -0
  132. package/dist/src/core/workflow/validate.js +189 -0
  133. package/dist/src/core/workflow/validate.js.map +1 -0
  134. package/dist/src/core/workspace-key.js +19 -0
  135. package/dist/src/core/workspace-key.js.map +1 -0
  136. package/dist/src/shell/actions-runner.js +356 -0
  137. package/dist/src/shell/actions-runner.js.map +1 -0
  138. package/dist/src/shell/adapter/adapter-registry.js +45 -0
  139. package/dist/src/shell/adapter/adapter-registry.js.map +1 -0
  140. package/dist/src/shell/adapter/clock-random.js +96 -0
  141. package/dist/src/shell/adapter/clock-random.js.map +1 -0
  142. package/dist/src/shell/adapter/gondolin-dispatch-helpers.js +158 -0
  143. package/dist/src/shell/adapter/gondolin-dispatch-helpers.js.map +1 -0
  144. package/dist/src/shell/adapter/gondolin-dispatch.js +385 -0
  145. package/dist/src/shell/adapter/gondolin-dispatch.js.map +1 -0
  146. package/dist/src/shell/adapter/gondolin-image-converter.js +233 -0
  147. package/dist/src/shell/adapter/gondolin-image-converter.js.map +1 -0
  148. package/dist/src/shell/adapter/gondolin-image-fetch.js +180 -0
  149. package/dist/src/shell/adapter/gondolin-image-fetch.js.map +1 -0
  150. package/dist/src/shell/adapter/launcher-asset.js +57 -0
  151. package/dist/src/shell/adapter/launcher-asset.js.map +1 -0
  152. package/dist/src/shell/adapter/mise-config-asset.js +65 -0
  153. package/dist/src/shell/adapter/mise-config-asset.js.map +1 -0
  154. package/dist/src/shell/adapter/workflow-loader.js +304 -0
  155. package/dist/src/shell/adapter/workflow-loader.js.map +1 -0
  156. package/dist/src/shell/cli/doctor.js +268 -0
  157. package/dist/src/shell/cli/doctor.js.map +1 -0
  158. package/dist/src/shell/effect-interpreter-families.js +314 -0
  159. package/dist/src/shell/effect-interpreter-families.js.map +1 -0
  160. package/dist/src/shell/effect-interpreter.js +29 -0
  161. package/dist/src/shell/effect-interpreter.js.map +1 -0
  162. package/dist/src/shell/interp/acp-frame.js +137 -0
  163. package/dist/src/shell/interp/acp-frame.js.map +1 -0
  164. package/dist/src/shell/interp/acp-ws-conn.js +320 -0
  165. package/dist/src/shell/interp/acp-ws-conn.js.map +1 -0
  166. package/dist/src/shell/interp/acp-ws-frames.js +159 -0
  167. package/dist/src/shell/interp/acp-ws-frames.js.map +1 -0
  168. package/dist/src/shell/interp/acp-ws.js +197 -0
  169. package/dist/src/shell/interp/acp-ws.js.map +1 -0
  170. package/dist/src/shell/interp/acp.js +319 -0
  171. package/dist/src/shell/interp/acp.js.map +1 -0
  172. package/dist/src/shell/interp/credential-defaults.js +128 -0
  173. package/dist/src/shell/interp/credential-defaults.js.map +1 -0
  174. package/dist/src/shell/interp/credential-hooks.js +149 -0
  175. package/dist/src/shell/interp/credential-hooks.js.map +1 -0
  176. package/dist/src/shell/interp/credential-registry.js +226 -0
  177. package/dist/src/shell/interp/credential-registry.js.map +1 -0
  178. package/dist/src/shell/interp/credential.js +103 -0
  179. package/dist/src/shell/interp/credential.js.map +1 -0
  180. package/dist/src/shell/interp/gh.js +163 -0
  181. package/dist/src/shell/interp/gh.js.map +1 -0
  182. package/dist/src/shell/interp/git.js +28 -0
  183. package/dist/src/shell/interp/git.js.map +1 -0
  184. package/dist/src/shell/interp/log.js +213 -0
  185. package/dist/src/shell/interp/log.js.map +1 -0
  186. package/dist/src/shell/interp/process.js +178 -0
  187. package/dist/src/shell/interp/process.js.map +1 -0
  188. package/dist/src/shell/interp/runlog.js +193 -0
  189. package/dist/src/shell/interp/runlog.js.map +1 -0
  190. package/dist/src/shell/interp/timer.js +64 -0
  191. package/dist/src/shell/interp/timer.js.map +1 -0
  192. package/dist/src/shell/interp/tracker-disk.js +99 -0
  193. package/dist/src/shell/interp/tracker-disk.js.map +1 -0
  194. package/dist/src/shell/interp/tracker-parse.js +71 -0
  195. package/dist/src/shell/interp/tracker-parse.js.map +1 -0
  196. package/dist/src/shell/interp/tracker-scan.js +238 -0
  197. package/dist/src/shell/interp/tracker-scan.js.map +1 -0
  198. package/dist/src/shell/interp/tracker-write.js +91 -0
  199. package/dist/src/shell/interp/tracker-write.js.map +1 -0
  200. package/dist/src/shell/interp/tracker.js +41 -0
  201. package/dist/src/shell/interp/tracker.js.map +1 -0
  202. package/dist/src/shell/interp/tty.js +48 -0
  203. package/dist/src/shell/interp/tty.js.map +1 -0
  204. package/dist/src/shell/interp/vm.js +199 -0
  205. package/dist/src/shell/interp/vm.js.map +1 -0
  206. package/dist/src/shell/interp/workspace.js +310 -0
  207. package/dist/src/shell/interp/workspace.js.map +1 -0
  208. package/dist/src/shell/main-acp.js +78 -0
  209. package/dist/src/shell/main-acp.js.map +1 -0
  210. package/dist/src/shell/main-adapters.js +222 -0
  211. package/dist/src/shell/main-adapters.js.map +1 -0
  212. package/dist/src/shell/main-credential.js +122 -0
  213. package/dist/src/shell/main-credential.js.map +1 -0
  214. package/dist/src/shell/main-doctor.js +22 -0
  215. package/dist/src/shell/main-doctor.js.map +1 -0
  216. package/dist/src/shell/main-entry.js +46 -0
  217. package/dist/src/shell/main-entry.js.map +1 -0
  218. package/dist/src/shell/main-http-csrf.js +45 -0
  219. package/dist/src/shell/main-http-csrf.js.map +1 -0
  220. package/dist/src/shell/main-http-handler.js +389 -0
  221. package/dist/src/shell/main-http-handler.js.map +1 -0
  222. package/dist/src/shell/main-http-mcp.js +122 -0
  223. package/dist/src/shell/main-http-mcp.js.map +1 -0
  224. package/dist/src/shell/main-http-views.js +253 -0
  225. package/dist/src/shell/main-http-views.js.map +1 -0
  226. package/dist/src/shell/main-http.js +76 -0
  227. package/dist/src/shell/main-http.js.map +1 -0
  228. package/dist/src/shell/main-loops.js +130 -0
  229. package/dist/src/shell/main-loops.js.map +1 -0
  230. package/dist/src/shell/main-mcp.js +129 -0
  231. package/dist/src/shell/main-mcp.js.map +1 -0
  232. package/dist/src/shell/main-orchestrator.js +120 -0
  233. package/dist/src/shell/main-orchestrator.js.map +1 -0
  234. package/dist/src/shell/main-preflight.js +43 -0
  235. package/dist/src/shell/main-preflight.js.map +1 -0
  236. package/dist/src/shell/main-reconcilers-helpers.js +244 -0
  237. package/dist/src/shell/main-reconcilers-helpers.js.map +1 -0
  238. package/dist/src/shell/main-reconcilers-pr.js +148 -0
  239. package/dist/src/shell/main-reconcilers-pr.js.map +1 -0
  240. package/dist/src/shell/main-reconcilers.js +225 -0
  241. package/dist/src/shell/main-reconcilers.js.map +1 -0
  242. package/dist/src/shell/main-runner.js +355 -0
  243. package/dist/src/shell/main-runner.js.map +1 -0
  244. package/dist/src/shell/main-scaffold.js +116 -0
  245. package/dist/src/shell/main-scaffold.js.map +1 -0
  246. package/dist/src/shell/main-shutdown.js +115 -0
  247. package/dist/src/shell/main-shutdown.js.map +1 -0
  248. package/dist/src/shell/main-startup.js +48 -0
  249. package/dist/src/shell/main-startup.js.map +1 -0
  250. package/dist/src/shell/main-substrates.js +43 -0
  251. package/dist/src/shell/main-substrates.js.map +1 -0
  252. package/dist/src/shell/main.js +385 -0
  253. package/dist/src/shell/main.js.map +1 -0
  254. package/dist/src/shell/orchestrator-feedback.js +69 -0
  255. package/dist/src/shell/orchestrator-feedback.js.map +1 -0
  256. package/dist/src/shell/orchestrator-image.js +167 -0
  257. package/dist/src/shell/orchestrator-image.js.map +1 -0
  258. package/dist/src/shell/orchestrator-loop.js +468 -0
  259. package/dist/src/shell/orchestrator-loop.js.map +1 -0
  260. package/dist/src/shell/orchestrator-reconcile.js +36 -0
  261. package/dist/src/shell/orchestrator-reconcile.js.map +1 -0
  262. package/dist/src/shell/reconciler-loop.js +228 -0
  263. package/dist/src/shell/reconciler-loop.js.map +1 -0
  264. package/dist/src/shell/runner-loop-turn.js +301 -0
  265. package/dist/src/shell/runner-loop-turn.js.map +1 -0
  266. package/dist/src/shell/runner-loop.js +338 -0
  267. package/dist/src/shell/runner-loop.js.map +1 -0
  268. package/dist/src/shell/server/http.js +208 -0
  269. package/dist/src/shell/server/http.js.map +1 -0
  270. package/dist/src/shell/server/mcp-runtime-effects.js +237 -0
  271. package/dist/src/shell/server/mcp-runtime-effects.js.map +1 -0
  272. package/dist/src/shell/server/mcp-runtime.js +99 -0
  273. package/dist/src/shell/server/mcp-runtime.js.map +1 -0
  274. package/dist/src/shell/workspace-key.js +14 -0
  275. package/dist/src/shell/workspace-key.js.map +1 -0
  276. package/dist/src/types/acp.js +8 -0
  277. package/dist/src/types/acp.js.map +1 -0
  278. package/dist/src/types/actions/plan.js +6 -0
  279. package/dist/src/types/actions/plan.js.map +1 -0
  280. package/dist/src/types/actions/predicates.js +6 -0
  281. package/dist/src/types/actions/predicates.js.map +1 -0
  282. package/dist/src/types/actions/run-fold.js +8 -0
  283. package/dist/src/types/actions/run-fold.js.map +1 -0
  284. package/dist/src/types/actions.js +7 -0
  285. package/dist/src/types/actions.js.map +1 -0
  286. package/dist/src/types/adapter/clock-random.js +4 -0
  287. package/dist/src/types/adapter/clock-random.js.map +1 -0
  288. package/dist/src/types/adapter/gondolin-image-converter.js +5 -0
  289. package/dist/src/types/adapter/gondolin-image-converter.js.map +1 -0
  290. package/dist/src/types/adapter/gondolin-image-fetch.js +5 -0
  291. package/dist/src/types/adapter/gondolin-image-fetch.js.map +1 -0
  292. package/dist/src/types/adapter/workflow-loader.js +4 -0
  293. package/dist/src/types/adapter/workflow-loader.js.map +1 -0
  294. package/dist/src/types/cli/args.js +8 -0
  295. package/dist/src/types/cli/args.js.map +1 -0
  296. package/dist/src/types/config.js +8 -0
  297. package/dist/src/types/config.js.map +1 -0
  298. package/dist/src/types/credential-interp.js +6 -0
  299. package/dist/src/types/credential-interp.js.map +1 -0
  300. package/dist/src/types/credentials.js +10 -0
  301. package/dist/src/types/credentials.js.map +1 -0
  302. package/dist/src/types/doctor.js +7 -0
  303. package/dist/src/types/doctor.js.map +1 -0
  304. package/dist/src/types/domain.js +7 -0
  305. package/dist/src/types/domain.js.map +1 -0
  306. package/dist/src/types/effect.js +15 -0
  307. package/dist/src/types/effect.js.map +1 -0
  308. package/dist/src/types/errors.js +39 -0
  309. package/dist/src/types/errors.js.map +1 -0
  310. package/dist/src/types/http/decisions.js +6 -0
  311. package/dist/src/types/http/decisions.js.map +1 -0
  312. package/dist/src/types/http/render.js +10 -0
  313. package/dist/src/types/http/render.js.map +1 -0
  314. package/dist/src/types/http/views.js +6 -0
  315. package/dist/src/types/http/views.js.map +1 -0
  316. package/dist/src/types/http.js +9 -0
  317. package/dist/src/types/http.js.map +1 -0
  318. package/dist/src/types/image/managed-image.js +7 -0
  319. package/dist/src/types/image/managed-image.js.map +1 -0
  320. package/dist/src/types/interp/effect-interpreter.js +8 -0
  321. package/dist/src/types/interp/effect-interpreter.js.map +1 -0
  322. package/dist/src/types/interp/tracker.js +7 -0
  323. package/dist/src/types/interp/tracker.js.map +1 -0
  324. package/dist/src/types/issue/file.js +6 -0
  325. package/dist/src/types/issue/file.js.map +1 -0
  326. package/dist/src/types/issue/parse.js +8 -0
  327. package/dist/src/types/issue/parse.js.map +1 -0
  328. package/dist/src/types/main-acp.js +13 -0
  329. package/dist/src/types/main-acp.js.map +1 -0
  330. package/dist/src/types/main-adapters.js +5 -0
  331. package/dist/src/types/main-adapters.js.map +1 -0
  332. package/dist/src/types/main-credential.js +21 -0
  333. package/dist/src/types/main-credential.js.map +1 -0
  334. package/dist/src/types/main-doctor.js +6 -0
  335. package/dist/src/types/main-doctor.js.map +1 -0
  336. package/dist/src/types/main-http-handler.js +12 -0
  337. package/dist/src/types/main-http-handler.js.map +1 -0
  338. package/dist/src/types/main-http.js +5 -0
  339. package/dist/src/types/main-http.js.map +1 -0
  340. package/dist/src/types/main-loops.js +5 -0
  341. package/dist/src/types/main-loops.js.map +1 -0
  342. package/dist/src/types/main-mcp.js +12 -0
  343. package/dist/src/types/main-mcp.js.map +1 -0
  344. package/dist/src/types/main-orchestrator.js +5 -0
  345. package/dist/src/types/main-orchestrator.js.map +1 -0
  346. package/dist/src/types/main-reconcilers.js +11 -0
  347. package/dist/src/types/main-reconcilers.js.map +1 -0
  348. package/dist/src/types/main-runner.js +13 -0
  349. package/dist/src/types/main-runner.js.map +1 -0
  350. package/dist/src/types/main-startup.js +5 -0
  351. package/dist/src/types/main-startup.js.map +1 -0
  352. package/dist/src/types/main-substrates.js +5 -0
  353. package/dist/src/types/main-substrates.js.map +1 -0
  354. package/dist/src/types/mcp/dispatch.js +4 -0
  355. package/dist/src/types/mcp/dispatch.js.map +1 -0
  356. package/dist/src/types/mcp/post-move.js +7 -0
  357. package/dist/src/types/mcp/post-move.js.map +1 -0
  358. package/dist/src/types/mcp.js +9 -0
  359. package/dist/src/types/mcp.js.map +1 -0
  360. package/dist/src/types/ports.js +12 -0
  361. package/dist/src/types/ports.js.map +1 -0
  362. package/dist/src/types/reconcile/image-decide.js +5 -0
  363. package/dist/src/types/reconcile/image-decide.js.map +1 -0
  364. package/dist/src/types/reconcile/ledger.js +7 -0
  365. package/dist/src/types/reconcile/ledger.js.map +1 -0
  366. package/dist/src/types/reconcile/pr-loop.js +8 -0
  367. package/dist/src/types/reconcile/pr-loop.js.map +1 -0
  368. package/dist/src/types/reconcile/vm-reap.js +8 -0
  369. package/dist/src/types/reconcile/vm-reap.js.map +1 -0
  370. package/dist/src/types/reconcile/workspace-decide.js +7 -0
  371. package/dist/src/types/reconcile/workspace-decide.js.map +1 -0
  372. package/dist/src/types/reconcile.js +9 -0
  373. package/dist/src/types/reconcile.js.map +1 -0
  374. package/dist/src/types/runlog.js +7 -0
  375. package/dist/src/types/runlog.js.map +1 -0
  376. package/dist/src/types/runner/actions-runner.js +12 -0
  377. package/dist/src/types/runner/actions-runner.js.map +1 -0
  378. package/dist/src/types/runner/gondolin-dispatch.js +5 -0
  379. package/dist/src/types/runner/gondolin-dispatch.js.map +1 -0
  380. package/dist/src/types/runner/injection.js +6 -0
  381. package/dist/src/types/runner/injection.js.map +1 -0
  382. package/dist/src/types/runner/runner-loop.js +5 -0
  383. package/dist/src/types/runner/runner-loop.js.map +1 -0
  384. package/dist/src/types/runner/turn.js +4 -0
  385. package/dist/src/types/runner/turn.js.map +1 -0
  386. package/dist/src/types/runner/vm-plan.js +4 -0
  387. package/dist/src/types/runner/vm-plan.js.map +1 -0
  388. package/dist/src/types/runtime.js +9 -0
  389. package/dist/src/types/runtime.js.map +1 -0
  390. package/dist/src/types/schedule/admission.js +7 -0
  391. package/dist/src/types/schedule/admission.js.map +1 -0
  392. package/dist/src/types/schedule/circuit-breaker.js +2 -0
  393. package/dist/src/types/schedule/circuit-breaker.js.map +1 -0
  394. package/dist/src/types/schedule/eligibility.js +9 -0
  395. package/dist/src/types/schedule/eligibility.js.map +1 -0
  396. package/dist/src/types/schedule/orchestrator-loop.js +10 -0
  397. package/dist/src/types/schedule/orchestrator-loop.js.map +1 -0
  398. package/dist/src/types/schedule/sleep-cycle.js +4 -0
  399. package/dist/src/types/schedule/sleep-cycle.js.map +1 -0
  400. package/dist/src/types/schedule/slots.js +8 -0
  401. package/dist/src/types/schedule/slots.js.map +1 -0
  402. package/dist/src/types/schedule/tick.js +9 -0
  403. package/dist/src/types/schedule/tick.js.map +1 -0
  404. package/dist/src/types/server/mcp-runtime.js +8 -0
  405. package/dist/src/types/server/mcp-runtime.js.map +1 -0
  406. package/dist/src/types/workflow/parse.js +4 -0
  407. package/dist/src/types/workflow/parse.js.map +1 -0
  408. package/dist/tests/core/account-id.test.js +35 -0
  409. package/dist/tests/core/account-id.test.js.map +1 -0
  410. package/dist/tests/core/actions-parse.test.js +176 -0
  411. package/dist/tests/core/actions-parse.test.js.map +1 -0
  412. package/dist/tests/core/adapter-config.test.js +133 -0
  413. package/dist/tests/core/adapter-config.test.js.map +1 -0
  414. package/dist/tests/core/admission.test.js +215 -0
  415. package/dist/tests/core/admission.test.js.map +1 -0
  416. package/dist/tests/core/args.test.js +132 -0
  417. package/dist/tests/core/args.test.js.map +1 -0
  418. package/dist/tests/core/availability.test.js +62 -0
  419. package/dist/tests/core/availability.test.js.map +1 -0
  420. package/dist/tests/core/checks.test.js +395 -0
  421. package/dist/tests/core/checks.test.js.map +1 -0
  422. package/dist/tests/core/circuit-breaker.test.js +172 -0
  423. package/dist/tests/core/circuit-breaker.test.js.map +1 -0
  424. package/dist/tests/core/coerce.test.js +87 -0
  425. package/dist/tests/core/coerce.test.js.map +1 -0
  426. package/dist/tests/core/context.test.js +228 -0
  427. package/dist/tests/core/context.test.js.map +1 -0
  428. package/dist/tests/core/decisions.test.js +310 -0
  429. package/dist/tests/core/decisions.test.js.map +1 -0
  430. package/dist/tests/core/derive.test.js +205 -0
  431. package/dist/tests/core/derive.test.js.map +1 -0
  432. package/dist/tests/core/dispatch-config.test.js +164 -0
  433. package/dist/tests/core/dispatch-config.test.js.map +1 -0
  434. package/dist/tests/core/dispatch.test.js +302 -0
  435. package/dist/tests/core/dispatch.test.js.map +1 -0
  436. package/dist/tests/core/eligibility.test.js +163 -0
  437. package/dist/tests/core/eligibility.test.js.map +1 -0
  438. package/dist/tests/core/extract.test.js +139 -0
  439. package/dist/tests/core/extract.test.js.map +1 -0
  440. package/dist/tests/core/fake-creds.test.js +134 -0
  441. package/dist/tests/core/fake-creds.test.js.map +1 -0
  442. package/dist/tests/core/file.test.js +197 -0
  443. package/dist/tests/core/file.test.js.map +1 -0
  444. package/dist/tests/core/git-result.test.js +113 -0
  445. package/dist/tests/core/git-result.test.js.map +1 -0
  446. package/dist/tests/core/identity.test.js +180 -0
  447. package/dist/tests/core/identity.test.js.map +1 -0
  448. package/dist/tests/core/image-decide.test.js +59 -0
  449. package/dist/tests/core/image-decide.test.js.map +1 -0
  450. package/dist/tests/core/injection.test.js +163 -0
  451. package/dist/tests/core/injection.test.js.map +1 -0
  452. package/dist/tests/core/ledger.test.js +218 -0
  453. package/dist/tests/core/ledger.test.js.map +1 -0
  454. package/dist/tests/core/managed-image.test.js +68 -0
  455. package/dist/tests/core/managed-image.test.js.map +1 -0
  456. package/dist/tests/core/mise.test.js +138 -0
  457. package/dist/tests/core/mise.test.js.map +1 -0
  458. package/dist/tests/core/parse.test.js +174 -0
  459. package/dist/tests/core/parse.test.js.map +1 -0
  460. package/dist/tests/core/path.test.js +50 -0
  461. package/dist/tests/core/path.test.js.map +1 -0
  462. package/dist/tests/core/plan.test.js +218 -0
  463. package/dist/tests/core/plan.test.js.map +1 -0
  464. package/dist/tests/core/post-move.test.js +162 -0
  465. package/dist/tests/core/post-move.test.js.map +1 -0
  466. package/dist/tests/core/pr-classify.test.js +117 -0
  467. package/dist/tests/core/pr-classify.test.js.map +1 -0
  468. package/dist/tests/core/pr-decide.test.js +298 -0
  469. package/dist/tests/core/pr-decide.test.js.map +1 -0
  470. package/dist/tests/core/pr-loop.test.js +301 -0
  471. package/dist/tests/core/pr-loop.test.js.map +1 -0
  472. package/dist/tests/core/pr-notes.test.js +165 -0
  473. package/dist/tests/core/pr-notes.test.js.map +1 -0
  474. package/dist/tests/core/predicates.test.js +154 -0
  475. package/dist/tests/core/predicates.test.js.map +1 -0
  476. package/dist/tests/core/prompt.test.js +189 -0
  477. package/dist/tests/core/prompt.test.js.map +1 -0
  478. package/dist/tests/core/protocol.test.js +195 -0
  479. package/dist/tests/core/protocol.test.js.map +1 -0
  480. package/dist/tests/core/reconcile-issue.test.js +116 -0
  481. package/dist/tests/core/reconcile-issue.test.js.map +1 -0
  482. package/dist/tests/core/render.test.js +549 -0
  483. package/dist/tests/core/render.test.js.map +1 -0
  484. package/dist/tests/core/retry.test.js +186 -0
  485. package/dist/tests/core/retry.test.js.map +1 -0
  486. package/dist/tests/core/routes.test.js +247 -0
  487. package/dist/tests/core/routes.test.js.map +1 -0
  488. package/dist/tests/core/run-fold.test.js +299 -0
  489. package/dist/tests/core/run-fold.test.js.map +1 -0
  490. package/dist/tests/core/shape.test.js +185 -0
  491. package/dist/tests/core/shape.test.js.map +1 -0
  492. package/dist/tests/core/sleep-cycle.test.js +150 -0
  493. package/dist/tests/core/sleep-cycle.test.js.map +1 -0
  494. package/dist/tests/core/slots.test.js +201 -0
  495. package/dist/tests/core/slots.test.js.map +1 -0
  496. package/dist/tests/core/state-resolve.test.js +80 -0
  497. package/dist/tests/core/state-resolve.test.js.map +1 -0
  498. package/dist/tests/core/summary.test.js +200 -0
  499. package/dist/tests/core/summary.test.js.map +1 -0
  500. package/dist/tests/core/template.test.js +116 -0
  501. package/dist/tests/core/template.test.js.map +1 -0
  502. package/dist/tests/core/tick.test.js +558 -0
  503. package/dist/tests/core/tick.test.js.map +1 -0
  504. package/dist/tests/core/token-fold.test.js +176 -0
  505. package/dist/tests/core/token-fold.test.js.map +1 -0
  506. package/dist/tests/core/turn.test.js +388 -0
  507. package/dist/tests/core/turn.test.js.map +1 -0
  508. package/dist/tests/core/url.test.js +118 -0
  509. package/dist/tests/core/url.test.js.map +1 -0
  510. package/dist/tests/core/validate.test.js +247 -0
  511. package/dist/tests/core/validate.test.js.map +1 -0
  512. package/dist/tests/core/views.test.js +252 -0
  513. package/dist/tests/core/views.test.js.map +1 -0
  514. package/dist/tests/core/vm-decide.test.js +110 -0
  515. package/dist/tests/core/vm-decide.test.js.map +1 -0
  516. package/dist/tests/core/vm-guards.test.js +153 -0
  517. package/dist/tests/core/vm-guards.test.js.map +1 -0
  518. package/dist/tests/core/vm-plan.test.js +332 -0
  519. package/dist/tests/core/vm-plan.test.js.map +1 -0
  520. package/dist/tests/core/vm-reap.test.js +196 -0
  521. package/dist/tests/core/vm-reap.test.js.map +1 -0
  522. package/dist/tests/core/workflow-parse.test.js +493 -0
  523. package/dist/tests/core/workflow-parse.test.js.map +1 -0
  524. package/dist/tests/core/workspace-decide.test.js +236 -0
  525. package/dist/tests/core/workspace-decide.test.js.map +1 -0
  526. package/dist/tests/helpers/fixtures.js +167 -0
  527. package/dist/tests/helpers/fixtures.js.map +1 -0
  528. package/dist/tests/shell/acp-substrate.test.js +101 -0
  529. package/dist/tests/shell/acp-substrate.test.js.map +1 -0
  530. package/dist/tests/shell/actions-runner-push.test.js +203 -0
  531. package/dist/tests/shell/actions-runner-push.test.js.map +1 -0
  532. package/dist/tests/shell/credential-hooks.test.js +36 -0
  533. package/dist/tests/shell/credential-hooks.test.js.map +1 -0
  534. package/dist/tests/shell/credential-registry.test.js +165 -0
  535. package/dist/tests/shell/credential-registry.test.js.map +1 -0
  536. package/dist/tests/shell/credential-substrate.test.js +179 -0
  537. package/dist/tests/shell/credential-substrate.test.js.map +1 -0
  538. package/dist/tests/shell/dockerfile-mise-pin.test.js +51 -0
  539. package/dist/tests/shell/dockerfile-mise-pin.test.js.map +1 -0
  540. package/dist/tests/shell/doctor.test.js +101 -0
  541. package/dist/tests/shell/doctor.test.js.map +1 -0
  542. package/dist/tests/shell/effect-vm-create.test.js +52 -0
  543. package/dist/tests/shell/effect-vm-create.test.js.map +1 -0
  544. package/dist/tests/shell/gh-port.test.js +63 -0
  545. package/dist/tests/shell/gh-port.test.js.map +1 -0
  546. package/dist/tests/shell/gondolin-dispatch-guard.test.js +144 -0
  547. package/dist/tests/shell/gondolin-dispatch-guard.test.js.map +1 -0
  548. package/dist/tests/shell/gondolin-dispatch-shquote.test.js +168 -0
  549. package/dist/tests/shell/gondolin-dispatch-shquote.test.js.map +1 -0
  550. package/dist/tests/shell/gondolin-image-converter.test.js +208 -0
  551. package/dist/tests/shell/gondolin-image-converter.test.js.map +1 -0
  552. package/dist/tests/shell/gondolin-image-fetch.test.js +93 -0
  553. package/dist/tests/shell/gondolin-image-fetch.test.js.map +1 -0
  554. package/dist/tests/shell/http-handler.test.js +608 -0
  555. package/dist/tests/shell/http-handler.test.js.map +1 -0
  556. package/dist/tests/shell/http-server.test.js +53 -0
  557. package/dist/tests/shell/http-server.test.js.map +1 -0
  558. package/dist/tests/shell/mcp-runtime.test.js +366 -0
  559. package/dist/tests/shell/mcp-runtime.test.js.map +1 -0
  560. package/dist/tests/shell/mise-config-asset.test.js +87 -0
  561. package/dist/tests/shell/mise-config-asset.test.js.map +1 -0
  562. package/dist/tests/shell/orchestrator-loop.test.js +583 -0
  563. package/dist/tests/shell/orchestrator-loop.test.js.map +1 -0
  564. package/dist/tests/shell/reconciler-passes.test.js +314 -0
  565. package/dist/tests/shell/reconciler-passes.test.js.map +1 -0
  566. package/dist/tests/shell/runner-loop-turn.test.js +97 -0
  567. package/dist/tests/shell/runner-loop-turn.test.js.map +1 -0
  568. package/dist/tests/shell/runner-slice.test.js +536 -0
  569. package/dist/tests/shell/runner-slice.test.js.map +1 -0
  570. package/dist/tests/shell/scaffold.test.js +65 -0
  571. package/dist/tests/shell/scaffold.test.js.map +1 -0
  572. package/dist/tests/shell/tick-config.test.js +83 -0
  573. package/dist/tests/shell/tick-config.test.js.map +1 -0
  574. package/dist/tests/shell/tracker-parse-dates.test.js +44 -0
  575. package/dist/tests/shell/tracker-parse-dates.test.js.map +1 -0
  576. package/dist/tests/shell/tracker-write-issue.test.js +154 -0
  577. package/dist/tests/shell/tracker-write-issue.test.js.map +1 -0
  578. package/dist/tests/shell/workflow-prompt-split.test.js +208 -0
  579. package/dist/tests/shell/workflow-prompt-split.test.js.map +1 -0
  580. package/dist/tests/shell/workspace-live-config.test.js +140 -0
  581. package/dist/tests/shell/workspace-live-config.test.js.map +1 -0
  582. package/package.json +21 -9
  583. package/patches/@earendil-works+gondolin+0.12.0.patch +173 -0
  584. package/prompts/Reflect.md +91 -0
  585. package/prompts/Review.md +97 -0
  586. package/prompts/Todo.md +96 -0
  587. package/prompts/_footer.md +41 -0
  588. package/prompts/_preamble.md +42 -0
  589. package/prompts-minimal/Todo.md +26 -0
  590. package/scripts/postinstall.mjs +63 -0
  591. package/scripts/vm-agent.mjs +312 -90
  592. package/WORKFLOW.md +0 -744
  593. package/dist/acp-bridge.js +0 -324
  594. package/dist/acp-bridge.js.map +0 -1
  595. package/dist/actions/cache.js +0 -191
  596. package/dist/actions/cache.js.map +0 -1
  597. package/dist/actions/effects.js +0 -41
  598. package/dist/actions/effects.js.map +0 -1
  599. package/dist/actions/executor.js +0 -570
  600. package/dist/actions/executor.js.map +0 -1
  601. package/dist/actions/index.js +0 -13
  602. package/dist/actions/index.js.map +0 -1
  603. package/dist/actions/parsing.js.map +0 -1
  604. package/dist/actions/predicate-env.js +0 -27
  605. package/dist/actions/predicate-env.js.map +0 -1
  606. package/dist/actions/predicates.js +0 -49
  607. package/dist/actions/predicates.js.map +0 -1
  608. package/dist/actions/templating.js +0 -66
  609. package/dist/actions/templating.js.map +0 -1
  610. package/dist/actions/types.js +0 -15
  611. package/dist/actions/types.js.map +0 -1
  612. package/dist/agent/acp.js +0 -473
  613. package/dist/agent/acp.js.map +0 -1
  614. package/dist/agent/adapter-names.js +0 -159
  615. package/dist/agent/adapter-names.js.map +0 -1
  616. package/dist/agent/adapters.js +0 -511
  617. package/dist/agent/adapters.js.map +0 -1
  618. package/dist/agent/credential-extractors.js +0 -342
  619. package/dist/agent/credential-extractors.js.map +0 -1
  620. package/dist/agent/credential-secrets.js +0 -628
  621. package/dist/agent/credential-secrets.js.map +0 -1
  622. package/dist/agent/credential-ticker.js +0 -57
  623. package/dist/agent/credential-ticker.js.map +0 -1
  624. package/dist/agent/gondolin-creds-staging.js +0 -356
  625. package/dist/agent/gondolin-creds-staging.js.map +0 -1
  626. package/dist/agent/gondolin-dispatch.js +0 -375
  627. package/dist/agent/gondolin-dispatch.js.map +0 -1
  628. package/dist/agent/gondolin.js +0 -124
  629. package/dist/agent/gondolin.js.map +0 -1
  630. package/dist/agent/runner-decisions.js +0 -134
  631. package/dist/agent/runner-decisions.js.map +0 -1
  632. package/dist/agent/runner.js +0 -1456
  633. package/dist/agent/runner.js.map +0 -1
  634. package/dist/agent/tool-call-summary.js +0 -102
  635. package/dist/agent/tool-call-summary.js.map +0 -1
  636. package/dist/agent/vm-acp-mapping.js +0 -73
  637. package/dist/agent/vm-acp-mapping.js.map +0 -1
  638. package/dist/agent/vm-guards.js +0 -262
  639. package/dist/agent/vm-guards.js.map +0 -1
  640. package/dist/agent/vm-port.js +0 -22
  641. package/dist/agent/vm-port.js.map +0 -1
  642. package/dist/agent/vm-process-registry.js +0 -79
  643. package/dist/agent/vm-process-registry.js.map +0 -1
  644. package/dist/bin/cli-args.js +0 -105
  645. package/dist/bin/cli-args.js.map +0 -1
  646. package/dist/bin/symphony.js +0 -794
  647. package/dist/bin/symphony.js.map +0 -1
  648. package/dist/errors.js +0 -15
  649. package/dist/errors.js.map +0 -1
  650. package/dist/http-disk.js +0 -135
  651. package/dist/http-disk.js.map +0 -1
  652. package/dist/http-handlers.js.map +0 -1
  653. package/dist/http.js.map +0 -1
  654. package/dist/issues.js +0 -178
  655. package/dist/issues.js.map +0 -1
  656. package/dist/logging.js +0 -203
  657. package/dist/logging.js.map +0 -1
  658. package/dist/mcp.js +0 -706
  659. package/dist/mcp.js.map +0 -1
  660. package/dist/memory.js +0 -85
  661. package/dist/memory.js.map +0 -1
  662. package/dist/orchestrator-decisions.js +0 -331
  663. package/dist/orchestrator-decisions.js.map +0 -1
  664. package/dist/orchestrator.js +0 -1569
  665. package/dist/orchestrator.js.map +0 -1
  666. package/dist/prompt.js +0 -65
  667. package/dist/prompt.js.map +0 -1
  668. package/dist/reconciler/cache.js +0 -65
  669. package/dist/reconciler/cache.js.map +0 -1
  670. package/dist/reconciler/index.js +0 -448
  671. package/dist/reconciler/index.js.map +0 -1
  672. package/dist/reconciler/ledger.js +0 -131
  673. package/dist/reconciler/ledger.js.map +0 -1
  674. package/dist/reconciler/pr-adapters.js +0 -174
  675. package/dist/reconciler/pr-adapters.js.map +0 -1
  676. package/dist/reconciler/pr-decide.js.map +0 -1
  677. package/dist/reconciler/pr.js +0 -422
  678. package/dist/reconciler/pr.js.map +0 -1
  679. package/dist/reconciler/types.js +0 -12
  680. package/dist/reconciler/types.js.map +0 -1
  681. package/dist/reconciler/vm.js +0 -243
  682. package/dist/reconciler/vm.js.map +0 -1
  683. package/dist/reconciler/workspace-defaults.js +0 -83
  684. package/dist/reconciler/workspace-defaults.js.map +0 -1
  685. package/dist/reconciler/workspace.js +0 -272
  686. package/dist/reconciler/workspace.js.map +0 -1
  687. package/dist/runlog.js +0 -403
  688. package/dist/runlog.js.map +0 -1
  689. package/dist/scaffold.js +0 -165
  690. package/dist/scaffold.js.map +0 -1
  691. package/dist/trackers/local.js +0 -445
  692. package/dist/trackers/local.js.map +0 -1
  693. package/dist/trackers/types.js +0 -10
  694. package/dist/trackers/types.js.map +0 -1
  695. package/dist/types.js +0 -3
  696. package/dist/types.js.map +0 -1
  697. package/dist/util/clock.js +0 -12
  698. package/dist/util/clock.js.map +0 -1
  699. package/dist/util/crypto.js +0 -25
  700. package/dist/util/crypto.js.map +0 -1
  701. package/dist/util/frontmatter.js +0 -70
  702. package/dist/util/frontmatter.js.map +0 -1
  703. package/dist/util/fs-issues.js +0 -22
  704. package/dist/util/fs-issues.js.map +0 -1
  705. package/dist/util/process.js +0 -152
  706. package/dist/util/process.js.map +0 -1
  707. package/dist/util/workspace-key.js +0 -10
  708. package/dist/util/workspace-key.js.map +0 -1
  709. package/dist/workflow-loader.js +0 -147
  710. package/dist/workflow-loader.js.map +0 -1
  711. package/dist/workflow.js +0 -822
  712. package/dist/workflow.js.map +0 -1
  713. package/dist/workspace-types.js +0 -8
  714. package/dist/workspace-types.js.map +0 -1
  715. package/dist/workspace.js +0 -443
  716. package/dist/workspace.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,yFAAyF;AACzF,sFAAsF;AACtF,iEAAiE;AAEjE,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAC7F,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,QAAQ,EACR,cAAc,GAGf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,UAAU,EACV,iBAAiB,GAMlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AA+B/B,MAAM,4BAA4B,GAChC,iPAAiP,CAAC;AAEpP,MAAM,0BAA0B,GAC9B,sLAAsL,CAAC;AAEzL,SAAS,kBAAkB,CAAC,UAAmB;IAC7C,OAAO,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,0BAA0B,CAAC;AAChF,CAAC;AAED,mEAAmE;AACnE,6EAA6E;AAC7E,2EAA2E;AAC3E,4DAA4D;AAC5D,SAAS,mBAAmB,CAAC,KAAY,EAAE,YAAsC;IAC/E,OAAO,YAAY,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,0EAA0E;AAC1E,YAAY;AACZ,KAAK,UAAU,qBAAqB,CAClC,KAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,KAAK,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;QACxF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,0DAA0D;QAC5D,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,oFAAoF;QACtF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,+EAA+E;IAC/E,+EAA+E;IAC/E,uEAAuE;IACvE,MAAM,GAAG,GAA2B;QAClC,iBAAiB,EAAE,KAAK,CAAC,EAAE;QAC3B,eAAe,EAAE,MAAM;QACvB,oBAAoB,EAAE,KAAK,CAAC,uBAAuB;QACnD,iBAAiB,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;QACxE,qBAAqB,EAAE,QAAQ;KAChC,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB,EAAE,OAAsB,EAAE,KAAa;IACvF,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,OAAO;QACL,4DAA4D;QAC5D,EAAE;QACF,oBAAoB;QACpB,QAAQ;QACR,QAAQ;QACR,EAAE;QACF,sBAAsB;QACtB,KAAK;QACL,EAAE;QACF,6OAA6O;KAC9O;SACE,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAuBD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAkB,EAClB,KAAa;IAEb,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,qFAAqF;IACrF,mFAAmF;IACnF,2EAA2E;IAC3E,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACxD,GAAG,GAAG,KAAK,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjC,GAAG,GAAG,IAAI,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,mDACpC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QACnC,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC;IACvB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAiB,CAAC;IAC/D,sFAAsF;IACtF,sFAAsF;IACtF,oFAAoF;IACpF,4CAA4C;IAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;IACrD,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAkB,EAClB,QAAgC;IAEhC,IAAI,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAA2D,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,MAAM,OAAO,WAAW;IAEZ;IACA;IACA;IACA;IAMA;IACA;IACA;IAMA;IAOA;IAMA;IAQA;IAQA;IAKA;IApDV,YACU,GAAkB,EAClB,QAA4B,EAC5B,UAA4B,EAC5B,OAAqB;IAC7B;;;;OAIG;IACK,QAAkB,EAClB,MAAyB,EACzB,MAA0B,IAAI;IACtC;;;;OAIG;IACK,YAA8B,IAAI;IAC1C;;;;;OAKG;IACK,eAA2C,IAAI;IACvD;;;;OAIG;IACK,qBAAgD,IAAI;IAC5D;;;;;;OAMG;IACK,qBAAsD,IAAI;IAClE;;;;;;OAMG;IACK,eAAgE,IAAI;IAC5E;;;OAGG;IACK,mBAA4C,IAAI;QAnDhD,QAAG,GAAH,GAAG,CAAe;QAClB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,eAAU,GAAV,UAAU,CAAkB;QAC5B,YAAO,GAAP,OAAO,CAAc;QAMrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,WAAM,GAAN,MAAM,CAAmB;QACzB,QAAG,GAAH,GAAG,CAA2B;QAM9B,cAAS,GAAT,SAAS,CAAyB;QAOlC,iBAAY,GAAZ,YAAY,CAAmC;QAM/C,uBAAkB,GAAlB,kBAAkB,CAAkC;QAQpD,uBAAkB,GAAlB,kBAAkB,CAAwC;QAQ1D,iBAAY,GAAZ,YAAY,CAAwD;QAKpE,qBAAgB,GAAhB,gBAAgB,CAAgC;IACvD,CAAC;IAEJ,YAAY,CAAC,MAAwB;QACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,GAAkB,EAAE,QAA4B;QAC3D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,GAAuB;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,KAAY;QACpB,OAAO,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CACxB,KAAmB,EACnB,aAAqB,EACrB,QAA4C;QAE5C,OAAO,mBAAmB,CAAC;YACzB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,aAAa;YACb,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YACvB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACnC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;YACzC,OAAO,EAAE,KAAK,CAAC,uBAAuB,IAAI,SAAS;YACnD,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,cAAc,CAAC,EAAY,EAAE,MAA0B;QAC7D,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CACpE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACrB,OAAO,EAAE,GAAG;gBACZ,OAAO;gBACP,GAAG;gBACH,gEAAgE;gBAChE,sEAAsE;gBACtE,SAAS;aACV,CAAC,CAAC;YACH,kEAAkE;YAClE,+DAA+D;YAC/D,+DAA+D;YAC/D,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC;gBAChB,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK;oBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC;gBAChB,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK;oBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,MAAM,CAAC,IAAI;iBACR,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC;oBACN,2DAA2D;oBAC3D,iEAAiE;oBACjE,6DAA6D;oBAC7D,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,QAAQ;oBACnB,MAAM;oBACN,MAAM;iBACP,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gBACpB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC;oBACN,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,QAAQ;oBACnB,MAAM;oBACN,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,eAAe,CAC3B,SAAiB,EACjB,OAAkC,EAClC,KAAmB,EACnB,aAAqB,EACrB,QAA4C,EAC5C,OAAgC,EAChC,OAAoC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,WAAW,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACnC,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,OAAO,CAAC,MAAM;SAC7B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;YACvC,aAAa;YACb,GAAG;YACH,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;YAC5C,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,YAAY,EAAE,mBAAmB;YACjC,UAAU;YACV,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,qEAAqE;QACrE,oDAAoD;QACpD,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,UAAU,EAAE;YACtD,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,MAAM,CAAC,EAAE;YAChB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI;YAC1E,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBAC5C,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,MAAM,CAAC,QAAQ;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAClC,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAC9B,KAAmB,EACnB,SAAiB,EACjB,WAAmB,EACnB,MAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACnC,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,4BAA4B,WAAW,aAAa,SAAS,KAAK;YAClE,EAAE;YACF,eAAe,MAAM,IAAI,SAAS,EAAE;YACpC,EAAE;YACF,2BAA2B,KAAK,CAAC,UAAU,2CAA2C;SACvF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE;gBAC/D,QAAQ,EAAE,KAAK,CAAC,wBAAwB,IAAI,SAAS;gBACrD,SAAS;gBACT,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,cAAc;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACxC,OAAO;QACT,CAAC;QACD,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,2EAA2E;QAC3E,4EAA4E;QAC5E,2DAA2D;QAC3D,KAAK,CAAC,eAAe,GAAG;YACtB,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,cAAc;YAC3B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,iBAAiB,CAC7B,KAAY,EACZ,YAAoB,EACpB,YAAsC,EACtC,aAAqB,EACrB,EAAmB,EACnB,WAAsD,EACtD,MAA0B;QAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjF,IAAI,MAAsF,CAAC;QAC3F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,+EAA+E,EAAE;gBAC3F,KAAK,EAAG,GAAa,CAAC,OAAO;aAC9B,CAAC,CAAC;YACH,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,IAAmB,EAAE,CAAC,SAAS,EAAE,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACH,0EAA0E;YAC1E,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,OAAO,GAAgC,EAAE;gBAC7C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAC7C,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,MAAM,CAAC,QAAQ,EACf,WAAW,CAAC,SAAS,CAAC,EACtB,OAAO,CACR,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC;YAC1C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAU,iBAAiB,GAAG,GAAG,CAAC;IACxC,MAAM,CAAU,gBAAgB,GAAG,GAAG,CAAC;IACvC,MAAM,CAAU,sBAAsB,GAAG,GAAG,CAAC;IAErD,KAAK,CAAC,UAAU,CACd,KAAY,EACZ,OAAsB,EACtB,YAAoC,EACpC,YAA2B,EAC3B,MAAe;QAEf,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,YAAY;gBAAE,OAAO,GAAG,CAAC,aAAa,CAAC;YAC1D,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAY,EACZ,OAAsB,EACtB,YAAoC,EACpC,YAAsC,EACtC,MAA0B,EAC1B,MAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,6EAA6E;QAC7E,wEAAwE;QACxE,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,aAAa,GAAG;YACpB,UAAU,EACR,YAAY,EAAE,uBAAuB,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;YAC5F,UAAU,EACR,YAAY,EAAE,uBAAuB,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;SAC7F,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CACpB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAChE,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC;YAC1B,KAAK;YACL,QAAQ;YACR,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI;YAChC,OAAO;YACP,MAAM;YACN,MAAM;SACP,CAAC,CACH,CAAC;QACF,MAAM,GAAG,GAAmB;YAC1B,KAAK;YACL,YAAY;YACZ,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI;YAChC,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;YACrC,SAAS,EAAE,IAAI;YACf,WAAW;YACX,MAAM;YACN,MAAM;SACP,CAAC;QACF,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,8EAA8E;QAC9E,yBAAyB;QACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACpC,QAAQ;YACR,YAAY;YACZ,OAAO;YACP,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,oBAAoB,CAChC,GAAmB,EACnB,IAKC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,MAAM,IAAI,CAAC,2BAA2B,CAAC;gBACrC,GAAG;gBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CACH,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrC,GAAG;gBACH,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY;aACb,CAAC,CAAC;YACH,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACxC,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC9D,OAAO,oBAAoB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,wEAAwE;YACxE,8DAA8D;YAC9D,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC1D,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,oFAAoF;IAC5E,MAAM,CAAI,GAAmB;QACnC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAE5E;;;;;;OAMG;IACK,sBAAsB,CAC5B,KAAY,EACZ,MAAoC;QAEpC,IAAI,QAAgC,CAAC;QACrC,IAAI,CAAC;YACH,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,KAAK,EAAG,GAAa,CAAC,OAAO;gBAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACK,eAAe,CACrB,MAA0B;QAE1B,OAAO,CAAC,IAAY,EAA2B,EAAE,CAC/C,MAAM;YACJ,CAAC,CAAC;gBACE,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACxD,QAAQ,EAAE,CAAC,CAAa,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;oBACZ,OAAO,EAAE,MAAM;oBACf,IAAI;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC;aACL;YACH,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,oDAAoD;IACpD,4EAA4E;IAEpE,KAAK,CAAC,cAAc,CAC1B,KAAY,EACZ,KAAsD,EACtD,MAA0B,EAC1B,MAAoC;QAEpC,IAAI,SAA6D,CAAC;QAClE,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9F,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,eAAe,CAC3B,aAAqB,EACrB,UAAkB,EAClB,MAA0B,EAC1B,MAAoC;QAEpC,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;gBAC/D,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,WAAW,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,MAAM,EAAE,MAAM,CAAC,gCAAgC,EAAE;gBAC/C,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,WAAW,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,4EAA4E;IAC5E,kEAAkE;IAClE,4EAA4E;IAE5E;;;;;;;;;;;;;OAaG;IACK,qBAAqB,CAC3B,QAAgC,EAChC,MAAoC;QAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC;QACxC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,OAAO;gBACP,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAE;gBAC9B,oBAAoB,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;gBACpF,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU;gBACxC,qEAAqE;gBACrE,yEAAyE;gBACzE,gEAAgE;gBAChE,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,iBAAiB;aACrD;SACF,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAClC,OAAuB,EACvB,QAAgC,EAChC,MAAoC;QAEpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACzG,OAAO,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB,CAC5B,OAAuB,EACvB,QAAgC;QAMhC,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,EAA4B,EAAE,WAAW,EAAE,EAAc,EAAE,iBAAiB,EAAE,EAAqB,EAAE,CAAC;QAChI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC/C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0EAA0E;IAClE,mBAAmB,CACzB,GAAmB,EACnB,GAIC;QAED,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,GAAG,CAAC,SAAS;YAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,uCAAuC;IACvC,4EAA4E;IAE5E;;;;;OAKG;IACK,iBAAiB,CACvB,MAAoC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACpE,MAAM,WAAW,GACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,4EAA4E;IAC5E,uDAAuD;IACvD,4EAA4E;IAE5E;;;;;;OAMG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAO9B;QACC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,aAAa,CAAC,EAAE;YAAE,OAAO,aAAa,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAU,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QAClD,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,QAAQ,CAC/C,IAAI,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAC1E,CAAC;YACF,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE;aAC1F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4EAA4E;YAC5E,uEAAuE;YACvE,gEAAgE;YAChE,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAC3B,QAAgC,EAChC,MAAoC;QAEpC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7E,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAC5D,QAAQ,EAAE,IAAI,CAAC,kBAAkB,KAAK,IAAI;gBAC1C,KAAK,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI;gBACjC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,KAAK,IAAI;aACzC,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,OAAO,SAAS,CAAC,oCAAoC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI,kBAAkB,CAC3B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,kBAAkB,EACvB,KAAK,EACL,IAAI,CAAC,gBAAgB,CACtB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAAC,IAU5B;QACC,OAAO;YACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;YACrE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC7D,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC7B,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC7B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC9B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAC9C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;SACrF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IAEO,aAAa,CACnB,aAAqB,EACrB,QAAgC;QAEhC,MAAM,MAAM,GAA8D;YACxE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC/D,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,iBAAiB;QACvB,OAAO,kBAAkB,CACvB,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,KAAY,EACZ,MAAoC;QAEpC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CACnB,KAAa,EACb,KAAY,EACZ,MAA0B,EAC1B,MAAoC;QAEpC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,iBAAiB;YACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,GAAG,GAAG;YACpD,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE;YACnC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,4EAA4E;IAC5E,gEAAgE;IAChE,4EAA4E;IAEpE,KAAK,CAAC,2BAA2B,CAAC,IAKzC;QAKC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,MAAM,SAAS,GAAkC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtE,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC;IAC/F,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,GAAmB,EACnB,KAAqC,EACrC,MAAc;QAEd,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,cAAc,CAAC,GAAmB,EAAE,UAAuB;QACjE,OAAO,IAAI,SAAS,CAAC;YACnB,KAAK,EAAE,GAAG,CAAC,SAAU;YACrB,MAAM,EAAE,GAAG,CAAC,SAAU;YACtB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACvB,GAAG,EAAE,GAAG,CAAC,aAAa;YACtB,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe;YAC3C,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB;YAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;YACnE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,UAAU;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,GAAmB,EAAE,SAAiB;QAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;YACrB,SAAS;YACT,QAAQ,EAAE,SAAS;YACnB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAC/B,GAAmB,EACnB,WAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACnC,GAAG,CAAC,SAAS,CAAC,QAAQ;gBACtB,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAChC,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,EAC1E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CACvC,CACF;aACF,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,OAAO,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CACtB,GAAmB,EACnB,YAAoC,EACpC,SAAwC;QAExC,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,SAAS;gBAAE,OAAO;YACpC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5B,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAClC,IAAI,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;QACF,OAAO,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CACxB,GAAmB;QAEnB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE,EAAE,CAAC,CAAC;YACjF,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACzG,aAAa,EAAE,0BAA0B;aAC1C,CAAC;QACJ,CAAC;QACD,8EAA8E;QAC9E,iFAAiF;QACjF,+EAA+E;QAC/E,+EAA+E;QAC/E,4EAA4E;QAC5E,MAAM,qBAAqB,GACzB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAC3B,GAAG,CAAC,YAAY,CAAC,UAAU,EAC3B,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAC9E,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;QACF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACrE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACvB,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB;aAClD,CAAC,CAAC;YACH,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE;oBACN,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,8EAA8E;oBACtF,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,CAAC;iBAClB;gBACD,aAAa,EAAE,qBAAqB;aACrC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,GAAG;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;SAC/D,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,GAAmB,EACnB,MAAiB,EACjB,QAAgC;QAEhC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBAClC,KAAK,EAAG,GAAa,CAAC,OAAO;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;gBACvC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAG,GAAa,CAAC,OAAO;aAChC,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,gCAAgC;IAChC,4EAA4E;IAE5E;;;;OAIG;IACK,KAAK,CAAC,WAAW,CAAC,IAOzB;QACC,MAAM,KAAK,GAAkB;YAC3B,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;YAClB,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;YAC5B,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3I,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM;QACnC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;IAChI,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAQ9B;QACC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACnF,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,UAAU,GAAG,6BAA6B,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,SAAS,CAAC;QACvD,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;QACvD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACzF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAAoB,EACpB,OAAsB,EACtB,MAAoC;QAEpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAC,KAAoB,EAAE,OAAsB;QAC1E,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe,KAAK,IAAI;YAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,KAAK,CAAC,eAAgB,CAAC;YAClC,OAAO,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;gBACvC,KAAK,EAAE,KAAK,CAAC,YAAY;gBACzB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CACtB,KAAoB,EACpB,OAA4C,EAC5C,YAAsC,EACtC,eAAwB;QAExB,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,YAAY,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI;SAClD,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACjC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,oBAAoB,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe;YAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,kBAAkB,CAAC,IAMhC;QACC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAClE,IAAI,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;YACnC,KAAK,CAAC,UAAU,GAAG,oBAAoB,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,EAAE,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAmB,EACnB,KAAmB,EACnB,YAAoC,EACpC,KAAoB;QAEpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,UAAU,GAAG,mCAAmC,CAAC;YACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,IAK1C;QACC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACpD,IAAI,SAAkB,CAAC;QACvB,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,2BAA2B,EAAE,aAAa,EAAE,4BAA4B,EAAE,CAAC;QACzH,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,sBAAsB,CAAC;YAClC,cAAc,EAAE,KAAK;YACrB,YAAY;YACZ,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,QAAQ,EAAE,QAAQ,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK;gBAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,KAAM,CAAC;QAC5B,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,qBAAqB,CACjC,GAAmB,EACnB,KAAmB,EACnB,YAAoC;QAKpC,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC,sBAAsB,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;YACvC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,yBAAyB;YAChC,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ;SAC7E,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACjD,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACjC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC/B,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;YACvC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,yBAAyB;YAChC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK;SACpE,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IAC7E,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACK,KAAK,CAAC,eAAe,CAAC,GAAmB,EAAE,MAAc;QAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,GAAG,CAAC,KAAK,EACT,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,EAChD,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,aAAa;QACjB,+EAA+E;QAC/E,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,MAAM,CACX,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,aAAa,CAAC,GAAmB,EAAE,MAAc;QACvD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACxB,IAAI,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAY;QACtC,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAEO,qBAAqB,CAAC,KAA+B;QAC3D,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAmB,EAAE,MAAc;QAChE,IAAI,CAAC,GAAG,CAAC,gBAAgB;YAAE,OAAO;QAClC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;;AAWH,MAAM,YAAa,SAAQ,KAAK;IACF;IAA5B,YAA4B,aAA+B;QACzD,KAAK,CAAC,kBAAkB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QADtB,kBAAa,GAAb,aAAa,CAAkB;QAEzD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAkED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,KAI7B;IACC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;SAC7C,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC;QAC1B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;QACxC,4BAA4B,EAAE,KAAK,CAAC,SAAS;QAC7C,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;KAC7C,CAAC,CAAC;AACL,CAAC"}
@@ -1,102 +0,0 @@
1
- // Human-readable summaries for ACP tool_call / tool_call_update notifications.
2
- //
3
- // ACP's `sessionUpdate` notifications for `tool_call` and `tool_call_update` carry a
4
- // structured object that includes the tool's human-readable `title`, a `kind`, a
5
- // `status`, a `content` array of result blocks, optional `locations`, and an
6
- // adapter-specific `_meta` (Claude Code stamps `_meta.claudeCode.toolName`). The
7
- // previous implementation rendered these by JSON-stringifying the whole object, so
8
- // the dashboard's session row showed lines like:
9
- //
10
- // completed: {"_meta":{"claudeCode":{"toolName":"Bash"}},"content":[{"content": …
11
- //
12
- // That's the issue this module fixes. The functions below pick out the useful fields
13
- // and assemble a short line — e.g. "Bash completed — Done In Progress Todo" — so the
14
- // operator can see at a glance what the agent just did.
15
- const MAX_LINE_LEN = 140;
16
- const MAX_SNIPPET_LEN = 80;
17
- function isPlainObject(v) {
18
- return v !== null && typeof v === 'object' && !Array.isArray(v);
19
- }
20
- function readClaudeToolName(update) {
21
- const meta = update._meta;
22
- if (!isPlainObject(meta))
23
- return '';
24
- const claudeCode = meta.claudeCode;
25
- if (!isPlainObject(claudeCode))
26
- return '';
27
- const name = claudeCode.toolName;
28
- return typeof name === 'string' ? name : '';
29
- }
30
- // Walk the content array and return the first text snippet, whitespace-collapsed.
31
- // ToolCallContent has three shapes: { type: "content", content: <ContentBlock> },
32
- // { type: "diff", ... }, { type: "terminal", ... }. We surface text from the
33
- // "content" variant; diff/terminal fall through and the caller renders without a
34
- // snippet.
35
- function firstTextSnippet(content) {
36
- if (!Array.isArray(content))
37
- return '';
38
- for (const item of content) {
39
- if (!isPlainObject(item))
40
- continue;
41
- const inner = item.type === 'content' && isPlainObject(item.content) ? item.content : item;
42
- if (!isPlainObject(inner))
43
- continue;
44
- if (inner.type === 'text' && typeof inner.text === 'string') {
45
- const text = collapseWhitespace(inner.text);
46
- if (text)
47
- return text;
48
- }
49
- }
50
- return '';
51
- }
52
- function readLocationHint(update) {
53
- const locs = update.locations;
54
- if (!Array.isArray(locs) || locs.length === 0)
55
- return '';
56
- const first = locs[0];
57
- if (!isPlainObject(first) || typeof first.path !== 'string')
58
- return '';
59
- const more = locs.length - 1;
60
- return more > 0 ? `${first.path} +${more}` : first.path;
61
- }
62
- function collapseWhitespace(s) {
63
- return s.replace(/\s+/g, ' ').trim();
64
- }
65
- function clip(s, max) {
66
- if (s.length <= max)
67
- return s;
68
- return s.slice(0, max).trimEnd() + '…';
69
- }
70
- function toolName(update) {
71
- const title = typeof update.title === 'string' ? update.title.trim() : '';
72
- if (title)
73
- return title;
74
- const claudeName = readClaudeToolName(update);
75
- if (claudeName)
76
- return claudeName;
77
- const kind = typeof update.kind === 'string' ? update.kind : '';
78
- if (kind)
79
- return kind;
80
- const id = typeof update.toolCallId === 'string' ? update.toolCallId : '';
81
- return id;
82
- }
83
- /** Format an ACP `tool_call` session update for the session row / event log. */
84
- export function summarizeToolCall(update) {
85
- const obj = isPlainObject(update) ? update : {};
86
- const name = toolName(obj) || 'tool';
87
- const location = readLocationHint(obj);
88
- const head = location ? `${name} (${location})` : name;
89
- return clip(head, MAX_LINE_LEN);
90
- }
91
- /** Format an ACP `tool_call_update` session update for the session row / event log. */
92
- export function summarizeToolCallUpdate(update) {
93
- const obj = isPlainObject(update) ? update : {};
94
- const status = typeof obj.status === 'string' ? obj.status : '';
95
- const name = toolName(obj);
96
- const head = [name, status].filter((s) => s.length > 0).join(' ');
97
- const snippet = clip(firstTextSnippet(obj.content), MAX_SNIPPET_LEN);
98
- const base = head || 'tool_call_update';
99
- const line = snippet ? `${base} — ${snippet}` : base;
100
- return clip(line, MAX_LINE_LEN);
101
- }
102
- //# sourceMappingURL=tool-call-summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-call-summary.js","sourceRoot":"","sources":["../../src/agent/tool-call-summary.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,qFAAqF;AACrF,iFAAiF;AACjF,6EAA6E;AAC7E,iFAAiF;AACjF,mFAAmF;AACnF,iDAAiD;AACjD,EAAE;AACF,oFAAoF;AACpF,EAAE;AACF,qFAAqF;AACrF,qFAAqF;AACrF,wDAAwD;AAExD,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,eAAe,GAAG,EAAE,CAAC;AAI3B,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;IACjC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,kFAAkF;AAClF,kFAAkF;AAClF,6EAA6E;AAC7E,iFAAiF;AACjF,WAAW;AACX,SAAS,gBAAgB,CAAC,OAAgB;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,CAAS,EAAE,GAAW;IAClC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB;IACrC,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,MAAe;IAC/C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,OAAO,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACrD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,IAAI,IAAI,kBAAkB,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,OAAO,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,CAAC"}
@@ -1,73 +0,0 @@
1
- // ACP-over-tcp.hosts + synthetic-DNS mapping builder (design §4.2 option A).
2
- //
3
- // Gondolin blocks guest→host loopback by default. The supported rewire for the ACP
4
- // control channel is a `tcp.hosts` mapping: the guest dials a UNIQUE synthetic
5
- // hostname on a fixed port; Gondolin's synthetic per-host DNS resolves that name to
6
- // a mappable IP, and the `tcp.hosts` entry tunnels the flow to the host bridge's
7
- // loopback `HOST:PORT`. The per-dispatch bearer (acp-bridge.ts) still gates auth.
8
- //
9
- // This is RAW mapped TCP — outside the §2 TLS-MITM / secret-substitution path — so
10
- // it carries only our one-shot bridge bearer, never an upstream secret. The mapping
11
- // is PORT-SPECIFIC (not a wildcard) so the channel can never be reused to reach a
12
- // real upstream or a refresh endpoint, and a NEGATIVE test (no other host-loopback
13
- // service is reachable) backs that (design §7 A-3 / spike a3-acp-tcp-bridge.mjs).
14
- //
15
- // Pure + dependency-free so it unit-tests without a VM.
16
- /** The synthetic guest hostname the in-VM agent dials for the ACP bridge. */
17
- export const ACP_SYNTHETIC_HOST = 'symphony-acp-bridge';
18
- /**
19
- * The fixed guest-side port the synthetic name is reached on. Arbitrary — the
20
- * `tcp.hosts` key is `host:port` and Gondolin matches the guest's dialled port
21
- * against it, then connects to the mapped upstream `HOST:PORT` (the real bridge port,
22
- * which differs and is ephemeral). Kept stable so `SYMPHONY_ACP_URL` is deterministic.
23
- */
24
- export const ACP_GUEST_PORT = 7000;
25
- /**
26
- * Build the `tcp.hosts` + synthetic-DNS config that wires the in-VM ACP agent to the
27
- * host bridge. The guest dials `tcp://<syntheticName>:<guestPort>`; Gondolin resolves
28
- * the name via synthetic per-host DNS and tunnels the matched flow to the host bridge
29
- * loopback `bridgeHost:bridgePort`.
30
- *
31
- * The `tcp.hosts` shape (gondolin `TcpOptions`) is `{ hosts: Record<string, string> }`
32
- * where each key is the guest `host[:port]` to match and each value is the upstream
33
- * `host:port` to connect to — proven by spike `a3-acp-tcp-bridge.mjs`:
34
- * `tcp: { hosts: { 'bridge:7000': '127.0.0.1:<bridge.port>' } }`
35
- * `dns: { mode: 'synthetic', syntheticHostMapping: 'per-host' }`
36
- *
37
- * `syntheticName` defaults to {@link ACP_SYNTHETIC_HOST}; pass a unique value if a
38
- * future design runs more than one mapped TCP channel per VM.
39
- */
40
- export function buildAcpTcpDns(bridgeHost, bridgePort, syntheticName = ACP_SYNTHETIC_HOST) {
41
- const guestKey = `${syntheticName}:${ACP_GUEST_PORT}`;
42
- return {
43
- tcp: { hosts: { [guestKey]: `${bridgeHost}:${bridgePort}` } },
44
- dns: { mode: 'synthetic', syntheticHostMapping: 'per-host' },
45
- acpUrl: `tcp://${syntheticName}:${ACP_GUEST_PORT}`,
46
- };
47
- }
48
- /** The synthetic guest hostname the in-VM agent dials for the MCP control plane. */
49
- export const MCP_SYNTHETIC_HOST = 'symphony-mcp';
50
- /**
51
- * The fixed guest-side port the MCP synthetic name is reached on. Distinct from
52
- * {@link ACP_GUEST_PORT} so the two mapped channels never collide in `tcp.hosts`.
53
- */
54
- export const MCP_GUEST_PORT = 7001;
55
- /** Guest-facing base URL the in-VM agent dials for MCP (the `/api/v1/...` path is appended by the caller). */
56
- export const MCP_GUEST_BASE_URL = `http://${MCP_SYNTHETIC_HOST}:${MCP_GUEST_PORT}`;
57
- /**
58
- * Build the `tcp.hosts` entry that tunnels the in-VM agent's MCP control-plane
59
- * HTTP requests (`symphony.transition` / `propose_issue` / steering) to the host's
60
- * orchestrator HTTP server on its loopback `mcpHost:mcpPort`. Same mechanism +
61
- * security posture as {@link buildAcpTcpDns}: Gondolin blocks guest→host loopback,
62
- * so without this mapping the agent can run inference turns but CANNOT reach the
63
- * control plane (it could complete work but never transition state). The channel
64
- * carries only the per-dispatch MCP bearer (the URL + token is the capability),
65
- * never an upstream secret, and is PORT-SPECIFIC so it can never be reused to
66
- * reach another host-loopback service. Merge the returned entry into the same
67
- * `tcp.hosts` record the ACP mapping uses; the synthetic per-host DNS already
68
- * resolves any synthetic name, so no extra DNS config is needed.
69
- */
70
- export function buildMcpTcpHostEntry(mcpHost, mcpPort) {
71
- return { [`${MCP_SYNTHETIC_HOST}:${MCP_GUEST_PORT}`]: `${mcpHost}:${mcpPort}` };
72
- }
73
- //# sourceMappingURL=vm-acp-mapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vm-acp-mapping.js","sourceRoot":"","sources":["../../src/agent/vm-acp-mapping.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,mFAAmF;AACnF,+EAA+E;AAC/E,oFAAoF;AACpF,iFAAiF;AACjF,kFAAkF;AAClF,EAAE;AACF,mFAAmF;AACnF,oFAAoF;AACpF,kFAAkF;AAClF,mFAAmF;AACnF,kFAAkF;AAClF,EAAE;AACF,wDAAwD;AAIxD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACxD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAYnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,UAAkB,EAClB,gBAAwB,kBAAkB;IAE1C,MAAM,QAAQ,GAAG,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;IACtD,OAAO;QACL,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU,IAAI,UAAU,EAAE,EAAE,EAAE;QAC7D,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE;QAC5D,MAAM,EAAE,SAAS,aAAa,IAAI,cAAc,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,8GAA8G;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,kBAAkB,IAAI,cAAc,EAAE,CAAC;AAEnF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAe;IACnE,OAAO,EAAE,CAAC,GAAG,kBAAkB,IAAI,cAAc,EAAE,CAAC,EAAE,GAAG,OAAO,IAAI,OAAO,EAAE,EAAE,CAAC;AAClF,CAAC"}
@@ -1,262 +0,0 @@
1
- // VM invariant guards — the *teeth* of the host-only-refresh invariant
2
- // (design doc §3). Pure, dependency-free functions the Gondolin dispatch path
3
- // runs at createVm-options-building time so the guest is enforced-by-construction
4
- // to hold only placeholders: real refresh/durable tokens never leave the host.
5
- //
6
- // Two enforcement surfaces, both pure (no IO — `path.resolve` + lexical
7
- // normalization only, never `fs.realpath`, so a missing path still validates and
8
- // tests need no filesystem):
9
- // - `assertNoCredentialMounts` HARD-FAIL if any host-path mount resolves under
10
- // a credential directory (or the home-dir root itself). Read-only is NOT
11
- // exempt: a RO mount of `~/.claude/.credentials.json` still exfiltrates the
12
- // refresh token into the guest.
13
- // - `stripCredentialEnv` remove every known credential env var (the
14
- // per-adapter token vars PLUS the `*_API_KEY`/`*_TOKEN`/`*_SECRET` families and
15
- // the named ANTHROPIC_*/OPENAI_*/OPENCODE_*/GITHUB_*/COPILOT_* set). Generalizes
16
- // the runner's `buildForwardedEnv`, which strips only the single dispatched
17
- // token var.
18
- //
19
- // DORMANT (Phase 3): nothing on the live dispatch path imports this yet; it is
20
- // wired only into the dormant `gondolin-dispatch.ts`.
21
- import path from 'node:path';
22
- import os from 'node:os';
23
- import { realpathSync } from 'node:fs';
24
- /** Thrown by {@link assertNoCredentialMounts} — typed so callers can branch on it. */
25
- export class CredentialMountError extends Error {
26
- hostPath;
27
- deniedUnder;
28
- constructor(message,
29
- /** The offending mount's (canonicalized) host path. */
30
- hostPath,
31
- /** The denylist entry the path resolved under. */
32
- deniedUnder) {
33
- super(message);
34
- this.hostPath = hostPath;
35
- this.deniedUnder = deniedUnder;
36
- this.name = 'CredentialMountError';
37
- }
38
- }
39
- /**
40
- * Built-in credential directories/files, `~`-relative. opencode stores its
41
- * `auth.json` under `$XDG_DATA_HOME/opencode` (default `~/.local/share/opencode`);
42
- * we deny the whole `~/.local/share/opencode` subtree. `~/.config` and `~/.ssh`
43
- * round out the denylist the design calls for.
44
- */
45
- const BUILTIN_CRED_RELATIVE = [
46
- '.claude',
47
- '.codex',
48
- '.config',
49
- '.ssh',
50
- path.join('.local', 'share', 'opencode'),
51
- path.join('.symphony', 'oauth'),
52
- ];
53
- /**
54
- * Lexically canonicalize a host path WITHOUT touching the filesystem: expand a
55
- * leading `~` / `~/…` against `homeDir`, then `path.resolve` (which collapses
56
- * `.`/`..` and makes it absolute against cwd for a relative input). We deliberately
57
- * do NOT `fs.realpath` — the path need not exist, and a symlink-following resolve
58
- * is an IO + a TOCTOU surface; the deny check is a prefix test on the lexical
59
- * canonical form, which is strictly more conservative (it cannot be widened by a
60
- * symlink that resolves *out* of a denied dir).
61
- */
62
- export function canonicalizeHostPath(hostPath, homeDir) {
63
- let p = hostPath;
64
- if (p === '~') {
65
- p = homeDir;
66
- }
67
- else if (p.startsWith('~/') || p.startsWith('~\\')) {
68
- p = path.join(homeDir, p.slice(2));
69
- }
70
- return path.resolve(p);
71
- }
72
- /**
73
- * True when `child` is `parent` or lies beneath it. Compares canonical absolute
74
- * paths with a trailing-separator guard so `/home/u/.codexible` does not count as
75
- * under `/home/u/.codex`.
76
- */
77
- function isUnder(child, parent) {
78
- if (child === parent)
79
- return true;
80
- const withSep = parent.endsWith(path.sep) ? parent : parent + path.sep;
81
- return child.startsWith(withSep);
82
- }
83
- /**
84
- * Best-effort symlink resolution of an already-lexically-canonical path. Falls back
85
- * to the input when it cannot be resolved (a missing path can't be mounted anyway,
86
- * and a non-existent path is not a symlink to a credential tree).
87
- */
88
- function realResolve(canonical, realpath) {
89
- try {
90
- return path.resolve(realpath(canonical));
91
- }
92
- catch {
93
- return canonical;
94
- }
95
- }
96
- /**
97
- * Resolve the full denylist (built-ins + extras) to canonical absolute paths, plus
98
- * their symlink-resolved forms (so a credential dir that is itself a symlink, e.g.
99
- * `~/.codex -> /data/codex`, is matched whether a mount names the link or the target).
100
- */
101
- function resolveDenylist(homeDir, extra, realpath) {
102
- const lexical = [
103
- ...BUILTIN_CRED_RELATIVE.map((rel) => path.join(homeDir, rel)),
104
- ...extra.map((e) => canonicalizeHostPath(e, homeDir)),
105
- ];
106
- const out = new Set();
107
- for (const d of lexical) {
108
- out.add(d);
109
- out.add(realResolve(d, realpath));
110
- }
111
- return [...out];
112
- }
113
- /** Throw if `candidate` is a home root or overlaps any denylist entry. */
114
- function assertCandidateAllowed(candidate, homeRoots, denylist) {
115
- // The home root (lexical OR symlink-resolved) is always denied — mounting it
116
- // exposes every credential dir at once, and a workspace legitimately lives
117
- // *under* home so the root can't just go in the per-dir denylist.
118
- if (homeRoots.has(candidate)) {
119
- throw new CredentialMountError(`refusing to mount the home directory root ${candidate} into a guest VM ` +
120
- `(exposes every credential directory at once)`, candidate, candidate);
121
- }
122
- for (const denied of denylist) {
123
- // Bidirectional overlap: reject if the mount is UNDER a credential dir, IS one,
124
- // OR is an ANCESTOR that contains one (e.g. mounting `~/.local/share` exposes
125
- // `~/.local/share/opencode`). RO + symlinked sources are not exempt.
126
- if (isUnder(candidate, denied) || isUnder(denied, candidate)) {
127
- throw new CredentialMountError(`refusing to mount ${candidate} into a guest VM: it overlaps the credential ` +
128
- `path ${denied} (mounting it, a parent of it, or a child of it all expose ` +
129
- `the credential tree; read-only + symlinked sources are NOT exempt)`, candidate, denied);
130
- }
131
- }
132
- }
133
- /**
134
- * HARD-FAIL if any mount's host path OVERLAPS a credential directory (the mount is
135
- * under one, IS one, or is an ancestor that contains one) or is the home-dir root.
136
- * Checks BOTH the lexical canonical form AND the symlink-resolved form (against a
137
- * denylist also resolved both ways), so neither a direct credential path, a symlink
138
- * pointing at one, nor an ancestor-of-one slips through (codex review, HIGH). Read-only
139
- * mounts are NOT exempt. Throws {@link CredentialMountError} on the first offender.
140
- */
141
- export function assertNoCredentialMounts(mounts, opts = {}) {
142
- const homeDir = path.resolve(opts.homeDir ?? os.homedir());
143
- const realpath = opts.realpath ?? ((p) => realpathSync(p));
144
- // Both the lexical and symlink-resolved home roots are denied, so a symlinked
145
- // home (e.g. /home/u -> /data/u) can't be bypassed by mounting the real root.
146
- const homeRoots = new Set([homeDir, realResolve(homeDir, realpath)]);
147
- const denylist = resolveDenylist(homeDir, opts.extraDenylist ?? [], realpath);
148
- for (const m of mounts) {
149
- const lexical = canonicalizeHostPath(m.host, homeDir);
150
- const resolved = realResolve(lexical, realpath);
151
- for (const candidate of new Set([lexical, resolved])) {
152
- assertCandidateAllowed(candidate, homeRoots, denylist);
153
- }
154
- }
155
- }
156
- // ---------------------------------------------------------------------------
157
- // stripCredentialEnv — drop every known credential env var.
158
- // ---------------------------------------------------------------------------
159
- /**
160
- * Exact credential env-var names dropped regardless of the family-suffix rules
161
- * below. Covers each adapter's token var (claude `ANTHROPIC_AUTH_TOKEN`, codex
162
- * `OPENAI_API_KEY`, opencode `OPENCODE_PROXY_TOKEN`) plus the GitHub durable-token
163
- * vars the opencode host-mint reads.
164
- */
165
- const NAMED_CREDENTIAL_VARS = new Set([
166
- 'ANTHROPIC_AUTH_TOKEN',
167
- 'ANTHROPIC_API_KEY',
168
- 'OPENAI_API_KEY',
169
- 'OPENCODE_PROXY_TOKEN',
170
- 'GITHUB_TOKEN',
171
- 'GH_TOKEN',
172
- 'COPILOT_GITHUB_TOKEN',
173
- ]);
174
- /**
175
- * Name prefixes whose entire family is credential-bearing and dropped wholesale.
176
- * The ANTHROPIC_ / OPENAI_ / OPENCODE_ / COPILOT_ families cover an adapter's full
177
- * env surface; GITHUB_ / GH_ cover the durable GitHub OAuth token the opencode
178
- * host-mint uses.
179
- */
180
- const CREDENTIAL_NAME_PREFIXES = [
181
- 'ANTHROPIC_',
182
- 'OPENAI_',
183
- 'OPENCODE_',
184
- 'COPILOT_',
185
- 'GITHUB_',
186
- 'GH_',
187
- ];
188
- /**
189
- * Name suffixes that mark a var as secret-bearing across any vendor. `*_API_KEY`,
190
- * `*_TOKEN`, `*_SECRET` — generalizes the runner's single-var strip to the whole
191
- * family so a forwarded `FOO_API_KEY` can never plant a real key in the guest's
192
- * PID-1 environment (readable via `/proc/1/environ`).
193
- */
194
- const CREDENTIAL_NAME_SUFFIXES = ['_API_KEY', '_TOKEN', '_SECRET'];
195
- /**
196
- * True when a name is a *secret-bearing token* by the named-set or the
197
- * `*_API_KEY`/`*_TOKEN`/`*_SECRET` suffix rule. Deliberately does NOT include the
198
- * vendor *prefix* families — this is the strip applied to adapter-injected runtime
199
- * env, which legitimately carries non-secret config like `ANTHROPIC_MODEL` /
200
- * `OPENAI_BASE_URL`. Those prefix families are dropped only from the operator boot
201
- * env (see {@link isCredentialEnvName}).
202
- */
203
- export function isCredentialTokenName(name) {
204
- const upper = name.toUpperCase();
205
- if (NAMED_CREDENTIAL_VARS.has(upper))
206
- return true;
207
- for (const suffix of CREDENTIAL_NAME_SUFFIXES) {
208
- if (upper.endsWith(suffix))
209
- return true;
210
- }
211
- return false;
212
- }
213
- /**
214
- * True when an env var name is credential-bearing under ANY rule: the named set, the
215
- * vendor prefix families (ANTHROPIC_ / OPENAI_ / OPENCODE_ / COPILOT_ / GITHUB_ /
216
- * GH_), or the `*_API_KEY`/`*_TOKEN`/`*_SECRET` suffix families. This is the strict
217
- * boot-env policy.
218
- */
219
- export function isCredentialEnvName(name) {
220
- if (isCredentialTokenName(name))
221
- return true;
222
- const upper = name.toUpperCase();
223
- for (const prefix of CREDENTIAL_NAME_PREFIXES) {
224
- if (upper.startsWith(prefix))
225
- return true;
226
- }
227
- return false;
228
- }
229
- /**
230
- * Return a copy of `env` with every credential-bearing var removed (the strict
231
- * boot-env policy — named set + vendor prefix families + secret suffixes). The guest
232
- * gets only placeholders (seeded into the per-VM `secretManager`, never the boot
233
- * env), so the real token never enters the VM. Generalizes the runner's
234
- * `buildForwardedEnv`, which strips only the single dispatched proxy token var.
235
- *
236
- * Use this for the operator-forwarded boot env. For adapter-injected RUNTIME env
237
- * (model/effort/base-url), use {@link stripCredentialTokenVars}, which preserves the
238
- * vendor-prefixed config knobs while still dropping any actual token.
239
- */
240
- export function stripCredentialEnv(env) {
241
- return stripBy(env, isCredentialEnvName);
242
- }
243
- /**
244
- * Return a copy of `env` with only secret-bearing TOKENS removed (named set + secret
245
- * suffixes), preserving non-secret vendor-prefixed config like `ANTHROPIC_MODEL` /
246
- * `OPENAI_BASE_URL`. Defense-in-depth for the adapter runtime env: even though the
247
- * real secret is delivered via the per-VM secretManager placeholder and never via an
248
- * env var, a token must never ride runtime env either.
249
- */
250
- export function stripCredentialTokenVars(env) {
251
- return stripBy(env, isCredentialTokenName);
252
- }
253
- function stripBy(env, drop) {
254
- const out = {};
255
- for (const [k, v] of Object.entries(env)) {
256
- if (drop(k))
257
- continue;
258
- out[k] = v;
259
- }
260
- return out;
261
- }
262
- //# sourceMappingURL=vm-guards.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vm-guards.js","sourceRoot":"","sources":["../../src/agent/vm-guards.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- // Generalized VM-substrate port (Gondolin object model).
2
- //
3
- // Where the earlier CLI-backed port mirrored that CLI's name-keyed verbs
4
- // (`create`/`start`/`stop`/`destroy`/`exec`), this port mirrors Gondolin's
5
- // object model: `createVm(opts)` hands back a `VmHandle` that owns `exec()` /
6
- // `close()`, and session discovery/GC is global — Gondolin owns the lifecycle
7
- // registry, replacing the earlier machine registry + the `_boot-vm` reaper.
8
- //
9
- // Domain code imports only this module (the hexagonal `domain↛adapters`
10
- // direction holds); the concrete adapter lives in `./gondolin.ts`. The handful
11
- // of Gondolin config types threaded through `CreateVmOptions`
12
- // (`HttpHooks`/`TcpOptions`/`DnsOptions`) are produced by the host credential
13
- // module + the ACP bridge and passed straight through to `VM.create` — this is
14
- // the single-adapter seam, so leaking those infra types here is deliberate and
15
- // cheap (the reaper-facing half — `listSessions`/`gc` — stays Gondolin-free).
16
- //
17
- // This is the live VM-substrate port; the runner and reconciler wire it.
18
- // Prefix used as the `sessionLabel` for every VM the orchestrator creates. The
19
- // reaper (and Gondolin session GC) filters the host's session set by this
20
- // prefix so a VM that survives a symphony restart is recognised as an orphan.
21
- export const SYMPHONY_VM_PREFIX = 'symphony-';
22
- //# sourceMappingURL=vm-port.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vm-port.js","sourceRoot":"","sources":["../../src/agent/vm-port.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,wEAAwE;AACxE,+EAA+E;AAC/E,8DAA8D;AAC9D,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,yEAAyE;AAKzE,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC"}