oh-my-codex 0.18.13 → 0.18.15

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 (360) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +41 -18
  4. package/dist/agents/__tests__/native-config.test.js +62 -0
  5. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  6. package/dist/agents/native-config.d.ts.map +1 -1
  7. package/dist/agents/native-config.js +15 -2
  8. package/dist/agents/native-config.js.map +1 -1
  9. package/dist/autopilot/__tests__/fsm.test.js +7 -0
  10. package/dist/autopilot/__tests__/fsm.test.js.map +1 -1
  11. package/dist/autopilot/__tests__/planner-routing.test.d.ts +2 -0
  12. package/dist/autopilot/__tests__/planner-routing.test.d.ts.map +1 -0
  13. package/dist/autopilot/__tests__/planner-routing.test.js +74 -0
  14. package/dist/autopilot/__tests__/planner-routing.test.js.map +1 -0
  15. package/dist/autopilot/__tests__/ralplan-gate.test.js +315 -0
  16. package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
  17. package/dist/autopilot/completion-gate.js +1 -1
  18. package/dist/autopilot/completion-gate.js.map +1 -1
  19. package/dist/autopilot/fsm.d.ts +2 -2
  20. package/dist/autopilot/fsm.d.ts.map +1 -1
  21. package/dist/autopilot/fsm.js +3 -0
  22. package/dist/autopilot/fsm.js.map +1 -1
  23. package/dist/autopilot/planner-routing.d.ts +21 -0
  24. package/dist/autopilot/planner-routing.d.ts.map +1 -0
  25. package/dist/autopilot/planner-routing.js +59 -0
  26. package/dist/autopilot/planner-routing.js.map +1 -0
  27. package/dist/autopilot/ralplan-gate.d.ts.map +1 -1
  28. package/dist/autopilot/ralplan-gate.js +30 -0
  29. package/dist/autopilot/ralplan-gate.js.map +1 -1
  30. package/dist/autoresearch/goal.d.ts.map +1 -1
  31. package/dist/autoresearch/goal.js +10 -1
  32. package/dist/autoresearch/goal.js.map +1 -1
  33. package/dist/cli/__tests__/autoresearch-goal.test.js +33 -0
  34. package/dist/cli/__tests__/autoresearch-goal.test.js.map +1 -1
  35. package/dist/cli/__tests__/autoresearch-guided.test.js +3 -0
  36. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
  37. package/dist/cli/__tests__/codex-plugin-layout.test.js +30 -0
  38. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  39. package/dist/cli/__tests__/doctor-artifact-ownership.test.d.ts +2 -0
  40. package/dist/cli/__tests__/doctor-artifact-ownership.test.d.ts.map +1 -0
  41. package/dist/cli/__tests__/doctor-artifact-ownership.test.js +158 -0
  42. package/dist/cli/__tests__/doctor-artifact-ownership.test.js.map +1 -0
  43. package/dist/cli/__tests__/doctor-explore-deprecated.test.d.ts +2 -0
  44. package/dist/cli/__tests__/doctor-explore-deprecated.test.d.ts.map +1 -0
  45. package/dist/cli/__tests__/doctor-explore-deprecated.test.js +33 -0
  46. package/dist/cli/__tests__/doctor-explore-deprecated.test.js.map +1 -0
  47. package/dist/cli/__tests__/doctor-spark-routing.test.js +13 -0
  48. package/dist/cli/__tests__/doctor-spark-routing.test.js.map +1 -1
  49. package/dist/cli/__tests__/doctor-warning-copy.test.js +132 -2
  50. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  51. package/dist/cli/__tests__/index.test.js +5 -0
  52. package/dist/cli/__tests__/index.test.js.map +1 -1
  53. package/dist/cli/__tests__/mcp-parity.test.js +40 -0
  54. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  55. package/dist/cli/__tests__/nested-help-routing.test.js +4 -0
  56. package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
  57. package/dist/cli/__tests__/package-bin-contract.test.js +7 -1
  58. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  59. package/dist/cli/__tests__/performance-goal.test.js +22 -0
  60. package/dist/cli/__tests__/performance-goal.test.js.map +1 -1
  61. package/dist/cli/__tests__/plugin-marketplace-idempotent.test.d.ts +2 -0
  62. package/dist/cli/__tests__/plugin-marketplace-idempotent.test.d.ts.map +1 -0
  63. package/dist/cli/__tests__/plugin-marketplace-idempotent.test.js +64 -0
  64. package/dist/cli/__tests__/plugin-marketplace-idempotent.test.js.map +1 -0
  65. package/dist/cli/__tests__/resume.test.js +96 -0
  66. package/dist/cli/__tests__/resume.test.js.map +1 -1
  67. package/dist/cli/__tests__/session-scoped-runtime.test.js +162 -0
  68. package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
  69. package/dist/cli/__tests__/session-search.test.js +36 -0
  70. package/dist/cli/__tests__/session-search.test.js.map +1 -1
  71. package/dist/cli/__tests__/setup-agents-overwrite.test.js +70 -1
  72. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  73. package/dist/cli/__tests__/setup-install-mode.test.js +33 -0
  74. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  75. package/dist/cli/__tests__/team.test.js +17 -3
  76. package/dist/cli/__tests__/team.test.js.map +1 -1
  77. package/dist/cli/__tests__/ultragoal.test.js +37 -0
  78. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  79. package/dist/cli/__tests__/update.test.js +81 -2
  80. package/dist/cli/__tests__/update.test.js.map +1 -1
  81. package/dist/cli/__tests__/url.test.d.ts +2 -0
  82. package/dist/cli/__tests__/url.test.d.ts.map +1 -0
  83. package/dist/cli/__tests__/url.test.js +82 -0
  84. package/dist/cli/__tests__/url.test.js.map +1 -0
  85. package/dist/cli/autoresearch-goal.d.ts.map +1 -1
  86. package/dist/cli/autoresearch-goal.js +2 -1
  87. package/dist/cli/autoresearch-goal.js.map +1 -1
  88. package/dist/cli/autoresearch-intake.d.ts.map +1 -1
  89. package/dist/cli/autoresearch-intake.js +2 -0
  90. package/dist/cli/autoresearch-intake.js.map +1 -1
  91. package/dist/cli/doctor.d.ts +39 -1
  92. package/dist/cli/doctor.d.ts.map +1 -1
  93. package/dist/cli/doctor.js +460 -40
  94. package/dist/cli/doctor.js.map +1 -1
  95. package/dist/cli/index.d.ts +2 -2
  96. package/dist/cli/index.d.ts.map +1 -1
  97. package/dist/cli/index.js +71 -4
  98. package/dist/cli/index.js.map +1 -1
  99. package/dist/cli/performance-goal.d.ts.map +1 -1
  100. package/dist/cli/performance-goal.js +4 -2
  101. package/dist/cli/performance-goal.js.map +1 -1
  102. package/dist/cli/plugin-marketplace.d.ts +1 -0
  103. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  104. package/dist/cli/plugin-marketplace.js +88 -67
  105. package/dist/cli/plugin-marketplace.js.map +1 -1
  106. package/dist/cli/project-runtime-codex-homes.d.ts +2 -0
  107. package/dist/cli/project-runtime-codex-homes.d.ts.map +1 -1
  108. package/dist/cli/project-runtime-codex-homes.js +112 -5
  109. package/dist/cli/project-runtime-codex-homes.js.map +1 -1
  110. package/dist/cli/setup.d.ts.map +1 -1
  111. package/dist/cli/setup.js +15 -6
  112. package/dist/cli/setup.js.map +1 -1
  113. package/dist/cli/ultragoal.d.ts.map +1 -1
  114. package/dist/cli/ultragoal.js +5 -1
  115. package/dist/cli/ultragoal.js.map +1 -1
  116. package/dist/cli/update.d.ts.map +1 -1
  117. package/dist/cli/update.js +23 -4
  118. package/dist/cli/update.js.map +1 -1
  119. package/dist/cli/url.d.ts +8 -0
  120. package/dist/cli/url.d.ts.map +1 -0
  121. package/dist/cli/url.js +69 -0
  122. package/dist/cli/url.js.map +1 -0
  123. package/dist/config/__tests__/codex-hooks.test.js +20 -4
  124. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  125. package/dist/config/__tests__/models.test.js +21 -1
  126. package/dist/config/__tests__/models.test.js.map +1 -1
  127. package/dist/config/codex-hooks.d.ts.map +1 -1
  128. package/dist/config/codex-hooks.js +1 -4
  129. package/dist/config/codex-hooks.js.map +1 -1
  130. package/dist/config/models.d.ts +5 -0
  131. package/dist/config/models.d.ts.map +1 -1
  132. package/dist/config/models.js +23 -0
  133. package/dist/config/models.js.map +1 -1
  134. package/dist/goal-workflows/codex-goal-snapshot.d.ts +2 -0
  135. package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -1
  136. package/dist/goal-workflows/codex-goal-snapshot.js +10 -0
  137. package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -1
  138. package/dist/hooks/__tests__/autopilot-skill-contract.test.js +7 -0
  139. package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
  140. package/dist/hooks/__tests__/keyword-detector.test.js +46 -0
  141. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  142. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +100 -0
  143. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  144. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +75 -0
  145. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  146. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +225 -0
  147. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  148. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +75 -0
  149. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  150. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +563 -0
  151. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  152. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +187 -12
  153. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  154. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +225 -0
  155. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  156. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +0 -0
  157. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
  158. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +75 -0
  159. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  160. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  161. package/dist/hooks/keyword-detector.js +4 -0
  162. package/dist/hooks/keyword-detector.js.map +1 -1
  163. package/dist/hud/__tests__/reconcile.test.js +137 -2
  164. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  165. package/dist/hud/__tests__/state.test.js +107 -0
  166. package/dist/hud/__tests__/state.test.js.map +1 -1
  167. package/dist/hud/__tests__/tmux.test.js +17 -0
  168. package/dist/hud/__tests__/tmux.test.js.map +1 -1
  169. package/dist/hud/reconcile.d.ts.map +1 -1
  170. package/dist/hud/reconcile.js +21 -7
  171. package/dist/hud/reconcile.js.map +1 -1
  172. package/dist/hud/render.d.ts.map +1 -1
  173. package/dist/hud/render.js +9 -0
  174. package/dist/hud/render.js.map +1 -1
  175. package/dist/hud/state.d.ts.map +1 -1
  176. package/dist/hud/state.js +43 -5
  177. package/dist/hud/state.js.map +1 -1
  178. package/dist/hud/types.d.ts +6 -0
  179. package/dist/hud/types.d.ts.map +1 -1
  180. package/dist/hud/types.js.map +1 -1
  181. package/dist/index.d.ts +1 -0
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +1 -0
  184. package/dist/index.js.map +1 -1
  185. package/dist/mcp/__tests__/bootstrap.test.js +24 -1
  186. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  187. package/dist/mcp/__tests__/state-paths.test.js +53 -0
  188. package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
  189. package/dist/mcp/bootstrap.d.ts +2 -0
  190. package/dist/mcp/bootstrap.d.ts.map +1 -1
  191. package/dist/mcp/bootstrap.js +32 -6
  192. package/dist/mcp/bootstrap.js.map +1 -1
  193. package/dist/mcp/state-paths.d.ts.map +1 -1
  194. package/dist/mcp/state-paths.js +11 -5
  195. package/dist/mcp/state-paths.js.map +1 -1
  196. package/dist/modes/__tests__/base-autopilot-gates.test.js +48 -0
  197. package/dist/modes/__tests__/base-autopilot-gates.test.js.map +1 -1
  198. package/dist/modes/base.d.ts.map +1 -1
  199. package/dist/modes/base.js +1 -0
  200. package/dist/modes/base.js.map +1 -1
  201. package/dist/notifications/__tests__/http-client.test.js +9 -0
  202. package/dist/notifications/__tests__/http-client.test.js.map +1 -1
  203. package/dist/notifications/http-client.js +1 -1
  204. package/dist/notifications/http-client.js.map +1 -1
  205. package/dist/performance-goal/artifacts.d.ts.map +1 -1
  206. package/dist/performance-goal/artifacts.js +10 -1
  207. package/dist/performance-goal/artifacts.js.map +1 -1
  208. package/dist/ralplan/__tests__/consensus-gate.test.js +112 -0
  209. package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
  210. package/dist/ralplan/consensus-gate.d.ts +23 -0
  211. package/dist/ralplan/consensus-gate.d.ts.map +1 -1
  212. package/dist/ralplan/consensus-gate.js +133 -21
  213. package/dist/ralplan/consensus-gate.js.map +1 -1
  214. package/dist/scripts/__tests__/codex-native-hook.test.js +1251 -13
  215. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  216. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  217. package/dist/scripts/codex-native-hook.js +601 -24
  218. package/dist/scripts/codex-native-hook.js.map +1 -1
  219. package/dist/scripts/notify-hook/team-leader-nudge.d.ts +1 -0
  220. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  221. package/dist/scripts/notify-hook/team-leader-nudge.js +279 -86
  222. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  223. package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
  224. package/dist/scripts/notify-hook/team-tmux-guard.js +87 -8
  225. package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
  226. package/dist/scripts/notify-hook/tmux-injection.js +1 -1
  227. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  228. package/dist/scripts/run-compiled-ci.d.ts +2 -0
  229. package/dist/scripts/run-compiled-ci.d.ts.map +1 -0
  230. package/dist/scripts/run-compiled-ci.js +77 -0
  231. package/dist/scripts/run-compiled-ci.js.map +1 -0
  232. package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -1
  233. package/dist/scripts/sync-plugin-mirror.js +1 -0
  234. package/dist/scripts/sync-plugin-mirror.js.map +1 -1
  235. package/dist/session-history/search.d.ts.map +1 -1
  236. package/dist/session-history/search.js +24 -9
  237. package/dist/session-history/search.js.map +1 -1
  238. package/dist/sidecar/__tests__/args.test.d.ts +2 -0
  239. package/dist/sidecar/__tests__/args.test.d.ts.map +1 -0
  240. package/dist/sidecar/__tests__/args.test.js +18 -0
  241. package/dist/sidecar/__tests__/args.test.js.map +1 -0
  242. package/dist/sidecar/index.d.ts.map +1 -1
  243. package/dist/sidecar/index.js +12 -4
  244. package/dist/sidecar/index.js.map +1 -1
  245. package/dist/state/__tests__/operations.test.js +107 -3
  246. package/dist/state/__tests__/operations.test.js.map +1 -1
  247. package/dist/state/operations.d.ts.map +1 -1
  248. package/dist/state/operations.js +57 -2
  249. package/dist/state/operations.js.map +1 -1
  250. package/dist/team/__tests__/delivery-e2e-smoke.test.js +22 -1
  251. package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
  252. package/dist/team/__tests__/model-contract.test.js +57 -1
  253. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  254. package/dist/team/__tests__/runtime.test.js +1468 -110
  255. package/dist/team/__tests__/runtime.test.js.map +1 -1
  256. package/dist/team/__tests__/scaling.test.js +63 -0
  257. package/dist/team/__tests__/scaling.test.js.map +1 -1
  258. package/dist/team/__tests__/state.test.js +24 -1
  259. package/dist/team/__tests__/state.test.js.map +1 -1
  260. package/dist/team/__tests__/tmux-session.test.js +512 -0
  261. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  262. package/dist/team/__tests__/worker-bootstrap.test.js +42 -9
  263. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  264. package/dist/team/model-contract.d.ts +16 -0
  265. package/dist/team/model-contract.d.ts.map +1 -1
  266. package/dist/team/model-contract.js +41 -1
  267. package/dist/team/model-contract.js.map +1 -1
  268. package/dist/team/runtime.d.ts.map +1 -1
  269. package/dist/team/runtime.js +116 -30
  270. package/dist/team/runtime.js.map +1 -1
  271. package/dist/team/scaling.d.ts.map +1 -1
  272. package/dist/team/scaling.js +9 -1
  273. package/dist/team/scaling.js.map +1 -1
  274. package/dist/team/state/types.d.ts +2 -0
  275. package/dist/team/state/types.d.ts.map +1 -1
  276. package/dist/team/state/types.js.map +1 -1
  277. package/dist/team/state.d.ts +3 -0
  278. package/dist/team/state.d.ts.map +1 -1
  279. package/dist/team/state.js +20 -0
  280. package/dist/team/state.js.map +1 -1
  281. package/dist/team/tmux-session.d.ts +38 -3
  282. package/dist/team/tmux-session.d.ts.map +1 -1
  283. package/dist/team/tmux-session.js +275 -36
  284. package/dist/team/tmux-session.js.map +1 -1
  285. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  286. package/dist/team/worker-bootstrap.js +26 -1
  287. package/dist/team/worker-bootstrap.js.map +1 -1
  288. package/dist/ultragoal/__tests__/artifacts.test.js +388 -0
  289. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  290. package/dist/ultragoal/__tests__/docs-contract.test.js +3 -0
  291. package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
  292. package/dist/ultragoal/artifacts.d.ts +23 -0
  293. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  294. package/dist/ultragoal/artifacts.js +275 -12
  295. package/dist/ultragoal/artifacts.js.map +1 -1
  296. package/dist/url-reader/__tests__/url-reader.test.d.ts +2 -0
  297. package/dist/url-reader/__tests__/url-reader.test.d.ts.map +1 -0
  298. package/dist/url-reader/__tests__/url-reader.test.js +433 -0
  299. package/dist/url-reader/__tests__/url-reader.test.js.map +1 -0
  300. package/dist/url-reader/index.d.ts +4 -0
  301. package/dist/url-reader/index.d.ts.map +1 -0
  302. package/dist/url-reader/index.js +522 -0
  303. package/dist/url-reader/index.js.map +1 -0
  304. package/dist/url-reader/types.d.ts +41 -0
  305. package/dist/url-reader/types.d.ts.map +1 -0
  306. package/dist/url-reader/types.js +2 -0
  307. package/dist/url-reader/types.js.map +1 -0
  308. package/dist/utils/__tests__/agents-md.test.js +39 -1
  309. package/dist/utils/__tests__/agents-md.test.js.map +1 -1
  310. package/dist/utils/__tests__/agents-model-table.test.js +28 -0
  311. package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
  312. package/dist/utils/agents-md.d.ts +4 -0
  313. package/dist/utils/agents-md.d.ts.map +1 -1
  314. package/dist/utils/agents-md.js +28 -0
  315. package/dist/utils/agents-md.js.map +1 -1
  316. package/dist/utils/agents-model-table.d.ts +7 -3
  317. package/dist/utils/agents-model-table.d.ts.map +1 -1
  318. package/dist/utils/agents-model-table.js +16 -8
  319. package/dist/utils/agents-model-table.js.map +1 -1
  320. package/dist/utils/platform-command.d.ts +7 -1
  321. package/dist/utils/platform-command.d.ts.map +1 -1
  322. package/dist/utils/platform-command.js +12 -1
  323. package/dist/utils/platform-command.js.map +1 -1
  324. package/dist/verification/__tests__/ci-rust-gates.test.js +4 -0
  325. package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
  326. package/dist/vscode/__tests__/index.test.d.ts +2 -0
  327. package/dist/vscode/__tests__/index.test.d.ts.map +1 -0
  328. package/dist/vscode/__tests__/index.test.js +236 -0
  329. package/dist/vscode/__tests__/index.test.js.map +1 -0
  330. package/dist/vscode/index.d.ts +76 -0
  331. package/dist/vscode/index.d.ts.map +1 -0
  332. package/dist/vscode/index.js +196 -0
  333. package/dist/vscode/index.js.map +1 -0
  334. package/package.json +3 -3
  335. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  336. package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +59 -8
  337. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +9 -5
  338. package/plugins/oh-my-codex/skills/autoresearch-goal/SKILL.md +3 -0
  339. package/plugins/oh-my-codex/skills/performance-goal/SKILL.md +3 -0
  340. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +1 -1
  341. package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +22 -4
  342. package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +2 -2
  343. package/plugins/oh-my-codex/skills/ultrawork/references/agent-tiers.md +61 -0
  344. package/skills/autopilot/SKILL.md +9 -5
  345. package/skills/autoresearch-goal/SKILL.md +3 -0
  346. package/skills/ecomode/SKILL.md +1 -1
  347. package/skills/ecomode/references/agent-tiers.md +61 -0
  348. package/skills/performance-goal/SKILL.md +3 -0
  349. package/skills/ralplan/SKILL.md +1 -1
  350. package/skills/ultragoal/SKILL.md +22 -4
  351. package/skills/ultrawork/SKILL.md +2 -2
  352. package/skills/ultrawork/references/agent-tiers.md +61 -0
  353. package/src/scripts/__tests__/codex-native-hook.test.ts +1560 -181
  354. package/src/scripts/codex-native-hook.ts +663 -24
  355. package/src/scripts/notify-hook/team-leader-nudge.ts +298 -91
  356. package/src/scripts/notify-hook/team-tmux-guard.ts +92 -8
  357. package/src/scripts/notify-hook/tmux-injection.ts +1 -1
  358. package/src/scripts/run-compiled-ci.ts +85 -0
  359. package/src/scripts/sync-plugin-mirror.ts +1 -0
  360. package/templates/AGENTS.md +6 -0
