approval-md 0.1.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 (416) hide show
  1. package/README.md +629 -559
  2. package/SPEC.md +99 -24
  3. package/dist/src/adapters/agentmail.d.ts +426 -0
  4. package/dist/src/adapters/agentmail.js +2 -2
  5. package/dist/src/adapters/conformance.d.ts +149 -0
  6. package/dist/src/adapters/contract.d.ts +628 -0
  7. package/dist/src/adapters/contract.js +110 -16
  8. package/dist/src/adapters/contract.js.map +1 -1
  9. package/dist/src/adapters/email.d.ts +324 -0
  10. package/dist/src/adapters/env-passphrase.d.ts +93 -0
  11. package/dist/src/adapters/public.d.ts +11 -0
  12. package/dist/src/adapters/public.js +11 -0
  13. package/dist/src/adapters/public.js.map +1 -0
  14. package/dist/src/adapters/registry.d.ts +59 -0
  15. package/dist/src/adapters/registry.js +2 -1
  16. package/dist/src/adapters/registry.js.map +1 -1
  17. package/dist/src/adapters/smtp.d.ts +213 -0
  18. package/dist/src/adapters/vault-provider.d.ts +114 -0
  19. package/dist/src/adapters/vault-provider.js +3 -3
  20. package/dist/src/adapters/zzz.d.ts +66 -0
  21. package/dist/src/adapters/zzz.js +299 -0
  22. package/dist/src/adapters/zzz.js.map +1 -0
  23. package/dist/src/channels/batch.d.ts +109 -0
  24. package/dist/src/channels/cli.d.ts +193 -0
  25. package/dist/src/channels/conformance.d.ts +92 -0
  26. package/dist/src/channels/contract.d.ts +656 -0
  27. package/dist/src/channels/contract.js +200 -7
  28. package/dist/src/channels/contract.js.map +1 -1
  29. package/dist/src/channels/payload-view.d.ts +35 -0
  30. package/dist/src/channels/render-queue.d.ts +149 -0
  31. package/dist/src/channels/tagging.d.ts +196 -0
  32. package/dist/src/channels/telegram.d.ts +1944 -0
  33. package/dist/src/channels/telegram.js +218 -23
  34. package/dist/src/channels/telegram.js.map +1 -1
  35. package/dist/src/channels/web.d.ts +350 -0
  36. package/dist/src/channels/web.js +17 -0
  37. package/dist/src/channels/web.js.map +1 -1
  38. package/dist/src/cli/adapter.d.ts +90 -0
  39. package/dist/src/cli/adapter.js +25 -15
  40. package/dist/src/cli/adapter.js.map +1 -1
  41. package/dist/src/cli/amend.d.ts +59 -0
  42. package/dist/src/cli/amend.js +214 -30
  43. package/dist/src/cli/amend.js.map +1 -1
  44. package/dist/src/cli/args.d.ts +43 -0
  45. package/dist/src/cli/attest.d.ts +50 -0
  46. package/dist/src/cli/attest.js +134 -7
  47. package/dist/src/cli/attest.js.map +1 -1
  48. package/dist/src/cli/audit-card.d.ts +62 -0
  49. package/dist/src/cli/audit.d.ts +59 -0
  50. package/dist/src/cli/channel-telegram.d.ts +879 -0
  51. package/dist/src/cli/channel-telegram.js +311 -13
  52. package/dist/src/cli/channel-telegram.js.map +1 -1
  53. package/dist/src/cli/channel-web.d.ts +131 -0
  54. package/dist/src/cli/channel.d.ts +80 -0
  55. package/dist/src/cli/channel.js +9 -0
  56. package/dist/src/cli/channel.js.map +1 -1
  57. package/dist/src/cli/checkpoint-tap.d.ts +169 -0
  58. package/dist/src/cli/codex-bridge.d.ts +819 -0
  59. package/dist/src/cli/codex-bridge.js +1607 -0
  60. package/dist/src/cli/codex-bridge.js.map +1 -0
  61. package/dist/src/cli/codex.d.ts +2 -0
  62. package/dist/src/cli/codex.js +469 -0
  63. package/dist/src/cli/codex.js.map +1 -0
  64. package/dist/src/cli/coverage.d.ts +61 -0
  65. package/dist/src/cli/daemon.d.ts +120 -0
  66. package/dist/src/cli/daemon.js +4 -1
  67. package/dist/src/cli/daemon.js.map +1 -1
  68. package/dist/src/cli/doctor.d.ts +129 -0
  69. package/dist/src/cli/doctor.js +586 -17
  70. package/dist/src/cli/doctor.js.map +1 -1
  71. package/dist/src/cli/env.d.ts +65 -0
  72. package/dist/src/cli/execute.d.ts +202 -0
  73. package/dist/src/cli/execute.js +25 -2
  74. package/dist/src/cli/execute.js.map +1 -1
  75. package/dist/src/cli/exit-codes.d.ts +73 -0
  76. package/dist/src/cli/feedback.d.ts +60 -0
  77. package/dist/src/cli/gate-window.d.ts +40 -0
  78. package/dist/src/cli/gate.d.ts +68 -0
  79. package/dist/src/cli/git-scope.d.ts +190 -0
  80. package/dist/src/cli/gloss-attach.d.ts +85 -0
  81. package/dist/src/cli/gloss-codex-child.d.ts +9 -0
  82. package/dist/src/cli/gloss-codex.d.ts +24 -0
  83. package/dist/src/cli/gloss-options.d.ts +42 -0
  84. package/dist/src/cli/gloss.d.ts +265 -0
  85. package/dist/src/cli/help.d.ts +107 -0
  86. package/dist/src/cli/help.js +320 -93
  87. package/dist/src/cli/help.js.map +1 -1
  88. package/dist/src/cli/hook-codex.d.ts +126 -0
  89. package/dist/src/cli/hook-codex.js +226 -0
  90. package/dist/src/cli/hook-codex.js.map +1 -0
  91. package/dist/src/cli/hook.d.ts +787 -0
  92. package/dist/src/cli/hook.js +1235 -181
  93. package/dist/src/cli/hook.js.map +1 -1
  94. package/dist/src/cli/import.d.ts +35 -0
  95. package/dist/src/cli/import.js +1 -1
  96. package/dist/src/cli/import.js.map +1 -1
  97. package/dist/src/cli/init.d.ts +84 -0
  98. package/dist/src/cli/init.js +2 -2
  99. package/dist/src/cli/init.js.map +1 -1
  100. package/dist/src/cli/instructions.d.ts +23 -0
  101. package/dist/src/cli/journal.d.ts +41 -0
  102. package/dist/src/cli/log-advance.d.ts +287 -0
  103. package/dist/src/cli/log-advance.js +102 -11
  104. package/dist/src/cli/log-advance.js.map +1 -1
  105. package/dist/src/cli/log-anchor.d.ts +176 -0
  106. package/dist/src/cli/log-checkpoint.d.ts +22 -0
  107. package/dist/src/cli/log-sync.d.ts +243 -0
  108. package/dist/src/cli/log-verbs.d.ts +16 -0
  109. package/dist/src/cli/log-verbs.js +7 -1
  110. package/dist/src/cli/log-verbs.js.map +1 -1
  111. package/dist/src/cli/long-help.d.ts +70 -0
  112. package/dist/src/cli/main.d.ts +77 -0
  113. package/dist/src/cli/main.js +159 -7
  114. package/dist/src/cli/main.js.map +1 -1
  115. package/dist/src/cli/mcp.d.ts +52 -0
  116. package/dist/src/cli/paths.d.ts +56 -0
  117. package/dist/src/cli/payload.d.ts +58 -0
  118. package/dist/src/cli/policy-apply.d.ts +195 -0
  119. package/dist/src/cli/policy-apply.js +573 -0
  120. package/dist/src/cli/policy-apply.js.map +1 -0
  121. package/dist/src/cli/policy.d.ts +43 -0
  122. package/dist/src/cli/policy.js +14 -1
  123. package/dist/src/cli/policy.js.map +1 -1
  124. package/dist/src/cli/preflight.d.ts +501 -0
  125. package/dist/src/cli/preflight.js +689 -45
  126. package/dist/src/cli/preflight.js.map +1 -1
  127. package/dist/src/cli/progress.d.ts +78 -0
  128. package/dist/src/cli/prompt.d.ts +209 -0
  129. package/dist/src/cli/quickstart.d.ts +46 -0
  130. package/dist/src/cli/quickstart.js +297 -0
  131. package/dist/src/cli/quickstart.js.map +1 -0
  132. package/dist/src/cli/records.d.ts +34 -0
  133. package/dist/src/cli/render.d.ts +22 -0
  134. package/dist/src/cli/sandbox.d.ts +51 -0
  135. package/dist/src/cli/sandbox.js +17 -1
  136. package/dist/src/cli/sandbox.js.map +1 -1
  137. package/dist/src/cli/scaffold.d.ts +79 -0
  138. package/dist/src/cli/scaffold.js +1 -1
  139. package/dist/src/cli/setup-adapter.d.ts +137 -0
  140. package/dist/src/cli/setup-adapter.js +38 -4
  141. package/dist/src/cli/setup-adapter.js.map +1 -1
  142. package/dist/src/cli/setup-channel.d.ts +126 -0
  143. package/dist/src/cli/setup-channel.js +28 -1
  144. package/dist/src/cli/setup-channel.js.map +1 -1
  145. package/dist/src/cli/setup-checkpoint.d.ts +57 -0
  146. package/dist/src/cli/setup-common.d.ts +277 -0
  147. package/dist/src/cli/setup-common.js +3 -2
  148. package/dist/src/cli/setup-common.js.map +1 -1
  149. package/dist/src/cli/setup-flow.d.ts +287 -0
  150. package/dist/src/cli/setup-service.d.ts +96 -0
  151. package/dist/src/cli/setup.d.ts +204 -0
  152. package/dist/src/cli/setup.js +94 -2
  153. package/dist/src/cli/setup.js.map +1 -1
  154. package/dist/src/cli/style.d.ts +320 -0
  155. package/dist/src/cli/token.d.ts +39 -0
  156. package/dist/src/cli/up.d.ts +155 -0
  157. package/dist/src/cli/up.js +119 -53
  158. package/dist/src/cli/up.js.map +1 -1
  159. package/dist/src/cli/usage.d.ts +37 -0
  160. package/dist/src/cli/values.d.ts +40 -0
  161. package/dist/src/cli/values.js +3 -4
  162. package/dist/src/cli/values.js.map +1 -1
  163. package/dist/src/cli/vault.d.ts +59 -0
  164. package/dist/src/cli/vault.js +2 -2
  165. package/dist/src/cli/vault.js.map +1 -1
  166. package/dist/src/cli/verb-registry.d.ts +76 -0
  167. package/dist/src/cli/verb-registry.js +344 -11
  168. package/dist/src/cli/verb-registry.js.map +1 -1
  169. package/dist/src/cli/wordmark.d.ts +31 -0
  170. package/dist/src/cli/wordmark.js +2 -2
  171. package/dist/src/codex/broker.d.ts +229 -0
  172. package/dist/src/codex/broker.js +548 -0
  173. package/dist/src/codex/broker.js.map +1 -0
  174. package/dist/src/codex/doctor.d.ts +13 -0
  175. package/dist/src/codex/doctor.js +41 -0
  176. package/dist/src/codex/doctor.js.map +1 -0
  177. package/dist/src/codex/manifest.d.ts +49 -0
  178. package/dist/src/codex/manifest.js +103 -0
  179. package/dist/src/codex/manifest.js.map +1 -0
  180. package/dist/src/codex/runner.d.ts +178 -0
  181. package/dist/src/codex/runner.js +231 -0
  182. package/dist/src/codex/runner.js.map +1 -0
  183. package/dist/src/codex/serve.d.ts +56 -0
  184. package/dist/src/codex/serve.js +98 -0
  185. package/dist/src/codex/serve.js.map +1 -0
  186. package/dist/src/codex/templates.d.ts +41 -0
  187. package/dist/src/codex/templates.js +319 -0
  188. package/dist/src/codex/templates.js.map +1 -0
  189. package/dist/src/codex/trust.d.ts +19 -0
  190. package/dist/src/codex/trust.js +183 -0
  191. package/dist/src/codex/trust.js.map +1 -0
  192. package/dist/src/codex/workspace-commit.d.ts +219 -0
  193. package/dist/src/codex/workspace-commit.js +549 -0
  194. package/dist/src/codex/workspace-commit.js.map +1 -0
  195. package/dist/src/codex/workspace-plan.d.ts +131 -0
  196. package/dist/src/codex/workspace-plan.js +561 -0
  197. package/dist/src/codex/workspace-plan.js.map +1 -0
  198. package/dist/src/core/actor.d.ts +2 -0
  199. package/dist/src/core/actor.js +5 -0
  200. package/dist/src/core/actor.js.map +1 -0
  201. package/dist/src/core/advance-cycle.d.ts +221 -0
  202. package/dist/src/core/advance-cycle.js +66 -2
  203. package/dist/src/core/advance-cycle.js.map +1 -1
  204. package/dist/src/core/agents-md.d.ts +278 -0
  205. package/dist/src/core/agents-md.js +33 -31
  206. package/dist/src/core/agents-md.js.map +1 -1
  207. package/dist/src/core/apply-patch.d.ts +49 -0
  208. package/dist/src/core/apply-patch.js +266 -0
  209. package/dist/src/core/apply-patch.js.map +1 -0
  210. package/dist/src/core/attest.d.ts +635 -0
  211. package/dist/src/core/attest.js +326 -4
  212. package/dist/src/core/attest.js.map +1 -1
  213. package/dist/src/core/audit.d.ts +510 -0
  214. package/dist/src/core/audit.js +13 -0
  215. package/dist/src/core/audit.js.map +1 -1
  216. package/dist/src/core/budgets.d.ts +238 -0
  217. package/dist/src/core/channel-owner.d.ts +213 -0
  218. package/dist/src/core/channel-owner.js +358 -0
  219. package/dist/src/core/channel-owner.js.map +1 -0
  220. package/dist/src/core/checkpoint.d.ts +500 -0
  221. package/dist/src/core/child-env.d.ts +88 -0
  222. package/dist/src/core/clock.d.ts +52 -0
  223. package/dist/src/core/command-class.d.ts +697 -0
  224. package/dist/src/core/command-class.js +713 -25
  225. package/dist/src/core/command-class.js.map +1 -1
  226. package/dist/src/core/commit-guard.d.ts +272 -0
  227. package/dist/src/core/commit-guard.js +424 -0
  228. package/dist/src/core/commit-guard.js.map +1 -0
  229. package/dist/src/core/coverage-sources/adapter.d.ts +40 -0
  230. package/dist/src/core/coverage-sources/gh.d.ts +48 -0
  231. package/dist/src/core/coverage-sources/git.d.ts +101 -0
  232. package/dist/src/core/coverage.d.ts +217 -0
  233. package/dist/src/core/credential-spec.d.ts +72 -0
  234. package/dist/src/core/daemon-actor.d.ts +45 -0
  235. package/dist/src/core/daemon-actor.js +54 -0
  236. package/dist/src/core/daemon-actor.js.map +1 -0
  237. package/dist/src/core/dark-session.d.ts +432 -0
  238. package/dist/src/core/dark-session.js +266 -82
  239. package/dist/src/core/dark-session.js.map +1 -1
  240. package/dist/src/core/decision-refusal.d.ts +206 -0
  241. package/dist/src/core/decision-refusal.js +24 -2
  242. package/dist/src/core/decision-refusal.js.map +1 -1
  243. package/dist/src/core/env-file.d.ts +455 -0
  244. package/dist/src/core/env-file.js +60 -1
  245. package/dist/src/core/env-file.js.map +1 -1
  246. package/dist/src/core/execute.d.ts +871 -0
  247. package/dist/src/core/execute.js +59 -8
  248. package/dist/src/core/execute.js.map +1 -1
  249. package/dist/src/core/frontmatter.d.ts +78 -0
  250. package/dist/src/core/gate-window.d.ts +312 -0
  251. package/dist/src/core/gate.d.ts +1449 -0
  252. package/dist/src/core/gate.js +149 -14
  253. package/dist/src/core/gate.js.map +1 -1
  254. package/dist/src/core/gesture-refusal.d.ts +166 -0
  255. package/dist/src/core/gesture-refusal.js +188 -0
  256. package/dist/src/core/gesture-refusal.js.map +1 -0
  257. package/dist/src/core/git-run.d.ts +73 -0
  258. package/dist/src/core/harness-version.d.ts +157 -0
  259. package/dist/src/core/harness-version.js +4 -1
  260. package/dist/src/core/harness-version.js.map +1 -1
  261. package/dist/src/core/harness-wait.d.ts +55 -0
  262. package/dist/src/core/head-retry.d.ts +107 -0
  263. package/dist/src/core/instance.d.ts +310 -0
  264. package/dist/src/core/instance.js +113 -0
  265. package/dist/src/core/instance.js.map +1 -1
  266. package/dist/src/core/intake-limits.d.ts +247 -0
  267. package/dist/src/core/jcs.d.ts +52 -0
  268. package/dist/src/core/journal.d.ts +144 -0
  269. package/dist/src/core/live-draw.d.ts +436 -0
  270. package/dist/src/core/log-reconcile.d.ts +89 -0
  271. package/dist/src/core/log-subscribe.d.ts +36 -0
  272. package/dist/src/core/log-subscribe.js +162 -0
  273. package/dist/src/core/log-subscribe.js.map +1 -0
  274. package/dist/src/core/log.d.ts +316 -0
  275. package/dist/src/core/log.js.map +1 -1
  276. package/dist/src/core/loop.d.ts +274 -0
  277. package/dist/src/core/loop.js +11 -0
  278. package/dist/src/core/loop.js.map +1 -1
  279. package/dist/src/core/md-fence.d.ts +41 -0
  280. package/dist/src/core/money.d.ts +147 -0
  281. package/dist/src/core/payload-census.d.ts +74 -0
  282. package/dist/src/core/payload-store.d.ts +175 -0
  283. package/dist/src/core/payload.d.ts +71 -0
  284. package/dist/src/core/policy-diff.d.ts +292 -0
  285. package/dist/src/core/policy-diff.js +27 -4
  286. package/dist/src/core/policy-diff.js.map +1 -1
  287. package/dist/src/core/policy-expectations.d.ts +199 -0
  288. package/dist/src/core/policy-explain.d.ts +160 -0
  289. package/dist/src/core/policy-explain.js +63 -3
  290. package/dist/src/core/policy-explain.js.map +1 -1
  291. package/dist/src/core/policy-load.d.ts +567 -0
  292. package/dist/src/core/policy-load.js +36 -6
  293. package/dist/src/core/policy-load.js.map +1 -1
  294. package/dist/src/core/policy-match.d.ts +324 -0
  295. package/dist/src/core/policy-match.js +72 -9
  296. package/dist/src/core/policy-match.js.map +1 -1
  297. package/dist/src/core/policy-proposal.d.ts +317 -0
  298. package/dist/src/core/policy-proposal.js +102 -2
  299. package/dist/src/core/policy-proposal.js.map +1 -1
  300. package/dist/src/core/prompt-layout.d.ts +221 -0
  301. package/dist/src/core/protected-path-guard.d.ts +566 -0
  302. package/dist/src/core/protected-path-guard.js +848 -55
  303. package/dist/src/core/protected-path-guard.js.map +1 -1
  304. package/dist/src/core/question-preempted.d.ts +141 -0
  305. package/dist/src/core/question-preempted.js +152 -0
  306. package/dist/src/core/question-preempted.js.map +1 -0
  307. package/dist/src/core/read-scope.d.ts +172 -0
  308. package/dist/src/core/read-scope.js +252 -0
  309. package/dist/src/core/read-scope.js.map +1 -0
  310. package/dist/src/core/registration.d.ts +25 -0
  311. package/dist/src/core/reindex.d.ts +99 -0
  312. package/dist/src/core/sampler.d.ts +313 -0
  313. package/dist/src/core/sandbox.d.ts +371 -0
  314. package/dist/src/core/sandbox.js +190 -1
  315. package/dist/src/core/sandbox.js.map +1 -1
  316. package/dist/src/core/seal.d.ts +165 -0
  317. package/dist/src/core/sender-identity.d.ts +476 -0
  318. package/dist/src/core/sender-identity.js +572 -0
  319. package/dist/src/core/sender-identity.js.map +1 -0
  320. package/dist/src/core/shlex.d.ts +102 -0
  321. package/dist/src/core/shlex.js +159 -0
  322. package/dist/src/core/shlex.js.map +1 -0
  323. package/dist/src/core/state.d.ts +505 -0
  324. package/dist/src/core/task-file.d.ts +185 -0
  325. package/dist/src/core/telegram-config.d.ts +93 -0
  326. package/dist/src/core/token.d.ts +409 -0
  327. package/dist/src/core/token.js +21 -38
  328. package/dist/src/core/token.js.map +1 -1
  329. package/dist/src/core/validate.d.ts +138 -0
  330. package/dist/src/core/values.d.ts +147 -0
  331. package/dist/src/core/values.js +36 -1
  332. package/dist/src/core/values.js.map +1 -1
  333. package/dist/src/core/vault.d.ts +291 -0
  334. package/dist/src/core/verified-snapshot.d.ts +204 -0
  335. package/dist/src/core/verify.d.ts +336 -0
  336. package/dist/src/core/version.d.ts +8 -0
  337. package/dist/src/core/wysiwys.d.ts +370 -0
  338. package/dist/src/daemon/advance-child.d.ts +39 -0
  339. package/dist/src/daemon/advance.d.ts +476 -0
  340. package/dist/src/daemon/advance.js +25 -4
  341. package/dist/src/daemon/advance.js.map +1 -1
  342. package/dist/src/daemon/audit.d.ts +87 -0
  343. package/dist/src/daemon/daemon.d.ts +1180 -0
  344. package/dist/src/daemon/daemon.js +9 -0
  345. package/dist/src/daemon/daemon.js.map +1 -1
  346. package/dist/src/daemon/dark-session.d.ts +64 -0
  347. package/dist/src/daemon/draw-child.d.ts +36 -0
  348. package/dist/src/daemon/draw.d.ts +154 -0
  349. package/dist/src/daemon/git-evidence.d.ts +173 -0
  350. package/dist/src/daemon/git-evidence.js +1 -1
  351. package/dist/src/daemon/projection.d.ts +180 -0
  352. package/dist/src/daemon/prune.d.ts +207 -0
  353. package/dist/src/mcp/http.d.ts +113 -0
  354. package/dist/src/mcp/server.d.ts +265 -0
  355. package/dist/src/mcp/server.js +17 -1
  356. package/dist/src/mcp/server.js.map +1 -1
  357. package/docs/adapter-api.md +106 -0
  358. package/docs/cli-reference.md +1316 -63
  359. package/docs/codex-enforced-session.md +103 -0
  360. package/docs/codex-workspace-broker.md +118 -0
  361. package/package.json +14 -2
  362. package/schema/codex-instance.schema.json +82 -0
  363. package/schema/event.schema.json +539 -9
  364. package/schema/fixtures/codex-instance/invalid/unpinned-codex-version.json +40 -0
  365. package/schema/fixtures/codex-instance/valid/canonical.json +40 -0
  366. package/schema/fixtures/event/invalid/approval-granted-sender-hashed-false.json +20 -0
  367. package/schema/fixtures/event/invalid/approval-granted-sender-hashed-raw-id.json +20 -0
  368. package/schema/fixtures/event/invalid/audit-gesture-refused-human-actor.json +16 -0
  369. package/schema/fixtures/event/invalid/audit-gesture-refused-no-actor-no-sender.json +15 -0
  370. package/schema/fixtures/event/invalid/audit-gesture-refused-unknown-gesture.json +16 -0
  371. package/schema/fixtures/event/invalid/audit-question-preempted-agent-actor.json +16 -0
  372. package/schema/fixtures/event/invalid/audit-question-preempted-no-question-id.json +16 -0
  373. package/schema/fixtures/event/invalid/audit-question-preempted-unknown-source.json +15 -0
  374. package/schema/fixtures/event/invalid/gate-path-signed-off-absolute-path.json +14 -0
  375. package/schema/fixtures/event/invalid/gate-path-signed-off-agent-actor.json +14 -0
  376. package/schema/fixtures/event/invalid/gate-path-signed-off-missing-path.json +13 -0
  377. package/schema/fixtures/event/valid/approval-granted-sender-hashed.json +20 -0
  378. package/schema/fixtures/event/valid/audit-gesture-refused-review-note.json +21 -0
  379. package/schema/fixtures/event/valid/audit-gesture-refused-sender-key-unavailable.json +19 -0
  380. package/schema/fixtures/event/valid/audit-gesture-refused.json +19 -0
  381. package/schema/fixtures/event/valid/audit-question-preempted-no-verdict.json +16 -0
  382. package/schema/fixtures/event/valid/audit-question-preempted.json +20 -0
  383. package/schema/fixtures/event/valid/gate-path-signed-off.json +14 -0
  384. package/schema/fixtures/event/valid/harness-kind-claude-code.json +23 -0
  385. package/schema/fixtures/event/valid/harness-kind-codex.json +23 -0
  386. package/schema/fixtures/event/valid/harness-kind-cursor.json +23 -0
  387. package/schema/fixtures/event/valid/harness-kind-grok.json +23 -0
  388. package/schema/fixtures/event/valid/harness-kind-muse.json +23 -0
  389. package/schema/fixtures/policy/invalid/senders-half-keyed.json +20 -0
  390. package/schema/fixtures/policy/valid/canonical.json +1 -1
  391. package/schema/fixtures/policy/valid/senders-keyed.json +24 -0
  392. package/schema/fixtures/policy-md/valid/canonical.md +1 -1
  393. package/schema/fixtures/policy-md/valid/with-values.md +5 -7
  394. package/schema/fixtures/values/invalid/class-shaped.json +1 -1
  395. package/schema/fixtures/values/invalid/duplicate-entry.json +1 -1
  396. package/schema/fixtures/values/invalid/non-string-item.json +1 -1
  397. package/schema/fixtures/values/invalid/over-cap.json +1 -1
  398. package/schema/fixtures/values/invalid/unknown-key.json +1 -1
  399. package/schema/fixtures/values/invalid/version-float.json +1 -0
  400. package/schema/fixtures/values/invalid/version-integer.json +1 -0
  401. package/schema/fixtures/values/invalid/version-wrong-string.json +1 -0
  402. package/schema/fixtures/values/valid/empty-lists.json +2 -3
  403. package/schema/fixtures/values/valid/full.json +5 -7
  404. package/schema/fixtures/values/valid/minimal.json +1 -1
  405. package/schema/fixtures/values-md/invalid/schema-invalid.md +5 -3
  406. package/schema/fixtures/values-md/invalid/two-blocks.md +3 -3
  407. package/schema/fixtures/values-md/invalid/unterminated.md +2 -2
  408. package/schema/fixtures/values-md/invalid/version-1.md +69 -0
  409. package/schema/fixtures/values-md/invalid/version-unquoted.md +64 -0
  410. package/schema/fixtures/values-md/invalid/yaml-error.md +2 -2
  411. package/schema/fixtures/values-md/valid/absent.md +1 -1
  412. package/schema/fixtures/values-md/valid/with-values.md +5 -7
  413. package/schema/policy.schema.json +75 -3
  414. package/schema/values.schema.json +7 -11
  415. package/templates/codex/README.md +9 -0
  416. package/schema/fixtures/values/invalid/version-string.json +0 -1
