elanous 0.2.18 → 0.2.19

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 (404) hide show
  1. package/apps/pwa/out/404/index.html +1 -1
  2. package/apps/pwa/out/404.html +1 -1
  3. package/apps/pwa/out/_next/static/{P6YTVgzuZz5oTZhY4Din_ → J5H7BvqgSI8DUjtRRcA_S}/_buildManifest.js +1 -1
  4. package/apps/pwa/out/_next/static/chunks/1105-c473ed46272fba79.js +1 -0
  5. package/apps/pwa/out/_next/static/chunks/1157-cba0e8553d35a980.js +1 -0
  6. package/apps/pwa/out/_next/static/chunks/{726.83532d69452ee24b.js → 1470.98a6ab61ccb4131c.js} +1 -1
  7. package/apps/pwa/out/_next/static/chunks/171-23a877ed11720de9.js +1 -0
  8. package/apps/pwa/out/_next/static/chunks/216-5acd01cbde4acda7.js +1 -0
  9. package/apps/pwa/out/_next/static/chunks/2330-c2f07246c8788af1.js +1 -0
  10. package/apps/pwa/out/_next/static/chunks/2336-e830c777eb6bce04.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/{9247-269e4464cc4b491c.js → 2375-e061bb24cd2b5cde.js} +1 -1
  12. package/apps/pwa/out/_next/static/chunks/2415.ed6428ff334c7ce2.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/{211-9c9090c59e2c5907.js → 2977-e38442e86289f1d3.js} +1 -1
  14. package/apps/pwa/out/_next/static/chunks/{f6b7c9ba.64a895b8b2fedbdc.js → 2ea96958.e8c7e112de50b067.js} +1 -1
  15. package/apps/pwa/out/_next/static/chunks/3094.67339318c7f72a3a.js +2 -0
  16. package/apps/pwa/out/_next/static/chunks/338-ceb956612dcfaa86.js +1 -0
  17. package/apps/pwa/out/_next/static/chunks/3395-835e4ceaa6335ba4.js +1 -0
  18. package/apps/pwa/out/_next/static/chunks/3403.4bc97b4066945a94.js +5 -0
  19. package/apps/pwa/out/_next/static/chunks/3441-be82e3595aef3a20.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/3689-89905039bf3e7257.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/371-4ad6af55dad02ced.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/3822-6f268bc26c6a84ac.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/4114-3e63117452378807.js +1 -0
  24. package/apps/pwa/out/_next/static/chunks/{1268.0840ff91e083fcbd.js → 4323.c5dfb6f503304775.js} +1 -1
  25. package/apps/pwa/out/_next/static/chunks/4457-d7df81c90f9d0268.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/4551-77dadae76f6cbace.js +1 -0
  27. package/apps/pwa/out/_next/static/chunks/{6110.1297d4093fdfbb0d.js → 4847.56f5bc454fbcc827.js} +2 -2
  28. package/apps/pwa/out/_next/static/chunks/4978.6fd93b974441e87f.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/5012-f746f6549b869f91.js +1 -0
  30. package/apps/pwa/out/_next/static/chunks/5609-012bb3557211f07e.js +1 -0
  31. package/apps/pwa/out/_next/static/chunks/5791-bb82743fa6299562.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/{7327-2d69fb321ba73389.js → 6062-73e68343a9814f6a.js} +1 -1
  33. package/apps/pwa/out/_next/static/chunks/62-5bfed1e23790b745.js +1 -0
  34. package/apps/pwa/out/_next/static/chunks/6320-9bc8561fde416e07.js +1 -0
  35. package/apps/pwa/out/_next/static/chunks/649-ca96d1c5d09e02b8.js +1 -0
  36. package/apps/pwa/out/_next/static/chunks/6725-68ab7cc0b1faf00d.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/6726-85a7db59b288c53f.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/6735-33267c4630d0d963.js +1 -0
  39. package/apps/pwa/out/_next/static/chunks/6998-a654fe5c58271600.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/7633-141682015873beb6.js +1 -0
  41. package/apps/pwa/out/_next/static/chunks/{935.4ddaa99fc1d1126c.js → 7647.2fcd30d894d5ee30.js} +1 -1
  42. package/apps/pwa/out/_next/static/chunks/7673-2eda1507d38dadb8.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/7990-e12efba616f46e03.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/{f6231284-45726550aba08fca.js → 8046cadf-211ca3c0e00f2b72.js} +1 -1
  45. package/apps/pwa/out/_next/static/chunks/8067-143791231c99bd02.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/8142-744998d65d7bb17e.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/8430-a10cfba8ef282d4e.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/8870-9614a213b990b10b.js +25 -0
  49. package/apps/pwa/out/_next/static/chunks/920-f7dceb78f1c585ef.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/9454-12c2f30dea62291c.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/976-4a9b4ebdca7c739a.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/9989-15cdf568bafa9fc8.js +1 -0
  53. package/apps/pwa/out/_next/static/chunks/ae787e4c-e5b1ef00b2dbceca.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-859cea1570b6227a.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/app/approvals/page-deef5ee191830f14.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-b193da485f9a14b2.js +1 -0
  57. package/apps/pwa/out/_next/static/chunks/app/board/page-b6e1a79df0e214f4.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/app/botlab/page-e84df4d907f703c7.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/app/bots/page-a5fb9a5db89ae4ea.js +1 -0
  60. package/apps/pwa/out/_next/static/chunks/app/ceo/page-1499f481d7fc52d6.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/app/chat/page-c7cf753aeb648790.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/app/consult/page-4118469e514e10fd.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/app/control/page-e968f7630654332a.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/app/decisions/page-505915052f947022.js +1 -0
  65. package/apps/pwa/out/_next/static/chunks/app/design-check/page-c2f962fb4a3b06c6.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/app/editor/page-7b5ed0bd8a589ec4.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/app/exec/page-cf8193250dd42dd4.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/app/field/page-cf3f5dfa35dea8e9.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/app/healthz/route-859cea1570b6227a.js +1 -0
  70. package/apps/pwa/out/_next/static/chunks/app/inside/page-5b29d9b06ceadade.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/app/intake/page-a15e7fcc283e9ca7.js +1 -0
  72. package/apps/pwa/out/_next/static/chunks/app/layout-d2915e7b70ff3d0e.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/app/live/page-b70cd005d9169e25.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/app/loops/page-2595f0eba29f57e1.js +1 -0
  75. package/apps/pwa/out/_next/static/chunks/app/market/page-c776322454156e36.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-77bbd17f4435aa10.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/app/morning/page-049689e611ecc936.js +1 -0
  78. package/apps/pwa/out/_next/static/chunks/app/not-found-85954a4fb09c44eb.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/app/observatory/page-e773e552e1068ee6.js +1 -0
  80. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-5633c4bfa7684b4a.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-d829b92bd01b4994.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-061c317fc771becf.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/app/outputs/page-3a45ece8865ed4b6.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/app/page-0be990618c0d56bd.js +1 -0
  85. package/apps/pwa/out/_next/static/chunks/app/reflection/page-bfea4865dc244b73.js +1 -0
  86. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-0d6ba8e337741484.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/app/sessions/page-76a88b55d816482e.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-bba1542df59f61ce.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/app/settings/page-4185c95689bb372e.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-b699e1a8d5d34b8b.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/app/setup/layout-859cea1570b6227a.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/app/setup/page-c225e338c31bf274.js +1 -0
  93. package/apps/pwa/out/_next/static/chunks/app/share/page-449353f70507ca1f.js +1 -0
  94. package/apps/pwa/out/_next/static/chunks/app/showroom/page-90b889714102476d.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/app/tasks/page-f1ee7fbeb7f96ddc.js +1 -0
  96. package/apps/pwa/out/_next/static/chunks/app/term/page-d59a95e1434dfaa0.js +1 -0
  97. package/apps/pwa/out/_next/static/chunks/app/today/page-71491a23414d1a47.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/app/trace/page-de7112bdb65fa4fe.js +1 -0
  99. package/apps/pwa/out/_next/static/chunks/app/vault/page-feb4d0d88079660d.js +1 -0
  100. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-f17d887b40dd6b1d.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/app/workflows/page-8da77be2192bcd5d.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/app/workspace/page-72c3b9a5e9582b29.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-c3afe4c8d0c48c39.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/framework-ea806bb57f2b8923.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/main-8d2302399c2c8f87.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/main-app-b9308f2d8a931531.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/pages/_app-b10928c60f0b8488.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/pages/_error-689039227d443fab.js +1 -0
  109. package/apps/pwa/out/_next/static/chunks/webpack-6f35f9d892fa630b.js +1 -0
  110. package/apps/pwa/out/_next/static/css/{e99e3cff94ced78a.css → 599369d853c61df7.css} +1 -1
  111. package/apps/pwa/out/_next/static/css/85f53c6f35d11382.css +1 -0
  112. package/apps/pwa/out/_next/static/css/d3427996da11e480.css +1 -0
  113. package/apps/pwa/out/approvals/index.html +1 -1
  114. package/apps/pwa/out/approvals/index.txt +23 -23
  115. package/apps/pwa/out/autopilot/index.html +1 -1
  116. package/apps/pwa/out/autopilot/index.txt +23 -23
  117. package/apps/pwa/out/board/index.html +1 -1
  118. package/apps/pwa/out/board/index.txt +23 -23
  119. package/apps/pwa/out/botlab/index.html +1 -1
  120. package/apps/pwa/out/botlab/index.txt +22 -22
  121. package/apps/pwa/out/bots/index.html +1 -1
  122. package/apps/pwa/out/bots/index.txt +22 -22
  123. package/apps/pwa/out/ceo/index.html +1 -1
  124. package/apps/pwa/out/ceo/index.txt +23 -23
  125. package/apps/pwa/out/chat/index.html +1 -1
  126. package/apps/pwa/out/chat/index.txt +22 -22
  127. package/apps/pwa/out/consult/index.html +1 -1
  128. package/apps/pwa/out/consult/index.txt +23 -23
  129. package/apps/pwa/out/control/index.html +1 -1
  130. package/apps/pwa/out/control/index.txt +23 -23
  131. package/apps/pwa/out/decisions/index.html +1 -1
  132. package/apps/pwa/out/decisions/index.txt +22 -22
  133. package/apps/pwa/out/design-check/index.html +1 -1
  134. package/apps/pwa/out/design-check/index.txt +23 -23
  135. package/apps/pwa/out/editor/index.html +1 -1
  136. package/apps/pwa/out/editor/index.txt +25 -24
  137. package/apps/pwa/out/exec/index.html +1 -1
  138. package/apps/pwa/out/exec/index.txt +23 -23
  139. package/apps/pwa/out/field/index.html +1 -1
  140. package/apps/pwa/out/field/index.txt +23 -23
  141. package/apps/pwa/out/healthz +1 -1
  142. package/apps/pwa/out/index.html +1 -1
  143. package/apps/pwa/out/index.txt +22 -22
  144. package/apps/pwa/out/inside/index.html +1 -1
  145. package/apps/pwa/out/inside/index.txt +24 -23
  146. package/apps/pwa/out/intake/index.html +1 -1
  147. package/apps/pwa/out/intake/index.txt +23 -23
  148. package/apps/pwa/out/live/index.html +1 -1
  149. package/apps/pwa/out/live/index.txt +23 -23
  150. package/apps/pwa/out/loops/index.html +1 -1
  151. package/apps/pwa/out/loops/index.txt +28 -27
  152. package/apps/pwa/out/market/index.html +1 -1
  153. package/apps/pwa/out/market/index.txt +22 -22
  154. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  155. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  156. package/apps/pwa/out/morning/index.html +1 -1
  157. package/apps/pwa/out/morning/index.txt +23 -23
  158. package/apps/pwa/out/observatory/index.html +1 -1
  159. package/apps/pwa/out/observatory/index.txt +23 -23
  160. package/apps/pwa/out/ops/checklist/index.html +1 -1
  161. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  162. package/apps/pwa/out/ops/release/index.html +1 -1
  163. package/apps/pwa/out/ops/release/index.txt +22 -22
  164. package/apps/pwa/out/ops/seats/index.html +1 -1
  165. package/apps/pwa/out/ops/seats/index.txt +22 -22
  166. package/apps/pwa/out/outputs/index.html +1 -1
  167. package/apps/pwa/out/outputs/index.txt +22 -22
  168. package/apps/pwa/out/reflection/index.html +1 -1
  169. package/apps/pwa/out/reflection/index.txt +23 -23
  170. package/apps/pwa/out/scheduler/index.html +1 -1
  171. package/apps/pwa/out/scheduler/index.txt +23 -23
  172. package/apps/pwa/out/sessions/index.html +1 -1
  173. package/apps/pwa/out/sessions/index.txt +22 -22
  174. package/apps/pwa/out/settings/devices/index.html +1 -1
  175. package/apps/pwa/out/settings/devices/index.txt +23 -23
  176. package/apps/pwa/out/settings/index.html +1 -1
  177. package/apps/pwa/out/settings/index.txt +23 -23
  178. package/apps/pwa/out/setup/done/index.html +1 -1
  179. package/apps/pwa/out/setup/done/index.txt +23 -23
  180. package/apps/pwa/out/setup/index.html +1 -1
  181. package/apps/pwa/out/setup/index.txt +23 -23
  182. package/apps/pwa/out/share/index.html +1 -1
  183. package/apps/pwa/out/share/index.txt +23 -23
  184. package/apps/pwa/out/showroom/index.html +1 -1
  185. package/apps/pwa/out/showroom/index.txt +22 -22
  186. package/apps/pwa/out/tasks/index.html +1 -1
  187. package/apps/pwa/out/tasks/index.txt +23 -23
  188. package/apps/pwa/out/term/index.html +1 -1
  189. package/apps/pwa/out/term/index.txt +23 -23
  190. package/apps/pwa/out/today/index.html +1 -1
  191. package/apps/pwa/out/today/index.txt +23 -23
  192. package/apps/pwa/out/trace/index.html +1 -1
  193. package/apps/pwa/out/trace/index.txt +23 -23
  194. package/apps/pwa/out/vault/index.html +1 -1
  195. package/apps/pwa/out/vault/index.txt +23 -23
  196. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  197. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  198. package/apps/pwa/out/workflows/index.html +1 -1
  199. package/apps/pwa/out/workflows/index.txt +23 -23
  200. package/apps/pwa/out/workspace/index.html +1 -1
  201. package/apps/pwa/out/workspace/index.txt +23 -23
  202. package/apps/pwa/out/worktrees/index.html +1 -1
  203. package/apps/pwa/out/worktrees/index.txt +23 -23
  204. package/graphs/ops/guardian.yaml +26 -0
  205. package/graphs/ops/recipes.yaml +3 -0
  206. package/package.json +1 -1
  207. package/scripts/coord-channel-watch.sh +2 -2
  208. package/scripts/discord-seat-probe.ts +3 -1
  209. package/scripts/lib/pch-regress-map.ts +23 -0
  210. package/scripts/morning-report.ts +18 -4
  211. package/scripts/pch-regress.ts +88 -0
  212. package/scripts/release-loop/gate-diff.ts +18 -0
  213. package/scripts/release-loop/gate-node.ts +338 -46
  214. package/scripts/release-loop/gate-partial.ts +106 -0
  215. package/scripts/release-loop/gate-timing.ts +120 -0
  216. package/scripts/release-loop/resume-release.ts +64 -5
  217. package/scripts/release-loop/shard-plan.ts +65 -0
  218. package/scripts/release-loop/unattended-release.ts +2 -0
  219. package/scripts/video/scene-table.ts +159 -0
  220. package/src/acp/core-turn-bridge.ts +39 -2
  221. package/src/away/presence.ts +40 -0
  222. package/src/away/release-watch.ts +255 -0
  223. package/src/chat/index.ts +2 -1
  224. package/src/chat/short-question.ts +3 -40
  225. package/src/cli/away-cli.ts +68 -0
  226. package/src/cli/guardian-cli.ts +49 -0
  227. package/src/cli/intake-cli.ts +13 -7
  228. package/src/cli/log-event-names.ts +1 -0
  229. package/src/cli/pod-cli.ts +5 -1
  230. package/src/cli/pty-drive-cli.ts +14 -3
  231. package/src/cli/release-cli.ts +32 -7
  232. package/src/cli/setup-cli.ts +31 -1
  233. package/src/cli/tasks-cli.ts +104 -11
  234. package/src/context-bus/context-now-public.ts +1 -1
  235. package/src/context-bus/context-now-surfaces.ts +16 -6
  236. package/src/context-bus/context-now.ts +97 -3
  237. package/src/core-turn/short-question.ts +100 -0
  238. package/src/dashboard/dashboard-status-lines.ts +24 -4
  239. package/src/dashboard/index.ts +50 -5
  240. package/src/dashboard/input/slash-executor.ts +6 -2
  241. package/src/dashboard/slash-runtime/dashboard-handlers.ts +63 -36
  242. package/src/dashboard/slash-runtime/decide-slash.ts +60 -0
  243. package/src/dashboard/slash-runtime/help-from-registry.ts +21 -8
  244. package/src/dashboard/slash-runtime/help-groups.ts +44 -0
  245. package/src/dashboard/slash-runtime/model-choices.ts +125 -0
  246. package/src/domains/guardian-tick.ts +138 -0
  247. package/src/domains/outbound-alert.ts +44 -13
  248. package/src/domains/schedule-registry.ts +23 -0
  249. package/src/domains/telegram-kind-route.ts +39 -0
  250. package/src/domains/watch-default-scheduler.ts +95 -0
  251. package/src/esc-abort-gate.ts +44 -0
  252. package/src/graph-runner/runner.ts +25 -5
  253. package/src/harness/harness-cli-command.ts +2 -0
  254. package/src/harness/harness-salvage-cli.ts +78 -0
  255. package/src/harness/harness-worktree-add.ts +68 -0
  256. package/src/harness/ledger-write-guard.ts +6 -16
  257. package/src/hq/hq.ts +6 -1
  258. package/src/index.ts +52 -3
  259. package/src/instance/test-write-guard-spy-first.fixture.ts +13 -0
  260. package/src/instance/test-write-guard.ts +200 -0
  261. package/src/intake-plane/digest.ts +39 -15
  262. package/src/intake-plane/harness-target.ts +4 -3
  263. package/src/intake-plane/intake-sources.ts +1 -0
  264. package/src/intake-plane/items.ts +1 -0
  265. package/src/loops/orchestrator/degradation.ts +57 -0
  266. package/src/loops/orchestrator/finish-rate.ts +33 -3
  267. package/src/loops/orchestrator/tick.ts +166 -45
  268. package/src/maturity/feature-maturity.ts +6 -4
  269. package/src/maturity/tui-slash-maturity.ts +1 -0
  270. package/src/mss/logging/log-store.ts +3 -0
  271. package/src/nexus/api/http-server.ts +16 -5
  272. package/src/nexus/api/loop-edges.ts +290 -17
  273. package/src/nexus/api/ops-api.ts +96 -28
  274. package/src/nexus/index.ts +7 -0
  275. package/src/release-loop/checklist.ts +2 -0
  276. package/src/release-loop/feature-store.ts +54 -7
  277. package/src/release-loop/light-rc.ts +173 -0
  278. package/src/release-loop/placement.ts +51 -17
  279. package/src/release-loop/rubric.ts +57 -1
  280. package/src/self-dev/dev-cli.ts +36 -0
  281. package/src/self-dev/orchestrate.ts +1 -0
  282. package/src/self-dev/pr-preview.ts +179 -0
  283. package/src/self-dev/shard-run.ts +23 -7
  284. package/src/self-implement/gate-cli.ts +29 -8
  285. package/src/self-implement/goal-author-clarification.ts +88 -13
  286. package/src/self-implement/goal-clarification-escalation.ts +2 -0
  287. package/src/self-implement/orchestrator.ts +2 -1
  288. package/src/self-implement/salvage-branches.ts +254 -0
  289. package/src/task-agent/actions.ts +63 -2
  290. package/src/task-agent/board.ts +132 -0
  291. package/src/task-agent/card-evidence.ts +203 -0
  292. package/src/task-agent/completion-evidence.ts +126 -0
  293. package/src/task-agent/judge.ts +18 -0
  294. package/src/task-agent/live-moves.ts +176 -0
  295. package/src/task-agent/mission.ts +32 -6
  296. package/src/task-agent/shadow.ts +183 -15
  297. package/src/task-agent/task-hand.ts +117 -15
  298. package/src/task-orchestrator/surfaces/pod-command-job.ts +64 -4
  299. package/src/task-orchestrator/surfaces/pod-lease.ts +142 -13
  300. package/src/task-orchestrator/surfaces/pod-pool.ts +13 -5
  301. package/src/task-orchestrator/surfaces/self-implement-pod.ts +2 -2
  302. package/src/telegram-away-command.ts +38 -0
  303. package/src/telegram-commands.ts +11 -0
  304. package/src/telegram-report-log-probe.ts +21 -0
  305. package/src/telegram-report.ts +27 -3
  306. package/src/tui-client/dashboard-session.ts +1 -0
  307. package/src/user-config.ts +134 -2
  308. package/src/version/packed-revision.json +1 -1
  309. package/apps/pwa/out/_next/static/chunks/1307-30dff22c9e1f3073.js +0 -1
  310. package/apps/pwa/out/_next/static/chunks/1826-5d279da64bbbc2de.js +0 -1
  311. package/apps/pwa/out/_next/static/chunks/1844-9ec4b1d12f6e80eb.js +0 -1
  312. package/apps/pwa/out/_next/static/chunks/1866-e7a6999f25548b30.js +0 -1
  313. package/apps/pwa/out/_next/static/chunks/1948.15f356b15a625597.js +0 -5
  314. package/apps/pwa/out/_next/static/chunks/195-fb1d7690bf30bab4.js +0 -1
  315. package/apps/pwa/out/_next/static/chunks/1986-33e13d648a9df765.js +0 -1
  316. package/apps/pwa/out/_next/static/chunks/2196-4700653d12a44b40.js +0 -1
  317. package/apps/pwa/out/_next/static/chunks/224-798346143007ff65.js +0 -1
  318. package/apps/pwa/out/_next/static/chunks/2537-6c289376caa88ca1.js +0 -1
  319. package/apps/pwa/out/_next/static/chunks/2699-325cc923ba7b8631.js +0 -1
  320. package/apps/pwa/out/_next/static/chunks/2957-96ffab3d521fb08f.js +0 -1
  321. package/apps/pwa/out/_next/static/chunks/311.e685738f92e6e2ec.js +0 -1
  322. package/apps/pwa/out/_next/static/chunks/3194-807b212fb8eae065.js +0 -1
  323. package/apps/pwa/out/_next/static/chunks/3324-d1d2979821dfa845.js +0 -1
  324. package/apps/pwa/out/_next/static/chunks/3558-bbb5ab553a0471d3.js +0 -1
  325. package/apps/pwa/out/_next/static/chunks/3857-4f936cdb30322aa6.js +0 -1
  326. package/apps/pwa/out/_next/static/chunks/3916-3d02dd1fc257dd3c.js +0 -1
  327. package/apps/pwa/out/_next/static/chunks/4144-a0041c8dc3be57ac.js +0 -1
  328. package/apps/pwa/out/_next/static/chunks/4554-5761612531d0146b.js +0 -1
  329. package/apps/pwa/out/_next/static/chunks/4565-3d7e3fdeb43686a8.js +0 -1
  330. package/apps/pwa/out/_next/static/chunks/4795-f372490b178583fc.js +0 -1
  331. package/apps/pwa/out/_next/static/chunks/5360-be1f1d8f9fcc9755.js +0 -1
  332. package/apps/pwa/out/_next/static/chunks/5977-a11f37254196b659.js +0 -1
  333. package/apps/pwa/out/_next/static/chunks/5994-ae92c0de046ab9ba.js +0 -1
  334. package/apps/pwa/out/_next/static/chunks/6158.af2e93b7adff709b.js +0 -2
  335. package/apps/pwa/out/_next/static/chunks/6877-74399f69c7da1433.js +0 -1
  336. package/apps/pwa/out/_next/static/chunks/7290-f09c928a06c52e2d.js +0 -1
  337. package/apps/pwa/out/_next/static/chunks/7797-df5aa0381fdc078f.js +0 -1
  338. package/apps/pwa/out/_next/static/chunks/8060-cc008cc6fedfa818.js +0 -1
  339. package/apps/pwa/out/_next/static/chunks/8085-d065d0393c1760f5.js +0 -1
  340. package/apps/pwa/out/_next/static/chunks/8401-8615a660c84cdb03.js +0 -1
  341. package/apps/pwa/out/_next/static/chunks/8682-7061dd4fa7bd62ed.js +0 -1
  342. package/apps/pwa/out/_next/static/chunks/8695-846034ce44852c70.js +0 -1
  343. package/apps/pwa/out/_next/static/chunks/8868-10a3a4440fb0ccd8.js +0 -25
  344. package/apps/pwa/out/_next/static/chunks/9070.067c106528ec1ae6.js +0 -1
  345. package/apps/pwa/out/_next/static/chunks/9103-60fbef33e66f0a46.js +0 -1
  346. package/apps/pwa/out/_next/static/chunks/a9f2b54d-7865aba0f4d2ee49.js +0 -1
  347. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c1a96669158471ec.js +0 -1
  348. package/apps/pwa/out/_next/static/chunks/app/approvals/page-d92f7ee3994e84c7.js +0 -1
  349. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-4733c967b56a4277.js +0 -1
  350. package/apps/pwa/out/_next/static/chunks/app/board/page-d22fd849cc22f104.js +0 -1
  351. package/apps/pwa/out/_next/static/chunks/app/botlab/page-bb742f995c6769e7.js +0 -1
  352. package/apps/pwa/out/_next/static/chunks/app/bots/page-02b073a2ac793b83.js +0 -1
  353. package/apps/pwa/out/_next/static/chunks/app/ceo/page-60c3da708f9a0ccc.js +0 -1
  354. package/apps/pwa/out/_next/static/chunks/app/chat/page-8a9b3594bc23289b.js +0 -1
  355. package/apps/pwa/out/_next/static/chunks/app/consult/page-a0eb02638b1e6f31.js +0 -1
  356. package/apps/pwa/out/_next/static/chunks/app/control/page-308111abadf35670.js +0 -1
  357. package/apps/pwa/out/_next/static/chunks/app/decisions/page-6eaf7bac37830c21.js +0 -1
  358. package/apps/pwa/out/_next/static/chunks/app/design-check/page-5d97b2901e0d1ea6.js +0 -1
  359. package/apps/pwa/out/_next/static/chunks/app/editor/page-c39554c321576982.js +0 -1
  360. package/apps/pwa/out/_next/static/chunks/app/exec/page-8c3d8e63ae2e1c98.js +0 -1
  361. package/apps/pwa/out/_next/static/chunks/app/field/page-9b72a07d424701c6.js +0 -1
  362. package/apps/pwa/out/_next/static/chunks/app/healthz/route-c1a96669158471ec.js +0 -1
  363. package/apps/pwa/out/_next/static/chunks/app/inside/page-bd5d586429167fea.js +0 -1
  364. package/apps/pwa/out/_next/static/chunks/app/intake/page-a572f58cd3ca5864.js +0 -1
  365. package/apps/pwa/out/_next/static/chunks/app/layout-59b7834d497c2255.js +0 -1
  366. package/apps/pwa/out/_next/static/chunks/app/live/page-be5ea965a07fbc41.js +0 -1
  367. package/apps/pwa/out/_next/static/chunks/app/loops/page-c130b63862437814.js +0 -1
  368. package/apps/pwa/out/_next/static/chunks/app/market/page-fa244bd146a00ae8.js +0 -1
  369. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-44d56d6391965a6a.js +0 -1
  370. package/apps/pwa/out/_next/static/chunks/app/morning/page-83a700d4c754d802.js +0 -1
  371. package/apps/pwa/out/_next/static/chunks/app/not-found-7b3170f374f77b9d.js +0 -1
  372. package/apps/pwa/out/_next/static/chunks/app/observatory/page-5f23d0c66a3b4793.js +0 -1
  373. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-a3c58f5c72a5f3f9.js +0 -1
  374. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-a2c4625596f8d69c.js +0 -1
  375. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-0e9099531d239f11.js +0 -1
  376. package/apps/pwa/out/_next/static/chunks/app/outputs/page-e8e1ecaea7cd71d2.js +0 -1
  377. package/apps/pwa/out/_next/static/chunks/app/page-a1b7ffed710a93e0.js +0 -1
  378. package/apps/pwa/out/_next/static/chunks/app/reflection/page-1467047104141297.js +0 -1
  379. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-2da6f9b8a38c6978.js +0 -1
  380. package/apps/pwa/out/_next/static/chunks/app/sessions/page-102310930791197a.js +0 -1
  381. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-f331e38fefc00393.js +0 -1
  382. package/apps/pwa/out/_next/static/chunks/app/settings/page-6ed0b73bae8351d8.js +0 -1
  383. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-44d5f767491692bf.js +0 -1
  384. package/apps/pwa/out/_next/static/chunks/app/setup/layout-c1a96669158471ec.js +0 -1
  385. package/apps/pwa/out/_next/static/chunks/app/setup/page-43336055451f6e37.js +0 -1
  386. package/apps/pwa/out/_next/static/chunks/app/share/page-3cc47dca0922ab9a.js +0 -1
  387. package/apps/pwa/out/_next/static/chunks/app/showroom/page-a77ee355a2304ff0.js +0 -1
  388. package/apps/pwa/out/_next/static/chunks/app/tasks/page-b17cd46cf0e9b8cf.js +0 -1
  389. package/apps/pwa/out/_next/static/chunks/app/term/page-61553851aa606146.js +0 -1
  390. package/apps/pwa/out/_next/static/chunks/app/today/page-a1f585e154e61c59.js +0 -1
  391. package/apps/pwa/out/_next/static/chunks/app/trace/page-7bf54c9bb9274af8.js +0 -1
  392. package/apps/pwa/out/_next/static/chunks/app/vault/page-5150ef17b5383a57.js +0 -1
  393. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-b9d8ce70792c1672.js +0 -1
  394. package/apps/pwa/out/_next/static/chunks/app/workflows/page-a5a3de231f2cc7d5.js +0 -1
  395. package/apps/pwa/out/_next/static/chunks/app/workspace/page-134da468538baf48.js +0 -1
  396. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-31ac4afa2dcd915c.js +0 -1
  397. package/apps/pwa/out/_next/static/chunks/framework-5c169757551134ed.js +0 -1
  398. package/apps/pwa/out/_next/static/chunks/main-59fe95fed40c7a01.js +0 -1
  399. package/apps/pwa/out/_next/static/chunks/main-app-4ca74dbbee7057c6.js +0 -1
  400. package/apps/pwa/out/_next/static/chunks/pages/_app-13a0a886df4d97a1.js +0 -1
  401. package/apps/pwa/out/_next/static/chunks/pages/_error-6af8591cd3a3f038.js +0 -1
  402. package/apps/pwa/out/_next/static/chunks/webpack-c2782b330447ffb6.js +0 -1
  403. package/apps/pwa/out/_next/static/css/7fa358fec7da7c47.css +0 -1
  404. /package/apps/pwa/out/_next/static/{P6YTVgzuZz5oTZhY4Din_ → J5H7BvqgSI8DUjtRRcA_S}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4795],{5185:(e,t,r)=>{r.d(t,{A:()=>f});let n={eof:null,exclamationMark:33,greaterThan:62,leftSquareBracket:91,rightSquareBracket:93},i={contentTypeFlow:"flow"};var o=r(78069),a=r(47564);let l={name:"callout",tokenize:function(e,t,r){let o=this;return function(t){if(62===t){let r=o.containerState;return e.enter("callout",{_container:!0}),r.calloutOpen=!0,e.enter("calloutPrefix"),e.enter("calloutGreaterThanMark"),e.consume(t),e.exit("calloutGreaterThanMark"),l}return r(t)};function l(t){return(0,a.On)(t)?(e.enter("calloutPrefixWhitespace"),e.consume(t),e.exit("calloutPrefixWhitespace"),c):c(t)}function c(t){return t===n.leftSquareBracket?(e.enter("calloutType"),e.enter("calloutTypeMarkerLeft"),e.consume(t),e.exit("calloutTypeMarkerLeft"),s):r(t)}function s(t){return t===n.exclamationMark?(e.enter("calloutExclamationMark"),e.consume(t),e.exit("calloutExclamationMark"),e.enter("calloutTypeText"),u):r(t)}function u(t){return t===n.rightSquareBracket?(e.exit("calloutTypeText"),e.enter("calloutTypeMarkerRight"),e.consume(t),e.exit("calloutTypeMarkerRight"),e.exit("calloutType"),h):(0,a.CW)(t)?(e.consume(t),u):r(t)}function h(t){return(0,a.On)(t)?(e.enter("calloutPrefixWhitespace"),e.consume(t),e.exit("calloutPrefixWhitespace"),e.exit("calloutPrefix"),e.enter("calloutTitle"),e.enter("calloutTitleChunk",{_tokenizer:o.parser.flow(o.now()),contentType:i.contentTypeFlow}),p):(e.enter("calloutTitle"),e.enter("calloutTitleChunk",{_tokenizer:o.parser.flow(o.now()),contentType:i.contentTypeFlow}),p(t))}function p(r){if((0,a.HP)(r)||r===n.eof){let n=e.exit("calloutTitleChunk"),i=o.sliceStream(n);return i.push(null),n._tokenizer.write(i),e.exit("calloutTitle"),t(r)}return e.consume(r),p}},continuation:{tokenize:function(e,t,r){let n=this;return function(t){return(n.containerState.calloutContentStarted||e.enter("calloutContent"),(0,a.On)(t))?(0,o.N)(e,i,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):i(t)};function i(t){return 62===t?(e.enter("calloutPrefix"),e.enter("calloutGreaterThanMark"),e.consume(t),e.exit("calloutGreaterThanMark"),l):r(t)}function l(r){return(n.containerState.calloutContentStarted=!0,(0,a.On)(r))?(e.enter("calloutPrefixWhitespace"),e.consume(r),e.exit("calloutPrefixWhitespace"),e.exit("calloutPrefix"),t):(e.exit("calloutPrefix"),t(r))}}},exit:function(e){this.containerState.calloutContentStarted&&e.exit("calloutContent"),e.exit("callout")},add:"before"};var c=/[a-zA-Z0-9:_-]/,s=/[\s\t\r\n]/,u=/['"]/;let h={callouts:{note:{color:"#448aff",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-pencil"><line x1="18" y1="2" x2="22" y2="6"></line><path d="M7.5 20.5 19 9l-4-4L3.5 16.5 2 22z"></path></svg>'},tip:{color:"#00bfa6",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-flame"><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path></svg>'},warning:{color:"#ff9100",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-alert-triangle"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>'},abstract:{color:"#00aeff",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-clipboard-list"><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"></path><path d="M15 2H9a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1z"></path><path d="M12 11h4"></path><path d="M12 16h4"></path><path d="M8 11h.01"></path><path d="M8 16h.01"></path></svg>'},info:{color:"#00b8d4",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-info"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>'},todo:{color:"#00b8d4",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-check-circle-2"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z"></path><path d="m9 12 2 2 4-4"></path></svg>'},success:{color:"#00c853",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-check"><polyline points="20 6 9 17 4 12"></polyline></svg>'},question:{color:"#63dd17",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-help-circle"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>'},failure:{color:"#ff5252",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>'},danger:{color:"#ff1745",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-zap"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>'},bug:{color:"#f50057",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-bug"><rect x="8" y="6" width="8" height="14" rx="4"></rect><path d="m19 7-3 2"></path><path d="m5 7 3 2"></path><path d="m19 19-3-2"></path><path d="m5 19 3-2"></path><path d="M20 13h-4"></path><path d="M4 13h4"></path><path d="m10 4 1 2"></path><path d="m14 4-1 2"></path></svg>'},example:{color:"#7c4dff",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-list"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg>'},quote:{color:"#9e9e9e",svg:'<svg viewBox="0 0 100 100" class="quote-glyph" width="16" height="16"><path fill="currentColor" stroke="currentColor" d="M16.7,13.3c-3.7,0-6.7,3-6.7,6.7v26.7c0,3.7,3,6.7,6.7,6.7h13.5c0.1,6-0.5,18.7-6.3,28.2c0,0,0,0,0,0 c-0.9,1.4-0.7,3.1,0.5,4.2c1.2,1.1,3,1.2,4.3,0.2c0,0,14.7-11.2,14.7-32.7V20c0-3.7-3-6.7-6.7-6.7L16.7,13.3z M63.3,13.3 c-3.7,0-6.7,3-6.7,6.7v26.7c0,3.7,3,6.7,6.7,6.7h13.5c0.1,6-0.5,18.7-6.3,28.2h0c-0.9,1.4-0.7,3.1,0.5,4.2c1.2,1.1,3,1.2,4.3,0.2 c0,0,14.7-11.2,14.7-32.7V20c0-3.7-3-6.7-6.7-6.7L63.3,13.3z"></path></svg>'}},calloutContainer:"blockquote",customClassNames:[],embedDefaultColor:!1},p=new Map(Object.entries({summary:"abstract",tldr:"abstract",hint:"tip",important:"tip",check:"success",done:"success",help:"question",faq:"question",caution:"warning",attention:"warning",fail:"failure",missing:"failure",error:"danger",cite:"quote"}));function f(e={}){let t,r=this.data(),i=function e(t,r){let n={};for(let o in r){var i;(i=r[o])&&"object"==typeof i&&!Array.isArray(i)?n[o]=e(t[o]??{},r[o]):n[o]=t[o]??r[o]}return n}(e,h);function o(e,t){(r[e]?r[e]:r[e]=[]).push(t)}o("micromarkExtensions",{document:{[n.greaterThan]:l}}),o("fromMarkdownExtensions",(t="note",{enter:{callout(e){this.enter({type:"callout",children:[],data:{hName:i.calloutContainer,hProperties:{className:["callout",...i.customClassNames]}}},e)},calloutTitle(e){let r=i.callouts[t],n=function(e){var t="",r=[],n=l,i=null,o=null;function a(t){var r=function(e,t,r){var n,i,o,a,l,c,s;return(n=void 0,n={},i=n.offsetLine||0,o=n.offsetColumn||0,a=e.split("\n"),l=0,c=a.map(function(e,t){var r=l+e.length+1,n={start:l,end:r,line:t};return l=r,n}),s=0,function(t,r){"string"==typeof t&&(t=e.indexOf(t,r||0));for(var n,a,l,u,h=c[s],p=t>=h.end?1:-1;h;){if(n=h,a=t,n.start<=a&&a<n.end)return l=h,u=t,{line:i+l.line,column:o+u-l.start,character:u};s+=p,h=c[s]}})(t,r&&r.startIndex)}(e,w),n=r.line,i=r.column,o=e.slice(0,w),a=/(^|\n).*$/.exec(o)[0].replace(/\t/g," "),l=e.slice(w);throw Error(t+" ("+n+":"+i+"). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n"+(""+a+/.*(\n|$)/.exec(l)[0]+"\n"+function(e,t){for(var r="";t--;)r+=" ";return r}(0,a.length))+"^")}function l(){for(;w<e.length&&"<"!==e[w]||!c.test(e[w+1]);)t+=e[w++];return h()}function h(){for(var t="";w<e.length&&"<"!==e[w];)t+=e[w++];return(/\S/.test(t)&&i.children.push({type:"text",value:t}),"<"===e[w])?p:h}function p(){var t,n=e[w];if("?"===n)return h;if("!"===n){if("--"===e.slice(w+1,w+3))return f;if("[CDATA["===e.slice(w+1,w+8))return d;if(/doctype/i.test(e.slice(w+1,w+8)))return h}if("/"===n)return k;var l={type:"element",tagName:g(),properties:{},children:[]};for(i?i.children.push(l):o=l;w<e.length&&(t=function(){if(!s.test(e[w]))return null;x();var t=g();if(!t)return null;var r=!0;return x(),"="===e[w]&&(w+=1,x(),isNaN(r=u.test(e[w])?function(){for(var t=e[w++],r="",n=!1;w<e.length;){var i=e[w++];if(i===t&&!n)return r;"\\"!==i||n||(n=!0),r+=n?"\\"+i:i,n=!1}}():function(){var t="";do{var r=e[w];if(" "===r||">"===r||"/"===r)break;t+=r,w+=1}while(w<e.length);return t}())||""===r.trim()||(r*=1)),{name:t,value:r}}());)l.properties[t.name]=t.value;var c=!1;return"/"===e[w]&&(w+=1,c=!0),">"!==e[w]&&a("Expected >"),c||(i=l,r.push(l)),h}function f(){var t=e.indexOf("--\x3e",w);return~t||a("expected --\x3e"),w=t+2,h}function d(){var t=e.indexOf("]]>",w);return~t||a("expected ]]>"),i.children.push(e.slice(w+7,t)),w=t+2,h}function k(){var t=g();return t||a("Expected tag name"),t!==i.tagName&&a("Expected closing tag </"+t+"> to match opening tag <"+i.tagName+">"),x(),">"!==e[w]&&a("Expected >"),r.pop(),i=r[r.length-1],h}function g(){for(var t="";w<e.length&&c.test(e[w]);)t+=e[w++];return t}function x(){for(;w<e.length&&s.test(e[w]);)w+=1}for(var w=l.length;w<e.length;)n||a("Unexpected character"),n=n(),w+=1;return n!==h&&a("Unexpected end of input"),"svg"===o.tagName&&(o.metadata=t),{type:"root",children:[o]}}(r.svg);this.stack[this.stack.length-1].data.hProperties.className.push(t),this.enter({type:"calloutTitle",children:[{type:"element",data:{hName:"span",hProperties:{className:["callout-icon"],style:i.embedDefaultColor?`color: ${r.color}`:void 0},hChildren:n.children}}],data:{hName:"div",hProperties:{className:["callout-title",t]}}},e),t="note"},calloutContent(e){this.enter({type:"calloutContent",children:[],data:{hName:"div",hProperties:{className:["callout-content"]}}},e)}},exit:{callout(e){this.exit(e)},calloutTypeText(e){var r;r=this.sliceSerialize(e).toLowerCase(),t=h.callouts?.hasOwnProperty(r)?r:p.get(r)??"note"},calloutTitle(e){this.exit(e)},calloutContent(e){this.exit(e)}}})),o("toMarkdownExtensions",{handlers:{callout(e,t,r,n){let i=r.enter("callout"),o=r.createTracker(n);o.move("> "),o.shift(2);let a=r.indentLines(r.containerFlow(e,o.current()),(e,t,r)=>">"+(r?"":" ")+e);return i(),a},calloutTitle(e,t,r,n){let i=e.data.hProperties.className[1],o=`[!${i}]`,a=r.containerPhrasing(e.children[1],n);return o+(a?" ":"")+a},calloutContent:(e,t,r,n)=>r.containerFlow(e,n)}})}},13019:(e,t,r)=>{r.d(t,{A:()=>x});var n={d:(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},i={};n.d(i,{Z:()=>g,$:()=>k});var o={horizontalTab:-2,nul:0,eof:null,space:32};function a(e){return e<o.nul||e===o.space}function l(e){return e<o.horizontalTab}var c={553:e=>{e.exports=function(e){var t,r;return e._compiled||(t=e.before?"(?:"+e.before+")":"",r=e.after?"(?:"+e.after+")":"",e.atBreak&&(t="[\\r\\n][\\t ]*"+t),e._compiled=RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(r||""),"g")),e._compiled}},112:e=>{function t(e,t,r){var n;if(!t)return r;for("string"==typeof t&&(t=[t]),n=-1;++n<t.length;)if(-1!==e.indexOf(t[n]))return!0;return!1}e.exports=function(e,r){return t(e,r.inConstruct,!0)&&!t(e,r.notInConstruct)}},113:(e,t,r)=>{e.exports=function(e,t,r){for(var l,c,s,u,h,p,f,d,k=(r.before||"")+(t||"")+(r.after||""),g=[],x=[],w={},v=-1;++v<e.unsafe.length;)if(u=e.unsafe[v],i(e.stack,u))for(h=n(u);p=h.exec(k);)l="before"in u||u.atBreak,c="after"in u,-1===g.indexOf(s=p.index+(l?p[1].length:0))?(g.push(s),w[s]={before:l,after:c}):(w[s].before&&!l&&(w[s].before=!1),w[s].after&&!c&&(w[s].after=!1));for(g.sort(o),f=r.before?r.before.length:0,d=k.length-(r.after?r.after.length:0),v=-1;++v<g.length;)(s=g[v])<f||s>=d||s+1<d&&g[v+1]===s+1&&w[s].after&&!w[s+1].before&&!w[s+1].after||(f!==s&&x.push(a(k.slice(f,s),"\\")),f=s,!/[!-/:-@[-`{-~]/.test(k.charAt(s))||r.encode&&-1!==r.encode.indexOf(k.charAt(s))?(x.push("&#x"+k.charCodeAt(s).toString(16).toUpperCase()+";"),f++):x.push("\\"));return x.push(a(k.slice(f,d),r.after)),x.join("")};var n=r(553),i=r(112);function o(e,t){return e-t}function a(e,t){for(var r,n=/\\(?=[!-/:-@[-`{-~])/g,i=[],o=[],a=-1,l=0,c=e+t;r=n.exec(c);)i.push(r.index);for(;++a<i.length;)l!==i[a]&&o.push(e.slice(l,i[a])),o.push("\\"),l=i[a];return o.push(e.slice(l)),o.join("")}}},s={};function u(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return c[e](r,r.exports,u),r.exports}u.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return u.d(t,{a:t}),t},u.d=(e,t)=>{for(var r in t)u.o(t,r)&&!u.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},u.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var h={};(()=>{function e(t={}){let r,n=t.permalinks||[],i=t.pageResolver||(e=>[e.replace(/ /g,"_").toLowerCase()]),o=t.newClassName||"new",a=t.wikiLinkClassName||"internal",l=t.hrefTemplate||(e=>`#/page/${e}`);function c(e){return e[e.length-1]}return{enter:{wikiLink:function(e){r={type:"wikiLink",value:null,data:{alias:null,permalink:null,exists:null}},this.enter(r,e)}},exit:{wikiLinkTarget:function(e){let t=this.sliceSerialize(e);c(this.stack).value=t},wikiLinkAlias:function(e){let t=this.sliceSerialize(e);c(this.stack).data.alias=t},wikiLink:function(e){let t;this.exit(e);let c=r,s=i(c.value),u=s.find(e=>-1!==n.indexOf(e)),h=void 0!==u;t=h?u:s[0]||"";let p=c.value;c.data.alias&&(p=c.data.alias);let f=a;h||(f+=" "+o),c.data.alias=p,c.data.permalink=t,c.data.exists=h,c.data.hName="a",c.data.hProperties={className:f,href:l(t)},c.data.hChildren=[{type:"text",value:p}]}}}}u.d(h,{V:()=>e,x:()=>n});var t=u(113),r=u.n(t);function n(e={}){let t=e.aliasDivider||":";return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]},{character:"]",inConstruct:["label","reference"]}],handlers:{wikiLink:function(e,n,i){let o,a=i.enter("wikiLink"),l=r()(i,e.value,{before:"[",after:"]"}),c=r()(i,e.data.alias,{before:"[",after:"]"});return o=c!==l?`[[${l}${t}${c}]]`:`[[${l}]]`,a(),o}}}}})();var p=h.V,f=h.x;let d=!1;function k(e={}){let t=this.data();function r(e,r){t[e]?t[e].push(r):t[e]=[r]}!d&&(this.Parser&&this.Parser.prototype&&this.Parser.prototype.blockTokenizers||this.Compiler&&this.Compiler.prototype&&this.Compiler.prototype.visitors)&&(d=!0,console.warn("[remark-wiki-link] Warning: please upgrade to remark 13 to use this plugin")),r("micromarkExtensions",function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).aliasDivider||":";return{text:{91:{tokenize:function(t,r,n){var i,c,s=0,u=0,h=0;return function(r){return r!=="[[".charCodeAt(u)?n(r):(t.enter("wikiLink"),t.enter("wikiLinkMarker"),function r(f){return 2===u?(t.exit("wikiLinkMarker"),l(f)||f===o.eof?n(f):(t.enter("wikiLinkData"),t.enter("wikiLinkTarget"),function r(u){return u===e.charCodeAt(s)?i?(t.exit("wikiLinkTarget"),t.enter("wikiLinkAliasMarker"),function r(i){return s===e.length?(t.exit("wikiLinkAliasMarker"),t.enter("wikiLinkAlias"),function e(r){return r==="]]".charCodeAt(h)?c?(t.exit("wikiLinkAlias"),t.exit("wikiLinkData"),t.enter("wikiLinkMarker"),p(r)):n(r):l(r)||r===o.eof?n(r):(a(r)||(c=!0),t.consume(r),e)}(i)):i!==e.charCodeAt(s)?n(i):(t.consume(i),s++,r)}(u)):n(u):u==="]]".charCodeAt(h)?i?(t.exit("wikiLinkTarget"),t.exit("wikiLinkData"),t.enter("wikiLinkMarker"),p(u)):n(u):l(u)||u===o.eof?n(u):(a(u)||(i=!0),t.consume(u),r)}(f))):f!=="[[".charCodeAt(u)?n(f):(t.consume(f),u++,r)}(r))};function p(e){return 2===h?(t.exit("wikiLinkMarker"),t.exit("wikiLink"),r(e)):e!=="]]".charCodeAt(h)?n(e):(t.consume(e),h++,p)}}}}}}(e)),r("fromMarkdownExtensions",p(e)),r("toMarkdownExtensions",f(e))}let g=k;var x=i.Z;i.$}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5360],{7456:(e,t,n)=>{n.d(t,{Er:()=>s,cj:()=>c,dc:()=>l,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 r(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function l(e){let t=new Map(e.map((e,t)=>[e,"account-".concat(t+1)])),n=e.length?RegExp("(^|[^\\w-])(".concat(e.map(r).sort((e,t)=>t.length-e.length).join("|"),")(?![\\w-])"),"g"):null,a=new Map;return(e,s)=>{let r=e.replace(/\b[a-z0-9-]+\.tail[0-9a-f]+\.ts\.net\b/gi,"tailnet-host").replace(/\bmsb\d+\b/gi,e=>(e=>{let t=e.toLowerCase();a.has(t)||a.set(t,"remote-".concat(a.size+1));let n=a.get(t);return e===e.toUpperCase()?n.toUpperCase():n})(e)).replace(/\bmbp\b/gi,e=>e===e.toUpperCase()?"LOCAL":"local").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 s&&n&&(r=r.replace(n,(e,n,a)=>{var s;return"".concat(n).concat(null!=(s=t.get(a))?s:"account")})),r}}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=l(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=l(t);return o(e,e=>n(e,!0))}},16241:(e,t,n)=>{n.d(t,{jg:()=>v,lV:()=>i,fQ:()=>c,Hc:()=>y,dl:()=>d,qo:()=>m,bh:()=>b,hS:()=>x,Yu:()=>f,BP:()=>g});let a={budget:"예산",placement:"장소",relation:"관계",memory:"기억"},s=e=>null===e||"object"!=typeof e||Array.isArray(e)?null:e,r=new Set(["한도 도달","후보 없음","측정 불가: 시간 초과"]);function l(e){if("string"!=typeof e)return null;let t=e.trim();return r.has(t)?t.slice(0,80):null}function o(e){let t=l(e);return"확인 못 함".concat(t?" \xb7 ".concat(t):"")}let i=["author","decompose","build","gate","review","land"],c={author:"저작",decompose:"분해",build:"구현",gate:"게이트",review:"리뷰",land:"착지"};function d(e){var t;let n=e.category,a=e.event,s="error"===e.level||/(fail|reject|block|abandon|conflict|error|unconvergeable|timeout)/i.test(a)?"bad":/(merged|pass|done|ok|opened|completed|approved)/i.test(a)?"ok":"info";if("self-implement.pod.ledger"===n&&"string"==typeof(null==(t=e.data)?void 0:t.stage)){let t=e.data.stage,n="string"==typeof e.data.status?e.data.status:"",a=/(fail|block|abandon|reject|error)/i.test(n)||/(fail|block|abandon)/i.test(t)?"bad":s,r=/^(implement|repair)/i.test(t)?"build":/^gat/i.test(t)?"gate":/^review/i.test(t)?"review":/(merged|pr-opened|landed|auto-merge)/i.test(t)?"land":null;if(r)return{stage:r,tone:"land"===r&&"bad"!==a?"ok":a}}return n.startsWith("goal-author")||n.startsWith("harness.frontdoor")||"dev-pipeline"===n&&/^(plan|selection|base-selection)$/.test(a)?{stage:"author",tone:s}:n.startsWith("self-dev")&&/decompos/i.test(a)||"self-dev.orchestrate"===n&&"start"===a?{stage:"decompose",tone:s}:n.startsWith("self-dev.spawn")||n.startsWith("harness.substrate")||"self-implement"===n||"dev-pipeline"===n&&"harness.launch"===a?{stage:"build",tone:s}:n.startsWith("self-gate")||n.startsWith("self-dev.reduce")&&/gate/i.test(a)?{stage:"gate",tone:s}:n.startsWith("review-loop")&&/(merged|auto-merge)/i.test(a)?{stage:"land",tone:"ok"}:n.startsWith("review-loop")?{stage:"review",tone:s}:n.startsWith("self-dev.reduce")&&/(pr-opened|merged)/i.test(a)||"dev-pipeline"===n&&"done"===a?{stage:"land",tone:s}:{stage:null,tone:s}}let u=e=>"string"==typeof e&&e.trim()?e:null,p=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function h(e){var t,n,a,s,r;let l=null!=(t=e.data)?t:{},o=null!=(n=u(l.pr))?n:p(l.prNumber)?String(l.prNumber):null;return e.category.startsWith("review-loop")&&"judge-verdict"===e.event?"리뷰 판정: ".concat(null!=(a=u(l.verdict))?a:"?").concat(o?" \xb7 #".concat(o):"").concat(p(l.asks)?" \xb7 요구 ".concat(p(l.asks)):""):e.category.startsWith("review-loop")&&/merged/.test(e.event)?"자동 병합".concat(o?" #".concat(o):""):e.category.startsWith("review-loop")&&"rework-start"===e.event?"리뷰 반영 라운드 ".concat(p(l.round)||"?"," 시작").concat(o?" \xb7 #".concat(o):""):e.category.startsWith("llm.router")&&/fallback/i.test(e.event)?"모델 폴백: ".concat(null!=(s=u(l.from))?s:"?"," → ").concat(null!=(r=u(l.to))?r:"?"):e.category.startsWith("oauth")&&/rotat/i.test(e.event)?"계정 회전".concat(u(l.account)?": ".concat(u(l.account)):""):e.category.startsWith("harness.boundary")?"경계 밖 쓰기 거절".concat(u(l.path)?": ".concat(u(l.path)):""):e.category.startsWith("self-dev.reduce")&&/gate-failed/.test(e.event)?"게이트 실패 → 수리 라운드":"dev-pipeline"===e.category&&"rejected"===e.event?"발사 전 검사가 막았다".concat(u(l.reason)?": ".concat(u(l.reason)):""):null}function m(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 f(e){return/Error:|ENOENT|EACCES|EPERM|ECONN|TypeError|\bstack\b|at\s+\S+\s+\(|\/Users\/|\/home\/|\\/.test(e)}function x(e,t){return null==e?e:"owner"!==t&&f(e)?"실패 — 자세한 사유는 오너 화면에서":e}function g(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(m(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 v=["PLAN","ROUTE","VERIFY","HEAL","ESCALATE","SHIP"];function b(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 v.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 y(e,t,n){let r=function(e,t,n){var a,s,r,l,o,i,c,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=u(t.runId);if(e.category.startsWith("llm.usage")){j+=1,N+=p(t.inputTokens)+p(t.outputTokens)+p(t.totalTokens&&!t.inputTokens?t.totalTokens:0);let e=null!=(l=null!=(r=u(t.model))?r:u(t.provider))?l:"unknown";w.set(e,(null!=(o=w.get(e))?o:0)+1)}if(e.category.startsWith("review-loop")&&"judge-verdict"===e.event){let e=null!=(i=u(t.verdict))?i:"unknown";k.set(e,(null!=(c=k.get(e))?c:0)+1)}let a=h(e),{stage:x,tone:g}=d(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=u(t.pr))?f:p(t.prNumber)?String(p(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)),E=S.filter(e=>"land"!==e.current&&n.now-Date.parse(e.lastTs)<9e5).length,I=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:E,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:I(w),reviewVerdicts:I(k),windowMinutes:n.windowMinutes}}(e,t,n),i=n.now-6e4*n.windowMinutes,c=e.filter(e=>Date.parse(e.ts)>=i).sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts)),m=[],f={},x=new Set,g=new Map,v=new Map,y=new Map,w=0,k=new Set(c.filter(e=>"harness.decision"===e.category).map(e=>b(e)).filter(Boolean));for(let e of c){var j,N,M,S,E,I,A,C,T,R,P,L,O,F,W;let t=null!=(j=e.data)?j:{},n=u(t.runId);if(e.category.startsWith("review-loop")&&p(t.round)&&n&&(f[n]=Math.max(null!=(N=f[n])?N:0,p(t.round))),e.category.startsWith("review-loop")&&"judge-verdict"===e.event&&u(t.pr)&&p(t.round)){let e=null!=(M=y.get(u(t.pr)))?M:new Map;e.set(p(t.round),p(t.asks)),y.set(u(t.pr),e)}if(e.category.startsWith("llm.usage")){let e=p(t.inputTokens)+p(t.outputTokens);w+=e;let n=null!=(S=u(t.model))?S:"unknown",a=null!=(E=v.get(n))?E:{requests:0,tokens:0,billing:u(t.billing)};a.requests+=1,a.tokens+=e,v.set(n,a)}let r=b(e);if(!r||"harness.decision"!==e.category&&k.has(r))continue;let i="harness.decision"===e.category&&"string"==typeof t.what?function(e,t){var n,r;let i,c=/^execution-loop (budget|placement|relation|memory) gate$/.exec(e);if(!c)return null;let d=c[1],u="관문 \xb7 ".concat(a[d]),p=null;try{p=s(JSON.parse(null!=t?t:""))}catch(e){p=null!=(n=function(e,t){if(!t||t.startsWith("{"))return null;if(t.startsWith("unavailable"))return{decision:"unavailable"};let n=new Map;for(let e of t.split(" \xb7 ")){let t=e.indexOf("=");t>0&&!n.has(e.slice(0,t))&&n.set(e.slice(0,t),e.slice(t+1))}if(!n.size)return null;switch(e){case"budget":if(!n.has("action"))return null;return{decision:{action:n.get("action"),...n.get("provider")?{provider:n.get("provider")}:{},reasons:n.get("reason")?[n.get("reason")]:[]}};case"placement":{if(!n.has("substrate"))return null;let e=n.get("pool");return{decision:{substrate:n.get("substrate"),pool:e&&"none"!==e?e:null,...n.get("memory")?{memory:{limit:n.get("memory")}}:{}}}}case"relation":{let e=Number(n.get("overlap"));if(!Number.isInteger(e)||e<0)return null;return{decision:{action:"record",overlappingCards:Array.from({length:e},(e,t)=>"card-".concat(t+1))}}}case"memory":{let e=n.get("context");if("recalled"!==e&&"none"!==e)return null;return{decision:{action:"record",context:"recalled"===e?"recalled":null}}}}}(d,null!=t?t:""))?n:function(e){if(!e.startsWith('{"decision":{'))return null;let t={},n=t=>{var n;return null==(n=new RegExp('"'.concat(t,'":"([^"\\\\]*)"')).exec(e))?void 0:n[1]},a=n("action");a&&(t.action=a);let s=n("provider");s&&(t.provider=s);let r=n("substrate");r&&(t.substrate=r);let l=/"pool":(null|"([^"\\]*)")/.exec(e);l&&(t.pool="null"===l[1]?null:l[2]);let o=/"memory":\{[^}]*"limit":"([^"\\]*)"/.exec(e);o&&(t.memory={limit:o[1]});let i=/"overlappingCards":\[([^\]]*)\]/.exec(e);i&&(t.overlappingCards=i[1].trim()?i[1].split(",").map(e=>e.trim().replace(/^"|"$/g,"")):[]);let c=/"context":(null|")/.exec(e);if(c&&(t.context="null"===c[1]?null:"recalled"),/"reasons":\[/.test(e)){let n=/"reasons":\[((?:"[^"\\]*",?)*)\]/.exec(e);t.reasons=n?[...n[1].matchAll(/"([^"\\]*)"/g)].map(e=>e[1]):[]}return Object.keys(t).length?{decision:t}:null}(null!=t?t:"")}let h=s(null==p?void 0:p.decision),m=null==p?void 0:p.explanation;if(!h)return{what:u,why:o(m)};switch(d){case"budget":{let e,t=h.action,n="string"==typeof(e=h.provider)&&/^(openai-codex|grok|anthropic|openai|google|local|openrouter)$/.test(e)?e:null,a="proceed"===t?"그대로 진행":"next-provider"===t?"다른 제공자로".concat(n?"(".concat(n,")"):""):"wait-reset"===t?"한도 회복까지 대기":"stop"===t?"멈춤":null;if(!a||!Array.isArray(h.reasons))return{what:u,why:o(m)};let s=l(h.reasons[0]);i="".concat(a).concat(s?" \xb7 ".concat(s):"");break}case"placement":{let e,t,n=h.substrate;if("pod"!==n&&"local"!==n&&"unknown"!==n)return{what:u,why:o(m)};let a="string"==typeof(e=h.pool)&&/^(?:fast-\d{1,2}|pool-msb\d{1,2}(?:@msb\d{1,2}:\d{1,2})?)$/.test(e)?e:null,l="string"==typeof(t=null==(r=s(h.memory))?void 0:r.limit)&&/^\d+(?:\.\d+)?\s*(?:[KMGT]i?B?|bytes?)$/i.test(t)?t.replace(/\s+/g," "):null;i="".concat("pod"===n?"Pod".concat(a?" ".concat(a):""):"local"===n?"이 기기":"모름").concat(l?" \xb7 메모리 한도 ".concat(l):"");break}case"relation":if("record"!==h.action||!Array.isArray(h.overlappingCards)||!h.overlappingCards.every(e=>"string"==typeof e))return{what:u,why:o(m)};i=h.overlappingCards.length?"겹치는 카드 ".concat(h.overlappingCards.length,"개"):"겹치는 일 없음";break;case"memory":if("record"!==h.action||"string"!=typeof h.context&&null!==h.context)return{what:u,why:o(m)};i=h.context?"지난 기록 있음":"지난 기록 없음"}return{what:u,why:i}}(t.what,null!=(I=u(t.reason))?I:void 0):null,c=null!=(C=null!=(A=null==i?void 0:i.why)?A:u(t.reason))?C:u(t.why),d=i?null:u(t.purpose),H=i?null:null!=(O=null!=(R=null!=(T=u(t.target))?T:u(t.to))?R:u(t.account))?O:"SHIP"===r&&(null!=(P=u(t.pr))?P:p(t.prNumber)?String(p(t.prNumber)):null)?"#".concat(null!=(L=u(t.pr))?L:p(t.prNumber)):null,q=i?null:n;"HEAL"===r&&n&&x.add(n);let D=p(t.paths)||void 0;m.push({ts:e.ts,kind:r,runId:q,what:null!=(F=null==i?void 0:i.what)?F: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=h(e))?a:"".concat(e.category," ").concat(e.event).slice(0,80)}(e,0),why:c,purpose:d,target:H,...D?{paths:D}:{}});let U=[c?null:"why",d?null:"purpose",H?null:"target"].filter(Boolean);if(U.length){let t=i?"harness.decision decision":"".concat(e.category," ").concat(e.event),n=null!=(W=g.get(t))?W:{count:0,lacks:new Set};n.count+=1,U.forEach(e=>n.lacks.add(e)),g.set(t,n)}}let H=[...x],q=H.filter(e=>{var t;return(null==(t=r.runs.find(t=>t.runId===e))?void 0:t.stages.land)==="ok"}).length;return{snapshot:r,gauges:{live:r.counters.activeRuns,decisions:m.length,decisionsPerMin:n.windowMinutes>0?Math.round(m.length/n.windowMinutes*10)/10:0,shipped:m.filter(e=>"SHIP"===e.kind).length,selfHealRate:H.length?Math.round(q/H.length*100):null,selfHealRuns:H.length,burnTokensPerMin:n.windowMinutes>0?Math.round(w/n.windowMinutes):0},stream:m.slice(-80).reverse(),emitted:c.filter(e=>"harness.decision"===e.category).length,rounds:f,convergence:[...y.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:[...v.entries()].map(e=>{let[t,n]=e;return{model:t,...n}}).sort((e,t)=>t.requests-e.requests),missing:[...g.entries()].map(e=>{let[t,n]=e;return{key:t,count:n.count,lacks:[...n.lacks]}}).sort((e,t)=>t.count-e.count)}}},21108:(e,t,n)=>{n.d(t,{D3:()=>x,GJ:()=>g,Gp:()=>l,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(16241);let s=e=>"string"==typeof e&&e.trim()?e:null,r=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function l(e){let t=[];for(let i of e){var n,a,l,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!=(l=s(e.model))?l:"unknown",site:null!=(o=s(e.site))?o:"unknown",billing:s(e.billing),provider:s(e.billingProvider),input:r(e.inputTokens),output:r(e.outputTokens),cache:r(e.cacheReadInputTokens),apiUsd:r(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,r=Array.from({length:n},(e,t)=>({t:s+t*a,count:0,tokens:0,byModel:{}}));for(let t of e){var l;let e=Math.floor((t.t-s)/a);if(e<0||e>=n)continue;let o=r[e];o.count+=1,o.tokens+=t.input+t.output,o.byModel[t.model]=(null!=(l=o.byModel[t.model])?l:0)+1}return r}function i(e,t,n){let a=t-n/2,s=new Map;for(let l of e){var r;if(l.t<t-n)continue;let e=null!=(r=s.get(l.model))?r:{count:0,tokens:0,late:0,early:0};e.count+=1,e.tokens+=l.input+l.output,l.t>=a?e.late+=1:e.early+=1,s.set(l.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,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,l=new Map,o=new Map;for(let a of e)l.set(a.model,(null!=(t=l.get(a.model))?t:0)+1),o.set(a.site,(null!=(n=o.get(a.site))?n:0)+1);let i=[...l.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,r).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),r=Date.parse(a.ts);if(!e||!Number.isFinite(r))continue;let l=t.get(e);l?(l.lo=Math.min(l.lo,r),l.hi=Math.max(l.hi,r)):t.set(e,{lo:r,hi:r})}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),r=(s-a)/t||1;for(let s of e)n[Math.min(t-1,Math.floor((s-a)/r))]+=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,l;if(!o.category.startsWith("review-loop"))continue;let e=null!=(a=o.data)?a:{},i=null!=(l=s(e.pr))?l:r(e.prNumber)?String(r(e.prNumber)):null;i&&(("rework-start"===o.event||"judge-verdict"===o.event&&r(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,l,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&&r(null==(l=i.data)?void 0:l.stepCount)>1){let e=Math.min(12,r(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 l,o,i,c,d;let e=s(null==(l=u.data)?void 0:l.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,r(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 r of e){var n;let e=s(null==(n=r.data)?void 0:n.runId);if(!e)continue;let{stage:l,tone:o}=(0,a.dl)(r),i="".concat(e,"|").concat(r.category,".").concat(r.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:r.event,stage:l,count:1,bad:"bad"===o})}return[...t.values()]}},34885:(e,t,n)=>{n.d(t,{HI:()=>l});var a=n(46124),s=n(21501),r=n(94306);function l(e){var t,n,l;let o=(0,r.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,r,l,o;return[...null!=(s=null==(e=c.data)?void 0:e.logs)?s:[],...null!=(r=null==(t=d.data)?void 0:t.logs)?r:[],...null!=(l=null==(n=u.data)?void 0:n.logs)?l:[],...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!=(l=null!=(n=null!=(t=c.error)?t:d.error)?n:u.error)?l: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)),...function(e){let t=new Set,n=new Set,a=null;for(let l of e){var s,r;for(let e of null!=(s=null==l?void 0:l.stores)?s:[])t.add(e);for(let e of null!=(r=null==l?void 0:l.failedStores)?r:[])n.add(e.name);"number"==typeof(null==l?void 0:l.registeredStores)&&(a=Math.max(null!=a?a:0,l.registeredStores))}return{stores:[...t],failedStores:[...n],registeredStores:a}}([c.data,d.data,u.data,p.data])};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})}}},37037:(e,t,n)=>{n.d(t,{Es:()=>l,Wf:()=>s,q9:()=>r});let a=/\u{1F451}|`[^`]+`|\b(?=[0-9a-f]*\d)(?=[0-9a-f]*[a-f])[0-9a-f]{7,40}\b|\/Users\/|\/(?:home|root)\/|\/\.ssh\/|~\/\.elanous|elt_|\$\s*[-+]?\d[\d,.]*|run-[0-9a-f]{8}\b|\b(?:test|mirror):|\b(?:account|remote)-\d+\b|\bmsb\d+\b|\.ts\.net\b|\bgcpvm\b|user|[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/iu;function s(e){return!a.test(e)}function r(e){return(e.replace(/^\s*\*\*\[[A-Za-z]{1,4}\]\*\*\s*/,"").replace(/^(?:\{\{TS\}\}|\d{4}-\d{2}-\d{2}\s+\d{1,2}:\d{2}(?::\d{2})?\s*(?:KST)?)\s*/,"").replace(/^→\s*(?:(?:[A-Z]{2,4}|전원|전체)(?=[\s·,(]|$)[\s·,]*)+/u,"").replace(/^—\s*/,"").replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,"").trim()||e.trim()).replace(/\*\*/g,"")}function l(e){return e.replace(/#\d{4,6}\b/g,"PR")}},43422:(e,t,n)=>{n.d(t,{RT:()=>h});var a=n(55539),s=n(46124),r=n(3558),l=n.n(r),o=n(21501),i=n(94306),c=n(16241),d=n(72215);let u={"no-screen-key":"이 인스턴스 로그에 이 런의 화면 키가 없다 — 다른 우주(시험\xb7Pod)에서 돈 런이면 그 우주에서 본다.","screen-missing":"화면 키는 있는데 화면 파일이 없다 — 런이 끝나 화면이 정리됐을 수 있다.","log-store-missing":"이 인스턴스에 로그 저장소가 없다.","log-store-unreadable":"로그 저장소를 읽지 못했다."};function p(e){var t,n;let{runId:s,run:r,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==r?void 0:r.current)&&(0,a.jsx)("span",{className:"rounded bg-primary/15 px-1.5 py-0.5 text-[11px]",children:c.fQ[r.current]}),(null==r?void 0:r.blocked)&&(0,a.jsx)("span",{className:"rounded bg-error/15 px-1.5 py-0.5 text-[11px] text-error",children:"막힘"}),(null==r?void 0:r.pr)&&(0,a.jsxs)("span",{className:"font-mono text-[11px]",children:["PR #",r.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)(l(),{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==r?void 0:r.pr)&&"ok"!==r.stages.land&&(0,a.jsx)(l(),{href:"/approvals?pr=".concat(encodeURIComponent(r.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:r,lines:l,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:r,screen:null!=(t=h.data)?t:null,screenError:h.error?h.error instanceof Error?h.error.message:String(h.error):null,lines:l,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")}})}},44373:(e,t,n)=>{n.d(t,{cn:()=>r});var a=n(20852),s=n(30984);function r(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.QP)((0,a.$)(t))}},72215:(e,t,n)=>{let a;n.d(t,{cY:()=>d,x8:()=>o});let s={debug:0,info:1,warn:2,error:3},r="/v1/debug-logs/batch",l=null;function o(e){l=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)}if(this.queue.length>=100&&!this.inFlight){null!==this.timer&&(clearTimeout(this.timer),this.timer=null),this.flush();return}null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},this.flushMs))}}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&&l)try{await l(JSON.stringify({records:[...e,this.blockedNotice()]}))&&(this.fallbackBatches+=1)}catch(e){}this.wasFailing=!0,this.scheduleRetry();return}let r=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:r},source:{platform:"pwa"}})),this.queue.length>0&&null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},this.flushMs))}scheduleRetry(){if(null!==this.timer||0===this.queue.length)return;let e=Math.min(this.flushMs*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(r,t)&&this.queue.splice(0,e.length)}}catch(e){}}get pending(){return this.queue.length}constructor(e=c,t="debug",n=1e4,a=100){this.fetchFn=e,this.minLevel=t,this.postTimeoutMs=n,this.flushMs=a,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(r,{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,r=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,1e4,1500);try{window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&t.beaconFlush()})}catch(e){}return a=t,t}();if(!r)return;let l=t.slice(t.lastIndexOf(".")+1)||t;if(void 0!==n&&""!==n)try{s=JSON.parse(n)}catch(e){s=n}r.push({ts:e,category:t,event:l,...void 0!==s?{data:s}:{},source:{platform:"pwa"}})}},89578:(e,t,n)=>{n.d(t,{xl:()=>E});var a=n(55539),s=n(46124),r=n(16241);let l={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(21108),d=n(37037);function u(e,t){return t>=0?"런 ".concat(t+1):"미등록 런"}let p=new Map;function h(e){let t=p.get(e);if(t)return t;let n=p.size+1,a="";for(;n>0;)n-=1,a=String.fromCharCode(65+n%26)+a,n=Math.floor(n/26);let s="계정 ".concat(a);return p.set(e,s),s}let m=new Map,f=new Map;function x(e){if(/^(?:chatgpt|gpt)(?:[-_.\s]|\d|$)/i.test(e))return"GPT";if(/^claude(?:[-_.\s]|\d|$)/i.test(e))return"Claude";if(/^grok(?:[-_.\s]|\d|$)/i.test(e))return"Grok";let t=f.get(e);return t||(t="모델 ".concat(f.size+1),f.set(e,t)),t}let g={ROUTE:"경로 정하기",PLAN:"계획",HEAL:"스스로 수리",SHIP:"착지",VERIFY:"검증",ESCALATE:"사람에게 묻기"};function v(e){let t=g[e];return(0,d.Wf)(t)?t:"신호"}let b={PLAN:"#38bdf8",ROUTE:"#a78bfa",VERIFY:"#fbbf24",HEAL:"#34d399",ESCALATE:"#fb7185",SHIP:"#4ade80"},y={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"},w={ok:"#4ade80",bad:"#fb7185",info:"#c7d2fe"},k=["#f0abfc","#c4b5fd","#93c5fd","#67e8f9","#a7f3d0","#fde68a","#fca5a5"],j={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},N=new Set(["harness","run","phase","pr","model","account","target","universe","pod"]),M=[];function S(e){return!!(e.why||e.purpose||e.target)}function E(e){var t,n,p,m;let{board:f,rows:E=M,windowMinutes:D=60,sourceLabel:B="this instance",shippedSource:$="log",autoReplay:z=!0,publicCapture:G=!1,onSelectRun:V,role:Y="owner"}=e,_=(0,s.useRef)(null),J=(0,s.useRef)({nodes:[],edges:[]}),K=(0,s.useRef)([]),Q=(0,s.useRef)([]),X=(0,s.useRef)(null),Z=(0,s.useRef)([]),[ee,et]=(0,s.useState)(null),[en,ea]=(0,s.useState)(!1),[es,er]=(0,s.useState)(0),[el,eo]=(0,s.useState)(""),[ei,ec]=(0,s.useState)(5),[ed,eu]=(0,s.useState)({nodes:0,edges:0}),ep=(0,s.useRef)(1500),eh=()=>"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,em=e=>{K.current.push({from:e.from,to:e.to,kind:e.kind,t:0,speed:.022,alpha:1,size:3.6}),"SHIP"===e.kind&&Q.current.push({id:e.to,t:0})},ef=(0,s.useMemo)(()=>(0,c.Gp)(E),[E]),ex=(0,s.useMemo)(()=>{var e,t,n;let a=new Map,s=new Set(E.filter(e=>"harness.decision"===e.category).map(r.bh).filter(e=>null!==e)),l=new Map;for(let t of[...E].sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts))){let n=(0,r.bh)(t);if(!n||"harness.decision"!==t.category&&s.has(n))continue;let a="".concat(t.ts,"|").concat(n),o=null!=(e=l.get(a))?e:[];o.push("harness.decision"===t.category?v(n):function(e,t){let n=(0,r.bh)({category:e,event:t}),a=n?g[n]:"신호";return(0,d.Wf)(a)?a:"신호"}(t.category,t.event)),l.set(a,o)}for(let e of f.stream)a.set(e,null!=(n=null==(t=l.get("".concat(e.ts,"|").concat(e.kind)))?void 0:t.pop())?n:v(e.kind));return a},[f.stream,E]),eg=e=>{var t;return null!=(t=ex.get(e))?t:v(e.kind)},ev=(0,s.useMemo)(()=>{let e=Date.now(),t=6e4*D,n=(0,c.lb)(E).map(e=>e.ms/6e4).filter(e=>e>0),a=ef.map(e=>e.input+e.output).filter(e=>e>0);return{now:e,candles:(0,c.OL)(ef,e,40,Math.max(6e4,6e4*Math.ceil(t/40/6e4))),bucketMin:Math.max(1,Math.ceil(t/40/6e4)),ticker:(0,c.kJ)(ef,e,t),heat:(0,c.f)(ef),hist:(0,c.JW)(n,40),tokHist:(0,c.JW)(a.map(e=>Math.log10(e)),40),spans:n.length,gate:(0,c.cD)(E),load:(0,c.HR)(f),events:(0,c.fT)(E),universes:(0,c.IE)(E),plans:(0,c.D3)(E),pods:(0,c.GJ)(E),retries:(0,c.Jo)(E)}},[ef,E,f,D]),eb=(0,s.useRef)([]);for(let e of f.snapshot.runs)eb.current.includes(e.runId)||eb.current.push(e.runId);for(let e of f.stream)e.runId&&!eb.current.includes(e.runId)&&eb.current.push(e.runId);let ey=e=>(eb.current.includes(e)||eb.current.push(e),u(e,eb.current.indexOf(e))),ew=(0,s.useMemo)(()=>{let e=new Map;return ev.ticker.forEach((t,n)=>e.set(t.model,k[n%k.length])),t=>{var n;return null!=(n=e.get(t))?n:"#a5b4fc"}},[ev.ticker]);(0,s.useEffect)(()=>{let e=()=>{eo(new Date().toLocaleTimeString(void 0,{hour12:!1})),ec(e=>e<=1?5:e-1)};e();let t=window.setInterval(e,1e3);return()=>window.clearInterval(t)},[]),(0,s.useEffect)(()=>{ec(5)},[E]),(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 r="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),l={id:e,kind:t,label:n,weight:a,x:r.x,y:r.y,vx:0,vy:0};return h.set(e,l),l},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 r.lV){let s=e.stages[n];if(!s&&e.current!==n)continue;let i=o(e.runId,n),c=f(i,"phase",r.fQ[n]);c.current=e.current===n,c.tone=null!=s?s:"info",x(t,i,"bad"===s?"ESCALATE":l[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?l[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}}(f,{events:ev.events,reqs:ef,universes:ev.universes,plans:ev.plans,pods:ev.pods,retries:ev.retries}),a=new Map(J.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)}J.current=n,eu(e=>e.nodes===n.nodes.length&&e.edges===n.edges.length?e:{nodes:n.nodes.length,edges:n.edges.length});let s=ev.pods.map(e=>"pod|".concat(e.ts,"|").concat(e.pool));if(X.current)for(let e of ev.pods){let t="pod|".concat(e.ts,"|").concat(e.pool);X.current.has(t)||em({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 r=s.runId?"run:".concat(s.runId):"harness",l="SHIP"===s.kind&&s.target?"pr:".concat(s.target.replace(/^#/,"")):s.target?"target:".concat(s.target):r;n.push({key:t,kind:s.kind,from:r,to:l})}return n}(null!=(e=X.current)?e:new Set,f);if(X.current){let e=new Map(f.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||!S(s)||eh()||a<t.length-6?em(n):Z.current.push({key:n.key,line:s,from:n.from,to:n.to})}),er(e=>e+1)}X.current=new Set([...null!=(t=X.current)?t:[],...i.map(e=>e.key),...s])},[f,ev.events,ev.universes,ev.plans,ev.pods,ev.retries,ef]),(0,s.useEffect)(()=>{if(ee)return;let e=Z.current.shift();if(!e){en&&ea(!1);return}et({item:e,folding:!1})},[ee,es,en]),(0,s.useEffect)(()=>{if(!ee)return;if(!ee.folding){let e=setTimeout(()=>et({item:ee.item,folding:!0}),ep.current);return()=>clearTimeout(e)}em({from:ee.item.from,to:ee.item.to,kind:ee.item.line.kind});let e=setTimeout(()=>et(null),250);return()=>clearTimeout(e)},[ee]),(0,s.useEffect)(()=>{ep.current=en?550:1500},[en]);let ek=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(!z||ek.current||0===f.stream.length||eh())return;ek.current=!0;let e=setTimeout(()=>ej(),1200);return()=>clearTimeout(e)},[f.stream.length]);let ej=()=>{Z.current=f.stream.filter(S).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}}),ea(!0),er(e=>e+1)};(0,s.useEffect)(()=>{let e=_.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let n=eh(),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},r=0,l=0,o=()=>{let a=window.devicePixelRatio||1,c=e.clientWidth,d=e.clientHeight;(e.width!==Math.round(c*a)||e.height!==Math.round(d*a))&&(e.width=Math.round(c*a),e.height=Math.round(d*a)),t.setTransform(a,0,0,a,0,0);let p=J.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])),r=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],l=a.x-s.x,o=a.y-s.y,i=l*l+o*o;i<1e-6&&(l=.01,o=.01,i=2e-4);let c=e=>"phase"===e||"request"===e||"event"===e||"piece"===e,d=r*(c(a.kind)||c(s.kind)?"request"===a.kind||"request"===s.kind?12e-6:5e-5:18e-5)/i;a.vx+=l*d,a.vy+=o*d,s.vx-=l*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,r=n.y-t.y,l=Math.sqrt(a*a+r*r)||.001,o=(l-("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/l*o,t.vy+=r/l*o,n.vx-=a/l*o,n.vy-=r/l*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))}}(p),l+=1;let m=new Map(p.nodes.map(e=>[e.id,e])),f=e=>n?0:1.4*Math.sin(l/40+e.id.length%7),g=e=>{let t=m.get(e);return t?{x:t.x*c+f(t),y:t.y*d+.7*f(t)}:null};for(let e of(t.clearRect(0,0,c,d),t.globalCompositeOperation="lighter",p.edges)){let n=g(e.from),a=g(e.to);n&&a&&(t.strokeStyle=b[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&&p.edges.length&&l%4==0&&K.current.length<110){let e=p.edges[7919*l%p.edges.length];e.from!==e.to&&K.current.push({from:e.from,to:e.to,kind:e.kind,t:0,speed:.008,alpha:.45,size:1.6})}for(let e of(K.current=K.current.filter(e=>e.t<=1),K.current)){let a=g(e.from),r=g(e.to);if(!a||!r){e.t=2;continue}e.t+=n?1:e.speed;let l=a.x+(r.x-a.x)*e.t,o=a.y+(r.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(b[e.kind]),l-i,o-i,2*i,2*i)}for(let e of(Q.current=Q.current.filter(e=>e.t<=1),Q.current)){let a=g(e.id);if(!a){e.t=2;continue}e.t+=n?1:.014;let r=10+70*Math.min(1,e.t/.3);t.globalAlpha=1-e.t,t.strokeStyle=b.SHIP,t.lineWidth=2.5,t.beginPath(),t.arc(a.x,a.y,r,0,2*Math.PI),t.stroke(),t.drawImage(s(b.SHIP),a.x-r,a.y-r,2*r,2*r)}for(let e of p.nodes){let a=g(e.id),r="phase"===e.kind,o="harness"===e.kind||r&&e.current,i=j[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(l/(r?9:20))*(r?.35:.12)):i,d=(r||"event"===e.kind)&&e.tone?w[e.tone]:y[e.kind],u=o||"run"===e.kind||"model"===e.kind||"account"===e.kind||"universe"===e.kind,p=c*(u?8:3);if(t.globalAlpha=u?.6:.35,t.drawImage(s(d),a.x-p,a.y-p,2*p,2*p),t.globalAlpha="event"===e.kind?.85:1,t.fillStyle=d,t.beginPath(),t.arc(a.x,a.y,c,0,2*Math.PI),t.fill(),r&&e.retries){t.globalAlpha=.75,t.strokeStyle=b.HEAL,t.lineWidth=1,t.setLineDash([3,3]);for(let s=1;s<=Math.min(4,e.retries);s+=1)t.lineDashOffset=n?0:-(l*(.4+.1*s)),t.beginPath(),t.arc(a.x,a.y,c+4+4*s,0,2*Math.PI),t.stroke();t.setLineDash([])}if(r&&e.current&&!n){let e=l%60/60;t.strokeStyle=d,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,p.nodes)){if(!N.has(e.kind))continue;let n=g(e.id);t.fillStyle="harness"===e.kind?"#eef2ff":"phase"===e.kind?"rgba(199,210,254,.65)":"rgba(226,232,240,.82)",t.font=G?"600 14px ui-monospace, SFMono-Regular, monospace":"harness"===e.kind?"600 12px ui-monospace, SFMono-Regular, monospace":"10px ui-monospace, SFMono-Regular, monospace";let a=G?"model"===e.kind?x(e.label):function(e,t){switch(e.kind){case"run":return u(e.id.slice(4),t.indexOf(e.id.slice(4)));case"universe":return e.label,"본부";case"account":return h(e.id.slice(5));case"pod":return h(e.id.slice(4));case"model":case"phase":return e.label;case"pr":return"PR";case"harness":return"ELANOUS HARNESS";default:return"경로"}}(e,eb.current):"harness"===e.kind?"ELANOUS HARNESS":"phase"===e.kind?e.label:e.label.toUpperCase();t.fillText(a,n.x+j[e.kind]+4,n.y+3)}n||(r=requestAnimationFrame(o))};r=requestAnimationFrame(o);let c=t=>{let n=e.getBoundingClientRect(),a=(t.clientX-n.left)/n.width,s=(t.clientY-n.top)/n.height,r=J.current.nodes.find(e=>"run"===e.kind&&.02>Math.hypot(e.x-a,e.y-s));r&&(null==V||V(r.id.replace(/^run:/,"")))};return e.addEventListener("click",c),()=>{cancelAnimationFrame(r),e.removeEventListener("click",c)}},[V,G]);let eN=f.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}(f),eS=null!=(t=null==eM?void 0:eM.run)?t:null,eE=Object.values(f.rounds),eI=r.jg.map(e=>({k:e,n:f.stream.filter(t=>t.kind===e).length})),eA=ef.reduce((e,t)=>e+t.input+t.output,0),eC=ef.reduce((e,t)=>e+t.apiUsd,0),eT=Math.max(1,...ef.slice(0,10).map(e=>e.input+e.output)),eR=eS?r.lV.filter(e=>eS.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 ".concat(G?"text-sm":"text-[11px]"," sm:inline ").concat(G?"text-sm":"lg:text-[10.5px]"," tracking-[.18em] text-indigo-200/80"),children:"\xd7 HARNESS \xb7 판단"}),(0,a.jsx)(C,{publicCapture:G,tone:"live",children:"● LIVE"}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsx)(P,{publicCapture:G,ariaLabel:"판단 띠",bare:!0,items:f.stream.slice(0,16).map((e,t)=>(0,a.jsxs)("span",{className:G?"mx-4 whitespace-normal":"mx-4 whitespace-nowrap",children:[(0,a.jsxs)("span",{style:{color:b[e.kind]},children:["▸ ",G?"판단":e.kind]})," ",(0,a.jsx)("span",{className:"text-slate-300",children:G?eg(e):e.what}),!G&&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:el})]}),(0,a.jsx)(P,{publicCapture:G,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"})," ",eN.live]},"live"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-emerald-300",children:"SHIPPED"})," ",eN.shipped]},"ship"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-indigo-300",children:"DECISIONS/MIN"})," ",eN.decisionsPerMin]},"dpm"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-indigo-300",children:"BURN/MIN"})," ",I(eN.burnTokensPerMin)]},"burn"),...ev.ticker.map(e=>(0,a.jsxs)("span",{className:G?"mx-4 whitespace-normal":"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{style:{color:ew(e.model)},children:G?x(e.model):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 ",I(e.tokens)," tok"]},e.model))]}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsxs)(A,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:"SHIPPED \xb7 병합된 PR",stat:"".concat("github"===$?"GITHUB":"LOG"," \xb7 ").concat(D>=60?"".concat(D/60,"H"):"".concat(D,"M")),children:[(0,a.jsxs)("div",{className:"flex items-end gap-3",children:[(0,a.jsx)(L,{value:eN.shipped,accent:b.SHIP}),(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)(C,{publicCapture:G,tone:"ok",children:"MERGED"}),eN.selfHealRuns>0&&(0,a.jsx)(C,{publicCapture:G,tone:"heal",children:"SELF-HEALED"}),f.snapshot.counters.blocked>0&&(0,a.jsxs)(C,{publicCapture:G,tone:"bad",children:["BLOCKED ",f.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)(T,{publicCapture:G,label:"SELF-HEAL",value:null===eN.selfHealRate?"—":"".concat(eN.selfHealRate,"%"),color:b.HEAL}),(0,a.jsx)(T,{publicCapture:G,label:"RUNS",value:String(f.snapshot.runs.length),color:"#c7d2fe"}),(0,a.jsx)(T,{publicCapture:G,label:"DECISIONS",value:String(eN.decisions),color:b.PLAN})]})]}),(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:(null==eM?void 0:eM.why)==="merged"?"BEST RUN \xb7 오늘 최고의 런":"NOW \xb7 지금 런",stat:eS?"R ".concat(null!=(n=f.rounds[eS.runId])?n:0,"/3"):"—",children:eS?(0,a.jsxs)("button",{type:"button",className:"block w-full text-left",onClick:()=>null==V?void 0:V(eS.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 ".concat(G?"text-sm":"text-[11px]"," text-slate-400"),children:G?ey(eS.runId):"owner"===Y?eS.runId:"런"}),(null==eM?void 0:eM.why)==="merged"?(0,a.jsxs)(C,{publicCapture:G,tone:"ok",children:["VERIFIED \xb7 MERGED",eS.pr?G?" PR":" #".concat(eS.pr):""]}):(0,a.jsx)(C,{publicCapture:G,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:eS.pr?G?"PR":"#".concat(eS.pr):eS.current?r.fQ[eS.current]:"—"}),(0,a.jsxs)("span",{className:"font-mono ".concat(G?"text-sm":"text-xs"," text-slate-400"),children:[eS.events," signals \xb7 라운드 ",null!=(p=f.rounds[eS.runId])?p:0]})]}),(0,a.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:eR.map(e=>{let t=eS.stages[e];return(0,a.jsxs)(C,{publicCapture:G,tone:"bad"===t?"bad":"ok"===t?"ok":"dim",children:[r.fQ[e],"ok"===t?" ✓":"bad"===t?" ✗":""]},e)})})]}):(0,a.jsx)("p",{className:"py-6 ".concat(G?"text-sm":"text-xs"," text-slate-500"),children:"이 창에 런 신호가 없다 — ▶ REPLAY 로 최근 판단을 본다."})}),(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:"LLM \xb7 ".concat(ev.bucketMin,"분 봉 ⊕ 요청 창"),stat:"".concat(ef.length," REQ \xb7 ").concat(I(eA)," TOK"),children:(0,a.jsxs)("div",{className:"grid grid-cols-5 gap-2",children:[(0,a.jsx)(O,{publicCapture:G,candles:ev.candles,color:ew,unit:"/".concat(ev.bucketMin,"M"),className:"col-span-3"}),(0,a.jsxs)("ul",{className:"col-span-2 ".concat(G?"min-h-28":"h-28"," space-y-0.5 ").concat(G?"overflow-visible":"overflow-hidden"," font-mono ").concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"),"data-live-v5-book":!0,children:[ef.slice(0,10).map((e,t)=>(0,a.jsxs)("li",{className:"relative flex justify-between gap-1 ".concat(G?"overflow-visible":"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)/eT*100,"%"),background:ew(e.model)}}),(0,a.jsx)("span",{className:G?"relative whitespace-normal break-words":"relative truncate",style:{color:ew(e.model)},children:G?x(e.model):e.model}),(0,a.jsx)("span",{className:"relative tabular-nums text-slate-300",children:I(e.input+e.output)})]},"".concat(e.ts,"-").concat(t))),0===ef.length&&(0,a.jsx)("li",{className:"text-slate-500",children:"요청 없음"})]})]})})]}),(0,a.jsx)(A,{publicCapture:G,title:"EXECUTION CYCLE \xb7 하니스 한 바퀴",stat:"".concat(eS?"ROUND ".concat(null!=(m=f.rounds[eS.runId])?m:0,"/3 \xb7 "):"","NEXT ").concat(ei,"S"),children:(0,a.jsx)("div",{className:"grid grid-cols-3 gap-1.5 sm:grid-cols-6",children:r.lV.map((e,t)=>{let n=eS?eS.current===e:ev.load.busiest===e,s=null==eS?void 0:eS.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 ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"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:w[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:r.fQ[e]}),(0,a.jsx)("span",{className:"font-mono ".concat(G?"text-sm":"text-xs"," tabular-nums text-slate-400"),title:"지금 이 단계에 있는 런",children:ev.load.counts[e]})]})]},e)})})}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsxs)(A,{publicCapture:G,className:"relative col-span-12 xl:col-span-10",title:"JUDGMENT GRAPH \xb7 FORCE",stat:"NODES ".concat(ed.nodes," \xb7 EDGES ").concat(ed.edges),bodyClass:"p-0",hot:!0,children:[(0,a.jsx)("canvas",{ref:_,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 ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"),children:eI.map(e=>{let{k:t,n}=e;return(0,a.jsxs)("span",{style:{color:b[t]},children:["● ",G?v(t):t," ",(0,a.jsx)("span",{className:"text-slate-400",children:n})]},t)})}),(0,a.jsx)("button",{type:"button",onClick:ej,disabled:en||0===f.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 ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"," text-indigo-200 hover:bg-indigo-500/20 disabled:opacity-40"),title:"이 창의 판단을 옛것부터 빨리 감기(최근 40)",children:en?"REPLAY \xb7 ".concat(Z.current.length):"▶ REPLAY"}),ee&&(0,a.jsx)(q,{item:ee.item,folding:ee.folding,role:Y,publicCapture:G,runLabel:ey})]}),(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 xl:col-span-2",title:"STATS",stat:"".concat(ei,"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)(R,{publicCapture:G,label:"PATHS",value:f.stream.reduce((e,t)=>{var n;return e+(null!=(n=t.paths)?n:0)},0)||"—"}),(0,a.jsx)(R,{publicCapture:G,label:"CONV",value:f.convergence.length?"".concat(f.convergence.filter(e=>{var t;return(null==(t=e.points.at(-1))?void 0:t.asks)===0}).length,"/").concat(f.convergence.length):"—"}),(0,a.jsx)(R,{publicCapture:G,label:"ROUNDS AVG",value:eE.length?(eE.reduce((e,t)=>e+t,0)/eE.length).toFixed(1):"—"}),(0,a.jsx)(R,{publicCapture:G,label:"DECISIONS/MIN",value:eN.decisionsPerMin}),(0,a.jsx)(R,{publicCapture:G,label:"SIGNALS",value:E.length}),(0,a.jsx)(R,{publicCapture:G,label:"LLM REQ",value:ef.length}),G?(0,a.jsx)(R,{publicCapture:G,label:"MODELS",value:ev.ticker.length}):(0,a.jsx)(R,{publicCapture:G,label:"API ≈ USD",value:"$".concat(eC.toFixed(2))}),(0,a.jsx)(R,{publicCapture:G,label:"NEXT POLL",value:"".concat(ei,"s")})]})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"MODEL \xd7 SITE \xb7 요청 수",stat:"MAX ".concat(ev.heat.max),children:(0,a.jsx)(F,{heat:ev.heat,color:ew,publicCapture:G})}),(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"DISTRIBUTION \xb7 런 소요 ⊕ 요청 토큰",stat:"".concat(ev.spans," RUNS \xb7 ").concat(ef.length," REQ"),children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,a.jsx)(W,{publicCapture:G,hist:ev.hist,label:e=>"".concat(e.toFixed(0),"분")}),(0,a.jsx)(W,{publicCapture:G,hist:ev.tokHist,label:e=>I(10**e)})]})}),(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"CONVERGENCE \xb7 must-fix ⊕ GATE",stat:"".concat(f.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)(U,{publicCapture:G,series:f.convergence})}),(0,a.jsx)(H,{publicCapture:G,pass:ev.gate.pass,fail:ev.gate.fail,verdicts:f.snapshot.reviewVerdicts})]})}),(0,a.jsx)(A,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"EXECUTION LOG \xb7 LIVE",stat:"".concat(f.stream.length),bodyClass:"px-2 py-1",children:(0,a.jsxs)("ul",{className:"".concat(G?"min-h-[124px]":"h-[124px]"," space-y-0.5 ").concat(G?"overflow-visible":"overflow-hidden"," font-mono ").concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10.5px]"),"data-live-max-stream":!0,children:[f.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(b.SHIP)}:void 0,children:[(0,a.jsx)("span",{className:"shrink-0 text-slate-500",title:e.ts,children:(0,r.qo)(e.ts)}),(0,a.jsx)("span",{className:"w-14 shrink-0 rounded px-1 text-center",style:{color:b[e.kind],background:"".concat(b[e.kind],"1f")},children:G?"판단":e.kind}),(0,a.jsxs)("span",{className:G?"whitespace-normal break-words":"truncate",children:[G?eg(e):e.what,!G&&e.target&&(0,a.jsxs)("span",{className:"text-slate-500",children:[" → ",e.target]})]})]},"".concat(e.ts,"-").concat(t))),0===f.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 ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"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:G?"본부":B})]}),(0,a.jsxs)("span",{children:["SIGNALS ",(0,a.jsx)("span",{className:"text-slate-200",children:E.length})]}),(0,a.jsxs)("span",{children:["LLM ",(0,a.jsxs)("span",{className:"text-slate-200",children:[ef.length," req"]})]}),(0,a.jsxs)("span",{children:["EMITTED ",(0,a.jsx)("span",{className:"text-slate-200",children:f.emitted})]}),G&&(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 I(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 A(e){let{title:t,stat:n,children:s,className:r="",bodyClass:l="p-2.5",hot:o=!1,publicCapture:i}=e;return(0,a.jsxs)("section",{className:"".concat(i?"overflow-visible":"overflow-hidden"," rounded-lg border bg-slate-950/70 ").concat(r),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 ".concat(i?"text-sm":"text-[11px]"," ").concat(i?"text-sm":"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:l,children:s})]})}function C(e){let{tone:t,children:n,publicCapture:s}=e,r="ok"===t?b.SHIP:"bad"===t?b.ESCALATE:"heal"===t?b.HEAL:"dim"===t?"#a5b4fc":"#f0abfc";return(0,a.jsx)("span",{className:"inline-block ".concat(s?"whitespace-normal":"whitespace-nowrap"," rounded px-1.5 py-0.5 font-mono ").concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"lg:text-[10px]"," font-semibold tracking-wider ").concat("live"===t?"live-v5-blink":""),style:{color:r,background:"".concat(r,"22"),boxShadow:"inset 0 0 0 1px ".concat(r,"66")},children:n})}function T(e){let{label:t,value:n,color:s,publicCapture:r}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-mono ".concat(r?"text-sm":"text-[11px]"," ").concat(r?"text-sm":"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 R(e){let{label:t,value:n,publicCapture:s}=e;return(0,a.jsxs)("div",{className:"border-b border-indigo-400/10 pb-1",children:[(0,a.jsx)("dt",{className:"".concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"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 P(e){let{items:t,ariaLabel:n,slow:s=!1,bare:r=!1,publicCapture:l}=e;return(0,a.jsx)("div",{className:"relative overflow-hidden font-mono ".concat(l?"text-sm":"text-[11px]"," ").concat(r?"":"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 L(e){let{value:t,accent:n}=e,[r,l]=(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=r=>{let o=Math.min(1,(r-n)/900);l(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(r)})}function O(e){let{candles:t,color:n,unit:s,className:r="",publicCapture:l}=e,o=Math.max(1,...t.map(e=>e.count)),i=240/t.length,c=(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(240," ").concat(120),className:l?"h-28 w-full":"h-28 w-full ".concat(r),"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[r,l]=e,c=l/o*114;return s-=c,(0,a.jsx)("rect",{x:t*i+1,y:s,width:Math.max(1,i-2),height:c,fill:n(r),opacity:.85},"".concat(t,"-").concat(r))})}),!l&&(0,a.jsxs)("text",{x:238,y:10,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"end",children:[o,s]})]});return l?(0,a.jsxs)("div",{className:r,children:[c,(0,a.jsxs)("span",{className:"block break-words font-mono text-sm text-slate-400",children:[o,s]})]}):c}function F(e){let{heat:t,color:n,publicCapture:s}=e;return 0===t.models.length?(0,a.jsx)("p",{className:"py-6 ".concat(s?"text-sm":"text-xs"," text-slate-500"),children:"이 창에 요청이 없다."}):(0,a.jsxs)("table",{className:"w-full border-separate border-spacing-0.5 font-mono ".concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"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:s?"max-w-16 whitespace-normal break-words font-normal text-slate-500":"max-w-16 truncate font-normal text-slate-500",children:s?function(e){let t=e.toLowerCase();if("stream-llm"===t||t.startsWith("stream-llm-"))return"대화";if("agent-turn"===t||t.startsWith("agent-turn-"))return"자리 턴";if("pod-rollup"===t||t.startsWith("pod-"))return"파드 작업";if(t.startsWith("stream-"))return"대화 작업";if(t.startsWith("agent-"))return"자리 작업";let n=m.get(e);return n||(n="작업 ".concat(m.size+1),m.set(e,n)),n}(e):e},e))]})}),(0,a.jsx)("tbody",{children:t.models.map(e=>(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:s?"max-w-24 whitespace-normal break-words pr-1":"max-w-24 truncate pr-1",style:{color:n(e)},children:s?x(e):e}),t.sites.map(n=>{var s;let r=null!=(s=t.cells["".concat(e,"|").concat(n)])?s:0,l=0===r?0:Math.min(5,Math.ceil(r/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:l?"rgba(167,139,250,".concat(.12+.15*l,")"):"rgba(30,41,59,.5)",color:l>=4?"#fff":"#cbd5e1"},children:r||"\xb7"},n)})]},e))})]})}function W(e){let{hist:t,label:n,publicCapture:s}=e,r=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:b.HEAL}),(0,a.jsx)("stop",{offset:"60%",stopColor:b.PLAN}),(0,a.jsx)("stop",{offset:"100%",stopColor:b.ROUTE})]})}),t.bins.map((e,n)=>{let s=t.max?e/t.max*86:0;return(0,a.jsx)("rect",{x:n*r+.5,y:90-s,width:Math.max(1,r-1),height:s,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 ".concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"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 H(e){let{pass:t,fail:n,verdicts:s,publicCapture:r}=e,l=[{name:"GATE ✓",count:t,c:b.SHIP},{name:"GATE ✗",count:n,c:b.ESCALATE},...s.slice(0,3).map(e=>({name:e.name.toUpperCase(),count:e.count,c:b.VERIFY}))],o=Math.max(1,...l.map(e=>e.count));return(0,a.jsx)("ul",{className:"space-y-1 font-mono ".concat(r?"text-sm":"text-[11px]"," ").concat(r?"text-sm":"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:r?"whitespace-normal break-words":"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/o*100,"%"),background:e.c,boxShadow:"0 0 8px ".concat(e.c,"88")}})})]},e.name))})}function q(e){var t;let{item:n,folding:s,role:l,publicCapture:o,runLabel:i}=e,{line:c}=n,d=b[c.kind];return(0,a.jsxs)("div",{"data-live-decision-card":c.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(d,"88"),boxShadow:"0 0 32px ".concat(d,"55"),opacity:+!s,transform:"translateX(-50%) scale(".concat(s&&!o?.6:1,")")},children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-mono ".concat(o?"text-sm":"text-[11px]"," ").concat(o?"text-sm":"lg:text-[10px]"),children:[(0,a.jsxs)("span",{style:{color:d},children:["● ",c.kind]}),(0,a.jsx)("span",{className:"text-slate-500",children:(0,r.qo)(c.ts)}),(o||"owner"===l)&&c.runId&&(0,a.jsx)("span",{className:"text-slate-500",children:o?i(c.runId):c.runId.replace(/^run-/,"").slice(0,8)}),c.paths?(0,a.jsxs)("span",{className:"ml-auto text-slate-400",children:["PATHS ",c.paths]}):null]}),(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-2 ".concat(o?"text-sm":"text-[11px]"," leading-snug"),children:[(0,a.jsx)(D,{publicCapture:o,label:"무엇 \xb7 WHAT",value:o?v(c.kind):c.what,strong:!0}),(0,a.jsx)(D,{publicCapture:o,label:"왜 \xb7 WHY",value:o?v(c.kind):null!=(t=(0,r.hS)(c.why,l))?t:c.purpose}),(0,a.jsx)(D,{publicCapture:o,label:"어디로 \xb7 TO",value:o?c.target?v(c.kind):null:c.target,accent:d})]})]})}function D(e){let{label:t,value:n,strong:s=!1,accent:r,publicCapture:l}=e;return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"font-mono ".concat(l?"text-sm":"text-[11px]"," ").concat(l?"text-sm":"lg:text-[9px]"," tracking-widest text-slate-500"),children:t}),(0,a.jsx)("div",{className:s?"".concat(l?"break-words":"line-clamp-3"," font-medium text-slate-100"):"".concat(l?"break-words":"line-clamp-3"," text-slate-300"),style:r&&n?{color:r}:void 0,children:null!=n?n:"—"})]})}function U(e){let{series:t,publicCapture:n}=e,s=Math.max(1,...t.flatMap(e=>e.points.map(e=>e.asks))),r=Math.max(3,...t.flatMap(e=>e.points.map(e=>e.round))),l=e=>20+(e-1)/Math.max(1,r-1)*146,o=e=>84-e/s*72,i=Array.from({length:r},(e,t)=>t+1);return(0,a.jsxs)("div",{"data-live-convergence":!0,children:[0===t.length?(0,a.jsx)("div",{className:"py-8 text-center ".concat(n?"text-sm":"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"}),i.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"}),!n&&(0,a.jsxs)("text",{x:l(e),y:96,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"middle",children:["R",e]})]},e)),!n&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("text",{x:17,y:o(s)+3,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"end",children:s}),(0,a.jsx)("text",{x:17,y:o(0)+3,fill:b.SHIP,fontSize:8,fontFamily:"monospace",textAnchor:"end",children:"0"})]}),t.slice(0,6).map((e,t)=>{let s=e.points.at(-1),r=0===s.asks?b.SHIP:["#818cf8","#fbbf24","#38bdf8","#f0abfc","#fb7185"][t%5];return(0,a.jsxs)("g",{children:[(0,a.jsx)("polyline",{fill:"none",stroke:r,strokeWidth:1.6,points:e.points.map(e=>"".concat(l(e.round),",").concat(o(e.asks))).join(" ")}),e.points.map(e=>(0,a.jsx)("circle",{cx:l(e.round),cy:o(e.asks),r:2.5,fill:r},e.round)),!n&&(0,a.jsxs)("text",{x:l(s.round)+4,y:o(s.asks)-3,fill:r,fontSize:8,fontFamily:"monospace",children:["#",e.pr," ",s.asks]})]},e.pr)})]}),n&&t.length>0&&(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-1 font-mono text-sm text-slate-400","data-live-convergence-labels":!0,children:[(0,a.jsxs)("span",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:s}),(0,a.jsx)("span",{className:"text-emerald-300",children:"0"})]}),(0,a.jsx)("span",{className:"flex flex-wrap gap-x-2",children:i.map(e=>(0,a.jsxs)("span",{children:["R",e]},e))}),(0,a.jsx)("span",{className:"flex flex-col break-words",children:t.slice(0,6).map((e,t)=>{let n=e.points.at(-1);return(0,a.jsxs)("span",{style:{color:0===n.asks?b.SHIP:["#818cf8","#fbbf24","#38bdf8","#f0abfc","#fb7185"][t%5]},children:["#",e.pr," ",n.asks]},e.pr)})})]})]})}},94306:(e,t,n)=>{n.d(t,{M1:()=>c,Qj:()=>d,tI:()=>i});var a=n(55539),s=n(46124),r=n(76642),l=n(50363);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 r.E({defaultOptions:{queries:{staleTime:null!=i?i:2e3,refetchOnWindowFocus:!1}}}),[n,i]);return(0,a.jsx)(o.Provider,{value:t,children:(0,a.jsx)(l.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)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5977],{48087:(e,o,l)=>{l.d(o,{Hw:()=>x,vm:()=>L,f4:()=>j,OE:()=>P,Ue:()=>E,Ye:()=>R});var t=l(91123),a=l(40828),i=l(22403),n=l(17873),r=l(74227),s=l(94476),p=l(65962),c=l(20931),b=l(35308),d=l(91925),h=l(36744),u=l(46044),w=l(73855),f=l(24982),g=l(32030),k=l(13080),v=l(33932),m=l(53987),y=l(26879),A=l(76340),O=l(5500),C=l(31826),T=l(92161);let x=[{id:"today",label:"오늘",icon:t.A,bottomTab:!0},{id:"talk",label:"대화",icon:a.A,bottomTab:!0},{id:"work",label:"일",icon:i.A,bottomTab:!0},{id:"make",label:"만들기",icon:n.A,bottomTab:!0},{id:"files",label:"자료",icon:r.A,bottomTab:!1},{id:"settings",label:"설정",icon:s.A,bottomTab:!1},{id:"ops",label:"운영\uD83D\uDD12",icon:p.A,bottomTab:!1}];function R(e,o){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"owner",t=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0,i=e=>{var o;return null!=(o=e.visibility)?o:"public"},n=e.filter(e=>"ops"===e.group?t:(0,T.EX)(l,e.href,a));return{main:n.filter(e=>"ops"===e.group||"public"===i(e)),labs:o.showLabs?n.filter(e=>"ops"!==e.group&&"labs"===i(e)):[],hidden:o.showHidden?n.filter(e=>"ops"!==e.group&&"hidden"===i(e)):[]}}let j="elanous.nav.showLabs",L="elanous.nav.showHidden",P=[{href:"/share",category:"system-share-target",reason:"운영체제가 공유 동작으로 호출하는 Share Target 진입점."},{href:"/missions",category:"dynamic-route-parent",reason:"`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다."},{href:"/setup",category:"provider-onboarding",reason:"LLM provider 온보딩 진입점."},{href:"/setup/done",category:"provider-onboarding-complete",reason:"LLM provider 온보딩 완료 화면."},{href:"/settings/devices",category:"settings-subpage",reason:"Settings 아래 Device fleet 하위 화면."},{href:"/workflows",category:"workflow-legacy-redirect",reason:"기존 워크플로 링크를 /editor?mode=workflow 로 전달한다."},{href:"/workflows/chat-ui",category:"workflow-subflow",reason:"Workflows에서 여는 hosted chat 하위 흐름."},{href:"/",category:"root-welcome",reason:"첫 방문자를 위한 루트 welcome 화면."},{href:"/404",category:"error-page",reason:"오류 페이지."},{href:"/decisions",category:"operator-direct-link",reason:"대표 결정 화면(OPS-BOARD #24604) — /ceo 「결정 대기 카드」에서 들어간다(메뉴엔 /ceo 만)."},{href:"/consult",category:"contact-form",reason:"AX 도입 상담\xb7과정 문의를 접수하는 입력 화면(CS1 \xb7 #22436)."},{href:"/morning",category:"unwired-screen",reason:"부르는 백엔드가 아직 없는 미배선 화면."},{href:"/inside",category:"beta-direct-link",reason:"시연자가 주소로 여는 엘라누스 안쪽 장면 지도(메뉴에는 노출하지 않음)."},{href:"/botlab",category:"diagnostic-readonly",reason:"봇 화면 \xab벽\xbb을 한 자리에서 보는 읽기 진단 화면(#15390 \xb7 봇 운영자용)."}],E=[{group:"today",href:"/today",label:"오늘",hint:"결정 대기 \xb7 맡긴 일 \xb7 최근 대화",icon:t.A,kind:null},{group:"today",href:"/approvals",label:"승인 대기",hint:"아이디어 PR 요약 \xb7 승인하고 머지",icon:c.A,kind:null},{group:"today",href:"/intake",label:"넣기",hint:"넣으면 흡수 \xb7 작업 \xb7 그래프로 (URL \xb7 미션 \xb7 메모)",icon:t.A,kind:null},{group:"talk",href:"/chat",label:"채팅",hint:"채팅 (스트리밍 \xb7 multimodal \xb7 mic)",icon:a.A,kind:"chat"},{group:"talk",href:"/exec",label:"COO 에게 맡기기",hint:"COO 에게 맡기기 \xb7 맡긴 일",icon:b.A,kind:null},{group:"work",href:"/autopilot",label:"미션",hint:"미션 \xb7 작업 (미션 계보\xb7골 던지기\xb7작업 보드\xb7자율행동)",icon:i.A,kind:null,activeAlso:["/tasks","/missions"]},{group:"work",href:"/outputs",label:"산출물",hint:"엘라누스가 만든 문서 \xb7 슬라이드 \xb7 보고서 \xb7 영상",icon:d.A,kind:null},{group:"work",href:"/scheduler",label:"예약",hint:"예약 잡 종합 현황 (크론\xb7데몬\xb7launchd)",icon:h.A,kind:null},{group:"work",href:"/live",label:"Live",hint:"런이 판단\xb7기획하는 신호 (진짜 수 \xb7 쇼 모드)",icon:u.A,kind:null},{group:"work",href:"/trace",label:"Trace",hint:"렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)",icon:w.A,kind:null},{group:"make",href:"/term",label:"터미널",hint:"터미널 + agent dock",icon:n.A,kind:"term"},{group:"make",href:"/editor",label:"편집기",hint:"워크플로 \xb7 실행 그래프 작성\xb7편집",icon:f.A,kind:null,visibility:"labs",activeAlso:["/workflows"]},{group:"make",href:"/design-check",label:"디자인",hint:"디자인 시스템 고르기 \xb7 시안 \xb7 URL 로 내 시스템",icon:g.A,kind:null},{group:"make",href:"/workspace",label:"여러 탭",hint:"여러 탭 동시 보기",icon:d.A,kind:null,visibility:"labs"},{group:"files",href:"/vault",label:"Obsidian 노트",hint:"Vault — Obsidian 노트 (브라우저\xb7에디터\xb7검색\xb7그래프)",icon:r.A,kind:null},{group:"files",href:"/field",label:"현장 올리기",hint:"현장 올리기 \xb7 사진과 메모",icon:t.A,kind:null},{group:"files",href:"/market",label:"마켓",hint:"플러그인 찾아보기 \xb7 상세 \xb7 설치됨",icon:k.A,kind:null},{group:"settings",href:"/settings",label:"설정",hint:"환경 + provider + theme",icon:s.A,kind:"settings"},{group:"ops",href:"/ceo",label:"대표 조망판",hint:"판 진행 \xb7 루프 판정 \xb7 결정 대기 \xb7 오늘 병합",icon:v.A,kind:null},{group:"ops",href:"/loops",label:"루프 현황",hint:"루프\xb7크론 발화 상태 (읽기 전용 \xb7 beta)",icon:u.A,kind:null},{group:"ops",href:"/ops/release",label:"릴리스",hint:"판 진행 노드 줄 \xb7 로그 꼬리",icon:f.A,kind:null},{group:"ops",href:"/ops/checklist",label:"판별 피처",hint:"확인표 칸 목록 \xb7 상태 \xb7 담당 \xb7 근거",icon:c.A,kind:null},{group:"ops",href:"/ops/seats",label:"자리 현황",hint:"자리별 지금 일 \xb7 착지 \xb7 막힘 \xb7 결정 대기(?capture=public 공개 시연)",icon:m.A,kind:null},{group:"ops",href:"/bots",label:"봇",hint:"봇 신원 + 공통 명령 카탈로그 (읽기 전용)",icon:b.A,kind:null,visibility:"hidden"},{group:"ops",href:"/observatory",label:"관측",hint:"subject 관측 (talk \xb7 screen \xb7 agent)",icon:y.A,kind:null,visibility:"hidden"},{group:"ops",href:"/worktrees",label:"작업 트리",hint:"격리 작업 트리 목록\xb7상태",icon:f.A,kind:null,visibility:"hidden"},{group:"ops",href:"/control",label:"제어",hint:"데몬 제어 패널",icon:p.A,kind:"control",visibility:"hidden"},{group:"work",href:"/tasks",label:"Tasks",hint:"작업 보드 (Missions 안 ② 작업)",icon:A.A,kind:"tasks",visibility:"hidden"},{group:"work",href:"/board",label:"보드",hint:"태스크 카드 흐름 (스튜어드 → 실행 → 착지 → 릴리스)",icon:A.A,kind:null,visibility:"labs"},{group:"work",href:"/sessions",label:"대화 카드",hint:"대화 카드 데크 (스와이프 결정)",icon:O.A,kind:null,visibility:"hidden"},{group:"today",href:"/reflection",label:"Reflection",hint:"오늘의 회고 (5분 갱신)",icon:C.A,kind:null,visibility:"hidden"},...[].map(e=>({...e,group:"files"})),{group:"make",href:"/showroom",label:"Showroom",hint:"multi-agent 동시 비교 (broadcast \xb7 CV-3)",icon:v.A,kind:null,visibility:"labs"}]},65354:(e,o,l)=>{l.d(o,{AF:()=>t});let t={all:["nexus"],health:()=>[...t.all,"health"],snapshot:()=>[...t.all,"snapshot"],tabs:e=>e?[...t.all,"tabs",{kind:e}]:[...t.all,"tabs"],tab:e=>[...t.all,"tab",e],templates:()=>[...t.all,"templates"],template:e=>[...t.all,"template",e],config:()=>[...t.all,"config"],switches:()=>[...t.all,"switches"],switch:e=>[...t.all,"switch",e],secrets:()=>[...t.all,"secrets"],bindingChannels:()=>[...t.all,"bindings","channels"],bindings:e=>[...t.all,"bindings",e],binding:(e,o)=>[...t.all,"binding",e,o],logsTail:(e,o)=>o?[...t.all,"logs",e,{lines:o}]:[...t.all,"logs",e],workflows:()=>[...t.all,"workflows"],workflow:e=>[...t.all,"workflow",e],workflowRun:e=>[...t.all,"workflow-run",e],workflowRuns:()=>[...t.all,"workflow-runs"],pendingApprovals:()=>[...t.all,"workflow-pending-approvals"],platforms:()=>[...t.all,"platforms"],providers:()=>[...t.all,"providers"],worktrees:()=>[...t.all,"worktrees"],designCheck:()=>[...t.all,"design-check"],designPreviews:()=>[...t.all,"design-previews"],designPreview:e=>[...t.all,"design-preview",e],registryCatalog:()=>[...t.all,"registry-catalog"],resolvedView:()=>[...t.all,"resolved-view"]};t.snapshot(),t.tabs(),t.health(),t.snapshot(),t.config(),t.switches()},92161:(e,o,l)=>{l.d(o,{dY:()=>n,EX:()=>r});let t={pwaRoute:{"/":{pwa:"stable"},"/404":{pwa:"stable"},"/setup":{pwa:"stable"},"/setup/done":{pwa:"stable"},"/consult":{pwa:"stable"},"/chat":{pwa:"stable"},"/today":{pwa:"stable"},"/term":{pwa:"stable"},"/live":{pwa:"stable"},"/market":{pwa:"stable"},"/sessions":{pwa:"stable"},"/settings":{pwa:"beta"},"/editor":{pwa:"beta"},"/intake":{pwa:"beta"},"/trace":{pwa:"beta"},"/inside":{pwa:"beta"},"/board":{pwa:"beta"},"/autopilot":{pwa:"beta"},"/missions/[id]":{pwa:"beta"},"/tasks":{pwa:"beta"},"/workspace":{pwa:"beta"},"/reflection":{pwa:"beta"},"/vault":{pwa:"beta"},"/observatory":{pwa:"beta"},"/exec":{pwa:"beta"},"/outputs":{pwa:"beta"},"/field":{pwa:"beta"},"/showroom":{pwa:"beta"},"/workflows":{pwa:"beta"},"/approvals":{pwa:"tool"},"/worktrees":{pwa:"tool"},"/design-check":{pwa:"tool"},"/control":{pwa:"tool"},"/scheduler":{pwa:"ops"},"/loops":{pwa:"beta"},"/ops/release":{pwa:"ops"},"/ops/seats":{pwa:"ops"},"/ops/checklist":{pwa:"ops"},"/ceo":{pwa:"ops"},"/decisions":{pwa:"ops"},"/dashboard":{pwa:"ops"},"/bots":{pwa:"ops"},"/botlab":{pwa:"ops"},"/morning":{pwa:"broken"},"/settings/devices":{pwa:"broken"},"/workflows/chat-ui":{pwa:"broken"},"/share":{pwa:"system"}}},a=Object.fromEntries(Object.entries(t.pwaRoute).map(e=>{let[o,l]=e;return[o,l.pwa]}));function i(e){var o;let l=(null==(o=e.split(/[?#]/,1)[0])?void 0:o.replace(/\/+$/,""))||"/";return Object.prototype.hasOwnProperty.call(a,l)?l:l.startsWith("/missions/")&&-1===l.slice(10).indexOf("/")?"/missions/[id]":l}function n(e){let o=i(e);return Object.prototype.hasOwnProperty.call(a,o)?a[o]:void 0}function r(e,o,l){let a=i(o);if("general"===e&&(null==l?void 0:l.showBeta)&&"beta"===n(a))return!0;let r=function(e,o){var l;if(!Object.prototype.hasOwnProperty.call(t.pwaRoute,e))return;let a=t.pwaRoute[e];return null!=(l=a.pwa)?l:"desktop"===o?a.pwa:void 0}(a,"pwa");return!!r&&("owner"===e||"system"!==r&&("/settings"===a||"stable"===r||"contributor"===e&&("beta"===r||"tool"===r)))}},94306:(e,o,l)=>{l.d(o,{M1:()=>p,Qj:()=>c,tI:()=>s});var t=l(55539),a=l(46124),i=l(76642),n=l(50363);let r=(0,a.createContext)(null);function s(e){let{client:o,queryClient:l,defaultStaleTimeMs:s,children:p}=e,c=(0,a.useMemo)(()=>null!=l?l:new i.E({defaultOptions:{queries:{staleTime:null!=s?s:2e3,refetchOnWindowFocus:!1}}}),[l,s]);return(0,t.jsx)(r.Provider,{value:o,children:(0,t.jsx)(n.Ht,{client:c,children:p})})}function p(){let e=(0,a.useContext)(r);if(!e)throw Error("useNexusClient must be used within <NexusProvider>");return e}function c(){return(0,a.useContext)(r)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5994],{5500:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("layers-2",[["path",{d:"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z",key:"15q6uc"}],["path",{d:"m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845",key:"byia6g"}]])},13080:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]])},17873:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},20931:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("git-pull-request",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]])},22403:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]])},24982:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},26879:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]])},31826:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},32030:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},33932:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},35308:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},36744:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("calendar-clock",[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]])},40828:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},46044:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},53987:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).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"}]])},65962:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("sliders-vertical",[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]])},73855:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},74227:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},76340:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("square-kanban",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}]])},91123:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},91925:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},94476:(e,a,t)=>{t.d(a,{A:()=>y});let y=(0,t(3704).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])}}]);
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6158],{46158:(e,t,r)=>{r.r(t),r.d(t,{SHELL_READY_CAP_MS:()=>X,XtermView:()=>q});var n,l,i,s,o,a=r(55539),u=r(46124),c=r(54888),h=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),l=Math.max(0,parseInt(r.getPropertyValue("width"))),i=window.getComputedStyle(this._terminal.element),s={top:parseInt(i.getPropertyValue("padding-top")),bottom:parseInt(i.getPropertyValue("padding-bottom")),right:parseInt(i.getPropertyValue("padding-right")),left:parseInt(i.getPropertyValue("padding-left"))},o=s.top+s.bottom;return{cols:Math.max(2,Math.floor((l-(s.right+s.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-o)/e.css.cell.height))}}},d=r(18808),f=r(51224),m=0,p=0,g=0,b=0;function _(e){let t=e.toString(16);return t.length<2?"0"+t:t}function C(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}(e=>{e.toCss=function(e,t,r,n){return void 0!==n?`#${_(e)}${_(t)}${_(r)}${_(n)}`:`#${_(e)}${_(t)}${_(r)}`},e.toRgba=function(e,t,r,n=255){return(e<<24|t<<16|r<<8|n)>>>0},e.toColor=function(t,r,n,l){return{css:e.toCss(t,r,n,l),rgba:e.toRgba(t,r,n,l)}}})(n||={}),(e=>{function t(e,t){return b=Math.round(255*t),[m,p,g]=o.toChannels(e.rgba),{css:n.toCss(m,p,g,b),rgba:n.toRgba(m,p,g,b)}}e.blend=function(e,t){if(1==(b=(255&t.rgba)/255))return{css:t.css,rgba:t.rgba};let r=t.rgba>>24&255,l=t.rgba>>16&255,i=t.rgba>>8&255,s=e.rgba>>24&255,o=e.rgba>>16&255,a=e.rgba>>8&255;return m=s+Math.round((r-s)*b),p=o+Math.round((l-o)*b),g=a+Math.round((i-a)*b),{css:n.toCss(m,p,g),rgba:n.toRgba(m,p,g)}},e.isOpaque=function(e){return(255&e.rgba)==255},e.ensureContrastRatio=function(e,t,r){let l=o.ensureContrastRatio(e.rgba,t.rgba,r);if(l)return n.toColor(l>>24&255,l>>16&255,l>>8&255)},e.opaque=function(e){let t=(255|e.rgba)>>>0;return[m,p,g]=o.toChannels(t),{css:n.toCss(m,p,g),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,r){return b=255&e.rgba,t(e,b*r/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}})(l||={}),(e=>{let t,r;try{let e=document.createElement("canvas");e.width=1,e.height=1;let n=e.getContext("2d",{willReadFrequently:!0});n&&((t=n).globalCompositeOperation="copy",r=t.createLinearGradient(0,0,1,1))}catch{}e.toColor=function(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return m=parseInt(e.slice(1,2).repeat(2),16),p=parseInt(e.slice(2,3).repeat(2),16),g=parseInt(e.slice(3,4).repeat(2),16),n.toColor(m,p,g);case 5:return m=parseInt(e.slice(1,2).repeat(2),16),p=parseInt(e.slice(2,3).repeat(2),16),g=parseInt(e.slice(3,4).repeat(2),16),b=parseInt(e.slice(4,5).repeat(2),16),n.toColor(m,p,g,b);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let l=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(l)return m=parseInt(l[1]),p=parseInt(l[2]),g=parseInt(l[3]),b=Math.round((void 0===l[5]?1:parseFloat(l[5]))*255),n.toColor(m,p,g,b);if(!t||!r||(t.fillStyle=r,t.fillStyle=e,"string"!=typeof t.fillStyle)||(t.fillRect(0,0,1,1),[m,p,g,b]=t.getImageData(0,0,1,1).data,255!==b))throw Error("css.toColor: Unsupported css format");return{rgba:n.toRgba(m,p,g,b),css:e}}})(i||={}),(e=>{function t(e,t,r){let n=e/255,l=t/255,i=r/255;return .2126*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.7152*(l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t})(s||={}),(e=>{function t(e,t,r){let n=e>>24&255,l=e>>16&255,i=e>>8&255,o=t>>24&255,a=t>>16&255,u=t>>8&255,c=C(s.relativeLuminance2(o,a,u),s.relativeLuminance2(n,l,i));for(;c<r&&(o>0||a>0||u>0);)o-=Math.max(0,Math.ceil(.1*o)),a-=Math.max(0,Math.ceil(.1*a)),u-=Math.max(0,Math.ceil(.1*u)),c=C(s.relativeLuminance2(o,a,u),s.relativeLuminance2(n,l,i));return(o<<24|a<<16|u<<8|255)>>>0}function r(e,t,r){let n=e>>24&255,l=e>>16&255,i=e>>8&255,o=t>>24&255,a=t>>16&255,u=t>>8&255,c=C(s.relativeLuminance2(o,a,u),s.relativeLuminance2(n,l,i));for(;c<r&&(o<255||a<255||u<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),a=Math.min(255,a+Math.ceil((255-a)*.1)),u=Math.min(255,u+Math.ceil((255-u)*.1)),c=C(s.relativeLuminance2(o,a,u),s.relativeLuminance2(n,l,i));return(o<<24|a<<16|u<<8|255)>>>0}e.blend=function(e,t){if(1==(b=(255&t)/255))return t;let r=e>>24&255,l=e>>16&255,i=e>>8&255;return m=r+Math.round(((t>>24&255)-r)*b),p=l+Math.round(((t>>16&255)-l)*b),g=i+Math.round(((t>>8&255)-i)*b),n.toRgba(m,p,g)},e.ensureContrastRatio=function(e,n,l){let i=s.relativeLuminance(e>>8),o=s.relativeLuminance(n>>8);if(C(i,o)<l){if(o<i){let o=t(e,n,l),a=C(i,s.relativeLuminance(o>>8));if(a<l){let t=r(e,n,l);return a>C(i,s.relativeLuminance(t>>8))?o:t}return o}let a=r(e,n,l),u=C(i,s.relativeLuminance(a>>8));if(u<l){let r=t(e,n,l);return u>C(i,s.relativeLuminance(r>>8))?a:r}return a}},e.reduceLuminance=t,e.increaseLuminance=r,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]}})(o||={});var w=Object.freeze((()=>{let e=[i.toColor("#2e3436"),i.toColor("#cc0000"),i.toColor("#4e9a06"),i.toColor("#c4a000"),i.toColor("#3465a4"),i.toColor("#75507b"),i.toColor("#06989a"),i.toColor("#d3d7cf"),i.toColor("#555753"),i.toColor("#ef2929"),i.toColor("#8ae234"),i.toColor("#fce94f"),i.toColor("#729fcf"),i.toColor("#ad7fa8"),i.toColor("#34e2e2"),i.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let r=0;r<216;r++){let l=t[r/36%6|0],i=t[r/6%6|0],s=t[r%6];e.push({css:n.toCss(l,i,s),rgba:n.toRgba(l,i,s)})}for(let t=0;t<24;t++){let r=8+10*t;e.push({css:n.toCss(r,r,r),rgba:n.toRgba(r,r,r)})}return e})());function v(e,t,r){return Math.max(t,Math.min(e,r))}var y=class{constructor(e){this._buffer=e}serialize(e,t){let r=this._buffer.getNullCell(),n=this._buffer.getNullCell(),l=r,i=e.start.y,s=e.end.y,o=e.start.x,a=e.end.x;this._beforeSerialize(s-i,i,s);for(let t=i;t<=s;t++){let i=this._buffer.getLine(t);if(i){let s=t===e.start.y?o:0,u=t===e.end.y?a:i.length;for(let e=s;e<u;e++){let s=i.getCell(e,l===r?n:r);if(!s){console.warn(`Can't get cell at row=${t}, col=${e}`);continue}this._nextCell(s,l,t,e),l=s}}this._rowEnd(t,t===s)}return this._afterSerialize(),this._serializeString(t)}_nextCell(e,t,r,n){}_rowEnd(e,t){}_beforeSerialize(e,t,r){}_afterSerialize(){}_serializeString(e){return""}};function x(e,t){return e.getFgColorMode()===t.getFgColorMode()&&e.getFgColor()===t.getFgColor()}function S(e,t){return e.getBgColorMode()===t.getBgColorMode()&&e.getBgColor()===t.getBgColor()}function R(e,t){return e.isInverse()===t.isInverse()&&e.isBold()===t.isBold()&&e.isUnderline()===t.isUnderline()&&e.isOverline()===t.isOverline()&&e.isBlink()===t.isBlink()&&e.isInvisible()===t.isInvisible()&&e.isItalic()===t.isItalic()&&e.isDim()===t.isDim()&&e.isStrikethrough()===t.isStrikethrough()}var I=class extends y{constructor(e,t){super(e),this._terminal=t,this._rowIndex=0,this._allRows=[],this._allRowSeparators=[],this._currentRow="",this._nullCellCount=0,this._cursorStyle=this._buffer.getNullCell(),this._cursorStyleRow=0,this._cursorStyleCol=0,this._backgroundCell=this._buffer.getNullCell(),this._firstRow=0,this._lastCursorRow=0,this._lastCursorCol=0,this._lastContentCursorRow=0,this._lastContentCursorCol=0,this._thisRowLastChar=this._buffer.getNullCell(),this._thisRowLastSecondChar=this._buffer.getNullCell(),this._nextRowFirstChar=this._buffer.getNullCell()}_beforeSerialize(e,t,r){this._allRows=Array(e),this._lastContentCursorRow=t,this._lastCursorRow=t,this._firstRow=t}_rowEnd(e,t){this._nullCellCount>0&&!S(this._cursorStyle,this._backgroundCell)&&(this._currentRow+=`\x1b[${this._nullCellCount}X`);let r="";if(!t){e-this._firstRow>=this._terminal.rows&&this._buffer.getLine(this._cursorStyleRow)?.getCell(this._cursorStyleCol,this._backgroundCell);let t=this._buffer.getLine(e),n=this._buffer.getLine(e+1);if(n.isWrapped){r="";let l=t.getCell(t.length-1,this._thisRowLastChar),i=t.getCell(t.length-2,this._thisRowLastSecondChar),s=n.getCell(0,this._nextRowFirstChar),o=s.getWidth()>1,a=!1;(s.getChars()&&o?this._nullCellCount<=1:this._nullCellCount<=0)&&((l.getChars()||0===l.getWidth())&&S(l,s)&&(a=!0),o&&(i.getChars()||0===i.getWidth())&&S(l,s)&&S(i,s)&&(a=!0)),a||(r="-".repeat(this._nullCellCount+1)+"\x1b[1D\x1b[1X",this._nullCellCount>0&&(r+=`\x1b[A\x1b[${t.length-this._nullCellCount}C\x1b[${this._nullCellCount}X\x1b[${t.length-this._nullCellCount}D\x1b[B`),this._lastContentCursorRow=e+1,this._lastContentCursorCol=0,this._lastCursorRow=e+1,this._lastCursorCol=0)}else r=`\r
2
- `,this._lastCursorRow=e+1,this._lastCursorCol=0}this._allRows[this._rowIndex]=this._currentRow,this._allRowSeparators[this._rowIndex++]=r,this._currentRow="",this._nullCellCount=0}_diffStyle(e,t){let r=[],n=!x(e,t),l=!S(e,t),i=!R(e,t);if(n||l||i)if(e.isAttributeDefault())t.isAttributeDefault()||r.push(0);else{if(n){let t=e.getFgColor();e.isFgRGB()?r.push(38,2,t>>>16&255,t>>>8&255,255&t):e.isFgPalette()?t>=16?r.push(38,5,t):r.push(8&t?90+(7&t):30+(7&t)):r.push(39)}if(l){let t=e.getBgColor();e.isBgRGB()?r.push(48,2,t>>>16&255,t>>>8&255,255&t):e.isBgPalette()?t>=16?r.push(48,5,t):r.push(8&t?100+(7&t):40+(7&t)):r.push(49)}i&&(e.isInverse()!==t.isInverse()&&r.push(e.isInverse()?7:27),e.isBold()!==t.isBold()&&r.push(e.isBold()?1:22),e.isUnderline()!==t.isUnderline()&&r.push(e.isUnderline()?4:24),e.isOverline()!==t.isOverline()&&r.push(e.isOverline()?53:55),e.isBlink()!==t.isBlink()&&r.push(e.isBlink()?5:25),e.isInvisible()!==t.isInvisible()&&r.push(e.isInvisible()?8:28),e.isItalic()!==t.isItalic()&&r.push(e.isItalic()?3:23),e.isDim()!==t.isDim()&&r.push(e.isDim()?2:22),e.isStrikethrough()!==t.isStrikethrough()&&r.push(e.isStrikethrough()?9:29))}return r}_nextCell(e,t,r,n){if(0===e.getWidth())return;let l=""===e.getChars(),i=this._diffStyle(e,this._cursorStyle);if(l?!S(this._cursorStyle,e):i.length>0){this._nullCellCount>0&&(S(this._cursorStyle,this._backgroundCell)||(this._currentRow+=`\x1b[${this._nullCellCount}X`),this._currentRow+=`\x1b[${this._nullCellCount}C`,this._nullCellCount=0),this._lastContentCursorRow=this._lastCursorRow=r,this._lastContentCursorCol=this._lastCursorCol=n,this._currentRow+=`\x1b[${i.join(";")}m`;let e=this._buffer.getLine(r);void 0!==e&&(e.getCell(n,this._cursorStyle),this._cursorStyleRow=r,this._cursorStyleCol=n)}l?this._nullCellCount+=e.getWidth():(this._nullCellCount>0&&(S(this._cursorStyle,this._backgroundCell)||(this._currentRow+=`\x1b[${this._nullCellCount}X`),this._currentRow+=`\x1b[${this._nullCellCount}C`,this._nullCellCount=0),this._currentRow+=e.getChars(),this._lastContentCursorRow=this._lastCursorRow=r,this._lastContentCursorCol=this._lastCursorCol=n+e.getWidth())}_serializeString(e){let t=this._allRows.length;this._buffer.length-this._firstRow<=this._terminal.rows&&(t=this._lastContentCursorRow+1-this._firstRow,this._lastCursorCol=this._lastContentCursorCol,this._lastCursorRow=this._lastContentCursorRow);let r="";for(let e=0;e<t;e++)r+=this._allRows[e],e+1<t&&(r+=this._allRowSeparators[e]);if(!e){var n,l;let e=this._buffer.baseY+this._buffer.cursorY,t=this._buffer.cursorX;(e!==this._lastCursorRow||t!==this._lastCursorCol)&&((n=e-this._lastCursorRow)>0?r+=`\x1b[${n}B`:n<0&&(r+=`\x1b[${-n}A`),(l=t-this._lastCursorCol)>0?r+=`\x1b[${l}C`:l<0&&(r+=`\x1b[${-l}D`))}let i=this._terminal._core._inputHandler._curAttrData,s=this._diffStyle(i,this._cursorStyle);return s.length>0&&(r+=`\x1b[${s.join(";")}m`),r}},k=class{activate(e){this._terminal=e}_serializeBufferByScrollback(e,t,r){let n=t.length,l=void 0===r?n:v(r+e.rows,0,n);return this._serializeBufferByRange(e,t,{start:n-l,end:n-1},!1)}_serializeBufferByRange(e,t,r,n){return new I(t,e).serialize({start:{x:0,y:"number"==typeof r.start?r.start:r.start.line},end:{x:e.cols,y:"number"==typeof r.end?r.end:r.end.line}},n)}_serializeBufferAsHTML(e,t){let r=e.buffer.active,n=new M(r,e,t),l=t.onlySelection??!1,i=t.range;if(i)return n.serialize({start:{x:i.startCol,y:(i.startLine,i.startLine)},end:{x:e.cols,y:(i.endLine,i.endLine)}});if(!l){let l=r.length,i=t.scrollback,s=void 0===i?l:v(i+e.rows,0,l);return n.serialize({start:{x:0,y:l-s},end:{x:e.cols,y:l-1}})}let s=this._terminal?.getSelectionPosition();return void 0!==s?n.serialize({start:{x:s.start.x,y:s.start.y},end:{x:s.end.x,y:s.end.y}}):""}_serializeModes(e){let t="",r=e.modes;if(r.applicationCursorKeysMode&&(t+="\x1b[?1h"),r.applicationKeypadMode&&(t+="\x1b[?66h"),r.bracketedPasteMode&&(t+="\x1b[?2004h"),r.insertMode&&(t+="\x1b[4h"),r.originMode&&(t+="\x1b[?6h"),r.reverseWraparoundMode&&(t+="\x1b[?45h"),r.sendFocusMode&&(t+="\x1b[?1004h"),!1===r.wraparoundMode&&(t+="\x1b[?7l"),"none"!==r.mouseTrackingMode)switch(r.mouseTrackingMode){case"x10":t+="\x1b[?9h";break;case"vt200":t+="\x1b[?1000h";break;case"drag":t+="\x1b[?1002h";break;case"any":t+="\x1b[?1003h"}return t}serialize(e){if(!this._terminal)throw Error("Cannot use addon until it has been loaded");let t=e?.range?this._serializeBufferByRange(this._terminal,this._terminal.buffer.normal,e.range,!0):this._serializeBufferByScrollback(this._terminal,this._terminal.buffer.normal,e?.scrollback);if(!e?.excludeAltBuffer&&"alternate"===this._terminal.buffer.active.type){let e=this._serializeBufferByScrollback(this._terminal,this._terminal.buffer.alternate,void 0);t+=`\x1b[?1049h\x1b[H${e}`}return e?.excludeModes||(t+=this._serializeModes(this._terminal)),t}serializeAsHTML(e){if(!this._terminal)throw Error("Cannot use addon until it has been loaded");return this._serializeBufferAsHTML(this._terminal,e||{})}dispose(){}},M=class extends y{constructor(e,t,r){super(e),this._terminal=t,this._options=r,this._currentRow="",this._htmlContent="",t._core._themeService?this._ansiColors=t._core._themeService.colors.ansi:this._ansiColors=w}_padStart(e,t,r){return t|=0,r=r??" ",e.length>t?e:((t-=e.length)>r.length&&(r+=r.repeat(t/r.length)),r.slice(0,t)+e)}_beforeSerialize(e,t,r){this._htmlContent+="<html><body>\x3c!--StartFragment--\x3e<pre>";let n="#000000",l="#ffffff";this._options.includeGlobalBackground&&(n=this._terminal.options.theme?.foreground??"#ffffff",l=this._terminal.options.theme?.background??"#000000");let i=[];i.push("color: "+n+";"),i.push("background-color: "+l+";"),i.push("font-family: "+this._terminal.options.fontFamily+";"),i.push("font-size: "+this._terminal.options.fontSize+"px;"),this._htmlContent+="<div style='"+i.join(" ")+"'>"}_afterSerialize(){this._htmlContent+="</div>",this._htmlContent+="</pre>\x3c!--EndFragment--\x3e</body></html>"}_rowEnd(e,t){this._htmlContent+="<div><span>"+this._currentRow+"</span></div>",this._currentRow=""}_getHexColor(e,t){let r=t?e.getFgColor():e.getBgColor();return(t?e.isFgRGB():e.isBgRGB())?"#"+[r>>16&255,r>>8&255,255&r].map(e=>this._padStart(e.toString(16),2,"0")).join(""):(t?e.isFgPalette():e.isBgPalette())?this._ansiColors[r].css:void 0}_diffStyle(e,t){let r=[],n=!x(e,t),l=!S(e,t),i=!R(e,t);if(n||l||i){let t=this._getHexColor(e,!0);t&&r.push("color: "+t+";");let n=this._getHexColor(e,!1);return n&&r.push("background-color: "+n+";"),e.isInverse()&&r.push("color: #000000; background-color: #BFBFBF;"),e.isBold()&&r.push("font-weight: bold;"),e.isUnderline()&&e.isOverline()?r.push("text-decoration: overline underline;"):e.isUnderline()?r.push("text-decoration: underline;"):e.isOverline()&&r.push("text-decoration: overline;"),e.isBlink()&&r.push("text-decoration: blink;"),e.isInvisible()&&r.push("visibility: hidden;"),e.isItalic()&&r.push("font-style: italic;"),e.isDim()&&r.push("opacity: 0.5;"),e.isStrikethrough()&&r.push("text-decoration: line-through;"),r}}_nextCell(e,t,r,n){if(0===e.getWidth())return;let l=""===e.getChars(),i=this._diffStyle(e,t);i&&(this._currentRow+=0===i.length?"</span><span>":"</span><span style='"+i.join(" ")+"'>"),l?this._currentRow+=" ":this._currentRow+=function(e){switch(e){case"&":return"&amp;";case"<":return"&lt;"}return e}(e.getChars())}_serializeString(){return this._htmlContent}};r(15232);var E=r(15151),z=r(72215),L=r(41375);let B="elanous.pwa.peerId",N=null;function Y(){if(N)return N;let e=window.sessionStorage.getItem(B);return e&&0!==e.length||(e=function(){if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues){let e=new Uint32Array(2);return crypto.getRandomValues(e),(BigInt(e[0])<<32n|BigInt(e[1])).toString(36).slice(0,8)}return Math.random().toString(36).slice(2,10)}(),window.sessionStorage.setItem(B,e)),N=e,e}var T=r(56540),F=r(39693);let D=/^\x1b\[[?>=][\d;]*[a-zA-Z$]/,A=/^\x1b\[\d+;\d+R$/,$=/^\x1b\[0?n$/,O=/^\x1b\][\d;]+;[^\x07\x1b]*(?:\x07|\x1b\\)$/,P=/^\x1b\[\d+;\d+;\d+t$/;var j=r(33981),G=r(72956);let U="elanous.pwa.termFocusStartDisabled",V="elanous.pwa.termFontSize",W=e=>(e.ctrlKey||e.metaKey)&&e.shiftKey&&!e.altKey;function H(e){return Number.isFinite(e)?Math.min(32,Math.max(9,Math.round(e))):13}var K=r(71923);let X=2e3;function q(e){var t;let{sessionId:n,terminalId:l,clearRequest:i=0,readOnly:s=!1,onForeignInputActivity:o}=e,m=(0,u.useRef)(null),p=(0,u.useRef)(null),g=(0,u.useRef)(null),{compact:b}=(0,K.K)(),[_,C]=(0,u.useState)(!1),w=(0,u.useRef)(_);w.current=_;let v=(0,u.useRef)(!1);(0,u.useEffect)(()=>{var e,t;if(!v.current&&b&&(v.current=!0,null==(e=(t=window).matchMedia)?void 0:e.call(t,"(pointer: coarse)").matches)){let e=null;try{e=window.localStorage}catch(e){}!function(e){try{return(null==e?void 0:e.getItem(U))==="1"}catch(e){return!1}}(e)&&(w.current=!0,C(!0))}},[b]);let y=()=>{let e=w.current;if(w.current=!e,e)try{var t=window.localStorage;try{null==t||t.setItem(U,"1")}catch(e){}}catch(e){}C(!e)},x=(0,u.useRef)(void 0),S=(0,u.useRef)(l);S.current!==l&&(S.current=l,x.current=void 0);let R=(0,u.useRef)(n),I=(0,u.useRef)(o);I.current=o;let{client:M,config:B,setSessionId:N}=(0,E.Q)(),[q,J]=(0,u.useState)(()=>({state:"CONNECTING",terminalId:l,connectingSince:Date.now()})),[Q,Z]=(0,u.useState)(0),ee=(0,u.useRef)(0),[et,er]=(0,u.useState)(()=>Date.now()),[en,el]=(0,u.useState)(null),ei=(null==en?void 0:en.terminalId)===l?en:null,es=q.terminalId===l?q.state:"CONNECTING",eo=q.terminalId===l?q.connectingSince:et;(0,u.useEffect)(()=>{if("CONNECTING"!==es)return;er(Date.now());let e=window.setInterval(()=>er(Date.now()),1e3);return()=>window.clearInterval(e)},[es,l]),(0,u.useEffect)(()=>{var e,t,i;if(!m.current)return;let o=new c.B({fontFamily:'"JetBrainsMono Nerd Font", "JetBrains Mono", monospace',fontSize:function(e){try{let t=null==e?void 0:e.getItem(V);return t?H(Number(t)):13}catch(e){return 13}}(window.localStorage),theme:{background:"#0d0c08",foreground:"#e9e3d4",cursor:"#e9e3d4"},allowProposedApi:!0,scrollback:5e3,cursorBlink:!s,disableStdin:s});(0,z.cY)("webterm.xterm.boot",{sessionId:n,terminalId:l,readOnly:s});let a=new h;o.loadAddon(a),o.loadAddon(new d.c((e,t)=>(0,z.cY)("webterm.link.click",{uri:t}))),o.loadAddon(new f.I);let u=new k;o.loadAddon(u),(async()=>{try{let e=await r.e(1268).then(r.bind(r,51268));o.loadAddon(new e.WebglAddon)}catch(e){(0,z.cY)("webterm.webgl.fallback",{reason:String(e)})}})(),(async()=>{try{let e=await r.e(1948).then(r.bind(r,1948));o.loadAddon(new e.ImageAddon),(0,z.cY)("webterm.image-addon.loaded")}catch(e){(0,z.cY)("webterm.image-addon.fallback",{reason:String(e)})}})(),o.unicode.activeVersion="11",o.open(m.current),p.current=o;let b=g.current;b&&(b.__elanousTerm=o),a.fit();let _=(0,T.o1)("xtermScrollback",l),C=(0,T.N2)(_);"string"==typeof C&&C.length>0&&o.write(C);let w=()=>{},v=!1,y=M.connectAcp({...n?{sessionId:n}:{},onSession:e=>{e&&(v=!0,R.current=e,w(e)),e&&e!==n&&((0,z.cY)("webterm.acp.session.adopted",{from:n,to:e}),N(e))}});(0,z.cY)("webterm.acp.session.attach",{sessionId:n,terminalId:l});let x=y.onState((e,t)=>{let r=Date.now();J(n=>({state:e,terminalId:l,connectingSince:"CONNECTING"===e?r:n.connectingSince,...(null==t?void 0:t.message)?{reason:t.message}:{}})),"OPEN"===e&&(ee.current=0),"CONNECTING"===e&&er(r),(0,z.cY)("webterm.xterm.acp-state",{terminalId:l,state:e,reason:null==t?void 0:t.message})}),S=()=>{},E=!1,B=Date.now(),U=new Promise(e=>{let t=!1;S=r=>{t||(t=!0,(0,z.cY)("webterm.shell.ready",{terminalId:l,via:r,ms:Date.now()-B}),e())}}),W=setTimeout(()=>S("cap-".concat(X,"ms")),X);y.ready.then(e=>e?(v||(R.current=e),queueMicrotask(()=>w(R.current)),y.send("terminal/spawn",{sessionId:R.current,terminalId:l,cols:o.cols,rows:o.rows,replay:!0})):void S("no-session")).then(e=>{if(void 0===e)return;(0,z.cY)("webterm.spawn.result",e);let t="string"!=typeof e.snapshot||0===e.snapshot.trim().length;if("spawned"===e.status||"attached"===e.status&&t?E=!0:S("attached"===e.status?"attached":"status:".concat(String(e.status))),!s&&R.current){try{a.fit()}catch(e){}(0,z.cY)("webterm.xterm.size-sync",{terminalId:l,cols:o.cols,rows:o.rows,status:e.status}),y.send("terminal/resize",{sessionId:R.current,terminalId:l,cols:o.cols,rows:o.rows}).catch(e=>(0,z.cY)("webterm.resize.send-error",{reason:String(e)}))}"attached"===e.status&&"string"==typeof e.snapshot&&e.snapshot.length>0&&((0,z.cY)("webterm.attach.replay",{terminalId:l,bytes:e.snapshot.length}),o.write("\x1b[2J\x1b[H"+e.snapshot.split("\n").join("\r\n")+"\r\n"))}).catch(e=>{(0,z.cY)("webterm.spawn.error",{reason:String(e)}),S("spawn-error")});let K=y.on("sessionUpdate",e=>{var t,r,n;let i=null!=(r=e.params)?r:{},s=R.current;if(i.sessionId&&s&&i.sessionId!==s)return;let a=i.update;if(!a||"agent_thought_chunk"!==a.sessionUpdate)return;let u=(null==(t=a.content)?void 0:t.type)==="text"?a.content.text:null;if(!u)return;let c=(0,L.L)(u);c&&("terminalOutput"===c.method&&c.payload.terminalId===l?((0,z.cY)("webterm.ws.frame.in",{terminalId:l,bytes:c.payload.data.length}),o.write(c.payload.data),E&&(E=!1,S("first-output"))):"terminalExit"===c.method&&c.payload.terminalId===l?((0,z.cY)("webterm.pty.exit",{terminalId:l,code:c.payload.code}),o.write("\r\n\x1b[2m[exit ".concat(c.payload.code,"]\x1b[0m\r\n"))):"terminalInputActivity"===c.method&&c.payload.terminalId===l&&c.payload.peerId!==Y()&&((0,z.cY)("webterm.peer.input",{terminalId:l,peerId:c.payload.peerId.slice(0,4),bytes:c.payload.bytes}),null==(n=I.current)||n.call(I,{peerId:c.payload.peerId,bytes:c.payload.bytes,timestamp:c.payload.timestamp})))}),q=function(e){let t,{send:r,ready:n,getSessionId:l,terminalId:i,getPeerId:s,log:o,shellReady:a}=e,u=!a,c=[],h="",d=!1,f=!1,m=!1,p=!1,g=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(m)return;let r=new TextEncoder().encode(t+c.join("")).length;c.length=0,o("webterm.input.send-error",{reason:String(e),dropped:r})},b=async()=>{if(h&&u&&!f&&!m){f=!0;try{for(;c.length&&!m;){let e=c.shift();try{let t=l();await r("terminal/input",{sessionId:d&&t?t:h,terminalId:i,data:e,peerId:s()})}catch(t){g(t,e);break}}}finally{f=!1}}};return a&&a.then(()=>{u=!0,b()}),n.then(e=>{if(!m){if(!e){p=!0,g(t="ACP handshake returned no session");return}h=e,b()}},e=>{p=!0,t=e,g(e)}),{confirmSession(e){!m&&h&&e&&(d=!0)},push(e){if(!m){if(p)return void g(t,e);c.push(e),b()}},dispose(){m=!0,c.length=0}}}({send:(e,t)=>y.send(e,t),ready:y.ready,shellReady:U,getSessionId:()=>R.current,terminalId:l,getPeerId:Y,log:(e,t)=>{(0,z.cY)(e,t),t.dropped>0&&el({terminalId:l,dropped:t.dropped})}});w=q.confirmSession;let Q=s?null:(0,j.WU)(l,q.push),Z=s?null:(0,j.JW)(l,o),et=s?null:o.onData(e=>{if(e&&!(e.length<2)&&27===e.charCodeAt(0)&&(D.test(e)||A.test(e)||$.test(e)||O.test(e)||P.test(e)))return void(0,z.cY)("webterm.xterm.onData.capability-swallow",{terminalId:l,bytes:e.length});let t=(0,G.Q6)(e)?(0,j.ho)(l):null,r=t?(0,G.KZ)(e,t):e;t&&(0,z.cY)("webterm.modbar.sticky-applied",{ctrl:t.ctrl,alt:t.alt,bytes:new TextEncoder().encode(r).length}),(0,z.cY)("webterm.xterm.onData",{terminalId:l,bytes:e.length}),q.push(r)}),en=s?null:o.onResize(e=>{let{cols:t,rows:r}=e;(0,z.cY)("webterm.xterm.onResize",{terminalId:l,cols:t,rows:r}),y.send("terminal/resize",{sessionId:R.current,terminalId:l,cols:t,rows:r}).catch(e=>(0,z.cY)("webterm.resize.send-error",{reason:String(e)}))}),ei=m.current,es=null,eo=e=>{if(1!==e.touches.length){es=null;return}es={y:e.touches[0].clientY,viewportY:o.buffer.active.viewportY,wheelSent:0,bufferType:o.buffer.active.type}},ea=e=>{var t,r;if(!es||1!==e.touches.length)return;let n=o.buffer.active.type;if(n!==es.bufferType){es={y:e.touches[0].clientY,viewportY:o.buffer.active.viewportY,wheelSent:0,bufferType:n};return}let l=null==(t=o.element)?void 0:t.querySelector(".xterm-screen"),i=o.rows>0?(null!=(r=null==l?void 0:l.getBoundingClientRect().height)?r:0)/o.rows:0;if(!(i>0))return;let s="alternate"===n?(0,F.kI)({startY:es.y,currentY:e.touches[0].clientY,cellHeight:i,sentSteps:es.wheelSent}):(0,F.Yf)({startY:es.y,currentY:e.touches[0].clientY,cellHeight:i,startViewportY:es.viewportY,currentViewportY:o.buffer.active.viewportY}),a=(0,F.BX)({bufferType:n,mouseTracking:o.modes.mouseTrackingMode,lines:s});if("scrollback"===a.kind)o.scrollLines(a.lines),(0,z.cY)("webterm.touch-scroll",{kind:a.kind,lines:a.lines,bufferType:n});else if("wheel"===a.kind){let t=o.element;if(!t)return;(0,F.fb)(t,a.steps,e.touches[0].clientX,e.touches[0].clientY),es.wheelSent+=a.steps,(0,z.cY)("webterm.touch-scroll",{kind:a.kind,steps:a.steps,bufferType:n})}},eu=()=>{es=null};null==(e=ei.addEventListener)||e.call(ei,"touchstart",eo,{passive:!0}),null==(t=ei.addEventListener)||t.call(ei,"touchmove",ea,{passive:!0}),null==(i=ei.addEventListener)||i.call(ei,"touchend",eu,{passive:!0});let ec=function(e){var t,r;let n=null!=(t=e.trailingDebounceMs)?t:32,l=null,i=!1,s=()=>{if((l=null,!i)&&e.onTrailing)try{e.onTrailing()}catch(e){}},o=t=>{var r,o;if(i)return;let a=performance.now(),u=null==(o=e.target)||null==(r=o.getBoundingClientRect)?void 0:r.call(o),c=u?Math.round(u.width):void 0,h=u?Math.round(u.height):void 0;if((null==u?void 0:u.height)===0){null!==l&&(clearTimeout(l),l=null),(0,z.cY)("webterm.resize.skip",{source:t,...void 0!==c?{w:c}:{},h:h,reason:"zero-height"});return}let d=null;try{e.onImmediate()}catch(e){d=e instanceof Error?e.message:String(e)}(0,z.cY)("webterm.resize.trigger",{source:t,dt:Math.round((performance.now()-a)*100)/100,...void 0!==c?{w:c}:{},...void 0!==h?{h:h}:{},...d?{err:d}:{}}),e.onTrailing&&(null!==l&&clearTimeout(l),l=setTimeout(s,n))},a=null;"undefined"!=typeof ResizeObserver&&(a=new ResizeObserver(()=>o("ro"))).observe(e.target);let u=()=>o("win");window.addEventListener("resize",u);let c=null!=(r=window.visualViewport)?r:null,h=()=>o("vv");return c&&c.addEventListener("resize",h),{dispose(){if(!i){if(i=!0,null!==l&&(clearTimeout(l),l=null),a){try{a.disconnect()}catch(e){}a=null}window.removeEventListener("resize",u),c&&c.removeEventListener("resize",h)}},flushPending(){null!==l&&(clearTimeout(l),s())}}}({target:m.current,onImmediate:()=>{try{a.fit()}catch(e){}},onTrailing:()=>{try{a.fit()}catch(e){}}});return()=>{var e,t,r;try{let e=u.serialize();"string"==typeof e&&(0,T.Os)((0,T.o1)("xtermScrollback",l),e)}catch(e){(0,z.cY)("webterm.xterm.snapshot.error",{reason:String(e)})}try{ec.dispose()}catch(e){}null==(e=ei.removeEventListener)||e.call(ei,"touchstart",eo),null==(t=ei.removeEventListener)||t.call(ei,"touchmove",ea),null==(r=ei.removeEventListener)||r.call(ei,"touchend",eu),null==Z||Z(),null==Q||Q(),q.dispose(),clearTimeout(W),K(),x();try{null==et||et.dispose()}catch(e){}try{null==en||en.dispose()}catch(e){}try{y.close()}catch(e){}p.current===o&&(p.current=null),(null==b?void 0:b.__elanousTerm)===o&&delete b.__elanousTerm;try{o.dispose()}catch(e){}(0,z.cY)("webterm.xterm.teardown",{terminalId:l})}},[l,s,M,Q]);let ea="FAILED"===es||"CLOSED"===es?(t=q.reason)&&/auth_failed|\b1008\b|unauthori[sz]ed|\b401\b/i.test(t)?"auth":"transient":null,eu=(0,u.useRef)(B.token);(0,u.useEffect)(()=>{eu.current!==B.token&&(eu.current=B.token,"auth"===ea&&B.token&&((0,z.cY)("webterm.acp.reconnect",{terminalId:l,why:"token-changed"}),Z(e=>e+1)))},[B.token]),(0,u.useEffect)(()=>{var e,t,r;if(null===ea)return;let n=e=>{ee.current+=1,(0,z.cY)("webterm.acp.reconnect",{terminalId:l,why:e,attempt:ee.current,reason:q.reason}),Z(e=>e+1)},i="undefined"==typeof document?null:document,s=window,o=()=>{(null==i?void 0:i.visibilityState)==="visible"&&n("visible")},a=()=>n("online");null==i||null==(e=i.addEventListener)||e.call(i,"visibilitychange",o),null==s||null==(t=s.addEventListener)||t.call(s,"online",a);let u="transient"===ea?setTimeout(()=>n("backoff"),(r=ee.current,Math.min(3e4,1e3*2**Math.max(0,r)))):void 0;return()=>{var e,t;null==i||null==(e=i.removeEventListener)||e.call(i,"visibilitychange",o),null==s||null==(t=s.removeEventListener)||t.call(s,"online",a),void 0!==u&&clearTimeout(u)}},[ea,l]),(0,u.useEffect)(()=>{var e;e=x.current,void 0!==e&&e!==i&&p.current&&(p.current.clear(),(0,z.cY)("webterm.controls.clear.applied",{terminalId:l})),x.current=i},[i,l]);let ec="CONNECTING"===es?ee.current>0?"다시 연결 중(".concat(ee.current,"회)"):"연결 중":"OPEN"===es?"연결됨":"auth"===ea?"토큰 없음":"FAILED"===es?"연결 실패 \xb7 곧 다시 붙습니다":"연결 끊김 \xb7 곧 다시 붙습니다",eh="OPEN"===es?"text-emerald-300":"CONNECTING"===es?"text-amber-300":"text-red-300",ed=l.trim()||"대상 미지정",ef=Math.max(0,Math.floor((et-eo)/1e3));return(0,u.useEffect)(()=>{if("undefined"==typeof document)return;let e=()=>{var e;let t=g.current;if(!t)return!1;let r=document.activeElement;return!!(r&&t.contains(r))||!(r?null==(e=r.closest)?void 0:e.call(r,"[data-xterm-host]"):null)&&document.querySelector("[data-xterm-host]")===t},t=t=>{if(W(t)&&("KeyF"===t.code||"F"===t.key||"f"===t.key)&&e()){t.preventDefault(),t.stopPropagation(),y();return}let r=W(t)?"Equal"===t.code||"NumpadAdd"===t.code||"+"===t.key||"="===t.key?1:"Minus"===t.code||"NumpadSubtract"===t.code||"_"===t.key||"-"===t.key?-1:0:0,n=p.current;if(0!==r&&n&&e()){t.preventDefault(),t.stopPropagation();let e=H((null!=(l=n.options.fontSize)?l:13)+r);n.options.fontSize=e;var l,i=window.localStorage;try{null==i||i.setItem(V,String(H(e)))}catch(e){}(0,z.cY)("webterm.focus-mode",{event:"font",size:e})}};return document.addEventListener("keydown",t,!0),()=>document.removeEventListener("keydown",t,!0)},[]),(0,u.useEffect)(()=>{var e,t,r,n,i;if((0,z.cY)("webterm.focus-mode",{event:_?"on":"off",terminalId:l}),"undefined"!=typeof document){try{_&&!document.fullscreenElement&&(null==(t=(r=document.documentElement).requestFullscreen)||t.call(r).catch(()=>{})),!_&&document.fullscreenElement&&(null==(n=(i=document).exitFullscreen)||n.call(i).catch(()=>{}))}catch(e){}_&&(null==(e=p.current)||e.focus())}},[_,l]),(0,a.jsxs)("div",{ref:g,"data-xterm-host":!0,"data-focus-mode":_?"1":void 0,className:_?"fixed inset-0 z-[90] h-[100dvh] w-screen bg-[#0d0c08]":"relative h-full w-full bg-[#0d0c08]",children:[(0,a.jsx)("div",{ref:m,className:"h-full w-full"}),(0,a.jsx)("button",{type:"button","data-share-hide":!0,onClick:y,"aria-pressed":_,"aria-label":_?"집중 모드 끄기":"집중 모드 — 터미널만 크게",title:_?"집중 모드 끄기 (Ctrl/⌘+Shift+F)":"집중 모드 — 터미널만 크게 (Ctrl/⌘+Shift+F \xb7 글자 Ctrl/⌘+Shift+\xb1)",className:_?"absolute bottom-2 right-2 z-40 rounded bg-black/60 px-2 py-1 text-xs text-[#e9e3d4]/70 hover:text-[#e9e3d4]":"absolute bottom-2 right-2 z-20 rounded bg-black/60 px-2 py-1 text-xs text-[#e9e3d4]/70 hover:text-[#e9e3d4]",children:_?"⤡ 나가기":"⤢ 집중"}),ei&&(0,a.jsxs)("div",{role:"alert",className:"pointer-events-none absolute bottom-2 left-2 right-2 rounded bg-red-950/95 px-3 py-2 text-sm text-red-100",children:["터미널 입력 전송 실패: ",ei.dropped,"바이트가 버려졌습니다. 명령이 일부만 실행됐을 수 있습니다. 입력을 확인하고 다시 입력하세요."]}),"auth"===ea&&(0,a.jsxs)("div",{role:"alert",className:"absolute left-2 right-2 top-10 z-30 space-y-1 rounded bg-amber-950/95 px-3 py-2 text-sm text-amber-100","data-webterm-auth-missing":!0,children:[(0,a.jsx)("p",{children:"이 기기에 소유자 토큰이 없어 터미널에 연결하지 못했습니다 — 설정에서 토큰을 붙이면 바로 연결됩니다."}),(0,a.jsx)("p",{className:"text-xs text-amber-200/90",children:"토큰 얻기: 이미 연결된 기기의 설정 › 연결 토큰 만들기 에서 만들거나, 데몬 기계에서 pbcopy < ~/.elanous/acp-token → 이 기기의 설정 › 데몬 연결 › 연결 토큰 칸에 붙여 넣기"}),(0,a.jsx)("a",{href:"/app/settings/#bearer-token",className:"inline-block font-medium underline","data-webterm-auth-settings":!0,children:"설정 열기 →"})]}),(0,a.jsxs)("span",{"aria-live":"polite",className:"sr-only",children:["ACP: ",ec]}),(0,a.jsxs)("span",{className:"pointer-events-none absolute right-2 top-2 rounded bg-black/70 px-2 py-1 text-xs ".concat(eh),children:["ACP: ",ec,"CONNECTING"===es&&(0,a.jsxs)("span",{"data-share-hide":!0,children:[" \xb7 ","".concat(ef,"초 \xb7 ").concat(ed," \xb7 ").concat(B.baseUrl)]})]})]})}}}]);