@@ -9,8 +9,7 @@ export const RALPLAN_CONSENSUS_BLOCKED_REASONS = {
9
9
  };
10
10
  export function buildRalplanConsensusGateFromSources(sources, options = {}) {
11
11
  let nativeBlockedEvidence = null;
12
- let validEvidence = null;
13
- let invalidCompleteEvidence = null;
12
+ let firstCompleteEvidence = null;
14
13
  for (const candidate of sources) {
15
14
  const evidence = resolveConsensusEvidence(candidate.value);
16
15
  const candidateOptions = {
@@ -18,7 +17,9 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
18
17
  sessionId: options.sessionId ?? candidate.sessionId,
19
18
  };
20
19
  if (evidence?.kind === 'invalid') {
21
- invalidCompleteEvidence ??= { ...evidence, source: candidate.source };
20
+ if (isConsensusEvidenceNewerThanSelected(evidence, firstCompleteEvidence)) {
21
+ firstCompleteEvidence = { ...evidence, source: candidate.source };
22
+ }
22
23
  continue;
23
24
  }
24
25
  if (evidence?.kind === 'valid') {
@@ -27,27 +28,29 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
27
28
  nativeBlockedEvidence ??= { ...evidence, source: candidate.source, options: candidateOptions };
28
29
  continue;
29
30
  }
30
- validEvidence ??= { ...evidence, source: candidate.source };
31
+ if (isConsensusEvidenceNewerThanSelected(evidence, firstCompleteEvidence)) {
32
+ firstCompleteEvidence = { ...evidence, source: candidate.source };
33
+ }
31
34
  }
32
35
  }