@@ -0,0 +1,350 @@
1
+ /**
2
+ * The local web queue channel (SPEC.md §5.1 `channels.web.port`, §9, §10.3,
3
+ * §10.4, §11 — APRV-25).
4
+ *
5
+ * The third reference channel, and the only *pull* one. `cli` asks a question
6
+ * and waits for an answer; `telegram` pushes a message at a human who is
7
+ * elsewhere. This one serves a page: the queue sits at
8
+ * `http://127.0.0.1:4680/` and a human looks at it when they choose to. That
9
+ * difference is the design, not an accident of the transport — see "notify is a
10
+ * no-op" below.
11
+ *
12
+ * Everything the contract says about a channel still holds:
13
+ *
14
+ * - **It decides nothing.** A submitted form becomes a {@link ChannelDecision}
15
+ * handed to the handler the runtime registered, and that handler calls
16
+ * `recordChannelDecision` / `recordBatchDecisions`, which call the human-only
17
+ * `decide()` in `core/gate.ts`. TTL lapse, budget re-check, attestation,
18
+ * idempotency and compare-and-append apply to a button on a web page exactly
19
+ * as they apply to `approval grant`.
20
+ * - **It writes no log line and holds no decision state.** The only memory here
21
+ * is the map from action key to delivery id, which is delivery bookkeeping.
22
+ * It dies with the process; the approvals live in the log.
23
+ * - **It renders the computed/claimed split** (§9) and the full payload for
24
+ * manual actions (§10.4), and reports what it rendered through
25
+ * {@link WebChannel.lastRendered} so `channels/conformance.ts` can check it.
26
+ *
27
+ * ## 127.0.0.1 ONLY, and there is deliberately no --host
28
+ *
29
+ * {@link WebChannel.start} calls `listen(port, "127.0.0.1")` with the host
30
+ * **hard-coded**. There is no option, no flag and no environment variable that
31
+ * widens it, and adding one would be a SPEC.md amendment rather than a feature:
32
+ * this server has **no authentication at all** (see below), so the loopback
33
+ * interface is the entire access-control mechanism. A `--host 0.0.0.0` would
34
+ * turn "anyone with local access can approve" into "anyone on the coffee shop
35
+ * wifi can approve", silently, from a flag that reads like a convenience. The
36
+ * bound address is asserted by `tests/channels-web.test.ts`.
37
+ *
38
+ * ## No auth in v0.1 — the trust boundary, stated twice
39
+ *
40
+ * SPEC.md §11: *"Human identity in v0.1 is config-declared (an environment
41
+ * variable or flag); the trust boundary is the local machine, and anyone who
42
+ * can set that configuration and write to the log is inside it."*
43
+ *
44
+ * This channel authenticates nobody. Every decision it collects is recorded
45
+ * against the human actor the **runtime** was started with (`--as` /
46
+ * `APPROVAL_HUMAN`), so the guarantee is "someone with access to this machine
47
+ * approved", never "that specific person approved". Because the page *is* the
48
+ * decision surface, that caveat is printed on the page itself
49
+ * ({@link TRUST_BANNER}) as well as in `--help` and here: a human reading a
50
+ * queue in a browser tab should not have to have read the source to know what
51
+ * their click proves.
52
+ *
53
+ * APRV-324 gave the Telegram channel a way to say WHICH account decided, and
54
+ * deliberately gave this one nothing. The sender mapping keys on a fact the
55
+ * transport authenticates, and an unauthenticated form post authenticates
56
+ * nothing at all: a `sender` field in a body here would be the poster naming
57
+ * themselves. So this channel reports no sender, its decisions stay attributed
58
+ * to the configured actor whatever the policy says, and the policy schema
59
+ * refuses a `senders.web` key outright rather than carrying a mapping nothing
60
+ * backs.
61
+ *
62
+ * ## CSRF — inside the stated boundary, with cheap hardening. FLAGGED.
63
+ *
64
+ * There is no CSRF token in v0.1, and the reasoning is worth writing down
65
+ * because it is a deliberate omission rather than an oversight. A CSRF token
66
+ * defends a *session* — it stops a page on another origin from acting as an
67
+ * authenticated user. Here there is no session and no authentication: anything
68
+ * that can open a socket to 127.0.0.1:4680 can already POST directly, token or
69
+ * no token, because the trust boundary is the whole local machine. A token
70
+ * would defend against exactly one attacker: a web page, in a browser on this
71
+ * machine, that the human visited, that guessed the port. That attacker is
72
+ * inside the §11 boundary as written — and is also the most realistic one, so:
73
+ *
74
+ * - A same-origin **soft check** rejects (403) any POST whose `Origin` (or
75
+ * failing that, `Referer`) names something other than this server's own
76
+ * loopback origins. It is best effort: a request with neither header is
77
+ * allowed, because `curl`, `fetch` in a test, and a form POST from an older
78
+ * browser all send neither, and refusing them would break the documented
79
+ * scripting path to buy nothing (an attacker can omit a header too).
80
+ * - **Flagged for human review**: if v0.2 puts this server behind anything
81
+ * resembling a session, or widens the bind address, this stance must be
82
+ * revisited and a real anti-CSRF token added. The soft check is a speed bump,
83
+ * not a control.
84
+ *
85
+ * ## The token IS shown on the page — FLAGGED, and it differs from telegram
86
+ *
87
+ * `channels/telegram.ts` refuses to put an execution token in the chat, and
88
+ * prints it on the listener's stdout instead: a chat transcript lives on
89
+ * someone else's servers and is readable by anyone later added to the chat.
90
+ * This channel does the opposite and shows the raw token **once**, in the
91
+ * response page for the grant that minted it. The asymmetry is the point:
92
+ *
93
+ * - the page is served over loopback to the human who is deciding, right now;
94
+ * - the response is generated per request and persisted nowhere — no file, no
95
+ * log line, no `lastRendered()` entry (the notice is rendered and dropped);
96
+ * - the alternative is worse. On telegram the approver and the terminal are
97
+ * often the same person one room apart; here the browser *is* the surface the
98
+ * human is looking at, and sending them to hunt for a token on a daemon's
99
+ * stdout would push them toward copying tokens out of log files.
100
+ *
101
+ * The token is never written to the log (which holds only its SHA-256), never
102
+ * put in a URL (a query string lands in history), and never repeated: reload
103
+ * the response and it is gone. The channel itself does not even hold it — the
104
+ * runtime returns the notice text through {@link WebChannelOptions.decisionNotice}
105
+ * at render time, so a channel that logged its own outcomes would log nothing
106
+ * sensitive. **Flagged for human review** all the same: it is the one place in
107
+ * this codebase where a credential is rendered into a document a browser
108
+ * handles, and browsers cache, autofill and sync more than one expects.
109
+ *
110
+ * ## notify() is a no-op — pull, not push
111
+ *
112
+ * The queue *is* the notification surface. `notify()` records the request as
113
+ * deliverable (so a decision can be routed back to it), returns a synthetic
114
+ * delivery id, and sends nothing anywhere: there is nowhere to send it, since a
115
+ * web page is fetched rather than delivered. Everything the human sees is
116
+ * produced by `GET /`, which re-renders from the runtime's live queue
117
+ * ({@link WebChannelOptions.refresh}) whenever one is supplied. This is why
118
+ * `lastRendered()` reflects the most recent *render* — a GET when there has
119
+ * been one, the last `notify()` otherwise — and why both go through the same
120
+ * {@link renderWebRequest}: the conformance suite must be inspecting the thing a
121
+ * browser was actually served.
122
+ *
123
+ * ## Zero JavaScript required
124
+ *
125
+ * Every flow — grant, reject with a note, select-and-batch — is plain
126
+ * `<form method="post" enctype="application/x-www-form-urlencoded">`. The batch
127
+ * checkboxes live outside the batch form and are attached to it with the HTML5
128
+ * `form=` attribute (nested forms are illegal), so one page can carry per-request
129
+ * forms *and* a batch gesture with no script at all. A four-line inline script
130
+ * offers "select all" as a convenience; disable scripting and every flow still
131
+ * works, which is checked by the tests driving the server with `fetch` alone.
132
+ */
133
+ import { type Server } from "node:http";
134
+ import type { AddressInfo } from "node:net";
135
+ import { type PromptLayout } from "../core/prompt-layout.js";
136
+ import type { ChannelBatch, ChannelDecision, ChannelHealth, ChannelRequest, DecisionOutcome, DeliveryId, RenderedRequest, TestableChannel } from "./contract.js";
137
+ /** SPEC.md §5.1 `channels.web.port`. Used when policy and flags say nothing. */
138
+ export declare const WEB_DEFAULT_PORT = 4680;
139
+ /**
140
+ * The only address this server ever binds. Hard-coded; see the module header.
141
+ *
142
+ * Exported so the tests can assert the bound address against a constant rather
143
+ * than a literal they could drift from — not so a caller can substitute one.
144
+ */
145
+ export declare const WEB_LOOPBACK_HOST = "127.0.0.1";
146
+ /** The largest form body accepted. A queue page's POST is a few hundred bytes. */
147
+ export declare const WEB_MAX_BODY_BYTES: number;
148
+ /** The §11 caveat, rendered at the top of every page. */
149
+ export declare const TRUST_BANNER: string;
150
+ /** The full-payload delimiters (SPEC.md §10.4). Pinned by tests. */
151
+ export declare const PAYLOAD_BEGIN = "--- BEGIN FULL PAYLOAD";
152
+ export declare const PAYLOAD_END = "--- END FULL PAYLOAD ---";
153
+ /** Section headings. The computed/claimed split a reader must not have to infer. */
154
+ export declare const COMPUTED_HEADING = "COMPUTED \u2014 derived by the runtime from the verified log, the attested policy, the budget evaluator, the payload bytes and the clock";
155
+ export declare const CLAIMED_HEADING_PREFIX = "CLAIMED \u2014 authored by";
156
+ export declare const CLAIMED_HEADING_SUFFIX = "NOT verified by the runtime";
157
+ /** Badge markers, mirroring `channels/cli.ts` so the two channels read alike. */
158
+ export declare const COMPUTED_MARKER = "[computed]";
159
+ export declare const CLAIMED_MARKER = "[claimed]";
160
+ /**
161
+ * Escape every character that could change the structure of the document.
162
+ *
163
+ * A superset of `channels/telegram.ts`'s three: this channel interpolates into
164
+ * HTML **attribute** positions (checkbox values carry action keys, form ids
165
+ * carry them too), where a bare quote is as dangerous as a bare `<`. Applied
166
+ * uniformly to every interpolated value without exception — the claimed fields
167
+ * and the payload are authored by the party under oversight, and they are the
168
+ * entire injection surface of this page.
169
+ */
170
+ export declare function escapeHtml(text: string): string;
171
+ /**
172
+ * One field's value as display text. Deliberately total: an unrecognized shape
173
+ * is JSON-stringified rather than dropped, because a field the runtime tagged
174
+ * and the channel silently omitted is a field the approver did not see.
175
+ */
176
+ export declare function formatValue(field: string, value: unknown): string;
177
+ /** One rendered line, and the request member it came from. */
178
+ export interface WebLine {
179
+ field: string;
180
+ kind: "computed" | "claimed";
181
+ text: string;
182
+ origin: string;
183
+ }
184
+ /** The rendering split for one request; the HTML below is built from exactly this. */
185
+ export interface WebRendering {
186
+ actionKey: string;
187
+ computed: WebLine[];
188
+ claimed: WebLine[];
189
+ /** The claimed author, for the section heading. */
190
+ author: string;
191
+ /** The delimited payload region, or `null` when the request carries none. */
192
+ payloadText: string | null;
193
+ }
194
+ /** Build the split. Pure: no I/O, no clock, no HTML. */
195
+ export declare function renderWebRequest(request: ChannelRequest, layout?: PromptLayout): WebRendering;
196
+ /**
197
+ * The runtime's per-decision notice: text shown ONCE on the response page and
198
+ * kept nowhere.
199
+ *
200
+ * This is how a grant's raw execution token reaches the human without the
201
+ * channel ever holding it: `recordChannelDecision` returns the token to the
202
+ * *runtime*, the runtime returns this string at render time, the channel
203
+ * escapes it into one response and forgets it. It is not stored, not repeated
204
+ * on the next GET, and never included in {@link WebChannel.lastRendered}.
205
+ */
206
+ export type WebDecisionNotice = (decision: ChannelDecision, outcome: DecisionOutcome) => string | null | undefined;
207
+ /** One batch member's result, as the runtime reports it back to the channel. */
208
+ export interface WebBatchOutcome {
209
+ action_key: string;
210
+ outcome: DecisionOutcome;
211
+ /** Shown once on the response page (the token). Never stored. */
212
+ notice?: string;
213
+ }
214
+ /**
215
+ * The runtime's batch recorder. Registered with
216
+ * {@link WebChannel.onBatchDecision}; its body is a call to
217
+ * `channels/batch.ts`'s `recordBatchDecisions`, which is one `decide()` per
218
+ * member. When no batch handler is registered the channel falls back to the
219
+ * unit handler once per member with `batchDeliveryId` set — identical
220
+ * semantics, since `recordChannelDecision` encodes the id the same way.
221
+ */
222
+ export type WebBatchHandler = (decisions: ChannelDecision[], batchDeliveryId: DeliveryId) => WebBatchOutcome[] | Promise<WebBatchOutcome[]>;
223
+ export interface WebChannelOptions {
224
+ /** Port to bind. `0` asks the OS for an ephemeral one (tests). */
225
+ port?: number;
226
+ /** Channel name recorded for audit. Defaults to `web`. */
227
+ name?: string;
228
+ /**
229
+ * Which rows the page shows (APRV-218), from `channels.web.prompt`.
230
+ *
231
+ * Resolved by the verb, which has already loaded the policy; this channel
232
+ * neither reads a policy file nor holds an opinion about what an operator
233
+ * should see. Defaults to {@link WEB_PROMPT_LAYOUT}, so a channel constructed
234
+ * without one renders exactly what it rendered before the key existed.
235
+ */
236
+ layout?: PromptLayout;
237
+ /**
238
+ * The runtime's live pending queue, re-read on every GET.
239
+ *
240
+ * Optional: without it the page shows whatever was `notify`d. With it the
241
+ * page is a projection of the log as of the moment it was fetched, which is
242
+ * what makes a decided request disappear from the queue on the next reload.
243
+ * The channel never reads the log itself — this function belongs to the
244
+ * runtime, which is the only thing allowed to.
245
+ */
246
+ refresh?: () => ChannelRequest[];
247
+ /** Per-decision one-shot notice (the execution token). See {@link WebDecisionNotice}. */
248
+ decisionNotice?: WebDecisionNotice;
249
+ /** The configured approver, for display only. Never used to authorize. */
250
+ actorLabel?: string;
251
+ /** Where operational complaints go. Defaults to stderr. */
252
+ log?: (message: string) => void;
253
+ }
254
+ /** Delivery and traffic counters. Never decision state. */
255
+ export interface WebStats {
256
+ /** Requests registered by `notify`. */
257
+ notified: number;
258
+ /** `GET /` renders served. */
259
+ views: number;
260
+ /** Gestures handed to the runtime's handler. */
261
+ decisions: number;
262
+ /** POSTs refused before the handler: bad form, missing note, cross-origin. */
263
+ refused: number;
264
+ }
265
+ export declare class WebChannel implements TestableChannel {
266
+ readonly name: string;
267
+ private readonly configuredPort;
268
+ private readonly refresh;
269
+ private readonly notice;
270
+ private readonly actorLabel;
271
+ private readonly complain;
272
+ private handler;
273
+ private batchHandler;
274
+ /** Everything ever delivered, by action key. Delivery bookkeeping only. */
275
+ private readonly deliveries;
276
+ /** What the last render showed, in order. */
277
+ private pending;
278
+ private rendered;
279
+ private httpServer;
280
+ private counter;
281
+ private readonly counters;
282
+ /** The policy's row layout for this channel (APRV-218). Pure input to the rendering. */
283
+ private readonly layout;
284
+ constructor(options?: WebChannelOptions);
285
+ /**
286
+ * Register a request (or a batch) as deliverable and return its delivery id.
287
+ *
288
+ * Sends nothing: the queue page is pulled, not pushed (see the module
289
+ * header). The rendering split is computed here anyway, so `lastRendered()`
290
+ * is meaningful before anyone has opened a browser — and it is computed by
291
+ * the same {@link renderWebRequest} that produces the served HTML.
292
+ */
293
+ notify(target: ChannelRequest | ChannelBatch): DeliveryId;
294
+ onDecision(handler: (decision: ChannelDecision) => DecisionOutcome): void;
295
+ /** Register the runtime's batch recorder. Optional; see {@link WebBatchHandler}. */
296
+ onBatchDecision(handler: WebBatchHandler): void;
297
+ health(): ChannelHealth;
298
+ /** The most recent rendering — a GET when there has been one, else `notify`. */
299
+ lastRendered(): RenderedRequest[];
300
+ stats(): WebStats;
301
+ /** The bound address, or `null` when the server is not listening. */
302
+ address(): AddressInfo | null;
303
+ /** The bound port, or the configured one before {@link start}. */
304
+ get port(): number;
305
+ /** The underlying server, for tests that assert on the socket itself. */
306
+ get server(): Server | null;
307
+ /** The page's own origin, as a browser would send it. */
308
+ get origin(): string;
309
+ /**
310
+ * Bind and serve — on `127.0.0.1` and nowhere else.
311
+ *
312
+ * The host argument is a constant. See the module header for why there is
313
+ * deliberately no option to widen it.
314
+ */
315
+ start(): Promise<AddressInfo>;
316
+ /** Stop listening. Safe when never started. */
317
+ close(): Promise<void>;
318
+ private handle;
319
+ /**
320
+ * The best-effort same-origin check. Returns the offending origin, or `null`
321
+ * when the POST is acceptable.
322
+ *
323
+ * A request with neither `Origin` nor `Referer` is accepted: `curl`, a test's
324
+ * `fetch` and some browsers' form posts all send neither, and an attacker can
325
+ * omit a header as easily as anyone else — refusing them would cost the
326
+ * documented scripting path and buy nothing. See the module header's CSRF
327
+ * section, which is flagged for review.
328
+ */
329
+ private checkOrigin;
330
+ private readBody;
331
+ /** The live pending set: the runtime's queue when one is supplied. */
332
+ private currentRequests;
333
+ /**
334
+ * Render the queue. The `lastRendered()` report is built here, from the same
335
+ * values the HTML is built from — not from a parallel description of it.
336
+ */
337
+ private queuePage;
338
+ private decide;
339
+ private decideBatch;
340
+ /**
341
+ * The response page for a gesture.
342
+ *
343
+ * Not a redirect. A redirect-after-POST would either drop the one-shot notice
344
+ * or put an execution token in a URL, and a URL is exactly the place a
345
+ * credential must never be: it lands in history, in referrers, and in every
346
+ * proxy log between here and nowhere.
347
+ */
348
+ private outcomePage;
349
+ private send;
350
+ }
@@ -50,6 +50,15 @@
50
50
  * queue in a browser tab should not have to have read the source to know what
