elanous 0.2.4 → 0.2.6

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 (455) hide show
  1. package/README.md +7 -6
  2. package/apps/pwa/out/404/index.html +1 -1
  3. package/apps/pwa/out/404.html +1 -1
  4. package/apps/pwa/out/_next/static/chunks/1169-696263ac7af8c4d4.js +1 -0
  5. package/apps/pwa/out/_next/static/chunks/1883.c91a2648af4842fd.js +1 -0
  6. package/apps/pwa/out/_next/static/chunks/1947-9d64872eeb9cfdec.js +1 -0
  7. package/apps/pwa/out/_next/static/chunks/2808-dc06482994b40f70.js +1 -0
  8. package/apps/pwa/out/_next/static/chunks/{5080-1613752891fcadb4.js → 2984-977cfa339fcd65a5.js} +3 -3
  9. package/apps/pwa/out/_next/static/chunks/3165-95515ca5f299a120.js +1 -0
  10. package/apps/pwa/out/_next/static/chunks/{8142-011e1f474efb8b33.js → 3190-e9282753e7ebde85.js} +1 -1
  11. package/apps/pwa/out/_next/static/chunks/3995-bee512a7063036ce.js +1 -0
  12. package/apps/pwa/out/_next/static/chunks/{6062-73e68343a9814f6a.js → 4240-7153881b0b377306.js} +1 -1
  13. package/apps/pwa/out/_next/static/chunks/4259-99614149577e77cb.js +1 -0
  14. package/apps/pwa/out/_next/static/chunks/4283-329eabeaf233e6cd.js +1 -0
  15. package/apps/pwa/out/_next/static/chunks/4328-cb5058b1acc2de5e.js +25 -0
  16. package/apps/pwa/out/_next/static/chunks/4801-ecee6ef62b349b18.js +1 -0
  17. package/apps/pwa/out/_next/static/chunks/5110-8058791dd25a2e14.js +1 -0
  18. package/apps/pwa/out/_next/static/chunks/{3403.4bc97b4066945a94.js → 5329.8b7e4bca684b6eec.js} +2 -2
  19. package/apps/pwa/out/_next/static/chunks/5330-c41e9670f594c38f.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/5423-e95fd125d1794349.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/5478-b5eae07dc79ea619.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/5787-96ee6642b9a661e5.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/6448-79d72368589f98bc.js +1 -0
  24. package/apps/pwa/out/_next/static/chunks/6522-9866c002b5531836.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/6729-b4a558b7aa891e0c.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/6969-cb03f9410b7d2e03.js +1 -0
  27. package/apps/pwa/out/_next/static/chunks/7007-3b9861091bb8dd21.js +1 -0
  28. package/apps/pwa/out/_next/static/chunks/{5791-bb82743fa6299562.js → 763-7d0e1913b5074e98.js} +1 -1
  29. package/apps/pwa/out/_next/static/chunks/{4323.c5dfb6f503304775.js → 7633.0654fe6ea259c1ee.js} +1 -1
  30. package/apps/pwa/out/_next/static/chunks/7930-8dc7e20fc6fc19ca.js +1 -0
  31. package/apps/pwa/out/_next/static/chunks/8071-187edbc22a86741f.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/8198-d4101ad70cb9a579.js +1 -0
  33. package/apps/pwa/out/_next/static/chunks/8250.4a2c5553a07cdf47.js +1 -0
  34. package/apps/pwa/out/_next/static/chunks/8293-123b91e7b0330dc0.js +1 -0
  35. package/apps/pwa/out/_next/static/chunks/8296-d6d5d87dfa911d41.js +1 -0
  36. package/apps/pwa/out/_next/static/chunks/8305-603963c33ee8eec3.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/8612-4a0066f20951b8fd.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/{2ea96958-e8c7e112de50b067.js → 8d0d9faf-97887ff99713b84e.js} +1 -1
  39. package/apps/pwa/out/_next/static/chunks/9181-cf4e1b61c4783f92.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/{8046cadf-211ca3c0e00f2b72.js → 91ff6dda-3b33d42d20657429.js} +1 -1
  41. package/apps/pwa/out/_next/static/chunks/9262-26c2ecbd5a67e4a2.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/9328-45abdebce4fbecb7.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/9355-dbc67205adf8745f.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/9763.255b90dd69875689.js +1 -0
  45. package/apps/pwa/out/_next/static/chunks/9933-66d31ec25c0231af.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-bd06fb55f4da0381.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/app/approvals/page-4e586142da455a25.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-889ad5cddcf45b0d.js +1 -0
  49. package/apps/pwa/out/_next/static/chunks/app/board/page-47ba401d56572c27.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/app/botlab/page-0b54f9c83458e038.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/app/bots/page-4fcc296ef6c8ed90.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/app/chat/page-fe9fda494a87f4e5.js +1 -0
  53. package/apps/pwa/out/_next/static/chunks/app/control/page-f9642e25ce129590.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/app/design-check/page-e1063e8ba5f3e2e7.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/app/editor/page-9d0df30027d8aa9d.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/app/healthz/route-bd06fb55f4da0381.js +1 -0
  57. package/apps/pwa/out/_next/static/chunks/app/intake/page-d97adf2c9455b8d0.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/app/layout-236b80d202110362.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/app/live/page-21a30f35f1a276ad.js +1 -0
  60. package/apps/pwa/out/_next/static/chunks/app/market/page-b1a5be357c4fa25d.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-1705a60303f7f573.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/app/morning/page-76b337c11ad0e237.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/app/not-found-7c0f85fbb56f64c6.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/app/observatory/page-65ca16b20617b44d.js +1 -0
  65. package/apps/pwa/out/_next/static/chunks/app/page-e7f9b8fc29411c1d.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/app/reflection/page-92ea6213d1aeec04.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-a913a005aacb5476.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/app/sessions/page-2d78804a40dfdef6.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-08a99148e780ac00.js +1 -0
  70. package/apps/pwa/out/_next/static/chunks/app/settings/page-deb674e7ed36f815.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-49f8de0534d192d7.js +1 -0
  72. package/apps/pwa/out/_next/static/chunks/app/setup/layout-bd06fb55f4da0381.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/app/setup/page-ba162a28d2176e18.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/app/share/page-1ff1a37b550ab41a.js +1 -0
  75. package/apps/pwa/out/_next/static/chunks/app/showroom/page-ccaa698f56c0fbdb.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/app/tasks/page-53b944082de1d7db.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/app/term/page-9b70adf1552789bf.js +1 -0
  78. package/apps/pwa/out/_next/static/chunks/app/trace/page-30d482aa63241fe8.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/app/vault/page-aecf786f54651d8a.js +1 -0
  80. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-6ab9b62c7b6e08f2.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/app/workflows/page-08949735455e0c9a.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/app/workspace/page-a1479005234a46c2.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-c3890e90bd232732.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/beb5cf10-9adcc10b83930090.js +1 -0
  85. package/apps/pwa/out/_next/static/chunks/framework-d68d41c88e05c801.js +1 -0
  86. package/apps/pwa/out/_next/static/chunks/main-app-11c63971b7a9593b.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/main-d09452353bd0d9cc.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/pages/_app-184d727cebeca767.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/pages/_error-21bbbbac99b720b1.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/{webpack-e5bea36f183b25e6.js → webpack-37b8bf78a3c6eec5.js} +1 -1
  91. package/apps/pwa/out/_next/static/css/eaa74e8bb2f62269.css +1 -0
  92. package/apps/pwa/out/_next/static/{zoQX5iTvXOsIvCjxCe1Ji → qMI0jnlZaBjjm4aIDYNGM}/_buildManifest.js +1 -1
  93. package/apps/pwa/out/approvals/index.html +1 -1
  94. package/apps/pwa/out/approvals/index.txt +29 -27
  95. package/apps/pwa/out/autopilot/index.html +1 -1
  96. package/apps/pwa/out/autopilot/index.txt +29 -27
  97. package/apps/pwa/out/board/index.html +1 -1
  98. package/apps/pwa/out/board/index.txt +29 -27
  99. package/apps/pwa/out/botlab/index.html +1 -1
  100. package/apps/pwa/out/botlab/index.txt +26 -24
  101. package/apps/pwa/out/bots/index.html +1 -1
  102. package/apps/pwa/out/bots/index.txt +26 -24
  103. package/apps/pwa/out/chat/index.html +1 -1
  104. package/apps/pwa/out/chat/index.txt +26 -24
  105. package/apps/pwa/out/control/index.html +1 -1
  106. package/apps/pwa/out/control/index.txt +29 -27
  107. package/apps/pwa/out/design-check/index.html +1 -1
  108. package/apps/pwa/out/design-check/index.txt +29 -27
  109. package/apps/pwa/out/editor/index.html +1 -1
  110. package/apps/pwa/out/editor/index.txt +29 -27
  111. package/apps/pwa/out/healthz +1 -1
  112. package/apps/pwa/out/icons/elanous-16.png +0 -0
  113. package/apps/pwa/out/icons/elanous-180.png +0 -0
  114. package/apps/pwa/out/icons/elanous-192.png +0 -0
  115. package/apps/pwa/out/icons/elanous-32.png +0 -0
  116. package/apps/pwa/out/icons/elanous-512.png +0 -0
  117. package/apps/pwa/out/index.html +1 -1
  118. package/apps/pwa/out/index.txt +26 -24
  119. package/apps/pwa/out/intake/index.html +1 -1
  120. package/apps/pwa/out/intake/index.txt +29 -27
  121. package/apps/pwa/out/live/index.html +1 -1
  122. package/apps/pwa/out/live/index.txt +29 -27
  123. package/apps/pwa/out/manifest.webmanifest +5 -2
  124. package/apps/pwa/out/market/index.html +1 -1
  125. package/apps/pwa/out/market/index.txt +26 -24
  126. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  127. package/apps/pwa/out/missions/placeholder/index.txt +26 -24
  128. package/apps/pwa/out/morning/index.html +1 -1
  129. package/apps/pwa/out/morning/index.txt +29 -27
  130. package/apps/pwa/out/observatory/index.html +1 -1
  131. package/apps/pwa/out/observatory/index.txt +29 -27
  132. package/apps/pwa/out/reflection/index.html +1 -1
  133. package/apps/pwa/out/reflection/index.txt +27 -25
  134. package/apps/pwa/out/scheduler/index.html +1 -1
  135. package/apps/pwa/out/scheduler/index.txt +29 -27
  136. package/apps/pwa/out/sessions/index.html +1 -1
  137. package/apps/pwa/out/sessions/index.txt +26 -24
  138. package/apps/pwa/out/settings/devices/index.html +1 -1
  139. package/apps/pwa/out/settings/devices/index.txt +29 -27
  140. package/apps/pwa/out/settings/index.html +1 -1
  141. package/apps/pwa/out/settings/index.txt +29 -27
  142. package/apps/pwa/out/setup/done/index.html +1 -1
  143. package/apps/pwa/out/setup/done/index.txt +29 -27
  144. package/apps/pwa/out/setup/index.html +1 -1
  145. package/apps/pwa/out/setup/index.txt +29 -27
  146. package/apps/pwa/out/share/index.html +1 -1
  147. package/apps/pwa/out/share/index.txt +29 -27
  148. package/apps/pwa/out/showroom/index.html +1 -1
  149. package/apps/pwa/out/showroom/index.txt +26 -24
  150. package/apps/pwa/out/sw-strategies.js +44 -0
  151. package/apps/pwa/out/sw.js +6 -44
  152. package/apps/pwa/out/tasks/index.html +1 -1
  153. package/apps/pwa/out/tasks/index.txt +29 -27
  154. package/apps/pwa/out/term/index.html +1 -1
  155. package/apps/pwa/out/term/index.txt +29 -27
  156. package/apps/pwa/out/trace/index.html +1 -1
  157. package/apps/pwa/out/trace/index.txt +29 -27
  158. package/apps/pwa/out/vault/index.html +1 -1
  159. package/apps/pwa/out/vault/index.txt +29 -27
  160. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  161. package/apps/pwa/out/workflows/chat-ui/index.txt +29 -27
  162. package/apps/pwa/out/workflows/index.html +1 -1
  163. package/apps/pwa/out/workflows/index.txt +29 -27
  164. package/apps/pwa/out/workspace/index.html +1 -1
  165. package/apps/pwa/out/workspace/index.txt +29 -27
  166. package/apps/pwa/out/worktrees/index.html +1 -1
  167. package/apps/pwa/out/worktrees/index.txt +29 -27
  168. package/catalog/resources.yaml +6 -6
  169. package/docs/goal-context/steward-directives-2026-09-28.md +35 -37
  170. package/graphs/landing/landing-heal.yaml +1 -1
  171. package/graphs/release/recipes.yaml +11 -1
  172. package/graphs/release/release-loop.yaml +9 -2
  173. package/graphs/video/README.md +1 -0
  174. package/graphs/video/explainer-line.yaml +58 -0
  175. package/package.json +3 -1
  176. package/plugins/card-followup/README.md +33 -0
  177. package/plugins/card-followup/examples/card-sample.json +7 -0
  178. package/plugins/card-followup/graphs/card-followup.yaml +16 -0
  179. package/plugins/card-followup/graphs/recipes.yaml +12 -0
  180. package/plugins/card-followup/graphs/run-step.ts +172 -0
  181. package/plugins/card-followup/plugin.json +25 -0
  182. package/plugins/geo-check/README.md +13 -0
  183. package/plugins/geo-check/examples/brand-sample.json +8 -0
  184. package/plugins/geo-check/graphs/geo-check.yaml +20 -0
  185. package/plugins/geo-check/graphs/recipes.yaml +18 -0
  186. package/plugins/geo-check/graphs/run-step.ts +177 -0
  187. package/plugins/geo-check/plugin.json +24 -0
  188. package/plugins/job-coach/.codex-plugin/plugin.json +18 -1
  189. package/plugins/job-coach/README.md +42 -0
  190. package/plugins/job-coach/connectors/ncs/server.ts +4 -3
  191. package/plugins/job-coach/graphs/gap-judge.ts +44 -0
  192. package/plugins/job-coach/graphs/recipes.yaml +27 -0
  193. package/plugins/job-coach/graphs/report-enterprise.yaml +28 -0
  194. package/plugins/job-coach/graphs/run-step.ts +211 -17
  195. package/plugins/job-coach/plugin.json +16 -3
  196. package/plugins/job-coach/skills/enterprise-ai-fit/SKILL.md +8 -0
  197. package/plugins/job-coach/skills/enterprise-competency/SKILL.md +8 -0
  198. package/plugins/job-coach/skills/enterprise-needs/SKILL.md +8 -0
  199. package/plugins/job-coach/skills/enterprise-roadmap/SKILL.md +8 -0
  200. package/plugins/job-coach/skills/enterprise-task-analysis/SKILL.md +8 -0
  201. package/plugins/job-coach/skills/interview-to-profile/SKILL.md +18 -1
  202. package/scripts/backup/elanous-backup.sh +4 -1
  203. package/scripts/build-docs-site.ts +4 -3
  204. package/scripts/coord-channel-watch.sh +23 -4
  205. package/scripts/coord-post.sh +49 -12
  206. package/scripts/coord-tracks.json +5 -5
  207. package/scripts/daemon-port-baseline.txt +1 -2
  208. package/scripts/eval-bot-vs-grok.ts +79 -0
  209. package/scripts/eval-grok-live-baseline.ts +36 -0
  210. package/scripts/fixtures/front-route-corpus.sample.json +17 -0
  211. package/scripts/fleet/node-setup.sh +46 -7
  212. package/scripts/landing-heal/must-fix-match.ts +26 -0
  213. package/scripts/landing-heal/run-mission.ts +114 -20
  214. package/scripts/lib/android-test-device.ts +32 -0
  215. package/scripts/lib/front-route-measurement.ts +131 -0
  216. package/scripts/lib/tui-sim-keys.ts +42 -0
  217. package/scripts/measure-front-route-classifier.ts +56 -0
  218. package/scripts/media/ocr-leak-scan.sh +21 -0
  219. package/scripts/public-export.ts +2 -3
  220. package/scripts/public-import-pr.ts +80 -6
  221. package/scripts/publish-internal-dist.ts +2 -3
  222. package/scripts/red-sweep-diff.ts +1 -1
  223. package/scripts/release-loop/auto-approve-node.ts +72 -0
  224. package/scripts/release-loop/checklist-gate-node.ts +35 -0
  225. package/scripts/release-loop/gate-diff.ts +29 -0
  226. package/scripts/release-loop/gate-node.ts +366 -45
  227. package/scripts/release-loop/publish-node.ts +7 -3
  228. package/scripts/release-loop/release-docs.ts +20 -13
  229. package/scripts/release-loop/shard-plan.ts +47 -0
  230. package/scripts/release-loop/test-durations.ts +63 -0
  231. package/scripts/release-loop/upgrade-node.ts +3 -2
  232. package/scripts/test-audit-coverage-per-file.sh +16 -0
  233. package/scripts/test-audit-meaningless.ts +88 -0
  234. package/scripts/test-audit-overlap-and-weak.ts +73 -0
  235. package/scripts/test-deterministic.ts +27 -5
  236. package/scripts/tui-sim.ts +59 -14
  237. package/scripts/ux/bump-installed.sh +20 -0
  238. package/scripts/ux/lib/cdp.ts +72 -0
  239. package/scripts/ux/record-page.ts +53 -0
  240. package/skills/explainer-video/SKILL.md +117 -0
  241. package/skills/explainer-video/engine/brand/elanous-mark-on-dark.svg +1 -0
  242. package/skills/explainer-video/engine/build.mjs +431 -0
  243. package/skills/explainer-video/engine/reel.mjs +128 -0
  244. package/skills/explainer-video/engine/reel.sh +8 -0
  245. package/skills/explainer-video/engine/vo.ts +79 -0
  246. package/skills/explainer-video/examples/elanous-0.2.5/script.json +155 -0
  247. package/src/agent/nested-agent-env.ts +1 -0
  248. package/src/agent-mission/driver.ts +95 -16
  249. package/src/agent-mission/mission-cli.ts +6 -0
  250. package/src/agent-mission/resource-ladder.ts +73 -25
  251. package/src/auth/acp-token.ts +16 -0
  252. package/src/auth/github-app-token.ts +112 -0
  253. package/src/autopilot/gh-rest-fallback.ts +177 -0
  254. package/src/autopilot/mission-origin.ts +20 -4
  255. package/src/autopilot/mission-phase-track.ts +11 -1
  256. package/src/autopilot/pr-manager.ts +51 -4
  257. package/src/autopilot/track-agent.ts +3 -3
  258. package/src/autopilot/track-courier.ts +2 -2
  259. package/src/boot/acp-server.ts +2 -16
  260. package/src/boot/daemon-tools/web-search.ts +2 -1
  261. package/src/boot/ws-bridge.ts +11 -0
  262. package/src/chat/index.ts +37 -8
  263. package/src/chat/log-scroll-key.ts +12 -0
  264. package/src/chat/submit-trace.ts +30 -0
  265. package/src/cli/agent-cli.ts +7 -2
  266. package/src/cli/decisions-cli.ts +94 -0
  267. package/src/cli/doctor-cli.ts +40 -54
  268. package/src/cli/doctor-readiness.ts +16 -24
  269. package/src/cli/intake-cli.ts +1 -1
  270. package/src/cli/mcp-call.ts +9 -0
  271. package/src/cli/mcp-gateway-cli.ts +7 -3
  272. package/src/cli/nexus-ios-bind.ts +25 -8
  273. package/src/cli/phone-link.ts +117 -0
  274. package/src/cli/plugin-cli.ts +136 -11
  275. package/src/cli/pr-lineage.ts +2 -1
  276. package/src/cli/private-ledger-commands.ts +31 -0
  277. package/src/cli/pwa-start.ts +3 -0
  278. package/src/cli/release-cli.ts +97 -7
  279. package/src/cli/self-update.ts +7 -4
  280. package/src/cli/start-cli.ts +33 -14
  281. package/src/dashboard/acp-boot.ts +3 -0
  282. package/src/dashboard/index.ts +62 -13
  283. package/src/dashboard/input/no-provider-reply.ts +13 -0
  284. package/src/dashboard/slash-runtime/unknown-slash-reply.ts +78 -0
  285. package/src/dashboard/stale-install-check.ts +77 -0
  286. package/src/decisions/decision-ledger.ts +404 -0
  287. package/src/domains/outbound-alert.ts +13 -7
  288. package/src/domains/telegram-kind-route.ts +21 -0
  289. package/src/execution-loop/dispatch-task.ts +139 -0
  290. package/src/execution-loop/gate-decision-summary.ts +29 -0
  291. package/src/execution-loop/gates.ts +197 -0
  292. package/src/field/field-media.ts +245 -0
  293. package/src/graph-kinds/installed-plugin-nodes.ts +95 -0
  294. package/src/graph-kinds/plugin-nodes.ts +10 -2
  295. package/src/graph-runner/runner.ts +35 -5
  296. package/src/grounding/token.ts +12 -6
  297. package/src/harness/harness-cli-command.ts +68 -9
  298. package/src/harness/harness-pod-dispatch.ts +8 -2
  299. package/src/harness/harness-stop.ts +147 -18
  300. package/src/harness/self-send-decide.ts +26 -17
  301. package/src/harness/self-send-target.ts +22 -1
  302. package/src/harness/worktree-branch-prefix.ts +4 -3
  303. package/src/index.ts +50 -13
  304. package/src/instance/resolve.ts +6 -0
  305. package/src/intake-plane/collect-telegram-saved.ts +5 -0
  306. package/src/intake-plane/digest.ts +11 -2
  307. package/src/live/detail-switch.ts +8 -3
  308. package/src/llm/usable-llm.ts +32 -0
  309. package/src/loops/registry.ts +27 -5
  310. package/src/market/publish.ts +59 -3
  311. package/src/native-tool-catalog.ts +2 -2
  312. package/src/nexus/api/field-uploads.ts +143 -0
  313. package/src/nexus/api/graph-approvals.ts +174 -0
  314. package/src/nexus/api/harness-api.ts +219 -5
  315. package/src/nexus/api/http-server.ts +69 -6
  316. package/src/nexus/api/log-fabric.ts +10 -1
  317. package/src/nexus/api/mcp-oauth-hint.ts +10 -9
  318. package/src/nexus/api/merge-approvals.ts +2 -1
  319. package/src/nexus/api/meta-api.ts +14 -0
  320. package/src/nexus/api/plugins-credentials-api.ts +47 -0
  321. package/src/nexus/api/plugins-market.ts +87 -3
  322. package/src/nexus/api/pod-credential-api.ts +68 -14
  323. package/src/nexus/api/public-routes.ts +7 -0
  324. package/src/nexus/api/trace.ts +57 -6
  325. package/src/nexus/boot/register-mcp-clients.ts +99 -14
  326. package/src/nexus/index.ts +33 -32
  327. package/src/nexus/outbound/router.ts +1 -1
  328. package/src/notify/llm-budget-alert.ts +119 -0
  329. package/src/onboarding.ts +25 -2
  330. package/src/plugins/core/host.ts +14 -0
  331. package/src/plugins/install/market-fetch.ts +4 -3
  332. package/src/plugins/install/plugin-credentials.ts +106 -0
  333. package/src/plugins/install/plugin-install.ts +163 -32
  334. package/src/plugins/maker/plugin-maker.ts +208 -0
  335. package/src/prompt-library/universal-preamble.ts +8 -2
  336. package/src/relay/channel.ts +184 -0
  337. package/src/relay/mux.ts +182 -0
  338. package/src/relay/test-vectors.json +29 -0
  339. package/src/release-loop/checklist.ts +217 -0
  340. package/src/release-loop/release-note.ts +6 -3
  341. package/src/seat-address/seat-address.ts +34 -0
  342. package/src/self-dev/dev-cli.ts +40 -20
  343. package/src/self-dev/dev-pipeline.ts +77 -1
  344. package/src/self-implement/gate-baseline.ts +3 -1
  345. package/src/self-implement/goal-author.ts +18 -1
  346. package/src/self-implement/host-regate.ts +6 -2
  347. package/src/self-implement/orchestrator.ts +7 -2
  348. package/src/self-implement/run-ledger-compact.ts +1 -1
  349. package/src/self-implement/seams.ts +4 -2
  350. package/src/session/index.ts +23 -10
  351. package/src/skills/tools/dev-harness.ts +42 -0
  352. package/src/steward/steward-cards.ts +45 -0
  353. package/src/steward/triage.ts +50 -14
  354. package/src/task-orchestrator/surfaces/pod-artifact-return.ts +61 -3
  355. package/src/task-orchestrator/surfaces/pod-bun-cache.ts +18 -0
  356. package/src/task-orchestrator/surfaces/pod-command-job.ts +36 -6
  357. package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +39 -9
  358. package/src/task-orchestrator/surfaces/pod-source-bundle.ts +16 -1
  359. package/src/task-orchestrator/surfaces/pod-source-receive.ts +51 -13
  360. package/src/task-orchestrator/surfaces/self-implement-pod.ts +172 -28
  361. package/src/telegram-report.ts +12 -6
  362. package/src/telegram.ts +108 -1
  363. package/src/tui-client/acp-transport-ws-client.ts +72 -5
  364. package/src/tui.ts +3 -2
  365. package/src/user-config.ts +32 -2
  366. package/src/util/spawn-sync-output.ts +15 -0
  367. package/src/version/code-revision.ts +1 -1
  368. package/src/version/packed-revision.json +1 -1
  369. package/src/video-pipeline/recipes/explainer.ts +213 -0
  370. package/src/video-pipeline/walk-line.ts +3 -2
  371. package/src/web-search/free.ts +77 -0
  372. package/src/web-search/index.ts +2 -0
  373. package/src/workflow-runtime/deps-bridge.ts +4 -3
  374. package/src/workflow-runtime/plugin-kind-node.ts +32 -4
  375. package/src/workflow-runtime/types.ts +2 -1
  376. package/apps/pwa/out/_next/static/chunks/1105-c473ed46272fba79.js +0 -1
  377. package/apps/pwa/out/_next/static/chunks/1191-7b13a24117a689fa.js +0 -1
  378. package/apps/pwa/out/_next/static/chunks/1201-09613bce624467c0.js +0 -1
  379. package/apps/pwa/out/_next/static/chunks/1377-1efeffbbac0963ff.js +0 -1
  380. package/apps/pwa/out/_next/static/chunks/1470.98a6ab61ccb4131c.js +0 -1
  381. package/apps/pwa/out/_next/static/chunks/216-5acd01cbde4acda7.js +0 -1
  382. package/apps/pwa/out/_next/static/chunks/2330-c2f07246c8788af1.js +0 -1
  383. package/apps/pwa/out/_next/static/chunks/2375-3fcae5186c64fe6b.js +0 -1
  384. package/apps/pwa/out/_next/static/chunks/2415.ed6428ff334c7ce2.js +0 -1
  385. package/apps/pwa/out/_next/static/chunks/2929-617f1e66a55be184.js +0 -1
  386. package/apps/pwa/out/_next/static/chunks/2977-e38442e86289f1d3.js +0 -1
  387. package/apps/pwa/out/_next/static/chunks/2982-2a2df543be3d2e5a.js +0 -25
  388. package/apps/pwa/out/_next/static/chunks/319-d37df1b6e0cbeff4.js +0 -1
  389. package/apps/pwa/out/_next/static/chunks/3441-a1dd4acfeda14488.js +0 -1
  390. package/apps/pwa/out/_next/static/chunks/371-4ad6af55dad02ced.js +0 -1
  391. package/apps/pwa/out/_next/static/chunks/4114-3e63117452378807.js +0 -1
  392. package/apps/pwa/out/_next/static/chunks/4836-3c93795ab834381e.js +0 -1
  393. package/apps/pwa/out/_next/static/chunks/5609-012bb3557211f07e.js +0 -1
  394. package/apps/pwa/out/_next/static/chunks/6090-1bd6077591603947.js +0 -1
  395. package/apps/pwa/out/_next/static/chunks/6320-baac91d68843a9a6.js +0 -1
  396. package/apps/pwa/out/_next/static/chunks/6416-505ba707cacafbba.js +0 -1
  397. package/apps/pwa/out/_next/static/chunks/6725-68ab7cc0b1faf00d.js +0 -1
  398. package/apps/pwa/out/_next/static/chunks/6998-a654fe5c58271600.js +0 -1
  399. package/apps/pwa/out/_next/static/chunks/7457-f5cb1cc8db9f7453.js +0 -1
  400. package/apps/pwa/out/_next/static/chunks/7647.2fcd30d894d5ee30.js +0 -1
  401. package/apps/pwa/out/_next/static/chunks/7673-2eda1507d38dadb8.js +0 -1
  402. package/apps/pwa/out/_next/static/chunks/7990-e12efba616f46e03.js +0 -1
  403. package/apps/pwa/out/_next/static/chunks/8067-f74bf14d67ad98f1.js +0 -1
  404. package/apps/pwa/out/_next/static/chunks/8519-0059d82bdb4812bf.js +0 -1
  405. package/apps/pwa/out/_next/static/chunks/8619-4365e03a2862830f.js +0 -1
  406. package/apps/pwa/out/_next/static/chunks/920-f7dceb78f1c585ef.js +0 -1
  407. package/apps/pwa/out/_next/static/chunks/9651-3cd291a6fa1370d2.js +0 -1
  408. package/apps/pwa/out/_next/static/chunks/9740-52467f244755917f.js +0 -1
  409. package/apps/pwa/out/_next/static/chunks/9804-64c02c3c127d5014.js +0 -1
  410. package/apps/pwa/out/_next/static/chunks/ae787e4c-f2998de7f1ba72a4.js +0 -1
  411. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-859cea1570b6227a.js +0 -1
  412. package/apps/pwa/out/_next/static/chunks/app/approvals/page-21c3261af6ab377c.js +0 -1
  413. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-1991445b8ea86274.js +0 -1
  414. package/apps/pwa/out/_next/static/chunks/app/board/page-4ebfaee2369fe248.js +0 -1
  415. package/apps/pwa/out/_next/static/chunks/app/botlab/page-9fa879ebf5959096.js +0 -1
  416. package/apps/pwa/out/_next/static/chunks/app/bots/page-ca7c3cc305c3285a.js +0 -1
  417. package/apps/pwa/out/_next/static/chunks/app/chat/page-9951930add3d2051.js +0 -1
  418. package/apps/pwa/out/_next/static/chunks/app/control/page-4472ddf1e2458e69.js +0 -1
  419. package/apps/pwa/out/_next/static/chunks/app/design-check/page-4de08d4b766f134b.js +0 -1
  420. package/apps/pwa/out/_next/static/chunks/app/editor/page-7a975e2b9db1dfb7.js +0 -1
  421. package/apps/pwa/out/_next/static/chunks/app/healthz/route-859cea1570b6227a.js +0 -1
  422. package/apps/pwa/out/_next/static/chunks/app/intake/page-49270714ef35bb96.js +0 -1
  423. package/apps/pwa/out/_next/static/chunks/app/layout-33fbdf353e2a5982.js +0 -1
  424. package/apps/pwa/out/_next/static/chunks/app/live/page-259f122e2dd64317.js +0 -1
  425. package/apps/pwa/out/_next/static/chunks/app/market/page-65b82726753658e1.js +0 -1
  426. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-4b8df3748dc06285.js +0 -1
  427. package/apps/pwa/out/_next/static/chunks/app/morning/page-112f7e477bda77fd.js +0 -1
  428. package/apps/pwa/out/_next/static/chunks/app/not-found-542a5c0006da637c.js +0 -1
  429. package/apps/pwa/out/_next/static/chunks/app/observatory/page-63ffb347831262ea.js +0 -1
  430. package/apps/pwa/out/_next/static/chunks/app/page-98e4e359d97263b4.js +0 -1
  431. package/apps/pwa/out/_next/static/chunks/app/reflection/page-97e24ac675ce576e.js +0 -1
  432. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ac6391f26391d89d.js +0 -1
  433. package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f45c9d45ffc43bd.js +0 -1
  434. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-36995b9cb5d98218.js +0 -1
  435. package/apps/pwa/out/_next/static/chunks/app/settings/page-0c795b577988d63f.js +0 -1
  436. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-b4311e2f71c6735a.js +0 -1
  437. package/apps/pwa/out/_next/static/chunks/app/setup/layout-859cea1570b6227a.js +0 -1
  438. package/apps/pwa/out/_next/static/chunks/app/setup/page-eb2381074df20dba.js +0 -1
  439. package/apps/pwa/out/_next/static/chunks/app/share/page-b01336e64eba01ae.js +0 -1
  440. package/apps/pwa/out/_next/static/chunks/app/showroom/page-7af7f21c1f2858ef.js +0 -1
  441. package/apps/pwa/out/_next/static/chunks/app/tasks/page-a98ecd364586c89b.js +0 -1
  442. package/apps/pwa/out/_next/static/chunks/app/term/page-57f0502dfbfa089b.js +0 -1
  443. package/apps/pwa/out/_next/static/chunks/app/trace/page-3467d2e1abd8a14a.js +0 -1
  444. package/apps/pwa/out/_next/static/chunks/app/vault/page-7842ca23d53ba682.js +0 -1
  445. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-ae9ac882912b0198.js +0 -1
  446. package/apps/pwa/out/_next/static/chunks/app/workflows/page-3a0d72e3f783bcef.js +0 -1
  447. package/apps/pwa/out/_next/static/chunks/app/workspace/page-f3b39fe8358c2a97.js +0 -1
  448. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-5a22af3181ac2afb.js +0 -1
  449. package/apps/pwa/out/_next/static/chunks/framework-ea806bb57f2b8923.js +0 -1
  450. package/apps/pwa/out/_next/static/chunks/main-8d2302399c2c8f87.js +0 -1
  451. package/apps/pwa/out/_next/static/chunks/main-app-1457627bb302a22c.js +0 -1
  452. package/apps/pwa/out/_next/static/chunks/pages/_app-b10928c60f0b8488.js +0 -1
  453. package/apps/pwa/out/_next/static/chunks/pages/_error-689039227d443fab.js +0 -1
  454. package/apps/pwa/out/_next/static/css/e66b7f5efc8df3f3.css +0 -1
  455. /package/apps/pwa/out/_next/static/{zoQX5iTvXOsIvCjxCe1Ji → qMI0jnlZaBjjm4aIDYNGM}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[920],{10283:(t,e,s)=>{s.d(e,{II:()=>l,cc:()=>c,v_:()=>h});var i=s(71761),r=s(98936),n=s(52845),a=s(68202),o=s(98883);function u(t){return Math.min(1e3*2**t,3e4)}function h(t){return(t??"online")!=="online"||r.t.isOnline()}var c=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function l(t){let e,s=!1,l=0,d=(0,n.T)(),f=()=>i.m.isFocused()&&("always"===t.networkMode||r.t.isOnline())&&t.canRun(),p=()=>h(t.networkMode)&&t.canRun(),y=t=>{"pending"===d.status&&(e?.(),d.resolve(t))},m=t=>{"pending"===d.status&&(e?.(),d.reject(t))},v=()=>new Promise(s=>{e=t=>{("pending"!==d.status||f())&&s(t)},t.onPause?.()}).then(()=>{e=void 0,"pending"===d.status&&t.onContinue?.()}),b=()=>{let e;if("pending"!==d.status)return;let i=0===l?t.initialPromise:void 0;try{e=i??t.fn()}catch(t){e=Promise.reject(t)}Promise.resolve(e).then(y).catch(e=>{if("pending"!==d.status)return;let i=t.retry??3*!a.H.isServer(),r=t.retryDelay??u,n="function"==typeof r?r(l,e):r,h=!0===i||"number"==typeof i&&l<i||"function"==typeof i&&i(l,e);if(s||!h)return void m(e);l++,t.onFail?.(l,e),(0,o.yy)(n).then(()=>f()?void 0:v()).then(()=>{s?m(e):b()})})};return{promise:d,status:()=>d.status,cancel:e=>{if("pending"===d.status){let s=new c(e);m(s),t.onCancel?.(s)}},continue:()=>(e?.(),d),cancelRetry:()=>{s=!0},continueRetry:()=>{s=!1},canStart:p,start:()=>(p()?b():v().then(b),d)}}},19855:(t,e,s)=>{s.d(e,{E:()=>f});var i=s(98883),r=s(96917),n=s(83026),a=s(37963),o=class extends a.Q{constructor(t={}){super(),this.config=t,this.#t=new Map}#t;build(t,e,s){let n=e.queryKey,a=e.queryHash??(0,i.F$)(n,e),o=this.get(a);return o||(o=new r.X({client:t,queryKey:n,queryHash:a,options:t.defaultQueryOptions(e),state:s,defaultOptions:t.getQueryDefaults(n)}),this.add(o)),o}add(t){this.#t.has(t.queryHash)||(this.#t.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){let e=this.#t.get(t.queryHash);e&&(t.destroy(),e===t&&this.#t.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){n.jG.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#t.get(t)}getAll(){return[...this.#t.values()]}find(t){let e={exact:!0,...t};return this.getAll().find(t=>(0,i.MK)(e,t))}findAll(t={}){let e=this.getAll();return Object.keys(t).length>0?e.filter(e=>(0,i.MK)(t,e)):e}notify(t){n.jG.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){n.jG.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){n.jG.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},u=s(95817),h=class extends a.Q{constructor(t={}){super(),this.config=t,this.#e=new Set,this.#s=new Map,this.#i=0}#e;#s;#i;build(t,e,s){let i=new u.s({client:t,mutationCache:this,mutationId:++this.#i,options:t.defaultMutationOptions(e),state:s});return this.add(i),i}add(t){this.#e.add(t);let e=c(t);if("string"==typeof e){let s=this.#s.get(e);s?s.push(t):this.#s.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#e.delete(t)){let e=c(t);if("string"==typeof e){let s=this.#s.get(e);if(s)if(s.length>1){let e=s.indexOf(t);-1!==e&&s.splice(e,1)}else s[0]===t&&this.#s.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){let e=c(t);if("string"!=typeof e)return!0;{let s=this.#s.get(e),i=s?.find(t=>"pending"===t.state.status);return!i||i===t}}runNext(t){let e=c(t);if("string"!=typeof e)return Promise.resolve();{let s=this.#s.get(e)?.find(e=>e!==t&&e.state.isPaused);return s?.continue()??Promise.resolve()}}clear(){n.jG.batch(()=>{this.#e.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#e.clear(),this.#s.clear()})}getAll(){return Array.from(this.#e)}find(t){let e={exact:!0,...t};return this.getAll().find(t=>(0,i.nJ)(e,t))}findAll(t={}){return this.getAll().filter(e=>(0,i.nJ)(t,e))}notify(t){n.jG.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){let t=this.getAll().filter(t=>t.state.isPaused);return n.jG.batch(()=>Promise.all(t.map(t=>t.continue().catch(i.lQ))))}};function c(t){return t.options.scope?.id}var l=s(71761),d=s(98936),f=class{#r;#n;#a;#o;#u;#h;#c;#l;constructor(t={}){this.#r=t.queryCache||new o,this.#n=t.mutationCache||new h,this.#a=t.defaultOptions||{},this.#o=new Map,this.#u=new Map,this.#h=0}mount(){this.#h++,1===this.#h&&(this.#c=l.m.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#r.onFocus())}),this.#l=d.t.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#r.onOnline())}))}unmount(){this.#h--,0===this.#h&&(this.#c?.(),this.#c=void 0,this.#l?.(),this.#l=void 0)}isFetching(t){return this.#r.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#n.findAll({...t,status:"pending"}).length}getQueryData(t){let e=this.defaultQueryOptions({queryKey:t});return this.#r.get(e.queryHash)?.state.data}ensureQueryData(t){let e=this.defaultQueryOptions(t),s=this.#r.build(this,e),r=s.state.data;return void 0===r?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime((0,i.d2)(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return this.#r.findAll(t).map(({queryKey:t,state:e})=>[t,e.data])}setQueryData(t,e,s){let r=this.defaultQueryOptions({queryKey:t}),n=this.#r.get(r.queryHash),a=n?.state.data,o=(0,i.Zw)(e,a);if(void 0!==o)return this.#r.build(this,r).setData(o,{...s,manual:!0})}setQueriesData(t,e,s){return n.jG.batch(()=>this.#r.findAll(t).map(({queryKey:t})=>[t,this.setQueryData(t,e,s)]))}getQueryState(t){let e=this.defaultQueryOptions({queryKey:t});return this.#r.get(e.queryHash)?.state}removeQueries(t){let e=this.#r;n.jG.batch(()=>{e.findAll(t).forEach(t=>{e.remove(t)})})}resetQueries(t,e){let s=this.#r;return n.jG.batch(()=>(s.findAll(t).forEach(t=>{t.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){let s={revert:!0,...e};return Promise.all(n.jG.batch(()=>this.#r.findAll(t).map(t=>t.cancel(s)))).then(i.lQ).catch(i.lQ)}invalidateQueries(t,e={}){return n.jG.batch(()=>(this.#r.findAll(t).forEach(t=>{t.invalidate()}),t?.refetchType==="none")?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e))}refetchQueries(t,e={}){let s={...e,cancelRefetch:e.cancelRefetch??!0};return Promise.all(n.jG.batch(()=>this.#r.findAll(t).filter(t=>!t.isDisabled()&&!t.isStatic()).map(t=>{let e=t.fetch(void 0,s);return s.throwOnError||(e=e.catch(i.lQ)),"paused"===t.state.fetchStatus?Promise.resolve():e}))).then(i.lQ)}fetchQuery(t){let e=this.defaultQueryOptions(t);void 0===e.retry&&(e.retry=!1);let s=this.#r.build(this,e);return s.isStaleByTime((0,i.d2)(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(i.lQ).catch(i.lQ)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(i.lQ).catch(i.lQ)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return d.t.isOnline()?this.#n.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#r}getMutationCache(){return this.#n}getDefaultOptions(){return this.#a}setDefaultOptions(t){this.#a=t}setQueryDefaults(t,e){this.#o.set((0,i.EN)(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){let e=[...this.#o.values()],s={};return e.forEach(e=>{(0,i.Cp)(t,e.queryKey)&&Object.assign(s,e.defaultOptions)}),s}setMutationDefaults(t,e){this.#u.set((0,i.EN)(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){let e=[...this.#u.values()],s={};return e.forEach(e=>{(0,i.Cp)(t,e.mutationKey)&&Object.assign(s,e.defaultOptions)}),s}defaultQueryOptions(t){if(t._defaulted)return t;let e={...this.#a.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=(0,i.F$)(e.queryKey,e)),void 0===e.refetchOnReconnect&&(e.refetchOnReconnect="always"!==e.networkMode),void 0===e.throwOnError&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===i.hT&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#a.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#r.clear(),this.#n.clear()}}},24818:(t,e,s)=>{s.d(e,{Ht:()=>o,jE:()=>a});var i=s(91269),r=s(41121),n=i.createContext(void 0),a=t=>{let e=i.useContext(n);if(t)return t;if(!e)throw Error("No QueryClient set, use QueryClientProvider to set one");return e},o=t=>{let{client:e,children:s}=t;return i.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,r.jsx)(n.Provider,{value:e,children:s})}},33800:(t,e,s)=>{s.d(e,{Zq:()=>n,zs:()=>r});var i={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},r=new class{#d=i;#f=!1;setTimeoutProvider(t){this.#d=t}setTimeout(t,e){return this.#d.setTimeout(t,e)}clearTimeout(t){this.#d.clearTimeout(t)}setInterval(t,e){return this.#d.setInterval(t,e)}clearInterval(t){this.#d.clearInterval(t)}};function n(t){setTimeout(t,0)}},37963:(t,e,s)=>{s.d(e,{Q:()=>i});var i=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}},52845:(t,e,s)=>{s.d(e,{T:()=>i});function i(){let t,e,s=new Promise((s,i)=>{t=s,e=i});function i(t){Object.assign(s,t),delete s.resolve,delete s.reject}return s.status="pending",s.catch(()=>{}),s.resolve=e=>{i({status:"fulfilled",value:e}),t(e)},s.reject=t=>{i({status:"rejected",reason:t}),e(t)},s}},68202:(t,e,s)=>{s.d(e,{H:()=>r});var i=s(98883),r=(()=>{let t=()=>i.S$;return{isServer:()=>t(),setIsServer(e){t=e}}})()},71761:(t,e,s)=>{s.d(e,{m:()=>r});var i=s(37963),r=new class extends i.Q{#p;#y;#m;constructor(){super(),this.#m=t=>{if("undefined"!=typeof window&&window.addEventListener){let e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#y||this.setEventListener(this.#m)}onUnsubscribe(){this.hasListeners()||(this.#y?.(),this.#y=void 0)}setEventListener(t){this.#m=t,this.#y?.(),this.#y=t(t=>{"boolean"==typeof t?this.setFocused(t):this.onFocus()})}setFocused(t){this.#p!==t&&(this.#p=t,this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(e=>{e(t)})}isFocused(){return"boolean"==typeof this.#p?this.#p:globalThis.document?.visibilityState!=="hidden"}}},83026:(t,e,s)=>{s.d(e,{jG:()=>r});var i=s(33800).Zq,r=function(){let t=[],e=0,s=t=>{t()},r=t=>{t()},n=i,a=i=>{e?t.push(i):n(()=>{s(i)})};return{batch:i=>{let a;e++;try{a=i()}finally{--e||(()=>{let e=t;t=[],e.length&&n(()=>{r(()=>{e.forEach(t=>{s(t)})})})})()}return a},batchCalls:t=>(...e)=>{a(()=>{t(...e)})},schedule:a,setNotifyFunction:t=>{s=t},setBatchNotifyFunction:t=>{r=t},setScheduler:t=>{n=t}}}()},95817:(t,e,s)=>{s.d(e,{$:()=>o,s:()=>a});var i=s(83026),r=s(98651),n=s(10283),a=class extends r.k{#v;#b;#n;#g;constructor(t){super(),this.#v=t.client,this.mutationId=t.mutationId,this.#n=t.mutationCache,this.#b=[],this.state=t.state||o(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#b.includes(t)||(this.#b.push(t),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#b=this.#b.filter(e=>e!==t),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#b.length||("pending"===this.state.status?this.scheduleGc():this.#n.remove(this))}continue(){return this.#g?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#C({type:"continue"})},s={client:this.#v,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#g=(0,n.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#C({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#C({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let i="pending"===this.state.status,r=!this.#g.canStart();try{if(i)e();else{this.#C({type:"pending",variables:t,isPaused:r}),this.#n.config.onMutate&&await this.#n.config.onMutate(t,this,s);let e=await this.options.onMutate?.(t,s);e!==this.state.context&&this.#C({type:"pending",context:e,variables:t,isPaused:r})}let n=await this.#g.start();return await this.#n.config.onSuccess?.(n,t,this.state.context,this,s),await this.options.onSuccess?.(n,t,this.state.context,s),await this.#n.config.onSettled?.(n,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(n,null,t,this.state.context,s),this.#C({type:"success",data:n}),n}catch(e){try{await this.#n.config.onError?.(e,t,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,s)}catch(t){Promise.reject(t)}try{await this.#n.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,s)}catch(t){Promise.reject(t)}throw this.#C({type:"error",error:e}),e}finally{this.#n.runNext(this)}}#C(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),i.jG.batch(()=>{this.#b.forEach(e=>{e.onMutationUpdate(t)}),this.#n.notify({mutation:this,type:"updated",action:t})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},96917:(t,e,s)=>{s.d(e,{X:()=>u,k:()=>h});var i=s(98883),r=s(83026),n=s(10283),a=s(98651);function o(t,{pages:e,pageParams:s}){let i=e.length-1;return e.length>0?t.getNextPageParam(e[i],e,s[i],s):void 0}var u=class extends a.k{#w;#O;#q;#S;#v;#g;#a;#P;constructor(t){super(),this.#P=!1,this.#a=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#v=t.client,this.#S=this.#v.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#O=l(this.options),this.state=t.state??this.#O,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#w}get promise(){return this.#g?.promise}setOptions(t){if(this.options={...this.#a,...t},t?._type&&(this.#w=t._type),this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let t=l(this.options);void 0!==t.data&&(this.setState(c(t.data,t.dataUpdatedAt)),this.#O=t)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#S.remove(this)}setData(t,e){let s=(0,i.pl)(this.state.data,t,this.options);return this.#C({data:s,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),s}setState(t){this.#C({type:"setState",state:t})}cancel(t){let e=this.#g?.promise;return this.#g?.cancel(t),e?e.then(i.lQ).catch(i.lQ):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#O}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>!1!==(0,i.nU)(t.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===i.hT||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(t=>"static"===(0,i.d2)(t.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(t=0){return void 0===this.state.data||"static"!==t&&(!!this.state.isInvalidated||!(0,i.j3)(this.state.dataUpdatedAt,t))}onFocus(){let t=this.observers.find(t=>t.shouldFetchOnWindowFocus());t?.refetch({cancelRefetch:!1}),this.#g?.continue()}onOnline(){let t=this.observers.find(t=>t.shouldFetchOnReconnect());t?.refetch({cancelRefetch:!1}),this.#g?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#S.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(e=>e!==t),this.observers.length||(this.#g&&(this.#P||this.#F()?this.#g.cancel({revert:!0}):this.#g.cancelRetry()),this.scheduleGc()),this.#S.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}#F(){return"paused"===this.state.fetchStatus&&"pending"===this.state.status}invalidate(){this.state.isInvalidated||this.#C({type:"invalidate"})}async fetch(t,e){var s;if("idle"!==this.state.fetchStatus&&this.#g?.status()!=="rejected"){if(void 0!==this.state.data&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#g)return this.#g.continueRetry(),this.#g.promise}if(t&&this.setOptions(t),!this.options.queryFn){let t=this.observers.find(t=>t.options.queryFn);t&&this.setOptions(t.options)}let r=new AbortController,a=t=>{Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(this.#P=!0,r.signal)})},u=()=>{let t=(0,i.ZM)(this.options,e),s=(()=>{let t={client:this.#v,queryKey:this.queryKey,meta:this.meta};return a(t),t})();return(this.#P=!1,this.options.persister)?this.options.persister(t,s,this):t(s)},h=(()=>{let t={fetchOptions:e,options:this.options,queryKey:this.queryKey,client:this.#v,state:this.state,fetchFn:u};return a(t),t})(),c="infinite"===this.#w?(s=this.options.pages,{onFetch:(t,e)=>{let r=t.options,n=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],u=t.state.data?.pageParams||[],h={pages:[],pageParams:[]},c=0,l=async()=>{let e=!1,l=(0,i.ZM)(t.options,t.fetchOptions),d=async(s,r,n)=>{if(e)return Promise.reject(t.signal.reason);if(null==r&&s.pages.length)return Promise.resolve(s);let a=(()=>{let s={client:t.client,queryKey:t.queryKey,pageParam:r,direction:n?"backward":"forward",meta:t.options.meta};return(0,i.ox)(s,()=>t.signal,()=>e=!0),s})(),o=await l(a),{maxPages:u}=t.options,h=n?i.ZZ:i.y9;return{pages:h(s.pages,o,u),pageParams:h(s.pageParams,r,u)}};if(n&&a.length){let t="backward"===n,e={pages:a,pageParams:u},s=(t?function(t,{pages:e,pageParams:s}){return e.length>0?t.getPreviousPageParam?.(e[0],e,s[0],s):void 0}:o)(r,e);h=await d(e,s,t)}else{let t=s??a.length;do{let t=0===c?u[0]??r.initialPageParam:o(r,h);if(c>0&&null==t)break;h=await d(h,t),c++}while(c<t)}return h};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},e):t.fetchFn=l}}):this.options.behavior;c?.onFetch(h,this),this.#q=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==h.fetchOptions?.meta)&&this.#C({type:"fetch",meta:h.fetchOptions?.meta}),this.#g=(0,n.II)({initialPromise:e?.initialPromise,fn:h.fetchFn,onCancel:t=>{t instanceof n.cc&&t.revert&&this.setState({...this.#q,fetchStatus:"idle"}),r.abort()},onFail:(t,e)=>{this.#C({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#C({type:"pause"})},onContinue:()=>{this.#C({type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0});try{let t=await this.#g.start();if(void 0===t)throw Error(`${this.queryHash} data is undefined`);return this.setData(t),this.#S.config.onSuccess?.(t,this),this.#S.config.onSettled?.(t,this.state.error,this),t}catch(t){if(t instanceof n.cc){if(t.silent)return this.#g.promise;else if(t.revert){if(void 0===this.state.data)throw t;return this.state.data}}throw this.#C({type:"error",error:t}),this.#S.config.onError?.(t,this),this.#S.config.onSettled?.(this.state.data,t,this),t}finally{this.scheduleGc()}}#C(t){let e=e=>{switch(t.type){case"failed":return{...e,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...e,fetchStatus:"paused"};case"continue":return{...e,fetchStatus:"fetching"};case"fetch":return{...e,...h(e.data,this.options),fetchMeta:t.meta??null};case"success":let s={...e,...c(t.data,t.dataUpdatedAt),dataUpdateCount:e.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#q=t.manual?s:void 0,s;case"error":let i=t.error;return{...e,error:i,errorUpdateCount:e.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:e.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...e,isInvalidated:!0};case"setState":return{...e,...t.state}}};this.state=e(this.state),r.jG.batch(()=>{this.observers.forEach(t=>{t.onQueryUpdate()}),this.#S.notify({query:this,type:"updated",action:t})})}};function h(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,n.v_)(e.networkMode)?"fetching":"paused",...void 0===t&&{error:null,status:"pending"}}}function c(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function l(t){let e="function"==typeof t.initialData?t.initialData():t.initialData,s=void 0!==e,i=s?"function"==typeof t.initialDataUpdatedAt?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}},98651:(t,e,s)=>{s.d(e,{k:()=>a});var i=s(33800),r=s(68202),n=s(98883),a=class{#Q;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,n.gn)(this.gcTime)&&(this.#Q=i.zs.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(r.H.isServer()?1/0:3e5))}clearGcTimeout(){void 0!==this.#Q&&(i.zs.clearTimeout(this.#Q),this.#Q=void 0)}}},98883:(t,e,s)=>{s.d(e,{Cp:()=>y,EN:()=>p,F$:()=>f,GU:()=>Q,MK:()=>l,S$:()=>r,ZM:()=>F,ZZ:()=>S,Zw:()=>a,d2:()=>h,f8:()=>v,gn:()=>o,hT:()=>P,j3:()=>u,lQ:()=>n,nJ:()=>d,nU:()=>c,ox:()=>j,pl:()=>O,y9:()=>q,yy:()=>w});var i=s(33800),r="undefined"==typeof window||"Deno"in globalThis;function n(){}function a(t,e){return"function"==typeof t?t(e):t}function o(t){return"number"==typeof t&&t>=0&&t!==1/0}function u(t,e){return Math.max(t+(e||0)-Date.now(),0)}function h(t,e){return"function"==typeof t?t(e):t}function c(t,e){return"function"==typeof t?t(e):t}function l(t,e){let{type:s="all",exact:i,fetchStatus:r,predicate:n,queryKey:a,stale:o}=t;if(a){if(i){if(e.queryHash!==f(a,e.options))return!1}else if(!y(e.queryKey,a))return!1}if("all"!==s){let t=e.isActive();if("active"===s&&!t||"inactive"===s&&t)return!1}return("boolean"!=typeof o||e.isStale()===o)&&(!r||r===e.state.fetchStatus)&&(!n||!!n(e))}function d(t,e){let{exact:s,status:i,predicate:r,mutationKey:n}=t;if(n){if(!e.options.mutationKey)return!1;if(s){if(p(e.options.mutationKey)!==p(n))return!1}else if(!y(e.options.mutationKey,n))return!1}return(!i||e.state.status===i)&&(!r||!!r(e))}function f(t,e){return(e?.queryKeyHashFn||p)(t)}function p(t){return JSON.stringify(t,(t,e)=>g(e)?Object.keys(e).sort().reduce((t,s)=>(t[s]=e[s],t),{}):e)}function y(t,e){return t===e||typeof t==typeof e&&!!t&&!!e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).every(s=>y(t[s],e[s]))}var m=Object.prototype.hasOwnProperty;function v(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(let s in t)if(t[s]!==e[s])return!1;return!0}function b(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function g(t){if(!C(t))return!1;let e=t.constructor;if(void 0===e)return!0;let s=e.prototype;return!!C(s)&&!!s.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(t)===Object.prototype}function C(t){return"[object Object]"===Object.prototype.toString.call(t)}function w(t){return new Promise(e=>{i.zs.setTimeout(e,t)})}function O(t,e,s){return"function"==typeof s.structuralSharing?s.structuralSharing(t,e):!1!==s.structuralSharing?function t(e,s,i=0){if(e===s)return e;if(i>500)return s;let r=b(e)&&b(s);if(!r&&!(g(e)&&g(s)))return s;let n=(r?e:Object.keys(e)).length,a=r?s:Object.keys(s),o=a.length,u=r?Array(o):{},h=0;for(let c=0;c<o;c++){let o=r?c:a[c],l=e[o],d=s[o];if(l===d){u[o]=l,(r?c<n:m.call(e,o))&&h++;continue}if(null===l||null===d||"object"!=typeof l||"object"!=typeof d){u[o]=d;continue}let f=t(l,d,i+1);u[o]=f,f===l&&h++}return n===o&&h===n?e:u}(t,e):e}function q(t,e,s=0){let i=[...t,e];return s&&i.length>s?i.slice(1):i}function S(t,e,s=0){let i=[e,...t];return s&&i.length>s?i.slice(0,-1):i}var P=Symbol();function F(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:t.queryFn&&t.queryFn!==P?t.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${t.queryHash}'`))}function Q(t,e){return"function"==typeof t?t(...e):!!t}function j(t,e,s){let i,r=!1;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??=e(),r||(r=!0,i.aborted?s():i.addEventListener("abort",s,{once:!0})),i)}),t}},98936:(t,e,s)=>{s.d(e,{t:()=>r});var i=s(37963),r=new class extends i.Q{#j=!0;#y;#m;constructor(){super(),this.#m=t=>{if("undefined"!=typeof window&&window.addEventListener){let e=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",s)}}}}onSubscribe(){this.#y||this.setEventListener(this.#m)}onUnsubscribe(){this.hasListeners()||(this.#y?.(),this.#y=void 0)}setEventListener(t){this.#m=t,this.#y?.(),this.#y=t(this.setOnline.bind(this))}setOnline(t){this.#j!==t&&(this.#j=t,this.listeners.forEach(e=>{e(t)}))}isOnline(){return this.#j}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9651],{1428:(e,t,n)=>{function r(e,t){var n,r;let a=null!=(n=t.minDistance)?n:100,s=null!=(r=t.minVelocity)?r:.3,i=0,l=0,d=0,o=!1,c=null,u=e=>{var n;null!=(n=t.shouldIgnore)&&n.call(t,e.target)||(i=e.clientX,l=e.clientY,d=e.timeStamp,o=!0,c=e.pointerId)},m=e=>{if(!o||e.pointerId!==c)return;o=!1,c=null;let n=e.clientX-i,r=e.clientY-l,u=Math.max(1,e.timeStamp-d),m=Math.abs(n),p=Math.abs(r);m<a||p>=m||m/u<s||t.onSwipe(n<0?"left":"right")},p=()=>{o=!1,c=null};return e.addEventListener("pointerdown",u),e.addEventListener("pointerup",m),e.addEventListener("pointercancel",p),()=>{e.removeEventListener("pointerdown",u),e.removeEventListener("pointerup",m),e.removeEventListener("pointercancel",p)}}function a(e,t){let n=0,r=0,a=0,s=!1,i=null,l=e=>{var l;null!=(l=t.shouldIgnore)&&l.call(t,e.target)||(n=e.clientX,r=e.clientY,a=e.timeStamp,s=!0,i=e.pointerId)},d=e=>{if(!s||e.pointerId!==i)return;s=!1,i=null;let l=function(e){var t,n;let r=null!=(t=e.minDistance)?t:100,a=null!=(n=e.minVelocity)?n:.3,s=Math.abs(e.dx),i=Math.abs(e.dy),l=Math.max(1,e.dt),d=Math.max(s,i);return d<r||d/l<a?null:s>=i?e.dx<0?"left":"right":e.dy<0?"up":"down"}({dx:e.clientX-n,dy:e.clientY-r,dt:e.timeStamp-a,...void 0!==t.minDistance?{minDistance:t.minDistance}:{},...void 0!==t.minVelocity?{minVelocity:t.minVelocity}:{}});l&&t.onSwipe(l)},o=()=>{s=!1,i=null};return e.addEventListener("pointerdown",l),e.addEventListener("pointerup",d),e.addEventListener("pointercancel",o),()=>{e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",d),e.removeEventListener("pointercancel",o)}}n.d(t,{gI:()=>r,ix:()=>a})},60737:(e,t,n)=>{n.d(t,{SY:()=>_});var r=n(41121),a=n(91269),s=n(38519),i=n(72030);let l=/https?:\/\/[^\s<>"']+/g;function d(e){return e.slice(0,40)}async function o(e,t){let n=function(e){var t;let n=null!=(t=e.match(l))?t:[];return 0===n.length?[{text:e}]:n.map(e=>({url:e}))}(t),r=await e.fetchJson("/v1/intake-ledger/items",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({items:n,source:"pwa"})});return{ids:r.ids,added:r.added,merged:r.merged}}async function c(e,t){return{acceptanceId:(await e.fetchJson("/v1/harness/ask",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t})})).acceptanceId}}function u(e,t,n){return e.fetchJson("/v1/intake/route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t,consent:"route",source:"pwa",...(null==n?void 0:n.classify)!==void 0?{classify:n.classify}:{}})})}let m=["absorbed","discarded","routed","checked"],p={new:"대기 중",queued:"대기 중",absorbed:"흡수됨",routed:"다른 갈래로 넘김",checked:"확인됨",discarded:"버림",deferred:"미룸"};function g(e){var t,n,r;return null===e?{label:"찾을 수 없음",settled:!1,noteRef:null}:{label:Object.hasOwn(p,e.status)?p[e.status]:e.status,settled:m.includes(e.status),noteRef:null!=(r=null==(n=e.outputs)||null==(t=n.find(e=>"note"===e.kind))?void 0:t.ref)?r:null}}let f={"headless.spawn":"실행 시작","gate.baseline":"게이트 검사","review.diff-scope":"리뷰 중","headless.done":"실행 종료","run-terminal":"종료"};function h(e){var t,n,r,a,s;let i=e.at(-1),l=e.find(e=>"run-terminal"===e.event),d=null==l||null==(t=l.payload)?void 0:t.runStatus;return{stage:i?null!=(r=f[i.event])?r:i.event:null,lastEventAt:null!=(a=null==i?void 0:i.ts)?a:null,done:void 0!==l,outcome:l?"completed"===d||"failed"===d?d:"unknown":null,error:null!=(s=null==l||null==(n=l.payload)?void 0:n.error)?s:null}}var x=n(66062),v=n(51215),k=n(1428);class b{preview(e){return this.client.fetchJson("/v1/intake/pipeline-preview",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)})}commit(e){return this.client.fetchJson("/v1/intake/pipeline-commit",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)})}async submitPhotoOcr(e,t){let n=new FormData;return n.append("image",e,t),n.append("polishMode","minimal"),await this.client.fetchJson("/v1/notes/from-image",{method:"POST",body:n})}constructor(e){this.client=e}}var y=n(12775);let w={pending:"대기",approved:"승인",rejected:"거절",deferred:"잠시 멈춤"},j={pending:"bg-muted text-muted-foreground ring-border",approved:"bg-emerald-500/15 text-emerald-700 ring-emerald-500/30",rejected:"bg-rose-500/15 text-rose-700 ring-rose-500/30",deferred:"bg-amber-500/15 text-amber-700 ring-amber-500/30"},N={high:"bg-orange-500/15 text-orange-700 ring-orange-500/30",medium:"bg-sky-500/15 text-sky-700 ring-sky-500/30",low:"bg-muted text-muted-foreground ring-border"},I={research:"\uD83D\uDD0D","research-and-plan":"\uD83D\uDCCB","dev-feature":"⚙","dev-spec":"\uD83D\uDCD0",cognitive:"\uD83E\uDDE0",debug:"\uD83D\uDEE0","workflow-update":"↻"};function S(e){var t,n;let{card:a,verdict:s,active:i,stackIndex:l=0}=e,d=i?0:6*l,o=i?1:Math.max(.92,1-.04*l),c=i?1:Math.max(.6,1-.18*l),{task:u}=a,m=u.urls.length+u.keywords.length+u.refs.length;return(0,r.jsxs)("article",{"data-testid":"memo-intake-card","data-task-key":u.taskKey,"data-active":i?"true":"false","data-stack-index":l,"data-verdict":s,className:"absolute inset-0 flex flex-col gap-2 rounded-2xl border border-border bg-card p-5 shadow-lg ring-1 ring-foreground/5",style:{zIndex:i?30:30-l,transform:"translateY(".concat(d,"px) scale(").concat(o,")"),opacity:c},children:[(0,r.jsxs)("header",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[10px] uppercase tracking-wider text-muted-foreground","data-testid":"memo-card-mission",children:a.missionTitle}),(0,r.jsx)("h3",{className:"font-heading text-base font-medium leading-snug","data-testid":"memo-card-title",children:u.title})]}),(0,r.jsx)("span",{"data-testid":"memo-card-verdict",className:"shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ring-1 ".concat(j[s]),children:w[s]})]}),(0,r.jsx)("p",{className:"line-clamp-3 text-sm text-foreground","data-testid":"memo-card-intent",children:u.intent}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-[10px]",children:[(0,r.jsxs)("span",{"data-testid":"memo-card-category",className:"inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-muted-foreground ring-1 ring-border",children:[(0,r.jsx)("span",{"aria-hidden":!0,children:null!=(t=I[u.category])?t:"•"}),u.category]}),(0,r.jsx)("span",{"data-testid":"memo-card-priority",className:"rounded-full px-2 py-0.5 font-medium ring-1 ".concat(null!=(n=N[u.priority])?n:N.low),children:u.priority}),u.workflowEligible?(0,r.jsx)("span",{"data-testid":"memo-card-workflow",className:"rounded-full bg-violet-500/15 px-2 py-0.5 text-violet-700 ring-1 ring-violet-500/30",children:"workflow"}):(0,r.jsx)("span",{"data-testid":"memo-card-workflow",className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground ring-1 ring-border",children:"no-workflow"}),m>0&&(0,r.jsxs)("span",{"data-testid":"memo-card-refs",className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground ring-1 ring-border",children:[m," ref",1===m?"":"s"]})]}),i&&(0,r.jsxs)("footer",{"data-testid":"memo-card-hint",className:"mt-auto grid grid-cols-2 gap-1 pt-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("span",{children:"← 거절"}),(0,r.jsx)("span",{className:"text-right",children:"승인 →"}),(0,r.jsx)("span",{children:"↑ 잠시 멈춤"}),(0,r.jsx)("span",{className:"text-right",children:"펼치기 ↓"})]})]})}function R(e,t,n,r){y.K.emit({surface:"pwa",intent:{layer:"selection",kind:"pwa.selection.toggle_change",target:{kind:"toggle",id:e},value:{from:t,to:n}},...r?{context:{active_workflow_run_id:r}}:{}})}let C={left:"reject",right:"approve",up:"defer",down:"expand"},E={ArrowLeft:"reject",ArrowRight:"approve",ArrowUp:"defer",ArrowDown:"expand"," ":"approve"},O={reject:"rejected",approve:"approved",defer:"deferred"};function L(){let{initialMemo:e,onClose:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:n}=(0,s.Q)(),l=(0,a.useMemo)(()=>new b(n),[n]),[d,o]=(0,a.useState)(null!=e?e:""),[c,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(null),[g,f]=(0,a.useState)({}),[h,k]=(0,a.useState)(0),[y,w]=(0,a.useState)(null),[j,N]=(0,a.useState)(null),[I,S]=(0,a.useState)(!1),[C,E]=(0,a.useState)(""),L=(0,a.useRef)(null),[P,D]=(0,a.useState)(!1),[K,A]=(0,a.useState)(!1),[$,_]=(0,a.useState)(!1),[U,X]=(0,a.useState)(!1),V=(0,a.useMemo)(()=>m?function(e){let t=[];for(let n of e)for(let e of n.tasks)t.push({missionId:n.id,missionTitle:n.title,task:e});return t}(m.decomposition.missions):[],[m]),H=(0,a.useMemo)(()=>{let e={approved:0,rejected:0,deferred:0,pending:0};for(let n of V){var t;let r=null!=(t=g[n.task.taskKey])?t:"pending";e[r]+=1}return e},[V,g]),B=H.approved+H.rejected+H.deferred>0,F=(0,a.useMemo)(()=>V.filter(e=>"approved"===g[e.task.taskKey]).map(e=>e.task.taskKey),[V,g]),W=(0,a.useCallback)(()=>{p(null),f({}),k(0),w(null),N(null),S(!1),E(""),null==t||t()},[t]),q=(0,a.useCallback)(()=>{var e;null==(e=L.current)||e.click()},[]),Q=(0,a.useCallback)(async e=>{var t,n;let r=null==(t=e.target.files)?void 0:t[0];if(e.target.value="",r){(0,v.cY)("intake.memo-preview.photo.pick",{name:r.name,size:r.size,type:r.type}),D(!0);try{let e=await l.submitPhotoOcr(r,r.name||"memo-photo.jpg"),t=(null!=(n=e.markdown)?n:"").trim();if(!t)return void x.oR.error("OCR 결과가 비어 있습니다 — 사진을 다시 찍거나 다른 이미지를 선택하세요.");o(e=>e.trim()?"".concat(t,"\n\n---\n\n").concat(e):t),x.oR.success("OCR 추가됨 (provider=".concat(e.provider," \xb7 ").concat(t.length,"자) — 수정 후 Run preview 누르세요."))}catch(e){x.oR.error("OCR 실패: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.photo.error",{err:String(e)})}finally{D(!1)}}},[l]),G=(0,a.useCallback)(async()=>{let e=d.trim(),t=C.trim();if(e&&t&&m){(0,v.cY)("intake.memo-preview.refine",{hintLen:t.length,useRealLlm:K}),u(!0),w(null),N(null);try{let n=await l.preview({rawText:e,refinementHint:t,priorDecomposition:{missions:m.decomposition.missions},...K?{useRealLlm:!0}:{},...U?{useRealEnrich:!0}:{}});p(n),f({}),k(0),E(""),S(!1)}catch(e){x.oR.error("refine failed: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.refine.error",{err:String(e)})}finally{u(!1)}}},[l,d,C,m,K,U]),Z=(0,a.useCallback)(async()=>{let e=d.trim();if(e){(0,v.cY)("intake.memo-preview.submit",{length:e.length,useRealLlm:K,useRealEnrich:U}),u(!0),w(null),N(null);try{let t=await l.preview({rawText:e,...K?{useRealLlm:!0}:{},...U?{useRealEnrich:!0}:{}});p(t),f({}),k(0)}catch(e){x.oR.error("pipeline preview failed: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.error",{err:String(e)})}finally{u(!1)}}},[l,d,K,U]),ee=(0,a.useCallback)(e=>{if(!V.length||h>=V.length)return;let t=V[h];if((0,v.cY)("intake.memo-preview.decision",{taskKey:t.task.taskKey,decision:e}),"expand"===e)return void w(t);f(n=>({...n,[t.task.taskKey]:O[e]})),k(e=>Math.min(e+1,V.length))},[V,h]),et=(0,a.useCallback)(()=>{V.length&&((0,v.cY)("intake.memo-preview.approve-all-pending",{count:H.pending}),f(e=>{let t={...e};for(let e of V){var n;(null!=(n=t[e.task.taskKey])?n:"pending")==="pending"&&(t[e.task.taskKey]="approved")}return t}))},[V,H.pending]),en=(0,a.useCallback)(async()=>{var e,t,n;let r=d.trim();if(!r)return;let a=B?F:void 0;if(B&&0===F.length)return void x.oR.error("승인된 카드가 없습니다 — 카드를 → 스와이프해서 승인하세요.");(0,v.cY)("intake.memo-preview.register.submit",{length:r.length,mode:B?"selective":"express",includeCount:null!=(e=null==a?void 0:a.length)?e:null,useRealLlm:K,commitToTox:$}),u(!0);try{let e={rawText:r,...a?{includeTaskKeys:a}:{},...K?{useRealLlm:!0}:{},...U?{useRealEnrich:!0}:{}},s=$?await l.commit(e):await l.preview({...e,register:!0});p(s);let i=s.register;if(i){let e=null!=(n=null==(t=i.skippedTaskKeys)?void 0:t.length)?n:0;N({missions:i.missionIds.length,tasks:i.taskIds.length,skipped:e});let r=e>0?" \xb7 ".concat(e," skipped"):"",a=$?"~/.elanous/tasks/tasks.db":"in-memory";x.oR.success("registered ".concat(i.missionIds.length," mission").concat(1===i.missionIds.length?"":"s"," \xb7 ").concat(i.taskIds.length," task").concat(1===i.taskIds.length?"":"s"," (").concat(a,")").concat(r))}else x.oR.error("register skipped — endpoint returned no register payload")}catch(e){x.oR.error("register failed: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.register.error",{err:String(e)})}finally{u(!1)}},[l,d,B,F,K,$,U]);return(0,r.jsxs)("section",{className:"mx-auto flex max-w-md flex-col gap-4 p-4","data-testid":"memo-intake-preview",children:[(0,r.jsxs)("header",{className:"space-y-1",children:[(0,r.jsx)("h2",{className:"font-heading text-lg font-medium",children:"New from memo"}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"Raw memo dump → 자동 task graph. ←/→/↑/↓ swipe = 거절/승인/잠시 멈춤/펼치기."}),(0,r.jsxs)("label",{"data-testid":"memo-intake-llm-toggle",className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:K,onChange:e=>{let t=e.target.checked;R("use-real-llm",K,t,null==m?void 0:m.intakeId),A(t)},disabled:c||P,"data-testid":"memo-intake-llm-toggle-input"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{className:K?"text-foreground":"",children:"Enable Real LLM"})," ","— ",K?"실 streamLLM 호출 (provider 는 ~/.elanous/config.json \xb7 user-config 우선)":"LLM 미호출 \xb7 skeleton fallback \xb7 pipeline 흐름 + cards 렌더만 검증"]})]}),(0,r.jsxs)("label",{"data-testid":"memo-intake-enrich-toggle",className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:U,onChange:e=>{let t=e.target.checked;R("use-real-enrich",U,t,null==m?void 0:m.intakeId),X(t)},disabled:c||P,"data-testid":"memo-intake-enrich-toggle-input"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{className:U?"text-foreground":"",children:"Enable Real enrich"})," ","— ",U?"URL fetch + gh repo view 호출 (keyword crawl 은 stub \xb7 FU-I7b.2)":'모든 enrichment 가 per-row "no plugin" diag \xb7 외부 HTTP 호출 0']})]}),(0,r.jsxs)("label",{"data-testid":"memo-intake-commit-toggle",className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:$,onChange:e=>{let t=e.target.checked;R("commit-to-tox",$,t,null==m?void 0:m.intakeId),_(t)},disabled:c||P,"data-testid":"memo-intake-commit-toggle-input"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{className:$?"text-rose-700 dark:text-rose-400":"",children:"Commit to real TOX"})," ","— ",$?"Register 가 ~/.elanous/tasks/tasks.db 에 실 mission/task 쓰기 + workflow YAML 디스크 저장 (되돌릴 수 없음)":"Register 가 in-memory store 만 사용 \xb7 사용자 TOX 미터치"]})]})]}),(0,r.jsx)("textarea",{value:d,onChange:e=>o(e.target.value),placeholder:"- 스크린 레코딩 능력 흡수\n https://github.com/siddharthvaddem/openscreen\n- 이미지 바로 보기 안 되는 이유 분석\n\n==== 다이어그램 강화 ====\n위젯 surface \xb7 Mermaid \xb7 DrawIO repo 확인",rows:6,disabled:c,"data-testid":"memo-intake-textarea",className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 font-mono text-sm shadow-xs focus:outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",onClick:()=>void Z(),disabled:c||P||!d.trim(),"data-testid":"memo-intake-submit",children:c&&!m?"Running…":"Run preview"}),(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:q,disabled:c||P,"data-testid":"memo-intake-photo","aria-label":"upload photo for OCR",title:"사진 / 화이트보드 / post-it → OCR → memo",children:P?"⏳ OCR…":"\uD83D\uDCF7 Photo"}),(0,r.jsx)("input",{ref:L,type:"file",accept:"image/*",capture:"environment",className:"hidden","data-testid":"memo-intake-photo-input",onChange:e=>void Q(e)}),m&&(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:W,disabled:c,"data-testid":"memo-intake-reset",children:"Reset"})]}),m&&(0,r.jsx)(z,{res:m,registered:j}),m&&null===j&&(0,r.jsx)(T,{open:I,hint:C,busy:c,onToggle:()=>S(e=>!e),onHintChange:E,onSubmit:()=>void G()}),m&&V.length>0&&(0,r.jsx)(J,{cards:V,verdicts:g,topIndex:h,onSwipe:ee}),m&&V.length>0&&(0,r.jsx)(M,{tallies:H,total:V.length}),m&&V.length>0&&(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:et,disabled:c||0===H.pending||null!==j,"data-testid":"memo-intake-approve-pending",children:"Approve all pending (".concat(H.pending,")")}),(0,r.jsx)(i.$,{type:"button",size:"sm",onClick:()=>void en(),disabled:c||null!==j||B&&0===F.length,"data-testid":"memo-intake-register",children:j?"Registered ✓ (".concat(j.tasks," tasks)"):c?"Registering…":B?"Register approved (".concat(F.length,")"):"Register all (".concat(V.length,")")}),(0,r.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"".concat(h," / ").concat(V.length," reviewed")})]}),y&&(0,r.jsx)(Y,{card:y,onClose:()=>w(null)})]})}function M(e){let{tallies:t,total:n}=e;return(0,r.jsxs)("div",{"data-testid":"memo-intake-tally",className:"flex flex-wrap items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsxs)("span",{className:"font-medium",children:[n," 카드"]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-approved",className:"rounded-full bg-emerald-500/15 px-2 py-0.5 text-emerald-700 ring-1 ring-emerald-500/30",children:["✓ ",t.approved]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-rejected",className:"rounded-full bg-rose-500/15 px-2 py-0.5 text-rose-700 ring-1 ring-rose-500/30",children:["✗ ",t.rejected]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-deferred",className:"rounded-full bg-amber-500/15 px-2 py-0.5 text-amber-700 ring-1 ring-amber-500/30",children:["⏸ ",t.deferred]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-pending",className:"rounded-full bg-muted px-2 py-0.5 ring-1 ring-border",children:["… ",t.pending]})]})}function T(e){let{open:t,hint:n,busy:a,onToggle:s,onHintChange:l,onSubmit:d}=e;return(0,r.jsxs)("div",{"data-testid":"memo-intake-refine",className:"space-y-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:s,disabled:a,"data-testid":"memo-intake-refine-toggle",className:"text-xs",children:t?"↓ Hide refine":"↻ Refine decomposition"}),t&&(0,r.jsxs)("div",{className:"space-y-2 rounded-lg border border-dashed border-border bg-card/30 p-3",children:[(0,r.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"LLM 에 다시 prompt — 원본 memo + 이전 분해 + hint 를 함께 보냅니다. 결과 카드의 verdict 는 초기화됩니다."}),(0,r.jsx)("textarea",{value:n,onChange:e=>l(e.target.value),placeholder:'예: "missions 더 작게" \xb7 "P0 만 남겨" \xb7 "t-9 ~ t-11 을 하나로 합쳐"',rows:2,disabled:a,"data-testid":"memo-intake-refine-textarea",className:"w-full resize-y rounded-md border border-input bg-background px-2 py-1.5 text-xs shadow-xs focus:outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsx)(i.$,{type:"button",size:"sm",onClick:d,disabled:a||!n.trim(),"data-testid":"memo-intake-refine-submit",children:a?"Refining…":"Re-run with hint"})]})]})}function z(e){let{res:t,registered:n}=e;return(0,r.jsxs)("div",{"data-testid":"memo-intake-summary",className:"space-y-1 rounded-lg border border-dashed border-border bg-card/50 p-3 text-xs text-muted-foreground",children:[(0,r.jsxs)("p",{children:["intake ",(0,r.jsx)("code",{"data-testid":"memo-intake-id",className:"rounded bg-muted px-1 text-foreground",children:t.intakeId})," \xb7 ",t.decomposition.fallback?"skeleton fallback":"live"]}),(0,r.jsxs)("p",{children:[t.decomposition.missionCount," mission",1===t.decomposition.missionCount?"":"s"," \xb7"," ",t.decomposition.taskCount," task",1===t.decomposition.taskCount?"":"s"," \xb7"," ","workflow-eligible ",t.categorize.counts.workflowEligible,"/",t.categorize.counts.total," \xb7"," ","deps ",t.align.dependencyCount]}),n&&(0,r.jsxs)("p",{"data-testid":"memo-intake-registered",className:"text-emerald-600 dark:text-emerald-400",children:["✓ registered ",n.missions," mission",1===n.missions?"":"s"," \xb7 ",n.tasks," task",1===n.tasks?"":"s"," (in-memory)",n.skipped>0?" \xb7 ".concat(n.skipped," skipped"):""]})]})}function J(e){let{cards:t,verdicts:n,topIndex:s,onSwipe:i}=e,l=(0,a.useRef)(null),d=(0,a.useRef)(i);if((0,a.useEffect)(()=>{d.current=i},[i]),(0,a.useEffect)(()=>{let e=l.current;if(e)return(0,k.ix)(e,{onSwipe:e=>d.current(C[e])})},[]),(0,a.useEffect)(()=>{if(s>=t.length)return;let e=e=>{let t=E[e.key];t&&(e.preventDefault(),d.current(t))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s,t.length]),s>=t.length)return(0,r.jsx)("div",{"data-testid":"memo-deck-empty",className:"flex h-72 items-center justify-center rounded-2xl border border-dashed border-border text-sm text-muted-foreground",children:'모든 카드 검토 완료 — 아래 "Approve all & Register" 를 눌러 등록.'});let o=t.slice(s,s+3);return(0,r.jsxs)("div",{ref:l,"data-testid":"memo-deck","data-top-index":s,role:"region","aria-label":"memo intake card deck \xb7 좌우 = 거절/승인 \xb7 위 = 잠시 멈춤 \xb7 아래 = 펼치기",tabIndex:0,className:"relative h-80 select-none touch-none",children:[o.map((e,t)=>{var a;return(0,r.jsx)(S,{card:e,verdict:null!=(a=n[e.task.taskKey])?a:"pending",active:0===t,stackIndex:t},e.task.taskKey)}),(0,r.jsxs)("div",{"data-testid":"memo-deck-progress",className:"absolute -bottom-6 left-0 right-0 text-center text-[10px] text-muted-foreground",children:[s+1," / ",t.length]})]})}function Y(e){let{card:t,onClose:n}=e,{task:a}=t;return(0,r.jsx)("div",{"data-testid":"memo-card-expand",role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-end justify-center bg-foreground/40 p-4 sm:items-center",onClick:n,children:(0,r.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"w-full max-w-md space-y-3 rounded-2xl border border-border bg-card p-5 shadow-xl",children:[(0,r.jsxs)("header",{className:"space-y-1",children:[(0,r.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:t.missionTitle}),(0,r.jsx)("h3",{className:"font-heading text-base font-medium",children:a.title})]}),(0,r.jsx)("p",{className:"text-sm text-foreground",children:a.intent}),(a.urls.length>0||a.keywords.length>0||a.refs.length>0)&&(0,r.jsxs)("div",{className:"space-y-1 text-xs text-muted-foreground",children:[a.urls.length>0&&(0,r.jsxs)("p",{"data-testid":"memo-card-expand-urls",children:["URLs: ",a.urls.join(" \xb7 ")]}),a.keywords.length>0&&(0,r.jsxs)("p",{"data-testid":"memo-card-expand-keywords",children:["Keywords: ",a.keywords.join(" \xb7 ")]}),a.refs.length>0&&(0,r.jsxs)("p",{"data-testid":"memo-card-expand-refs",children:["Refs: ",a.refs.join(" \xb7 ")]})]}),(0,r.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:[a.category," \xb7 ",a.priority," priority \xb7 ",a.workflowEligible?"workflow":"no-workflow"," \xb7 confidence ",a.confidence]}),(0,r.jsx)("div",{className:"flex justify-end pt-1",children:(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:n,"data-testid":"memo-card-expand-close",children:"Close"})})]})})}let P="elanous.intake.recent",D={absorb:"→ 흡수",tasks:"→ 작업",graph:"→ 그래프","ask-human":"→ 직접 고르세요"};function K(e){if(null==e?void 0:e.storage)return e.storage;try{return globalThis.localStorage}catch(e){return null}}function A(e){try{var t;let n=null==(t=K(e))?void 0:t.getItem(P);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?r:[]}catch(e){return[]}}async function $(e,t,n){let r=d(n);return"absorb"===t?{absorbIds:(await o(e,n)).ids,recentPreview:r}:{acceptanceId:(await c(e,n)).acceptanceId,recentPreview:r}}function _(){var e,t;let{state:n,deps:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:o}=(0,s.Q)(),[c,m]=(0,a.useState)(""),[p,f]=(0,a.useState)(!1),[x,v]=(0,a.useState)(null),[k,b]=(0,a.useState)(null),[y,w]=(0,a.useState)(null),[j,N]=(0,a.useState)(null),[I,S]=(0,a.useState)({}),[R,C]=(0,a.useState)(!1),[E,O]=(0,a.useState)(""),[M,T]=(0,a.useState)([]),[z,J]=(0,a.useState)({}),Y=(0,a.useRef)(z),_=(0,a.useMemo)(()=>[...new Set(M.filter(e=>"absorb"===e.track).flatMap(e=>{var t;return null!=(t=e.ids)?t:[]}))],[M]),U=(0,a.useRef)(_);U.current=_;let X=(0,a.useRef)(()=>{}),[V,H]=(0,a.useState)(null),[B,F]=(0,a.useState)(!1),W=(0,a.useRef)(!1),q=(0,a.useRef)(0),Q=(0,a.useRef)(c);Q.current=c;let G=(0,a.useRef)(null),Z=(0,a.useRef)(I),ee=(0,a.useRef)(M),et=(0,a.useMemo)(()=>[...new Set([...M.filter(e=>"graph"===e.track).map(e=>e.runId),null==j?void 0:j.runId].filter(e=>!!e))],[M,null==j?void 0:j.runId]);(0,a.useEffect)(()=>{T(A(l))},[l]),(0,a.useEffect)(()=>{ee.current=M},[M]),(0,a.useEffect)(()=>{let e=!1,t=new Map,n=async r=>{var a;if(e||!U.current.includes(r)||g(null!=(a=Y.current[r])?a:null).settled)return;let s=null;try{s=await o.fetchJson("/v1/intake-ledger/items/".concat(encodeURIComponent(r)))}catch(e){}e||(Y.current={...Y.current,[r]:s},J(Y.current),U.current.includes(r)&&!g(s).settled?t.set(r,setTimeout(()=>{n(r)},6e4)):t.delete(r))};return X.current=e=>{var r;t.has(e)||g(null!=(r=Y.current[e])?r:null).settled||(t.set(e,null),n(e))},U.current.forEach(X.current),()=>{for(let n of(e=!0,t.values()))null!==n&&clearTimeout(n);t.clear(),X.current=()=>{}}},[o]),(0,a.useEffect)(()=>{_.forEach(X.current)},[_]);let en=(0,a.useCallback)(e=>{var t,n;T(function(e,t){let n=[e,...A(t)].slice(0,20);try{var r;null==(r=K(t))||r.setItem(P,JSON.stringify(n))}catch(e){}return n}({...e,at:null!=(n=null==l||null==(t=l.now)?void 0:t.call(l))?n:new Date().toISOString()},l))},[l]),er=(0,a.useCallback)(async()=>{let e=c.trim();if(e&&!p){f(!0),v(null),b(null);try{var t;let n=await $(o,"absorb",e);b(null!=(t=n.absorbIds)?t:[]),en({track:"absorb",preview:n.recentPreview,ids:n.absorbIds})}catch(e){v(e instanceof Error?e.message:String(e))}finally{f(!1)}}},[p,o,en,c]),ea=(0,a.useCallback)(()=>{let e=c.trim();e&&!p&&(O(e),C(!0),en({track:"split",preview:d(e)}))},[p,en,c]),es=(0,a.useCallback)(async()=>{let e=c.trim();if(e&&!p){f(!0),v(null),w(null),N(null);try{var t;let n=await $(o,"graph",e);w(null!=(t=n.acceptanceId)?t:null),G.current=Date.now(),en({track:"graph",preview:n.recentPreview,acceptanceId:n.acceptanceId})}catch(e){v(e instanceof Error?e.message:String(e))}finally{f(!1)}}},[p,o,en,c]);(0,a.useEffect)(()=>{let e=++q.current;if(H(null),!c.trim())return;let t=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},r=e.trim();if(!r)return()=>{};let a=n.setTimeout(()=>t(r),500);return()=>n.clearTimeout(a)}(c,t=>{u(o,t).then(t=>{q.current===e&&H(t)},()=>{q.current===e&&H(null)})});return()=>{++q.current,t()}},[o,c]);let ei=(0,a.useCallback)(async()=>{let e=c.trim();if(!e||W.current||p||(null==V?void 0:V.reason)!=="rule-unknown")return;let t=++q.current;W.current=!0,F(!0);try{let n=await u(o,e,{classify:!0});q.current===t&&Q.current.trim()===e&&H(n)}catch(n){q.current===t&&Q.current.trim()===e&&H({track:"ask-human",confidence:0,reason:"classifier-failed:request-error",decidedBy:"classifier"})}finally{W.current=!1,F(!1)}},[p,o,null==V?void 0:V.reason,c]);(0,a.useEffect)(()=>{if(!y)return;let e=!1,t=async()=>{var t,n;if(e)return;let r=null!=(t=G.current)?t:Date.now();if(!(Date.now()-r>3e5))try{let t=await o.fetchJson("/v1/harness/ask-status?acceptanceId=".concat(encodeURIComponent(y)));if(!e&&(N(t),t.runId&&ee.current.some(e=>"graph"===e.track&&e.acceptanceId===y&&e.runId!==t.runId))){let e=ee.current.map(e=>"graph"===e.track&&e.acceptanceId===y?{...e,runId:t.runId}:e);ee.current=e;try{null==(n=K(l))||n.setItem(P,JSON.stringify(e))}catch(e){}T(e)}}catch(e){}};t();let n=setInterval(()=>{t()},5e3);return()=>{e=!0,clearInterval(n)}},[y,o,l]),(0,a.useEffect)(()=>{Z.current=I},[I]),(0,a.useEffect)(()=>{let e;if(0===et.length)return;let t=!1,n=!1,r=async()=>{if(t||n)return;let a=et.filter(e=>{var t;return!h(null!=(t=Z.current[e])?t:[]).done});if(0!==a.length){n=!0;try{let e=await Promise.allSettled(a.map(e=>o.fetchJson("/v1/harness/run-events?runId=".concat(encodeURIComponent(e)))));if(t)return;let n={};e.forEach((e,t)=>{"fulfilled"===e.status&&(n[a[t]]=e.value)}),Object.keys(n).length>0&&(Z.current={...Z.current,...n},S(Z.current))}finally{n=!1,!t&&et.some(e=>{var t;return!h(null!=(t=Z.current[e])?t:[]).done})&&(e=setTimeout(()=>{r()},3e4))}}};return r(),()=>{t=!0,e&&clearTimeout(e)}},[o,et]);let el=null!=n?n:{text:c,busy:p,error:x,absorbIds:k,acceptanceId:y,graph:j,runEvents:I,splitOpen:R,splitMemo:E,recent:M,route:V},ed=(0,a.useMemo)(()=>{var e,t;return el.acceptanceId?{acceptanceId:el.acceptanceId,phase:null==(e=el.graph)?void 0:e.phase,runId:null==(t=el.graph)?void 0:t.runId}:null},[el.acceptanceId,el.graph]),eo=0===el.text.trim().length,ec=null!=(e=el.route)?e:null,eu=ec?"absorb"===(t=ec.track)?"absorb":"tasks"===t?"split":"graph"===t?"graph":null:null,em=e=>eu===e?"ring-2 ring-ring":void 0;return(0,r.jsxs)("section",{className:"mx-auto flex max-w-lg flex-col gap-4 p-4","data-testid":"intake-front-door",children:[(0,r.jsx)("header",{className:"space-y-1",children:(0,r.jsx)("h1",{className:"font-heading text-lg font-medium",children:"Intake"})}),(0,r.jsx)("textarea",{value:el.text,onChange:e=>m(e.target.value),rows:6,disabled:el.busy,"data-testid":"intake-front-door-field","aria-label":"intake",className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs focus:outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"intake-front-door-explainer",children:"보내면 elanous 가 이 글을 처리합니다(흡수 \xb7 작업 분할 \xb7 그래프 실행)."}),ec&&(0,r.jsxs)("div",{"data-testid":"intake-route-chip","data-auto-submit":"0",className:"space-y-0.5 text-sm",children:[(0,r.jsx)("p",{"data-testid":"intake-route-chip-label",children:D[ec.track]}),"classifier"===ec.decidedBy&&(0,r.jsxs)("p",{"data-testid":"intake-route-chip-classifier",children:["분류기 판정 \xb7 확신 ",Math.round(100*ec.confidence),"%"]}),(0,r.jsx)("p",{"data-testid":"intake-route-chip-reason",className:"text-xs text-muted-foreground",children:function(e){if("classifier"!==e.decidedBy)return e.reason;if(e.reason.startsWith("classifier-failed:"))return"분류기가 못 갈랐습니다 — 직접 골라 주세요";if(e.reason.startsWith("classifier-low-confidence:")){var t,n;let r=e.reason.slice(26);return"분류기 추정: ".concat(null!=(n=null==(t=D[r])?void 0:t.slice(2))?n:r," (확신 낮음)")}return e.reason}(ec)}),"rule-unknown"===ec.reason&&(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"outline",disabled:B||el.busy||eo,onClick:()=>void ei(),"data-testid":"intake-route-classify",children:"분류기로 가르기"})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",className:em("absorb"),"aria-pressed":"absorb"===eu,disabled:eo||el.busy,onClick:()=>void er(),"data-testid":"intake-absorb","data-emphasized":"absorb"===eu?"true":"false",children:"흡수"}),(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"outline",className:em("split"),"aria-pressed":"split"===eu,disabled:eo||el.busy,onClick:ea,"data-testid":"intake-split","data-emphasized":"split"===eu?"true":"false",children:"작업으로 나누기"}),(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"secondary",className:em("graph"),"aria-pressed":"graph"===eu,disabled:eo||el.busy,onClick:()=>void es(),"data-testid":"intake-graph","data-emphasized":"graph"===eu?"true":"false",children:"그래프로 실행"})]}),el.absorbIds&&(0,r.jsxs)("div",{"data-testid":"intake-absorb-result",className:"space-y-1 text-sm",children:[(0,r.jsx)("p",{children:"대기열에 넣었습니다(아침 정기 흡수에서 처리)"}),(0,r.jsx)("ul",{children:el.absorbIds.map(e=>(0,r.jsx)("li",{"data-testid":"intake-absorb-id",children:e},e))})]}),ed&&(0,r.jsxs)("div",{"data-testid":"intake-graph-result",className:"space-y-1 text-sm",children:[(0,r.jsx)("p",{"data-testid":"intake-acceptance-id",children:ed.acceptanceId}),ed.phase&&(0,r.jsx)("p",{"data-testid":"intake-graph-phase",children:ed.phase}),ed.runId&&(0,r.jsx)("p",{"data-testid":"intake-graph-run",children:ed.runId})]}),el.error&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"intake-front-door-error",children:el.error}),el.splitOpen&&(0,r.jsx)("div",{"data-testid":"intake-split-host",children:(0,r.jsx)(L,{initialMemo:el.splitMemo,onClose:()=>C(!1)})}),el.recent.length>0&&(0,r.jsx)("ul",{"data-testid":"intake-recent",className:"space-y-1 text-xs text-muted-foreground",children:el.recent.map((e,t)=>{var n;let a=(e=>{var t,n,r;let a=null!=(n=e.runId)?n:e.acceptanceId===el.acceptanceId?null==ed?void 0:ed.runId:void 0;return a?h(null!=(r=null==(t=el.runEvents)?void 0:t[a])?r:[]):null})(e);return(0,r.jsxs)("li",{"data-testid":"intake-recent-row",children:[e.track," \xb7 ",e.preview,e.ids?" \xb7 ".concat(e.ids.join(", ")):"","absorb"===e.track&&(null==(n=e.ids)?void 0:n.map(e=>{var t,n;let a=Object.hasOwn(z,e)?g(null!=(t=z[e])?t:null):null;return(0,r.jsxs)("span",{"data-testid":"intake-absorb-status",children:[" \xb7 흡수: ",null!=(n=null==a?void 0:a.label)?n:"조회 중",(null==a?void 0:a.noteRef)?" \xb7 ".concat(a.noteRef):""]},e)})),e.acceptanceId?" \xb7 ".concat(e.acceptanceId):"",(null==a?void 0:a.stage)&&(0,r.jsxs)("span",{"data-testid":"intake-run-stage",children:[" \xb7 단계: ",a.stage]}),(null==a?void 0:a.lastEventAt)&&(0,r.jsxs)("time",{"data-testid":"intake-run-last-event",dateTime:a.lastEventAt,children:[" \xb7 마지막 사건: ",a.lastEventAt]}),(null==a?void 0:a.done)&&(0,r.jsxs)("span",{"data-testid":"intake-run-outcome",children:[" \xb7 ","completed"===a.outcome?"완료":"failed"===a.outcome?"실패":"결과 미상",a.error?" \xb7 ".concat(a.error.split("\n")[0]):""]})]},"".concat(e.at,"-").concat(t))})})]})}},94387:(e,t,n)=>{n.d(t,{GM:()=>l,J3:()=>i,WF:()=>r,bR:()=>s,m:()=>d,r5:()=>a});let r="/v1/devices",a="/v1/approvals/merges",s="/v1/templates/capability-preview",i="/v1/idle-nudge/preview",l="/v1/morning-digest/showroom",d="/v1/next-fluent/dispatch"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9740],{19528:(e,t,n)=>{n.d(t,{Er:()=>s,cj:()=>c,yR:()=>i});let a=/^(oauth\.|harness\.decision|llm\.router)/;function s(e){let t=[],n=e=>{"string"==typeof e&&e.trim()&&!t.includes(e.trim())&&t.push(e.trim())};for(let t of e){var s;let e=null!=(s=t.data)?s:{};if(t.category.startsWith("oauth.")){for(let t of["from","to","name","account"])n(e[t]);if(Array.isArray(e.usage))for(let t of e.usage)n(null==t?void 0:t.name);continue}if(a.test(t.category))for(let t of(n(e.account),["what","why","reason"])){let a=e[t];if("string"==typeof a)for(let e of a.matchAll(/계정\s+([A-Za-z0-9][\w.-]*)/g))n(e[1])}}return t}function l(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function r(e){let t=new Map(e.map((e,t)=>[e,"account-".concat(t+1)])),n=e.length?RegExp("(^|[^\\w-])(".concat(e.map(l).sort((e,t)=>t.length-e.length).join("|"),")(?![\\w-])"),"g"):null;return(e,a)=>{let s=e.replace(/\/Users\/[^/\s"']+/g,"~").replace(/(크레딧|credits?|💳)(\s*[:=]?\s*)[\d][\d,.]*/gi,"$1$2•••").replace(/[\d][\d,.]*(\s*)(크레딧|credits?)/gi,"•••$1$2").replace(/\$\s?[\d][\d,.]*/g,"$•••").replace(/(잔량?|remaining|left)(\s*[:=]?\s*)(?:[A-Za-z0-9][\w.-]*\s+)?\d+(?:\.\d+)?\s?%/gi,"$1$2•••");return a&&n&&(s=s.replace(n,(e,n,a)=>{var s;return"".concat(n).concat(null!=(s=t.get(a))?s:"account")})),s}}function o(e,t){if("string"==typeof e)return t(e);if(Array.isArray(e))return e.map(e=>o(e,t));if(e&&"object"==typeof e){let n={};for(let[a,s]of Object.entries(e))"apiEquivalentUsd"===a||"usd"===a||/credit(s|Balance)?$/i.test(a)||(n[a]=o(s,t));return n}return e}function i(e){let t=r(s(e));return e.map(e=>{let n=a.test(e.category);return{...e,event:t(e.event,!1),data:e.data?o(e.data,e=>t(e,n)):e.data}})}function c(e,t){let n=r(t);return o(e,e=>n(e,!0))}},20796:(e,t,n)=>{n.d(t,{D3:()=>x,GJ:()=>g,Gp:()=>r,HR:()=>p,IE:()=>f,JW:()=>u,Jo:()=>v,NZ:()=>m,OL:()=>o,cD:()=>h,f:()=>c,fT:()=>b,kJ:()=>i,lb:()=>d});var a=n(90686);let s=e=>"string"==typeof e&&e.trim()?e:null,l=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function r(e){let t=[];for(let i of e){var n,a,r,o;if(!i.category.startsWith("llm.usage"))continue;let e=null!=(n=i.data)?n:{},c=Date.parse(i.ts);if(!Number.isFinite(c))continue;let d=null!=(a=e.cost)?a:{};t.push({ts:i.ts,t:c,model:null!=(r=s(e.model))?r:"unknown",site:null!=(o=s(e.site))?o:"unknown",billing:s(e.billing),provider:s(e.billingProvider),input:l(e.inputTokens),output:l(e.outputTokens),cache:l(e.cacheReadInputTokens),apiUsd:l(d.apiEquivalentUsd)})}return t.sort((e,t)=>t.t-e.t)}function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6e4,s=Math.floor(t/a)*a-(n-1)*a,l=Array.from({length:n},(e,t)=>({t:s+t*a,count:0,tokens:0,byModel:{}}));for(let t of e){var r;let e=Math.floor((t.t-s)/a);if(e<0||e>=n)continue;let o=l[e];o.count+=1,o.tokens+=t.input+t.output,o.byModel[t.model]=(null!=(r=o.byModel[t.model])?r:0)+1}return l}function i(e,t,n){let a=t-n/2,s=new Map;for(let r of e){var l;if(r.t<t-n)continue;let e=null!=(l=s.get(r.model))?l:{count:0,tokens:0,late:0,early:0};e.count+=1,e.tokens+=r.input+r.output,r.t>=a?e.late+=1:e.early+=1,s.set(r.model,e)}return[...s.entries()].map(e=>{let[t,n]=e;return{model:t,count:n.count,tokens:n.tokens,delta:n.late>n.early?1:n.late<n.early?-1:0}}).sort((e,t)=>t.count-e.count)}function c(e){var t,n,a;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:7,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,r=new Map,o=new Map;for(let a of e)r.set(a.model,(null!=(t=r.get(a.model))?t:0)+1),o.set(a.site,(null!=(n=o.get(a.site))?n:0)+1);let i=[...r.entries()].sort((e,t)=>t[1]-e[1]).slice(0,s).map(e=>{let[t]=e;return t}),c=[...o.entries()].sort((e,t)=>t[1]-e[1]).slice(0,l).map(e=>{let[t]=e;return t}),d={},u=0;for(let t of e){if(!i.includes(t.model)||!c.includes(t.site))continue;let e="".concat(t.model,"|").concat(t.site);d[e]=(null!=(a=d[e])?a:0)+1,u=Math.max(u,d[e])}return{models:i,sites:c,cells:d,max:u}}function d(e){let t=new Map;for(let a of e){var n;let e=s(null==(n=a.data)?void 0:n.runId),l=Date.parse(a.ts);if(!e||!Number.isFinite(l))continue;let r=t.get(e);r?(r.lo=Math.min(r.lo,l),r.hi=Math.max(r.hi,l)):t.set(e,{lo:l,hi:l})}return[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,ms:n.hi-n.lo}})}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:40,n=Array(t).fill(0);if(0===e.length)return{bins:n,lo:0,hi:0,max:0};let a=Math.min(...e),s=Math.max(...e),l=(s-a)/t||1;for(let s of e)n[Math.min(t-1,Math.floor((s-a)/l))]+=1;return{bins:n,lo:a,hi:s,max:Math.max(...n)}}function p(e){let t=Object.fromEntries(a.lV.map(e=>[e,0]));for(let n of e.snapshot.runs)n.current&&(t[n.current]+=1);let n=null;for(let e of a.lV)t[e]>0&&(!n||t[e]>t[n])&&(n=e);return{counts:t,busiest:n}}function h(e){let t=0,n=0;for(let s of e){let e=(0,a.dl)(s);"gate"===e.stage&&("ok"===e.tone?t+=1:"bad"===e.tone&&(n+=1))}return{pass:t,fail:n}}function m(e){let t=new Set,n=new Set;for(let o of e){var a,r;if(!o.category.startsWith("review-loop"))continue;let e=null!=(a=o.data)?a:{},i=null!=(r=s(e.pr))?r:l(e.prNumber)?String(l(e.prNumber)):null;i&&(("rework-start"===o.event||"judge-verdict"===o.event&&l(e.asks)>0)&&t.add(i),/merged/.test(o.event)&&n.add(i))}return[...t].filter(e=>n.has(e))}function f(e){let t=new Map;for(let a of e){var n;let e=s(null==(n=a.data)?void 0:n.runId);e&&a.instance&&!t.has(e)&&t.set(e,a.instance)}return[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,instance:n}})}function x(e){let t=new Map;for(let i of e){var n,a,r,o;let e=s(null==(n=i.data)?void 0:n.runId);if(!e)continue;let c=Date.parse(i.ts),d=null;if("decompose-and-retry.applied"===i.event&&Array.isArray(null==(a=i.data)?void 0:a.pieceFeatures))d=i.data.pieceFeatures.map(e=>"string"==typeof e?e:"").filter(Boolean);else if("goal-steps-decomposed"===i.event&&l(null==(r=i.data)?void 0:r.stepCount)>1){let e=Math.min(12,l(null==(o=i.data)?void 0:o.stepCount));d=Array.from({length:e},(t,n)=>"단계 ".concat(n+1,"/").concat(e))}if(!d||0===d.length)continue;let u=t.get(e);(!u||c>=u.t)&&t.set(e,{t:c,pieces:d.slice(0,12)})}return[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,pieces:n.pieces}})}function g(e){let t=[];for(let a of e){var n;if("harness.substrate"!==a.category||"dispatch-pod"!==a.event)continue;let e=s(null==(n=a.data)?void 0:n.podPool);e&&t.push({pool:e,ts:a.ts})}return t}function v(e){let t=new Map,n=new Map;for(let u of e){var r,o,i,c,d;let e=s(null==(r=u.data)?void 0:r.runId);if(!e)continue;u.category.startsWith("review-loop")&&"rework-start"===u.event&&t.set(e,Math.max(null!=(i=t.get(e))?i:0,l(null==(o=u.data)?void 0:o.round)||(null!=(c=t.get(e))?c:0)+1));let p=(0,a.dl)(u);"gate"===p.stage&&"bad"===p.tone&&n.set(e,(null!=(d=n.get(e))?d:0)+1)}return[...[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,stage:"review",retries:n}}),...[...n.entries()].map(e=>{let[t,n]=e;return{runId:t,stage:"gate",retries:n}})]}function b(e){let t=new Map;for(let l of e){var n;let e=s(null==(n=l.data)?void 0:n.runId);if(!e)continue;let{stage:r,tone:o}=(0,a.dl)(l),i="".concat(e,"|").concat(l.category,".").concat(l.event),c=t.get(i);if(c){c.count+=1,c.bad||(c.bad="bad"===o);continue}t.set(i,{runId:e,key:i,label:l.event,stage:r,count:1,bad:"bad"===o})}return[...t.values()]}},51215:(e,t,n)=>{let a;n.d(t,{cY:()=>d,x8:()=>o});let s={debug:0,info:1,warn:2,error:3},l="/v1/debug-logs/batch",r=null;function o(e){r=e}class i{health(){return{pending:this.queue.length,consecutiveFailures:this.consecutiveFailures,lastOkAt:this.lastOkAt,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches}}push(e){if(!(s[function(e){let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return/^(error|exception|crash|fail|failed)$/.test(t)?"error":/^(warn|degraded|timeout)$/.test(t)?"warn":/^(boot|ready|start|begin|open|ok|done|resolve|end|stop|close)$/.test(t)?"info":"debug"}(e.category)]<s[this.minLevel])){if(this.queue.push(e),this.queue.length>500){let e=this.queue.length-500;this.droppedByCap+=e,this.queue.splice(0,e)}null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},100))}}async flush(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this.inFlight||0===this.queue.length)return;let e=this.queue.slice(0,100);this.inFlight=!0;let t=!1,n=JSON.stringify({records:e});try{var a,s;t=await (a=this.fetchFn(n),s=this.postTimeoutMs,new Promise((e,t)=>{let n=setTimeout(()=>t(Error("debug-forward timeout after ".concat(s,"ms"))),s);a.then(t=>{clearTimeout(n),e(t)},e=>{clearTimeout(n),t(e)})}))}catch(e){t=!1}finally{this.inFlight=!1}if(!t){if(this.consecutiveFailures+=1,this.consecutiveFailures>=2&&r)try{await r(JSON.stringify({records:[...e,this.blockedNotice()]}))&&(this.fallbackBatches+=1)}catch(e){}this.wasFailing=!0,this.scheduleRetry();return}let l=this.lastOkAt;this.lastOkAt=Date.now();let o=this.consecutiveFailures;this.consecutiveFailures=0,this.queue.splice(0,e.length),this.wasFailing&&(this.wasFailing=!1,this.queue.push({ts:new Date().toISOString(),category:"pwa.debug-forwarder.recovered",event:"recovered",data:{consecutiveFailures:o,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches,pending:this.queue.length,previousOkAt:l},source:{platform:"pwa"}})),this.queue.length>0&&null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},100))}scheduleRetry(){if(null!==this.timer||0===this.queue.length)return;let e=Math.min(100*2**this.consecutiveFailures,3e4);this.timer=setTimeout(()=>{this.flush()},e)}blockedNotice(){return{ts:new Date().toISOString(),category:"pwa.debug-forwarder.http-blocked",event:"http-blocked",data:{consecutiveFailures:this.consecutiveFailures,pending:this.queue.length,droppedByCap:this.droppedByCap,lastOkAt:this.lastOkAt,via:"acp-fallback"},source:{platform:"pwa"}}}beaconFlush(){if(0!==this.queue.length)try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){let e=this.queue.slice(0,100),t=new Blob([JSON.stringify({records:e})],{type:"application/json"});navigator.sendBeacon(l,t)&&this.queue.splice(0,e.length)}}catch(e){}}get pending(){return this.queue.length}constructor(e=c,t="debug",n=1e4){this.fetchFn=e,this.minLevel=t,this.postTimeoutMs=n,this.queue=[],this.timer=null,this.inFlight=!1,this.consecutiveFailures=0,this.lastOkAt=null,this.droppedByCap=0,this.fallbackBatches=0,this.wasFailing=!1}}async function c(e){return(await fetch(l,{method:"POST",headers:{"content-type":"application/json"},body:e,keepalive:!0,..."undefined"!=typeof AbortSignal&&"function"==typeof AbortSignal.timeout?{signal:AbortSignal.timeout(1e4)}:{}})).ok}function d(e,t){if("undefined"==typeof console)return;let n=new Date().toISOString();if(void 0!==t){let a="";try{let e=new WeakSet;a=JSON.stringify(t,(t,n)=>{if("bigint"==typeof n)return"".concat(n.toString(),"n");if("function"==typeof n)return"[fn ".concat(n.name||"anon","]");if(n&&"object"==typeof n){if(e.has(n))return"[circular]";e.add(n)}return n})}catch(e){a="[unserializable: ".concat(String(e),"]")}a&&a.length>800&&(a=a.slice(0,797)+"..."),console.debug("[".concat(n,"] ").concat(e," ").concat(a),t),u(n,e,a)}else console.debug("[".concat(n,"] ").concat(e)),u(n,e,void 0)}function u(e,t,n){let s,l=function(){if(void 0!==a)return a;let e=function(){try{let e="off"!==window.localStorage.getItem("elanous.pwa.debug.forward"),t=window.localStorage.getItem("elanous.pwa.debug.forwardLevel");return{forward:e,level:"info"===t||"warn"===t||"error"===t?t:"debug"}}catch(e){return{forward:!0,level:"debug"}}}();if(!e.forward)return a=null,null;let t=new i(c,e.level);try{window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&t.beaconFlush()})}catch(e){}return a=t,t}();if(!l)return;let r=t.slice(t.lastIndexOf(".")+1)||t;if(void 0!==n&&""!==n)try{s=JSON.parse(n)}catch(e){s=n}l.push({ts:e,category:t,event:r,...void 0!==s?{data:s}:{},source:{platform:"pwa"}})}},54061:(e,t,n)=>{n.d(t,{HI:()=>r});var a=n(91269),s=n(42012),l=n(91514);function r(e){var t,n,r;let o=(0,l.M1)(),i=(t,n)=>{var a;return{queryKey:["live","logs",t,null!=(a=e.store)?a:"",e.windowMinutes],queryFn:()=>o.getLogs({category:t,since:"".concat(e.windowMinutes,"m"),limit:n,store:e.store}),refetchInterval:5e3}},c=(0,s.I)(i("goal-author,harness.frontdoor,harness.substrate,harness.boundary,harness.role-llm,dev-pipeline,self-dev,self-gate,review-loop",1500)),d=(0,s.I)(i("llm.usage",2e3)),u=(0,s.I)(i("harness.decision,oauth.codex-account,harness.boundary",300)),p=(0,s.I)(i("research",300)),h=(0,a.useMemo)(()=>{var e,t,n,a,s,l,r,o;return[...null!=(s=null==(e=c.data)?void 0:e.logs)?s:[],...null!=(l=null==(t=d.data)?void 0:t.logs)?l:[],...null!=(r=null==(n=u.data)?void 0:n.logs)?r:[],...null!=(o=null==(a=p.data)?void 0:a.logs)?o:[]]},[c.data,d.data,u.data,p.data]),m={data:(0,a.useMemo)(()=>({ok:!0,logs:h,count:h.length}),[h]),error:null!=(r=null!=(n=null!=(t=c.error)?t:d.error)?n:u.error)?r:null,dataUpdatedAt:Math.max(c.dataUpdatedAt,d.dataUpdatedAt,u.dataUpdatedAt,p.dataUpdatedAt),truncated:[c,d,u].some(e=>e.data&&e.data.count>=(e===d?2e3:e===c?1500:300))};return{logs:m,runs:(0,s.I)({queryKey:["live","runs"],queryFn:()=>o.getHarnessRuns(),refetchInterval:6e4}),instances:(0,s.I)({queryKey:["live","instances"],queryFn:()=>o.getLogInstances(),staleTime:6e4})}}},68550:(e,t,n)=>{n.d(t,{RT:()=>h});var a=n(41121),s=n(91269),l=n(45609),r=n.n(l),o=n(42012),i=n(91514),c=n(90686),d=n(51215);let u={"no-screen-key":"이 인스턴스 로그에 이 런의 화면 키가 없다 — 다른 우주(시험\xb7Pod)에서 돈 런이면 그 우주에서 본다.","screen-missing":"화면 키는 있는데 화면 파일이 없다 — 런이 끝나 화면이 정리됐을 수 있다.","log-store-missing":"이 인스턴스에 로그 저장소가 없다.","log-store-unreadable":"로그 저장소를 읽지 못했다."};function p(e){var t,n;let{runId:s,run:l,screen:o,screenError:i,lines:d,stopState:p,stopMessage:h,onStop:m,onConfirmStop:f,onCancelStop:x,onClose:g,max:v}=e,b=!!(null==o?void 0:o.stoppable);return(0,a.jsxs)("section",{className:"space-y-2 rounded-lg border border-primary/40 bg-card/60 p-3","aria-label":"런 서랍","data-live-run-drawer":s,children:[(0,a.jsxs)("header",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,a.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:s}),(null==l?void 0:l.current)&&(0,a.jsx)("span",{className:"rounded bg-primary/15 px-1.5 py-0.5 text-[11px]",children:c.fQ[l.current]}),(null==l?void 0:l.blocked)&&(0,a.jsx)("span",{className:"rounded bg-error/15 px-1.5 py-0.5 text-[11px] text-error",children:"막힘"}),(null==l?void 0:l.pr)&&(0,a.jsxs)("span",{className:"font-mono text-[11px]",children:["PR #",l.pr]}),(0,a.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[v&&("confirm"===v.state?(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs",role:"alertdialog","aria-label":"MAX 이 런만 확인",children:[(0,a.jsx)("span",{className:"text-amber-500",children:"이 런만 30분 상세 계측(부하가 든다)?"}),(0,a.jsx)("button",{type:"button",onClick:v.confirm,className:"rounded-md border border-amber-500 px-2 py-1 text-amber-600 hover:bg-amber-500/10","data-elanous-action":"live-run-max-confirm",children:"켜기"}),(0,a.jsx)("button",{type:"button",onClick:v.cancel,className:"rounded-md px-2 py-1 text-muted-foreground hover:bg-muted",children:"취소"})]}):(0,a.jsx)("button",{type:"button",onClick:v.ask,disabled:"on"===v.state,className:"rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:opacity-50","data-elanous-action":"live-run-max",title:"이 런의 판단 \xab왜\xb7목적\xb7어디로\xbb를 30분 자세히 남긴다",children:"on"===v.state?"● MAX 이 런 켜짐":"failed"===v.state?"MAX 못 켬 \xb7 다시":"MAX 이 런만"})),(0,a.jsx)(r(),{href:"/trace?level=L2&run=".concat(encodeURIComponent(s)),className:"rounded-md border px-2 py-1 text-xs hover:bg-muted","data-elanous-action":"live-run-trace",children:"Trace 로 →"}),!!(null==l?void 0:l.pr)&&"ok"!==l.stages.land&&(0,a.jsx)(r(),{href:"/approvals?pr=".concat(encodeURIComponent(l.pr)),className:"rounded-md border px-2 py-1 text-xs hover:bg-muted","data-elanous-action":"live-run-approvals",children:"승인 카드로 →"}),"confirm"===p?(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs",role:"alertdialog","aria-label":"멈춤 확인",children:[(0,a.jsx)("span",{className:"text-error",children:"이 런을 멈출까요? 되돌릴 수 없습니다."}),(0,a.jsx)("button",{type:"button",onClick:f,className:"rounded-md border border-error px-2 py-1 text-error hover:bg-error/10","data-elanous-action":"live-run-stop-confirm",children:"멈춤"}),(0,a.jsx)("button",{type:"button",onClick:x,className:"rounded-md px-2 py-1 text-muted-foreground hover:bg-muted",children:"취소"})]}):(0,a.jsx)("button",{type:"button",onClick:m,disabled:!b||"stopping"===p||"stopped"===p,title:b?"부드러운 멈춤을 보낸다(확인 한 번)":"살아 있는 화면이 없어 멈출 수 없다",className:"rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:opacity-40","data-elanous-action":"live-run-stop",children:"⏹ 멈춤"}),(0,a.jsx)("button",{type:"button",onClick:g,className:"rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-muted","aria-label":"서랍 닫기",children:"✕"})]})]}),h&&(0,a.jsx)("p",{className:"text-xs ".concat("failed"===p?"text-error":"text-muted-foreground"),"data-live-run-stop-result":!0,children:h}),(0,a.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("h3",{className:"mb-1 text-xs font-medium text-muted-foreground",children:["화면",(null==o?void 0:o.screenKey)?(0,a.jsxs)("span",{className:"ml-1 font-mono",children:["\xb7 ",o.screenKey]}):null]}),(0,a.jsx)("pre",{className:"max-h-64 overflow-auto rounded-md border bg-muted/30 p-2 text-[11px] leading-relaxed","data-live-run-screen":!0,children:i?"화면을 못 읽었다: ".concat(i):null!=(n=null==o?void 0:o.text)?n:(null==o?void 0:o.reason)?null!=(t=u[o.reason])?t:o.reason:"불러오는 중…"})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("h3",{className:"mb-1 text-xs font-medium text-muted-foreground",children:["로그 ",(0,a.jsxs)("span",{className:"font-mono",children:["\xb7 ",d.length]})]}),(0,a.jsx)("pre",{className:"max-h-64 overflow-auto rounded-md border bg-muted/30 p-2 text-[11px] leading-relaxed","data-live-run-log":!0,children:d.slice(0,40).join("\n")||"—"})]})]})]})}function h(e){var t;let{runId:n,run:l,lines:r,onClose:c}=e,u=(0,i.M1)(),h=(0,o.I)({queryKey:["live","run-screen",n],queryFn:()=>u.getRunScreen(n,60),refetchInterval:3e3}),[m,f]=(0,s.useState)("idle"),[x,g]=(0,s.useState)(null),[v,b]=(0,s.useState)("idle");return(0,a.jsx)(p,{runId:n,run:l,screen:null!=(t=h.data)?t:null,screenError:h.error?h.error instanceof Error?h.error.message:String(h.error):null,lines:r,stopState:m,stopMessage:x,onStop:()=>f("confirm"),onConfirmStop:()=>{var e;let t=null==(e=h.data)?void 0:e.screenKey;t&&(f("stopping"),u.stopHarness(t).then(e=>{var t;let a=!!e.stopped;(0,d.cY)("pwa.live.run-stop",{runId:n,ok:a}),f(a?"stopped":"failed"),g(a?"멈춤을 보냈다 — 런이 다음 확인 지점에서 멈춘다(".concat(e.stopped,")."):"멈추지 못했다: ".concat(null!=(t=e.error)?t:"알 수 없음"))}).catch(e=>{(0,d.cY)("pwa.live.run-stop",{runId:n,ok:!1}),f("failed"),g("멈추지 못했다: ".concat(e instanceof Error?e.message:String(e)))}))},onCancelStop:()=>f("idle"),onClose:c,max:{state:v,ask:()=>b("confirm"),confirm:()=>{u.setLiveDetail({scope:n,ttlMin:30,by:"pwa-run-drawer"}).then(e=>{b(e.on?"on":"failed"),(0,d.cY)("pwa.live.run-max",{runId:n,on:e.on})}).catch(()=>b("failed"))},cancel:()=>b("idle")}})}},82157:(e,t,n)=>{n.d(t,{cn:()=>l});var a=n(3511),s=n(97043);function l(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.QP)((0,a.$)(t))}},90686:(e,t,n)=>{n.d(t,{BP:()=>d,Hc:()=>h,dl:()=>l,fQ:()=>s,jg:()=>u,lV:()=>a,qo:()=>c});let a=["author","decompose","build","gate","review","land"],s={author:"저작",decompose:"분해",build:"구현",gate:"게이트",review:"리뷰",land:"착지"};function l(e){let t=e.category,n=e.event,a="error"===e.level||/(fail|reject|block|abandon|conflict|error|unconvergeable|timeout)/i.test(n)?"bad":/(merged|pass|done|ok|opened|completed|approved)/i.test(n)?"ok":"info";return t.startsWith("goal-author")||t.startsWith("harness.frontdoor")||"dev-pipeline"===t&&/^(plan|selection|base-selection)$/.test(n)?{stage:"author",tone:a}:t.startsWith("self-dev")&&/decompos/i.test(n)||"self-dev.orchestrate"===t&&"start"===n?{stage:"decompose",tone:a}:t.startsWith("self-dev.spawn")||t.startsWith("harness.substrate")||"self-implement"===t||"dev-pipeline"===t&&"harness.launch"===n?{stage:"build",tone:a}:t.startsWith("self-gate")||t.startsWith("self-dev.reduce")&&/gate/i.test(n)?{stage:"gate",tone:a}:t.startsWith("review-loop")&&/(merged|auto-merge)/i.test(n)?{stage:"land",tone:"ok"}:t.startsWith("review-loop")?{stage:"review",tone:a}:t.startsWith("self-dev.reduce")&&/(pr-opened|merged)/i.test(n)||"dev-pipeline"===t&&"done"===n?{stage:"land",tone:a}:{stage:null,tone:a}}let r=e=>"string"==typeof e&&e.trim()?e:null,o=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function i(e){var t,n,a,s,l;let i=null!=(t=e.data)?t:{},c=null!=(n=r(i.pr))?n:o(i.prNumber)?String(i.prNumber):null;return e.category.startsWith("review-loop")&&"judge-verdict"===e.event?"리뷰 판정: ".concat(null!=(a=r(i.verdict))?a:"?").concat(c?" \xb7 #".concat(c):"").concat(o(i.asks)?" \xb7 요구 ".concat(o(i.asks)):""):e.category.startsWith("review-loop")&&/merged/.test(e.event)?"자동 병합".concat(c?" #".concat(c):""):e.category.startsWith("review-loop")&&"rework-start"===e.event?"리뷰 반영 라운드 ".concat(o(i.round)||"?"," 시작").concat(c?" \xb7 #".concat(c):""):e.category.startsWith("llm.router")&&/fallback/i.test(e.event)?"모델 폴백: ".concat(null!=(s=r(i.from))?s:"?"," → ").concat(null!=(l=r(i.to))?l:"?"):e.category.startsWith("oauth")&&/rotat/i.test(e.event)?"계정 회전".concat(r(i.account)?": ".concat(r(i.account)):""):e.category.startsWith("harness.boundary")?"경계 밖 쓰기 거절".concat(r(i.path)?": ".concat(r(i.path)):""):e.category.startsWith("self-dev.reduce")&&/gate-failed/.test(e.event)?"게이트 실패 → 수리 라운드":"dev-pipeline"===e.category&&"rejected"===e.event?"발사 전 검사가 막았다".concat(r(i.reason)?": ".concat(r(i.reason)):""):null}function c(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e.slice(11,19):n.toLocaleTimeString("en-GB",{hour12:!1,...t?{timeZone:t}:{}})}function d(e,t){var n;let a=null!=(n=e.data)?n:{},s=["runId","pr","verdict","model","provider","round","reason"].map(e=>void 0!==a[e]&&null!==a[e]&&""!==a[e]?"".concat(e,"=").concat(String(a[e]).slice(0,40)):null).filter(Boolean).join(" ");return"".concat(c(e.ts,t)," ").concat(e.category," ").concat(e.event).concat(s?" \xb7 ".concat(s):"").replace(/\b(sk-[A-Za-z0-9_-]{8,}|ghp_[A-Za-z0-9]{8,}|gho_[A-Za-z0-9]{8,}|xox[abpr]-[A-Za-z0-9-]{8,}|AKIA[0-9A-Z]{12,})\b/g,"[redacted]").replace(/(Bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,"$1[redacted]").replace(/("?(?:token|secret|password|apiKey|api_key|authorization)"?\s*[:=]\s*")[^"]{4,}"/gi,'$1[redacted]"')}let u=["PLAN","ROUTE","VERIFY","HEAL","ESCALATE","SHIP"];function p(e){let t=e.category,n=e.event;if("harness.decision"===t){var a;let t="string"==typeof(null==(a=e.data)?void 0:a.kind)?e.data.kind.toUpperCase():"";return u.includes(t)?t:null}return t.startsWith("review-loop")&&/merged/.test(n)||t.startsWith("self-dev.reduce")&&/(pr-opened|merged)/.test(n)?"SHIP":/(needs-human|hitl|escalat|parked)/i.test(n)||"dev-pipeline"===t&&"rejected"===n?"ESCALATE":t.startsWith("review-loop")&&/^rework-start$/.test(n)||/repair|rework-round/i.test(n)||t.startsWith("self-dev.supervisor")&&/(resume|retry)/i.test(n)?"HEAL":t.startsWith("review-loop")&&/verdict/.test(n)||t.startsWith("self-gate")||t.startsWith("self-dev.reduce")&&/gate/.test(n)?"VERIFY":t.startsWith("oauth.codex-account")&&/rotation$/.test(n)||t.startsWith("llm.router")&&/fallback/i.test(n)||t.startsWith("harness.role-llm")||t.startsWith("harness.substrate")&&/dispatch/.test(n)||t.startsWith("harness.boundary")?"ROUTE":t.startsWith("goal-author")&&/(done|assembled|phase-end)/.test(n)||t.startsWith("self-dev")&&/decompos/i.test(n)||"dev-pipeline"===t&&"plan"===n?"PLAN":null}function h(e,t,n){let a=function(e,t,n){var a,s,c,d,u,p,h,m,f,x;let g=n.now-6e4*n.windowMinutes,v=e.filter(e=>Date.parse(e.ts)>=g).sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts)),b=new Map,y=[],w=new Map,k=new Map,j=0,N=0;for(let e of v){let t=null!=(s=e.data)?s:{},n=r(t.runId);if(e.category.startsWith("llm.usage")){j+=1,N+=o(t.inputTokens)+o(t.outputTokens)+o(t.totalTokens&&!t.inputTokens?t.totalTokens:0);let e=null!=(d=null!=(c=r(t.model))?c:r(t.provider))?d:"unknown";w.set(e,(null!=(u=w.get(e))?u:0)+1)}if(e.category.startsWith("review-loop")&&"judge-verdict"===e.event){let e=null!=(p=r(t.verdict))?p:"unknown";k.set(e,(null!=(h=k.get(e))?h:0)+1)}let a=i(e),{stage:x,tone:g}=l(e);if(a&&y.push({ts:e.ts,runId:n,tone:/merged/.test(e.event)?"ok":g,text:a}),!n||!x)continue;let v=null!=(m=b.get(n))?m:{runId:n,stages:{},current:null,lastTs:e.ts,events:0,blocked:!1,pr:null,ledgerStatus:null};v.stages[x]=g,v.current=x,v.lastTs=e.ts,v.events+=1,v.blocked="bad"===g,v.pr=null!=(f=r(t.pr))?f:o(t.prNumber)?String(o(t.prNumber)):v.pr,b.set(n,v)}let M=new Map(t.map(e=>[e.runId,e]));for(let e of b.values())e.ledgerStatus=null!=(x=null==(a=M.get(e.runId))?void 0:a.status)?x:null;let S=[...b.values()].sort((e,t)=>Date.parse(t.lastTs)-Date.parse(e.lastTs)),I=S.filter(e=>"land"!==e.current&&n.now-Date.parse(e.lastTs)<9e5).length,E=e=>[...e.entries()].map(e=>{let[t,n]=e;return{name:t,count:n}}).sort((e,t)=>t.count-e.count);return{runs:S,cards:y.slice(-40).reverse(),counters:{activeRuns:I,llmRequests:j,llmRequestsPerMin:n.windowMinutes>0?Math.round(j/n.windowMinutes*10)/10:0,tokens:N,landed:S.filter(e=>"ok"===e.stages.land).length,blocked:S.filter(e=>e.blocked).length},providers:E(w),reviewVerdicts:E(k),windowMinutes:n.windowMinutes}}(e,t,n),s=n.now-6e4*n.windowMinutes,c=e.filter(e=>Date.parse(e.ts)>=s).sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts)),d=[],u={},h=new Set,m=new Map,f=new Map,x=new Map,g=0,v=new Set(c.filter(e=>"harness.decision"===e.category).map(e=>p(e)).filter(Boolean));for(let e of c){var b,y,w,k,j,N,M,S,I,E,A,T;let t=null!=(b=e.data)?b:{},n=r(t.runId);if(e.category.startsWith("review-loop")&&o(t.round)&&n&&(u[n]=Math.max(null!=(y=u[n])?y:0,o(t.round))),e.category.startsWith("review-loop")&&"judge-verdict"===e.event&&r(t.pr)&&o(t.round)){let e=null!=(w=x.get(r(t.pr)))?w:new Map;e.set(o(t.round),o(t.asks)),x.set(r(t.pr),e)}if(e.category.startsWith("llm.usage")){let e=o(t.inputTokens)+o(t.outputTokens);g+=e;let n=null!=(k=r(t.model))?k:"unknown",a=null!=(j=f.get(n))?j:{requests:0,tokens:0,billing:r(t.billing)};a.requests+=1,a.tokens+=e,f.set(n,a)}let a=p(e);if(!a||"harness.decision"!==e.category&&v.has(a))continue;let s=null!=(N=r(t.reason))?N:r(t.why),l=r(t.purpose),c=null!=(A=null!=(S=null!=(M=r(t.target))?M:r(t.to))?S:r(t.account))?A:"SHIP"===a&&(null!=(I=r(t.pr))?I:o(t.prNumber)?String(o(t.prNumber)):null)?"#".concat(null!=(E=r(t.pr))?E:o(t.prNumber)):null;"HEAL"===a&&n&&h.add(n);let R=o(t.paths)||void 0;d.push({ts:e.ts,kind:a,runId:n,what:function(e,t){var n,a;return"harness.decision"===e.category&&"string"==typeof(null==(n=e.data)?void 0:n.what)?e.data.what:null!=(a=i(e))?a:"".concat(e.category," ").concat(e.event).slice(0,80)}(e,0),why:s,purpose:l,target:c,...R?{paths:R}:{}});let P=[s?null:"why",l?null:"purpose",c?null:"target"].filter(Boolean);if(P.length){let t="".concat(e.category," ").concat(e.event),n=null!=(T=m.get(t))?T:{count:0,lacks:new Set};n.count+=1,P.forEach(e=>n.lacks.add(e)),m.set(t,n)}}let R=[...h],P=R.filter(e=>{var t;return(null==(t=a.runs.find(t=>t.runId===e))?void 0:t.stages.land)==="ok"}).length;return{snapshot:a,gauges:{live:a.counters.activeRuns,decisions:d.length,decisionsPerMin:n.windowMinutes>0?Math.round(d.length/n.windowMinutes*10)/10:0,shipped:d.filter(e=>"SHIP"===e.kind).length,selfHealRate:R.length?Math.round(P/R.length*100):null,selfHealRuns:R.length,burnTokensPerMin:n.windowMinutes>0?Math.round(g/n.windowMinutes):0},stream:d.slice(-80).reverse(),emitted:c.filter(e=>"harness.decision"===e.category).length,rounds:u,convergence:[...x.entries()].map(e=>{let[t,n]=e;return{pr:t,points:[...n.entries()].sort((e,t)=>e[0]-t[0]).map(e=>{let[t,n]=e;return{round:t,asks:n}})}}),scorecard:[...f.entries()].map(e=>{let[t,n]=e;return{model:t,...n}}).sort((e,t)=>t.requests-e.requests),missing:[...m.entries()].map(e=>{let[t,n]=e;return{key:t,count:n.count,lacks:[...n.lacks]}}).sort((e,t)=>t.count-e.count)}}},91514:(e,t,n)=>{n.d(t,{M1:()=>c,Qj:()=>d,tI:()=>i});var a=n(41121),s=n(91269),l=n(19855),r=n(24818);let o=(0,s.createContext)(null);function i(e){let{client:t,queryClient:n,defaultStaleTimeMs:i,children:c}=e,d=(0,s.useMemo)(()=>null!=n?n:new l.E({defaultOptions:{queries:{staleTime:null!=i?i:2e3,refetchOnWindowFocus:!1}}}),[n,i]);return(0,a.jsx)(o.Provider,{value:t,children:(0,a.jsx)(r.Ht,{client:d,children:c})})}function c(){let e=(0,s.useContext)(o);if(!e)throw Error("useNexusClient must be used within <NexusProvider>");return e}function d(){return(0,s.useContext)(o)}},99482:(e,t,n)=>{n.d(t,{xl:()=>v});var a=n(41121),s=n(91269),l=n(90686);let r={author:"PLAN",decompose:"PLAN",build:"ROUTE",gate:"VERIFY",review:"VERIFY",land:"SHIP"},o=(e,t)=>"phase:".concat(e,":").concat(t),i=new Set(["model","target","account","universe","pod"]);var c=n(20796);let d={PLAN:"#38bdf8",ROUTE:"#a78bfa",VERIFY:"#fbbf24",HEAL:"#34d399",ESCALATE:"#fb7185",SHIP:"#4ade80"},u={harness:"#e0e7ff",run:"#818cf8",phase:"#c7d2fe",pr:"#4ade80",model:"#f0abfc",target:"#93c5fd",event:"#a5b4fc",site:"#f5d0fe",account:"#fbcfe8",request:"#f0abfc",universe:"#67e8f9",piece:"#7dd3fc",pod:"#fcd34d"},p={ok:"#4ade80",bad:"#fb7185",info:"#c7d2fe"},h=["#f0abfc","#c4b5fd","#93c5fd","#67e8f9","#a7f3d0","#fde68a","#fca5a5"],m={harness:16,run:8,phase:5.5,pr:5,model:7,target:4,event:2.6,site:3,account:6,request:1.2,universe:7,piece:3.4,pod:7},f=new Set(["harness","run","phase","pr","model","account","target","universe","pod"]),x=[];function g(e){return!!(e.why||e.purpose||e.target)}function v(e){var t,n,v,R;let{board:L,rows:C=x,windowMinutes:F=60,sourceLabel:O="this instance",shippedSource:H="log",autoReplay:W=!0,publicCapture:q=!1,onSelectRun:D}=e,U=(0,s.useRef)(null),B=(0,s.useRef)({nodes:[],edges:[]}),G=(0,s.useRef)([]),V=(0,s.useRef)([]),$=(0,s.useRef)(null),Y=(0,s.useRef)([]),[z,J]=(0,s.useState)(null),[K,_]=(0,s.useState)(!1),[Q,X]=(0,s.useState)(0),[Z,ee]=(0,s.useState)(""),[et,en]=(0,s.useState)(5),[ea,es]=(0,s.useState)({nodes:0,edges:0}),el=(0,s.useRef)(1500),er=()=>"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,eo=e=>{G.current.push({from:e.from,to:e.to,kind:e.kind,t:0,speed:.022,alpha:1,size:3.6}),"SHIP"===e.kind&&V.current.push({id:e.to,t:0})},ei=(0,s.useMemo)(()=>(0,c.Gp)(C),[C]),ec=(0,s.useMemo)(()=>{let e=Date.now(),t=6e4*F,n=(0,c.lb)(C).map(e=>e.ms/6e4).filter(e=>e>0),a=ei.map(e=>e.input+e.output).filter(e=>e>0);return{now:e,candles:(0,c.OL)(ei,e,40,Math.max(6e4,6e4*Math.ceil(t/40/6e4))),bucketMin:Math.max(1,Math.ceil(t/40/6e4)),ticker:(0,c.kJ)(ei,e,t),heat:(0,c.f)(ei),hist:(0,c.JW)(n,40),tokHist:(0,c.JW)(a.map(e=>Math.log10(e)),40),spans:n.length,gate:(0,c.cD)(C),load:(0,c.HR)(L),events:(0,c.fT)(C),universes:(0,c.IE)(C),plans:(0,c.D3)(C),pods:(0,c.GJ)(C),retries:(0,c.Jo)(C)}},[ei,C,L,F]),ed=(0,s.useMemo)(()=>{let e=new Map;return ec.ticker.forEach((t,n)=>e.set(t.model,h[n%h.length])),t=>{var n;return null!=(n=e.get(t))?n:"#a5b4fc"}},[ec.ticker]);(0,s.useEffect)(()=>{let e=()=>{ee(new Date().toLocaleTimeString(void 0,{hour12:!1})),en(e=>e<=1?5:e-1)};e();let t=window.setInterval(e,1e3);return()=>window.clearInterval(t)},[]),(0,s.useEffect)(()=>{en(5)},[C]),(0,s.useEffect)(()=>{var e,t;let n=function(e){var t,n,a,s,i,c,d,u;let p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=new Map,m=[],f=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,s=h.get(e);if(s)return s.weight+=a,s;let l="harness"===t?{x:.5,y:.5}:function(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),0x1000193);let n=(t>>>0)%3600/3600*Math.PI*2,a=.25+(t>>>12)%1e3/1e3*.2;return{x:.5+Math.cos(n)*a,y:.5+Math.sin(n)*a}}(e),r={id:e,kind:t,label:n,weight:a,x:l.x,y:l.y,vx:0,vy:0};return h.set(e,r),r},x=(e,t,n)=>{m.some(a=>a.from===e&&a.to===t&&a.kind===n)||m.push({from:e,to:t,kind:n})};for(let t of(f("harness","harness","harness",3),e.snapshot.runs.slice(0,12).forEach((e,t)=>{let n="run:".concat(e.runId);f(n,"run",e.runId.replace(/^run-/,"").slice(0,6),2),x("harness",n,"PLAN");let a=null;if(t<8){let t=n;for(let n of l.lV){let s=e.stages[n];if(!s&&e.current!==n)continue;let i=o(e.runId,n),c=f(i,"phase",l.fQ[n]);c.current=e.current===n,c.tone=null!=s?s:"info",x(t,i,"bad"===s?"ESCALATE":r[n]),t=i,a=i}}e.pr&&(f("pr:".concat(e.pr),"pr","#".concat(e.pr)),x(null!=a?a:n,"pr:".concat(e.pr),"ok"===e.stages.land?"SHIP":"VERIFY")),e.blocked&&x(n,"harness","ESCALATE")}),e.scorecard.slice(0,6)))f("model:".concat(t.model),"model",t.model.length>18?"".concat(t.model.slice(0,17),"…"):t.model,Math.max(1,Math.round(Math.log2(1+t.requests)))),x("harness","model:".concat(t.model),"ROUTE");let g=0;for(let e of null!=(t=p.events)?t:[]){if(g>=180)break;let t="run:".concat(e.runId);if(!h.has(t))continue;let n=e.stage?o(e.runId,e.stage):null,a=n&&h.has(n)?n:t,s=f("ev:".concat(e.key),"event",e.label,Math.max(1,Math.round(Math.log2(1+e.count))));e.bad&&(s.tone="bad"),x(a,s.id,e.bad?"ESCALATE":e.stage?r[e.stage]:"PLAN"),g+=1}let v=new Set,b=0;for(let e of null!=(n=p.reqs)?n:[]){let t="model:".concat(e.model);if(!h.has(t))continue;let n="site:".concat(e.model,"|").concat(e.site);if(v.has(n)?h.get(n).weight+=.05:(v.add(n),f(n,"site",e.site),x(t,n,"ROUTE")),e.provider){let n="acct:".concat(e.provider);h.has(n)||f(n,"account",e.provider,2),x(n,t,"ROUTE")}b<220&&(x(n,f("req:".concat(e.model,"|").concat(e.site,"|").concat(e.ts,"|").concat(b),"request","",Math.max(1,Math.log10(1+e.input+e.output))).id,"ROUTE"),b+=1)}for(let e of null!=(a=p.universes)?a:[]){let t="run:".concat(e.runId);if(!h.has(t))continue;let n="uni:".concat(e.instance);h.has(n)?h.get(n).weight+=1:f(n,"universe",e.instance,2),x(n,t,"PLAN")}for(let e of null!=(s=p.plans)?s:[]){let t="run:".concat(e.runId);if(!h.has(t))continue;let n=o(e.runId,"decompose"),a=h.has(n)?n:t;e.pieces.forEach((t,n)=>{let s="piece:".concat(e.runId,":").concat(n);f(s,"piece",t.length>22?"".concat(t.slice(0,21),"…"):t,1.5),x(a,s,"PLAN")})}for(let e of null!=(i=p.pods)?i:[]){let t="pod:".concat(e.pool);h.has(t)?h.get(t).weight+=.2:f(t,"pod",null!=(c=e.pool.replace(/^pool-/,"").split("@")[0])?c:e.pool,2),x("harness",t,"ROUTE")}for(let e of null!=(d=p.retries)?d:[]){let t=h.get(o(e.runId,e.stage));t&&(t.retries=Math.max(null!=(u=t.retries)?u:0,e.retries))}let y=0;for(let t of e.stream){let e=t.runId&&h.has("run:".concat(t.runId))?"run:".concat(t.runId):"harness";if("SHIP"===t.kind&&t.target)f("pr:".concat(t.target.replace(/^#/,"")),"pr",t.target),x(e,"pr:".concat(t.target.replace(/^#/,"")),"SHIP");else if(t.target&&y<10&&!t.target.startsWith("#")){let n="target:".concat(t.target);h.has(n)||(y+=1),f(n,"target",t.target.length>18?"".concat(t.target.slice(0,17),"…"):t.target),x(e,n,t.kind)}else("HEAL"===t.kind||"VERIFY"===t.kind)&&x(e,e,t.kind)}return{nodes:[...h.values()],edges:m}}(L,{events:ec.events,reqs:ei,universes:ec.universes,plans:ec.plans,pods:ec.pods,retries:ec.retries}),a=new Map(B.current.nodes.map(e=>[e.id,e]));for(let e of n.nodes){let t=a.get(e.id);t&&(e.x=t.x,e.y=t.y,e.vx=t.vx,e.vy=t.vy)}B.current=n,es(e=>e.nodes===n.nodes.length&&e.edges===n.edges.length?e:{nodes:n.nodes.length,edges:n.edges.length});let s=ec.pods.map(e=>"pod|".concat(e.ts,"|").concat(e.pool));if($.current)for(let e of ec.pods){let t="pod|".concat(e.ts,"|").concat(e.pool);$.current.has(t)||eo({from:"harness",to:"pod:".concat(e.pool),kind:"ROUTE"})}let i=function(e,t){let n=[];for(let s of t.stream){var a;let t="".concat(s.ts,"|").concat(s.kind,"|").concat(null!=(a=s.runId)?a:"","|").concat(s.what);if(e.has(t))continue;let l=s.runId?"run:".concat(s.runId):"harness",r="SHIP"===s.kind&&s.target?"pr:".concat(s.target.replace(/^#/,"")):s.target?"target:".concat(s.target):l;n.push({key:t,kind:s.kind,from:l,to:r})}return n}(null!=(e=$.current)?e:new Set,L);if($.current){let e=new Map(L.stream.map(e=>{var t;return["".concat(e.ts,"|").concat(e.kind,"|").concat(null!=(t=e.runId)?t:"","|").concat(e.what),e]})),t=[...i].reverse();t.forEach((n,a)=>{let s=e.get(n.key);!s||!g(s)||er()||a<t.length-6?eo(n):Y.current.push({key:n.key,line:s,from:n.from,to:n.to})}),X(e=>e+1)}$.current=new Set([...null!=(t=$.current)?t:[],...i.map(e=>e.key),...s])},[L,ec.events,ec.universes,ec.plans,ec.pods,ec.retries,ei]),(0,s.useEffect)(()=>{if(z)return;let e=Y.current.shift();if(!e){K&&_(!1);return}J({item:e,folding:!1})},[z,Q,K]),(0,s.useEffect)(()=>{if(!z)return;if(!z.folding){let e=setTimeout(()=>J({item:z.item,folding:!0}),el.current);return()=>clearTimeout(e)}eo({from:z.item.from,to:z.item.to,kind:z.item.line.kind});let e=setTimeout(()=>J(null),250);return()=>clearTimeout(e)},[z]),(0,s.useEffect)(()=>{el.current=K?550:1500},[K]);let eu=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(!W||eu.current||0===L.stream.length||er())return;eu.current=!0;let e=setTimeout(()=>ep(),1200);return()=>clearTimeout(e)},[L.stream.length]);let ep=()=>{Y.current=L.stream.filter(g).slice(0,40).reverse().map(e=>{let t=e.runId?"run:".concat(e.runId):"harness",n="SHIP"===e.kind&&e.target?"pr:".concat(e.target.replace(/^#/,"")):e.target?"target:".concat(e.target):t;return{key:"replay|".concat(e.ts,"|").concat(e.what),line:e,from:t,to:n}}),_(!0),X(e=>e+1)};(0,s.useEffect)(()=>{let e=U.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let n=er(),a=new Map,s=e=>{let t=a.get(e);if(t)return t;let n=document.createElement("canvas");n.width=64,n.height=64;let s=n.getContext("2d");if(s){let t=s.createRadialGradient(32,32,0,32,32,32);t.addColorStop(0,"".concat(e,"ff")),t.addColorStop(.25,"".concat(e,"88")),t.addColorStop(1,"".concat(e,"00")),s.fillStyle=t,s.fillRect(0,0,64,64)}return a.set(e,n),n},l=0,r=0,o=()=>{let a=window.devicePixelRatio||1,c=e.clientWidth,h=e.clientHeight;(e.width!==Math.round(c*a)||e.height!==Math.round(h*a))&&(e.width=Math.round(c*a),e.height=Math.round(h*a)),t.setTransform(a,0,0,a,0,0);let x=B.current;n||function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{nodes:n,edges:a}=e,s=new Map(n.map(e=>[e.id,e])),l=Math.min(1,60/Math.max(1,n.length));for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){let a=n[e],s=n[t],r=a.x-s.x,o=a.y-s.y,i=r*r+o*o;i<1e-6&&(r=.01,o=.01,i=2e-4);let c=e=>"phase"===e||"request"===e||"event"===e||"piece"===e,d=l*(c(a.kind)||c(s.kind)?"request"===a.kind||"request"===s.kind?12e-6:5e-5:18e-5)/i;a.vx+=r*d,a.vy+=o*d,s.vx-=r*d,s.vy-=o*d}for(let e of a){if(e.from===e.to)continue;let t=s.get(e.from),n=s.get(e.to);if(!t||!n)continue;let a=n.x-t.x,l=n.y-t.y,r=Math.sqrt(a*a+l*l)||.001,o=(r-("request"===n.kind?.035:"site"===n.kind?.06:i.has(t.kind)||i.has(n.kind)?.34:"harness"===t.kind||"harness"===n.kind?.2:"phase"===t.kind||"phase"===n.kind?.07:.12))*("phase"===t.kind||"phase"===n.kind?.05:.02);t.vx+=a/r*o,t.vy+=l/r*o,n.vx-=a/r*o,n.vy-=l/r*o}for(let e of n){if("harness"===e.kind){e.x=.5,e.y=.5,e.vx=0,e.vy=0;continue}if(i.has(e.kind)){let t=e.x-.5,n=e.y-.5,a=Math.sqrt(t*t+n*n)||.001,s=(("universe"===e.kind?.44:.3)-a)*.01;e.vx+=t/a*s,e.vy+=n/a*s}else e.vx+=(.5-e.x)*.003,e.vy+=(.5-e.y)*.003;e.x<.08&&(e.vx+=(.08-e.x)*.06),e.x>.92&&(e.vx-=(e.x-.92)*.06),e.y<.18&&(e.vy+=(.18-e.y)*.06),e.y>.87&&(e.vy-=(e.y-.87)*.06),e.vx*=.86,e.vy*=.86,e.x=Math.min(.97,Math.max(.03,e.x+e.vx*t)),e.y=Math.min(.95,Math.max(.1,e.y+e.vy*t))}}(x),r+=1;let g=new Map(x.nodes.map(e=>[e.id,e])),v=e=>n?0:1.4*Math.sin(r/40+e.id.length%7),b=e=>{let t=g.get(e);return t?{x:t.x*c+v(t),y:t.y*h+.7*v(t)}:null};for(let e of(t.clearRect(0,0,c,h),t.globalCompositeOperation="lighter",x.edges)){let n=b(e.from),a=b(e.to);n&&a&&(t.strokeStyle=d[e.kind],t.globalAlpha=e.to.startsWith("ev:")||e.to.startsWith("site:")?.15:.25,t.lineWidth="SHIP"===e.kind?1.4:.7,t.beginPath(),e.from===e.to?t.arc(n.x+8,n.y-8,8,0,2*Math.PI):(t.moveTo(n.x,n.y),t.lineTo(a.x,a.y)),t.stroke())}if(!n&&x.edges.length&&r%4==0&&G.current.length<110){let e=x.edges[7919*r%x.edges.length];e.from!==e.to&&G.current.push({from:e.from,to:e.to,kind:e.kind,t:0,speed:.008,alpha:.45,size:1.6})}for(let e of(G.current=G.current.filter(e=>e.t<=1),G.current)){let a=b(e.from),l=b(e.to);if(!a||!l){e.t=2;continue}e.t+=n?1:e.speed;let r=a.x+(l.x-a.x)*e.t,o=a.y+(l.y-a.y)*e.t-(e.from===e.to?24*Math.sin(e.t*Math.PI):0),i=5*e.size;t.globalAlpha=e.alpha,t.drawImage(s(d[e.kind]),r-i,o-i,2*i,2*i)}for(let e of(V.current=V.current.filter(e=>e.t<=1),V.current)){let a=b(e.id);if(!a){e.t=2;continue}e.t+=n?1:.014;let l=10+70*Math.min(1,e.t/.3);t.globalAlpha=1-e.t,t.strokeStyle=d.SHIP,t.lineWidth=2.5,t.beginPath(),t.arc(a.x,a.y,l,0,2*Math.PI),t.stroke(),t.drawImage(s(d.SHIP),a.x-l,a.y-l,2*l,2*l)}for(let e of x.nodes){let a=b(e.id),l="phase"===e.kind,o="harness"===e.kind||l&&e.current,i=m[e.kind]+("model"===e.kind||"run"===e.kind?Math.min(4,.4*e.weight):"event"===e.kind?Math.min(3,.5*e.weight):0),c=o&&!n?i*(1+Math.sin(r/(l?9:20))*(l?.35:.12)):i,h=(l||"event"===e.kind)&&e.tone?p[e.tone]:u[e.kind],f=o||"run"===e.kind||"model"===e.kind||"account"===e.kind||"universe"===e.kind,x=c*(f?8:3);if(t.globalAlpha=f?.6:.35,t.drawImage(s(h),a.x-x,a.y-x,2*x,2*x),t.globalAlpha="event"===e.kind?.85:1,t.fillStyle=h,t.beginPath(),t.arc(a.x,a.y,c,0,2*Math.PI),t.fill(),l&&e.retries){t.globalAlpha=.75,t.strokeStyle=d.HEAL,t.lineWidth=1,t.setLineDash([3,3]);for(let s=1;s<=Math.min(4,e.retries);s+=1)t.lineDashOffset=n?0:-(r*(.4+.1*s)),t.beginPath(),t.arc(a.x,a.y,c+4+4*s,0,2*Math.PI),t.stroke();t.setLineDash([])}if(l&&e.current&&!n){let e=r%60/60;t.strokeStyle=h,t.globalAlpha=1-e,t.lineWidth=1.2,t.beginPath(),t.arc(a.x,a.y,c+18*e,0,2*Math.PI),t.stroke()}}for(let e of(t.globalCompositeOperation="source-over",t.globalAlpha=1,x.nodes)){if(!f.has(e.kind))continue;let n=b(e.id);t.fillStyle="harness"===e.kind?"#eef2ff":"phase"===e.kind?"rgba(199,210,254,.65)":"rgba(226,232,240,.82)",t.font="harness"===e.kind?"600 12px ui-monospace, SFMono-Regular, monospace":"10px ui-monospace, SFMono-Regular, monospace";let a="harness"===e.kind?"ELANOUS HARNESS":"phase"===e.kind?e.label:e.label.toUpperCase();t.fillText(a,n.x+m[e.kind]+4,n.y+3)}n||(l=requestAnimationFrame(o))};l=requestAnimationFrame(o);let c=t=>{let n=e.getBoundingClientRect(),a=(t.clientX-n.left)/n.width,s=(t.clientY-n.top)/n.height,l=B.current.nodes.find(e=>"run"===e.kind&&.02>Math.hypot(e.x-a,e.y-s));l&&(null==D||D(l.id.replace(/^run:/,"")))};return e.addEventListener("click",c),()=>{cancelAnimationFrame(l),e.removeEventListener("click",c)}},[D]);let eh=L.gauges,em=function(e){var t;let n=e.snapshot.runs.filter(e=>"ok"===e.stages.land);if(n.length)return{run:[...n].sort((t,n)=>{var a,s;return(null!=(a=e.rounds[n.runId])?a:0)-(null!=(s=e.rounds[t.runId])?s:0)||n.events-t.events})[0],why:"merged"};let a=null!=(t=e.snapshot.runs.find(e=>e.current&&!e.blocked))?t:e.snapshot.runs[0];return a?{run:a,why:"in-flight"}:null}(L),ef=null!=(t=null==em?void 0:em.run)?t:null,ex=Object.values(L.rounds),eg=l.jg.map(e=>({k:e,n:L.stream.filter(t=>t.kind===e).length})),ev=ei.reduce((e,t)=>e+t.input+t.output,0),eb=ei.reduce((e,t)=>e+t.apiUsd,0),ey=Math.max(1,...ei.slice(0,10).map(e=>e.input+e.output)),ew=ef?l.lV.filter(e=>ef.stages[e]):[];return(0,a.jsxs)("div",{className:"live-stage live-v5 space-y-1.5 rounded-xl p-1.5 text-slate-100","data-live-max-stage":!0,"data-live-v5":!0,children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-indigo-400/10 bg-slate-950/60 px-2 py-1",children:[(0,a.jsx)("span",{className:"shrink-0 text-xl tracking-tight text-slate-50",style:{fontFamily:'Georgia, "Times New Roman", serif'},children:"Elanous"}),(0,a.jsx)("span",{className:"hidden shrink-0 font-mono text-[11px] sm:inline lg:text-[10.5px] tracking-[.18em] text-indigo-200/80",children:"\xd7 HARNESS \xb7 판단"}),(0,a.jsx)(w,{tone:"live",children:"● LIVE"}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsx)(N,{ariaLabel:"판단 띠",bare:!0,items:L.stream.slice(0,16).map((e,t)=>(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsxs)("span",{style:{color:d[e.kind]},children:["▸ ",e.kind]})," ",(0,a.jsx)("span",{className:"text-slate-300",children:e.what}),e.target&&(0,a.jsxs)("span",{className:"text-slate-500",children:[" → ",e.target]})]},"".concat(e.ts,"-").concat(t)))})}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-lg tabular-nums text-slate-200",suppressHydrationWarning:!0,children:Z})]}),(0,a.jsx)(N,{ariaLabel:"모델 띠",slow:!0,items:[(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-rose-300",children:"● LIVE RUNS"})," ",eh.live]},"live"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-emerald-300",children:"SHIPPED"})," ",eh.shipped]},"ship"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-indigo-300",children:"DECISIONS/MIN"})," ",eh.decisionsPerMin]},"dpm"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-indigo-300",children:"BURN/MIN"})," ",b(eh.burnTokensPerMin)]},"burn"),...ec.ticker.map(e=>(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{style:{color:ed(e.model)},children:e.model.toUpperCase()})," ",(0,a.jsx)("span",{className:e.delta>0?"text-emerald-300":e.delta<0?"text-rose-300":"text-slate-400",children:e.delta>0?"▲":e.delta<0?"▼":"■"})," ",e.count," req \xb7 ",b(e.tokens)," tok"]},e.model))]}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsxs)(y,{className:"col-span-12 lg:col-span-4",title:"SHIPPED \xb7 병합된 PR",stat:"".concat("github"===H?"GITHUB":"LOG"," \xb7 ").concat(F>=60?"".concat(F/60,"H"):"".concat(F,"M")),children:[(0,a.jsxs)("div",{className:"flex items-end gap-3",children:[(0,a.jsx)(M,{value:eh.shipped,accent:d.SHIP}),(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)(w,{tone:"ok",children:"MERGED"}),eh.selfHealRuns>0&&(0,a.jsx)(w,{tone:"heal",children:"SELF-HEALED"}),L.snapshot.counters.blocked>0&&(0,a.jsxs)(w,{tone:"bad",children:["BLOCKED ",L.snapshot.counters.blocked]})]})]}),(0,a.jsxs)("div",{className:"mt-1 grid grid-cols-3 gap-2 border-t border-indigo-400/10 pt-2",children:[(0,a.jsx)(k,{label:"SELF-HEAL",value:null===eh.selfHealRate?"—":"".concat(eh.selfHealRate,"%"),color:d.HEAL}),(0,a.jsx)(k,{label:"RUNS",value:String(L.snapshot.runs.length),color:"#c7d2fe"}),(0,a.jsx)(k,{label:"DECISIONS",value:String(eh.decisions),color:d.PLAN})]})]}),(0,a.jsx)(y,{className:"col-span-12 lg:col-span-4",title:(null==em?void 0:em.why)==="merged"?"BEST RUN \xb7 오늘 최고의 런":"NOW \xb7 지금 런",stat:ef?"R ".concat(null!=(n=L.rounds[ef.runId])?n:0,"/3"):"—",children:ef?(0,a.jsxs)("button",{type:"button",className:"block w-full text-left",onClick:()=>null==D?void 0:D(ef.runId),"data-live-v5-best":!0,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono text-[11px] text-slate-400",children:ef.runId}),(null==em?void 0:em.why)==="merged"?(0,a.jsxs)(w,{tone:"ok",children:["VERIFIED \xb7 MERGED",ef.pr?" #".concat(ef.pr):""]}):(0,a.jsx)(w,{tone:"live",children:"IN FLIGHT"})]}),(0,a.jsxs)("div",{className:"mt-1 flex items-baseline gap-3",children:[(0,a.jsx)("span",{className:"font-mono text-6xl font-semibold tabular-nums text-indigo-100",style:{textShadow:"0 0 24px #818cf888"},children:ef.pr?"#".concat(ef.pr):ef.current?l.fQ[ef.current]:"—"}),(0,a.jsxs)("span",{className:"font-mono text-xs text-slate-400",children:[ef.events," signals \xb7 라운드 ",null!=(v=L.rounds[ef.runId])?v:0]})]}),(0,a.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:ew.map(e=>{let t=ef.stages[e];return(0,a.jsxs)(w,{tone:"bad"===t?"bad":"ok"===t?"ok":"dim",children:[l.fQ[e],"ok"===t?" ✓":"bad"===t?" ✗":""]},e)})})]}):(0,a.jsx)("p",{className:"py-6 text-xs text-slate-500",children:"이 창에 런 신호가 없다 — ▶ REPLAY 로 최근 판단을 본다."})}),(0,a.jsx)(y,{className:"col-span-12 lg:col-span-4",title:"LLM \xb7 ".concat(ec.bucketMin,"분 봉 ⊕ 요청 창"),stat:"".concat(ei.length," REQ \xb7 ").concat(b(ev)," TOK"),children:(0,a.jsxs)("div",{className:"grid grid-cols-5 gap-2",children:[(0,a.jsx)(S,{candles:ec.candles,color:ed,unit:"/".concat(ec.bucketMin,"M"),className:"col-span-3"}),(0,a.jsxs)("ul",{className:"col-span-2 h-28 space-y-0.5 overflow-hidden font-mono text-[11px] lg:text-[10px]","data-live-v5-book":!0,children:[ei.slice(0,10).map((e,t)=>(0,a.jsxs)("li",{className:"relative flex justify-between gap-1 overflow-hidden px-1 ".concat(0===t?"live-line-in":""),children:[(0,a.jsx)("span",{className:"absolute inset-y-0 right-0 opacity-20",style:{width:"".concat((e.input+e.output)/ey*100,"%"),background:ed(e.model)}}),(0,a.jsx)("span",{className:"relative truncate",style:{color:ed(e.model)},children:e.model}),(0,a.jsx)("span",{className:"relative tabular-nums text-slate-300",children:b(e.input+e.output)})]},"".concat(e.ts,"-").concat(t))),0===ei.length&&(0,a.jsx)("li",{className:"text-slate-500",children:"요청 없음"})]})]})})]}),(0,a.jsx)(y,{title:"EXECUTION CYCLE \xb7 하니스 한 바퀴",stat:"".concat(ef?"ROUND ".concat(null!=(R=L.rounds[ef.runId])?R:0,"/3 \xb7 "):"","NEXT ").concat(et,"S"),children:(0,a.jsx)("div",{className:"grid grid-cols-3 gap-1.5 sm:grid-cols-6",children:l.lV.map((e,t)=>{let n=ef?ef.current===e:ec.load.busiest===e,s=null==ef?void 0:ef.stages[e];return(0,a.jsxs)("div",{"data-live-v5-stage":e,"data-hot":n?"1":void 0,className:"rounded-md border px-3 py-2 ".concat(n?"live-v5-hot":""),style:n?{borderColor:"#a78bfa",boxShadow:"0 0 18px #a78bfa66, inset 0 0 18px #a78bfa33",background:"rgba(124,58,237,.28)"}:{borderColor:"rgba(99,102,241,.18)",background:"rgba(2,6,23,.55)"},children:[(0,a.jsxs)("div",{className:"flex justify-between font-mono text-[11px] lg:text-[10px] text-slate-400",children:[(0,a.jsx)("span",{children:String(t+1).padStart(2,"0")}),s&&(0,a.jsx)("span",{style:{color:p[s]},children:"ok"===s?"✓":"bad"===s?"✗":"●"})]}),(0,a.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,a.jsx)("span",{className:n?"text-sm font-semibold text-white":"text-sm text-slate-300",children:l.fQ[e]}),(0,a.jsx)("span",{className:"font-mono text-xs tabular-nums text-slate-400",title:"지금 이 단계에 있는 런",children:ec.load.counts[e]})]})]},e)})})}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsxs)(y,{className:"relative col-span-12 xl:col-span-10",title:"JUDGMENT GRAPH \xb7 FORCE",stat:"NODES ".concat(ea.nodes," \xb7 EDGES ").concat(ea.edges),bodyClass:"p-0",hot:!0,children:[(0,a.jsx)("canvas",{ref:U,className:"h-[370px] w-full bg-[radial-gradient(ellipse_at_center,rgba(79,70,229,.26),rgba(2,6,23,.96)_70%)]","aria-label":"판단 그래프"}),(0,a.jsx)("div",{className:"pointer-events-none absolute left-3 top-9 flex flex-col gap-0.5 rounded-md bg-slate-950/60 p-2 font-mono text-[11px] lg:text-[10px]",children:eg.map(e=>{let{k:t,n}=e;return(0,a.jsxs)("span",{style:{color:d[t]},children:["● ",t," ",(0,a.jsx)("span",{className:"text-slate-400",children:n})]},t)})}),(0,a.jsx)("button",{type:"button",onClick:ep,disabled:K||0===L.stream.length,"data-elanous-action":"live-replay",className:"absolute bottom-3 right-3 rounded-full border border-indigo-400/40 bg-slate-950/70 px-3 py-1 font-mono text-[11px] lg:text-[10px] text-indigo-200 hover:bg-indigo-500/20 disabled:opacity-40",title:"이 창의 판단을 옛것부터 빨리 감기(최근 40)",children:K?"REPLAY \xb7 ".concat(Y.current.length):"▶ REPLAY"}),z&&(0,a.jsx)(T,{item:z.item,folding:z.folding})]}),(0,a.jsx)(y,{className:"col-span-12 xl:col-span-2",title:"STATS",stat:"".concat(et,"S"),children:(0,a.jsxs)("dl",{className:"grid grid-cols-2 gap-x-2 gap-y-1.5 font-mono","data-live-v5-stats":!0,children:[(0,a.jsx)(j,{label:"PATHS",value:L.stream.reduce((e,t)=>{var n;return e+(null!=(n=t.paths)?n:0)},0)||"—"}),(0,a.jsx)(j,{label:"CONV",value:L.convergence.length?"".concat(L.convergence.filter(e=>{var t;return(null==(t=e.points.at(-1))?void 0:t.asks)===0}).length,"/").concat(L.convergence.length):"—"}),(0,a.jsx)(j,{label:"ROUNDS AVG",value:ex.length?(ex.reduce((e,t)=>e+t,0)/ex.length).toFixed(1):"—"}),(0,a.jsx)(j,{label:"DECISIONS/MIN",value:eh.decisionsPerMin}),(0,a.jsx)(j,{label:"SIGNALS",value:C.length}),(0,a.jsx)(j,{label:"LLM REQ",value:ei.length}),q?(0,a.jsx)(j,{label:"MODELS",value:ec.ticker.length}):(0,a.jsx)(j,{label:"API ≈ USD",value:"$".concat(eb.toFixed(2))}),(0,a.jsx)(j,{label:"NEXT POLL",value:"".concat(et,"s")})]})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsx)(y,{className:"col-span-12 md:col-span-6 xl:col-span-3",title:"MODEL \xd7 SITE \xb7 요청 수",stat:"MAX ".concat(ec.heat.max),children:(0,a.jsx)(I,{heat:ec.heat,color:ed})}),(0,a.jsx)(y,{className:"col-span-12 md:col-span-6 xl:col-span-3",title:"DISTRIBUTION \xb7 런 소요 ⊕ 요청 토큰",stat:"".concat(ec.spans," RUNS \xb7 ").concat(ei.length," REQ"),children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,a.jsx)(E,{hist:ec.hist,label:e=>"".concat(e.toFixed(0),"분")}),(0,a.jsx)(E,{hist:ec.tokHist,label:e=>b(10**e)})]})}),(0,a.jsx)(y,{className:"col-span-12 md:col-span-6 xl:col-span-3",title:"CONVERGENCE \xb7 must-fix ⊕ GATE",stat:"".concat(L.convergence.length," PR"),children:(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,a.jsx)("div",{className:"col-span-2",children:(0,a.jsx)(P,{series:L.convergence})}),(0,a.jsx)(A,{pass:ec.gate.pass,fail:ec.gate.fail,verdicts:L.snapshot.reviewVerdicts})]})}),(0,a.jsx)(y,{className:"col-span-12 md:col-span-6 xl:col-span-3",title:"EXECUTION LOG \xb7 LIVE",stat:"".concat(L.stream.length),bodyClass:"px-2 py-1",children:(0,a.jsxs)("ul",{className:"h-[124px] space-y-0.5 overflow-hidden font-mono text-[11px] lg:text-[10.5px]","data-live-max-stream":!0,children:[L.stream.slice(0,9).map((e,t)=>(0,a.jsxs)("li",{className:"flex gap-1.5 ".concat(0===t?"live-line-in":""),style:"SHIP"===e.kind?{textShadow:"0 0 10px ".concat(d.SHIP)}:void 0,children:[(0,a.jsx)("span",{className:"shrink-0 text-slate-500",title:e.ts,children:(0,l.qo)(e.ts)}),(0,a.jsx)("span",{className:"w-14 shrink-0 rounded px-1 text-center",style:{color:d[e.kind],background:"".concat(d[e.kind],"1f")},children:e.kind}),(0,a.jsxs)("span",{className:"truncate",children:[e.what,e.target&&(0,a.jsxs)("span",{className:"text-slate-500",children:[" → ",e.target]})]})]},"".concat(e.ts,"-").concat(t))),0===L.stream.length&&(0,a.jsx)("li",{className:"text-slate-500",children:"이 창에 판단 신호가 없다."})]})})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 rounded-md border border-indigo-400/10 bg-slate-950/60 px-3 py-1 font-mono text-[11px] lg:text-[10px] text-slate-400",children:[(0,a.jsxs)("span",{children:["STACK ",(0,a.jsx)("span",{className:"text-slate-200",children:"elanous-core"})]}),(0,a.jsxs)("span",{children:["SOURCE ",(0,a.jsx)("span",{className:"text-slate-200",children:O})]}),(0,a.jsxs)("span",{children:["SIGNALS ",(0,a.jsx)("span",{className:"text-slate-200",children:C.length})]}),(0,a.jsxs)("span",{children:["LLM ",(0,a.jsxs)("span",{className:"text-slate-200",children:[ei.length," req"]})]}),(0,a.jsxs)("span",{children:["EMITTED ",(0,a.jsx)("span",{className:"text-slate-200",children:L.emitted})]}),q&&(0,a.jsx)("span",{className:"text-emerald-300","data-live-public-capture":!0,children:"PUBLIC CAPTURE \xb7 계정\xb7과금 가림"}),(0,a.jsx)("span",{className:"ml-auto",children:"EVERY NUMBER IS REAL \xb7 보이는 수는 전부 진짜"})]})]})}function b(e){return e>=1e6?"".concat((e/1e6).toFixed(1),"M"):e>=1e3?"".concat((e/1e3).toFixed(e>=1e5?0:1),"k"):String(Math.round(e))}function y(e){let{title:t,stat:n,children:s,className:l="",bodyClass:r="p-2.5",hot:o=!1}=e;return(0,a.jsxs)("section",{className:"overflow-hidden rounded-lg border bg-slate-950/70 ".concat(l),style:o?{borderColor:"rgba(167,139,250,.7)",boxShadow:"0 0 22px #a78bfa33"}:{borderColor:"rgba(99,102,241,.16)"},"aria-label":t,"data-live-v5-panel":t,children:[(0,a.jsxs)("header",{className:"flex items-center justify-between border-b border-indigo-400/10 px-2.5 py-1 font-mono text-[11px] lg:text-[10.5px] tracking-[.08em] text-slate-400",children:[(0,a.jsxs)("span",{children:["▸ ",t]}),n&&(0,a.jsx)("span",{className:"tabular-nums text-slate-300",children:n})]}),(0,a.jsx)("div",{className:r,children:s})]})}function w(e){let{tone:t,children:n}=e,s="ok"===t?d.SHIP:"bad"===t?d.ESCALATE:"heal"===t?d.HEAL:"dim"===t?"#a5b4fc":"#f0abfc";return(0,a.jsx)("span",{className:"inline-block whitespace-nowrap rounded px-1.5 py-0.5 font-mono text-[11px] lg:text-[10px] font-semibold tracking-wider ".concat("live"===t?"live-v5-blink":""),style:{color:s,background:"".concat(s,"22"),boxShadow:"inset 0 0 0 1px ".concat(s,"66")},children:n})}function k(e){let{label:t,value:n,color:s}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-mono text-[11px] lg:text-[9.5px] tracking-widest text-slate-500",children:t}),(0,a.jsx)("div",{className:"font-mono text-3xl font-semibold tabular-nums",style:{color:s,textShadow:"0 0 14px ".concat(s,"55")},children:n})]})}function j(e){let{label:t,value:n}=e;return(0,a.jsxs)("div",{className:"border-b border-indigo-400/10 pb-1",children:[(0,a.jsx)("dt",{className:"text-[11px] lg:text-[9.5px] tracking-widest text-slate-500",children:t}),(0,a.jsx)("dd",{className:"text-lg font-semibold tabular-nums text-indigo-100",children:n})]})}function N(e){let{items:t,ariaLabel:n,slow:s=!1,bare:l=!1}=e;return(0,a.jsx)("div",{className:"relative overflow-hidden font-mono text-[11px] ".concat(l?"":"rounded-md border border-indigo-400/10 bg-slate-950/60 py-1"),"aria-label":n,children:0===t.length?(0,a.jsx)("span",{className:"px-3 text-slate-500",children:"—"}):(0,a.jsxs)("div",{className:"live-v5-marquee flex w-max",style:{animationDuration:"".concat(Math.max(30,t.length*(s?9:6)),"s")},children:[(0,a.jsx)("div",{className:"flex",children:t}),(0,a.jsx)("div",{className:"flex","aria-hidden":!0,children:t})]})})}function M(e){let{value:t,accent:n}=e,[l,r]=(0,s.useState)(t),[o,i]=(0,s.useState)(!1),c=(0,s.useRef)(t);return(0,s.useEffect)(()=>{let e=c.current;t>e&&(i(!0),setTimeout(()=>i(!1),700)),c.current=t;let n=performance.now(),a=0,s=l=>{let o=Math.min(1,(l-n)/900);r(e+(t-e)*(1-Math.pow(1-o,3))),o<1&&(a=requestAnimationFrame(s))};return a=requestAnimationFrame(s),()=>cancelAnimationFrame(a)},[t]),(0,a.jsx)("div",{className:"font-mono text-[112px] font-semibold leading-none tabular-nums",style:{color:n,textShadow:"0 0 ".concat(o?40:26,"px ").concat(n).concat(o?"cc":"66")},"data-live-max-gauge":"SHIPPED",children:Math.round(l)})}function S(e){let{candles:t,color:n,unit:s,className:l=""}=e,r=Math.max(1,...t.map(e=>e.count)),o=240/t.length;return(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(240," ").concat(120),className:"h-28 w-full ".concat(l),"data-live-v5-candles":!0,"aria-label":"분당 LLM 요청",children:[[.25,.5,.75].map(e=>(0,a.jsx)("line",{x1:0,x2:240,y1:120*e,y2:120*e,stroke:"#1e293b",strokeDasharray:"2 3"},e)),t.map((e,t)=>{let s=120;return Object.entries(e.byModel).map(e=>{let[l,i]=e,c=i/r*114;return s-=c,(0,a.jsx)("rect",{x:t*o+1,y:s,width:Math.max(1,o-2),height:c,fill:n(l),opacity:.85},"".concat(t,"-").concat(l))})}),(0,a.jsxs)("text",{x:238,y:10,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"end",children:[r,s]})]})}function I(e){let{heat:t,color:n}=e;return 0===t.models.length?(0,a.jsx)("p",{className:"py-6 text-xs text-slate-500",children:"이 창에 요청이 없다."}):(0,a.jsxs)("table",{className:"w-full border-separate border-spacing-0.5 font-mono text-[11px] lg:text-[10px]","data-live-v5-heat":!0,children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{}),t.sites.map(e=>(0,a.jsx)("th",{className:"max-w-16 truncate font-normal text-slate-500",children:e},e))]})}),(0,a.jsx)("tbody",{children:t.models.map(e=>(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:"max-w-24 truncate pr-1",style:{color:n(e)},children:e}),t.sites.map(n=>{var s;let l=null!=(s=t.cells["".concat(e,"|").concat(n)])?s:0,r=0===l?0:Math.min(5,Math.ceil(l/Math.max(1,t.max)*5));return(0,a.jsx)("td",{className:"rounded-sm px-1 py-0.5 text-center tabular-nums",style:{background:r?"rgba(167,139,250,".concat(.12+.15*r,")"):"rgba(30,41,59,.5)",color:r>=4?"#fff":"#cbd5e1"},children:l||"\xb7"},n)})]},e))})]})}function E(e){let{hist:t,label:n}=e,s=200/t.bins.length;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(200," ").concat(90),className:"h-20 w-full","data-live-v5-hist":!0,"aria-label":"분포",children:[(0,a.jsx)("defs",{children:(0,a.jsxs)("linearGradient",{id:"v5hist",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:d.HEAL}),(0,a.jsx)("stop",{offset:"60%",stopColor:d.PLAN}),(0,a.jsx)("stop",{offset:"100%",stopColor:d.ROUTE})]})}),t.bins.map((e,n)=>{let l=t.max?e/t.max*86:0;return(0,a.jsx)("rect",{x:n*s+.5,y:90-l,width:Math.max(1,s-1),height:l,fill:"url(#v5hist)",opacity:.9},n)}),(0,a.jsx)("line",{x1:0,x2:200,y1:89.5,y2:89.5,stroke:"#334155"})]}),(0,a.jsxs)("div",{className:"flex justify-between font-mono text-[11px] lg:text-[9.5px] text-slate-500",children:[(0,a.jsx)("span",{children:t.max?n(t.lo):"—"}),(0,a.jsx)("span",{children:t.max?n(t.hi):""})]})]})}function A(e){let{pass:t,fail:n,verdicts:s}=e,l=[{name:"GATE ✓",count:t,c:d.SHIP},{name:"GATE ✗",count:n,c:d.ESCALATE},...s.slice(0,3).map(e=>({name:e.name.toUpperCase(),count:e.count,c:d.VERIFY}))],r=Math.max(1,...l.map(e=>e.count));return(0,a.jsx)("ul",{className:"space-y-1 font-mono text-[11px] lg:text-[9.5px]","data-live-v5-gate":!0,children:l.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsxs)("div",{className:"flex justify-between text-slate-400",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"tabular-nums text-slate-200",children:e.count})]}),(0,a.jsx)("div",{className:"h-1.5 rounded-full bg-slate-800",children:(0,a.jsx)("div",{className:"h-1.5 rounded-full",style:{width:"".concat(e.count/r*100,"%"),background:e.c,boxShadow:"0 0 8px ".concat(e.c,"88")}})})]},e.name))})}function T(e){var t;let{item:n,folding:s}=e,{line:r}=n,o=d[r.kind];return(0,a.jsxs)("div",{"data-live-decision-card":r.kind,className:"pointer-events-none absolute left-1/2 top-12 w-[min(92%,580px)] rounded-xl border bg-slate-950/85 p-3 backdrop-blur transition-all duration-200",style:{borderColor:"".concat(o,"88"),boxShadow:"0 0 32px ".concat(o,"55"),opacity:+!s,transform:"translateX(-50%) scale(".concat(s?.6:1,")")},children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-mono text-[11px] lg:text-[10px]",children:[(0,a.jsxs)("span",{style:{color:o},children:["● ",r.kind]}),(0,a.jsx)("span",{className:"text-slate-500",children:(0,l.qo)(r.ts)}),r.runId&&(0,a.jsx)("span",{className:"text-slate-500",children:r.runId.replace(/^run-/,"").slice(0,8)}),r.paths?(0,a.jsxs)("span",{className:"ml-auto text-slate-400",children:["PATHS ",r.paths]}):null]}),(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-2 text-[11px] leading-snug",children:[(0,a.jsx)(R,{label:"무엇 \xb7 WHAT",value:r.what,strong:!0}),(0,a.jsx)(R,{label:"왜 \xb7 WHY",value:null!=(t=r.why)?t:r.purpose}),(0,a.jsx)(R,{label:"어디로 \xb7 TO",value:r.target,accent:o})]})]})}function R(e){let{label:t,value:n,strong:s=!1,accent:l}=e;return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"font-mono text-[11px] lg:text-[9px] tracking-widest text-slate-500",children:t}),(0,a.jsx)("div",{className:s?"line-clamp-3 font-medium text-slate-100":"line-clamp-3 text-slate-300",style:l&&n?{color:l}:void 0,children:null!=n?n:"—"})]})}function P(e){let{series:t}=e,n=Math.max(1,...t.flatMap(e=>e.points.map(e=>e.asks))),s=Math.max(3,...t.flatMap(e=>e.points.map(e=>e.round))),l=e=>20+(e-1)/Math.max(1,s-1)*146,r=e=>84-e/n*72,o=Array.from({length:s},(e,t)=>t+1);return(0,a.jsx)("div",{"data-live-convergence":!0,children:0===t.length?(0,a.jsx)("div",{className:"py-8 text-center text-[11px] text-slate-500",children:"이 창에 리뷰 라운드가 없다."}):(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(200," ").concat(100),className:"h-24 w-full",children:[(0,a.jsx)("line",{x1:20,y1:84,x2:166,y2:84,stroke:"#334155"}),(0,a.jsx)("line",{x1:20,y1:12,x2:20,y2:84,stroke:"#334155"}),o.map(e=>(0,a.jsxs)("g",{children:[(0,a.jsx)("line",{x1:l(e),y1:12,x2:l(e),y2:84,stroke:"#1e293b",strokeDasharray:"2 3"}),(0,a.jsxs)("text",{x:l(e),y:96,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"middle",children:["R",e]})]},e)),(0,a.jsx)("text",{x:17,y:r(n)+3,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"end",children:n}),(0,a.jsx)("text",{x:17,y:r(0)+3,fill:d.SHIP,fontSize:8,fontFamily:"monospace",textAnchor:"end",children:"0"}),t.slice(0,6).map((e,t)=>{let n=e.points.at(-1),s=0===n.asks?d.SHIP:["#818cf8","#fbbf24","#38bdf8","#f0abfc","#fb7185"][t%5];return(0,a.jsxs)("g",{children:[(0,a.jsx)("polyline",{fill:"none",stroke:s,strokeWidth:1.6,points:e.points.map(e=>"".concat(l(e.round),",").concat(r(e.asks))).join(" ")}),e.points.map(e=>(0,a.jsx)("circle",{cx:l(e.round),cy:r(e.asks),r:2.5,fill:s},e.round)),(0,a.jsxs)("text",{x:l(n.round)+4,y:r(n.asks)-3,fill:s,fontSize:8,fontFamily:"monospace",children:["#",e.pr," ",n.asks]})]},e.pr)})]})})}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9804],{330:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]])},6015:(t,e,s)=>{"use strict";s.d(e,{n:()=>o});var r=s(91269),i=s(95817),a=s(83026),u=s(37963),n=s(98883),h=class extends u.Q{#t;#e=void 0;#s;#r;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,n.f8)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,n.EN)(e.mutationKey)!==(0,n.EN)(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(t){this.#i(),this.#a(t)}getCurrentResult(){return this.#e}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#i(),this.#a()}mutate(t,e){return this.#r=e,this.#s?.removeObserver(this),this.#s=this.#t.getMutationCache().build(this.#t,this.options),this.#s.addObserver(this),this.#s.execute(t)}#i(){let t=this.#s?.state??(0,i.$)();this.#e={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#a(t){a.jG.batch(()=>{if(this.#r&&this.hasListeners()){let e=this.#e.variables,s=this.#e.context,r={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#r.onSuccess?.(t.data,e,s,r)}catch(t){Promise.reject(t)}try{this.#r.onSettled?.(t.data,null,e,s,r)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#r.onError?.(t.error,e,s,r)}catch(t){Promise.reject(t)}try{this.#r.onSettled?.(void 0,t.error,e,s,r)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#e)})})}},c=s(24818);function o(t,e){let s=(0,c.jE)(e),[i]=r.useState(()=>new h(s,t));r.useEffect(()=>{i.setOptions(t)},[i,t]);let u=r.useSyncExternalStore(r.useCallback(t=>i.subscribe(a.jG.batchCalls(t)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),o=r.useCallback((t,e)=>{i.mutate(t,e).catch(n.lQ)},[i]);if(u.error&&(0,n.GU)(i.options.throwOnError,[u.error]))throw u.error;return{...u,mutate:o,mutateAsync:u.mutate}}},9050:(t,e,s)=>{"use strict";var r=s(65390);s.o(r,"useParams")&&s.d(e,{useParams:function(){return r.useParams}}),s.o(r,"usePathname")&&s.d(e,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(e,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(e,{useSearchParams:function(){return r.useSearchParams}})},19696:t=>{t.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_45c93f",variable:"__variable_45c93f"}},24721:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]])},29565:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]])},30422:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]])},30448:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},31014:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},34419:(t,e,s)=>{"use strict";s.d(e,{B:()=>c});var r=s(91269),i=s(76787),a=s(41121);let u=r.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new i.E,currentIdRef:{current:null},currentContextRef:{current:null}});function n(t){let{children:e,delay:s,timeoutMs:n=0}=t,h=r.useRef(s),c=r.useRef(s),o=r.useRef(null),d=r.useRef(null),l=(0,i.Z)();return(0,a.jsx)(u.Provider,{value:r.useMemo(()=>({hasProvider:!0,delayRef:h,initialDelayRef:c,currentIdRef:o,timeoutMs:n,currentContextRef:d,timeout:l}),[n,l]),children:e})}let h=r.createContext(void 0),c=function(t){let{delay:e,closeDelay:s,timeout:i=400}=t,u=r.useMemo(()=>({delay:e,closeDelay:s}),[e,s]),c=r.useMemo(()=>({open:e,close:s}),[e,s]);return(0,a.jsx)(h.Provider,{value:u,children:(0,a.jsx)(n,{delay:c,timeoutMs:i,children:t.children})})}},40148:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},44011:(t,e,s)=>{"use strict";s.d(e,{j:()=>a});var r=s(91269);let i={};function a(t,e){let s=r.useRef(i);return s.current===i&&(s.current=t(e)),s}},50635:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},50940:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},68958:(t,e,s)=>{"use strict";s.d(e,{y:()=>a});var r=s(91269);let i=[];function a(t){r.useEffect(t,i)}},69935:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("share",[["path",{d:"M12 2v13",key:"1km8f5"}],["path",{d:"m16 6-4-4-4 4",key:"13yo43"}],["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}]])},72754:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},73334:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},76787:(t,e,s)=>{"use strict";s.d(e,{E:()=>a,Z:()=>u});var r=s(44011),i=s(68958);class a{static create(){return new a}start(t,e){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,e()},t)}isStarted(){return 0!==this.currentId}constructor(){this.currentId=0,this.clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}}function u(){let t=(0,r.j)(a.create).current;return(0,i.y)(t.disposeEffect),t}},78316:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},82823:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]])},85576:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},86715:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]])},91968:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},93981:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},95515:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(89117).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},99993:(t,e,s)=>{"use strict";s.d(e,{D:()=>u});var r=s(91269),i=r.createContext(void 0),a={setTheme:t=>{},themes:[]},u=()=>{var t;return null!=(t=r.useContext(i))?t:a}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6987],{58505:(e,t,n)=>{n.d(t,{Gc:()=>th,H2:()=>tj,Pj:()=>f,VH:()=>ee,VS:()=>tS,_5:()=>o,h7:()=>ev});var o,l=n(41121),r=n(91269),a=n(23271),i=n(44251),s=n(94100),d=n(93345);n(65032);let c=(0,r.createContext)(null),u=c.Provider,g=i.xc.error001();function f(e,t){let n=(0,r.useContext)(c);if(null===n)throw Error(g);return(0,s.n)(n,e,t)}function p(){let e=(0,r.useContext)(c);if(null===e)throw Error(g);return(0,r.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let h={display:"none"},m={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},v="react-flow__node-desc",y="react-flow__edge-desc",b=e=>e.ariaLiveMessage,x=e=>e.ariaLabelConfig;function S(e){let{rfId:t}=e,n=f(b);return(0,l.jsx)("div",{id:"".concat("react-flow__aria-live","-").concat(t),"aria-live":"assertive","aria-atomic":"true",style:m,children:n})}function w(e){let{rfId:t,disableKeyboardA11y:n}=e,o=f(x);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{id:"".concat(v,"-").concat(t),style:h,children:n?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),(0,l.jsx)("div",{id:"".concat(y,"-").concat(t),style:h,children:o["edge.a11yDescription.default"]}),!n&&(0,l.jsx)(S,{rfId:t})]})}let C=(0,r.forwardRef)((e,t)=>{let{position:n="top-left",children:o,className:r,style:i,...s}=e,d="".concat(n).split("-");return(0,l.jsx)("div",{className:(0,a.A)(["react-flow__panel",r,...d]),style:i,ref:t,...s,children:o})});function E(e){let{proOptions:t,position:n="bottom-right"}=e;return(null==t?void 0:t.hideAttribution)?null:(0,l.jsx)(C,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,l.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}C.displayName="Panel";let N=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},k=e=>e.id;function M(e,t){return(0,d.x)(e.selectedNodes.map(k),t.selectedNodes.map(k))&&(0,d.x)(e.selectedEdges.map(k),t.selectedEdges.map(k))}function P(e){let{onSelectionChange:t}=e,n=p(),{selectedNodes:o,selectedEdges:l}=f(N,M);return(0,r.useEffect)(()=>{let e={nodes:o,edges:l};null==t||t(e),n.getState().onSelectionChangeHandlers.forEach(t=>t(e))},[o,l,t]),null}let D=e=>!!e.onSelectionChangeHandlers;function j(e){let{onSelectionChange:t}=e,n=f(D);return t||n?(0,l.jsx)(P,{onSelectionChange:t}):null}let A="undefined"!=typeof window?r.useLayoutEffect:r.useEffect,_=[0,0],I={x:0,y:0,zoom:1},O=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],R=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),L={translateExtent:i.ZO,nodeOrigin:_,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function z(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:l,setTranslateExtent:a,setNodeExtent:s,reset:c,setDefaultNodesAndEdges:u}=f(R,d.x),g=p();A(()=>(u(e.defaultNodes,e.defaultEdges),()=>{h.current=L,c()}),[]);let h=(0,r.useRef)(L);return A(()=>{for(let r of O){let d=e[r];d!==h.current[r]&&void 0!==e[r]&&("nodes"===r?t(d):"edges"===r?n(d):"minZoom"===r?o(d):"maxZoom"===r?l(d):"translateExtent"===r?a(d):"nodeExtent"===r?s(d):"ariaLabelConfig"===r?g.setState({ariaLabelConfig:(0,i.Q6)(d)}):"fitView"===r?g.setState({fitViewQueued:d}):"fitViewOptions"===r?g.setState({fitViewOptions:d}):g.setState({[r]:d}))}h.current=e},O.map(t=>e[t])),null}function B(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}let V="undefined"!=typeof document?document:null;function H(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{target:V,actInsideInputWithModifier:!0},[n,o]=(0,r.useState)(!1),l=(0,r.useRef)(!1),a=(0,r.useRef)(new Set([])),[s,d]=(0,r.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,r.useEffect)(()=>{var n,r;let c=null!=(n=null==t?void 0:t.target)?n:V,u=null==(r=null==t?void 0:t.actInsideInputWithModifier)||r;if(null!==e){let e=e=>{if(l.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!l.current||l.current&&!u)&&(0,i.v5)(e))return!1;let n=F(e.code,d);if(a.current.add(e[n]),T(s,a.current,!1)){var r,c;let n=(null==(c=e.composedPath)||null==(r=c.call(e))?void 0:r[0])||e.target,a=(null==n?void 0:n.nodeName)==="BUTTON"||(null==n?void 0:n.nodeName)==="A";!1!==t.preventDefault&&(l.current||!a)&&e.preventDefault(),o(!0)}},n=e=>{let t=F(e.code,d);T(s,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(e[t]),"Meta"===e.key&&a.current.clear(),l.current=!1},r=()=>{a.current.clear(),o(!1)};return null==c||c.addEventListener("keydown",e),null==c||c.addEventListener("keyup",n),window.addEventListener("blur",r),window.addEventListener("contextmenu",r),()=>{null==c||c.removeEventListener("keydown",e),null==c||c.removeEventListener("keyup",n),window.removeEventListener("blur",r),window.removeEventListener("contextmenu",r)}}},[e,o]),n}function T(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function F(e,t){return t.includes(e)?"code":"key"}function Z(e,t){let n=[],o=new Map,l=[];for(let t of e)if("add"===t.type){l.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let l={...e};for(let e of t){var r=e,a=l;switch(r.type){case"select":a.selected=r.selected;break;case"position":void 0!==r.position&&(a.position=r.position),void 0!==r.dragging&&(a.dragging=r.dragging);break;case"dimensions":void 0!==r.dimensions&&(a.measured={...r.dimensions},r.setAttributes&&((!0===r.setAttributes||"width"===r.setAttributes)&&(a.width=r.dimensions.width),(!0===r.setAttributes||"height"===r.setAttributes)&&(a.height=r.dimensions.height))),"boolean"==typeof r.resizing&&(a.resizing=r.resizing)}}n.push(l)}return l.length&&l.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function X(e,t){return{id:e,type:"select",selected:t}}function K(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=[];for(let[l,r]of e){let e=t.has(l);(void 0!==r.selected||e)&&r.selected!==e&&(n&&(r.selected=e),o.push(X(r.id,e)))}return o}function W(e){let{items:t=[],lookup:n}=e,o=[],l=new Map(t.map(e=>[e.id,e]));for(let[e,l]of t.entries()){var r,a;let t=n.get(l.id),i=null!=(a=null==t||null==(r=t.internals)?void 0:r.userNode)?a:t;void 0!==i&&i!==l&&o.push({id:l.id,item:l,type:"replace"}),void 0===i&&o.push({item:l,type:"add",index:e})}for(let[e]of n)void 0===l.get(e)&&o.push({id:e,type:"remove"});return o}function Y(e){return{id:e.id,type:"remove"}}let Q=e=>(0,i.oB)(e);function U(e){return(0,r.forwardRef)(e)}function G(e){let[t,n]=(0,r.useState)(BigInt(0)),[o]=(0,r.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return A(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let q=(0,r.createContext)(null);function $(e){let{children:t}=e,n=p(),o=G((0,r.useCallback)(e=>{let{nodes:t=[],setNodes:o,hasDefaultNodes:l,onNodesChange:r,nodeLookup:a,fitViewQueued:i,onNodesChangeMiddlewareMap:s}=n.getState(),d=t;for(let t of e)d="function"==typeof t?t(d):t;let c=W({items:d,lookup:a});for(let e of s.values())c=e(c);l&&o(d),c.length>0?null==r||r(c):i&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:t,setNodes:o}=n.getState();e&&o(t)})},[])),a=G((0,r.useCallback)(e=>{let{edges:t=[],setEdges:o,hasDefaultEdges:l,onEdgesChange:r,edgeLookup:a}=n.getState(),i=t;for(let t of e)i="function"==typeof t?t(i):t;l?o(i):r&&r(W({items:i,lookup:a}))},[])),i=(0,r.useMemo)(()=>({nodeQueue:o,edgeQueue:a}),[]);return(0,l.jsx)(q.Provider,{value:i,children:t})}let J=e=>!!e.panZoom;function ee(){let e=(()=>{let e=p();return(0,r.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:o}=e.getState();return o?o.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{var o,l,r;let{transform:[a,i,s],panZoom:d}=e.getState();return d?(await d.setViewport({x:null!=(o=t.x)?o:a,y:null!=(l=t.y)?l:i,zoom:null!=(r=t.zoom)?r:s},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{var o;let{width:l,height:r,minZoom:a,maxZoom:s,panZoom:d}=e.getState(),c=(0,i.R4)(t,l,r,a,s,null!=(o=null==n?void 0:n.padding)?o:.1);return d?(await d.setViewport(c,{duration:null==n?void 0:n.duration,ease:null==n?void 0:n.ease,interpolate:null==n?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:function(t){var n,o;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{transform:r,snapGrid:a,snapToGrid:s,domNode:d}=e.getState();if(!d)return t;let{x:c,y:u}=d.getBoundingClientRect(),g={x:t.x-c,y:t.y-u},f=null!=(n=l.snapGrid)?n:a,p=null!=(o=l.snapToGrid)?o:s;return(0,i.Ff)(g,r,p,f)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:l,y:r}=o.getBoundingClientRect(),a=(0,i.zj)(t,n);return{x:a.x+l,y:a.y+r}}}),[])})(),t=p(),n=function(){let e=(0,r.useContext)(q);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),o=f(J),l=(0,r.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),o=e=>{n.nodeQueue.push(e)},l=e=>{n.edgeQueue.push(e)},r=e=>{var n,o,l,r;let{nodeLookup:a,nodeOrigin:s}=t.getState(),d=Q(e)?e:a.get(e.id),c=d.parentId?(0,i.us)(d.position,d.measured,d.parentId,a,s):d.position,u={...d,position:c,width:null!=(l=null==(n=d.measured)?void 0:n.width)?l:d.width,height:null!=(r=null==(o=d.measured)?void 0:o.height)?r:d.height};return(0,i.kM)(u)},a=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};o(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&Q(e)?e:{...o,...e}}return o}))},s=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};l(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&(0,i.b$)(e)?e:{...o,...e}}return o}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>{var n;return null==(n=e(t))?void 0:n.internals.userNode},getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:o,setEdges:l,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:o}=t.getState(),[l,r,a]=o;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:l,y:r,zoom:a}}},deleteElements:async e=>{let{nodes:n=[],edges:o=[]}=e,{nodes:l,edges:r,onNodesDelete:a,onEdgesDelete:s,triggerNodeChanges:d,triggerEdgeChanges:c,onDelete:u,onBeforeDelete:g}=t.getState(),{nodes:f,edges:p}=await (0,i.Tq)({nodesToRemove:n,edgesToRemove:o,nodes:l,edges:r,onBeforeDelete:g}),h=p.length>0,m=f.length>0;if(h){let e=p.map(Y);null==s||s(p),c(e)}if(m){let e=f.map(Y);null==a||a(f),d(e)}return(m||h)&&(null==u||u({nodes:f,edges:p})),{deletedNodes:f,deletedEdges:p}},getIntersectingNodes:function(e){let n=!(arguments.length>1)||void 0===arguments[1]||arguments[1],o=arguments.length>2?arguments[2]:void 0,l=(0,i.mW)(e),a=l?e:r(e),s=void 0!==o;return a?(o||t.getState().nodes).filter(o=>{let r=t.getState().nodeLookup.get(o.id);if(r&&!l&&(o.id===e.id||!r.internals.positionAbsolute))return!1;let d=(0,i.kM)(s?o:r),c=(0,i.X6)(d,a);return n&&c>0||c>=d.width*d.height||c>=a.width*a.height}):[]},isNodeIntersecting:function(e,t){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=(0,i.mW)(e)?e:r(e);if(!o)return!1;let l=(0,i.X6)(o,t);return n&&l>0||l>=t.width*t.height||l>=o.width*o.height},updateNode:a,updateNodeData:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};a(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:s,updateEdgeData:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};s(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:o}=t.getState();return(0,i.Jo)(e,{nodeLookup:n,nodeOrigin:o})},getHandleConnections:e=>{var n,o;let{type:l,id:r,nodeId:a}=e;return Array.from(null!=(o=null==(n=t.getState().connectionLookup.get("".concat(a,"-").concat(l).concat(r?"-".concat(r):"")))?void 0:n.values())?o:[])},getNodeConnections:e=>{var n,o;let{type:l,handleId:r,nodeId:a}=e;return Array.from(null!=(o=null==(n=t.getState().connectionLookup.get("".concat(a).concat(l?r?"-".concat(l,"-").concat(r):"-".concat(l):"")))?void 0:n.values())?o:[])},fitView:async e=>{var o;let l=null!=(o=t.getState().fitViewResolver)?o:(0,i.YN)();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:l}),n.nodeQueue.push(e=>[...e]),l.promise}}},[]);return(0,r.useMemo)(()=>({...l,...e,viewportInitialized:o}),[o])}let et=e=>e.selected,en="undefined"!=typeof window?window:void 0,eo={position:"absolute",width:"100%",height:"100%",top:0,left:0},el=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function er(e){let{onPaneContextMenu:t,zoomOnScroll:n=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=i.ny.Free,zoomOnDoubleClick:u=!0,panOnDrag:g=!0,defaultViewport:h,translateExtent:m,minZoom:v,maxZoom:y,zoomActivationKeyCode:b,preventScrolling:x=!0,children:S,noWheelClassName:w,noPanClassName:C,onViewportChange:E,isControlledViewport:N,paneClickDistance:k,selectionOnDrag:M}=e,P=p(),D=(0,r.useRef)(null),{userSelectionActive:j,lib:A,connectionInProgress:_}=f(el,d.x),I=H(b),O=(0,r.useRef)(),R=p();(0,r.useEffect)(()=>{let e=()=>{var e,t,n,o,l;if(!D.current||!(null==(n=null==(e=(t=D.current).checkVisibility)?void 0:e.call(t))||n))return!1;let r=(0,i.Eo)(D.current);(0===r.height||0===r.width)&&(null==(o=(l=R.getState()).onError)||o.call(l,"004",i.xc.error004())),R.setState({width:r.width||500,height:r.height||500})};if(D.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(D.current),()=>{window.removeEventListener("resize",e),t&&D.current&&t.unobserve(D.current)}}},[]);let L=(0,r.useCallback)(e=>{null==E||E({x:e[0],y:e[1],zoom:e[2]}),N||P.setState({transform:e})},[E,N]);return(0,r.useEffect)(()=>{if(D.current){O.current=(0,i.kO)({domNode:D.current,minZoom:v,maxZoom:y,translateExtent:m,viewport:h,onDraggingChange:e=>P.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=P.getState();null==o||o(e,t),null==n||n(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=P.getState();null==o||o(e,t),null==n||n(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=P.getState();null==o||o(e,t),null==n||n(t)}});let{x:e,y:t,zoom:n}=O.current.getViewport();return P.setState({panZoom:O.current,transform:[e,t,n],domNode:D.current.closest(".react-flow")}),()=>{var e;null==(e=O.current)||e.destroy()}}},[]),(0,r.useEffect)(()=>{var e;null==(e=O.current)||e.update({onPaneContextMenu:t,zoomOnScroll:n,zoomOnPinch:o,panOnScroll:a,panOnScrollSpeed:s,panOnScrollMode:c,zoomOnDoubleClick:u,panOnDrag:g,zoomActivationKeyPressed:I,preventScrolling:x,noPanClassName:C,userSelectionActive:j,noWheelClassName:w,lib:A,onTransformChange:L,connectionInProgress:_,selectionOnDrag:M,paneClickDistance:k})},[t,n,o,a,s,c,u,g,I,x,C,j,w,A,L,_,M,k]),(0,l.jsx)("div",{className:"react-flow__renderer",ref:D,style:eo,children:S})}let ea=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ei(){let{userSelectionActive:e,userSelectionRect:t}=f(ea,d.x);return e&&t?(0,l.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:"translate(".concat(t.x,"px, ").concat(t.y,"px)")}}):null}let es=(e,t)=>n=>{n.target===t.current&&(null==e||e(n))},ed=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function ec(e){let{isSelecting:t,selectionKeyPressed:n,selectionMode:o=i.Qc.Full,panOnDrag:s,paneClickDistance:c,selectionOnDrag:u,onSelectionStart:g,onSelectionEnd:h,onPaneClick:m,onPaneContextMenu:v,onPaneScroll:y,onPaneMouseEnter:b,onPaneMouseMove:x,onPaneMouseLeave:S,children:w}=e,C=p(),{userSelectionActive:E,elementsSelectable:N,dragging:k,connectionInProgress:M}=f(ed,d.x),P=N&&(t||E),D=(0,r.useRef)(null),j=(0,r.useRef)(),A=(0,r.useRef)(new Set),_=(0,r.useRef)(new Set),I=(0,r.useRef)(!1),O=e=>{if(I.current||M){I.current=!1;return}null==m||m(e),C.getState().resetSelectedElements(),C.setState({nodesSelectionActive:!1})},R=!0===s||Array.isArray(s)&&s.includes(0);return(0,l.jsxs)("div",{className:(0,a.A)(["react-flow__pane",{draggable:R,dragging:k,selection:t}]),onClick:P?void 0:es(O,D),onContextMenu:es(e=>{if(Array.isArray(s)&&(null==s?void 0:s.includes(2)))return void e.preventDefault();null==v||v(e)},D),onWheel:es(y?e=>y(e):void 0,D),onPointerEnter:P?void 0:b,onPointerMove:P?e=>{var t,l;let{userSelectionRect:r,transform:a,nodeLookup:s,edgeLookup:d,connectionLookup:u,triggerNodeChanges:f,triggerEdgeChanges:p,defaultEdgeOptions:h,resetSelectedElements:m}=C.getState();if(!j.current||!r)return;let{x:v,y:y}=(0,i.q1)(e.nativeEvent,j.current),{startX:b,startY:x}=r;if(!I.current){if(Math.hypot(v-b,y-x)<=(n?0:c))return;m(),null==g||g(e)}I.current=!0;let S={startX:b,startY:x,x:v<b?v:b,y:y<x?y:x,width:Math.abs(v-b),height:Math.abs(y-x)},w=A.current,E=_.current;A.current=new Set((0,i.U$)(s,S,a,o===i.Qc.Partial,!0).map(e=>e.id)),_.current=new Set;let N=null==(t=null==h?void 0:h.selectable)||t;for(let e of A.current){let t=u.get(e);if(t)for(let{edgeId:e}of t.values()){let t=d.get(e);t&&(null!=(l=t.selectable)?l:N)&&_.current.add(e)}}(0,i._s)(w,A.current)||f(K(s,A.current,!0)),(0,i._s)(E,_.current)||p(K(d,_.current)),C.setState({userSelectionRect:S,userSelectionActive:!0,nodesSelectionActive:!1})}:x,onPointerUp:P?e=>{var t,n;0===e.button&&(null==(n=e.target)||null==(t=n.releasePointerCapture)||t.call(n,e.pointerId),!E&&e.target===D.current&&C.getState().userSelectionRect&&(null==O||O(e)),C.setState({userSelectionActive:!1,userSelectionRect:null}),I.current&&(null==h||h(e),C.setState({nodesSelectionActive:A.current.size>0})))}:void 0,onPointerDownCapture:P?e=>{var o,l;let{domNode:r}=C.getState();if(j.current=null==r?void 0:r.getBoundingClientRect(),!j.current)return;let a=e.target===D.current;if(!a&&e.target.closest(".nokey")||!t||!(u&&a||n)||0!==e.button||!e.isPrimary)return;null==(l=e.target)||null==(o=l.setPointerCapture)||o.call(l,e.pointerId),I.current=!1;let{x:s,y:d}=(0,i.q1)(e.nativeEvent,j.current);C.setState({userSelectionRect:{width:0,height:0,startX:s,startY:d,x:s,y:d}}),a||(e.stopPropagation(),e.preventDefault())}:void 0,onClickCapture:P?e=>{I.current&&(e.stopPropagation(),I.current=!1)}:void 0,onPointerLeave:S,ref:D,style:eo,children:[w,(0,l.jsx)(ei,{})]})}function eu(e){let{id:t,store:n,unselect:o=!1,nodeRef:l}=e,{addSelectedNodes:r,unselectNodesAndEdges:a,multiSelectionActive:s,nodeLookup:d,onError:c}=n.getState(),u=d.get(t);if(!u){null==c||c("012",i.xc.error012(t));return}n.setState({nodesSelectionActive:!1}),u.selected?(o||u.selected&&s)&&(a({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var e;return null==l||null==(e=l.current)?void 0:e.blur()})):r([t])}function eg(e){let{nodeRef:t,disabled:n=!1,noDragClassName:o,handleSelector:l,nodeId:a,isSelectable:s,nodeClickDistance:d}=e,c=p(),[u,g]=(0,r.useState)(!1),f=(0,r.useRef)();return(0,r.useEffect)(()=>{f.current=(0,i.I$)({getStoreItems:()=>c.getState(),onNodeMouseDown:e=>{eu({id:e,store:c,nodeRef:t})},onDragStart:()=>{g(!0)},onDragStop:()=>{g(!1)}})},[]),(0,r.useEffect)(()=>{if(!n&&t.current&&f.current)return f.current.update({noDragClassName:o,handleSelector:l,domNode:t.current,isSelectable:s,nodeId:a,nodeClickDistance:d}),()=>{var e;null==(e=f.current)||e.destroy()}},[o,l,n,s,t,a,d]),u}function ef(){let e=p();return(0,r.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:l,nodesDraggable:r,onError:a,updateNodePositions:s,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,g=e=>e.selected&&(e.draggable||r&&void 0===e.draggable),f=o?l[0]:5,p=o?l[1]:5,h=t.direction.x*f*t.factor,m=t.direction.y*p*t.factor;for(let[,e]of d){if(!g(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+m};o&&(t=(0,i.s_)(t,l));let{position:r,positionAbsolute:s}=(0,i.aE)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:a});e.position=r,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}let ep=(0,r.createContext)(null),eh=ep.Provider;ep.Consumer;let em=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ev=(0,r.memo)(U(function(e,t){let{type:n="source",position:o=i.yX.Top,isValidConnection:s,isConnectable:c=!0,isConnectableStart:u=!0,isConnectableEnd:g=!0,id:h,onConnect:m,children:v,className:y,onMouseDown:b,onTouchStart:x,...S}=e,w=h||null,C="target"===n,E=p(),N=(0,r.useContext)(ep),{connectOnClick:k,noPanClassName:M,rfId:P}=f(em,d.x),{connectingFrom:D,connectingTo:j,clickConnecting:A,isPossibleEndHandle:_,connectionInProcess:I,clickConnectionInProcess:O,valid:R}=f(e=>{let{connectionClickStartHandle:t,connectionMode:o,connection:l}=e,{fromHandle:r,toHandle:a,isValid:s}=l,d=(null==a?void 0:a.nodeId)===N&&(null==a?void 0:a.id)===w&&(null==a?void 0:a.type)===n;return{connectingFrom:(null==r?void 0:r.nodeId)===N&&(null==r?void 0:r.id)===w&&(null==r?void 0:r.type)===n,connectingTo:d,clickConnecting:(null==t?void 0:t.nodeId)===N&&(null==t?void 0:t.id)===w&&(null==t?void 0:t.type)===n,isPossibleEndHandle:o===i.WZ.Strict?(null==r?void 0:r.type)!==n:N!==(null==r?void 0:r.nodeId)||w!==(null==r?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!t,valid:d&&s}},d.x);if(!N){var L,z;null==(L=(z=E.getState()).onError)||L.call(z,"010",i.xc.error010())}let B=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=E.getState(),l={...t,...e};if(o){let{edges:e,setEdges:t}=E.getState();t((0,i.rN)(l,e))}null==n||n(l),null==m||m(l)},V=e=>{if(!N)return;let t=(0,i.Er)(e.nativeEvent);if(u&&(t&&0===e.button||!t)){let t=E.getState();i.aQ.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:C,handleId:w,nodeId:N,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:function(){for(var e,t,n=arguments.length,o=Array(n),l=0;l<n;l++)o[l]=arguments[l];return null==(e=(t=E.getState()).onConnectEnd)?void 0:e.call(t,...o)},updateConnection:t.updateConnection,onConnect:B,isValidConnection:s||function(){for(var e,t,n,o=arguments.length,l=Array(o),r=0;r<o;r++)l[r]=arguments[r];return null==(n=null==(e=(t=E.getState()).isValidConnection)?void 0:e.call(t,...l))||n},getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?null==b||b(e):null==x||x(e)};return(0,l.jsx)("div",{"data-handleid":w,"data-nodeid":N,"data-handlepos":o,"data-id":"".concat(P,"-").concat(N,"-").concat(w,"-").concat(n),className:(0,a.A)(["react-flow__handle","react-flow__handle-".concat(o),"nodrag",M,y,{source:!C,target:C,connectable:c,connectablestart:u,connectableend:g,clickconnecting:A,connectingfrom:D,connectingto:j,valid:R,connectionindicator:c&&(!I||_)&&(I||O?g:u)}]),onMouseDown:V,onTouchStart:V,onClick:k?e=>{let{onClickConnectStart:t,onClickConnectEnd:o,connectionClickStartHandle:l,connectionMode:r,isValidConnection:a,lib:d,rfId:c,nodeLookup:g,connection:f}=E.getState();if(!N||!l&&!u)return;if(!l){null==t||t(e.nativeEvent,{nodeId:N,handleId:w,handleType:n}),E.setState({connectionClickStartHandle:{nodeId:N,type:n,id:w}});return}let p=(0,i.oj)(e.target),h=s||a,{connection:m,isValid:v}=i.aQ.isValid(e.nativeEvent,{handle:{nodeId:N,id:w,type:n},connectionMode:r,fromNodeId:l.nodeId,fromHandleId:l.id||null,fromType:l.type,isValidConnection:h,flowId:c,doc:p,lib:d,nodeLookup:g});v&&m&&B(m);let y=structuredClone(f);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,null==o||o(e,y),E.setState({connectionClickStartHandle:null})}:void 0,ref:t,...S,children:v})})),ey={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eb={input:function(e){let{data:t,isConnectable:n,sourcePosition:o=i.yX.Bottom}=e;return(0,l.jsxs)(l.Fragment,{children:[null==t?void 0:t.label,(0,l.jsx)(ev,{type:"source",position:o,isConnectable:n})]})},default:function(e){let{data:t,isConnectable:n,targetPosition:o=i.yX.Top,sourcePosition:r=i.yX.Bottom}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ev,{type:"target",position:o,isConnectable:n}),null==t?void 0:t.label,(0,l.jsx)(ev,{type:"source",position:r,isConnectable:n})]})},output:function(e){let{data:t,isConnectable:n,targetPosition:o=i.yX.Top}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ev,{type:"target",position:o,isConnectable:n}),null==t?void 0:t.label]})},group:function(){return null}},ex=e=>{let{width:t,height:n,x:o,y:l}=(0,i.aZ)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,i.kf)(t)?t:null,height:(0,i.kf)(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:"translate(".concat(e.transform[0],"px,").concat(e.transform[1],"px) scale(").concat(e.transform[2],") translate(").concat(o,"px,").concat(l,"px)")}};function eS(e){let{onSelectionContextMenu:t,noPanClassName:n,disableKeyboardA11y:o}=e,i=p(),{width:s,height:c,transformString:u,userSelectionActive:g}=f(ex,d.x),h=ef(),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(!o){var e;null==(e=m.current)||e.focus({preventScroll:!0})}},[o]);let v=!g&&null!==s&&null!==c;if(eg({nodeRef:m,disabled:!v}),!v)return null;let y=t?e=>{t(e,i.getState().nodes.filter(e=>e.selected))}:void 0;return(0,l.jsx)("div",{className:(0,a.A)(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:(0,l.jsx)("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:o?void 0:-1,onKeyDown:o?void 0:e=>{Object.prototype.hasOwnProperty.call(ey,e.key)&&(e.preventDefault(),h({direction:ey[e.key],factor:e.shiftKey?4:1}))},style:{width:s,height:c}})})}let ew="undefined"!=typeof window?window:void 0,eC=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function eE(e){let{children:t,onPaneClick:n,onPaneMouseEnter:o,onPaneMouseMove:a,onPaneMouseLeave:i,onPaneContextMenu:s,onPaneScroll:c,paneClickDistance:u,deleteKeyCode:g,selectionKeyCode:h,selectionOnDrag:m,selectionMode:v,onSelectionStart:y,onSelectionEnd:b,multiSelectionKeyCode:x,panActivationKeyCode:S,zoomActivationKeyCode:w,elementsSelectable:C,zoomOnScroll:E,zoomOnPinch:N,panOnScroll:k,panOnScrollSpeed:M,panOnScrollMode:P,zoomOnDoubleClick:D,panOnDrag:j,defaultViewport:A,translateExtent:_,minZoom:I,maxZoom:O,preventScrolling:R,onSelectionContextMenu:L,noWheelClassName:z,noPanClassName:B,disableKeyboardA11y:V,onViewportChange:T,isControlledViewport:F}=e,{nodesSelectionActive:Z,userSelectionActive:X}=f(eC,d.x),K=H(h,{target:ew}),W=H(S,{target:ew}),Y=W||j,Q=W||k,U=m&&!0!==Y,G=K||X||U;return!function(e){let{deleteKeyCode:t,multiSelectionKeyCode:n}=e,o=p(),{deleteElements:l}=ee(),a=H(t,{actInsideInputWithModifier:!1}),i=H(n,{target:en});(0,r.useEffect)(()=>{if(a){let{edges:e,nodes:t}=o.getState();l({nodes:t.filter(et),edges:e.filter(et)}),o.setState({nodesSelectionActive:!1})}},[a]),(0,r.useEffect)(()=>{o.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:g,multiSelectionKeyCode:x}),(0,l.jsx)(er,{onPaneContextMenu:s,elementsSelectable:C,zoomOnScroll:E,zoomOnPinch:N,panOnScroll:Q,panOnScrollSpeed:M,panOnScrollMode:P,zoomOnDoubleClick:D,panOnDrag:!K&&Y,defaultViewport:A,translateExtent:_,minZoom:I,maxZoom:O,zoomActivationKeyCode:w,preventScrolling:R,noWheelClassName:z,noPanClassName:B,onViewportChange:T,isControlledViewport:F,paneClickDistance:u,selectionOnDrag:U,children:(0,l.jsxs)(ec,{onSelectionStart:y,onSelectionEnd:b,onPaneClick:n,onPaneMouseEnter:o,onPaneMouseMove:a,onPaneMouseLeave:i,onPaneContextMenu:s,onPaneScroll:c,panOnDrag:Y,isSelecting:!!G,selectionMode:v,selectionKeyPressed:K,paneClickDistance:u,selectionOnDrag:U,children:[t,Z&&(0,l.jsx)(eS,{onSelectionContextMenu:L,noPanClassName:B,disableKeyboardA11y:V})]})})}eE.displayName="FlowRenderer";let eN=(0,r.memo)(eE),ek=e=>e.updateNodeInternals;var eM=(0,r.memo)(function(e){var t,n,o,s,c,u,g,h,m,y,b,x,S;let{id:w,onClick:C,onMouseEnter:E,onMouseMove:N,onMouseLeave:k,onContextMenu:M,onDoubleClick:P,nodesDraggable:D,elementsSelectable:j,nodesConnectable:A,nodesFocusable:_,resizeObserver:I,noDragClassName:O,noPanClassName:R,disableKeyboardA11y:L,rfId:z,nodeTypes:B,nodeClickDistance:V,onError:H}=e,{node:T,internals:F,isParent:Z}=f(e=>{let t=e.nodeLookup.get(w),n=e.parentLookup.has(w);return{node:t,internals:t.internals,isParent:n}},d.x),X=T.type||"default",K=(null==B?void 0:B[X])||eb[X];void 0===K&&(null==H||H("003",i.xc.error003(X)),X="default",K=(null==B?void 0:B.default)||eb.default);let W=!!(T.draggable||D&&void 0===T.draggable),Y=!!(T.selectable||j&&void 0===T.selectable),Q=!!(T.connectable||A&&void 0===T.connectable),U=!!(T.focusable||_&&void 0===T.focusable),G=p(),q=(0,i.QE)(T),$=function(e){let{node:t,nodeType:n,hasDimensions:o,resizeObserver:l}=e,a=p(),i=(0,r.useRef)(null),s=(0,r.useRef)(null),d=(0,r.useRef)(t.sourcePosition),c=(0,r.useRef)(t.targetPosition),u=(0,r.useRef)(n),g=o&&!!t.internals.handleBounds;return(0,r.useEffect)(()=>{!i.current||t.hidden||g&&s.current===i.current||(s.current&&(null==l||l.unobserve(s.current)),null==l||l.observe(i.current),s.current=i.current)},[g,t.hidden]),(0,r.useEffect)(()=>()=>{s.current&&(null==l||l.unobserve(s.current),s.current=null)},[]),(0,r.useEffect)(()=>{if(i.current){let e=u.current!==n,o=d.current!==t.sourcePosition,l=c.current!==t.targetPosition;(e||o||l)&&(u.current=n,d.current=t.sourcePosition,c.current=t.targetPosition,a.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:i.current,force:!0}]])))}},[t.id,n,t.sourcePosition,t.targetPosition]),i}({node:T,nodeType:X,hasDimensions:q,resizeObserver:I}),J=eg({nodeRef:$,disabled:T.hidden||!W,noDragClassName:O,handleSelector:T.dragHandle,nodeId:w,isSelectable:Y,nodeClickDistance:V}),ee=ef();if(T.hidden)return null;let et=(0,i.uD)(T),en=void 0===T.internals.handleBounds?{width:null!=(m=null!=(h=T.width)?h:T.initialWidth)?m:null==(u=T.style)?void 0:u.width,height:null!=(b=null!=(y=T.height)?y:T.initialHeight)?b:null==(g=T.style)?void 0:g.height}:{width:null!=(x=T.width)?x:null==(s=T.style)?void 0:s.width,height:null!=(S=T.height)?S:null==(c=T.style)?void 0:c.height},eo=Y||W||C||E||N||k,el=E?e=>E(e,{...F.userNode}):void 0,er=N?e=>N(e,{...F.userNode}):void 0,ea=k?e=>k(e,{...F.userNode}):void 0,ei=M?e=>M(e,{...F.userNode}):void 0,es=P?e=>P(e,{...F.userNode}):void 0;return(0,l.jsx)("div",{className:(0,a.A)(["react-flow__node","react-flow__node-".concat(X),{[R]:W},T.className,{selected:T.selected,selectable:Y,parent:Z,draggable:W,dragging:J}]),ref:$,style:{zIndex:F.z,transform:"translate(".concat(F.positionAbsolute.x,"px,").concat(F.positionAbsolute.y,"px)"),pointerEvents:eo?"all":"none",visibility:q?"visible":"hidden",...T.style,...en},"data-id":w,"data-testid":"rf__node-".concat(w),onMouseEnter:el,onMouseMove:er,onMouseLeave:ea,onContextMenu:ei,onClick:e=>{let{selectNodesOnDrag:t,nodeDragThreshold:n}=G.getState();Y&&(!t||!W||n>0)&&eu({id:w,store:G,nodeRef:$}),C&&C(e,{...F.userNode})},onDoubleClick:es,onKeyDown:U?e=>{if(!(0,i.v5)(e.nativeEvent)&&!L){if(i.tn.includes(e.key)&&Y)eu({id:w,store:G,unselect:"Escape"===e.key,nodeRef:$});else if(W&&T.selected&&Object.prototype.hasOwnProperty.call(ey,e.key)){e.preventDefault();let{ariaLabelConfig:t}=G.getState();G.setState({ariaLiveMessage:t["node.a11yDescription.ariaLiveMessage"]({direction:e.key.replace("Arrow","").toLowerCase(),x:~~F.positionAbsolute.x,y:~~F.positionAbsolute.y})}),ee({direction:ey[e.key],factor:e.shiftKey?4:1})}}}:void 0,tabIndex:U?0:void 0,onFocus:U?()=>{var e;if(L||!(null==(e=$.current)?void 0:e.matches(":focus-visible")))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:l,setCenter:r}=G.getState();l&&((0,i.U$)(new Map([[w,T]]),{x:0,y:0,width:n,height:o},t,!0).length>0||r(T.position.x+et.width/2,T.position.y+et.height/2,{zoom:t[2]}))}:void 0,role:null!=(t=T.ariaRole)?t:U?"group":void 0,"aria-roledescription":"node","aria-describedby":L?void 0:"".concat(v,"-").concat(z),"aria-label":T.ariaLabel,...T.domAttributes,children:(0,l.jsx)(eh,{value:w,children:(0,l.jsx)(K,{id:w,data:T.data,type:X,positionAbsoluteX:F.positionAbsolute.x,positionAbsoluteY:F.positionAbsolute.y,selected:null!=(n=T.selected)&&n,selectable:Y,draggable:W,deletable:null==(o=T.deletable)||o,isConnectable:Q,sourcePosition:T.sourcePosition,targetPosition:T.targetPosition,dragging:J,dragHandle:T.dragHandle,zIndex:F.z,parentId:T.parentId,...et})})})});let eP=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function eD(e){var t;let{nodesDraggable:n,nodesConnectable:o,nodesFocusable:a,elementsSelectable:s,onError:c}=f(eP,d.x),u=(t=e.onlyRenderVisibleElements,f((0,r.useCallback)(e=>t?(0,i.U$)(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),d.x)),g=function(){let e=f(ek),[t]=(0,r.useState)(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,r.useEffect)(()=>()=>{null==t||t.disconnect()},[t]),t}();return(0,l.jsx)("div",{className:"react-flow__nodes",style:eo,children:u.map(t=>(0,l.jsx)(eM,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:g,nodesDraggable:n,nodesConnectable:o,nodesFocusable:a,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:c},t))})}eD.displayName="NodeRenderer";let ej=(0,r.memo)(eD),eA={[i.TG.Arrow]:e=>{let{color:t="none",strokeWidth:n=1}=e,o={strokeWidth:n,...t&&{stroke:t}};return(0,l.jsx)("polyline",{className:"arrow",style:o,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[i.TG.ArrowClosed]:e=>{let{color:t="none",strokeWidth:n=1}=e,o={strokeWidth:n,...t&&{stroke:t,fill:t}};return(0,l.jsx)("polyline",{className:"arrowclosed",style:o,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},e_=e=>{let{id:t,type:n,color:o,width:a=12.5,height:s=12.5,markerUnits:d="strokeWidth",strokeWidth:c,orient:u="auto-start-reverse"}=e,g=function(e){let t=p();return(0,r.useMemo)(()=>{if(!Object.prototype.hasOwnProperty.call(eA,e)){var n,o;return null==(n=(o=t.getState()).onError)||n.call(o,"009",i.xc.error009(e)),null}return eA[e]},[e])}(n);return g?(0,l.jsx)("marker",{className:"react-flow__arrowhead",id:t,markerWidth:"".concat(a),markerHeight:"".concat(s),viewBox:"-10 -10 20 20",markerUnits:d,orient:u,refX:"0",refY:"0",children:(0,l.jsx)(g,{color:o,strokeWidth:c})}):null},eI=e=>{let{defaultColor:t,rfId:n}=e,o=f(e=>e.edges),a=f(e=>e.defaultEdgeOptions),s=(0,r.useMemo)(()=>(0,i.Hm)(o,{id:n,defaultColor:t,defaultMarkerStart:null==a?void 0:a.markerStart,defaultMarkerEnd:null==a?void 0:a.markerEnd}),[o,a,n,t]);return s.length?(0,l.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,l.jsx)("defs",{children:s.map(e=>(0,l.jsx)(e_,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};eI.displayName="MarkerDefinitions";var eO=(0,r.memo)(eI);function eR(e){let{x:t,y:n,label:o,labelStyle:i,labelShowBg:s=!0,labelBgStyle:d,labelBgPadding:c=[2,4],labelBgBorderRadius:u=2,children:g,className:f,...p}=e,[h,m]=(0,r.useState)({x:1,y:0,width:0,height:0}),v=(0,a.A)(["react-flow__edge-textwrapper",f]),y=(0,r.useRef)(null);return((0,r.useEffect)(()=>{if(y.current){let e=y.current.getBBox();m({x:e.x,y:e.y,width:e.width,height:e.height})}},[o]),o)?(0,l.jsxs)("g",{transform:"translate(".concat(t-h.width/2," ").concat(n-h.height/2,")"),className:v,visibility:h.width?"visible":"hidden",...p,children:[s&&(0,l.jsx)("rect",{width:h.width+2*c[0],x:-c[0],y:-c[1],height:h.height+2*c[1],className:"react-flow__edge-textbg",style:d,rx:u,ry:u}),(0,l.jsx)("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:y,style:i,children:o}),g]}):null}eR.displayName="EdgeText";let eL=(0,r.memo)(eR);function ez(e){let{path:t,labelX:n,labelY:o,label:r,labelStyle:s,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:g,interactionWidth:f=20,...p}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("path",{...p,d:t,fill:"none",className:(0,a.A)(["react-flow__edge-path",p.className])}),f?(0,l.jsx)("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}):null,r&&(0,i.kf)(n)&&(0,i.kf)(o)?(0,l.jsx)(eL,{x:n,y:o,label:r,labelStyle:s,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:g}):null]})}function eB(e){let{pos:t,x1:n,y1:o,x2:l,y2:r}=e;return t===i.yX.Left||t===i.yX.Right?[.5*(n+l),o]:[n,.5*(o+r)]}function eV(e){let{sourceX:t,sourceY:n,sourcePosition:o=i.yX.Bottom,targetX:l,targetY:r,targetPosition:a=i.yX.Top}=e,[s,d]=eB({pos:o,x1:t,y1:n,x2:l,y2:r}),[c,u]=eB({pos:a,x1:l,y1:r,x2:t,y2:n}),[g,f,p,h]=(0,i.e_)({sourceX:t,sourceY:n,targetX:l,targetY:r,sourceControlX:s,sourceControlY:d,targetControlX:c,targetControlY:u});return["M".concat(t,",").concat(n," C").concat(s,",").concat(d," ").concat(c,",").concat(u," ").concat(l,",").concat(r),g,f,p,h]}function eH(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:a,targetY:i,sourcePosition:s,targetPosition:d,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:v,markerStart:y,interactionWidth:b}=t,[x,S,w]=eV({sourceX:o,sourceY:r,sourcePosition:s,targetX:a,targetY:i,targetPosition:d}),C=e.isInternal?void 0:n;return(0,l.jsx)(ez,{id:C,path:x,labelX:S,labelY:w,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:v,markerStart:y,interactionWidth:b})})}let eT=eH({isInternal:!1}),eF=eH({isInternal:!0});function eZ(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:a,targetY:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,sourcePosition:m=i.yX.Bottom,targetPosition:v=i.yX.Top,markerEnd:y,markerStart:b,pathOptions:x,interactionWidth:S}=t,[w,C,E]=(0,i.oN)({sourceX:o,sourceY:r,sourcePosition:m,targetX:a,targetY:s,targetPosition:v,borderRadius:null==x?void 0:x.borderRadius,offset:null==x?void 0:x.offset,stepPosition:null==x?void 0:x.stepPosition}),N=e.isInternal?void 0:n;return(0,l.jsx)(ez,{id:N,path:w,labelX:C,labelY:E,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:y,markerStart:b,interactionWidth:S})})}eT.displayName="SimpleBezierEdge",eF.displayName="SimpleBezierEdgeInternal";let eX=eZ({isInternal:!1}),eK=eZ({isInternal:!0});function eW(e){return(0,r.memo)(t=>{var n;let{id:o,...a}=t,i=e.isInternal?void 0:o;return(0,l.jsx)(eX,{...a,id:i,pathOptions:(0,r.useMemo)(()=>{var e;return{borderRadius:0,offset:null==(e=a.pathOptions)?void 0:e.offset}},[null==(n=a.pathOptions)?void 0:n.offset])})})}eX.displayName="SmoothStepEdge",eK.displayName="SmoothStepEdgeInternal";let eY=eW({isInternal:!1}),eQ=eW({isInternal:!0});function eU(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:a,targetY:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:y}=t,[b,x,S]=(0,i.ah)({sourceX:o,sourceY:r,targetX:a,targetY:s}),w=e.isInternal?void 0:n;return(0,l.jsx)(ez,{id:w,path:b,labelX:x,labelY:S,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:y})})}eY.displayName="StepEdge",eQ.displayName="StepEdgeInternal";let eG=eU({isInternal:!1}),eq=eU({isInternal:!0});function e$(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:a,targetY:s,sourcePosition:d=i.yX.Bottom,targetPosition:c=i.yX.Top,label:u,labelStyle:g,labelShowBg:f,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:y,markerStart:b,pathOptions:x,interactionWidth:S}=t,[w,C,E]=(0,i.Fp)({sourceX:o,sourceY:r,sourcePosition:d,targetX:a,targetY:s,targetPosition:c,curvature:null==x?void 0:x.curvature}),N=e.isInternal?void 0:n;return(0,l.jsx)(ez,{id:N,path:w,labelX:C,labelY:E,label:u,labelStyle:g,labelShowBg:f,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:y,markerStart:b,interactionWidth:S})})}eG.displayName="StraightEdge",eq.displayName="StraightEdgeInternal";let eJ=e$({isInternal:!1}),e0=e$({isInternal:!0});eJ.displayName="BezierEdge",e0.displayName="BezierEdgeInternal";let e1={default:e0,straight:eq,step:eQ,smoothstep:eK,simplebezier:eF},e3={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},e2="react-flow__edgeupdater";function e4(e){let{position:t,centerX:n,centerY:o,radius:r=10,onMouseDown:s,onMouseEnter:d,onMouseOut:c,type:u}=e;return(0,l.jsx)("circle",{onMouseDown:s,onMouseEnter:d,onMouseOut:c,className:(0,a.A)([e2,"".concat(e2,"-").concat(u)]),cx:t===i.yX.Left?n-r:t===i.yX.Right?n+r:n,cy:t===i.yX.Top?o-r:t===i.yX.Bottom?o+r:o,r:r,stroke:"transparent",fill:"transparent"})}function e5(e){let{isReconnectable:t,reconnectRadius:n,edge:o,sourceX:r,sourceY:a,targetX:s,targetY:d,sourcePosition:c,targetPosition:u,onReconnect:g,onReconnectStart:f,onReconnectEnd:h,setReconnecting:m,setUpdateHover:v}=e,y=p(),b=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:n,domNode:l,connectionMode:r,connectionRadius:a,lib:s,onConnectStart:d,cancelConnection:c,nodeLookup:u,rfId:p,panBy:v,updateConnection:b}=y.getState(),x="target"===t.type;i.aQ.onPointerDown(e.nativeEvent,{autoPanOnConnect:n,connectionMode:r,connectionRadius:a,domNode:l,handleId:t.id,nodeId:t.nodeId,nodeLookup:u,isTarget:x,edgeUpdaterType:t.type,lib:s,flowId:p,cancelConnection:c,panBy:v,isValidConnection:function(){for(var e,t,n,o=arguments.length,l=Array(o),r=0;r<o;r++)l[r]=arguments[r];return null==(n=null==(e=(t=y.getState()).isValidConnection)?void 0:e.call(t,...l))||n},onConnect:e=>null==g?void 0:g(o,e),onConnectStart:(n,l)=>{m(!0),null==f||f(e,o,t.type),null==d||d(n,l)},onConnectEnd:function(){for(var e,t,n=arguments.length,o=Array(n),l=0;l<n;l++)o[l]=arguments[l];return null==(e=(t=y.getState()).onConnectEnd)?void 0:e.call(t,...o)},onReconnectEnd:(e,n)=>{m(!1),null==h||h(e,o,t.type,n)},updateConnection:b,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,dragThreshold:y.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},x=()=>v(!0),S=()=>v(!1);return(0,l.jsxs)(l.Fragment,{children:[(!0===t||"source"===t)&&(0,l.jsx)(e4,{position:c,centerX:r,centerY:a,radius:n,onMouseDown:e=>{var t;return b(e,{nodeId:o.target,id:null!=(t=o.targetHandle)?t:null,type:"target"})},onMouseEnter:x,onMouseOut:S,type:"source"}),(!0===t||"target"===t)&&(0,l.jsx)(e4,{position:u,centerX:s,centerY:d,radius:n,onMouseDown:e=>{var t;return b(e,{nodeId:o.source,id:null!=(t=o.sourceHandle)?t:null,type:"source"})},onMouseEnter:x,onMouseOut:S,type:"target"})]})}var e6=(0,r.memo)(function(e){var t,n;let{id:o,edgesFocusable:s,edgesReconnectable:c,elementsSelectable:u,onClick:g,onDoubleClick:h,onContextMenu:m,onMouseEnter:v,onMouseMove:b,onMouseLeave:x,reconnectRadius:S,onReconnect:w,onReconnectStart:C,onReconnectEnd:E,rfId:N,edgeTypes:k,noPanClassName:M,onError:P,disableKeyboardA11y:D}=e,j=f(e=>e.edgeLookup.get(o)),A=f(e=>e.defaultEdgeOptions),_=(j=A?{...A,...j}:j).type||"default",I=(null==k?void 0:k[_])||e1[_];void 0===I&&(null==P||P("011",i.xc.error011(_)),_="default",I=(null==k?void 0:k.default)||e1.default);let O=!!(j.focusable||s&&void 0===j.focusable),R=void 0!==w&&(j.reconnectable||c&&void 0===j.reconnectable),L=!!(j.selectable||u&&void 0===j.selectable),z=(0,r.useRef)(null),[B,V]=(0,r.useState)(!1),[H,T]=(0,r.useState)(!1),F=p(),{zIndex:Z,sourceX:X,sourceY:K,targetX:W,targetY:Y,sourcePosition:Q,targetPosition:U}=f((0,r.useCallback)(e=>{let t=e.nodeLookup.get(j.source),n=e.nodeLookup.get(j.target);if(!t||!n)return{zIndex:j.zIndex,...e3};let l=(0,i.b5)({id:o,sourceNode:t,targetNode:n,sourceHandle:j.sourceHandle||null,targetHandle:j.targetHandle||null,connectionMode:e.connectionMode,onError:P});return{zIndex:(0,i.qX)({selected:j.selected,zIndex:j.zIndex,sourceNode:t,targetNode:n,elevateOnSelect:e.elevateEdgesOnSelect,zIndexMode:e.zIndexMode}),...l||e3}},[j.source,j.target,j.sourceHandle,j.targetHandle,j.selected,j.zIndex]),d.x),G=(0,r.useMemo)(()=>j.markerStart?"url('#".concat((0,i.aW)(j.markerStart,N),"')"):void 0,[j.markerStart,N]),q=(0,r.useMemo)(()=>j.markerEnd?"url('#".concat((0,i.aW)(j.markerEnd,N),"')"):void 0,[j.markerEnd,N]);if(j.hidden||null===X||null===K||null===W||null===Y)return null;let $=h?e=>{h(e,{...j})}:void 0,J=m?e=>{m(e,{...j})}:void 0,ee=v?e=>{v(e,{...j})}:void 0,et=b?e=>{b(e,{...j})}:void 0,en=x?e=>{x(e,{...j})}:void 0;return(0,l.jsx)("svg",{style:{zIndex:Z},children:(0,l.jsxs)("g",{className:(0,a.A)(["react-flow__edge","react-flow__edge-".concat(_),j.className,M,{selected:j.selected,animated:j.animated,inactive:!L&&!g,updating:B,selectable:L}]),onClick:e=>{let{addSelectedEdges:t,unselectNodesAndEdges:n,multiSelectionActive:l}=F.getState();if(L)if(F.setState({nodesSelectionActive:!1}),j.selected&&l){var r;n({nodes:[],edges:[j]}),null==(r=z.current)||r.blur()}else t([o]);g&&g(e,j)},onDoubleClick:$,onContextMenu:J,onMouseEnter:ee,onMouseMove:et,onMouseLeave:en,onKeyDown:O?e=>{if(!D&&i.tn.includes(e.key)&&L){let{unselectNodesAndEdges:n,addSelectedEdges:l}=F.getState();if("Escape"===e.key){var t;null==(t=z.current)||t.blur(),n({edges:[j]})}else l([o])}}:void 0,tabIndex:O?0:void 0,role:null!=(t=j.ariaRole)?t:O?"group":"img","aria-roledescription":"edge","data-id":o,"data-testid":"rf__edge-".concat(o),"aria-label":null===j.ariaLabel?void 0:j.ariaLabel||"Edge from ".concat(j.source," to ").concat(j.target),"aria-describedby":O?"".concat(y,"-").concat(N):void 0,ref:z,...j.domAttributes,children:[!H&&(0,l.jsx)(I,{id:o,source:j.source,target:j.target,type:j.type,selected:j.selected,animated:j.animated,selectable:L,deletable:null==(n=j.deletable)||n,label:j.label,labelStyle:j.labelStyle,labelShowBg:j.labelShowBg,labelBgStyle:j.labelBgStyle,labelBgPadding:j.labelBgPadding,labelBgBorderRadius:j.labelBgBorderRadius,sourceX:X,sourceY:K,targetX:W,targetY:Y,sourcePosition:Q,targetPosition:U,data:j.data,style:j.style,sourceHandleId:j.sourceHandle,targetHandleId:j.targetHandle,markerStart:G,markerEnd:q,pathOptions:"pathOptions"in j?j.pathOptions:void 0,interactionWidth:j.interactionWidth}),R&&(0,l.jsx)(e5,{edge:j,isReconnectable:R,reconnectRadius:S,onReconnect:w,onReconnectStart:C,onReconnectEnd:E,sourceX:X,sourceY:K,targetX:W,targetY:Y,sourcePosition:Q,targetPosition:U,setUpdateHover:V,setReconnecting:T})]})})});let e7=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function e8(e){let{defaultMarkerColor:t,onlyRenderVisibleElements:n,rfId:o,edgeTypes:a,noPanClassName:s,onReconnect:c,onEdgeContextMenu:u,onEdgeMouseEnter:g,onEdgeMouseMove:p,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:v,onEdgeDoubleClick:y,onReconnectStart:b,onReconnectEnd:x,disableKeyboardA11y:S}=e,{edgesFocusable:w,edgesReconnectable:C,elementsSelectable:E,onError:N}=f(e7,d.x),k=f((0,r.useCallback)(e=>{if(!n)return e.edges.map(e=>e.id);let t=[];if(e.width&&e.height)for(let n of e.edges){let o=e.nodeLookup.get(n.source),l=e.nodeLookup.get(n.target);o&&l&&(0,i.uj)({sourceNode:o,targetNode:l,width:e.width,height:e.height,transform:e.transform})&&t.push(n.id)}return t},[n]),d.x);return(0,l.jsxs)("div",{className:"react-flow__edges",children:[(0,l.jsx)(eO,{defaultColor:t,rfId:o}),k.map(e=>(0,l.jsx)(e6,{id:e,edgesFocusable:w,edgesReconnectable:C,elementsSelectable:E,noPanClassName:s,onReconnect:c,onContextMenu:u,onMouseEnter:g,onMouseMove:p,onMouseLeave:h,onClick:m,reconnectRadius:v,onDoubleClick:y,onReconnectStart:b,onReconnectEnd:x,rfId:o,onError:N,edgeTypes:a,disableKeyboardA11y:S},e))]})}e8.displayName="EdgeRenderer";let e9=(0,r.memo)(e8),te=e=>"translate(".concat(e.transform[0],"px,").concat(e.transform[1],"px) scale(").concat(e.transform[2],")");function tt(e){let{children:t}=e,n=f(te);return(0,l.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:t})}let tn=e=>{var t;return null==(t=e.panZoom)?void 0:t.syncViewport};function to(e){return e.connection.inProgress?{...e.connection,to:(0,i.Ff)(e.connection.to,e.transform)}:{...e.connection}}let tl=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tr(e){let{containerStyle:t,style:n,type:o,component:r}=e,{nodesConnectable:s,width:c,height:u,isValid:g,inProgress:p}=f(tl,d.x);return c&&s&&p?(0,l.jsx)("svg",{style:t,width:c,height:u,className:"react-flow__connectionline react-flow__container",children:(0,l.jsx)("g",{className:(0,a.A)(["react-flow__connection",(0,i.HF)(g)]),children:(0,l.jsx)(ta,{style:n,type:o,CustomComponent:r,isValid:g})})}):null}let ta=e=>{let{style:t,type:n=i.Do.Bezier,CustomComponent:o,isValid:r}=e,{inProgress:a,from:s,fromNode:c,fromHandle:u,fromPosition:g,to:p,toNode:h,toHandle:m,toPosition:v,pointer:y}=function(e){return f(to,d.x)}();if(!a)return;if(o)return(0,l.jsx)(o,{connectionLineType:n,connectionLineStyle:t,fromNode:c,fromHandle:u,fromX:s.x,fromY:s.y,toX:p.x,toY:p.y,fromPosition:g,toPosition:v,connectionStatus:(0,i.HF)(r),toNode:h,toHandle:m,pointer:y});let b="",x={sourceX:s.x,sourceY:s.y,sourcePosition:g,targetX:p.x,targetY:p.y,targetPosition:v};switch(n){case i.Do.Bezier:[b]=(0,i.Fp)(x);break;case i.Do.SimpleBezier:[b]=eV(x);break;case i.Do.Step:[b]=(0,i.oN)({...x,borderRadius:0});break;case i.Do.SmoothStep:[b]=(0,i.oN)(x);break;default:[b]=(0,i.ah)(x)}return(0,l.jsx)("path",{d:b,fill:"none",className:"react-flow__connection-path",style:t})};ta.displayName="ConnectionLine";let ti={};function ts(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ti;(0,r.useRef)(e),p(),(0,r.useEffect)(()=>{},[e])}function td(e){let{nodeTypes:t,edgeTypes:n,onInit:o,onNodeClick:a,onEdgeClick:i,onNodeDoubleClick:s,onEdgeDoubleClick:d,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:g,onNodeContextMenu:h,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:y,connectionLineType:b,connectionLineStyle:x,connectionLineComponent:S,connectionLineContainerStyle:w,selectionKeyCode:C,selectionOnDrag:E,selectionMode:N,multiSelectionKeyCode:k,panActivationKeyCode:M,zoomActivationKeyCode:P,deleteKeyCode:D,onlyRenderVisibleElements:j,elementsSelectable:A,defaultViewport:_,translateExtent:I,minZoom:O,maxZoom:R,preventScrolling:L,defaultMarkerColor:z,zoomOnScroll:B,zoomOnPinch:V,panOnScroll:H,panOnScrollSpeed:T,panOnScrollMode:F,zoomOnDoubleClick:Z,panOnDrag:X,onPaneClick:K,onPaneMouseEnter:W,onPaneMouseMove:Y,onPaneMouseLeave:Q,onPaneScroll:U,onPaneContextMenu:G,paneClickDistance:q,nodeClickDistance:$,onEdgeContextMenu:J,onEdgeMouseEnter:et,onEdgeMouseMove:en,onEdgeMouseLeave:eo,reconnectRadius:el,onReconnect:er,onReconnectStart:ea,onReconnectEnd:ei,noDragClassName:es,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef,viewport:ep,onViewportChange:eh}=e;ts(t),ts(n),p(),(0,r.useRef)(!1),(0,r.useEffect)(()=>{},[]);let em=ee(),ev=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{!ev.current&&em.viewportInitialized&&o&&(setTimeout(()=>o(em),1),ev.current=!0)},[o,em.viewportInitialized]),!function(e){let t=f(tn),n=p();(0,r.useEffect)(()=>{e&&(null==t||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t])}(ep),(0,l.jsx)(eN,{onPaneClick:K,onPaneMouseEnter:W,onPaneMouseMove:Y,onPaneMouseLeave:Q,onPaneContextMenu:G,onPaneScroll:U,paneClickDistance:q,deleteKeyCode:D,selectionKeyCode:C,selectionOnDrag:E,selectionMode:N,onSelectionStart:v,onSelectionEnd:y,multiSelectionKeyCode:k,panActivationKeyCode:M,zoomActivationKeyCode:P,elementsSelectable:A,zoomOnScroll:B,zoomOnPinch:V,zoomOnDoubleClick:Z,panOnScroll:H,panOnScrollSpeed:T,panOnScrollMode:F,panOnDrag:X,defaultViewport:_,translateExtent:I,minZoom:O,maxZoom:R,onSelectionContextMenu:m,preventScrolling:L,noDragClassName:es,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,onViewportChange:eh,isControlledViewport:!!ep,children:(0,l.jsxs)(tt,{children:[(0,l.jsx)(e9,{edgeTypes:n,onEdgeClick:i,onEdgeDoubleClick:d,onReconnect:er,onReconnectStart:ea,onReconnectEnd:ei,onlyRenderVisibleElements:j,onEdgeContextMenu:J,onEdgeMouseEnter:et,onEdgeMouseMove:en,onEdgeMouseLeave:eo,reconnectRadius:el,defaultMarkerColor:z,noPanClassName:ec,disableKeyboardA11y:eu,rfId:ef}),(0,l.jsx)(tr,{style:x,type:b,component:S,containerStyle:w}),(0,l.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,l.jsx)(ej,{nodeTypes:t,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:g,onNodeContextMenu:h,nodeClickDistance:$,onlyRenderVisibleElements:j,noPanClassName:ec,noDragClassName:es,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef}),(0,l.jsx)("div",{className:"react-flow__viewport-portal"})]})})}td.displayName="GraphView";let tc=(0,r.memo)(td),tu=function(){var e,t,n;let{nodes:o,edges:l,defaultNodes:r,defaultEdges:a,width:s,height:d,fitView:c,fitViewOptions:u,minZoom:g=.5,maxZoom:f=2,nodeOrigin:p,nodeExtent:h,zIndexMode:m="basic"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},v=new Map,y=new Map,b=new Map,x=new Map,S=null!=(e=null!=a?a:l)?e:[],w=null!=(t=null!=r?r:o)?t:[],C=null!=p?p:[0,0],E=null!=h?h:i.ZO;(0,i.qn)(b,x,S);let{nodesInitialized:N}=(0,i.bi)(w,v,y,{nodeOrigin:C,nodeExtent:E,zIndexMode:m}),k=[0,0,1];if(c&&s&&d){let e=(0,i.aZ)(v,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),{x:t,y:o,zoom:l}=(0,i.R4)(e,s,d,g,f,null!=(n=null==u?void 0:u.padding)?n:.1);k=[t,o,l]}return{rfId:"1",width:null!=s?s:0,height:null!=d?d:0,transform:k,nodes:w,nodesInitialized:N,nodeLookup:v,parentLookup:y,edges:S,edgeLookup:x,connectionLookup:b,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==r,hasDefaultEdges:void 0!==a,panZoom:null,minZoom:g,maxZoom:f,translateExtent:i.ZO,nodeExtent:E,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:i.WZ.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:null!=c&&c,fitViewOptions:u,fitViewResolver:null,connection:{...i.bK},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:i.KE,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:i.tM,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function tg(e){let{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:a,initialWidth:d,initialHeight:c,initialMinZoom:g,initialMaxZoom:f,initialFitViewOptions:p,fitView:h,nodeOrigin:m,nodeExtent:v,zIndexMode:y,children:b}=e,[x]=(0,r.useState)(()=>(e=>{let{nodes:t,edges:n,defaultNodes:o,defaultEdges:l,width:r,height:a,fitView:d,fitViewOptions:c,minZoom:u,maxZoom:g,nodeOrigin:f,nodeExtent:p,zIndexMode:h}=e;return(0,s.h)((e,s)=>{async function m(){let{nodeLookup:t,panZoom:n,fitViewOptions:o,fitViewResolver:l,width:r,height:a,minZoom:d,maxZoom:c}=s();n&&(await (0,i.IO)({nodes:t,width:r,height:a,panZoom:n,minZoom:d,maxZoom:c},o),null==l||l.resolve(!0),e({fitViewResolver:null}))}return{...tu({nodes:t,edges:n,width:r,height:a,fitView:d,fitViewOptions:c,minZoom:u,maxZoom:g,nodeOrigin:f,nodeExtent:p,defaultNodes:o,defaultEdges:l,zIndexMode:h}),setNodes:t=>{let{nodeLookup:n,parentLookup:o,nodeOrigin:l,elevateNodesOnSelect:r,fitViewQueued:a,zIndexMode:d,nodesSelectionActive:c}=s(),{nodesInitialized:u,hasSelectedNodes:g}=(0,i.bi)(t,n,o,{nodeOrigin:l,nodeExtent:p,elevateNodesOnSelect:r,checkEquality:!0,zIndexMode:d}),f=c&&g;a&&u?(m(),e({nodes:t,nodesInitialized:u,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:f})):e({nodes:t,nodesInitialized:u,nodesSelectionActive:f})},setEdges:t=>{let{connectionLookup:n,edgeLookup:o}=s();(0,i.qn)(n,o,t),e({edges:t})},setDefaultNodesAndEdges:(t,n)=>{if(t){let{setNodes:n}=s();n(t),e({hasDefaultNodes:!0})}if(n){let{setEdges:t}=s();t(n),e({hasDefaultEdges:!0})}},updateNodeInternals:t=>{let{triggerNodeChanges:n,nodeLookup:o,parentLookup:l,domNode:r,nodeOrigin:a,nodeExtent:d,debug:c,fitViewQueued:u,zIndexMode:g}=s(),{changes:f,updatedInternals:p}=(0,i.uL)(t,o,l,r,a,d,g);p&&((0,i.vS)(o,l,{nodeOrigin:a,nodeExtent:d,zIndexMode:g}),u?(m(),e({fitViewQueued:!1,fitViewOptions:void 0})):e({}),(null==f?void 0:f.length)>0&&(c&&console.log("React Flow: trigger node changes",f),null==n||n(f)))},updateNodePositions:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],o=[],{nodeLookup:l,triggerNodeChanges:r,connection:a,updateConnection:d,onNodesChangeMiddlewareMap:c}=s();for(let[r,s]of e){let e=l.get(r),c=!!((null==e?void 0:e.expandParent)&&(null==e?void 0:e.parentId)&&(null==s?void 0:s.position)),f={id:r,type:"position",position:c?{x:Math.max(0,s.position.x),y:Math.max(0,s.position.y)}:s.position,dragging:t};if(e&&a.inProgress&&a.fromNode.id===e.id){let t=(0,i.M_)(e,a.fromHandle,i.yX.Left,!0);d({...a,from:t})}if(c&&e.parentId){var u,g;n.push({id:r,parentId:e.parentId,rect:{...s.internals.positionAbsolute,width:null!=(u=s.measured.width)?u:0,height:null!=(g=s.measured.height)?g:0}})}o.push(f)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=s(),r=(0,i.r8)(n,l,e,t);o.push(...r)}for(let e of c.values())o=e(o);r(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:l,debug:r}=s();(null==e?void 0:e.length)&&(l&&n(Z(e,o)),r&&console.log("React Flow: trigger node changes",e),null==t||t(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:l,debug:r}=s();(null==e?void 0:e.length)&&(l&&n(Z(e,o)),r&&console.log("React Flow: trigger edge changes",e),null==t||t(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:l,triggerEdgeChanges:r}=s();if(t)return void l(e.map(e=>X(e,!0)));l(K(o,new Set([...e]),!0)),r(K(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:l,triggerEdgeChanges:r}=s();if(t)return void r(e.map(e=>X(e,!0)));r(K(n,new Set([...e]))),l(K(o,new Set,!0))},unselectNodesAndEdges:function(){let{nodes:e,edges:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{edges:n,nodes:o,nodeLookup:l,triggerNodeChanges:r,triggerEdgeChanges:a}=s(),i=[];for(let t of e||o){if(!t.selected)continue;let e=l.get(t.id);e&&(e.selected=!1),i.push(X(t.id,!1))}let d=[];for(let e of t||n)e.selected&&d.push(X(e.id,!1));r(i),a(d)},setMinZoom:t=>{let{panZoom:n,maxZoom:o}=s();null==n||n.setScaleExtent([t,o]),e({minZoom:t})},setMaxZoom:t=>{let{panZoom:n,minZoom:o}=s();null==n||n.setScaleExtent([o,t]),e({maxZoom:t})},setTranslateExtent:t=>{var n;null==(n=s().panZoom)||n.setTranslateExtent(t),e({translateExtent:t})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:l}=s();if(!l)return;let r=t.reduce((e,t)=>t.selected?[...e,X(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,X(t.id,!1)]:e,[]);n(r),o(a)},setNodeExtent:t=>{let{nodes:n,nodeLookup:o,parentLookup:l,nodeOrigin:r,elevateNodesOnSelect:a,nodeExtent:d,zIndexMode:c}=s();(t[0][0]!==d[0][0]||t[0][1]!==d[0][1]||t[1][0]!==d[1][0]||t[1][1]!==d[1][1])&&((0,i.bi)(n,o,l,{nodeOrigin:r,nodeExtent:t,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:c}),e({nodeExtent:t}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:l,translateExtent:r}=s();return(0,i.No)({delta:e,panZoom:l,transform:t,translateExtent:r,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:l,maxZoom:r,panZoom:a}=s();if(!a)return Promise.resolve(!1);let i=void 0!==(null==n?void 0:n.zoom)?n.zoom:r;return await a.setViewport({x:o/2-e*i,y:l/2-t*i,zoom:i},{duration:null==n?void 0:n.duration,ease:null==n?void 0:n.ease,interpolate:null==n?void 0:n.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{e({connection:{...i.bK}})},updateConnection:t=>{e({connection:t})},reset:()=>e({...tu()})}},Object.is)})({nodes:t,edges:n,defaultNodes:o,defaultEdges:a,width:d,height:c,fitView:h,minZoom:g,maxZoom:f,fitViewOptions:p,nodeOrigin:m,nodeExtent:v,zIndexMode:y}));return(0,l.jsx)(u,{value:x,children:(0,l.jsx)($,{children:b})})}function tf(e){let{children:t,nodes:n,edges:o,defaultNodes:a,defaultEdges:i,width:s,height:d,fitView:u,fitViewOptions:g,minZoom:f,maxZoom:p,nodeOrigin:h,nodeExtent:m,zIndexMode:v}=e;return(0,r.useContext)(c)?(0,l.jsx)(l.Fragment,{children:t}):(0,l.jsx)(tg,{initialNodes:n,initialEdges:o,defaultNodes:a,defaultEdges:i,initialWidth:s,initialHeight:d,fitView:u,initialFitViewOptions:g,initialMinZoom:f,initialMaxZoom:p,nodeOrigin:h,nodeExtent:m,zIndexMode:v,children:t})}let tp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var th=U(function(e,t){let{nodes:n,edges:o,defaultNodes:s,defaultEdges:d,className:c,nodeTypes:u,edgeTypes:g,onNodeClick:f,onEdgeClick:p,onInit:h,onMove:m,onMoveStart:v,onMoveEnd:y,onConnect:b,onConnectStart:x,onConnectEnd:S,onClickConnectStart:C,onClickConnectEnd:N,onNodeMouseEnter:k,onNodeMouseMove:M,onNodeMouseLeave:P,onNodeContextMenu:D,onNodeDoubleClick:A,onNodeDragStart:O,onNodeDrag:R,onNodeDragStop:L,onNodesDelete:V,onEdgesDelete:H,onDelete:T,onSelectionChange:F,onSelectionDragStart:Z,onSelectionDrag:X,onSelectionDragStop:K,onSelectionContextMenu:W,onSelectionStart:Y,onSelectionEnd:Q,onBeforeDelete:U,connectionMode:G,connectionLineType:q=i.Do.Bezier,connectionLineStyle:$,connectionLineComponent:J,connectionLineContainerStyle:ee,deleteKeyCode:et="Backspace",selectionKeyCode:en="Shift",selectionOnDrag:eo=!1,selectionMode:el=i.Qc.Full,panActivationKeyCode:er="Space",multiSelectionKeyCode:ea=(0,i.Ue)()?"Meta":"Control",zoomActivationKeyCode:ei=(0,i.Ue)()?"Meta":"Control",snapToGrid:es,snapGrid:ed,onlyRenderVisibleElements:ec=!1,selectNodesOnDrag:eu,nodesDraggable:eg,autoPanOnNodeFocus:ef,nodesConnectable:ep,nodesFocusable:eh,nodeOrigin:em=_,edgesFocusable:ev,edgesReconnectable:ey,elementsSelectable:eb=!0,defaultViewport:ex=I,minZoom:eS=.5,maxZoom:ew=2,translateExtent:eC=i.ZO,preventScrolling:eE=!0,nodeExtent:eN,defaultMarkerColor:ek="#b1b1b7",zoomOnScroll:eM=!0,zoomOnPinch:eP=!0,panOnScroll:eD=!1,panOnScrollSpeed:ej=.5,panOnScrollMode:eA=i.ny.Free,zoomOnDoubleClick:e_=!0,panOnDrag:eI=!0,onPaneClick:eO,onPaneMouseEnter:eR,onPaneMouseMove:eL,onPaneMouseLeave:ez,onPaneScroll:eB,onPaneContextMenu:eV,paneClickDistance:eH=1,nodeClickDistance:eT=0,children:eF,onReconnect:eZ,onReconnectStart:eX,onReconnectEnd:eK,onEdgeContextMenu:eW,onEdgeDoubleClick:eY,onEdgeMouseEnter:eQ,onEdgeMouseMove:eU,onEdgeMouseLeave:eG,reconnectRadius:eq=10,onNodesChange:e$,onEdgesChange:eJ,noDragClassName:e0="nodrag",noWheelClassName:e1="nowheel",noPanClassName:e3="nopan",fitView:e2,fitViewOptions:e4,connectOnClick:e5,attributionPosition:e6,proOptions:e7,defaultEdgeOptions:e8,elevateNodesOnSelect:e9=!0,elevateEdgesOnSelect:te=!1,disableKeyboardA11y:tt=!1,autoPanOnConnect:tn,autoPanOnNodeDrag:to,autoPanSpeed:tl,connectionRadius:tr,isValidConnection:ta,onError:ti,style:ts,id:td,nodeDragThreshold:tu,connectionDragThreshold:tg,viewport:th,onViewportChange:tm,width:tv,height:ty,colorMode:tb="light",debug:tx,onScroll:tS,ariaLabelConfig:tw,zIndexMode:tC="basic",...tE}=e,tN=td||"1",tk=function(e){var t;let[n,o]=(0,r.useState)("system"===e?null:e);return(0,r.useEffect)(()=>{if("system"!==e)return void o(e);let t=B(),n=()=>o((null==t?void 0:t.matches)?"dark":"light");return n(),null==t||t.addEventListener("change",n),()=>{null==t||t.removeEventListener("change",n)}},[e]),null!==n?n:(null==(t=B())?void 0:t.matches)?"dark":"light"}(tb),tM=(0,r.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),null==tS||tS(e)},[tS]);return(0,l.jsx)("div",{"data-testid":"rf__wrapper",...tE,onScroll:tM,style:{...ts,...tp},ref:t,className:(0,a.A)(["react-flow",c,tk]),id:td,role:"application",children:(0,l.jsxs)(tf,{nodes:n,edges:o,width:tv,height:ty,fitView:e2,fitViewOptions:e4,minZoom:eS,maxZoom:ew,nodeOrigin:em,nodeExtent:eN,zIndexMode:tC,children:[(0,l.jsx)(z,{nodes:n,edges:o,defaultNodes:s,defaultEdges:d,onConnect:b,onConnectStart:x,onConnectEnd:S,onClickConnectStart:C,onClickConnectEnd:N,nodesDraggable:eg,autoPanOnNodeFocus:ef,nodesConnectable:ep,nodesFocusable:eh,edgesFocusable:ev,edgesReconnectable:ey,elementsSelectable:eb,elevateNodesOnSelect:e9,elevateEdgesOnSelect:te,minZoom:eS,maxZoom:ew,nodeExtent:eN,onNodesChange:e$,onEdgesChange:eJ,snapToGrid:es,snapGrid:ed,connectionMode:G,translateExtent:eC,connectOnClick:e5,defaultEdgeOptions:e8,fitView:e2,fitViewOptions:e4,onNodesDelete:V,onEdgesDelete:H,onDelete:T,onNodeDragStart:O,onNodeDrag:R,onNodeDragStop:L,onSelectionDrag:X,onSelectionDragStart:Z,onSelectionDragStop:K,onMove:m,onMoveStart:v,onMoveEnd:y,noPanClassName:e3,nodeOrigin:em,rfId:tN,autoPanOnConnect:tn,autoPanOnNodeDrag:to,autoPanSpeed:tl,onError:ti,connectionRadius:tr,isValidConnection:ta,selectNodesOnDrag:eu,nodeDragThreshold:tu,connectionDragThreshold:tg,onBeforeDelete:U,debug:tx,ariaLabelConfig:tw,zIndexMode:tC}),(0,l.jsx)(tc,{onInit:h,onNodeClick:f,onEdgeClick:p,onNodeMouseEnter:k,onNodeMouseMove:M,onNodeMouseLeave:P,onNodeContextMenu:D,onNodeDoubleClick:A,nodeTypes:u,edgeTypes:g,connectionLineType:q,connectionLineStyle:$,connectionLineComponent:J,connectionLineContainerStyle:ee,selectionKeyCode:en,selectionOnDrag:eo,selectionMode:el,deleteKeyCode:et,multiSelectionKeyCode:ea,panActivationKeyCode:er,zoomActivationKeyCode:ei,onlyRenderVisibleElements:ec,defaultViewport:ex,translateExtent:eC,minZoom:eS,maxZoom:ew,preventScrolling:eE,zoomOnScroll:eM,zoomOnPinch:eP,zoomOnDoubleClick:e_,panOnScroll:eD,panOnScrollSpeed:ej,panOnScrollMode:eA,panOnDrag:eI,onPaneClick:eO,onPaneMouseEnter:eR,onPaneMouseMove:eL,onPaneMouseLeave:ez,onPaneScroll:eB,onPaneContextMenu:eV,paneClickDistance:eH,nodeClickDistance:eT,onSelectionContextMenu:W,onSelectionStart:Y,onSelectionEnd:Q,onReconnect:eZ,onReconnectStart:eX,onReconnectEnd:eK,onEdgeContextMenu:eW,onEdgeDoubleClick:eY,onEdgeMouseEnter:eQ,onEdgeMouseMove:eU,onEdgeMouseLeave:eG,reconnectRadius:eq,defaultMarkerColor:ek,noDragClassName:e0,noWheelClassName:e1,noPanClassName:e3,rfId:tN,disableKeyboardA11y:tt,nodeExtent:eN,viewport:th,onViewportChange:tm}),(0,l.jsx)(j,{onSelectionChange:F}),eF,(0,l.jsx)(E,{proOptions:e7,position:e6}),(0,l.jsx)(w,{rfId:tN,disableKeyboardA11y:tt})]})})});function tm(e){let{dimensions:t,lineWidth:n,variant:o,className:r}=e;return(0,l.jsx)("path",{strokeWidth:n,d:"M".concat(t[0]/2," 0 V").concat(t[1]," M0 ").concat(t[1]/2," H").concat(t[0]),className:(0,a.A)(["react-flow__background-pattern",o,r])})}function tv(e){let{radius:t,className:n}=e;return(0,l.jsx)("circle",{cx:t,cy:t,r:t,className:(0,a.A)(["react-flow__background-pattern","dots",n])})}i.xc.error014(),function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(o||(o={}));let ty={[o.Dots]:1,[o.Lines]:1,[o.Cross]:6},tb=e=>({transform:e.transform,patternId:"pattern-".concat(e.rfId)});function tx(e){let{id:t,variant:n=o.Dots,gap:i=20,size:s,lineWidth:c=1,offset:u=0,color:g,bgColor:p,style:h,className:m,patternClassName:v}=e,y=(0,r.useRef)(null),{transform:b,patternId:x}=f(tb,d.x),S=s||ty[n],w=n===o.Dots,C=n===o.Cross,E=Array.isArray(i)?i:[i,i],N=[E[0]*b[2]||1,E[1]*b[2]||1],k=S*b[2],M=Array.isArray(u)?u:[u,u],P=C?[k,k]:N,D=[M[0]*b[2]||1+P[0]/2,M[1]*b[2]||1+P[1]/2],j="".concat(x).concat(t||"");return(0,l.jsxs)("svg",{className:(0,a.A)(["react-flow__background",m]),style:{...h,...eo,"--xy-background-color-props":p,"--xy-background-pattern-color-props":g},ref:y,"data-testid":"rf__background",children:[(0,l.jsx)("pattern",{id:j,x:b[0]%N[0],y:b[1]%N[1],width:N[0],height:N[1],patternUnits:"userSpaceOnUse",patternTransform:"translate(-".concat(D[0],",-").concat(D[1],")"),children:w?(0,l.jsx)(tv,{radius:k/2,className:v}):(0,l.jsx)(tm,{dimensions:P,lineWidth:c,variant:n,className:v})}),(0,l.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:"url(#".concat(j,")")})]})}tx.displayName="Background";let tS=(0,r.memo)(tx);function tw(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,l.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function tC(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,l.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function tE(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,l.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function tN(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,l.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function tk(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,l.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function tM(e){let{children:t,className:n,...o}=e;return(0,l.jsx)("button",{type:"button",className:(0,a.A)(["react-flow__controls-button",n]),...o,children:t})}let tP=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function tD(e){let{style:t,showZoom:n=!0,showFitView:o=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:s,onZoomOut:c,onFitView:u,onInteractiveChange:g,className:h,children:m,position:v="bottom-left",orientation:y="vertical","aria-label":b}=e,x=p(),{isInteractive:S,minZoomReached:w,maxZoomReached:E,ariaLabelConfig:N}=f(tP,d.x),{zoomIn:k,zoomOut:M,fitView:P}=ee();return(0,l.jsxs)(C,{className:(0,a.A)(["react-flow__controls","horizontal"===y?"horizontal":"vertical",h]),position:v,style:t,"data-testid":"rf__controls","aria-label":null!=b?b:N["controls.ariaLabel"],children:[n&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(tM,{onClick:()=>{k(),null==s||s()},className:"react-flow__controls-zoomin",title:N["controls.zoomIn.ariaLabel"],"aria-label":N["controls.zoomIn.ariaLabel"],disabled:E,children:(0,l.jsx)(tw,{})}),(0,l.jsx)(tM,{onClick:()=>{M(),null==c||c()},className:"react-flow__controls-zoomout",title:N["controls.zoomOut.ariaLabel"],"aria-label":N["controls.zoomOut.ariaLabel"],disabled:w,children:(0,l.jsx)(tC,{})})]}),o&&(0,l.jsx)(tM,{className:"react-flow__controls-fitview",onClick:()=>{P(i),null==u||u()},title:N["controls.fitView.ariaLabel"],"aria-label":N["controls.fitView.ariaLabel"],children:(0,l.jsx)(tE,{})}),r&&(0,l.jsx)(tM,{className:"react-flow__controls-interactive",onClick:()=>{x.setState({nodesDraggable:!S,nodesConnectable:!S,elementsSelectable:!S}),null==g||g(!S)},title:N["controls.interactive.ariaLabel"],"aria-label":N["controls.interactive.ariaLabel"],children:S?(0,l.jsx)(tk,{}):(0,l.jsx)(tN,{})}),m]})}tD.displayName="Controls";let tj=(0,r.memo)(tD),tA=(0,r.memo)(function(e){let{id:t,x:n,y:o,width:r,height:i,style:s,color:d,strokeColor:c,strokeWidth:u,className:g,borderRadius:f,shapeRendering:p,selected:h,onClick:m}=e,{background:v,backgroundColor:y}=s||{};return(0,l.jsx)("rect",{className:(0,a.A)(["react-flow__minimap-node",{selected:h},g]),x:n,y:o,rx:f,ry:f,width:r,height:i,style:{fill:d||v||y,stroke:c,strokeWidth:u},shapeRendering:p,onClick:m?e=>m(e,t):void 0})}),t_=e=>e.nodes.map(e=>e.id),tI=e=>e instanceof Function?e:()=>e,tO=(0,r.memo)(function(e){let{id:t,nodeColorFunc:n,nodeStrokeColorFunc:o,nodeClassNameFunc:r,nodeBorderRadius:a,nodeStrokeWidth:s,shapeRendering:c,NodeComponent:u,onClick:g}=e,{node:p,x:h,y:m,width:v,height:y}=f(e=>{let n=e.nodeLookup.get(t);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let o=n.internals.userNode,{x:l,y:r}=n.internals.positionAbsolute,{width:a,height:s}=(0,i.uD)(o);return{node:o,x:l,y:r,width:a,height:s}},d.x);return p&&!p.hidden&&(0,i.QE)(p)?(0,l.jsx)(u,{x:h,y:m,width:v,height:y,style:p.style,selected:!!p.selected,className:r(p),color:n(p),borderRadius:a,strokeColor:o(p),strokeWidth:s,shapeRendering:c,onClick:g,id:p.id}):null});i.xN.Line,i.xN.Handle}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3787,6815,9492],{27559:()=>{}},_=>{_.O(0,[2367,6725,7358],()=>_(_.s=27559)),_N_E=_.O()}]);