33
- if (invalidCompleteEvidence) {
36
+ if (firstCompleteEvidence?.kind === 'invalid') {
34
37
  return {
35
38
  complete: false,
36
39
  sequence: ['architect-review', 'critic-review'],
37
- ralplan_architect_review: invalidCompleteEvidence.ralplan_architect_review,
38
- ralplan_critic_review: invalidCompleteEvidence.ralplan_critic_review,
39
- source: invalidCompleteEvidence.source,
40
+ ralplan_architect_review: firstCompleteEvidence.ralplan_architect_review,
41
+ ralplan_critic_review: firstCompleteEvidence.ralplan_critic_review,
42
+ source: firstCompleteEvidence.source,
40
43
  blockedReason: RALPLAN_CONSENSUS_BLOCKED_REASONS.nonApprovingReview,
41
- blockedDetails: invalidCompleteEvidence.blockedDetails,
44
+ blockedDetails: firstCompleteEvidence.blockedDetails,
42
45
  };
43
46
  }
44
- if (validEvidence) {
47
+ if (firstCompleteEvidence?.kind === 'valid') {
45
48
  return {
46
49
  complete: true,
47
50
  sequence: ['architect-review', 'critic-review'],
48
- ralplan_architect_review: validEvidence.ralplan_architect_review,
49
- ralplan_critic_review: validEvidence.ralplan_critic_review,
50
- source: validEvidence.source,
51
+ ralplan_architect_review: firstCompleteEvidence.ralplan_architect_review,
52
+ ralplan_critic_review: firstCompleteEvidence.ralplan_critic_review,
53
+ source: firstCompleteEvidence.source,
51
54
  blockedReason: null,
52
55
  };
53
56
  }
@@ -64,6 +67,7 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
64
67
  trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_architect_review, 'architect', nativeBlockedEvidence.options),
65
68
  trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_critic_review, 'critic', nativeBlockedEvidence.options),