51
51
  * their click proves.
52
52
  *
53
+ * APRV-324 gave the Telegram channel a way to say WHICH account decided, and
54
+ * deliberately gave this one nothing. The sender mapping keys on a fact the
55
+ * transport authenticates, and an unauthenticated form post authenticates
56
+ * nothing at all: a `sender` field in a body here would be the poster naming
57
+ * themselves. So this channel reports no sender, its decisions stay attributed
58
+ * to the configured actor whatever the policy says, and the policy schema
59
+ * refuses a `senders.web` key outright rather than carrying a mapping nothing
60
+ * backs.
61
+ *
53
62
  * ## CSRF — inside the stated boundary, with cheap hardening. FLAGGED.
54
63
  *
55
64
  * There is no CSRF token in v0.1, and the reasoning is worth writing down
@@ -754,6 +763,14 @@ export class WebChannel {
754
763
  this.send(response, 503, this.queuePage("The runtime has not registered a decision handler yet, so nothing could be recorded. A channel never records its own decisions (SPEC.md §10.3)."));
755
764
  return;
756
765
  }
766
+ // APRV-324. Three fields are read off this form and a fourth is not: there
767
+ // is no `sender` here and there cannot be one. A form post carries no
768
+ // session, no origin binding and no authentication of any kind, so a
769
+ // `sender` field in the body would be the poster naming themselves — the
770
+ // self-reported field of SPEC.md §11.1 invariant 4 wearing an identity's
771
+ // clothes. This channel supplies none, the contract then keeps the actor
772
+ // the runtime was configured with, and a body that carries one is ignored
773
+ // exactly as any other unknown field is: never parsed, never forwarded.
757
774
  const decision = {
758
775
  action_key: actionKey,
759
776
  decision: verb,
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/channels/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0HG;AAEH,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAIjG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AAa9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE7C,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GACvB,oFAAoF;IACpF,kFAAkF;IAClF,sFAAsF;IACtF,8DAA8D,CAAC;AAEjE,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAEtD,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,qIAAqI,CAAC;AACxI,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAEpE,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;SACxB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,6EAA6E;AAC7E,SAAS,IAAI,CAAC,SAAiB,EAAE,KAAa;IAC5C,OAAO,IAAI,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,QAAQ,CAAC;IACxD,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,QAAQ,CAAC;IAC5D,OAAO,GAAG,OAAO,QAAQ,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACpD,OAAO,QAAQ;SACZ,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,cAAc,OAAO,CAAC,QAAQ,eAAe,OAAO,CAAC,SAAS,eAAe,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,CACzK;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAc;IACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC3D,IAAI,KAAK,KAAK,kBAAkB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5F,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,KAAwB,CAAC,CAAC;IAChG,IAAI,KAAK,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,MAAM,GAAI,KAAgE,CAAC,MAAM,CAAC;QACxF,MAAM,GAAG,GAAI,KAA2B,CAAC,GAAG,CAAC;QAC7C,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,gCAAgC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QACjF,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,OAAO,4DAA4D,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,OAAO,iEAAiE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACxF,CAAC;QACD,OAAO,gBAAgB,MAAM,CAAE,KAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,KAA8D,CAAC;QAC7E,OAAO,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;IACxG,CAAC;IACD,IAAI,KAAK,KAAK,cAAc,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,4DAA4D;AAC5D,SAAS,WAAW,CAAC,KAA2B;IAC9C,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;AACjE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CAAC,OAAuB,EAAE,MAAoB;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAA6C,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAa,MAAM,CAAC,KAAK,CAAC,MAAM,CAC3C,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtE,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAyBD,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAC9B,OAAuB,EACvB,MAAM,GAAiB,iBAAiB;IAExC,MAAM,OAAO,GAAG,OAAsE,CAAC;IACvF,MAAM,aAAa,GAAc,EAAE,CAAC;IACpC,MAAM,YAAY,GAAc,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,0EAA0E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,sBAAsB;QACtB,IAAI,IAAI,KAAK,aAAa;YAAE,SAAS;QACrC,MAAM,IAAI,GAAY;YACpB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;YACpC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC;SAC3B,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACnD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;IAC5C,MAAM,WAAW,GACf,SAAS,KAAK,IAAI;QAChB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,GAAG,aAAa,kBAAkB,SAAS,CAAC,IAAI,OAAO;YACvD,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YACjD,WAAW;YACX,GAAG,CAAC,SAAS,CAAC,SAAS;gBACrB,CAAC,CAAC,CAAC,iEAAiE,CAAC;gBACrE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;QACnC,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB;QAC5F,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ,CAAC,SAAuB,EAAE,eAA4B;IACrE,MAAM,MAAM,GAAoB,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3F,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,SAAS;QAC/B,MAAM;QACN,eAAe,EAAE,SAAS,CAAC,WAAW;QACtC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bb,CAAC;AAEF,qFAAqF;AACrF,MAAM,iBAAiB,GAAG;;;;;;;;CAQzB,CAAC;AAEF,SAAS,QAAQ,CAAC,IAAa;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IAC3E,OAAO,CACL,2CAA2C,UAAU,CAAC,MAAM,CAAC,UAAU;QACvE,sBAAsB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;QACtD,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC3F,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,SAAuB,EAAE,KAAa;IACzD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAa;QACtB,gBAAgB,UAAU,CAAC,EAAE,CAAC,IAAI;QAClC,aAAa,UAAU,CAAC,GAAG,CAAC,cAAc;QAC1C,sDAAsD,UAAU,CAAC,GAAG,CAAC,uDAAuD;QAC5H,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO;QAC1C,yBAAyB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;QAC1E,OAAO,UAAU,CAAC,GAAG,sBAAsB,IAAI,SAAS,CAAC,MAAM,MAAM,sBAAsB,EAAE,CAAC,OAAO;QACrG,wBAAwB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;KACzE,CAAC;IAEF,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CACR,gFAAgF,EAChF,wBAAwB,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,iBAAiB,EACjB,uCAAuC,EACvC,iDAAiD,UAAU,CAAC,GAAG,CAAC,IAAI,EACpE,qDAAqD,EACrD,iEAAiE,EACjE,sCAAsC,EACtC,SAAS,EACT,uCAAuC,EACvC,iDAAiD,UAAU,CAAC,GAAG,CAAC,IAAI,EACpE,sDAAsD,EACtD,oFAAoF,EACpF,uCAAuC,EACvC,SAAS,EACT,YAAY,CACb,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,IAAI,CAAC,KAAa,EAAE,IAAY;IACvC,OAAO;QACL,iBAAiB;QACjB,8CAA8C;QAC9C,sEAAsE;QACtE,UAAU,UAAU,CAAC,KAAK,CAAC,UAAU;QACrC,UAAU,KAAK,UAAU;QACzB,eAAe;QACf,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO;QAC/B,uBAAuB,UAAU,CAAC,YAAY,CAAC,QAAQ;QACvD,IAAI;QACJ,WAAW,iBAAiB,WAAW;QACvC,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,SAAS,SAAS,CAAC,UAAyB;IAC1C,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,sDAAsD,UAAU,CAAC,UAAU,CAAC,2FAA2F,CAAC;AACjL,CAAC;AA4FD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,UAAU;IACZ,IAAI,CAAS;IAEL,cAAc,CAAS;IACvB,OAAO,CAAkC;IACzC,MAAM,CAA2B;IACjC,UAAU,CAAgB;IAC1B,QAAQ,CAA4B;IAE7C,OAAO,GAA4D,IAAI,CAAC;IACxE,YAAY,GAA2B,IAAI,CAAC;IAEpD,2EAA2E;IAC1D,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1D,6CAA6C;IACrC,OAAO,GAAqB,EAAE,CAAC;IAC/B,QAAQ,GAAsB,EAAE,CAAC;IAEjC,UAAU,GAAkB,IAAI,CAAC;IACjC,OAAO,GAAG,CAAC,CAAC;IACH,QAAQ,GAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC1F,wFAAwF;IACvE,MAAM,CAAe;IAEtC,YAAY,OAAO,GAAsB,EAAE;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,GAAG;gBACX,CAAC,CAAC,OAAe,EAAE,EAAE;oBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAE5E;;;;;;;OAOG;IACH,MAAM,CAAC,MAAqC;QAC1C,MAAM,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QAEjF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC3C,UAAU;gBACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAClF,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,OAAuD;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,oFAAoF;IACpF,eAAe,CAAC,OAAwB;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzF,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,MAAM,EACJ,uBAAuB,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,qBAAqB;gBAC3E,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,kBAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,yBAAyB;gBACvF,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,iBAAiB,IAAI,CAAC,QAAQ,CAAC,OAAO,kBAAkB;SACrF,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK;QACH,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,OAAO;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC;QACnD,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC;IAED,kEAAkE;IAClE,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC;IACrD,CAAC;IAED,yEAAyE;IACzE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,yDAAyD;IACzD,IAAI,MAAM;QACR,OAAO,UAAU,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;;;;OAKG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAChD,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC3D,IAAI,CAAC,QAAQ,CACX,qDACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC,CAAC;gBACjF,CAAC;;oBAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAEzB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,CAAC,KAAY,EAAQ,EAAE;gBACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE;gBACzD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,OAAO,KAAK,IAAI;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;;oBACvE,OAAO,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAEpE,KAAK,CAAC,MAAM,CAAC,OAAwB,EAAE,QAAwB;QACrE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAE1D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,CAAC,EAAE,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,sDAAsD,MAAM,GAAG,CAAC,CAAC;gBAC/E,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CACF,uBAAuB,EACvB,sBAAsB,UAAU,CAC9B,gCAAgC,MAAM,qJAAqJ,CAC5L,QAAQ,CACV,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,uBAAuB,EAAE,sBAAsB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACtF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;gBACrD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,kCAAkC,EAAE,qBAAqB,CAAC,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,yBAAyB,EAAE,6CAA6C,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;;;;;OASG;IACK,WAAW,CAAC,OAAwB;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,MAAM;YAClE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC;QACb,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEpC,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QAC9E,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACnE,CAAC;IAEO,QAAQ,CACd,OAAwB;QAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAAmE,EAAQ,EAAE;gBAC3F,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACnC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;gBACrB,IAAI,IAAI,GAAG,kBAAkB,EAAE,CAAC;oBAC9B,MAAM,CAAC;wBACL,EAAE,EAAE,KAAK;wBACT,OAAO,EAAE,qBAAqB,kBAAkB,8BAA8B;qBAC/E,CAAC,CAAC;oBACH,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CACnC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAChF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E,sEAAsE;IAC9D,eAAe;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,KAAc,EAAE,MAAe;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAC/E,CAAC;QAEF,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpF,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,IAAI,CACP,MAAM,UAAU,CAAC,MAAM,gEAAgE,UAAU,CAAC,eAAe,CAAC,gCAAgC,UAAU,CAAC,cAAc,CAAC,kEAAkE,CAC/O,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,CACP,yDAAyD,EACzD,yIAAyI,EACzI,mHAAmH,EACnH,6DAA6D,EAC7D,2EAA2E,EAC3E,8EAA8E,EAC9E,+EAA+E,EAC/E,SAAS,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAEpE,KAAK,CAAC,MAAM,CAAC,IAAqB,EAAE,QAAwB;QAClE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CACZ,8GAA8G,CAC/G,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,YAAY;QACZ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CACZ,gCAAgC,SAAS,+FAA+F,CACzI,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CACZ,GAAG,SAAS,gGAAgG,CAC7G,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CACZ,iJAAiJ,CAClJ,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAoB;YAChC,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,uEAAuE;YACvE,qEAAqE;YACrE,8CAA8C;YAC9C,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACvC,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAqB,EAAE,QAAwB;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5F,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,gEAAgE,CAAC,CACjF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,iFAAiF,CAAC,CAClG,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CACZ,8GAA8G,CAC/G,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;YACzE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CACZ,GAAG,GAAG,4GAA4G,CACnH,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,2EAA2E;QAC3E,mEAAmE;QACnE,iEAAiE;QACjE,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAiB,SAAS,CAAC;YACxC,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,wBAAwB,CAAC,CAC5E,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,MAAM,eAAe,GAAG,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC5C,UAAU,EAAE,eAAe;gBAC3B,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9D,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;YACpC,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,eAAe;YAC3B,eAAe;YACf,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACvC,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GACX,EAAE,CAAC;QAEL,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACrE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC/E,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS;gBAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,CACP,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,8EAA8E,CAAC,CAC/F,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ;oBACR,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACK,WAAW,CACjB,OAAuF,EACvF,eAA4B;QAE5B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CACP,kBAAkB,UAAU,CAAC,eAAe,CAAC,aAAa,OAAO,CAAC,MAAM,qCAAqC,CAC9G,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACpC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CACP,cAAc,UAAU,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAC5M,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CACP,oCAAoC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CACjJ,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,IAAI,CACP,0KAA0K,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAC/M,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,IAAI,CAAC,QAAwB,EAAE,MAAc,EAAE,IAAY;QACjE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,cAAc,EAAE,0BAA0B;YAC1C,uEAAuE;YACvE,gDAAgD;YAChD,eAAe,EAAE,8CAA8C;YAC/D,iBAAiB,EAAE,aAAa;YAChC,wBAAwB,EAAE,SAAS;YACnC,yEAAyE;YACzE,wEAAwE;YACxE,yBAAyB,EACvB,gHAAgH;SACnH,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/channels/web.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * `approval adapter <name>` — execute an action through the adapter
3
+ * contract (SPEC.md §10.4; APRV-69, generalized in APRV-221).
4
+ *
5
+ * This is the CLI face of the adapters in {@link ADAPTER_CLIS} (`email` at
6
+ * v0.1), and it is deliberately the thinnest one in the repository. The name is
7
+ * a table lookup and the body below it is adapter-agnostic: a second adapter is
8
+ * an entry in the table and nothing else in this file.
9
+ *
10
+ * It resolves paths and identity, reads the
11
+ * payload bytes at the edge, builds the vault-backed credential provider, calls
12
+ * {@link executeThroughAdapter} once, and maps the result onto the frozen exit
13
+ * table. It does not verify a token, hash a payload, append an event, or open a
14
+ * socket: every one of those belongs to a layer that already owns it, and a verb
15
+ * that reimplemented any of them would be a second implementation of the rule.
16
+ *
17
+ * **Why the payload is a file (or stdin) and never a flag.** The bytes are the
18
+ * thing the grant or registered declaration bound, they routinely contain newlines, quotes and a
19
+ * £-sign, and a message body on a command line is a message body in the shell
20
+ * history and in `ps` output. `approval payload hash <file|->` and
21
+ * `approval request --payload <file>` take the same argument in the same form,
22
+ * so the same file travels from declaration to request to execution.
23
+ *
24
+ * **What `--json` prints is the contract's own result shape**, unmodified:
25
+ * `AdapterExecuteSuccess` on stdout for a completed send,
26
+ * `AdapterRefusal` on stderr for anything else. There is no CLI-flavoured
27
+ * summary, because a caller parsing this is a caller who wants to know
28
+ * `started_seq`, `outcome_seq` and `adapter_code` — and inventing a second
29
+ * vocabulary for them here would be a second thing to keep in step with
30
+ * `contract.ts`.
31
+ *
32
+ * ## Exit codes
33
+ *
34
+ * The `approval run` table, unchanged and shared with it through
35
+ * {@link executeRefusalExitCode}:
36
+ *
37
+ * | Situation | Code |
38
+ * |---|---|
39
+ * | the message was accepted by the far side | 0 |
40
+ * | usage: a missing required flag, a bad identity, an unparseable payload | 2 |
41
+ * | I/O: the payload file or the log could not be read | 4 |
42
+ * | `token-required` — no token was presented | 5 |
43
+ * | `log-torn-tail`, or an append that hit a torn tail | 3 |
44
+ * | anything else the runtime decided: `token-mismatch`, `token-consumed`, `payload-mismatch`, `adapter-class-mismatch`, `adapter-precheck-refused` (a drifted draft), `adapter-failed` (an SMTP refusal), `adapter-act-threw` | 1 |
45
+ *
46
+ * A refused SEND is exit 1 and not 5: the command was well-formed and the
47
+ * answer from the world was no. Exit 5 is the manual-path redirection to obtain
48
+ * a grant token, which is the distinction `run` already draws and the one an
49
+ * agent's retry logic keys on.
50
+ */
51
+ import { type Adapter } from "../adapters/contract.js";
52
+ import type { Streams } from "./main.js";
53
+ /** One adapter, as `approval adapter <name>` needs to see it. */
54
+ export interface AdapterCliEntry {
55
+ /** The verb's own help: printed for --help, and beside every usage error. */
56
+ help: string;
57
+ /**
58
+ * The adapter instance to execute through, built per invocation because
59
+ * `--timeout` is per invocation. Nothing else about the adapter is this
60
+ * verb's business: the contract routes, hashes, spends and appends.
61
+ */
62
+ build(options: {
63
+ timeoutMs?: number;
64
+ }): Adapter;
65
+ }
66
+ /**
67
+ * Every adapter this verb can execute, keyed by the `adapter <name>` name.
68
+ *
69
+ * The table IS the dispatch (APRV-221): a second adapter is a second entry
70
+ * here, and no line below this one names an adapter. `cli/setup-adapter.ts`
71
+ * holds the matching table for the credential side and `adapters/registry.ts`
72
+ * the roster the credential scrub reads. An adapter that ships is an entry in
73
+ * all three, which is three small tables rather than one import cycle between
74
+ * the CLI and the adapters.
75
+ */
76
+ export declare const ADAPTER_CLIS: Record<string, AdapterCliEntry>;
77
+ /** The known names, sorted, for a usage error and for the help text. */
78
+ export declare function knownAdapterNames(): string[];
79
+ /**
80
+ * `approval adapter <name> <action-key> [--token <t>] --payload <file|->`.
81
+ *
82
+ * One implementation for every entry in {@link ADAPTER_CLIS}: the name and the
83
+ * entry are arguments, and everything this function does (the flags, the
84
+ * payload read, the identity check, the vault, the exit table) is the same
85
+ * whichever adapter is on the other end. What differs between adapters is the
86
+ * contract's business, and the contract is not here.
87
+ */
88
+ export declare function commandAdapterExecute(name: string, entry: AdapterCliEntry, argv: string[], streams: Streams, cwd: string): Promise<number>;
89
+ /** `approval adapter <name>` — resolve the name through {@link ADAPTER_CLIS}. */
90
+ export declare function commandAdapter(argv: string[], streams: Streams, cwd: string): Promise<number>;