66
69
  ].filter((detail) => Boolean(detail)),
70
+ diagnostic: buildTrackerBackedNativeConsensusDiagnostic(nativeBlockedEvidence, nativeBlockedEvidence.options),
67
71
  };
68
72
  }
69
73
  return {
@@ -136,12 +140,18 @@ function resolveConsensusEvidence(value) {
136
140
  const advancedReviewCycle = explicitFreshnessReviewCycle(record);
137
141
  const staleReturnToRalplanCycle = returnToRalplanCycle && advancedReviewCycle === null;
138
142
  const directGate = resolveDirectGate(record);
139
- if (directGate?.kind === 'invalid')
140
- return directGate;
141
- if (directGate
142
- && (!returnToRalplanCycle
143
- || (advancedReviewCycle !== null && reviewsCarryFreshnessCycle(directGate, advancedReviewCycle))))
144
- return directGate;
143
+ let deferredOrderedDirectGate = null;
144
+ if (directGate) {
145
+ if (!returnToRalplanCycle)
146
+ return directGate;
147
+ if (advancedReviewCycle !== null) {
148
+ if (reviewsCarryFreshnessCycle(directGate, advancedReviewCycle))
149
+ return directGate;
150
+ }
151
+ else if (!hasExplicitReturnToRalplanReviewCycle(record) && consensusEvidenceOrder(directGate) !== null) {
152
+ deferredOrderedDirectGate = directGate;
153
+ }
154
+ }
145
155
  const handoffArtifactsAreStale = staleReturnToRalplanCycle;
146
156
  const topLevelHandoffArtifacts = handoffArtifactsAreStale ? null : asRecord(record.handoff_artifacts);
147
157
  if (topLevelHandoffArtifacts) {
@@ -160,6 +170,8 @@ function resolveConsensusEvidence(value) {
160
170
  if (evidence)
161
171
  return evidence;
162
172
  }
173
+ if (deferredOrderedDirectGate)
174
+ return deferredOrderedDirectGate;
163
175
  if (returnToRalplanCycle && advancedReviewCycle === null)
164
176
  return null;
165
177
  const directArchitectReview = asRecord(record.ralplan_architect_review);
@@ -273,8 +285,49 @@ function explicitFreshnessReviewCycle(record) {
273
285
  : null;
274
286
  }
275
287
  function reviewsCarryFreshnessCycle(evidence, reviewCycle) {
276
- return evidence.kind === 'valid'
277
- && reviewPairCarriesFreshnessCycle(evidence.ralplan_architect_review, evidence.ralplan_critic_review, reviewCycle);
288
+ return reviewPairCarriesFreshnessCycle(evidence.ralplan_architect_review, evidence.ralplan_critic_review, reviewCycle);
289
+ }
290
+ function isConsensusEvidenceNewerThanSelected(evidence, selected) {
291
+ if (!selected)
292
+ return true;
293
+ const evidenceCycle = consensusEvidenceReviewCycle(evidence);
294
+ const selectedCycle = consensusEvidenceReviewCycle(selected);
295
+ if (evidenceCycle !== null || selectedCycle !== null) {
296
+ if (selectedCycle === null)
297
+ return true;
298
+ if (evidenceCycle === null)
299
+ return false;
300
+ if (evidenceCycle !== selectedCycle)
301
+ return evidenceCycle > selectedCycle;
302
+ }
303
+ const evidenceOrder = consensusEvidenceOrder(evidence);
304
+ const selectedOrder = consensusEvidenceOrder(selected);
305
+ if (evidenceOrder !== null || selectedOrder !== null) {
306
+ if (selectedOrder === null)
307
+ return true;
308
+ if (evidenceOrder === null)
309
+ return false;
310
+ if (evidenceOrder !== selectedOrder)
311
+ return evidenceOrder > selectedOrder;
312
+ }
313
+ return false;
314
+ }
315
+ function consensusEvidenceReviewCycle(evidence) {
316
+ return maxKnownNumber(numericValue(evidence.ralplan_architect_review?.review_cycle ?? evidence.ralplan_architect_review?.reviewCycle), numericValue(evidence.ralplan_critic_review?.review_cycle ?? evidence.ralplan_critic_review?.reviewCycle));
317
+ }
318
+ function consensusEvidenceOrder(evidence) {
319
+ return maxKnownNumber(reviewOrderValue(evidence.ralplan_architect_review ?? {}), reviewOrderValue(evidence.ralplan_critic_review ?? {}));
320
+ }
321
+ function maxKnownNumber(left, right) {
322
+ if (left === null)
323
+ return right;
324
+ if (right === null)
325
+ return left;
326
+ return Math.max(left, right);
327
+ }
328
+ function hasExplicitReturnToRalplanReviewCycle(record) {
329
+ return numericValue(record.review_cycle ?? record.reviewCycle) !== null
330
+ || numericValue(record.return_to_ralplan_parent_review_cycle ?? record.returnToRalplanParentReviewCycle) !== null;
278
331
  }
279
332
  function reviewPairCarriesFreshnessCycle(architectReview, criticReview, reviewCycle) {
280
333
  return reviewCarriesFreshnessCycle(architectReview, reviewCycle)
@@ -376,6 +429,65 @@ function hasTrackerBackedNativeRalplanLanes(evidence, options) {
376
429
  function nativeReviewThreadId(review) {
377
430
  return typeof review?.thread_id === 'string' ? review.thread_id.trim() : '';
378
431
  }
432
+ function currentTransitionSessionId(evidence, options) {
433
+ const transitionSessionId = typeof options.sessionId === 'string' ? options.sessionId.trim() : '';
434
+ return transitionSessionId
435
+ || nativeReviewSessionId(evidence.ralplan_architect_review)
436
+ || nativeReviewSessionId(evidence.ralplan_critic_review);
437
+ }
438
+ function buildTrackerBackedNativeConsensusDiagnostic(evidence, options) {
439
+ const cwd = typeof options.cwd === 'string' ? options.cwd.trim() : '';
440
+ const trackerPath = cwd ? subagentTrackingPath(cwd) : '.omx/state/subagent-tracking.json';
441
+ const currentSessionId = currentTransitionSessionId(evidence, options);
442
+ const architectThreadId = nativeReviewThreadId(evidence.ralplan_architect_review);
443
+ const criticThreadId = nativeReviewThreadId(evidence.ralplan_critic_review);
444
+ return {
445
+ expected_schema: [
446
+ '.omx/state/subagent-tracking.json contains:',
447
+ 'sessions["<current_session_id>"].threads["<architect_thread_id>"].kind = "subagent"',
448
+ 'sessions["<current_session_id>"].threads["<critic_thread_id>"].kind = "subagent"',
449
+ 'both threads have completed_at',
450
+ 'architect and critic thread IDs are distinct',
451
+ ],
452
+ current_session_id: currentSessionId || null,
453
+ tracker_path: trackerPath,
454
+ architect: buildNativeReviewDiagnostic(evidence.ralplan_architect_review, 'architect', options),
455
+ critic: buildNativeReviewDiagnostic(evidence.ralplan_critic_review, 'critic', options),
456
+ distinct_thread_ids: architectThreadId && criticThreadId ? architectThreadId !== criticThreadId : null,
457
+ pair_problem: trackerBackedNativeReviewPairProblem(evidence, options),
458
+ remediation: [
459
+ 'Re-run native ralplan Architect/Critic reviews.',
460
+ 'Or repair the review artifact so agent_role, provenance_kind, session_id, thread_id, and tracker_path point to completed native subagent threads in the current tracker.',
461
+ ],
462
+ docs: 'docs/contracts/ralplan-consensus-gate.md',
463
+ };
464
+ }
465
+ function buildNativeReviewDiagnostic(review, agentRole, options) {
466
+ const cwd = typeof options.cwd === 'string' ? options.cwd.trim() : '';
467
+ const trackerPath = cwd ? subagentTrackingPath(cwd) : '.omx/state/subagent-tracking.json';
468
+ const problem = trackerBackedNativeReviewProblem(review, agentRole, options);
469
+ const sessionId = review
470
+ ? (typeof options.sessionId === 'string' && options.sessionId.trim()
471
+ ? options.sessionId.trim()
472
+ : nativeReviewSessionId(review))
473
+ : '';
474
+ const threadId = nativeReviewThreadId(review);
475
+ const tracking = cwd && sessionId ? readJsonState(trackerPath) : null;
476
+ const session = asRecord(asRecord(tracking?.sessions)?.[sessionId]);
477
+ const thread = asRecord(asRecord(session?.threads)?.[threadId]);
478
+ const completedAt = typeof thread?.completed_at === 'string' ? thread.completed_at.trim() : '';
479
+ return {
480
+ role: agentRole,
481
+ session_id: sessionId || null,
482
+ thread_id: threadId || null,
483
+ tracker_path: trackerPath,
484
+ session_found: Boolean(session),
485
+ thread_found: Boolean(thread),
486
+ kind: typeof thread?.kind === 'string' ? thread.kind : null,
487
+ completed: Boolean(completedAt),
488
+ problem,
489
+ };
490
+ }
379
491
  function trackerBackedNativeReviewPairProblem(evidence, options) {
380
492
  const architectThreadId = nativeReviewThreadId(evidence.ralplan_architect_review);
381
493
  const criticThreadId = nativeReviewThreadId(evidence.ralplan_critic_review);
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-gate.js","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,6BAA6B,EAAE,4CAA4C;IAC3E,kBAAkB,EAAE,wCAAwC;IAC5D,yBAAyB,EAAE,mDAAmD;CACtE,CAAC;AAsCX,MAAM,UAAU,oCAAoC,CAClD,OAAiC,EACjC,UAAiD,EAAE;IAEnD,IAAI,qBAAqB,GAKd,IAAI,CAAC;IAChB,IAAI,aAAa,GAIN,IAAI,CAAC;IAChB,IAAI,uBAAuB,GAKhB,IAAI,CAAC;IAEhB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG;YACvB,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;SACpD,CAAC;QACF,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,uBAAuB,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;YACtE,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,IACE,OAAO,CAAC,sBAAsB;mBAC3B,CAAC,kCAAkC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAClE,CAAC;gBACD,qBAAqB,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBAC/F,SAAS;YACX,CAAC;YACD,aAAa,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;YAC/C,wBAAwB,EAAE,uBAAuB,CAAC,wBAAwB;YAC1E,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;YACpE,MAAM,EAAE,uBAAuB,CAAC,MAAM;YACtC,aAAa,EAAE,iCAAiC,CAAC,kBAAkB;YACnE,cAAc,EAAE,uBAAuB,CAAC,cAAc;SACvD,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;YAC/C,wBAAwB,EAAE,aAAa,CAAC,wBAAwB;YAChE,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;YAC1D,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;YAC/C,wBAAwB,EAAE,qBAAqB,CAAC,wBAAwB;YACxE,qBAAqB,EAAE,qBAAqB,CAAC,qBAAqB;YAClE,MAAM,EAAE,qBAAqB,CAAC,MAAM;YACpC,aAAa,EAAE,iCAAiC,CAAC,6BAA6B;YAC9E,cAAc,EAAE;gBACd,oCAAoC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,CAAC;gBAC1F,gCAAgC,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC;gBAC5H,gCAAgC,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC;aACvH,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;QAC/C,wBAAwB,EAAE,IAAI;QAC9B,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,iCAAiC,CAAC,yBAAyB;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,GAAW,EACX,UAAyG,EAAE;IAE3G,MAAM,oBAAoB,GAAG,wCAAwC,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC;SAC1F,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,SAAS;QACZ,KAAK,EAAE,OAAO,CAAC,SAAS;YACtB,CAAC,CAAC,gCAAgC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;YACtE,CAAC,CAAC,SAAS,CAAC,KAAK;KACpB,CAAC,CAAC,CAAC;IACN,OAAO,oCAAoC,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACtB,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;YAC/D;gBACE,MAAM,EAAE,gCAAgC;gBACxC,KAAK,EAAE,gCAAgC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;aACtF;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,oBAAoB;KACxB,EAAE;QACD,GAAG;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;KACvD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,GAAW,EACX,UAAyG,EAAE;IAE3G,OAAO,+BAA+B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,GAAW,EACX,SAAkB;IAElB,MAAM,eAAe,GAAG,SAAS,KAAK,SAAS,CAAC;IAChD,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,eAAe,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,UAAU,GAA+C,aAAa,CAAC,MAAM,GAAG,CAAC;QACrF,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC;SACpC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG;YACH,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC;SACvC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACvD,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE;QACpD,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,EAAE,SAAS,EAAE;KACvD,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,yBAAyB,GAAG,oBAAoB,IAAI,mBAAmB,KAAK,IAAI,CAAC;IACvF,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IACtD,IACE,UAAU;WACP,CACD,CAAC,oBAAoB;eAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CACjG;QACD,OAAO,UAAU,CAAC;IAEpB,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;IAC3D,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtG,IAAI,wBAAwB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,gCAAgC,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9G,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,4BAA4B,GAAG,WAAW,KAAK,IAAI,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACjG,MAAM,qBAAqB,GAAG,wBAAwB,IAAI,CAAC,4BAA4B;QACrF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC7C,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,4BAA4B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,gCAAgC,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC;QACjH,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,oBAAoB,IAAI,mBAAmB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtE,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAClE,IACE,8BAA8B,CAAC,MAAM,CAAC;WACnC,eAAe,CAAC,qBAAqB,EAAE,WAAW,CAAC;WACnD,eAAe,CAAC,kBAAkB,EAAE,QAAQ,CAAC;WAC7C,0BAA0B,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;WACrE,CACD,CAAC,oBAAoB;eAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,+BAA+B,CACjE,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,CACpB,CAAC,CACH,EACD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,wBAAwB,EAAE,qBAAqB;YAC/C,qBAAqB,EAAE,kBAAkB;SAC1C,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,QAAQ,CAC9B,iBAAiB,CAAC,wBAAwB,IAAI,iBAAiB,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,eAAe,CACtH,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAC3B,iBAAiB,CAAC,qBAAqB,IAAI,iBAAiB,CAAC,aAAa,IAAI,iBAAiB,CAAC,YAAY,CAC7G,CAAC;QACF,IACE,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC;eAC1C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC;eACvC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC;eACzD,CACD,CAAC,oBAAoB;mBAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,+BAA+B,CACjE,eAAe,EACf,YAAY,EACZ,mBAAmB,CACpB,CAAC,CACH,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IACE,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC;eAC1C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC;eACvC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC;eACzD,CACD,CAAC,oBAAoB;mBAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,+BAA+B,CACjE,eAAe,EACf,YAAY,EACZ,mBAAmB,CACpB,CAAC,CACH,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,CAAC;IAC1E,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAA+B,CAAC;QACnD,MAAM,eAAe,GAAG,QAAQ,CAC9B,UAAU,CAAC,wBAAwB,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,gBAAgB,CACjG,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAC3B,UAAU,CAAC,qBAAqB,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,aAAa,CACxF,CAAC;QACF,IACE,UAAU,CAAC,QAAQ,KAAK,IAAI;eACzB,8BAA8B,CAAC,UAAU,CAAC;eAC1C,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC;eAC7C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC;eACvC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC,EAC5D,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,wBAAwB,EAAE,eAAe;gBACzC,qBAAqB,EAAE,YAAY;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG;gBACrB,GAAG,sBAAsB,CAAC,eAAe,EAAE,WAAW,CAAC;gBACvD,GAAG,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC;aAClD,CAAC;YACF,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,cAAc,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC/D,cAAc,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,wBAAwB,EAAE,eAAe;oBACzC,qBAAqB,EAAE,YAAY;oBACnC,cAAc;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAc,EAAE,MAA+B;IAC9F,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAC/E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,iBAAiB,GAAG,YAAY,CACpC,MAAM,CAAC,qCAAqC;WACvC,MAAM,CAAC,gCAAgC;WACvC,MAAM,CAAC,YAAY;WACnB,MAAM,CAAC,WAAW,CACxB,CAAC;IACF,MAAM,oBAAoB,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC;IACpH,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,oBAAoB;QAClC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS;QACvE,wBAAwB,EAAE,MAAM;QAChC,qCAAqC,EAAE,iBAAiB;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAA+B;IACnE,MAAM,iBAAiB,GAAG,YAAY,CACpC,MAAM,CAAC,qCAAqC,IAAI,MAAM,CAAC,gCAAgC,CACxF,CAAC;IACF,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACrF,OAAO,iBAAiB,KAAK,IAAI;WAC5B,oBAAoB,KAAK,IAAI;WAC7B,oBAAoB,GAAG,iBAAiB;QAC3C,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA6B,EAAE,WAAmB;IACpF,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO;WAC3B,+BAA+B,CAChC,QAAQ,CAAC,wBAAwB,EACjC,QAAQ,CAAC,qBAAqB,EAC9B,WAAW,CACZ,CAAC;AACN,CAAC;AAED,SAAS,+BAA+B,CACtC,eAA+C,EAC/C,YAA4C,EAC5C,WAAmB;IAEnB,OAAO,2BAA2B,CAAC,eAAe,EAAE,WAAW,CAAC;WAC3D,2BAA2B,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAsC,EAAE,WAAmB;IAC9F,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC;IACxE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,WAAW,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1G,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtF,CAAC;AAED,SAAS,eAAe,CAAC,KAAqC,EAAE,SAAiC;IAC/F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,uBAAuB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAqC,EAAE,SAAiC;IACtG,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,SAAS,oBAAoB,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/H,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,mBAAmB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,+BAA+B,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,kCAAkC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CAAC,KAA8B;IACrE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;AACxF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,8BAA8B,CAAC,KAA8B;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;AAC3F,CAAC;AAED,SAAS,0BAA0B,CACjC,eAA+C,EAC/C,YAA4C;IAE5C,IAAI,CAAC,eAAe,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,cAAc,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACnD,OAAO,cAAc,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,IAAI,cAAc,CAAC;AAC1F,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAClG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CACzC,QAGC,EACD,OAA8C;IAE9C,IAAI,oCAAoC,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,OAAO,2BAA2B,CAAC,QAAQ,CAAC,wBAAwB,EAAE,WAAW,EAAE,OAAO,CAAC;WACtF,2BAA2B,CAAC,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsC;IAClE,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,oCAAoC,CAC3C,QAGC,EACD,OAA8C;IAE9C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5E,IAAI,iBAAiB,IAAI,cAAc,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;QAChF,OAAO,sFAAsF,CAAC;IAChG,CAAC;IAED,MAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,kBAAkB,GAAG,mBAAmB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC3G,MAAM,eAAe,GAAG,mBAAmB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACrG,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,kBAAkB,KAAK,eAAe;QAC3C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,+GAA+G,kBAAkB,uBAAuB,eAAe,EAAE,CAAC;AAChL,CAAC;AAED,SAAS,2BAA2B,CAClC,MAAsC,EACtC,SAAiC,EACjC,OAA8C;IAE9C,OAAO,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsC;IACnE,OAAO,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,gCAAgC,CACvC,MAAsC,EACtC,SAAiC,EACjC,OAA8C;IAE9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,SAAS,oBAAoB,CAAC;IACrD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IACjI,IAAI,MAAM,CAAC,eAAe,KAAK,iBAAiB;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,+BAA+B,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IACxJ,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QACjF,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YAC1B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,mCAAmC,CAAC,CAAC;IAC7E,IAAI,eAAe,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,sBAAsB,eAAe,mBAAmB,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;IAChK,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,2BAA2B,CAAC,CAAC;IACpE,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,wBAAwB,WAAW,gCAAgC,CAAC,CAAC;IACjK,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,CAAC,GAAG;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,+CAA+C,CAAC,CAAC;IAEnF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,SAAS,oBAAoB,SAAS,kBAAkB,mBAAmB,6EAA6E,CAAC;IACjL,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,SAAS,mBAAmB,QAAQ,kBAAkB,mBAAmB,wEAAwE,CAAC;IACzK,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,qBAAqB,GAAG,kCAAkC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9E,IACE,CAAC,qBAAqB,IAAI,qBAAqB,KAAK,QAAQ,CAAC;WAC1D,CAAC,cAAc,IAAI,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;QAChF,OAAO,GAAG,SAAS,mBAAmB,QAAQ,wBAAwB,CAAC;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,SAAS,mBAAmB,QAAQ,aAAa,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;IAC9H,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,SAAS,mBAAmB,QAAQ,mBAAmB,CAAC;IACpF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CAAC,GAAuB;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,YAAY,EAAE,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8B;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvH,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtJ,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI;YACF,QAAQ;YACR,UAAU;YACV,OAAO;YACP,SAAS;YACT,UAAU;YACV,iBAAiB;YACjB,mBAAmB;YACnB,mBAAmB;YACnB,eAAe;YACf,SAAS;YACT,WAAW;YACX,QAAQ;YACR,mBAAmB;SACpB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,KAAK,EAAE,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,OAAO,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,SAAS,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAC/E,OAAO,YAAY,KAAK,SAAS;WAC5B,OAAO,MAAM,KAAK,QAAQ;WAC1B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"consensus-gate.js","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"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"}