elanous 0.2.22 → 0.2.23

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 (705) hide show
  1. package/NOTICE +7 -0
  2. package/README.md +32 -22
  3. package/apps/pwa/out/404/index.html +1 -1
  4. package/apps/pwa/out/404.html +1 -1
  5. package/apps/pwa/out/_next/static/chunks/{119fc678.6f591cdb84ca5791.js → 0673cc54.8e2ef1c23e49e190.js} +1 -1
  6. package/apps/pwa/out/_next/static/chunks/{a9f2b54d-40c16bd0efdb04b8.js → 0a09e062-34f747a17d8d8c2e.js} +1 -1
  7. package/apps/pwa/out/_next/static/chunks/{f8626309.a4e5d362b1d55e59.js → 0e3acd34.d42b2ef87fdf4234.js} +1 -1
  8. package/apps/pwa/out/_next/static/chunks/1168.a0fb3d9db76c00bd.js +77 -0
  9. package/apps/pwa/out/_next/static/chunks/{7175-350f4ce2873bc038.js → 1325-dc3f3c21eb181cb4.js} +1 -1
  10. package/apps/pwa/out/_next/static/chunks/1357.a843c41d2cd7ec31.js +34 -0
  11. package/apps/pwa/out/_next/static/chunks/1430.53f49882b17607c2.js +24 -0
  12. package/apps/pwa/out/_next/static/chunks/1459-be6509b3419d8a9f.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/{6767.8e6c5f6e744fcd9f.js → 1505.5826671109111e75.js} +2 -2
  14. package/apps/pwa/out/_next/static/chunks/153.0a4e3cd516930491.js +1 -0
  15. package/apps/pwa/out/_next/static/chunks/1572.7bc291352e241a45.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/1593-d07ad068c120dfb0.js +1 -0
  17. package/apps/pwa/out/_next/static/chunks/1608.b7c900baa56cab32.js +1 -0
  18. package/apps/pwa/out/_next/static/chunks/1615-4d8156febaac4b35.js +1 -0
  19. package/apps/pwa/out/_next/static/chunks/1646.e03f0fbc26bc72f6.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/{7327-2d69fb321ba73389.js → 1669-da843ed73aa301f5.js} +1 -1
  21. package/apps/pwa/out/_next/static/chunks/176.13ba0659e3e96fd4.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/1990.9c60f495ef33c070.js +36 -0
  23. package/apps/pwa/out/_next/static/chunks/2042e469.f86158dd5c1e51a1.js +122 -0
  24. package/apps/pwa/out/_next/static/chunks/2528.0af5c0e1fad88df6.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/2543-28ec6aeb80a5e1e1.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/2561.43c99d6ee914ee6a.js +62 -0
  27. package/apps/pwa/out/_next/static/chunks/2638.b39ab2f674caa1a5.js +1 -0
  28. package/apps/pwa/out/_next/static/chunks/272-b23d2e92161d11fd.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/{7899.597af4a9996c907f.js → 2721.bc9a8f36bd85c07a.js} +1 -1
  30. package/apps/pwa/out/_next/static/chunks/2778.67e0c1d484189ccf.js +1 -0
  31. package/apps/pwa/out/_next/static/chunks/2841.10ff309f6a3168af.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/2886-9639f97d523d752a.js +1 -0
  33. package/apps/pwa/out/_next/static/chunks/2978.57fb87ce21cc5a85.js +1 -0
  34. package/apps/pwa/out/_next/static/chunks/3664.15f968c39d15bd28.js +149 -0
  35. package/apps/pwa/out/_next/static/chunks/3786-935eb3fcde90e496.js +1 -0
  36. package/apps/pwa/out/_next/static/chunks/3813.df4a01ae89c6f63f.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/3961-fbef064c213b2b18.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/3992.f79c70480e8c4077.js +309 -0
  39. package/apps/pwa/out/_next/static/chunks/40-413e8641de9ed1e5.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/4054-521f11a503daed64.js +1 -0
  41. package/apps/pwa/out/_next/static/chunks/4315.e7356f34c7d8ec79.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/4489-bf629de6f04f7681.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/4540.557733cc88c6a82b.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/462.0275b4338c5b6337.js +1 -0
  45. package/apps/pwa/out/_next/static/chunks/4658-7ed9266098a787e4.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/4945-0f4046cfc3228ea3.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/{d70879db.c66c56a95a91efc6.js → 4c5e95ce.83e9b16add6fcd8c.js} +1 -1
  48. package/apps/pwa/out/_next/static/chunks/5105-18b4165c5d3a86b0.js +1 -0
  49. package/apps/pwa/out/_next/static/chunks/5205-6992210fe31f45f4.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/5287-72898b126d722457.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/{6158.566c890adc06a459.js → 5313.1697309c532b9856.js} +2 -2
  52. package/apps/pwa/out/_next/static/chunks/{79b78388.663188133449d707.js → 53746282.1be36038d1abd949.js} +1 -1
  53. package/apps/pwa/out/_next/static/chunks/5474.991b90688c3cb321.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/5544-871146192d095594.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/5578.ac963634373b28c6.js +286 -0
  56. package/apps/pwa/out/_next/static/chunks/5935.d5e8ca3e096772e8.js +1 -0
  57. package/apps/pwa/out/_next/static/chunks/5967-c0a80f8ffe5d4050.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/{1268.0840ff91e083fcbd.js → 5974.360f8441eb0ac1ec.js} +1 -1
  59. package/apps/pwa/out/_next/static/chunks/6006.84e8b418a7a0db97.js +1 -0
  60. package/apps/pwa/out/_next/static/chunks/6013-1267ba7454d6764b.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/6038-1e0f7ee1086da4cf.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/617.709dd0019fe99796.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/6261.fb9bf94947094636.js +74 -0
  64. package/apps/pwa/out/_next/static/chunks/6411.1966866fae31ffa9.js +1 -0
  65. package/apps/pwa/out/_next/static/chunks/6481-b829d99aa8d158f5.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/6541.2b7daa043100d0fa.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/6571-926ddf024a6ad5df.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/6597.2d7a6d77ab485b27.js +64 -0
  69. package/apps/pwa/out/_next/static/chunks/67.5dd2dc543c2fa3de.js +1 -0
  70. package/apps/pwa/out/_next/static/chunks/{9832.2ab2e818013574c7.js → 6702.ebbd165d5e4a4a14.js} +1 -1
  71. package/apps/pwa/out/_next/static/chunks/6777-312496b0d774719b.js +1 -0
  72. package/apps/pwa/out/_next/static/chunks/681.0116f7036cfb4e8d.js +32 -0
  73. package/apps/pwa/out/_next/static/chunks/6871.30b2bf23b3126e36.js +24 -0
  74. package/apps/pwa/out/_next/static/chunks/6882.737d366d54e29d83.js +1 -0
  75. package/apps/pwa/out/_next/static/chunks/7035.54c2c535164b1c9b.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/7086-8bfa7e8f796a03d9.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/7126.5e5599f251726b67.js +93 -0
  78. package/apps/pwa/out/_next/static/chunks/7203-47ff0740a293e284.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/7268.017f49dafb5f0ff3.js +1 -0
  80. package/apps/pwa/out/_next/static/chunks/7355.5d65a87e9567ae08.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/7392.4018c2a62177f296.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/{6110.1297d4093fdfbb0d.js → 740.90b31555290236a9.js} +2 -2
  83. package/apps/pwa/out/_next/static/chunks/7471.3a3d1be50559cfb8.js +148 -0
  84. package/apps/pwa/out/_next/static/chunks/7500.73489a345cef2201.js +226 -0
  85. package/apps/pwa/out/_next/static/chunks/{9070.067c106528ec1ae6.js → 7518.49161e8f5814abdb.js} +1 -1
  86. package/apps/pwa/out/_next/static/chunks/7565.c2f72a15c1ed0396.js +27 -0
  87. package/apps/pwa/out/_next/static/chunks/7651.6d1c984d3d8587a4.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/7713.7ab863ed59b2d661.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/7793.d7cd2026767ddd54.js +115 -0
  90. package/apps/pwa/out/_next/static/chunks/7837.c7c267e5dceadb11.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/7891.09266382daf70d1c.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/7905.b230b9d06cb4ad5d.js +1 -0
  93. package/apps/pwa/out/_next/static/chunks/7990-cbf6a01bcbdcb7e6.js +1 -0
  94. package/apps/pwa/out/_next/static/chunks/8119-819c549e0c197786.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/8186-74ea19a3700d04a8.js +1 -0
  96. package/apps/pwa/out/_next/static/chunks/{8194.484f51e273d9abd2.js → 8264.00e434fbd02e9311.js} +16 -16
  97. package/apps/pwa/out/_next/static/chunks/8267-e7b3262b735ae106.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/8386.86518e55b75f7cf5.js +8 -0
  99. package/apps/pwa/out/_next/static/chunks/{088d8e8a.8069543d082bec12.js → 83cfc5c8.349535543c1548b6.js} +1 -1
  100. package/apps/pwa/out/_next/static/chunks/8437.ba6eeeb29590042f.js +23 -0
  101. package/apps/pwa/out/_next/static/chunks/{1948.5f35b39eef222a94.js → 8438.ee7f0df3b3f6fcb4.js} +1 -1
  102. package/apps/pwa/out/_next/static/chunks/8469-1500be57e582296f.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/8483-7164cecdaf178ca6.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/{4588.ad3364cb7fb97ada.js → 8532.a86e99acf9b761cb.js} +2 -2
  105. package/apps/pwa/out/_next/static/chunks/8569.b853a8daa8f31d12.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/8722-4c940f02c496ad36.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/887-41d0dcf5af48c628.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/8925-2abfb48af477fb7f.js +1 -0
  109. package/apps/pwa/out/_next/static/chunks/{88729267.9c6c000157c83f2f.js → 89849432.9eaa2f4c9c010965.js} +3 -3
  110. package/apps/pwa/out/_next/static/chunks/9039.da86361496797522.js +90 -0
  111. package/apps/pwa/out/_next/static/chunks/905.d5745a25884754d4.js +94 -0
  112. package/apps/pwa/out/_next/static/chunks/9089-d909f3d4478b0628.js +1 -0
  113. package/apps/pwa/out/_next/static/chunks/9096.dc5c7a267f83790c.js +41 -0
  114. package/apps/pwa/out/_next/static/chunks/93.a567257b6bdb7fe4.js +1 -0
  115. package/apps/pwa/out/_next/static/chunks/9320.419acb9665b46597.js +287 -0
  116. package/apps/pwa/out/_next/static/chunks/9356.b8ceda6634612ff8.js +79 -0
  117. package/apps/pwa/out/_next/static/chunks/94.e9e1043b35cd3eed.js +1 -0
  118. package/apps/pwa/out/_next/static/chunks/9400-7498ea90b2e6ee8f.js +1 -0
  119. package/apps/pwa/out/_next/static/chunks/{3522-1de1319d028ac89c.js → 9502-32c5dc22e8f120f5.js} +3 -3
  120. package/apps/pwa/out/_next/static/chunks/9930-58644af9c813d6e1.js +1 -0
  121. package/apps/pwa/out/_next/static/chunks/9932.367cf4725fedd6e2.js +1 -0
  122. package/apps/pwa/out/_next/static/chunks/9935.1628b904cdc8ce0e.js +104 -0
  123. package/apps/pwa/out/_next/static/chunks/{7630.2b9a68659053ff4e.js → 9976.8f28864317639fe6.js} +16 -16
  124. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-a2aa8709d193ee0d.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/approvals/page-d5341ac96203a983.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-0160ab83c8685a12.js +1 -0
  127. package/apps/pwa/out/_next/static/chunks/app/board/page-55c631c032dcc47e.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/botlab/page-ad3bd8084048bee4.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/bots/page-e6784759a2531031.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/ceo/page-5c5d0e370f495ef6.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/chat/page-c325e21543cd48a8.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/consult/{page-80ed511e02c81412.js → page-6168a7c43e6ef8f5.js} +1 -1
  133. package/apps/pwa/out/_next/static/chunks/app/control/page-31417d3604154a6d.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/decisions/page-e9606dc0bdec9305.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/design-check/page-a648bc464c9dc754.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/editor/page-25bb425afdb27541.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/exec/page-32d72fdef1afe11a.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/field/page-d27b794c8ba76bbb.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/healthz/route-a2aa8709d193ee0d.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/inside/page-2bd9ce9c020d02d4.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/intake/page-a34096245e63b9f2.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/layout-22170f4f00a15496.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/live/page-4cc66d22ca4ec502.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/live-run/page-83b14c729fcea837.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/loops/page-6e2781c523dad761.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/market/page-26dd415c8f13f341.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-ccdb83ed40c8d724.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/morning/page-7ad3de8fa06fdea9.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/not-found-015c02c4fec4023e.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/observatory/page-6b0ae5b5c42f6d2f.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-786111f30b6f0969.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-48fb31810693c357.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4e17cce5e2ed0fee.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/outputs/page-cb154acadb025414.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/page-16258e956ea93fc2.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/reflection/page-c2dd2b19c93f90ab.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-85f35dd1dd96ae87.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/sessions/page-d3c007c8a0ddd7ee.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-7837ce2aacb97b04.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/settings/page-7350ee93f4fe1033.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-00723458575f2b19.js +1 -0
  162. package/apps/pwa/out/_next/static/chunks/app/setup/layout-a2aa8709d193ee0d.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/setup/page-745d9b6c015076f8.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/share/page-736d33c7414a8a1a.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/showroom/page-119be9a0444d2482.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/tasks/page-fa806c018833e332.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/term/page-c782041b5f5199ba.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/today/page-d431fbdea6ad93dd.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/trace/page-0c056abff82b9891.js +1 -0
  170. package/apps/pwa/out/_next/static/chunks/app/vault/page-242d668e4fbf72c4.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-847c3de6ca8a4416.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/workflows/page-81dd0d8ae923ed72.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/app/workspace/page-74e69ba2c8e970d4.js +1 -0
  174. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-70038f41ae7cf931.js +1 -0
  175. package/apps/pwa/out/_next/static/chunks/b4e12462-5fab4a813a63dadd.js +1 -0
  176. package/apps/pwa/out/_next/static/chunks/cd39fa05.fac4545f42a3ef70.js +1 -0
  177. package/apps/pwa/out/_next/static/chunks/{f6b7c9ba.64a895b8b2fedbdc.js → ce383d63.d2ede338788ed18e.js} +1 -1
  178. package/apps/pwa/out/_next/static/chunks/{framework-5c169757551134ed.js → framework-b2763b10dc6b3836.js} +1 -1
  179. package/apps/pwa/out/_next/static/chunks/main-app-27893e93b0ec193d.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/main-f280047194e1daf8.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/pages/_app-e90eff2d0b70564c.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/pages/_error-70f2d654b3435d34.js +1 -0
  183. package/apps/pwa/out/_next/static/chunks/webpack-4794f053bd5e4230.js +1 -0
  184. package/apps/pwa/out/_next/static/css/5619d59e87eddf66.css +1 -0
  185. package/apps/pwa/out/_next/static/css/d0a48dc099ed86cf.css +1 -0
  186. package/apps/pwa/out/_next/static/{aBi6EyMtLsrl7J8eH4kF7 → rfkMm4movqkqMebBrCXiR}/_buildManifest.js +1 -1
  187. package/apps/pwa/out/approvals/index.html +1 -1
  188. package/apps/pwa/out/approvals/index.txt +23 -23
  189. package/apps/pwa/out/autopilot/index.html +1 -1
  190. package/apps/pwa/out/autopilot/index.txt +23 -23
  191. package/apps/pwa/out/board/index.html +1 -1
  192. package/apps/pwa/out/board/index.txt +23 -23
  193. package/apps/pwa/out/botlab/index.html +1 -1
  194. package/apps/pwa/out/botlab/index.txt +22 -22
  195. package/apps/pwa/out/bots/index.html +1 -1
  196. package/apps/pwa/out/bots/index.txt +22 -22
  197. package/apps/pwa/out/ceo/index.html +1 -1
  198. package/apps/pwa/out/ceo/index.txt +23 -23
  199. package/apps/pwa/out/chat/index.html +1 -1
  200. package/apps/pwa/out/chat/index.txt +22 -22
  201. package/apps/pwa/out/consult/index.html +1 -1
  202. package/apps/pwa/out/consult/index.txt +23 -23
  203. package/apps/pwa/out/control/index.html +1 -1
  204. package/apps/pwa/out/control/index.txt +23 -23
  205. package/apps/pwa/out/decisions/index.html +1 -1
  206. package/apps/pwa/out/decisions/index.txt +22 -22
  207. package/apps/pwa/out/design-check/index.html +1 -1
  208. package/apps/pwa/out/design-check/index.txt +23 -23
  209. package/apps/pwa/out/editor/index.html +1 -1
  210. package/apps/pwa/out/editor/index.txt +24 -23
  211. package/apps/pwa/out/exec/index.html +1 -1
  212. package/apps/pwa/out/exec/index.txt +23 -23
  213. package/apps/pwa/out/field/index.html +1 -1
  214. package/apps/pwa/out/field/index.txt +23 -23
  215. package/apps/pwa/out/healthz +1 -1
  216. package/apps/pwa/out/index.html +1 -1
  217. package/apps/pwa/out/index.txt +22 -22
  218. package/apps/pwa/out/inside/index.html +1 -1
  219. package/apps/pwa/out/inside/index.txt +22 -22
  220. package/apps/pwa/out/intake/index.html +1 -1
  221. package/apps/pwa/out/intake/index.txt +23 -23
  222. package/apps/pwa/out/live/index.html +1 -1
  223. package/apps/pwa/out/live/index.txt +23 -23
  224. package/apps/pwa/out/live-run/index.html +1 -1
  225. package/apps/pwa/out/live-run/index.txt +24 -23
  226. package/apps/pwa/out/loops/index.html +1 -1
  227. package/apps/pwa/out/loops/index.txt +22 -22
  228. package/apps/pwa/out/market/index.html +1 -1
  229. package/apps/pwa/out/market/index.txt +22 -22
  230. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  231. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  232. package/apps/pwa/out/morning/index.html +1 -1
  233. package/apps/pwa/out/morning/index.txt +23 -23
  234. package/apps/pwa/out/observatory/index.html +1 -1
  235. package/apps/pwa/out/observatory/index.txt +23 -23
  236. package/apps/pwa/out/ops/checklist/index.html +1 -1
  237. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  238. package/apps/pwa/out/ops/release/index.html +1 -1
  239. package/apps/pwa/out/ops/release/index.txt +22 -22
  240. package/apps/pwa/out/ops/seats/index.html +1 -1
  241. package/apps/pwa/out/ops/seats/index.txt +22 -22
  242. package/apps/pwa/out/outputs/index.html +1 -1
  243. package/apps/pwa/out/outputs/index.txt +22 -22
  244. package/apps/pwa/out/reflection/index.html +1 -1
  245. package/apps/pwa/out/reflection/index.txt +23 -23
  246. package/apps/pwa/out/scheduler/index.html +1 -1
  247. package/apps/pwa/out/scheduler/index.txt +23 -23
  248. package/apps/pwa/out/sessions/index.html +1 -1
  249. package/apps/pwa/out/sessions/index.txt +22 -22
  250. package/apps/pwa/out/settings/devices/index.html +1 -1
  251. package/apps/pwa/out/settings/devices/index.txt +23 -23
  252. package/apps/pwa/out/settings/index.html +1 -1
  253. package/apps/pwa/out/settings/index.txt +23 -23
  254. package/apps/pwa/out/setup/done/index.html +1 -1
  255. package/apps/pwa/out/setup/done/index.txt +23 -23
  256. package/apps/pwa/out/setup/index.html +1 -1
  257. package/apps/pwa/out/setup/index.txt +23 -23
  258. package/apps/pwa/out/share/index.html +1 -1
  259. package/apps/pwa/out/share/index.txt +23 -23
  260. package/apps/pwa/out/showroom/index.html +1 -1
  261. package/apps/pwa/out/showroom/index.txt +22 -22
  262. package/apps/pwa/out/tasks/index.html +1 -1
  263. package/apps/pwa/out/tasks/index.txt +23 -23
  264. package/apps/pwa/out/term/index.html +1 -1
  265. package/apps/pwa/out/term/index.txt +23 -23
  266. package/apps/pwa/out/today/index.html +1 -1
  267. package/apps/pwa/out/today/index.txt +23 -23
  268. package/apps/pwa/out/trace/index.html +1 -1
  269. package/apps/pwa/out/trace/index.txt +23 -23
  270. package/apps/pwa/out/vault/index.html +1 -1
  271. package/apps/pwa/out/vault/index.txt +23 -23
  272. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  273. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  274. package/apps/pwa/out/workflows/index.html +1 -1
  275. package/apps/pwa/out/workflows/index.txt +23 -23
  276. package/apps/pwa/out/workspace/index.html +1 -1
  277. package/apps/pwa/out/workspace/index.txt +23 -23
  278. package/apps/pwa/out/worktrees/index.html +1 -1
  279. package/apps/pwa/out/worktrees/index.txt +23 -23
  280. package/catalog/models/anthropic/claude-haiku-5-5.yaml +32 -0
  281. package/catalog/models/anthropic/claude-opus-5-5.yaml +5 -0
  282. package/catalog/models/anthropic/claude-sonnet-5-5.yaml +31 -0
  283. package/catalog/models/anthropic/claude-sonnet-5.yaml +8 -2
  284. package/catalog/models/openai/gpt-6-astra.yaml +6 -0
  285. package/catalog/models/openai/gpt-6-luna.yaml +6 -0
  286. package/catalog/models/openai/gpt-6-sol.yaml +6 -0
  287. package/graphs/log-horizon/log-horizon-watch.yaml +25 -0
  288. package/graphs/log-horizon/recipes.yaml +3 -0
  289. package/graphs/release/recipes.yaml +1 -1
  290. package/graphs/release/release-loop.yaml +6 -2
  291. package/graphs/release-rehearsal/recipes.yaml +12 -0
  292. package/graphs/release-rehearsal/release-rehearsal.yaml +17 -0
  293. package/package.json +4 -1
  294. package/scripts/bench-report.ts +82 -3
  295. package/scripts/ci-typecheck-changed.ts +10 -1
  296. package/scripts/hq/hq-fence-wrapper.sh +148 -0
  297. package/scripts/lib/typecheck-ratchet.ts +51 -0
  298. package/scripts/openai-relay-server.ts +5 -1
  299. package/scripts/release-loop/docs-node.ts +258 -43
  300. package/scripts/release-loop/gate-method.ts +59 -0
  301. package/scripts/release-loop/gate-node.ts +73 -7
  302. package/scripts/release-loop/gate-wall.ts +208 -0
  303. package/scripts/release-loop/known-issues-node.ts +53 -8
  304. package/scripts/release-loop/publish-at.ts +14 -0
  305. package/scripts/release-loop/publish-node.ts +17 -2
  306. package/scripts/release-loop/resume-release.ts +34 -4
  307. package/scripts/release-loop/resume.ts +53 -0
  308. package/scripts/release-loop/shard-plan.ts +3 -11
  309. package/scripts/release-loop/tui-node-checks.ts +22 -0
  310. package/scripts/release-loop/unattended-release.ts +8 -1
  311. package/scripts/rhythm/daily.ts +51 -2
  312. package/scripts/rhythm/weekly.ts +3 -2
  313. package/scripts/tsc-main-safety-net.ts +189 -0
  314. package/scripts/usage-rollup.ts +8 -4
  315. package/src/acp/codex-plugins.ts +48 -6
  316. package/src/agent/monad-agent-turn.ts +67 -5
  317. package/src/agent/run-context.ts +10 -0
  318. package/src/agent/tool-profile.ts +28 -2
  319. package/src/agent-mission/acp-judge.ts +8 -2
  320. package/src/agent-mission/capabilities-cli.ts +16 -1
  321. package/src/agent-mission/driver.ts +1 -1
  322. package/src/agent-mission/pr-review-watch.ts +6 -2
  323. package/src/agent-mission/review-loop.ts +33 -5
  324. package/src/agent-substrate/acp-reviewer.ts +17 -8
  325. package/src/agent-substrate/pr-reviewer.ts +164 -28
  326. package/src/agent-substrate/review-intent.ts +6 -4
  327. package/src/agent-substrate/self-review-cli.ts +111 -16
  328. package/src/agent-substrate/shard-boundary-intent.ts +92 -26
  329. package/src/ask-user-question/pending-questions.ts +8 -2
  330. package/src/autopilot/build/llm-conflict-merge.ts +216 -12
  331. package/src/autopilot/codebase-grounding.ts +44 -0
  332. package/src/autopilot/llm-control-brain.ts +13 -1
  333. package/src/autopilot/mission-codebase-gate.ts +8 -77
  334. package/src/autopilot/pr-manager.ts +12 -3
  335. package/src/boot/acp-server.ts +4 -7
  336. package/src/boot/acp-socket-path.ts +7 -0
  337. package/src/briefing/brief-items.ts +21 -13
  338. package/src/chat/index.ts +12 -3
  339. package/src/cli/agent-cli.ts +20 -0
  340. package/src/cli/brief-cli.ts +27 -21
  341. package/src/cli/cli-user-error.ts +9 -2
  342. package/src/cli/log-event-names.ts +3 -0
  343. package/src/cli/logs-cli.ts +1 -0
  344. package/src/cli/mcp-login.ts +111 -37
  345. package/src/cli/plugin-cli.ts +21 -1
  346. package/src/cli/pod-cli.ts +26 -0
  347. package/src/cli/pr-cli.ts +30 -2
  348. package/src/cli/pr-land-overlap-evidence.ts +131 -0
  349. package/src/cli/release-cli.ts +53 -11
  350. package/src/cli/self-update.ts +173 -10
  351. package/src/cli/skills-cli.ts +12 -3
  352. package/src/cli/tasks-cli.ts +133 -27
  353. package/src/context-bus/context-first.ts +51 -2
  354. package/src/context-bus/context-now-surfaces.ts +13 -2
  355. package/src/context-bus/long-term-memory.ts +3 -1
  356. package/src/context-bus/nightly-condense.ts +3 -2
  357. package/src/core-turn/run-goal-loop.ts +86 -2
  358. package/src/dashboard/chat-fold.ts +20 -0
  359. package/src/dashboard/first-screen-band.ts +151 -1
  360. package/src/dashboard/index.ts +27 -5
  361. package/src/dashboard/slash-runtime/dashboard-handlers.ts +5 -3
  362. package/src/dashboard/stale-install-check.ts +13 -2
  363. package/src/dashboard/turn-stream-formatter.ts +25 -0
  364. package/src/debug/log-diet.ts +159 -0
  365. package/src/debug/log.ts +52 -17
  366. package/src/display/coordinator.ts +25 -2
  367. package/src/domains/coo-admin-tool.ts +27 -0
  368. package/src/domains/cron-match.ts +1 -0
  369. package/src/domains/outbound-alert.ts +17 -6
  370. package/src/domains/release-tool.ts +119 -10
  371. package/src/domains/schedule-registry.ts +10 -7
  372. package/src/domains/schedule-runner.ts +1 -0
  373. package/src/elanous-config-dir.ts +2 -2
  374. package/src/elanous-daemon.ts +3 -3
  375. package/src/execution-loop/launch-gate.ts +1 -1
  376. package/src/expression/i18n/messages.en.ts +5 -0
  377. package/src/expression/i18n/messages.ja.ts +5 -0
  378. package/src/expression/i18n/messages.ko.ts +5 -0
  379. package/src/expression/i18n/messages.zh.ts +5 -0
  380. package/src/expression/i18n/types.ts +8 -0
  381. package/src/github/pr-labels.ts +1 -0
  382. package/src/graph-runner/runner.ts +54 -5
  383. package/src/harness/dispatch-backpressure.ts +259 -0
  384. package/src/harness/harness-cli-command.ts +107 -28
  385. package/src/harness/harness-seams.ts +2 -20
  386. package/src/harness/harness-substrate-default.ts +72 -1
  387. package/src/harness/nested-elanous-policy.ts +4 -2
  388. package/src/hq/fence-wrapper.ts +7 -0
  389. package/src/hq/hq.ts +33 -2
  390. package/src/hq/lease.ts +13 -0
  391. package/src/hq/seats.ts +114 -18
  392. package/src/index.ts +163 -64
  393. package/src/intake-plane/collect-github.ts +19 -1
  394. package/src/intake-plane/digest.ts +45 -20
  395. package/src/intake-plane/lens.ts +36 -8
  396. package/src/intelligence-map/model-alias.ts +6 -0
  397. package/src/intelligence-map/model-catalog.ts +41 -0
  398. package/src/knowledge/kgs/pack.ts +5 -2
  399. package/src/knowledge/kgs/sqlite-store.ts +15 -0
  400. package/src/knowledge/tools/knowledge-query.ts +20 -2
  401. package/src/knowledge/write.ts +234 -2
  402. package/src/llm/bedrock-provider.ts +175 -0
  403. package/src/llm/bedrock.ts +345 -0
  404. package/src/llm/provider-credentials.ts +3 -1
  405. package/src/llm.ts +306 -35
  406. package/src/loops/budget.ts +150 -0
  407. package/src/loops/orchestrator/seat-share.ts +6 -49
  408. package/src/loops/orchestrator/traffic.ts +5 -81
  409. package/src/market/signed-index.ts +42 -0
  410. package/src/mcp/mcp-oauth.ts +136 -17
  411. package/src/model-tier/llm-tier-map.ts +48 -4
  412. package/src/models/prompts.ts +22 -1
  413. package/src/mss/logging/horizon-watch.ts +168 -0
  414. package/src/mss/logging/log-store.ts +204 -15
  415. package/src/native-tool-catalog.ts +1 -1
  416. package/src/nexus/api/consult-requests.ts +7 -10
  417. package/src/nexus/api/discord-trigger-bot.ts +6 -3
  418. package/src/nexus/api/error-reports.ts +30 -8
  419. package/src/nexus/api/http-server.ts +8 -0
  420. package/src/nexus/api/loop-resources.ts +42 -0
  421. package/src/nexus/api/outbound-report.ts +8 -3
  422. package/src/nexus/api/telegram-trigger-bot.ts +6 -3
  423. package/src/nexus/index.ts +10 -0
  424. package/src/nexus/outbound/format.ts +2 -0
  425. package/src/nexus/outbound/router.ts +198 -13
  426. package/src/oauth/codex-account-rotation.ts +16 -18
  427. package/src/oauth/codex-account-store.ts +134 -5
  428. package/src/oauth/fallback-chain.ts +28 -6
  429. package/src/onboarding.ts +2 -1
  430. package/src/plugins/adapters/claude-package.ts +4 -12
  431. package/src/plugins/core/capability-policy.ts +141 -0
  432. package/src/plugins/core/host.ts +21 -8
  433. package/src/plugins/core/manifest.ts +19 -2
  434. package/src/plugins/core/trust-store.ts +15 -0
  435. package/src/plugins/core/types.ts +12 -0
  436. package/src/plugins/install/market-fetch.ts +68 -16
  437. package/src/plugins/install/plugin-install.ts +187 -16
  438. package/src/plugins/maker/plugin-maker.ts +25 -20
  439. package/src/plugins/maker/wizard-generate.ts +16 -2
  440. package/src/policy/llm-policy.ts +14 -1
  441. package/src/process/pid-liveness.ts +1 -1
  442. package/src/prompt-cache/openai.ts +10 -6
  443. package/src/prompt-cache/openrouter.ts +94 -0
  444. package/src/prompt-enhance/enhance.ts +46 -5
  445. package/src/prompt-library/family-prompt-coverage.ts +1 -0
  446. package/src/prompt-library/universal-preamble.ts +2 -2
  447. package/src/registry/discovery/openrouter-live-resolve.ts +122 -0
  448. package/src/registry/loader.ts +6 -1
  449. package/src/release-loop/checklist.ts +24 -9
  450. package/src/release-loop/feature-store.ts +3 -0
  451. package/src/release-loop/gate-shards.ts +48 -4
  452. package/src/release-loop/landed-to-green.ts +81 -0
  453. package/src/release-loop/light-rc.ts +11 -1
  454. package/src/release-loop/merged-pr-checklist.ts +10 -0
  455. package/src/release-loop/placement.ts +91 -22
  456. package/src/release-loop/rehearsal.ts +317 -0
  457. package/src/release-loop/release-schedule.ts +13 -1
  458. package/src/release-loop/rubric-types.ts +1 -0
  459. package/src/release-loop/rubric.ts +2 -2
  460. package/src/retro/daily.ts +23 -9
  461. package/src/seat-loop/seat-loop.ts +34 -1
  462. package/src/seat-loop/traffic-signal.ts +44 -0
  463. package/src/self-dev/ask-launch-flow.ts +2 -2
  464. package/src/self-dev/dev-cli.ts +67 -3
  465. package/src/self-dev/dev-pipeline.ts +4 -6
  466. package/src/self-dev/draft-residue.ts +463 -0
  467. package/src/self-dev/draft-sweep.ts +151 -10
  468. package/src/self-dev/draft-triage-rules.ts +27 -1
  469. package/src/self-dev/launch-preflight-text.ts +549 -0
  470. package/src/self-dev/launch-preflight.ts +10 -545
  471. package/src/self-dev/orchestrate-cli.ts +57 -2
  472. package/src/self-dev/orchestrate-summary-line.ts +13 -0
  473. package/src/self-dev/orchestrate.ts +8 -135
  474. package/src/self-dev/review-provider-fallback.ts +115 -19
  475. package/src/self-dev/run-store.ts +1 -3
  476. package/src/self-dev/run-supervisor.ts +3 -22
  477. package/src/self-dev/run-types.ts +178 -0
  478. package/src/self-dev/shard-aggregate.ts +61 -13
  479. package/src/self-dev/shard-plan.ts +5 -1
  480. package/src/self-dev/shard-run.ts +23 -5
  481. package/src/self-dev/supervisor-verdict-edges.ts +2 -4
  482. package/src/self-implement/blocked-draft-policy.ts +3 -19
  483. package/src/self-implement/draft-on-stop-mode.ts +18 -0
  484. package/src/self-implement/follow-up-goals.ts +114 -38
  485. package/src/self-implement/gate-baseline-reap.ts +157 -0
  486. package/src/self-implement/gate-baseline.ts +78 -16
  487. package/src/self-implement/gate-cli.ts +12 -2
  488. package/src/self-implement/gate-remote.ts +17 -6
  489. package/src/self-implement/goal-author.ts +24 -4
  490. package/src/self-implement/goal-digest.ts +19 -0
  491. package/src/self-implement/graph-overlay-condition.ts +4 -0
  492. package/src/self-implement/headless-elanous-driver.ts +11 -9
  493. package/src/self-implement/host-regate.ts +120 -29
  494. package/src/self-implement/l8-merge-queue.ts +67 -5
  495. package/src/self-implement/merge-train.ts +131 -0
  496. package/src/self-implement/off-diff-evidence.ts +9 -0
  497. package/src/self-implement/orchestrator.ts +133 -16
  498. package/src/self-implement/review-finding-recurrence.ts +28 -0
  499. package/src/self-implement/rework-policy.ts +2 -1
  500. package/src/self-implement/round-summary-card.ts +63 -0
  501. package/src/self-implement/run-ledger.ts +4 -3
  502. package/src/self-implement/run-step-projection.ts +147 -0
  503. package/src/self-implement/run-stop.ts +1 -1
  504. package/src/self-implement/seams.ts +36 -3
  505. package/src/self-implement/self-implement-cli.ts +3 -1
  506. package/src/self-implement/train-gate-remote.ts +158 -0
  507. package/src/session-runtime/index.ts +10 -1
  508. package/src/session-runtime/retry-api.ts +11 -1
  509. package/src/skills/gift-install.ts +119 -0
  510. package/src/skills/runner.ts +59 -2
  511. package/src/skills/skill-feedback.ts +31 -1
  512. package/src/skills/skill-tier.ts +1 -0
  513. package/src/smart-wizard/capability-index.ts +231 -0
  514. package/src/smart-wizard/rung.ts +74 -0
  515. package/src/steward/launch.ts +20 -9
  516. package/src/steward/triage.ts +4 -2
  517. package/src/storage/file-lock.ts +8 -1
  518. package/src/task-agent/actions.ts +4 -0
  519. package/src/task-agent/card-evidence.ts +59 -13
  520. package/src/task-agent/judge.ts +4 -3
  521. package/src/task-agent/land-worktree.ts +201 -0
  522. package/src/task-agent/live-move-history.ts +133 -0
  523. package/src/task-agent/live-moves.ts +106 -19
  524. package/src/task-agent/parent-host.ts +117 -8
  525. package/src/task-agent/rejudge-on-head.ts +297 -0
  526. package/src/task-agent/review-result-capture.ts +218 -0
  527. package/src/task-agent/shadow.ts +103 -7
  528. package/src/task-agent/task-hand.ts +136 -11
  529. package/src/task-orchestrator/surfaces/pod-child-providers.ts +29 -0
  530. package/src/task-orchestrator/surfaces/pod-command-job.ts +6 -3
  531. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +16 -2
  532. package/src/task-orchestrator/surfaces/pod-image-source.ts +212 -0
  533. package/src/task-orchestrator/surfaces/pod-lease.ts +93 -12
  534. package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +25 -2
  535. package/src/task-orchestrator/surfaces/pod-pool.ts +66 -14
  536. package/src/task-orchestrator/surfaces/self-implement-pod.ts +259 -36
  537. package/src/task-orchestrator/surfaces/self-implement.ts +6 -2
  538. package/src/telegram-service.ts +5 -1
  539. package/src/telegram.ts +17 -4
  540. package/src/time/format.ts +13 -4
  541. package/src/tool-runtime/goal-author-runtime.ts +1 -0
  542. package/src/tool-runtime/self-cognition-catalog.ts +23 -0
  543. package/src/tool-runtime/self-cognition-runtimes.ts +2 -24
  544. package/src/user-config.ts +132 -24
  545. package/src/ux-sim/slash-menu-frames.ts +168 -0
  546. package/src/version/packed-revision.json +1 -1
  547. package/src/web-terminal/preview-tap-registry.ts +5 -2
  548. package/src/workflow-runtime/triggers/scheduler.ts +1 -0
  549. package/apps/pwa/out/_next/static/chunks/1109.78a7a3288c0259d9.js +0 -148
  550. package/apps/pwa/out/_next/static/chunks/115.1c6690b8604f81c4.js +0 -32
  551. package/apps/pwa/out/_next/static/chunks/1262.76a3f08e67c5f816.js +0 -309
  552. package/apps/pwa/out/_next/static/chunks/1307-08b716476f1d50af.js +0 -1
  553. package/apps/pwa/out/_next/static/chunks/1358d292.5c87f12cad6eaa91.js +0 -122
  554. package/apps/pwa/out/_next/static/chunks/1438.27a1a7b8f2308004.js +0 -149
  555. package/apps/pwa/out/_next/static/chunks/1442.02d85cd88f4c1eac.js +0 -79
  556. package/apps/pwa/out/_next/static/chunks/1501-1aad662d82ba43f7.js +0 -1
  557. package/apps/pwa/out/_next/static/chunks/1584.9e2dd53da6e6d4b1.js +0 -24
  558. package/apps/pwa/out/_next/static/chunks/1586.b989b0614afb77e6.js +0 -1
  559. package/apps/pwa/out/_next/static/chunks/1609.2ad355062870151f.js +0 -1
  560. package/apps/pwa/out/_next/static/chunks/1612-f6df0fc0eed7157b.js +0 -1
  561. package/apps/pwa/out/_next/static/chunks/1826-5d279da64bbbc2de.js +0 -1
  562. package/apps/pwa/out/_next/static/chunks/1923.37f1d5fe7ebe3860.js +0 -27
  563. package/apps/pwa/out/_next/static/chunks/195-fb1d7690bf30bab4.js +0 -1
  564. package/apps/pwa/out/_next/static/chunks/1986-33e13d648a9df765.js +0 -1
  565. package/apps/pwa/out/_next/static/chunks/1993.3fd074a2a246234e.js +0 -1
  566. package/apps/pwa/out/_next/static/chunks/211-9c9090c59e2c5907.js +0 -1
  567. package/apps/pwa/out/_next/static/chunks/2140.d2daf9ee96e295d1.js +0 -1
  568. package/apps/pwa/out/_next/static/chunks/2196-4700653d12a44b40.js +0 -1
  569. package/apps/pwa/out/_next/static/chunks/2212.0359851457473efc.js +0 -1
  570. package/apps/pwa/out/_next/static/chunks/224.583e562365a52f74.js +0 -1
  571. package/apps/pwa/out/_next/static/chunks/2328.0f37465646bafa7d.js +0 -36
  572. package/apps/pwa/out/_next/static/chunks/2372.bf71372184991937.js +0 -286
  573. package/apps/pwa/out/_next/static/chunks/2489-d238d3e2eb5b2bf5.js +0 -1
  574. package/apps/pwa/out/_next/static/chunks/2537-6c289376caa88ca1.js +0 -1
  575. package/apps/pwa/out/_next/static/chunks/2549-a8515c86f9e8cb96.js +0 -1
  576. package/apps/pwa/out/_next/static/chunks/2655.72cc6a97276c5acc.js +0 -1
  577. package/apps/pwa/out/_next/static/chunks/2699-325cc923ba7b8631.js +0 -1
  578. package/apps/pwa/out/_next/static/chunks/2743-ef6e8c3ced74cce5.js +0 -1
  579. package/apps/pwa/out/_next/static/chunks/2840-5458ad50c49cac6a.js +0 -1
  580. package/apps/pwa/out/_next/static/chunks/2856.f75d5baef7f49b74.js +0 -1
  581. package/apps/pwa/out/_next/static/chunks/311.e685738f92e6e2ec.js +0 -1
  582. package/apps/pwa/out/_next/static/chunks/3194-807b212fb8eae065.js +0 -1
  583. package/apps/pwa/out/_next/static/chunks/3324-d1d2979821dfa845.js +0 -1
  584. package/apps/pwa/out/_next/static/chunks/3344.0de4b0ec5a454b7a.js +0 -1
  585. package/apps/pwa/out/_next/static/chunks/335.a13f339e97893437.js +0 -94
  586. package/apps/pwa/out/_next/static/chunks/3394.646348f34b2500be.js +0 -1
  587. package/apps/pwa/out/_next/static/chunks/3443.6276909b53d72d53.js +0 -1
  588. package/apps/pwa/out/_next/static/chunks/3495.abd4254d808bf2dc.js +0 -1
  589. package/apps/pwa/out/_next/static/chunks/3558-bbb5ab553a0471d3.js +0 -1
  590. package/apps/pwa/out/_next/static/chunks/3721.ba5b82db0d9a5572.js +0 -1
  591. package/apps/pwa/out/_next/static/chunks/3857-5985236d9307f676.js +0 -1
  592. package/apps/pwa/out/_next/static/chunks/3916-3d02dd1fc257dd3c.js +0 -1
  593. package/apps/pwa/out/_next/static/chunks/3919.9ff7dc25afefee33.js +0 -74
  594. package/apps/pwa/out/_next/static/chunks/3998.bd9a69d9b50e9bd2.js +0 -1
  595. package/apps/pwa/out/_next/static/chunks/4003.ab6db1dc266576c9.js +0 -1
  596. package/apps/pwa/out/_next/static/chunks/4144-fad095b48a1862ee.js +0 -1
  597. package/apps/pwa/out/_next/static/chunks/4216.e8ac94b9fe6b96ab.js +0 -1
  598. package/apps/pwa/out/_next/static/chunks/4327.c44dc2b55cb43ee5.js +0 -34
  599. package/apps/pwa/out/_next/static/chunks/4401.94257d497b6d26bc.js +0 -1
  600. package/apps/pwa/out/_next/static/chunks/4559.17ca2cdbaa8d414f.js +0 -115
  601. package/apps/pwa/out/_next/static/chunks/4565-3d7e3fdeb43686a8.js +0 -1
  602. package/apps/pwa/out/_next/static/chunks/4706.97e734bd4c9816ca.js +0 -1
  603. package/apps/pwa/out/_next/static/chunks/4795-f372490b178583fc.js +0 -1
  604. package/apps/pwa/out/_next/static/chunks/4982.6e44352f751b9a1b.js +0 -77
  605. package/apps/pwa/out/_next/static/chunks/5342.49c5c5a530e62b50.js +0 -1
  606. package/apps/pwa/out/_next/static/chunks/5360-08a80abdf3a4da99.js +0 -1
  607. package/apps/pwa/out/_next/static/chunks/5431.66c58ab1327ee0b7.js +0 -1
  608. package/apps/pwa/out/_next/static/chunks/5633-d6852385000738ef.js +0 -1
  609. package/apps/pwa/out/_next/static/chunks/5717.bcfcb96e701b82e0.js +0 -90
  610. package/apps/pwa/out/_next/static/chunks/5755-30d102586789bf7f.js +0 -1
  611. package/apps/pwa/out/_next/static/chunks/5957.3f1a4012388dd962.js +0 -1
  612. package/apps/pwa/out/_next/static/chunks/5977-5b9e8a45a5b0c823.js +0 -1
  613. package/apps/pwa/out/_next/static/chunks/602.9bf02ac8e9502598.js +0 -1
  614. package/apps/pwa/out/_next/static/chunks/6020.3a1b347e2d2dfacc.js +0 -8
  615. package/apps/pwa/out/_next/static/chunks/6375.fce1d174ba6d0324.js +0 -64
  616. package/apps/pwa/out/_next/static/chunks/6546.92a828aef441271f.js +0 -1
  617. package/apps/pwa/out/_next/static/chunks/658.957fdb0a8c6c6c8e.js +0 -287
  618. package/apps/pwa/out/_next/static/chunks/6706.323590aabb8b1293.js +0 -226
  619. package/apps/pwa/out/_next/static/chunks/6747.b67947f293a4c02d.js +0 -1
  620. package/apps/pwa/out/_next/static/chunks/6868.000b24a3045c5574.js +0 -1
  621. package/apps/pwa/out/_next/static/chunks/6877-74399f69c7da1433.js +0 -1
  622. package/apps/pwa/out/_next/static/chunks/6946.bba74e9c96050f30.js +0 -1
  623. package/apps/pwa/out/_next/static/chunks/7033.a558f1b2f6912a53.js +0 -1
  624. package/apps/pwa/out/_next/static/chunks/7065.46029c26c53eac50.js +0 -1
  625. package/apps/pwa/out/_next/static/chunks/7087.6fae577d09249bc1.js +0 -1
  626. package/apps/pwa/out/_next/static/chunks/722.de8d9801e0f6d414.js +0 -41
  627. package/apps/pwa/out/_next/static/chunks/726.83532d69452ee24b.js +0 -1
  628. package/apps/pwa/out/_next/static/chunks/7290-f09c928a06c52e2d.js +0 -1
  629. package/apps/pwa/out/_next/static/chunks/7497.57981e9d7a75a52a.js +0 -24
  630. package/apps/pwa/out/_next/static/chunks/7672.4af122ad892117c7.js +0 -1
  631. package/apps/pwa/out/_next/static/chunks/771.6ab889a233e7dae7.js +0 -1
  632. package/apps/pwa/out/_next/static/chunks/7797-df5aa0381fdc078f.js +0 -1
  633. package/apps/pwa/out/_next/static/chunks/8060-cc008cc6fedfa818.js +0 -1
  634. package/apps/pwa/out/_next/static/chunks/8085-d065d0393c1760f5.js +0 -1
  635. package/apps/pwa/out/_next/static/chunks/8096.f7da0776cfde6300.js +0 -1
  636. package/apps/pwa/out/_next/static/chunks/8401-35e94e9091f5eb8d.js +0 -1
  637. package/apps/pwa/out/_next/static/chunks/8682-7061dd4fa7bd62ed.js +0 -1
  638. package/apps/pwa/out/_next/static/chunks/8695-846034ce44852c70.js +0 -1
  639. package/apps/pwa/out/_next/static/chunks/8769.815ca69879f608b4.js +0 -104
  640. package/apps/pwa/out/_next/static/chunks/8857-aa1cc4ac90af4d40.js +0 -1
  641. package/apps/pwa/out/_next/static/chunks/8f835b4f.048eeb02299e3e12.js +0 -1
  642. package/apps/pwa/out/_next/static/chunks/9068.5f2764fccf86c1b2.js +0 -93
  643. package/apps/pwa/out/_next/static/chunks/9103-60fbef33e66f0a46.js +0 -1
  644. package/apps/pwa/out/_next/static/chunks/9247-55bcfbb0e8057f59.js +0 -1
  645. package/apps/pwa/out/_next/static/chunks/935.4ddaa99fc1d1126c.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/9451.ebfb0dcc9c02250f.js +0 -23
  647. package/apps/pwa/out/_next/static/chunks/9559.e648369b1d57cf9a.js +0 -62
  648. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c1a96669158471ec.js +0 -1
  649. package/apps/pwa/out/_next/static/chunks/app/approvals/page-88459e0903da2803.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-d85c43f46f58716b.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/app/board/page-4e645600579ae952.js +0 -1
  652. package/apps/pwa/out/_next/static/chunks/app/botlab/page-87edbfd19117823b.js +0 -1
  653. package/apps/pwa/out/_next/static/chunks/app/bots/page-7f0c2b7801ac6a54.js +0 -1
  654. package/apps/pwa/out/_next/static/chunks/app/ceo/page-bf1f030a9d1adffd.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/app/chat/page-cbaf66b1e1804adf.js +0 -1
  656. package/apps/pwa/out/_next/static/chunks/app/control/page-9f5610caaa06178c.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/app/decisions/page-ec8f3575e339de74.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/app/design-check/page-86d753e460f1a989.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/app/editor/page-4166a7d51cf0a57d.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/app/exec/page-2a19c5cd3b562580.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/app/field/page-b6a09cde2e07521a.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/app/healthz/route-c1a96669158471ec.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/app/inside/page-f7eae1518ca0c353.js +0 -1
  664. package/apps/pwa/out/_next/static/chunks/app/intake/page-456a8573ad811381.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/app/layout-8462d6a543cbb2d9.js +0 -1
  666. package/apps/pwa/out/_next/static/chunks/app/live/page-2974cdfb87c0f9c9.js +0 -1
  667. package/apps/pwa/out/_next/static/chunks/app/live-run/page-f927ffa25f3c86d1.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/app/loops/page-abd86cd832aaa011.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/app/market/page-79daf68f6256adaa.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-8c3f168fc3f91939.js +0 -1
  671. package/apps/pwa/out/_next/static/chunks/app/morning/page-786fb4504d0f2fa9.js +0 -1
  672. package/apps/pwa/out/_next/static/chunks/app/not-found-75209f14597dcb8f.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/app/observatory/page-bf30affe3a85af7e.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-1187a44b7515434b.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-3d0910185a66ed54.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-f401ee1dd5a26e25.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/app/outputs/page-5dfe7604fd842784.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/app/page-76cf838050a8d681.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/app/reflection/page-7ec8e289b4c14df6.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-8c8ac17d52be2a79.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/app/sessions/page-d359ab048d63a9d9.js +0 -1
  682. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-b8b345c880bf78d1.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/app/settings/page-f151cc10ad026940.js +0 -1
  684. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-9875f103057da433.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/app/setup/layout-c1a96669158471ec.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/app/setup/page-9789328af9a9aa62.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/app/share/page-bf495a1e284f4e00.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/app/showroom/page-a263d94bca4be22a.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/app/tasks/page-3962eab8ec58d16e.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/app/term/page-9abcfac07e02a542.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/app/today/page-bee49f927c333abb.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/app/trace/page-bac2d56dcb02d955.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/app/vault/page-937cbcc13176295c.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-d09495594f7f480d.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/app/workflows/page-69cb93d1a2e57e0e.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/app/workspace/page-72ec543928d67c3e.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-82906eeda0186a7b.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/f6231284-45726550aba08fca.js +0 -1
  699. package/apps/pwa/out/_next/static/chunks/main-59fe95fed40c7a01.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/main-app-4ca74dbbee7057c6.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/pages/_app-13a0a886df4d97a1.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/pages/_error-6af8591cd3a3f038.js +0 -1
  703. package/apps/pwa/out/_next/static/chunks/webpack-f2b4016b9b981bc8.js +0 -1
  704. package/apps/pwa/out/_next/static/css/f2bd5257e6af88d8.css +0 -1
  705. /package/apps/pwa/out/_next/static/{aBi6EyMtLsrl7J8eH4kF7 → rfkMm4movqkqMebBrCXiR}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1459],{2457:(e,t,n)=>{n.d(t,{C5:()=>a,hG:()=>c});var r=n(39782),o=n(49393);let i=new Set(["cli","pwa","tg","dc"]);function a(e){var t;let n;e.origin&&i.has(e.origin)?n=e.origin:"telegram"===e.source?n="tg":"cli"===e.source&&(n="cli");let r=(null!=(t=e.preview)?t:"").trim();return{id:e.id,msgCount:e.messageCount,lastTurnAt:e.updatedAt,...r?{lastMsgPreview:r}:{},...n?{origin:n}:{}}}class s{list(){return this.cache}start(){!this.disposed&&(this.timer||(this.scheduleTimer(),this.openEventStream(),this.forceRefresh()))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null,this.currentIntervalMs=null),this.closeEventStream()}dispose(){this.disposed=!0,this.stop(),this.listeners.clear()}enterActive(){this.activeCount+=1,this.scheduleTimer();let e=!1;return()=>{e||(e=!0,this.activeCount=Math.max(0,this.activeCount-1),this.scheduleTimer())}}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}forceRefresh(){if(this.inFlight)return this.inFlight;let e=this.fetchAndStore().finally(()=>{this.inFlight=null});return this.inFlight=e,e}async forget(e){(0,o.cY)("webterm.sessions.forget",{sessionId:e}),await this.api.delete(e),await this.forceRefresh()}scheduleTimer(){if(this.disposed)return;let e=this.activeCount>0?this.opts.activeIntervalMs:this.opts.idleIntervalMs;this.currentIntervalMs===e&&this.timer||(this.timer&&(clearInterval(this.timer),this.timer=null),this.currentIntervalMs=e,this.timer=setInterval(()=>{this.forceRefresh()},e))}openEventStream(){if(this.es||this.disposed||"undefined"==typeof EventSource)return;let e=this.client.sessionStoreEventsUrl();if(e)try{let t=new EventSource(e),n=()=>{this.sseDebounce&&clearTimeout(this.sseDebounce),this.sseDebounce=setTimeout(()=>{this.forceRefresh()},500)};t.addEventListener("session.created",n),t.addEventListener("session.updated",n),t.onmessage=n,this.es=t}catch(e){this.es=null}}closeEventStream(){var e;this.sseDebounce&&(clearTimeout(this.sseDebounce),this.sseDebounce=null),null==(e=this.es)||e.close(),this.es=null}async fetchAndStore(){try{let e=await this.api.list(),t=(Array.isArray(null==e?void 0:e.sessions)?e.sessions:[]).map(a);if(function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],o=t[n];if(r.id!==o.id||r.msgCount!==o.msgCount||r.lastTurnAt!==o.lastTurnAt||r.lastMsgPreview!==o.lastMsgPreview||r.origin!==o.origin)return!1}return!0}(this.cache,t))return;for(let e of(this.cache=t,this.listeners))try{e()}catch(e){}}catch(e){(0,o.cY)("webterm.sessions.fetch.error",{err:String(e)})}}constructor(e,t={activeIntervalMs:1e4,idleIntervalMs:6e4}){this.client=e,this.opts=t,this.cache=[],this.listeners=new Set,this.activeCount=0,this.timer=null,this.currentIntervalMs=null,this.inFlight=null,this.es=null,this.sseDebounce=null,this.disposed=!1,this.api=new r.jU(e)}}let l=null;function c(e){if(l&&l.client===e)return l.svc;l&&l.svc.dispose();let t=new s(e);return l={client:e,svc:t},t.start(),t}},16157:(e,t,n)=>{function r(e){if(/[\r\n\u2028\u2029]/.test(e))return null;let t=e.trim();return/^\/harness(?:\s|$)/.test(t)?t.slice(8).trim():/^하니스로\s/.test(t)?e:null}function o(e){switch(e){case"accepted":return"접수됨";case"flow-settled":return"골 저작 끝";case"launch-started":return"런 도는 중";case"launch-settled":return"런 끝";case"launch-failed":return"발사 실패";default:return"알 수 없는 단계"}}function i(e){return"launch-settled"===e||"launch-failed"===e}n.d(t,{SK:()=>o,dz:()=>r,rr:()=>i})},17659:(e,t,n)=>{n.d(t,{g:()=>s,q:()=>a});var r=n(35619);let o=[{id:"OP",seat:"COO"},{id:"MK",seat:"CMO"},{id:"TC",seat:"CTO"},{id:"UX",seat:"CXO"}];function i(e){return(0,r.t)(e.replace(/\s+/g," ")).trim()}function a(e){var t;let n=e.split("\n"),r=(e,t)=>{let n=e.trim();return t&&(n=(n=n.replace(/^\*\*\[[^\]]+\]\*\*\s*/,"")).replace(/^(?:📌\S*\s*)?\d{4}-\d{2}-\d{2}\s+\d{1,2}:\d{2}\s*KST\s*/,"")),i(n=(n=(n=(n=(n=(n=n.replace(/^→\s*(?:[A-Z]{1,4}|전원|전체)(?=\s|·|$)(?:\s*·\s*(?:[A-Z]{1,4}|전원|전체)(?=\s|·|$))*\s*(?:·)?\s*/u,"")).replace(/^—\s*/,"")).replace(/^[-*]\s+/,"").replace(/\*\*|`|__/g,"").replace(/^#+\s*/,"").trim()).replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,"")).replace(RegExp("^(?:\\p{Extended_Pictographic}\\uFE0F?)+\\s*","u"),"")).replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,""))},o=r(null!=(t=n[0])?t:"",!0);if(o)return o;let a=n.slice(1).find(e=>e.trim());return a?r(a,!1):""}function s(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now();return{seats:o.map(t=>{var n;let{id:r,seat:o}=t,i=null==e?void 0:e.seats.find(e=>e.seat===r);return{seat:o,now:(null==i?void 0:i.now)&&Array.from(a(i.now.text)).slice(0,40).join("")||"못 읽음",landedToday:(null==i?void 0:i.landed)==null?"못 읽음":i.landed.length,blocked:(null==i?void 0:i.blocked)==null?"못 읽음":i.blocked.length,decisionsWaiting:null!=(n=null==i?void 0:i.pendingDecisions)?n:"못 읽음"}}),runs:(null!=(n=null==t?void 0:t.entries)?n:[]).filter(e=>"running"===e.status).sort((e,t)=>{var n,r;return(Date.parse(null!=(n=t.lastActivityTimestamp)?n:"")||0)-(Date.parse(null!=(r=e.lastActivityTimestamp)?r:"")||0)}).slice(0,6).map(e=>{var t;let n=Date.parse(null!=(t=e.lastActivityTimestamp)?t:"");return{id6:function(e){let t=e.replace(/^run-/i,"");return/^[a-z0-9]{6}/i.test(t)&&i(t.slice(0,6))||"못 읽음"}(e.runId),stage:i(e.lastPhase||e.status)||"못 읽음",elapsedSec:Number.isFinite(n)?Math.max(0,Math.floor((r-n)/1e3)):"못 읽음"}})}}},21426:(e,t,n)=>{n.d(t,{Gm:()=>u,IH:()=>i,PM:()=>l,ZJ:()=>s,cE:()=>o,dy:()=>c,qI:()=>a,sg:()=>d});let r=/https?:\/\/[^\s<>"']+/g;function o(e){return e.slice(0,40)}async function i(e,t){let n=function(e){var t;let n=null!=(t=e.match(r))?t:[];return 0===n.length?[{text:e}]:n.map(e=>({url:e}))}(t),o=await e.fetchJson("/v1/intake-ledger/items",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({items:n,source:"pwa"})});return{ids:o.ids,added:o.added,merged:o.merged}}function a(e,t,n,r){return e.fetchJson("/v1/task-cards/wish",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t,sessionId:n,ref:r})})}async function s(e,t){return{acceptanceId:(await e.fetchJson("/v1/harness/ask",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t})})).acceptanceId}}function l(e,t){return e.fetchJson("/v1/harness/ask-status?acceptanceId=".concat(encodeURIComponent(t)))}function c(e,t){return e.fetchJson("/v1/harness/run-events?runId=".concat(encodeURIComponent(t)))}function u(e,t){return e.fetchJson("/v1/intake-ledger/items/".concat(encodeURIComponent(t)))}function d(e,t,n){return e.fetchJson("/v1/intake/route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t,consent:"route",source:"pwa",...(null==n?void 0:n.classify)!==void 0?{classify:n.classify}:{}})})}},27974:(e,t,n)=>{n.d(t,{g:()=>a,h:()=>s});let r=["coo-admin","release-schedule","release-checklist"],o=/^ {0,3}(`{3,}|~{3,})([^\r\n]*)$/,i=/^ {0,3}(`{3,}|~{3,})[ \t]*$/;function a(e){let t,n=[],a=[],s=0;for(let l of e.matchAll(/[^\r\n]*(?:\r?\n|$)/g)){let c=l[0];if(!c)continue;let u=l.index,d=c.replace(/\r?\n$/,"");if(!t){let e=o.exec(d);e&&!("`"===e[1][0]&&e[2].includes("`"))&&(t={marker:e[1],start:u,bodyStart:u+c.length,isCard:/^elanous-card[ \t]*$/.test(e[2])});continue}let p=i.exec(d);if(p&&p[1][0]===t.marker[0]&&!(p[1].length<t.marker.length)){if(t.isCard)try{let o=JSON.parse(e.slice(t.bodyStart,u));!(null===o||"object"!=typeof o||Array.isArray(o))&&"string"==typeof o.kind&&r.includes(o.kind)&&Array.isArray(o.items)&&o.items.every(e=>!(null===e||"object"!=typeof e||Array.isArray(e))&&"string"==typeof e.title&&(null===e.due||"string"==typeof e.due&&/^\d{4}-\d{2}-\d{2}$/.test(e.due))&&(null===e.daysLeft||"number"==typeof e.daysLeft&&Number.isFinite(e.daysLeft))&&"string"==typeof e.state&&"string"==typeof e.owner&&(void 0===e.url||"string"==typeof e.url))&&(n.push(o),a.push(e.slice(s,t.start)),s=u+c.length)}catch(e){}t=void 0}}return a.push(e.slice(s)),{text:a.join(""),cards:n}}function s(e){let t=[],n=(e,r)=>{if("string"==typeof e)return void t.push(e);if(!(r>2)&&null!==e&&"object"==typeof e){if(Array.isArray(e)){for(let t of e)n(t,r+1);return}for(let t of["output","text","content","result"])t in e&&n(e[t],r+1)}};return n(e,0),t.flatMap(e=>a(e).cards).map(e=>"```elanous-card\n"+JSON.stringify(e)+"\n```\n").join("")}},35619:(e,t,n)=>{n.d(t,{t:()=>d});let r=/\brun-([0-9a-f]{8})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,o=/(?:\/(?:Users|home|private)\/[\w.%@+~/-]+|\b[A-Za-z]:\\(?:[^\\\s,;<>"']+\\)*[^\\\s,;<>"']+)/g,i=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,a=RegExp("(?<![A-Za-z0-9_-])(?:[A-Za-z0-9_]{40,}|(?:sk|ghp|gho|ghs|github_pat|xox[abpr])[-_][A-Za-z0-9_-]{20,})(?![A-Za-z0-9_-])","g"),s=/\b(?:OP|MK|TC|UX)\b/g,l=/\bmsb(\d+)\b/gi,c=/(?:\u{1F451}|🪑|🅞|🅜|🅣|🅤|🅢|🅕)\uFE0F?/gu,u={OP:"COO",MK:"CMO",TC:"CTO",UX:"CXO"};function d(e){let t,n=e;do t=n,n=n.replace(r,(e,t)=>"run-".concat(t.slice(0,6))).replace(o,"").replace(i,"").replace(c,"").replace(a,"").replace(s,e=>u[e]).replace(l,(e,t)=>"remote-".concat(t));while(n!==t&&function(e){return[r,o,i,a,s,c,l].flatMap(t=>[...e.matchAll(t)].map(e=>e[0]))}(n).length>0);return n}},36692:(e,t,n)=>{n.d(t,{bK:()=>ey,Ju:()=>es,yN:()=>eE,Wl:()=>eo,FM:()=>eC,uS:()=>G,$Q:()=>eM,tw:()=>ej,ki:()=>ec,ZH:()=>eD,py:()=>eR,lY:()=>eU,HD:()=>eP,er:()=>ei});var r=n(27974),o=n(35619),i=n(91818);let a={OP:"COO",MK:"CMO",TC:"CTO",UX:"CXO"},s="[A-Za-z0-9_-]{1,39}",l={seat:RegExp("^elanous://seat-loop/(?:OP|MK|TC|UX)/\\d{4}-\\d{2}-\\d{2}#\\d+$"),event:new RegExp("^elanous://context/event/".concat(s,"$")),cell:new RegExp("^elanous://release/\\d+\\.\\d+\\.\\d+/checklist#".concat(s,"$")),decision:new RegExp("^elanous://decisions/".concat(s,"$"))};function c(e,t){if(!l[e].test(t))return!1;let n="seat"===e?t.replace(/\/seat-loop\/(?:OP|MK|TC|UX)\//,"/seat-loop/seat/"):t;return(0,o.t)(n)===n}function u(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function d(e){if(!u(e)||"string"!=typeof e.source)return!1;switch(e.kind){case"version":return"string"==typeof e.version;case"cell":return"string"==typeof e.version&&"string"==typeof e.id&&"string"==typeof e.title&&"string"==typeof e.status&&(null===e.owner||"string"==typeof e.owner);case"decision":return"string"==typeof e.id&&"string"==typeof e.title&&"string"==typeof e.status&&(null===e.dueAt||"string"==typeof e.dueAt);case"seat":return"string"==typeof e.seat&&"string"==typeof e.at&&"string"==typeof e.status&&(null===e.id||"string"==typeof e.id)&&(null===e.title||"string"==typeof e.title);default:return!1}}function p(e){return u(e)&&"string"==typeof e.at&&"string"==typeof e.kind&&"string"==typeof e.summary&&"string"==typeof e.source}function f(e){return Array.from((0,o.t)(e).trim()).slice(0,30).join("")}function h(e,t){var n,r;return Number.isFinite(Date.parse(e))&&null!=(r=null==(n=(0,i.z)({date:"",seats:[{seat:"TC",now:{text:"출처",at:e},landed:null,blocked:null,pendingDecisions:null,checklist:null}]},t)[0])?void 0:n.ago)?r:null}function m(e,t){if(!(u(e)&&"string"==typeof e.at&&(null===e.topic||"string"==typeof e.topic)&&Array.isArray(e.facts)&&e.facts.every(d)&&Array.isArray(e.events)&&e.events.every(p)&&Array.isArray(e.guide)&&e.guide.every(e=>"string"==typeof e)))return null;let n=e.facts.filter(e=>"seat"===e.kind).sort((e,t)=>t.at.localeCompare(e.at)).filter(e=>Object.hasOwn(a,e.seat)&&c("seat",e.source)).map(e=>({label:(0,o.t)("".concat(a[e.seat]," 자리 루프").concat(e.title?" \xb7 ".concat(f(e.title)):"")),ago:h(e.at,t),source:e.source})),r=e.events.filter(e=>c("event",e.source)).sort((e,t)=>t.at.localeCompare(e.at)).map(e=>({label:(0,o.t)("조율 채널 \xb7 ".concat(f(e.summary))),ago:h(e.at,t),source:e.source}));return[...n,...r,...e.facts.filter(e=>"cell"===e.kind&&c("cell",e.source)).map(e=>({label:(0,o.t)("".concat(e.version," 체크리스트 ").concat(e.id)),ago:null,source:e.source})),...e.facts.filter(e=>"decision"===e.kind&&"open"===e.status&&c("decision",e.source)).map(e=>({label:(0,o.t)("결정 대기 ".concat(e.id)),ago:null,source:e.source}))].slice(0,6)}var g=n(90690),y=n(50612),v=n(86447);async function k(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{var r,o;let i=await e.fork(t,n);if(i.ok&&i.id)return{kind:"forked",id:i.id};if(!i.ok&&("not_found"===i.error||/^HTTP 404(?=\s|:|$)/.test(null!=(r=i.error)?r:"")))return{kind:"empty"};return{kind:"error",error:(null!=(o=i.error)?o:"Fork failed").split(/\r?\n/,1)[0]}}catch(t){if((null==t?void 0:t.status)===404)return{kind:"empty"};let e=t instanceof Error?t.message:String(t);if("not_found"===e||/^HTTP 404(?=\s|:|$)/.test(e))return{kind:"empty"};return{kind:"error",error:e.split(/\r?\n/,1)[0]}}}var b=n(39782),w=n(49393),x=n(32680);function I(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0&&e<=100?e:null}function A(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0&&e<=100?Math.round(e):null}function S(e){return e.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]+/g," ").trim()}function T(e){return e.ok&&Array.isArray(e.rows)?e.rows.map(e=>"".concat(S(e.provider)," ").concat(S(e.account)," \xb7 ").concat(function(e){var t,n,r,o,i,a,s;let l=(null==(t=e.subscription)?void 0:t.status)==="available"?A(e.subscription.remainingPercent):null;if(null!==l)return"남은 ".concat(l,"%").concat(function(e){if("number"!=typeof e||!Number.isFinite(e)||e<0)return"";let t=Math.ceil(e/6e4);return t<60?" \xb7 ".concat(t,"분 뒤 초기화"):t<1440?" \xb7 ".concat(Math.ceil(t/60),"시간 뒤 초기화"):" \xb7 ".concat(Math.ceil(t/1440),"일 뒤 초기화")}(null==(n=e.subscription)?void 0:n.resetsInMs));let c=(null==(r=e.credits)?void 0:r.status)==="ok"?A(e.credits.usedPercent):null;if(null!==c)return"사용 ".concat(c,"%");let u=null!=(s=null!=(a=null==(o=e.subscription)?void 0:o.reason)?a:null==(i=e.credits)?void 0:i.reason)?s:"정보 없음";return"못 읽음(".concat(S(u).slice(0,40),")")}(e))):[]}var C=n(27762),E=n(83078);let P={codex:"balanced",luna:"budget",terra:"better",sol:"best",sonnet:"better",opus:"best",grok:"better"},j=[...E.Ql,...Object.keys(P)].join(" \xb7 "),M=["low","medium","high"];function U(e,t){if("model"===e){if(!t.length)return{kind:"model"};let e=t[0].toLowerCase(),n=(0,E.mp)(e)?e:Object.hasOwn(P,e)?P[e]:void 0;return 1===t.length&&n?{kind:"model",tier:n}:{kind:"model",invalid:!0}}return"reasoning"===e?t.length?1===t.length&&M.includes(t[0])?{kind:"reasoning",level:t[0]}:{kind:"reasoning",invalid:!0}:{kind:"reasoning"}:t.length?1===t.length&&"next"===t[0]?{kind:"provider",action:"next"}:2===t.length&&"use"===t[0]?{kind:"provider",action:"use",name:t[1]}:{kind:"provider",action:"show",invalid:!0}:{kind:"provider",action:"show"}}async function R(e){try{return(await e.client.fetchJson("/v1/setup/llm-providers")).activeProvider||e.provider}catch(t){return e.provider}}async function D(e,t){var n,r,o,i,a,s,l;if("model"===e.kind){if(e.invalid)return"쓸 수 있는 값: ".concat(j);if(!e.tier){let e=t.daemon?null==(r=await (0,C.me)(t.daemon))?void 0:r.llm:void 0;return e?"현재 모델: ".concat(e," \xb7 ").concat((0,E.f7)(await R(t),e).model," \xb7 쓸 수 있는 값: ").concat(j):"현재 모델: 확인할 수 없음 \xb7 쓸 수 있는 값: ".concat(j)}if(!(null==(n=t.daemon)?void 0:n.baseUrl)||"synced"!==await (0,C.tM)(t.daemon,e.tier))return"모델 설정을 저장하지 못했습니다 — 데몬 연결을 확인하세요";let o=await R(t);return"모델: ".concat((0,E.f7)(o,e.tier).model,"(으)로 바꿨습니다")}if("reasoning"===e.kind){if(e.invalid)return"쓸 수 있는 값: ".concat(M.join(" \xb7 "));if(e.level)return"추론 강도는 설정 화면에서 바꾸세요";let n=t.daemon?null==(o=await (0,C.me)(t.daemon))?void 0:o.llm:void 0;return n?"현재 추론 단계: 확인할 수 없음 \xb7 모델 티어 기본값: ".concat(null!=(i=(0,E.f7)(await R(t),n).reasoningLevel)?i:"off"," \xb7 추론 강도는 설정 화면에서 바꾸세요"):"현재 추론 단계: 확인할 수 없음 \xb7 추론 강도는 설정 화면에서 바꾸세요"}if(e.invalid)return"쓸 수 있는 값: next \xb7 use <이름>";try{let n=await t.client.fetchJson("/v1/setup/llm-providers"),r=(null!=(s=n.providers)?s:[]).filter(e=>"apiKey"===e.flow&&e.hasSavedKey||"auto"===e.flow),o=r.map(e=>e.provider).join(" \xb7 ");if("show"===e.action)return"현재 프로바이더: ".concat(n.activeProvider||"(없음)"," \xb7 쓸 수 있는 값: ").concat(o||"(없음)");let i="next"===e.action?r[(r.findIndex(e=>e.provider===n.activeProvider)+1)%r.length]:r.find(t=>t.provider===e.name);if(!i)return"쓸 수 있는 값: ".concat(o||"(없음)");if("next"===e.action&&i.provider===n.activeProvider)return"현재 프로바이더: ".concat(n.activeProvider);let c=await t.client.fetchJson("/v1/setup/llm-provider",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({provider:i.provider})});return(null==c?void 0:c.error)?"프로바이더 전환 실패: ".concat(c.error):"프로바이더: ".concat(null!=(l=null==c||null==(a=c.active)?void 0:a.provider)?l:i.provider,"(으)로 바꿨습니다")}catch(e){return"프로바이더 상태를 읽거나 저장하지 못했습니다 — 데몬 연결을 확인하세요"}}var _=n(2457);let O="쓰는 법: /resume <id 앞자리> (4자 이상)",N="대화 목록을 못 읽었습니다",z="elanous-session-";function L(e){return e.startsWith(z)?e.slice(z.length):e}function Y(e,t){return"sessions"===e?{kind:"sessions",count:1===t.length&&/^[1-9]\d*$/.test(t[0])?Math.min(Number(t[0]),30):10}:{kind:"resume",...1===t.length&&t[0].length>=4?{prefix:t[0]}:{}}}function F(e,t){let n=L(e),r=n.toLowerCase(),o=8;for(let n of t){if(n.id===e)continue;let t=L(n.id).toLowerCase(),i=0;for(;i<r.length&&i<t.length&&r[i]===t[i];)i++;o=Math.max(o,i+1)}return n.slice(0,o)}async function B(e,t){if("resume"===e.kind&&!e.prefix)return{text:O};try{let n=await new b.jU(t.client).list();if(!n.ok||!Array.isArray(n.sessions))return{text:N};let r=n.sessions.map(_.C5);return"sessions"===e.kind?{text:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Date.now(),o=[...e].sort((e,t)=>(Date.parse(t.lastTurnAt)||0)-(Date.parse(e.lastTurnAt)||0)).slice(0,n);return[...0===o.length?["대화가 없습니다"]:o.map(n=>{var o;return"".concat(F(n.id,e)).concat(n.id===t?" (지금)":""," \xb7 ").concat(n.msgCount,"개 \xb7 ").concat((0,b.KW)(n.lastTurnAt,r)," \xb7 ").concat((null!=(o=n.lastMsgPreview)?o:"").slice(0,40))}),"이어가기: /resume <앞자리>"].join("\n")}(r,t.sessionId,e.count)}:function(e,t,n){let r=L(e).toLowerCase();if(r.length<4)return{text:O};let o=t.filter(e=>L(e.id).toLowerCase().startsWith(r));if(0===o.length)return{text:"그런 대화가 없습니다 — /sessions 로 목록"};if(o.length>1)return{text:"".concat(o.map(e=>F(e.id,t)).join(" \xb7 "),"\n더 길게 쳐 주세요")};let i=o[0].id;return i===n?{text:"이미 이 대화입니다"}:{newSessionId:i,text:"".concat(F(i,t)," 대화로 옮겼습니다")}}(e.prefix,r,t.sessionId)}catch(e){return{text:N}}}let J=e=>"elanous:chat:persona:".concat(e);function W(e,t){return t.getItem(J(e))||void 0}async function K(e,t,n,r){if(1===e.length&&"-"===e[0])return r.removeItem(J(t)),"이 대화의 페르소나를 뺐습니다";if(e.length>1&&"-"===e[0])return"쓰는 법: /persona [이름|-]";try{var o;if(0===e.length){let e=await n.fetchJson("/v1/personas");if(!Array.isArray(e.personas))return"페르소나 목록을 읽지 못했습니다";let o=W(t,r);return"페르소나: ".concat(e.personas.map(e=>"".concat(e.displayName," (").concat(e.personaId,")").concat(e.personaId===o?" (지금)":"")).join(" \xb7 ")||"없음","\n고르기: /persona <이름> \xb7 빼기: /persona -")}let i=e.join(" "),a=await n.fetchJson("/v1/personas/".concat(encodeURIComponent(i)));if(!(null==(o=a.persona)?void 0:o.personaId))return"그런 페르소나가 없습니다: ".concat(i);return r.setItem(J(t),a.persona.personaId),"".concat(a.persona.displayName," 페르소나를 이 대화에 골랐습니다")}catch(t){if(e.length>0&&t instanceof Error&&t.message.includes("404"))return"그런 페르소나가 없습니다: ".concat(e.join(" "));return"페르소나 목록을 읽지 못했습니다"}}var $=n(16157),Z=n(21426);async function q(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!(null==e?void 0:e.baseUrl))return{kind:"failed",error:"데몬 연결이 없습니다"};let{intervalMs:o=3e3,timeoutMs:i=6e5,sleep:a=e=>new Promise(t=>setTimeout(t,e)),fetch:s=globalThis.fetch}=r,l="".concat(e.baseUrl.replace(/\/$/,""),"/v1/skills/exec"),c={"content-type":"application/json",...e.token?{authorization:"Bearer ".concat(e.token)}:{}},u=Date.now()+i,d=async(e,t,n)=>{let r,o=u-Date.now();if(o<=0)throw Error("timeout");let i=new AbortController,a=setTimeout(()=>i.abort(),o);try{r=await s(e,{...t,signal:i.signal})}catch(e){if(i.signal.aborted)throw Error("timeout");throw e}finally{clearTimeout(a)}if(!r.ok||void 0!==n&&r.status!==n)throw Error("HTTP ".concat(r.status));return r.json()};try{let r=await d(l,{method:"POST",headers:c,body:JSON.stringify({skill:t,task:n})},202);if(!r||"object"!=typeof r||!("id"in r)||"string"!=typeof r.id||!r.id)throw Error("잘못된 응답");for(;;){if(Date.now()>=u)return{kind:"failed",error:"timeout"};let t=await d("".concat(l,"/").concat(encodeURIComponent(r.id)),{headers:e.token?{authorization:"Bearer ".concat(e.token)}:{}});if(!t||"object"!=typeof t||!("status"in t))throw Error("잘못된 응답");if("done"===t.status&&"ok"in t&&"boolean"==typeof t.ok&&"output"in t&&"string"==typeof t.output)return{kind:"done",ok:t.ok,output:t.output};if("rejected"===t.status)return{kind:"rejected"};if("failed"===t.status)return{kind:"failed",error:"error"in t&&"string"==typeof t.error?t.error:"잘못된 응답"};if("running"!==t.status)throw Error("잘못된 응답");let n=u-Date.now();if(n<=0)return{kind:"failed",error:"timeout"};await a(Math.min(o,n))}}catch(e){return{kind:"failed",error:e instanceof Error?e.message:String(e)}}}let H=/^https?:\/\/[^\s"']+\.(png|jpe?g|webp|gif)(\?[^\s"']*)?$/i,V=/https?:\/\/[^\s"'<>)\]]+?\.(?:png|jpe?g|webp|gif)(?:\?[^\s"'<>)\]]*)?/gi;function X(e){var t,n;let r=null==(t=(null!=(n=e.split("?")[0])?n:"").split(".").pop())?void 0:t.toLowerCase();return"jpg"===r||"jpeg"===r?"image/jpeg":"webp"===r?"image/webp":"gif"===r?"image/gif":"image/png"}function G(e){if(!e||"object"!=typeof e||Array.isArray(e))return[];let t=new Set,n=[],r=[],o=(e,i)=>{if(i>4||null===e)return;if(Array.isArray(e)){for(let t of e)o(t,i+1);return}if("object"!=typeof e)return;let a="string"==typeof e.uri?e.uri:e.result_url;if("string"==typeof a&&H.test(a)&&!t.has(a)){t.add(a);let r="string"==typeof e.description?e.description:"string"==typeof e.name?e.name:void 0;n.push({src:a,mediaType:X(a),...r?{alt:r}:{}})}for(let[t,n]of Object.entries(e)){if("string"==typeof n&&("output"===t||"text"===t)){r.push(n);continue}o(n,i+1)}};for(let i of(o(e,0),r))for(let e of i.matchAll(V)){let r=e[0];t.has(r)||(t.add(r),n.push({src:r,mediaType:X(r)}))}return n}function Q(e){return"undefined"==typeof localStorage?void 0:W(e,localStorage)}let ee=new Map,et=new Set,en=[],er=!1;function eo(){return er&&(en=Array.from(ee.values()).sort((e,t)=>{var n,r;return(null!=(n=e.priority)?n:50)-(null!=(r=t.priority)?r:50)}),er=!1),en}function ei(e){return et.add(e),()=>{et.delete(e)}}function ea(e){return"hud.segment"===e.kind&&("applied"===(0,g.VQ)(ee,e)&&function(){for(let e of(er=!0,et))try{e()}catch(e){(0,w.cY)("chat-runtime.hud.subscriber-error",e)}}(),!0)}function es(e){ea(e)}let el=/^\[elanous\/feedback\/[a-zA-Z]+\] /;function ec(e,t){let n=(0,r.h)(t);return!(!n||e.some(e=>"text"===e.kind&&e.text===n))&&(e.push({kind:"text",text:n}),!0)}function eu(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return;let n=(Array.isArray(e.content)?e.content:[]).filter(e=>null!==e&&"object"==typeof e&&!Array.isArray(e)&&"resource"===e.type).map(e=>e.resource).find(e=>{var n;return!(null===e||"object"!=typeof e||Array.isArray(e))&&e.uri===t&&"string"==typeof(n=e.mimeType)&&"text/html"===n.split(";")[0].trim().toLowerCase()&&"string"==typeof e.text});if(!n)return;let r=n._meta,o=r&&"object"==typeof r&&!Array.isArray(r)?r.ui:void 0,i=o&&"object"==typeof o&&!Array.isArray(o)?o.csp:void 0,a=i&&"object"==typeof i&&!Array.isArray(i)?i.connectDomains:void 0,s=i&&"object"==typeof i&&!Array.isArray(i)?i.resourceDomains:void 0,l=Array.isArray(a)?a.filter(e=>"string"==typeof e):void 0,c=Array.isArray(s)?s.filter(e=>"string"==typeof e):void 0;return{html:n.text,...l?{connectDomains:l}:{},...c?{resourceDomains:c}:{}}}let ed="예산 상태를 읽지 못했습니다",ep="elanous:wish:pending:";function ef(e){if(!/^[0-9a-f-]{36}$/.test(e))return;let t=localStorage.getItem("".concat(ep).concat(e));if(!t)return;let n=JSON.parse(t);if(n&&"object"==typeof n&&n.id===e&&"string"==typeof n.baseUrl&&"string"==typeof n.sessionId&&"string"==typeof n.text&&"string"==typeof n.ref&&n.ref.startsWith("".concat(n.sessionId,":"))&&n.ref.endsWith(":".concat(e)))return{id:e,baseUrl:n.baseUrl,sessionId:n.sessionId,text:n.text,ref:n.ref}}async function eh(e,t){if(!(null==e?void 0:e.baseUrl))return null;try{let n=await fetch("".concat(e.baseUrl.replace(/\/$/,"")).concat(t),{headers:e.token?{authorization:"Bearer ".concat(e.token)}:{}});return n.ok?await n.json():null}catch(e){return null}}async function em(e){let t=await eh(e,"/v1/usage");if(t&&"object"==typeof t&&"ok"in t&&!0===t.ok&&"rows"in t&&Array.isArray(t.rows))return t}async function eg(e,t){let[n,r]=await Promise.all([eh(e,"/v1/setup/llm-providers"),(null==e?void 0:e.baseUrl)?(0,C.me)(e):null]),o=n&&"object"==typeof n&&"activeProvider"in n&&"string"==typeof n.activeProvider&&n.activeProvider?n.activeProvider:t;return{provider:o,...n&&(0,E.D9)(o)&&(null==r?void 0:r.llm)?{model:(0,E.f7)(o,r.llm).model}:{}}}let ey=[{name:"help",description:"이 도움말 보기"},{name:"session",description:"현재 대화 ID 보기"},{name:"remaining",description:"계정별 남은 양과 초기화 시각 보기"},{name:"status",description:"현재 대화\xb7모델\xb7데몬 판\xb7남은 양 보기"},{name:"fork",description:"현재 대화를 복사해 새 대화로 분기"},{name:"rewind",description:"N개 사용자 턴 이전으로 분기 (/rewind N)"},{name:"undo",description:"마지막 사용자 턴 이전으로 분기"},{name:"budget",description:"이번 달 지출과 알림 기준 보기"},{name:"history",description:"최근 N개 로컬 대화 요약 (기본 10개, 역할: 앞 80자)"},{name:"clear",description:"로컬 대화 기록 지우기"},{name:"sessions",description:"최근 대화 목록 보기 (/sessions [N])"},{name:"resume",description:"대화 이어가기 (/resume <id 앞자리>)"},{name:"persona",description:"이 대화의 페르소나 보기\xb7고르기\xb7빼기 (/persona [이름|-])"},{name:"model",description:"모델 티어 보기\xb7바꾸기 (/model <티어|별칭>)"},{name:"reasoning",description:"추론 단계 보기\xb7설정 안내 (/reasoning <low|medium|high>)"},{name:"provider",description:"프로바이더 보기\xb7바꾸기 (/provider next|use <이름>)"},{name:"wish",description:"소원을 카드로 남기기 (:wish <소원 한 줄> \xb7 :wish --pending \xb7 :wish --retry <작업 ID>)"},{name:"run-skill",description:"이름을 댄 스킬 하나 바로 실행 (/run-skill <이름> <할 일>)"}],ev=["help","session","fork","budget","history","clear","wish"],ek=["메타 명령(:이름 또는 /이름) (Meta commands):",...ey.map(e=>{let{name:t,description:n}=e;return" ".concat(ev.includes(t)?":":"/").concat(t.padEnd(16)).concat(n)})].join("\n"),eb=new Set(["help","?","resume","clear","cls","status","st","now","wish","remaining","setup","quit","q","exit","run-skill","rs","run","ad","design","design-check","decide","dec","local","ll","session","sess","persona","fork","rewind","mission","resume-turn","context","ctx","paste","sync","s","plugin","plugins","widget","widgets","log","loops","board","memory","mem","export","delta","diffs","theme","debug","rebind","api-allow","api","prompt","prompts","history","hist","inputs","research","rsh","harness","plan","chat","dashboard","dash","telegram","tg","tablet","surface","term","terminal","claude","codex","gemini","acp","conv","handoff","agent-room","showroom","sr","reply","capture","inject","relay","lane","control","default","qc","voice-chat","vc","auto-tts","tts","autotts","directive"]),ew={m:"model",r:"reasoning",think:"reasoning",p:"provider",rs:"run-skill",run:"run-skill"},ex=new Set([...eb].filter(e=>"harness"!==e&&!Object.hasOwn(ew,e)&&!ey.some(t=>t.name===e))),eI=ev.filter(e=>"wish"!==e).map(e=>"/".concat(e)).join(" ");async function eA(e,t,n){var r;let o=(null!=(r=n.messages)?r:[]).filter(e=>"user"===e.role).length,i=(t,r)=>((0,w.cY)("webterm.chat.fork",{command:e,outcome:t,sessionId:n.sessionId}),{text:r});if("fork"===e&&t.length>0)return i("invalid","쓰는 법: /fork");if("undo"===e&&t.length>0)return i("invalid","쓰는 법: /undo");if("rewind"===e&&(1!==t.length||!/^[1-9]\d*$/.test(t[0])))return i("invalid","쓰는 법: /rewind N (양의 정수)");let a="undo"===e?1:"rewind"===e?Number(t[0]):0;if("fork"!==e&&(!Number.isSafeInteger(a)||a>o))return i("out-of-range","되돌릴 사용자 턴이 부족합니다 (".concat(o,"개)"));let s=await k(new b.jU(n.client),n.sessionId,"fork"===e?{}:{beforeUser:o-a+1});if("error"===s.kind)return i("error","대화 분기 실패 — ".concat(s.error));if("empty"===s.kind&&"fork"!==e)return i("empty","저장된 대화가 없어 되돌릴 수 없습니다");let l="forked"===s.kind?s.id:(0,v.Zr)();return(0,w.cY)("webterm.chat.fork",{command:e,outcome:"empty"===s.kind?"empty":"forked",sessionId:n.sessionId,newSessionId:l,..."fork"===e?{}:{beforeUser:o-a+1}}),{text:"fork"===e?"forked → new session ".concat(l):"".concat(a,"개 사용자 턴 이전으로 분기했습니다 → ").concat(l),newSessionId:l}}async function eS(e,t){if(!e)return{text:"무엇을 맡길까요? /harness <한 줄>"};try{let{acceptanceId:n}=await (0,Z.ZJ)(t.client,e);return{text:"하니스 접수 \xb7 ".concat(n.slice(0,8)),harnessAsk:{acceptanceId:n}}}catch(t){let e=(t instanceof Error?t.message:String(t)).split(/\r?\n/,1)[0].slice(0,200);return{text:"하니스 접수 실패 — ".concat(e)}}}let eT={":help":async()=>({text:ek}),":session":async(e,t)=>({text:"session = ".concat(t.sessionId)}),":remaining":async(e,t)=>{let n=await em(t.daemon),r=n?T(n):[],o=void 0!==n;return(0,w.cY)("webterm.chat.status",{cmd:"remaining",rows:r.length,ok:o}),{text:o?r.length?r.join("\n"):"등록된 계정이 없습니다":"남은 양을 읽지 못했습니다"}},":status":async(e,t)=>{let[n,r,o]=await Promise.all([eh(t.daemon,"/v1/health"),em(t.daemon),eg(t.daemon,t.provider)]),i=n&&"object"==typeof n&&"nexusVersion"in n&&"string"==typeof n.nexusVersion?n.nexusVersion:void 0,a=r?T(r):[];return(0,w.cY)("webterm.chat.status",{cmd:"status",rows:a.length,ok:!!i||void 0!==r}),{text:function(e){let{sessionId:t,provider:n,model:r,version:o,usage:i}=e,a=(null==i?void 0:i.ok)&&Array.isArray(i.rows)?i.rows:[],s=e=>{var t,n;let r=(null==(t=e.subscription)?void 0:t.status)==="available"?I(e.subscription.remainingPercent):null;if(null!==r)return r;let o=(null==(n=e.credits)?void 0:n.status)==="ok"?I(e.credits.usedPercent):null;return null===o?null:100-o},l=a.reduce((e,t)=>{let n=s(t),r=e?s(e):null;return null!==n&&(null===r||n<r)?t:e},void 0),c=l?T({ok:!0,rows:[l]})[0]:a.length?T({ok:!0,rows:[a[0]]})[0]:(null==i?void 0:i.ok)&&Array.isArray(i.rows)?"등록된 계정이 없습니다":"남은 양을 읽지 못했습니다";return["대화: ".concat(t.slice(0,8)),"모델: ".concat(n,"/").concat(r||"미확인"),"데몬 판: ".concat(null!=o?o:"확인할 수 없음"),"남은 양: ".concat(c)].join("\n")}({sessionId:t.sessionId,...o,...i?{version:i}:{},...r?{usage:r}:{}})}},":fork":async()=>{let e=(0,v.Zr)();return{text:"forked → new session ".concat(e),newSessionId:e}},":rewind":async(e,t)=>eA("rewind",e,t),":undo":async(e,t)=>eA("undo",e,t),":budget":async(e,t)=>{let n=t.daemon;if(!(null==n?void 0:n.baseUrl))return{text:ed};let r=await (0,x.gh)(n);return r?{text:function(e){let t=Number.isFinite(e.monthSoFarUsd)?e.monthSoFarUsd:0;return"budget ".concat(e.monthYYYYMM,": $").concat(t.toFixed(2)," \xb7 알림 ").concat(e.notifyAtPct,"%")}(r)}:{text:ed}},":history":async(e,t)=>{var n;let r=Number(e[0]),o=Number.isFinite(r)&&r>0?Math.floor(r):10;return{text:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return 0===e.length?"아직 대화가 없습니다":e.slice(Math.max(0,e.length-t)).map(e=>"".concat(e.role,": ").concat(e.text.slice(0,80))).join("\n")}(null!=(n=t.messages)?n:[],o)}},":clear":async()=>({text:"__CLEAR__"}),":sessions":async(e,t)=>B(Y("sessions",e),t),":resume":async(e,t)=>B(Y("resume",e),t),":persona":async(e,t)=>({text:await K(e,t.sessionId,t.client,localStorage)}),":model":async(e,t)=>({text:await D(U("model",e),t)}),":reasoning":async(e,t)=>({text:await D(U("reasoning",e),t)}),":provider":async(e,t)=>({text:await D(U("provider",e),t)}),":wish":async(e,t)=>{let n,r=e.join(" ").trim();if(!r)return{text:":wish <소원 한 줄>"};let o=t.daemon;if(!(null==o?void 0:o.baseUrl))return{text:"소원 카드 저장 실패 — 데몬 연결이 없습니다"};let i=o.baseUrl.replace(/\/$/,"");try{if("--pending"===r){let e=function(e,t){let n=[];for(let r=0;r<localStorage.length;r++){let o=localStorage.key(r);if(null==o?void 0:o.startsWith(ep))try{let r=ef(o.slice(ep.length));(null==r?void 0:r.baseUrl)===e&&r.sessionId===t&&n.push(r)}catch(e){}}return n}(i,t.sessionId);return{text:e.length?e.map(e=>{let{id:t,text:n}=e;return"".concat(t," — ").concat(n)}).join("\n"):"재시도할 소원이 없습니다"}}if(r.startsWith("--retry ")){let e=r.slice(8).trim(),o=ef(e);if(!o||o.baseUrl!==i||o.sessionId!==t.sessionId)return{text:"소원 카드 저장 실패 — 재시도할 작업을 찾을 수 없습니다"};n=o}else{let e=crypto.randomUUID();n={id:e,baseUrl:i,sessionId:t.sessionId,text:r,ref:"".concat(t.sessionId,":").concat(Date.now(),":").concat(e)},localStorage.setItem("".concat(ep).concat(e),JSON.stringify(n))}}catch(e){return{text:"소원 카드 저장 실패 — 작업 보존 불가: ".concat(e instanceof Error?e.message:String(e))}}try{let e=await fetch("".concat(i,"/v1/task-cards/wish"),{method:"POST",headers:{"content-type":"application/json",...o.token?{authorization:"Bearer ".concat(o.token)}:{}},body:JSON.stringify({text:n.text,ref:n.ref,sessionId:n.sessionId})});if(!e.ok)throw Error("HTTP ".concat(e.status));let t=await e.json();if(!t||"object"!=typeof t||!("title"in t)||"string"!=typeof t.title)throw Error("잘못된 응답");return localStorage.removeItem("".concat(ep).concat(n.id)),{text:"소원 카드로 남겼습니다 — ".concat(t.title)}}catch(e){return{text:"소원 카드 저장 실패 — ".concat(e instanceof Error?e.message:String(e)," \xb7 재시도: :wish --retry ").concat(n.id)}}},":run-skill":async(e,t)=>{if(e.length<2)return{text:"쓰는 법: /run-skill <이름> <할 일>"};let n=e[0],r=e.slice(1).join(" "),o=await q(t.daemon,n,r);if((0,w.cY)("webterm.chat.run-skill",{skill:n,kind:o.kind}),"rejected"===o.kind)return{text:"이 스킬은 바로 실행할 수 없습니다 — 대화로 \xab".concat(n," 으로 …\xbb 라고 부탁해 보세요")};if("failed"===o.kind)return{text:"스킬 실행을 확인하지 못했습니다(".concat(o.error,")")};let i=o.output.length>8e3?"".concat(o.output.slice(0,8e3),"… (잘림)"):o.output;return{text:o.ok?i:"스킬이 실패했습니다\n".concat(i)}}};function eC(e){let t=e.trimStart();if(t.startsWith(":"))return!0;if(!t.startsWith("/")||t.length<2||/\s/.test(t[1]))return!1;let[n]=t.split(/\s+/);return!n.slice(1).includes("/")}async function eE(e,t){let n=e.trim(),r=(0,$.dz)(e);if(null!==r&&!n.startsWith("/"))return eS(r,t);if(!n.startsWith(":")&&!n.startsWith("/"))return null;let[o,...i]=n.split(/\s+/);if(o.startsWith("/")&&!eC(e))return null;if("/harness"===o&&null===r)return{text:"무엇을 맡길까요? /harness <한 줄>"};let a=o.startsWith("/"),s=a?":".concat(o.slice(1)):o,l=a&&Object.hasOwn(ew,o.slice(1))?ew[o.slice(1)]:o.slice(1),c=":".concat(l),u=!a&&":provider"===c&&i.length>0&&"next"!==i[0]&&"use"!==i[0],d=a&&":fork"===c?(e,t)=>eA("fork",e,t):!u&&Object.hasOwn(eT,c)?eT[c]:void 0;if(!d){if(a){let e=ex.has(o.slice(1));return(0,w.cY)("webterm.chat.meta-command",{cmd:s,outcome:e?"unsupported-tui":"unknown"}),{text:e?"".concat(o," 은 PWA 채팅에서 아직 안 됩니다 — 지금 되는 명령: ").concat(eI):"모르는 명령입니다: ".concat(o," — /help 로 목록 보기")}}return(0,w.cY)("webterm.chat.meta-command",{cmd:s,outcome:"unknown"}),{text:"unknown meta command: ".concat(o)}}return(0,w.cY)("webterm.chat.meta-command",{cmd:s,outcome:"ok"}),d(i,t)}async function eP(e,t){var n,r,o;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,w.cY)("webterm.chat.runturn.stream.start",{sessionId:t.sessionId,provider:t.provider,len:e.length,contentBlocks:null!=(r=null==(n=i.userContent)?void 0:n.length)?r:0});let a=[],s=-1,l=0,c=0,u=0,d=0,p=()=>a.map(e=>({...e})),f=e=>{(0,w.cY)("webterm.chat.runturn.stream.end",{stopReason:e.stopReason,sessionId:e.sessionId,...void 0!==e.error?{error:e.error}:{},images:l,tools:c,mcpApps:u,feedback:d})},h=Q(t.sessionId),y=await t.client.promptStream({sessionId:t.sessionId||void 0,userText:e,...i.userContent&&i.userContent.length>0?{userContent:i.userContent}:{},provider:t.provider||void 0,...h?{personaId:h}:{}},{onError:i.onError,onTextDelta:e=>{var t,n;let{full:r}=e;-1===s?(s=a.length,a.push({kind:"text",text:r})):a[s]={kind:"text",text:r},null==(t=i.onPartial)||t.call(i,r),null==(n=i.onPartialBlocks)||n.call(i,p())},onImageBlock:e=>{var t;let{src:n,mediaType:r,alt:o}=e;l+=1,a.push(void 0!==o?{kind:"image",src:n,mediaType:r,alt:o}:{kind:"image",src:n,mediaType:r}),null==(t=i.onPartialBlocks)||t.call(i,p())},onFeedback:e=>{if(!ea(e)&&"applied"===(0,g.K4)(a,e)){var t;d+=1,null==(t=i.onPartialBlocks)||t.call(i,p())}},onToolCall:e=>{var t;let{id:n,name:r,args:o}=e;c+=1,a.push({kind:"tool_use",id:n,name:r,status:"running",startedAt:Date.now(),args:o}),null==(t=i.onPartialBlocks)||t.call(i,p())},onToolResult:e=>{var t;let{id:n,name:r,ok:o,summary:s,rawOutput:l,resourceUri:d}=e,f=a.findIndex(e=>"tool_use"===e.kind&&e.id===n),h=o?"done":"error",g="context_now"===r?m(l,Date.now()):null;if(-1===f)c+=1,a.push({kind:"tool_use",id:n,name:r,status:h,startedAt:Date.now(),endedAt:Date.now(),...void 0!==s?{summary:s}:{},...null!==g?{sources:g}:{}});else{let e={...a[f],status:h,endedAt:Date.now(),...void 0!==s?{summary:s}:{},...null!==g?{sources:g}:{}};null===g&&delete e.sources,a[f]=e}if(ec(a,l),"string"==typeof d&&d.trim().length>0){u+=1;let e=eu(l,d);a.push({kind:"mcp_app",toolId:n,toolName:r,screenUrl:d,...void 0!==l?{toolResult:l}:{},...e||{},...void 0!==s?{fallbackText:s}:{}})}null==(t=i.onPartialBlocks)||t.call(i,p())},...i.signal?{signal:i.signal}:{},...!0===i.debugTap?{debugTap:!0}:{}}).catch(e=>{var t;throw f({stopReason:(null==(t=i.signal)?void 0:t.aborted)===!0?"aborted":"error",error:e instanceof Error?e.message:String(e)}),e});f({stopReason:y.stopReason,sessionId:y.sessionId}),-1!==s&&y.text&&(a[s]={kind:"text",text:y.text});let v=l>0||c>0||u>0||d>0;return{message:{id:"m-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"assistant",text:null!=(o=y.text)?o:"",timestamp:Date.now(),meta:{provider:t.provider,stopReason:y.stopReason},...v?{blocks:p()}:{}},newSessionId:y.sessionId!==t.sessionId?y.sessionId:void 0}}function ej(e,t){return{id:"u-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"user",text:e,timestamp:Date.now(),...t?{terminalId:t}:{}}}function eM(e,t){return{id:"meta-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"meta",text:e,timestamp:Date.now(),...t?{terminalId:t}:{}}}function eU(e,t,n){let r=null,o=[],i=-1,a=0,s=0,l=0,c=0,u=!1,d=()=>{r=null,o.length=0,i=-1,a=0,s=0,l=0,c=0,u=!1},p=()=>o.map(e=>({...e}));return e.subscribeChatEvents(t,{onTurnBegin:e=>{var t;if(d(),null==(t=n.isLocalTurnInFlight)?void 0:t.call(n)){u=!0;return}let o=n.onPlaceholder({sessionId:e.sessionId});if(null===o){u=!0;return}r=o},onTextDelta:e=>{let{full:t}=e;u||null===r||(-1===i?(i=o.length,o.push({kind:"text",text:t})):o[i]={kind:"text",text:t},n.onPartialBlocks(r,p()))},onImageBlock:e=>{let{src:t,mediaType:i,alt:s}=e;u||null===r||(a+=1,o.push(void 0!==s?{kind:"image",src:t,mediaType:i,alt:s}:{kind:"image",src:t,mediaType:i}),n.onPartialBlocks(r,p()))},onFeedback:e=>{ea(e)||u||null===r||"applied"===(0,g.K4)(o,e)&&(c+=1,n.onPartialBlocks(r,p()))},onToolCall:e=>{let{id:t,name:i,args:a}=e;u||null===r||(s+=1,o.push({kind:"tool_use",id:t,name:i,status:"running",startedAt:Date.now(),args:a}),n.onPartialBlocks(r,p()))},onToolResult:e=>{let{id:t,name:i,ok:a,summary:c,rawOutput:d,resourceUri:f}=e;if(u||null===r)return;let h=o.findIndex(e=>"tool_use"===e.kind&&e.id===t),g=a?"done":"error",y="context_now"===i?m(d,Date.now()):null;if(-1===h)s+=1,o.push({kind:"tool_use",id:t,name:i,status:g,startedAt:Date.now(),endedAt:Date.now(),...void 0!==c?{summary:c}:{},...null!==y?{sources:y}:{}});else{let e={...o[h],status:g,endedAt:Date.now(),...void 0!==c?{summary:c}:{},...null!==y?{sources:y}:{}};null===y&&delete e.sources,o[h]=e}if(ec(o,d),"string"==typeof f&&f.trim().length>0){l+=1;let e=eu(d,f);o.push({kind:"mcp_app",toolId:t,toolName:i,screenUrl:f,...void 0!==d?{toolResult:d}:{},...e||{},...void 0!==c?{fallbackText:c}:{}})}n.onPartialBlocks(r,p())},onTurnEnd:e=>{var f;if(u||null===r){(0,w.cY)("webterm.chat.runturn.observer.end",{sessionId:t,stopReason:e.stopReason,dropped:!0,reason:u?"dropped-turn":"no-placeholder"}),d();return}-1!==i&&e.text&&(o[i]={kind:"text",text:e.text});let h=a>0||s>0||l>0||c>0;(0,w.cY)("webterm.chat.runturn.observer.end",{sessionId:t,stopReason:e.stopReason,dropped:!1,images:a,tools:s,mcpApps:l,feedback:c});let m={id:"m-obs-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"assistant",text:null!=(f=e.text)?f:"",timestamp:Date.now(),meta:{...n.provider?{provider:n.provider}:{},stopReason:e.stopReason},...h?{blocks:p()}:{}};n.onFinalize(r,m),d()},onError:e=>{null!==r&&n.onError&&n.onError(r,e),d()}})}async function eR(e,t,n){var r,o;let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=n.sessionId;if(!a)throw Error("runChatTurnAcp: sessionId required (daemon handshake first)");let s=[],l=-1,c=0,u=0,d=0,p="",f=-1,h="",m=0,v=0,k=0,b=()=>{if(-1===f)return!1;let e=s[f];return!e.done&&(s[f]={...e,done:!0},!0)},x=()=>s.map(e=>({...e})),I=e.on("sessionUpdate",e=>{var t,n,r,o,w,I,A,S,T,C;let E=e.params;if(!E||E.sessionId!==a)return;let P=E.update;if(P){if("agent_message_chunk"===P.sessionUpdate){let e=P.content;if((null==e?void 0:e.type)==="text"&&"string"==typeof e.text&&e.text.length>0){let r=e.text;p+=r,-1===l?(b(),l=s.length,s.push({kind:"text",text:p})):s[l]={kind:"text",text:p},null==(t=i.onPartial)||t.call(i,p),null==(n=i.onPartialBlocks)||n.call(i,x())}else if((null==e?void 0:e.type)==="image"&&"string"==typeof e.data&&"string"==typeof e.mimeType){c+=1;let t={kind:"image",src:e.data,mediaType:e.mimeType};"string"==typeof e.uri&&(t.alt=e.uri),b(),s.push(t),null==(r=i.onPartialBlocks)||r.call(i,x())}}else if("agent_thought_chunk"===P.sessionUpdate){let e=P.content;if((null==e?void 0:e.type)==="text"&&"string"==typeof e.text&&e.text.length>0){let t=function(e){let t=e.split("\n"),n=t[0];if(!n)return null;let r=/^\[elanous\/feedback\/([a-zA-Z]+)\] (.+)$/.exec(n);if(!r||"emit"!==r[1])return null;let o=[];for(let e=1;e<t.length;e+=1){let n=t[e];if(/^<<elanous-feedback-end /.test(n))break;o.push(n)}try{let e=JSON.parse(o.join("\n"));return(0,y.L)(e)?{method:"emit",payload:e}:null}catch(e){return null}}(e.text);if(t){ea(t.payload)||"applied"===(0,g.K4)(s,t.payload)&&(v+=1,null==(w=i.onPartialBlocks)||w.call(i,x()));return}if(el.test(e.text)){k+=1;return}if(h+=e.text,-1===f)m+=1,f=s.length,s.push({kind:"agent_thinking",blockId:"acp-thought-".concat(a),msg:h,done:!1});else{let e=s[f];s[f]={...e,msg:h}}null==(o=i.onPartialBlocks)||o.call(i,x())}}else if("tool_call"===P.sessionUpdate&&"string"==typeof P.toolCallId)u+=1,s.push({kind:"tool_use",id:P.toolCallId,name:null!=(A=P.title)?A:"",status:"running",startedAt:Date.now(),...P.rawInput?{args:P.rawInput}:{}}),null==(I=i.onPartialBlocks)||I.call(i,x());else if("tool_call_update"===P.sessionUpdate&&"string"==typeof P.toolCallId){let e=s.findIndex(e=>"tool_use"===e.kind&&e.id===P.toolCallId),t="completed"===P.status?"done":"error";if(-1===e)u+=1,s.push({kind:"tool_use",id:P.toolCallId,name:null!=(T=P.title)?T:"",status:t,startedAt:Date.now(),endedAt:Date.now(),...P.title?{summary:P.title}:{}});else{let n=s[e];s[e]={...n,status:t,endedAt:Date.now(),...P.title?{summary:P.title}:{}}}for(let e of(ec(s,P.rawOutput),G(P.rawOutput)))s.some(t=>"image"===t.kind&&t.src===e.src)||(c+=1,s.push({kind:"image",...e}));let n=function(e){if(!e||"object"!=typeof e||Array.isArray(e))return;let t=e._meta,n=t&&"object"==typeof t&&!Array.isArray(t)?t.ui:void 0,r=n&&"object"==typeof n&&!Array.isArray(n)?n.resourceUri:void 0;if("string"==typeof r&&r.trim().length>0)return r;let o=e["ui/resourceUri"];return"string"==typeof o&&o.trim().length>0?o:void 0}(P.rawOutput);if(n){d+=1;let e=eu(P.rawOutput,n);s.push({kind:"mcp_app",toolId:P.toolCallId,toolName:null!=(C=P.title)?C:"",screenUrl:n,...void 0!==P.rawOutput?{toolResult:P.rawOutput}:{},...e||{},...P.title?{fallbackText:P.title}:{}})}null==(S=i.onPartialBlocks)||S.call(i,x())}}}),A=()=>{e.send("session/cancel",{sessionId:a}).catch(()=>{})},S=i.signal;if(S){if(S.aborted)throw I(),Error("aborted");S.addEventListener("abort",A,{once:!0})}let T=i.userContent&&i.userContent.length>0?i.userContent:[{type:"text",text:t}];(0,w.cY)("webterm.chat.runturn.acp.start",{sessionId:a,provider:n.provider,len:t.length,blocks:T.length});let C=e=>{(0,w.cY)("webterm.chat.runturn.acp.end",{sessionId:a,stopReason:e.stopReason,...void 0!==e.error?{error:e.error}:{},textLen:p.length,images:c,tools:u,mcpApps:d,thoughts:m,feedbackEnvelopes:k})};try{let t=Q(a),o=await e.send("session/prompt",{sessionId:a,prompt:T,...t?{_meta:{elanous:{pwaPersonaId:t}}}:{}}),i=null!=(r=null==o?void 0:o.stopReason)?r:"end_turn";b(),C({stopReason:i});let s=c>0||u>0||d>0||m>0||v>0;return{message:{id:"m-acp-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"assistant",text:p,timestamp:Date.now(),meta:{provider:n.provider,stopReason:i},...s?{blocks:x()}:{}}}}catch(e){throw C({stopReason:(null==S?void 0:S.aborted)===!0?"aborted":"error",error:e instanceof Error?e.message:String(e)}),e}finally{b()&&(null==(o=i.onPartialBlocks)||o.call(i,x())),S&&S.removeEventListener("abort",A),I()}}function eD(e,t,n){var r;let o=null!=(r=n.idleFinalizeMs)?r:3e3,i=null,a=[],s=-1,l=0,c=0,u=null,d=()=>{if(null!==i)return!0;let e=n.onPlaceholder({sessionId:t});return null!==e&&(i=e,(0,w.cY)("webterm.chat.acp.foreign-turn.start",{id:e}),!0)},p=e.on("sessionUpdate",e=>{var r,p,f,h;if((null==(r=n.isLocalTurnInFlight)?void 0:r.call(n))||(null==(p=n.isRemoteSseTurnInFlight)?void 0:p.call(n)))return;let m=e.params;if(!m||m.sessionId!==t)return;let g=m.update;if(!g)return;let y=!1;if("agent_message_chunk"===g.sessionUpdate){let e=g.content;if((null==e?void 0:e.type)==="text"&&"string"==typeof e.text&&e.text.length>0){if(!d())return;let t=e.text;if(-1===s)s=a.length,a.push({kind:"text",text:t});else{let e=a[s];a[s]={kind:"text",text:e.text+t}}y=!0}else if((null==e?void 0:e.type)==="image"&&"string"==typeof e.data&&"string"==typeof e.mimeType){if(!d())return;l+=1;let t={kind:"image",src:e.data,mediaType:e.mimeType};"string"==typeof e.uri&&(t.alt=e.uri),a.push(t),y=!0}}else if("tool_call"===g.sessionUpdate&&"string"==typeof g.toolCallId){if(!d())return;c+=1,a.push({kind:"tool_use",id:g.toolCallId,name:null!=(f=g.title)?f:"",status:"running",startedAt:Date.now(),...g.rawInput?{args:g.rawInput}:{}}),y=!0}else if("tool_call_update"===g.sessionUpdate&&"string"==typeof g.toolCallId){if(!d())return;let e=a.findIndex(e=>"tool_use"===e.kind&&e.id===g.toolCallId),t="completed"===g.status?"done":"error";if(-1===e)c+=1,a.push({kind:"tool_use",id:g.toolCallId,name:null!=(h=g.title)?h:"",status:t,startedAt:Date.now(),endedAt:Date.now(),...g.title?{summary:g.title}:{}});else{let n=a[e];a[e]={...n,status:t,endedAt:Date.now(),...g.title?{summary:g.title}:{}}}y=!0}y&&null!==i&&(n.onPartialBlocks(i,a.map(e=>({...e}))),u&&clearTimeout(u),u=setTimeout(()=>{let e=i;if(e&&(0,w.cY)("webterm.chat.acp.foreign-turn.end",{id:e,images:l,tools:c}),u&&(clearTimeout(u),u=null),i=null,a=[],s=-1,l=0,c=0,e&&n.onFinalize)try{n.onFinalize(e)}catch(e){(0,w.cY)("webterm.chat.acp.finalize.error",{reason:String(e)})}},o))});return()=>{p(),u&&(clearTimeout(u),u=null)}}Object.defineProperty(eT,":harness",{value:async(e,t)=>eS(e.join(" "),t)})},39782:(e,t,n)=>{n.d(t,{KW:()=>i,jU:()=>r,nj:()=>o});class r{async list(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.client.fetchJson("/v1/sessions/store".concat(e?"?includeEmpty=1":""))}async transcript(e){return this.client.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(e)))}async fork(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.client.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(e),"/fork"),{method:"POST",...void 0!==t.beforeUser?{headers:{"content-type":"application/json"},body:JSON.stringify({beforeUser:t.beforeUser})}:{}})}async delete(e){return this.client.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(e)),{method:"DELETE"})}constructor(e){this.client=e}}function o(e,t){let n=t.trim().toLowerCase();if(!n)return{kind:"none"};let r=e.filter(e=>e.id.toLowerCase().startsWith(n));return 1===r.length?{kind:"one",id:r[0].id}:0===r.length?{kind:"none"}:{kind:"ambiguous",count:r.length}}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),n=Date.parse(e);if(!Number.isFinite(n))return"";let r=Math.max(0,Math.floor((t-n)/1e3));return r<30?"방금":r<3600?"".concat(Math.floor(r/60),"분 전"):r<86400?"".concat(Math.floor(r/3600),"시간 전"):"".concat(Math.floor(r/86400),"일 전")}},40890:(e,t,n)=>{n.d(t,{z:()=>g});var r=n(26940),o=n(10672),i=n(84567),a=n(67012),s=n(83089),l=n(44141),c=n(81669),u=n(7681),d=n(49393),p=n(53869);function f(){var e,t;if("undefined"==typeof globalThis)return null;let n=globalThis;return null!=(t=null!=(e=n.SpeechRecognition)?e:n.webkitSpeechRecognition)?t:null}async function h(e){var t,n;let r=e.transcript.trim();if(!r)return{ok:!1,status:0,reason:"empty transcript"};let o=e.baseUrl.replace(/\/$/,"");if(!o)return{ok:!1,status:0,reason:"baseUrl not configured"};let i=null!=(t=e.fetchImpl)?t:"undefined"!=typeof fetch?fetch:null;if(!i)return{ok:!1,status:0,reason:"fetch unavailable"};try{let t=await i("".concat(o,"/v1/intake"),{method:"POST",headers:{"content-type":"application/json",...e.token?{authorization:"Bearer ".concat(e.token)}:{}},body:JSON.stringify(function(e){let t={text:e.transcript.trim(),actor:"pwa-voice",channelContext:{kind:"pwa-voice"}};return e.intakeId&&(t.intakeId=e.intakeId),t}({transcript:r,...e.intakeId?{intakeId:e.intakeId}:{}}))});if(!t.ok){let e=await t.text().catch(()=>"");return{ok:!1,status:t.status,reason:e||"HTTP ".concat(t.status)}}let a=await t.json().catch(()=>({}));return{ok:!0,intakeId:null!=(n=a.intakeId)?n:""}}catch(e){return{ok:!1,status:0,reason:String(e instanceof Error?e.message:e)}}}function m(e){let{phase:t,transcript:n,onTranscriptChange:o,error:c,apiAvailable:u,onPressStart:d,onPressEnd:p,onConfirm:f,onCancel:h}=e,m="recording"===t,g="submitting"===t;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onPointerDown:u?d:void 0,onPointerUp:u?p:void 0,onPointerLeave:m?p:void 0,disabled:!u||g,"aria-label":u?"음성 메모 (길게 누르기)":"음성 메모 (브라우저 미지원)",title:u?"길게 눌러 녹음 → intake 저장":"브라우저가 Web Speech API 미지원","data-testid":"showroom-voice-button","data-phase":t,className:"rounded p-1.5 transition disabled:cursor-not-allowed disabled:opacity-50 ".concat(m?"animate-pulse bg-red-500 text-white":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:g?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a.A,{className:"h-3.5 w-3.5"})}),("review"===t||"submitting"===t)&&(0,r.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"Voice intake review","data-testid":"showroom-voice-modal",className:"fixed inset-0 z-40 flex items-center justify-center bg-black/40 p-4 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"flex w-[min(calc(100vw-2rem),28rem)] flex-col gap-3 rounded-2xl border border-zinc-200 bg-white p-4 shadow-2xl dark:border-zinc-800 dark:bg-zinc-900",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"음성 메모 검토"}),(0,r.jsx)("button",{type:"button",onClick:h,disabled:g,"aria-label":"cancel","data-testid":"showroom-voice-cancel",className:"rounded p-1 text-zinc-500 hover:bg-zinc-100 disabled:opacity-50 dark:text-zinc-400 dark:hover:bg-zinc-800",children:(0,r.jsx)(s.A,{className:"h-4 w-4"})})]}),(0,r.jsx)("textarea",{value:n,onChange:e=>o(e.target.value),disabled:g,placeholder:"(녹음된 텍스트가 비어있습니다)",rows:4,"data-testid":"showroom-voice-transcript",className:"rounded border border-zinc-300 bg-white px-2 py-1.5 text-sm text-zinc-900 disabled:opacity-50 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-100"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:h,disabled:g,"data-testid":"showroom-voice-discard",className:"flex-1 rounded-lg border border-zinc-300 bg-white px-3 py-1.5 text-sm font-medium text-zinc-800 transition hover:bg-zinc-100 disabled:opacity-50 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700",children:"버리기"}),(0,r.jsx)("button",{type:"button",onClick:f,disabled:g||0===n.trim().length,"data-testid":"showroom-voice-confirm",className:"flex-1 rounded-lg border border-emerald-500 bg-emerald-500 px-3 py-1.5 text-sm font-semibold text-white transition hover:bg-emerald-600 disabled:cursor-not-allowed disabled:opacity-50",children:(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Intake 저장"]})})]}),c&&(0,r.jsx)("div",{role:"alert","data-testid":"showroom-voice-error",className:"text-xs text-red-600 dark:text-red-400",children:c})]})})]})}function g(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];let{config:e}=(0,u.Q)(),[t,n]=(0,o.useState)("idle"),[i,a]=(0,o.useState)(""),[s,l]=(0,o.useState)(null),g=(0,o.useRef)(null),[y,v]=(0,o.useState)(!0);(0,o.useEffect)(()=>{v(null!==f())},[]);let k=()=>{n("idle"),a(""),l(null),g.current=null},b=async()=>{var t;if(0===i.trim().length)return;if(!e.baseUrl)return void l("Daemon URL 미설정 — Settings 에서 입력");n("submitting"),l(null),(0,d.cY)("showroom.voice.submit",{len:i.trim().length});let r=await h({baseUrl:e.baseUrl,...e.token?{token:e.token}:{},transcript:i});if(!r.ok){l("intake 실패: ".concat(r.reason)),n("review"),(0,d.cY)("showroom.voice.error",{status:r.status});return}c.oR.success("\uD83D\uDCE5 음성 메모 저장됨 \xb7 intake ".concat(r.intakeId||"(id 없음)")),(0,d.cY)("showroom.voice.ok",{intakeId:r.intakeId}),p.K.emit({surface:"pwa",intent:{layer:"utterance",kind:"pwa.utterance.voice_send",target:{kind:"intake",id:null!=(t=r.intakeId)?t:"(unknown)"},value:{transcriptLen:i.trim().length}},...r.intakeId?{context:{active_workflow_run_id:r.intakeId}}:{}}),k()};return(0,r.jsx)(m,{phase:t,transcript:i,onTranscriptChange:a,error:s,apiAvailable:y,onPressStart:()=>{if("idle"!==t)return;l(null),a(""),(0,d.cY)("showroom.voice.press-start",{});let e=function(){var e,t,n;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=null!=(e=r.recognitionImpl)?e:f();if(!o)return null;let i=new o;i.lang=null!=(t=r.lang)?t:"ko-KR",i.interimResults=!0,i.continuous=!0;let a="",s=!0,l=null,c=new Promise(e=>{l=e});i.onresult=e=>{var t;let n="";for(let t=0;t<e.results.length;t+=1){let r=e.results[t];if(!r)continue;let o=r[0];o&&(n+=o.transcript)}a=n,null==(t=r.onUpdate)||t.call(r,n)},i.onerror=e=>{var t;null==(t=r.onError)||t.call(r,{code:e.error,message:e.message})},i.onend=()=>{s=!1,l&&(l(a),l=null)};try{i.start()}catch(e){return null==(n=r.onError)||n.call(r,{code:"start-failed",message:String(e)}),null}return{get transcript(){return a},get active(){return s},async stop(){try{i.stop()}catch(e){}return c},async abort(){try{i.abort()}catch(e){}return c}}}({lang:"ko-KR",onUpdate:e=>a(e),onError:e=>{l("음성 인식 오류: ".concat(e.code)),(0,d.cY)("showroom.voice.recog-error",{code:e.code,message:e.message})}});if(!e)return void l("Web Speech API 미사용 — 브라우저가 미지원");g.current=e,n("recording")},onPressEnd:()=>{if("recording"!==t)return;let e=g.current;if(!e)return void n("idle");(0,d.cY)("showroom.voice.press-end",{}),e.stop().then(e=>{if(a(e),0===e.trim().length)return void k();n("review")})},onConfirm:()=>{b()},onCancel:k})}},48875:(e,t,n)=>{n.d(t,{sS:()=>f});var r=n(10672),o=n(49393);async function i(e){let t=new Blob(["\nclass ElanousCaptureProcessor extends AudioWorkletProcessor {\n constructor(opts) {\n super();\n const o = opts.processorOptions || {};\n this.targetHz = o.targetHz | 0 || 16000;\n this.frameBytes = o.frameBytes | 0 || 640;\n // int16 → 2 bytes per sample\n this.frameSamples = this.frameBytes >> 1;\n this.outBuf = new Int16Array(this.frameSamples);\n this.outIdx = 0;\n this.ratio = sampleRate / this.targetHz;\n this.acc = 0;\n }\n process(inputs) {\n const input = inputs[0];\n if (!input || !input[0]) return true;\n const ch0 = input[0];\n for (let i = 0; i < ch0.length; i++) {\n this.acc += 1;\n if (this.acc < this.ratio) continue;\n this.acc -= this.ratio;\n const v = Math.max(-1, Math.min(1, ch0[i]));\n this.outBuf[this.outIdx++] = v < 0 ? Math.round(v * 0x8000) : Math.round(v * 0x7fff);\n if (this.outIdx >= this.frameSamples) {\n const copy = new Int16Array(this.outBuf);\n this.port.postMessage(copy.buffer, [copy.buffer]);\n this.outBuf = new Int16Array(this.frameSamples);\n this.outIdx = 0;\n }\n }\n return true;\n }\n}\nregisterProcessor('elanous-capture', ElanousCaptureProcessor);\n"],{type:"application/javascript"}),n=URL.createObjectURL(t);try{await e.audioWorklet.addModule(n)}finally{URL.revokeObjectURL(n)}}async function a(e){var t,n,r,a;let s=null!=(t=e.targetSampleRateHz)?t:16e3,l=null!=(n=e.framePcmBytes)?n:640,c=null,u=null,d=null,p=null,f=null;(0,o.cY)("voice.capture.start",{targetHz:s,frameBytes:l});try{(0,o.cY)("voice.capture.gum-request",{hasMediaDevices:"undefined"!=typeof navigator&&!!navigator.mediaDevices,hasGetUserMedia:"undefined"!=typeof navigator&&"function"==typeof(null==(r=navigator.mediaDevices)?void 0:r.getUserMedia)}),c=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:1}}),(0,o.cY)("voice.capture.gum-ok",{tracks:c.getTracks().map(e=>({kind:e.kind,label:e.label,state:e.readyState}))}),u=new AudioContext,(0,o.cY)("voice.capture.audiocontext",{sampleRate:u.sampleRate,state:u.state}),await i(u),(0,o.cY)("voice.capture.worklet-loaded"),(d=new AudioWorkletNode(u,"elanous-capture",{processorOptions:{targetHz:s,frameBytes:l}})).port.onmessage=t=>{e.onFrame(new Uint8Array(t.data))},p=u.createMediaStreamSource(c),(f=u.createGain()).gain.value=1,p.connect(f),f.connect(d),(0,o.cY)("voice.capture.wired",{hasGain:!0})}catch(n){let t=n instanceof Error?n:Error(String(n));throw(0,o.cY)("voice.capture.error",{name:t.name,message:t.message}),null==(a=e.onError)||a.call(e,t),c&&c.getTracks().forEach(e=>e.stop()),u&&await u.close(),t}let h=!1;return{async stop(){if(!h){h=!0;try{null==p||p.disconnect()}catch(e){}try{null==f||f.disconnect()}catch(e){}try{null==d||d.disconnect()}catch(e){}try{null==c||c.getTracks().forEach(e=>e.stop())}catch(e){}try{await (null==u?void 0:u.close())}catch(e){}}},setMicGain(e){if(!f||!u)return;let t=Number.isFinite(e)?Math.max(0,Math.min(1,e)):1;try{let e=u.currentTime;f.gain.cancelScheduledValues(e),f.gain.setValueAtTime(f.gain.value,e),f.gain.linearRampToValueAtTime(t,e+.005),(0,o.cY)("voice.mic.duck.set",{gain:t})}catch(e){try{f.gain.value=t}catch(e){}(0,o.cY)("voice.mic.duck.fallback",{gain:t,err:e instanceof Error?e.message:String(e)})}}}}let s={UPSTREAM_PCM:1,UPSTREAM_FINALIZE:2,UPSTREAM_HELLO:3,UPSTREAM_INTERRUPT:4,DOWNSTREAM_PCM:129,DOWNSTREAM_STATE:130,DOWNSTREAM_ERROR:131,DOWNSTREAM_TRANSCRIPT:132};function l(e,t){let n=new ArrayBuffer(4+t.byteLength),r=new DataView(n);return r.setUint8(0,e),r.setUint8(1,0),r.setUint16(2,0,!1),new Uint8Array(n,4).set(t),n}function c(e){return JSON.parse(new TextDecoder().decode(e))}var u=n(66178),d=n(8155);function p(e){return"speaking"===e?.5:1}function f(e){let[t,n]=(0,r.useState)("idle"),[i,f]=(0,r.useState)(null),[h,m]=(0,r.useState)(!1),g=(0,r.useRef)(null),y=(0,r.useRef)(null),v=(0,r.useRef)(null),k=(0,r.useRef)(e.onTranscript);(0,r.useEffect)(()=>{k.current=e.onTranscript},[e.onTranscript]);let b=(0,r.useRef)(e.onSpeechActivity);(0,r.useEffect)(()=>{b.current=e.onSpeechActivity},[e.onSpeechActivity]);let w=(0,r.useRef)(null);if(null===w.current){let e=(0,d.lu)();w.current=(0,u.cK)({speakingThresholdMultiplier:e.speakingThresholdMultiplier})}let x=(0,r.useRef)("idle"),I=(0,r.useCallback)(e=>{var t,r;let o=x.current;if(x.current=e,null==(t=w.current)||t.setSpeakingActive("speaking"===e),p(o)!==p(e))try{null==(r=g.current)||r.setMicGain(p(e))}catch(e){}n(e)},[]),A=(0,r.useCallback)(async()=>{var e,t,n;try{null==(e=v.current)||e.close()}catch(e){}try{await (null==(t=g.current)?void 0:t.stop())}catch(e){}try{await (null==(n=y.current)?void 0:n.close())}catch(e){}g.current=null,y.current=null,v.current=null},[]);(0,r.useEffect)(()=>()=>{A()},[A]);let S=(0,r.useCallback)(async()=>{f(null),I("connecting");try{let t=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!=(e=t.inputSampleRateHz)?e:24e3,r=new AudioContext,o=0,i=[];function a(){for(let e of i){try{e.stop()}catch(e){}try{e.disconnect()}catch(e){}}i=[],o=r.currentTime}async function s(){a();try{await r.close()}catch(e){}}return{enqueue:function(e){try{let t=e.byteLength>>1,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new Float32Array(t);for(let e=0;e<t;e++){let t=a.getInt16(2*e,!0);s[e]=t<0?t/32768:t/32767}let l=r.createBuffer(1,t,n);l.copyToChannel(s,0);let c=r.createBufferSource();c.buffer=l,c.connect(r.destination);let u=r.currentTime,d=Math.max(u,o);c.start(d),o=d+l.duration,i.push(c),c.onended=()=>{i=i.filter(e=>e!==c)}}catch(e){var a;null==(a=t.onError)||a.call(t,e instanceof Error?e:Error(String(e)))}},cancel:a,close:s}}({onError:e=>f(e.message)});y.current=t;let n=function(e){let t,n="connecting",r=t=>{var r;n=t,null==(r=e.onSocketState)||r.call(e,t),(0,o.cY)("voice.ws.state",{state:t,url:e.url})};(0,o.cY)("voice.ws.construct",{url:e.url,hasToken:!!e.token,location:window.location.href,pageProto:window.location.protocol,wsProto:e.url.startsWith("wss:")?"wss":e.url.startsWith("ws:")?"ws":"(other)"});try{(t=new WebSocket(e.url)).binaryType="arraybuffer",(0,o.cY)("voice.ws.constructed",{readyState:t.readyState,url:t.url})}catch(a){var i;r("error");let t=a instanceof Error?a.message:String(a);return(0,o.cY)("voice.ws.construct-throw",{msg:t,url:e.url}),null==(i=e.onError)||i.call(e,{error:"ws construct failed: ".concat(t)}),{sendUpstreamPcm(){},finalize(){},sendInterrupt(){},close(){},getState:()=>n}}return t.onopen=()=>{var n;(0,o.cY)("voice.ws.open",{readyState:t.readyState,url:t.url,protocol:t.protocol,extensions:t.extensions}),r("open");let i={...null!=(n=e.hello)?n:{},...e.token?{token:e.token}:{}},a=new TextEncoder().encode(JSON.stringify(i));t.send(l(s.UPSTREAM_HELLO,a)),(0,o.cY)("voice.ws.hello-sent",{helloKeys:Object.keys(i)})},t.onmessage=t=>{var n,r,o,i,a,l;if("string"==typeof t.data){null==(n=e.onError)||n.call(e,{error:"unexpected text frame: ".concat(t.data.slice(0,200))});return}try{let n=function(e){if(e.byteLength<4)throw Error("frame too short (".concat(e.byteLength," bytes)"));let t=new DataView(e);return{kind:t.getUint8(0),flags:t.getUint8(1),payload:new Uint8Array(e,4)}}(t.data);switch(n.kind){case s.DOWNSTREAM_PCM:e.onDownstreamPcm(n.payload);break;case s.DOWNSTREAM_STATE:{let{state:t}=c(n.payload);null==(r=e.onState)||r.call(e,t);break}case s.DOWNSTREAM_ERROR:{let t=c(n.payload);null==(o=e.onError)||o.call(e,t);break}case s.DOWNSTREAM_TRANSCRIPT:{let t=c(n.payload);null==(i=e.onTranscript)||i.call(e,t);break}default:null==(a=e.onError)||a.call(e,{error:"unknown frame kind 0x".concat(n.kind.toString(16))})}}catch(t){null==(l=e.onError)||l.call(e,{error:t instanceof Error?t.message:String(t)})}},t.onclose=e=>{(0,o.cY)("voice.ws.close",{code:e.code,reason:e.reason,wasClean:e.wasClean,readyState:t.readyState,priorState:n}),r("closed")},t.onerror=n=>{var i;let a={readyState:t.readyState,url:t.url,eventType:n.type,isTrusted:n.isTrusted};(0,o.cY)("voice.ws.error",a),r("error"),null==(i=e.onError)||i.call(e,{error:"websocket transport error (readyState=".concat(t.readyState,", url=").concat(t.url,")")})},{sendUpstreamPcm:function(e){"open"===n&&t.send(l(s.UPSTREAM_PCM,e))},finalize:function(){"open"===n&&t.send(l(s.UPSTREAM_FINALIZE,new Uint8Array(0)))},sendInterrupt:function(){"open"===n&&t.send(l(s.UPSTREAM_INTERRUPT,new Uint8Array(0)))},close:function(){if("closed"!==n&&"closing"!==n){r("closing");try{t.close(1e3,"client-close")}catch(e){}}},getState:()=>n}}({url:e.wsUrl,...e.token?{token:e.token}:{},hello:{surface:"pwa",userAgent:navigator.userAgent},onDownstreamPcm:e=>{t.enqueue(e),I("speaking")},onState:e=>I(function(e){switch(e){case"connecting":return"connecting";case"streaming":return"listening";default:return"idle"}}(e)),onTranscript:e=>{if("final"===e.kind){var t;null==(t=k.current)||t.call(k,e.text)}},onError:e=>{I("error"),f(e.error)},onSocketState:e=>{let t="connecting"===e?"connecting":"error"===e?"error":"closed"===e?"idle":null;t&&I(t)}});v.current=n,g.current=await a({onFrame:e=>{n.sendUpstreamPcm(e);let t=w.current;if(t&&t.push(e)){(0,o.cY)("voice.barge-in.rms-fire");let e=b.current;try{null==e||e()}catch(e){}if("speaking"===x.current){var r,i;try{null==(r=y.current)||r.cancel()}catch(e){}try{null==(i=v.current)||i.sendInterrupt()}catch(e){}I("listening"),(0,o.cY)("voice.barge-in.auto-fire")}}},onError:e=>{I("error"),f(e.message)}}),m(!0),I("listening")}catch(e){I("error"),f(e instanceof Error?e.message:String(e)),await A()}},[e.wsUrl,e.token,A,I]),T=(0,r.useCallback)(async()=>{var e,t;m(!1),null==(e=v.current)||e.finalize(),await A(),null==(t=w.current)||t.reset(),I("idle")},[A,I]),C=(0,r.useCallback)(async()=>{h?await T():await S()},[h,S,T]),E=(0,r.useCallback)(async()=>{h||await S()},[h,S]);return{phase:t,errorMsg:i,active:h,start:S,stop:T,toggle:C,forceListen:E,interrupt:(0,r.useCallback)(()=>{var e,t;try{null==(e=y.current)||e.cancel()}catch(e){}try{null==(t=v.current)||t.sendInterrupt()}catch(e){}"speaking"===x.current&&(I("listening"),(0,o.cY)("voice.barge-in.manual-fire"))},[I])}}},53869:(e,t,n)=>{n.d(t,{K:()=>r}),n(10672);let r={emit:async function(e){return{ok:!1,reason:"not-configured"}}}},66178:(e,t,n)=>{n.d(t,{Si:()=>a,cK:()=>i});var r=n(10672),o=n(49393);function i(){var e,t,n,r;let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=null!=(e=o.threshold)?e:.04,a=null!=(t=o.speakingThresholdMultiplier)?t:2,s=null!=(n=o.sustainMs)?n:150,l=null!=(r=o.frameMs)?r:20,c=Math.max(1,Math.ceil(s/l)),u=Math.max(1,Math.ceil(500/l)),d=0,p=0,f=!1,h=!1,m=()=>h?i*a:i;return{push(e){if(function(e){if(e.byteLength<2)return 0;let t=e.byteLength>>1,n=new Int16Array(e.buffer,e.byteOffset,t),r=0;for(let e=0;e<t;e+=1){let t=n[e]/32768;r+=t*t}return Math.sqrt(r/t)}(e)>=m()){if(d+=1,p=0,!f&&d>=c)return f=!0,!0}else d=0,p+=1,f&&p>=u&&(f=!1);return!1},reset(){d=0,p=0,f=!1},setSpeakingActive(e){h!==e&&(h=e,d=0,p=0)},effectiveThreshold:m}}function a(e){var t,n;let i=(0,r.useRef)(e.enabled);i.current=e.enabled;let a=(0,r.useRef)(e.onActivate);a.current=e.onActivate;let s=null!=(t=e.thresholdMs)?t:250,l=null==(n=e.ignoreFocusedInput)||n;(0,r.useEffect)(()=>{let e=null,t=!1,n=n=>{!(!i.current||"Space"!==n.code&&" "!==n.key||n.repeat||l&&function(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||e.isContentEditable}(n.target))&&(t||(t=!0,e=setTimeout(()=>{t&&((0,o.cY)("voice.barge-in.spacebar-longpress",{ms:s}),a.current(n))},s)))},r=n=>{(!n||"Space"===n.code||" "===n.key)&&(t=!1,e&&(clearTimeout(e),e=null))};return window.addEventListener("keydown",n),window.addEventListener("keyup",r),window.addEventListener("blur",()=>r()),()=>{e&&clearTimeout(e),window.removeEventListener("keydown",n),window.removeEventListener("keyup",r),window.removeEventListener("blur",()=>r())}},[s,l])}},72799:(e,t,n)=>{n.d(t,{u:()=>d});var r=n(26940),o=n(10672),i=n(84567),a=n(57958),s=n(7681),l=n(81669),c=n(49393),u=n(87271);function d(e){let{onAttached:t}=e,{config:n}=(0,s.Q)(),[d,p]=(0,o.useState)(!1),f=(0,o.useRef)(null),h=async e=>{let r=e.target.files;if(e.target.value="",!r||0===r.length)return;if(!n.baseUrl)return void l.oR.error("Daemon URL 미설정 — Settings 에서 입력");p(!0);let o=Array.from(r);(0,c.cY)("webterm.files.pick",{count:o.length,totalBytes:o.reduce((e,t)=>e+t.size,0)});try{let e=await (0,u.K)(o.map(e=>({file:e,filename:e.name})),{baseUrl:n.baseUrl,...n.token?{token:n.token}:{}}),r=e.filter(e=>e.ok),i=e.filter(e=>!e.ok);r.length>0&&(l.oR.success(1===r.length?"\uD83D\uDCCE ".concat(r[0].meta.filename):"\uD83D\uDCCE ".concat(r.length," files attached")),null==t||t(r.map(e=>e.meta))),i.length>0&&l.oR.error(1===i.length?"업로드 실패: ".concat(i[0].reason.slice(0,80)):"".concat(i.length," 파일 업로드 실패"))}finally{p(!1)}};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:()=>{var e;return null==(e=f.current)?void 0:e.click()},disabled:d,"aria-label":"attach files",title:"attach files (Files.app \xb7 iCloud \xb7 multi-select)",className:"rounded p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-50",children:d?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a.A,{className:"h-3.5 w-3.5"})}),(0,r.jsx)("input",{ref:f,type:"file",multiple:!0,className:"hidden",onChange:h})]})}},87271:(e,t,n)=>{n.d(t,{K:()=>i,v:()=>o});var r=n(49393);async function o(e){var t;let n=e.baseUrl.replace(/\/$/,"");if(!n)return{ok:!1,status:0,reason:"baseUrl not configured"};let o=null!=(t=e.filename)?t:e.file instanceof File?e.file.name:"upload.bin";(0,r.cY)("webterm.attach.upload.begin",{filename:o,size:e.file.size,type:e.file.type});let i=new FormData;i.append("file",e.file,o),i.append("filename",o);try{let t=await fetch("".concat(n,"/v1/attachments"),{method:"POST",body:i,...e.token?{headers:{authorization:"Bearer ".concat(e.token)}}:{}});if(!t.ok){let e=await t.text().catch(()=>"");return(0,r.cY)("webterm.attach.upload.error",{status:t.status,detail:e.slice(0,200)}),{ok:!1,status:t.status,reason:e||"HTTP ".concat(t.status)}}let o=await t.json();return(0,r.cY)("webterm.attach.upload.ok",{id:o.id,size:o.size}),{ok:!0,meta:o}}catch(t){let e=String(t instanceof Error?t.message:t);return(0,r.cY)("webterm.attach.upload.exception",{reason:e}),{ok:!1,status:0,reason:e}}}async function i(e,t){return Promise.all(e.map(e=>o({baseUrl:t.baseUrl,...void 0!==t.token?{token:t.token}:{},file:e.file,...void 0!==e.filename?{filename:e.filename}:{}})))}},90690:(e,t,n)=>{n.d(t,{K4:()=>o,VQ:()=>a});let r=new Set(["normal","warn","danger","success","info","muted"]);function o(e,t){switch(t.kind){case"agent.thinking":return function(e,t){var n,r;let o=null!=(n=t.payload)?n:{},i=null!=(r=o.msg)?r:"Thinking",a=o.metrics&&"number"==typeof o.metrics.elapsedMs&&"number"==typeof o.metrics.tokenCount?{elapsedMs:o.metrics.elapsedMs,tokenCount:o.metrics.tokenCount}:void 0,s={kind:"agent_thinking",blockId:t.blockId,msg:i,done:"end"===t.phase,...a?{metrics:a}:{},...t.asciiFallback.length>0?{asciiFallback:t.asciiFallback}:{}},l=e.findIndex(e=>"agent_thinking"===e.kind&&e.blockId===t.blockId);return -1===l?e.push(s):e[l]=s,"applied"}(e,t);case"agent.status":var n=e,r=t;let o=r.payload;if(!o||"string"!=typeof o.agentId||"string"!=typeof o.status)return"unhandled";let a={kind:"agent_status",blockId:r.blockId,agentId:o.agentId,status:o.status,...void 0!==o.lastEvent?{lastEvent:o.lastEvent}:{}},s=n.findIndex(e=>"agent_status"===e.kind&&e.blockId===r.blockId);return -1===s?n.push(a):n[s]=a,"applied";case"agent.plan":var l=e,c=t;let u=c.payload;if(!u||"string"!=typeof u.ref||!Array.isArray(u.steps))return"unhandled";let d={kind:"agent_plan",blockId:c.blockId,ref:u.ref,steps:u.steps.map(e=>({text:e.text,status:e.status})),...void 0!==u.activeIndex?{activeIndex:u.activeIndex}:{}},p=l.findIndex(e=>"agent_plan"===e.kind&&e.blockId===c.blockId);return -1===p?l.push(d):l[p]=d,"applied";case"tool.diff":var f=e,h=t;let m=h.payload;if(!m||"string"!=typeof m.filePath||!Array.isArray(m.hunks))return"unhandled";for(let e of m.hunks)if("number"!=typeof e.oldStart||"number"!=typeof e.oldLines||"number"!=typeof e.newStart||"number"!=typeof e.newLines||!Array.isArray(e.lines))return"unhandled";let g={kind:"tool_diff",blockId:h.blockId,filePath:m.filePath,...void 0!==m.language?{language:m.language}:{},hunks:m.hunks.map(e=>({oldStart:e.oldStart,oldLines:e.oldLines,newStart:e.newStart,newLines:e.newLines,lines:e.lines.map(e=>({kind:e.kind,text:e.text}))})),...void 0!==h.parentToolCallId?{parentToolCallId:h.parentToolCallId}:{}},y=f.findIndex(e=>"tool_diff"===e.kind&&e.blockId===h.blockId);return -1===y?f.push(g):f[y]=g,"applied";case"tool.search-hit":return function(e,t){let n=t.payload;if(!n||"string"!=typeof n.query||!Array.isArray(n.hits)||"number"!=typeof n.accumCount)return"unhandled";for(let e of n.hits)if("string"!=typeof e.filePath||"number"!=typeof e.line||"string"!=typeof e.snippet)return"unhandled";let r=e.findIndex(e=>"tool_search_hits"===e.kind&&e.blockId===t.blockId),o=n.hits.map(e=>({filePath:e.filePath,line:e.line,snippet:e.snippet,...void 0!==e.column?{column:e.column}:{},...Array.isArray(e.contextBefore)?{contextBefore:[...e.contextBefore]}:{},...Array.isArray(e.contextAfter)?{contextAfter:[...e.contextAfter]}:{}})),i=o;if(-1!==r&&"delta"===t.phase){let t=e[r],n=new Set(t.hits.map(e=>{var t;return"".concat(e.filePath,":").concat(e.line,":").concat(null!=(t=e.column)?t:0)})),a=o.filter(e=>{var t;return!n.has("".concat(e.filePath,":").concat(e.line,":").concat(null!=(t=e.column)?t:0))});i=[...t.hits,...a]}let a={kind:"tool_search_hits",blockId:t.blockId,query:n.query,hits:i,accumCount:n.accumCount,...n.truncated?{truncated:!0}:{},...void 0!==t.parentToolCallId?{parentToolCallId:t.parentToolCallId}:{}};return -1===r?e.push(a):e[r]=a,"applied"}(e,t);case"tool.progress":return function(e,t){let n,r=t.payload;if(!r||"string"!=typeof r.stream||!i.has(r.stream)||!Array.isArray(r.lines))return"unhandled";for(let e of r.lines)if("string"!=typeof e)return"unhandled";let o=e.findIndex(e=>"tool_progress"===e.kind&&e.blockId===t.blockId);if(-1===o)n=[...r.lines];else{let i=e[o];n="update"===t.phase?[...r.lines]:[...i.lines,...r.lines]}let a={kind:"tool_progress",blockId:t.blockId,stream:r.stream,lines:n,done:"end"===t.phase,...void 0!==r.bytesSoFar?{bytesSoFar:r.bytesSoFar}:{},...void 0!==r.exitCode?{exitCode:r.exitCode}:{},...void 0!==t.parentToolCallId?{parentToolCallId:t.parentToolCallId}:{}};return -1===o?e.push(a):e[o]=a,"applied"}(e,t);case"debug.line":return function(e,t){let n,r=t.payload;if(!r||"string"!=typeof r.category||"string"!=typeof r.event||"number"!=typeof r.loggedAt)return"unhandled";let o={seq:t.seq,category:r.category,event:r.event,...void 0!==r.data?{data:r.data}:{},loggedAt:r.loggedAt},i=e.findIndex(e=>"debug_session"===e.kind&&e.blockId===t.blockId);-1===i?n=[o]:(n=[...e[i].lines,o]).length>200&&n.splice(0,n.length-200);let a={kind:"debug_session",blockId:t.blockId,lines:n};return -1===i?e.push(a):e[i]=a,"applied"}(e,t);case"perf.tick":return function(e,t){let n,r=t.payload;if(!r||"string"!=typeof r.metric||0===r.metric.length||"number"!=typeof r.value||!Number.isFinite(r.value))return"unhandled";let o={seq:t.seq,metric:r.metric,value:r.value,..."string"==typeof r.unit?{unit:r.unit}:{},emittedAt:t.emittedAt},i=e.findIndex(e=>"perf_session"===e.kind&&e.blockId===t.blockId);-1===i?n=[o]:(n=[...e[i].samples,o]).length>60&&n.splice(0,n.length-60);let a={kind:"perf_session",blockId:t.blockId,samples:n};return -1===i?e.push(a):e[i]=a,"applied"}(e,t);default:return"unhandled"}}let i=new Set(["stdout","stderr","http","generic"]);function a(e,t){let n=t.payload;if(!n||"string"!=typeof n.key||0===n.key.length)return"unhandled";if("end"===t.phase)return e.has(n.key)?(e.delete(n.key),"applied"):"unhandled";if("string"!=typeof n.value)return"unhandled";let o={key:n.key,value:n.value,..."number"==typeof n.priority&&Number.isFinite(n.priority)?{priority:n.priority}:{},..."string"==typeof n.tone&&r.has(n.tone)?{tone:n.tone}:{},..."string"==typeof n.glyph&&n.glyph.length>0?{glyph:n.glyph}:{}};return e.set(n.key,o),"applied"}},91818:(e,t,n)=>{n.d(t,{z:()=>i});var r=n(17659);let o=[{id:"OP",seat:"COO"},{id:"MK",seat:"CMO"},{id:"TC",seat:"CTO"},{id:"UX",seat:"CXO"}];function i(e,t){return e?o.flatMap(n=>{var o;let{id:i,seat:a}=n,s=null==(o=e.seats.find(e=>e.seat===i))?void 0:o.now;if(!s)return[];let l=Array.from((0,r.q)(s.text)).slice(0,24).join("");if(!l)return[];let c=Math.max(0,Math.floor((t-Date.parse(s.at))/6e4));return[{seat:a,text:l,ago:c<1?"방금":c<60?"".concat(c,"분 전"):c<1440?"".concat(Math.floor(c/60),"시간 전"):"하루 넘음"}]}):[]}}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6767],{27188:(e,t,a)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>i}),(0,a(21201).K)(i,"populateCommonDb")},96767:(e,t,a)=>{a.d(t,{diagram:()=>v});var i=a(27188),l=a(98285),r=a(54547),n=a(13333),s=a(78143),o=a(21201),c=a(93721),d=a(21930),p=n.UI.pie,h={sections:new Map,showData:!1,config:p},g=h.sections,u=h.showData,f=structuredClone(p),m=(0,o.K)(()=>structuredClone(f),"getConfig"),$=(0,o.K)(()=>{g=new Map,u=h.showData,(0,n.IU)()},"clear"),x=(0,o.K)(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);g.has(e)||(g.set(e,t),s.R.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),w=(0,o.K)(()=>g,"getSections"),S=(0,o.K)(e=>{u=e},"setShowData"),y=(0,o.K)(()=>u,"getShowData"),b={getConfig:m,clear:$,setDiagramTitle:n.ke,getDiagramTitle:n.ab,setAccTitle:n.SV,getAccTitle:n.iN,setAccDescription:n.EI,getAccDescription:n.m7,addSection:x,getSections:w,setShowData:S,getShowData:y},C=(0,o.K)((e,t)=>{(0,i.S)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),D={parse:(0,o.K)(async e=>{let t=await (0,c.qg)("pie",e);s.R.debug(t),C(t,b)},"parse")},T=(0,o.K)(e=>`
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1505],{41505:(e,t,a)=>{a.d(t,{diagram:()=>v});var i=a(55302),l=a(51587),r=a(4625),n=a(1591),s=a(9145),o=a(14543),c=a(17355),d=a(8136),p=n.UI.pie,h={sections:new Map,showData:!1,config:p},g=h.sections,u=h.showData,f=structuredClone(p),m=(0,o.K)(()=>structuredClone(f),"getConfig"),$=(0,o.K)(()=>{g=new Map,u=h.showData,(0,n.IU)()},"clear"),x=(0,o.K)(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);g.has(e)||(g.set(e,t),s.R.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),w=(0,o.K)(()=>g,"getSections"),S=(0,o.K)(e=>{u=e},"setShowData"),y=(0,o.K)(()=>u,"getShowData"),b={getConfig:m,clear:$,setDiagramTitle:n.ke,getDiagramTitle:n.ab,setAccTitle:n.SV,getAccTitle:n.iN,setAccDescription:n.EI,getAccDescription:n.m7,addSection:x,getSections:w,setShowData:S,getShowData:y},C=(0,o.K)((e,t)=>{(0,i.S)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),D={parse:(0,o.K)(async e=>{let t=await (0,c.qg)("pie",e);s.R.debug(t),C(t,b)},"parse")},T=(0,o.K)(e=>`
2
2
  .pieCircle{
3
3
  stroke: ${e.pieStrokeColor};
4
4
  stroke-width : ${e.pieStrokeWidth};
@@ -35,4 +35,4 @@
35
35
  font-family: ${e.fontFamily};
36
36
  font-size: ${e.pieLegendTextSize};
37
37
  }
38
- `,"getStyles"),k=(0,o.K)(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),a=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1);return(0,d.rLf)().value(e=>e.value).sort(null)(a)},"createPieArcs"),v={parser:D,db:b,renderer:{draw:(0,o.K)((e,t,a,i)=>{s.R.debug("rendering pie chart\n"+e);let o=i.db,c=(0,n.D7)(),p=(0,r.$t)(o.getConfig(),c.pie),h=(0,l.D)(t),g=h.append("g");g.attr("transform","translate(225,225)");let{themeVariables:u}=c,[f]=(0,r.I5)(u.pieOuterStrokeWidth);f??=2;let m=p.legendPosition,$=p.textPosition,x=p.donutHole>0&&p.donutHole<=.9?p.donutHole:0,w=(0,d.JLW)().innerRadius(185*x).outerRadius(185),S=(0,d.JLW)().innerRadius(185*$).outerRadius(185*$),y=g.append("g");y.append("circle").attr("cx",0).attr("cy",0).attr("r",185+f/2).attr("class","pieOuterCircle");let b=o.getSections(),C=k(b),D=[u.pie1,u.pie2,u.pie3,u.pie4,u.pie5,u.pie6,u.pie7,u.pie8,u.pie9,u.pie10,u.pie11,u.pie12],T=0;b.forEach(e=>{T+=e});let v=C.filter(e=>"0"!==(e.data.value/T*100).toFixed(0)),A=(0,d.UMr)(D).domain([...b.keys()]);y.selectAll("mySlices").data(v).enter().append("path").attr("d",w).attr("fill",e=>A(e.data.label)).attr("class",e=>{let t="pieCircle";return"hover"===p.highlightSlice?t+=" highlightedOnHover":p.highlightSlice===e.data.label&&(t+=" highlighted"),t}),y.selectAll("mySlices").data(v).enter().append("text").text(e=>(e.data.value/T*100).toFixed(0)+"%").attr("transform",e=>"translate("+S.centroid(e)+")").style("text-anchor","middle").attr("class","slice");let K=g.append("text").text(o.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),R=[...b.entries()].map(([e,t])=>({label:e,value:t})),O=g.selectAll(".legend").data(R).enter().append("g").attr("class","legend");O.append("rect").attr("width",18).attr("height",18).style("fill",e=>A(e.label)).style("stroke",e=>A(e.label)),O.append("text").attr("x",22).attr("y",14).text(e=>o.getShowData()?`${e.label} [${e.value}]`:e.label);let M=Math.max(...O.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),z=450,W=490,E=22*R.length;switch(m){case"center":O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t-22*R.length/2)+")");break;case"top":z+=E,O.attr("transform",(e,t)=>`translate(${-M/2-22}, ${22*t-185})`),y.attr("transform",()=>`translate(0, ${E+22})`);break;case"bottom":z+=E,O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t- -207)+")");break;case"left":W+=22+M,O.attr("transform",(e,t)=>"translate(-207,"+(22*t-22*R.length/2)+")"),y.attr("transform",()=>`translate(${M+18+4}, 0)`);break;default:W+=22+M,O.attr("transform",(e,t)=>"translate(216,"+(22*t-22*R.length/2)+")")}let F=K.node()?.getBoundingClientRect().width??0,H=Math.min(0,225-F/2),L=Math.max(W,225+F/2)-H;h.attr("viewBox",`${H} 0 ${L} ${z}`),(0,n.a$)(h,z,L,p.useMaxWidth)},"draw")},styles:T}}}]);
38
+ `,"getStyles"),k=(0,o.K)(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),a=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1);return(0,d.rLf)().value(e=>e.value).sort(null)(a)},"createPieArcs"),v={parser:D,db:b,renderer:{draw:(0,o.K)((e,t,a,i)=>{s.R.debug("rendering pie chart\n"+e);let o=i.db,c=(0,n.D7)(),p=(0,r.$t)(o.getConfig(),c.pie),h=(0,l.D)(t),g=h.append("g");g.attr("transform","translate(225,225)");let{themeVariables:u}=c,[f]=(0,r.I5)(u.pieOuterStrokeWidth);f??=2;let m=p.legendPosition,$=p.textPosition,x=p.donutHole>0&&p.donutHole<=.9?p.donutHole:0,w=(0,d.JLW)().innerRadius(185*x).outerRadius(185),S=(0,d.JLW)().innerRadius(185*$).outerRadius(185*$),y=g.append("g");y.append("circle").attr("cx",0).attr("cy",0).attr("r",185+f/2).attr("class","pieOuterCircle");let b=o.getSections(),C=k(b),D=[u.pie1,u.pie2,u.pie3,u.pie4,u.pie5,u.pie6,u.pie7,u.pie8,u.pie9,u.pie10,u.pie11,u.pie12],T=0;b.forEach(e=>{T+=e});let v=C.filter(e=>"0"!==(e.data.value/T*100).toFixed(0)),A=(0,d.UMr)(D).domain([...b.keys()]);y.selectAll("mySlices").data(v).enter().append("path").attr("d",w).attr("fill",e=>A(e.data.label)).attr("class",e=>{let t="pieCircle";return"hover"===p.highlightSlice?t+=" highlightedOnHover":p.highlightSlice===e.data.label&&(t+=" highlighted"),t}),y.selectAll("mySlices").data(v).enter().append("text").text(e=>(e.data.value/T*100).toFixed(0)+"%").attr("transform",e=>"translate("+S.centroid(e)+")").style("text-anchor","middle").attr("class","slice");let K=g.append("text").text(o.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),R=[...b.entries()].map(([e,t])=>({label:e,value:t})),O=g.selectAll(".legend").data(R).enter().append("g").attr("class","legend");O.append("rect").attr("width",18).attr("height",18).style("fill",e=>A(e.label)).style("stroke",e=>A(e.label)),O.append("text").attr("x",22).attr("y",14).text(e=>o.getShowData()?`${e.label} [${e.value}]`:e.label);let M=Math.max(...O.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),z=450,W=490,E=22*R.length;switch(m){case"center":O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t-22*R.length/2)+")");break;case"top":z+=E,O.attr("transform",(e,t)=>`translate(${-M/2-22}, ${22*t-185})`),y.attr("transform",()=>`translate(0, ${E+22})`);break;case"bottom":z+=E,O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t- -207)+")");break;case"left":W+=22+M,O.attr("transform",(e,t)=>"translate(-207,"+(22*t-22*R.length/2)+")"),y.attr("transform",()=>`translate(${M+18+4}, 0)`);break;default:W+=22+M,O.attr("transform",(e,t)=>"translate(216,"+(22*t-22*R.length/2)+")")}let F=K.node()?.getBoundingClientRect().width??0,H=Math.min(0,225-F/2),L=Math.max(W,225+F/2)-H;h.attr("viewBox",`${H} 0 ${L} ${z}`),(0,n.a$)(h,z,L,p.useMaxWidth)},"draw")},styles:T}},55302:(e,t,a)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>i}),(0,a(14543).K)(i,"populateCommonDb")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[153],{10153:(e,s,c)=>{c.d(s,{createInfoServices:()=>a.v});var a=c(3016);c(42068)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1572],{81572:(e,c,s)=>{s.d(c,{createPacketServices:()=>a.$});var a=s(60948);s(42068)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1593],{1229:(t,n,e)=>{e.d(n,{A:()=>u});var r={value:()=>{}};function i(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new o(r)}function o(t){this._=t}function a(t,n,e){for(var i=0,o=t.length;i<o;++i)if(t[i].name===n){t[i]=r,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=e&&t.push({name:n,value:e}),t}o.prototype=i.prototype={constructor:o,on:function(t,n){var e,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:n}}),o=-1,u=i.length;if(arguments.length<2){for(;++o<u;)if((e=(t=i[o]).type)&&(e=function(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}(r[e],t.name)))return e;return}if(null!=n&&"function"!=typeof n)throw Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=a(r[e],t.name,n);else if(null==n)for(e in r)r[e]=a(r[e],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new o(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,e=r.length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};let u=i},3596:(t,n,e)=>{e.d(n,{A:()=>i});var r=e(34993);function i(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),r.A.hasOwnProperty(n)?{space:r.A[n],local:t}:t}},8817:(t,n,e)=>{e.d(n,{A:()=>r});let r=t=>()=>t},11559:(t,n,e)=>{e.d(n,{A:()=>a});var r=e(68343),i=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,o=RegExp(i.source,"g");function a(t,n){var e,a,u,s,l,c=i.lastIndex=o.lastIndex=0,f=-1,h=[],p=[];for(t+="",n+="";(u=i.exec(t))&&(s=o.exec(n));)(l=s.index)>c&&(l=n.slice(c,l),h[f]?h[f]+=l:h[++f]=l),(u=u[0])===(s=s[0])?h[f]?h[f]+=s:h[++f]=s:(h[++f]=null,p.push({i:f,x:(0,r.A)(u,s)})),c=o.lastIndex;return c<n.length&&(l=n.slice(c),h[f]?h[f]+=l:h[++f]=l),h.length<2?p[0]?(e=p[0].x,function(t){return e(t)+""}):(a=n,function(){return a}):(n=p.length,function(t){for(var e,r=0;r<n;++r)h[(e=p[r]).i]=e.x(t);return h.join("")})}},17893:(t,n,e)=>{e.d(n,{A:()=>r});function r(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}},19328:(t,n,e)=>{e.d(n,{s_:()=>b,GS:()=>h,_V:()=>p});var r=e(1229),i=e(99486),o=e(70613),a=e(34613),u=e(52776),s=e(99284);let l=t=>()=>t;function c(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function f(t,n,e){this.k=t,this.x=n,this.y=e}f.prototype={constructor:f,scale:function(t){return 1===t?this:new f(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new f(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var h=new f(1,0,0);function p(t){for(;!t.__zoom;)if(!(t=t.parentNode))return h;return t.__zoom}function d(t){t.stopImmediatePropagation()}function v(t){t.preventDefault(),t.stopImmediatePropagation()}function y(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function m(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function g(){return this.__zoom||h}function _(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function w(){return navigator.maxTouchPoints||"ontouchstart"in this}function x(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function b(){var t,n,e,p=y,b=m,A=x,k=_,M=w,N=[0,1/0],E=[[-1/0,-1/0],[1/0,1/0]],z=250,$=o.A,S=(0,r.A)("start","zoom","end"),T=0,C=10;function X(t){t.property("__zoom",g).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",B).on("dblclick.zoom",V).filter(M).on("touchstart.zoom",I).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function P(t,n){return(n=Math.max(N[0],Math.min(N[1],n)))===t.k?t:new f(n,t.x,t.y)}function q(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new f(t.k,r,i)}function j(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function R(t,n,e,r){t.on("start.zoom",function(){O(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){O(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,i=O(this,t).event(r),o=b.apply(this,t),a=null==e?j(o):"function"==typeof e?e.apply(this,t):e,u=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),s=this.__zoom,l="function"==typeof n?n.apply(this,t):n,c=$(s.invert(a).concat(u/s.k),l.invert(a).concat(u/l.k));return function(t){if(1===t)t=l;else{var n=c(t),e=u/n[2];t=new f(e,a[0]-n[0]*e,a[1]-n[1]*e)}i.zoom(null,t)}})}function O(t,n,e){return!e&&t.__zooming||new Y(t,n)}function Y(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=b.apply(t,n),this.taps=0}function D(t,...n){if(p.apply(this,arguments)){var e=O(this,n).event(t),r=this.__zoom,i=Math.max(N[0],Math.min(N[1],r.k*Math.pow(2,k.apply(this,arguments)))),o=(0,u.A)(t);if(e.wheel)(e.mouse[0][0]!==o[0]||e.mouse[0][1]!==o[1])&&(e.mouse[1]=r.invert(e.mouse[0]=o)),clearTimeout(e.wheel);else{if(r.k===i)return;e.mouse=[o,r.invert(o)],(0,s.G)(this),e.start()}v(t),e.wheel=setTimeout(function(){e.wheel=null,e.end()},150),e.zoom("mouse",A(q(P(r,i),e.mouse[0],e.mouse[1]),e.extent,E))}}function B(t,...n){if(!e&&p.apply(this,arguments)){var r=t.currentTarget,o=O(this,n,!0).event(t),l=(0,a.A)(t.view).on("mousemove.zoom",function(t){if(v(t),!o.moved){var n=t.clientX-f,e=t.clientY-h;o.moved=n*n+e*e>T}o.event(t).zoom("mouse",A(q(o.that.__zoom,o.mouse[0]=(0,u.A)(t,r),o.mouse[1]),o.extent,E))},!0).on("mouseup.zoom",function(t){l.on("mousemove.zoom mouseup.zoom",null),(0,i.y)(t.view,o.moved),v(t),o.event(t).end()},!0),c=(0,u.A)(t,r),f=t.clientX,h=t.clientY;(0,i.A)(t.view),d(t),o.mouse=[c,this.__zoom.invert(c)],(0,s.G)(this),o.start()}}function V(t,...n){if(p.apply(this,arguments)){var e=this.__zoom,r=(0,u.A)(t.changedTouches?t.changedTouches[0]:t,this),i=e.invert(r),o=e.k*(t.shiftKey?.5:2),s=A(q(P(e,o),r,i),b.apply(this,n),E);v(t),z>0?(0,a.A)(this).transition().duration(z).call(R,s,r,t):(0,a.A)(this).call(X.transform,s,r,t)}}function I(e,...r){if(p.apply(this,arguments)){var i,o,a,l,c=e.touches,f=c.length,h=O(this,r,e.changedTouches.length===f).event(e);for(d(e),o=0;o<f;++o)a=c[o],l=[l=(0,u.A)(a,this),this.__zoom.invert(l),a.identifier],h.touch0?h.touch1||h.touch0[2]===l[2]||(h.touch1=l,h.taps=0):(h.touch0=l,i=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),i&&(h.taps<2&&(n=l[0],t=setTimeout(function(){t=null},500)),(0,s.G)(this),h.start())}}function L(t,...n){if(this.__zooming){var e,r,i,o,a=O(this,n).event(t),s=t.changedTouches,l=s.length;for(v(t),e=0;e<l;++e)r=s[e],i=(0,u.A)(r,this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var c=a.touch0[0],f=a.touch0[1],h=a.touch1[0],p=a.touch1[1],d=(d=h[0]-c[0])*d+(d=h[1]-c[1])*d,y=(y=p[0]-f[0])*y+(y=p[1]-f[1])*y;r=P(r,Math.sqrt(d/y)),i=[(c[0]+h[0])/2,(c[1]+h[1])/2],o=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],o=a.touch0[1]}a.zoom("touch",A(q(r,i,o),a.extent,E))}}function H(t,...r){if(this.__zooming){var i,o,s=O(this,r).event(t),l=t.changedTouches,c=l.length;for(d(t),e&&clearTimeout(e),e=setTimeout(function(){e=null},500),i=0;i<c;++i)o=l[i],s.touch0&&s.touch0[2]===o.identifier?delete s.touch0:s.touch1&&s.touch1[2]===o.identifier&&delete s.touch1;if(s.touch1&&!s.touch0&&(s.touch0=s.touch1,delete s.touch1),s.touch0)s.touch0[1]=this.__zoom.invert(s.touch0[0]);else if(s.end(),2===s.taps&&(o=(0,u.A)(o,this),Math.hypot(n[0]-o[0],n[1]-o[1])<C)){var f=(0,a.A)(this).on("dblclick.zoom");f&&f.apply(this,arguments)}}}return X.transform=function(t,n,e,r){var i=t.selection?t.selection():t;i.property("__zoom",g),t!==i?R(t,n,e,r):i.interrupt().each(function(){O(this,arguments).event(r).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},X.scaleBy=function(t,n,e,r){X.scaleTo(t,function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e},e,r)},X.scaleTo=function(t,n,e,r){X.transform(t,function(){var t=b.apply(this,arguments),r=this.__zoom,i=null==e?j(t):"function"==typeof e?e.apply(this,arguments):e,o=r.invert(i),a="function"==typeof n?n.apply(this,arguments):n;return A(q(P(r,a),i,o),t,E)},e,r)},X.translateBy=function(t,n,e,r){X.transform(t,function(){return A(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),b.apply(this,arguments),E)},null,r)},X.translateTo=function(t,n,e,r,i){X.transform(t,function(){var t=b.apply(this,arguments),i=this.__zoom,o=null==r?j(t):"function"==typeof r?r.apply(this,arguments):r;return A(h.translate(o[0],o[1]).scale(i.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,E)},r,i)},Y.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var n=(0,a.A)(this.that).datum();S.call(t,this.that,new c(t,{sourceEvent:this.sourceEvent,target:X,type:t,transform:this.that.__zoom,dispatch:S}),n)}},X.wheelDelta=function(t){return arguments.length?(k="function"==typeof t?t:l(+t),X):k},X.filter=function(t){return arguments.length?(p="function"==typeof t?t:l(!!t),X):p},X.touchable=function(t){return arguments.length?(M="function"==typeof t?t:l(!!t),X):M},X.extent=function(t){return arguments.length?(b="function"==typeof t?t:l([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),X):b},X.scaleExtent=function(t){return arguments.length?(N[0]=+t[0],N[1]=+t[1],X):[N[0],N[1]]},X.translateExtent=function(t){return arguments.length?(E[0][0]=+t[0][0],E[1][0]=+t[1][0],E[0][1]=+t[0][1],E[1][1]=+t[1][1],X):[[E[0][0],E[0][1]],[E[1][0],E[1][1]]]},X.constrain=function(t){return arguments.length?(A=t,X):A},X.duration=function(t){return arguments.length?(z=+t,X):z},X.interpolate=function(t){return arguments.length?($=t,X):$},X.on=function(){var t=S.on.apply(S,arguments);return t===S?X:t},X.clickDistance=function(t){return arguments.length?(T=(t*=1)*t,X):Math.sqrt(T)},X.tapDistance=function(t){return arguments.length?(C=+t,X):C},X}p.prototype=f.prototype},19512:(t,n,e)=>{function r(){}function i(t){return null==t?r:function(){return this.querySelector(t)}}e.d(n,{A:()=>i})},28964:(t,n,e)=>{e.d(n,{Ay:()=>a,GK:()=>o,Rw:()=>i,vr:()=>r});let r={passive:!1},i={capture:!0,passive:!1};function o(t){t.stopImmediatePropagation()}function a(t){t.preventDefault(),t.stopImmediatePropagation()}},34613:(t,n,e)=>{e.d(n,{A:()=>i});var r=e(88586);function i(t){return"string"==typeof t?new r.LN([[document.querySelector(t)]],[document.documentElement]):new r.LN([[t]],r.zr)}},34993:(t,n,e)=>{e.d(n,{A:()=>i,g:()=>r});var r="http://www.w3.org/1999/xhtml";let i={svg:"http://www.w3.org/2000/svg",xhtml:r,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},48381:(t,n,e)=>{e.d(n,{Ay:()=>g,Gw:()=>A,Q1:()=>i,Qh:()=>b,b:()=>x});var r=e(52441);function i(){}var o="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",u="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3,8})$/,l=RegExp(`^rgb\\(${o},${o},${o}\\)$`),c=RegExp(`^rgb\\(${u},${u},${u}\\)$`),f=RegExp(`^rgba\\(${o},${o},${o},${a}\\)$`),h=RegExp(`^rgba\\(${u},${u},${u},${a}\\)$`),p=RegExp(`^hsl\\(${a},${u},${u}\\)$`),d=RegExp(`^hsla\\(${a},${u},${u},${a}\\)$`),v={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function y(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function g(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=s.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?_(n):3===e?new A(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?w(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?w(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=l.exec(t))?new A(n[1],n[2],n[3],1):(n=c.exec(t))?new A(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=f.exec(t))?w(n[1],n[2],n[3],n[4]):(n=h.exec(t))?w(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=p.exec(t))?$(n[1],n[2]/100,n[3]/100,1):(n=d.exec(t))?$(n[1],n[2]/100,n[3]/100,n[4]):v.hasOwnProperty(t)?_(v[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function _(t){return new A(t>>16&255,t>>8&255,255&t,1)}function w(t,n,e,r){return r<=0&&(t=n=e=NaN),new A(t,n,e,r)}function x(t){return(t instanceof i||(t=g(t)),t)?new A((t=t.rgb()).r,t.g,t.b,t.opacity):new A}function b(t,n,e,r){return 1==arguments.length?x(t):new A(t,n,e,null==r?1:r)}function A(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function k(){return`#${z(this.r)}${z(this.g)}${z(this.b)}`}function M(){let t=N(this.opacity);return`${1===t?"rgb(":"rgba("}${E(this.r)}, ${E(this.g)}, ${E(this.b)}${1===t?")":`, ${t})`}`}function N(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function E(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function z(t){return((t=E(t))<16?"0":"")+t.toString(16)}function $(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new T(t,n,e,r)}function S(t){if(t instanceof T)return new T(t.h,t.s,t.l,t.opacity);if(t instanceof i||(t=g(t)),!t)return new T;if(t instanceof T)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,o=Math.min(n,e,r),a=Math.max(n,e,r),u=NaN,s=a-o,l=(a+o)/2;return s?(u=n===a?(e-r)/s+(e<r)*6:e===a?(r-n)/s+2:(n-e)/s+4,s/=l<.5?a+o:2-a-o,u*=60):s=l>0&&l<1?0:u,new T(u,s,l,t.opacity)}function T(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function C(t){return(t=(t||0)%360)<0?t+360:t}function X(t){return Math.max(0,Math.min(1,t||0))}function P(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}(0,r.A)(i,g,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:y,formatHex:y,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return S(this).formatHsl()},formatRgb:m,toString:m}),(0,r.A)(A,b,(0,r.X)(i,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new A(E(this.r),E(this.g),E(this.b),N(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:k,formatHex:k,formatHex8:function(){return`#${z(this.r)}${z(this.g)}${z(this.b)}${z((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:M,toString:M})),(0,r.A)(T,function(t,n,e,r){return 1==arguments.length?S(t):new T(t,n,e,null==r?1:r)},(0,r.X)(i,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new T(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new T(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new A(P(t>=240?t-240:t+120,i,r),P(t,i,r),P(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new T(C(this.h),X(this.s),X(this.l),N(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=N(this.opacity);return`${1===t?"hsl(":"hsla("}${C(this.h)}, ${100*X(this.s)}%, ${100*X(this.l)}%${1===t?")":`, ${t})`}`}}))},52441:(t,n,e)=>{function r(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function i(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}e.d(n,{A:()=>r,X:()=>i})},52776:(t,n,e)=>{e.d(n,{A:()=>r});function r(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}},64387:(t,n,e)=>{e.d(n,{Ay:()=>a});var r=e(48381);function i(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}var o=e(64769);let a=function t(n){var e=(0,o.uN)(n);function i(t,n){var i=e((t=(0,r.Qh)(t)).r,(n=(0,r.Qh)(n)).r),a=e(t.g,n.g),u=e(t.b,n.b),s=(0,o.Ay)(t.opacity,n.opacity);return function(n){return t.r=i(n),t.g=a(n),t.b=u(n),t.opacity=s(n),t+""}}return i.gamma=t,i}(1);function u(t){return function(n){var e,i,o=n.length,a=Array(o),u=Array(o),s=Array(o);for(e=0;e<o;++e)i=(0,r.Qh)(n[e]),a[e]=i.r||0,u[e]=i.g||0,s[e]=i.b||0;return a=t(a),u=t(u),s=t(s),i.opacity=1,function(t){return i.r=a(t),i.g=u(t),i.b=s(t),i+""}}}u(function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),o=t[r],a=t[r+1],u=r>0?t[r-1]:2*o-a,s=r<n-1?t[r+2]:2*a-o;return i((e-r/n)*n,u,o,a,s)}}),u(function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),o=t[(r+n-1)%n],a=t[r%n],u=t[(r+1)%n],s=t[(r+2)%n];return i((e-r/n)*n,o,a,u,s)}})},64769:(t,n,e)=>{e.d(n,{Ay:()=>u,lG:()=>o,uN:()=>a});var r=e(8817);function i(t,n){return function(e){return t+e*n}}function o(t,n){var e=n-t;return e?i(t,e>180||e<-180?e-360*Math.round(e/360):e):(0,r.A)(isNaN(t)?n:t)}function a(t){return 1==(t*=1)?u:function(n,e){var i,o,a;return e-n?(i=n,o=e,i=Math.pow(i,a=t),o=Math.pow(o,a)-i,a=1/a,function(t){return Math.pow(i+t*o,a)}):(0,r.A)(isNaN(n)?e:n)}}function u(t,n){var e=n-t;return e?i(t,e):(0,r.A)(isNaN(t)?n:t)}},68343:(t,n,e)=>{e.d(n,{A:()=>r});function r(t,n){return t*=1,n*=1,function(e){return t*(1-e)+n*e}}},70613:(t,n,e)=>{function r(t){return((t=Math.exp(t))+1/t)/2}e.d(n,{A:()=>i});let i=function t(n,e,i){function o(t,o){var a,u,s=t[0],l=t[1],c=t[2],f=o[0],h=o[1],p=o[2],d=f-s,v=h-l,y=d*d+v*v;if(y<1e-12)u=Math.log(p/c)/n,a=function(t){return[s+t*d,l+t*v,c*Math.exp(n*t*u)]};else{var m=Math.sqrt(y),g=(p*p-c*c+i*y)/(2*c*e*m),_=(p*p-c*c-i*y)/(2*p*e*m),w=Math.log(Math.sqrt(g*g+1)-g);u=(Math.log(Math.sqrt(_*_+1)-_)-w)/n,a=function(t){var i,o,a=t*u,f=r(w),h=c/(e*m)*(f*(((i=Math.exp(2*(i=n*a+w)))-1)/(i+1))-((o=Math.exp(o=w))-1/o)/2);return[s+h*d,l+h*v,c*f/r(n*a+w)]}}return a.duration=1e3*u*n/Math.SQRT2,a}return o.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},o}(Math.SQRT2,2,4)},74291:(t,n,e)=>{e.d(n,{A:()=>i,j:()=>o});var r=e(17893);function i(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):o(this.node(),t)}function o(t,n){return t.style.getPropertyValue(n)||(0,r.A)(t).getComputedStyle(t,null).getPropertyValue(n)}},78046:(t,n,e)=>{e.d(n,{A:()=>function t(n,e){var s,l,c=typeof e;return null==e||"boolean"===c?(0,u.A)(e):("number"===c?o.A:"string"===c?(l=(0,r.Ay)(e))?(e=l,i.Ay):a.A:e instanceof r.Ay?i.Ay:e instanceof Date?function(t,n){var e=new Date;return t*=1,n*=1,function(r){return e.setTime(t*(1-r)+n*r),e}}:!ArrayBuffer.isView(s=e)||s instanceof DataView?Array.isArray(e)?function(n,e){var r,i=e?e.length:0,o=n?Math.min(i,n.length):0,a=Array(o),u=Array(i);for(r=0;r<o;++r)a[r]=t(n[r],e[r]);for(;r<i;++r)u[r]=e[r];return function(t){for(r=0;r<o;++r)u[r]=a[r](t);return u}}:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?function(n,e){var r,i={},o={};for(r in(null===n||"object"!=typeof n)&&(n={}),(null===e||"object"!=typeof e)&&(e={}),e)r in n?i[r]=t(n[r],e[r]):o[r]=e[r];return function(t){for(r in i)o[r]=i[r](t);return o}}:o.A:function(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(o){for(e=0;e<r;++e)i[e]=t[e]*(1-o)+n[e]*o;return i}})(n,e)}});var r=e(48381),i=e(64387),o=e(68343),a=e(11559),u=e(8817)},87853:(t,n,e)=>{e.d(n,{M4:()=>v,O1:()=>y,tB:()=>p});var r,i,o=0,a=0,u=0,s=0,l=0,c=0,f="object"==typeof performance&&performance.now?performance:Date,h="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function p(){return l||(h(d),l=f.now()+c)}function d(){l=0}function v(){this._call=this._time=this._next=null}function y(t,n,e){var r=new v;return r.restart(t,n,e),r}function m(){l=(s=f.now())+c,o=a=0;try{p(),++o;for(var t,n=r;n;)(t=l-n._time)>=0&&n._call.call(void 0,t),n=n._next;--o}finally{o=0,function(){for(var t,n,e=r,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:r=n);i=t,_(o)}(),l=0}}function g(){var t=f.now(),n=t-s;n>1e3&&(c-=n,s=t)}function _(t){!o&&(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-f.now()-c)),u&&(u=clearInterval(u))):(u||(s=f.now(),u=setInterval(g,1e3)),o=1,h(m)))}v.prototype=y.prototype={constructor:v,restart:function(t,n,e){if("function"!=typeof t)throw TypeError("callback is not a function");e=(null==e?p():+e)+(null==n?0:+n),this._next||i===this||(i?i._next=this:r=this,i=this),this._call=t,this._time=e,_()},stop:function(){this._call&&(this._call=null,this._time=1/0,_())}}},88586:(t,n,e)=>{e.d(n,{LN:()=>O,Ay:()=>D,zr:()=>R});var r=e(19512),i=e(91007),o=e(95173),a=Array.prototype.find;function u(){return this.firstElementChild}var s=Array.prototype.filter;function l(){return Array.from(this.children)}function c(t){return Array(t.length)}function f(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function h(t,n,e,r,i,o){for(var a,u=0,s=n.length,l=o.length;u<l;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new f(t,o[u]);for(;u<s;++u)(a=n[u])&&(i[u]=a)}function p(t,n,e,r,i,o,a){var u,s,l,c=new Map,h=n.length,p=o.length,d=Array(h);for(u=0;u<h;++u)(s=n[u])&&(d[u]=l=a.call(s,s.__data__,u,n)+"",c.has(l)?i[u]=s:c.set(l,s));for(u=0;u<p;++u)l=a.call(t,o[u],u,o)+"",(s=c.get(l))?(r[u]=s,s.__data__=o[u],c.delete(l)):e[u]=new f(t,o[u]);for(u=0;u<h;++u)(s=n[u])&&c.get(d[u])===s&&(i[u]=s)}function d(t){return t.__data__}function v(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}f.prototype={constructor:f,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var y=e(3596),m=e(74291);function g(t){return t.trim().split(/^|\s+/)}function _(t){return t.classList||new w(t)}function w(t){this._node=t,this._names=g(t.getAttribute("class")||"")}function x(t,n){for(var e=_(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function b(t,n){for(var e=_(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function A(){this.textContent=""}function k(){this.innerHTML=""}function M(){this.nextSibling&&this.parentNode.appendChild(this)}function N(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}w.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var E=e(34993);function z(t){var n=(0,y.A)(t);return(n.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===E.g&&n.documentElement.namespaceURI===E.g?n.createElement(t):n.createElementNS(e,t)}})(n)}function $(){return null}function S(){var t=this.parentNode;t&&t.removeChild(this)}function T(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function C(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function X(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)(e=n[r],t.type&&e.type!==t.type||e.name!==t.name)?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function P(t,n,e){return function(){var r,i=this.__on,o=function(t){n.call(this,t,this.__data__)};if(i){for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),r.value=n;return}}this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}var q=e(17893);function j(t,n,e){var r=(0,q.A)(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}var R=[null];function O(t,n){this._groups=t,this._parents=n}function Y(){return new O([[document.documentElement]],R)}O.prototype=Y.prototype={constructor:O,select:function(t){"function"!=typeof t&&(t=(0,r.A)(t));for(var n=this._groups,e=n.length,i=Array(e),o=0;o<e;++o)for(var a,u,s=n[o],l=s.length,c=i[o]=Array(l),f=0;f<l;++f)(a=s[f])&&(u=t.call(a,a.__data__,f,s))&&("__data__"in a&&(u.__data__=a.__data__),c[f]=u);return new O(i,this._parents)},selectAll:function(t){if("function"==typeof t){var n;n=t,t=function(){var t;return t=n.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=(0,i.A)(t);for(var e=this._groups,r=e.length,o=[],a=[],u=0;u<r;++u)for(var s,l=e[u],c=l.length,f=0;f<c;++f)(s=l[f])&&(o.push(t.call(s,s.__data__,f,l)),a.push(s));return new O(o,a)},selectChild:function(t){var n;return this.select(null==t?u:(n="function"==typeof t?t:(0,o.j)(t),function(){return a.call(this.children,n)}))},selectChildren:function(t){var n;return this.selectAll(null==t?l:(n="function"==typeof t?t:(0,o.j)(t),function(){return s.call(this.children,n)}))},filter:function(t){"function"!=typeof t&&(t=(0,o.A)(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var a,u=n[i],s=u.length,l=r[i]=[],c=0;c<s;++c)(a=u[c])&&t.call(a,a.__data__,c,u)&&l.push(a);return new O(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,d);var e=n?p:h,r=this._parents,i=this._groups;"function"!=typeof t&&(x=t,t=function(){return x});for(var o=i.length,a=Array(o),u=Array(o),s=Array(o),l=0;l<o;++l){var c=r[l],f=i[l],v=f.length,y="object"==typeof(w=t.call(c,c&&c.__data__,l,r))&&"length"in w?w:Array.from(w),m=y.length,g=u[l]=Array(m),_=a[l]=Array(m);e(c,f,g,_,s[l]=Array(v),y,n);for(var w,x,b,A,k=0,M=0;k<m;++k)if(b=g[k]){for(k>=M&&(M=k+1);!(A=_[M])&&++M<m;);b._next=A||null}}return(a=new O(a,r))._enter=u,a._exit=s,a},enter:function(){return new O(this._enter||this._groups.map(c),this._parents)},exit:function(){return new O(this._exit||this._groups.map(c),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=Array(i),s=0;s<a;++s)for(var l,c=e[s],f=r[s],h=c.length,p=u[s]=Array(h),d=0;d<h;++d)(l=c[d]||f[d])&&(p[d]=l);for(;s<i;++s)u[s]=e[s];return new O(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=v);for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o){for(var a,u=e[o],s=u.length,l=i[o]=Array(s),c=0;c<s;++c)(a=u[c])&&(l[c]=a);l.sort(n)}return new O(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(let n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=(0,y.A)(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:m.A,property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=g(t+"");if(arguments.length<2){for(var r=_(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?x:b)(this,t)}}:n?function(t){return function(){x(this,t)}}:function(t){return function(){b(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?A:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?k:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(M)},lower:function(){return this.each(N)},append:function(t){var n="function"==typeof t?t:z(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:z(t),i=null==n?$:"function"==typeof n?n:(0,r.A)(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(S)},clone:function(t){return this.select(t?C:T)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}),a=o.length;if(arguments.length<2){var u=this.node().__on;if(u){for(var s,l=0,c=u.length;l<c;++l)for(r=0,s=u[l];r<a;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value}return}for(r=0,u=n?P:X;r<a;++r)this.each(u(o[r],n,e));return this},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return j(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return j(this,t,n)}})(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let D=Y},91007:(t,n,e)=>{function r(){return[]}function i(t){return null==t?r:function(){return this.querySelectorAll(t)}}e.d(n,{A:()=>i})},95173:(t,n,e)=>{function r(t){return function(){return this.matches(t)}}function i(t){return function(n){return n.matches(t)}}e.d(n,{A:()=>r,j:()=>i})},99284:(t,n,e)=>{e.d(n,{G:()=>d});var r,i=e(88586),o=e(1229),a=e(87853);function u(t,n,e){var r=new a.M4;return n=null==n?0:+n,r.restart(e=>{r.stop(),t(e+n)},n,e),r}var s=(0,o.A)("start","end","cancel","interrupt"),l=[];function c(t,n,e,r,i,o){var c=t.__transition;if(c){if(e in c)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(a){var c,f,h,p;if(1!==e.state)return l();for(c in i)if((p=i[c]).name===e.name){if(3===p.state)return u(o);4===p.state?(p.state=6,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete i[c]):+c<n&&(p.state=6,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete i[c])}if(u(function(){3===e.state&&(e.state=4,e.timer.restart(s,e.delay,e.time),s(a))}),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(c=0,e.state=3,r=Array(h=e.tween.length),f=-1;c<h;++c)(p=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(r[++f]=p);r.length=f+1}}function s(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(l),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=(0,a.O1)(function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)},0,e.time)}(t,e,{name:n,index:r,group:i,on:s,tween:l,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function f(t,n){var e=p(t,n);if(e.state>0)throw Error("too late; already scheduled");return e}function h(t,n){var e=p(t,n);if(e.state>3)throw Error("too late; already running");return e}function p(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw Error("transition not found");return e}function d(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o){if((e=o[i]).name!==n){a=!1;continue}r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]}a&&delete t.__transition}}var v=e(68343),y=180/Math.PI,m={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function g(t,n,e,r,i,o){var a,u,s;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,s/=u),t*r<n*e&&(t=-t,n=-n,s=-s,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*y,skewX:Math.atan(s)*y,scaleX:a,scaleY:u}}function _(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u,s,l,c,f=[],h=[];return o=t(o),a=t(a),!function(t,r,i,o,a,u){if(t!==i||r!==o){var s=a.push("translate(",null,n,null,e);u.push({i:s-4,x:(0,v.A)(t,i)},{i:s-2,x:(0,v.A)(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,f,h),u=o.rotate,s=a.rotate,u!==s?(u-s>180?s+=360:s-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:(0,v.A)(u,s)})):s&&f.push(i(f)+"rotate("+s+r),l=o.skewX,c=a.skewX,l!==c?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:(0,v.A)(l,c)}):c&&f.push(i(f)+"skewX("+c+r),!function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:(0,v.A)(t,e)},{i:u-2,x:(0,v.A)(n,r)})}else(1!==e||1!==r)&&o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,f,h),o=a=null,function(t){for(var n,e=-1,r=h.length;++e<r;)f[(n=h[e]).i]=n.x(t);return f.join("")}}}var w=_(function(t){let n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?m:g(n.a,n.b,n.c,n.d,n.e,n.f)},"px, ","px)","deg)"),x=_(function(t){return null==t?m:(r||(r=document.createElementNS("http://www.w3.org/2000/svg","g")),r.setAttribute("transform",t),t=r.transform.baseVal.consolidate())?g((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):m},", ",")",")"),b=e(3596);function A(t,n,e){var r=t._id;return t.each(function(){var t=h(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return p(t,r).value[n]}}var k=e(48381),M=e(64387),N=e(11559);function E(t,n){var e;return("number"==typeof n?v.A:n instanceof k.Ay?M.Ay:(e=(0,k.Ay)(n))?(n=e,M.Ay):N.A)(t,n)}var z=e(95173),$=e(19512),S=e(91007),T=i.Ay.prototype.constructor,C=e(74291);function X(t){return function(){this.style.removeProperty(t)}}var P=0;function q(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}var j=i.Ay.prototype;q.prototype=(function(t){return(0,i.Ay)().transition(t)}).prototype={constructor:q,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=(0,$.A)(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var u,s,l=r[a],f=l.length,h=o[a]=Array(f),d=0;d<f;++d)(u=l[d])&&(s=t.call(u,u.__data__,d,l))&&("__data__"in u&&(s.__data__=u.__data__),h[d]=s,c(h[d],n,e,d,h,p(u,e)));return new q(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=(0,S.A)(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var s,l=r[u],f=l.length,h=0;h<f;++h)if(s=l[h]){for(var d,v=t.call(s,s.__data__,h,l),y=p(s,e),m=0,g=v.length;m<g;++m)(d=v[m])&&c(d,n,e,m,v,y);o.push(v),a.push(s)}return new q(o,a,n,e)},selectChild:j.selectChild,selectChildren:j.selectChildren,filter:function(t){"function"!=typeof t&&(t=(0,z.A)(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],l=0;l<u;++l)(o=a[l])&&t.call(o,o.__data__,l,a)&&s.push(o);return new q(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=Array(r),u=0;u<o;++u)for(var s,l=n[u],c=e[u],f=l.length,h=a[u]=Array(f),p=0;p<f;++p)(s=l[p]||c[p])&&(h[p]=s);for(;u<r;++u)a[u]=n[u];return new q(a,this._parents,this._name,this._id)},selection:function(){return new T(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=++P,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,l=0;l<s;++l)if(a=u[l]){var f=p(a,n);c(a,t,e,l,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new q(r,this._parents,t,e)},call:j.call,nodes:j.nodes,node:j.node,size:j.size,empty:j.empty,each:j.each,on:function(t,n){var e,r,i,o,a,u,s=this._id;return arguments.length<2?p(this.node(),s).on.on(t):this.each((e=s,r=t,i=n,u=(r+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})?f:h,function(){var t=u(this,e),n=t.on;n!==o&&(a=(o=n).copy()).on(r,i),t.on=a}))},attr:function(t,n){var e=(0,b.A)(t),r="transform"===e?x:E;return this.attrTween(t,"function"==typeof n?(e.local?function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}}:function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttribute(t):(a=this.getAttribute(t))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}})(e,r,A(this,"attr."+t,n)):null==n?(e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(e):(e.local?function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}:function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}})(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw Error();var r=(0,b.A)(t);return this.tween(e,(r.local?function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttributeNS(t.space,t.local,i.call(this,n))}),e}return i._value=n,i}:function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttribute(t,i.call(this,n))}),e}return i._value=n,i})(r,n))},style:function(t,n,e){var r,i,o,a,u,s,l,c,f,p,d,v,y,m,g,_,x,b,k,M,N,z="transform"==(t+="")?w:E;return null==n?this.styleTween(t,(r=t,function(){var t=(0,C.j)(this,r),n=(this.style.removeProperty(r),(0,C.j)(this,r));return t===n?null:t===i&&n===o?a:a=z(i=t,o=n)})).on("end.style."+t,X(t)):"function"==typeof n?this.styleTween(t,(u=t,s=A(this,"style."+t,n),function(){var t=(0,C.j)(this,u),n=s(this),e=n+"";return null==n&&(this.style.removeProperty(u),e=n=(0,C.j)(this,u)),t===e?null:t===l&&e===c?f:(c=e,f=z(l=t,n))})).each((p=this._id,x="end."+(_="style."+(d=t)),function(){var t=h(this,p),n=t.on,e=null==t.value[_]?g||(g=X(d)):void 0;(n!==v||m!==e)&&(y=(v=n).copy()).on(x,m=e),t.on=y})):this.styleTween(t,(b=t,N=n+"",function(){var t=(0,C.j)(this,b);return t===N?null:t===k?M:M=z(k=t,n)}),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw Error();return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(n){this.style.setProperty(t,o.call(this,n),e)}),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){var n,e;return this.tween("text","function"==typeof t?(n=A(this,"text",t),function(){var t=n(this);this.textContent=null==t?"":t}):(e=null==t?"":t+"",function(){this.textContent=e}))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();return this.tween(n,function(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function(t){this.textContent=r.call(this,t)}),n}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=p(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?function(t,n){var e,r;return function(){var i=h(this,t),o=i.tween;if(o!==e){r=e=o;for(var a=0,u=r.length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,n,e){var r,i;if("function"!=typeof e)throw Error();return function(){var o=h(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=u;break}s===l&&i.push(u)}o.tween=i}})(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){f(this,t).delay=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){f(this,t).delay=n}})(n,t)):p(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){h(this,t).duration=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){h(this,t).duration=n}})(n,t)):p(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(function(t,n){if("function"!=typeof n)throw Error();return function(){h(this,t).ease=n}}(n,t)):p(this.node(),n).ease},easeVarying:function(t){var n;if("function"!=typeof t)throw Error();return this.each((n=this._id,function(){var e=t.apply(this,arguments);if("function"!=typeof e)throw Error();h(this,n).ease=e}))},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,a){var u={value:a},s={value:function(){0==--i&&o()}};e.each(function(){var e=h(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(s)),e.on=n}),0===i&&o()})},[Symbol.iterator]:j[Symbol.iterator]};var R={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};i.Ay.prototype.interrupt=function(t){return this.each(function(){d(this,t)})},i.Ay.prototype.transition=function(t){var n,e;t instanceof q?(n=t._id,t=t._name):(n=++P,(e=R).time=(0,a.tB)(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,s=r[o],l=s.length,f=0;f<l;++f)(u=s[f])&&c(u,t,n,f,s,e||function(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw Error(`transition ${n} not found`);return e}(u,n));return new q(r,this._parents,t,n)}},99486:(t,n,e)=>{e.d(n,{A:()=>o,y:()=>a});var r=e(34613),i=e(28964);function o(t){var n=t.document.documentElement,e=(0,r.A)(t).on("dragstart.drag",i.Ay,i.Rw);"onselectstart"in n?e.on("selectstart.drag",i.Ay,i.Rw):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function a(t,n){var e=t.document.documentElement,o=(0,r.A)(t).on("dragstart.drag",null);n&&(o.on("click.drag",i.Ay,i.Rw),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in e?o.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1608],{51608:(e,s,c)=>{c.d(s,{createTreeViewServices:()=>r.I});var r=c(84065);c(42068)}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1615],{4382:()=>{},18960:(t,e,n)=>{"use strict";n.d(e,{M1:()=>d,Qj:()=>c,tI:()=>h});var o=n(26940),a=n(10672),i=n(89492),l=n(14493);let r=(0,a.createContext)(null);function h(t){let{client:e,queryClient:n,defaultStaleTimeMs:h,children:d}=t,c=(0,a.useMemo)(()=>null!=n?n:new i.E({defaultOptions:{queries:{staleTime:null!=h?h:2e3,refetchOnWindowFocus:!1}}}),[n,h]);return(0,o.jsx)(r.Provider,{value:e,children:(0,o.jsx)(l.Ht,{client:c,children:d})})}function d(){let t=(0,a.useContext)(r);if(!t)throw Error("useNexusClient must be used within <NexusProvider>");return t}function c(){return(0,a.useContext)(r)}},65940:(t,e,n)=>{"use strict";n.d(e,{Bu:()=>r,Fq:()=>f,IU:()=>x,d1:()=>c,f_:()=>d,gL:()=>M,zZ:()=>h});var o=n(41325);let a=new Set(["pass","ok","passed","success","done","merged","approved"]),i=new Set(["fail","failed","error","blocked","rejected","aborted"]),l=new Set(["rework","retry","changes-requested"]),r={pass:"var(--chart-2, #16a34a)",fail:"var(--destructive, #ef4444)",rework:"var(--chart-3, #f59e0b)",neutral:"var(--muted-foreground, #64748b)"},h={gold:"#D4AF37",flowDash:"3 14",dimNode:.22,dimEdge:.15,width:3};function d(t,e){return null===t?{}:t.edges.has(e)?{style:{stroke:h.gold,strokeWidth:h.width,strokeDasharray:h.flowDash},animated:!0}:{style:{opacity:h.dimEdge}}}function c(t,e){if(null===t)return null;let n=new Set([t]),o=new Set;for(let a of e)(a.from===t||a.to===t)&&(n.add(a.from===t?a.to:a.from),o.add(a.id));return{nodes:n,edges:o}}function x(t){let e=new Map;return t.forEach((t,n)=>{let o="".concat(t.from,"\0").concat(t.to),a=e.get(o);a?(a.indexes.push(n),t.outcome&&!a.outcomes.includes(t.outcome)&&a.outcomes.push(t.outcome)):e.set(o,{id:"e".concat(n),from:t.from,to:t.to,outcomes:t.outcome?[t.outcome]:[],indexes:[n]})}),[...e.values()]}function u(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t=>t;return t.length?t.map(e).join(" \xb7 "):null}function s(t){let e=0;for(let n of t)e+=n.charCodeAt(0)>11904?1.7:1;return{width:Math.ceil(7.2*e+14),height:20}}function f(t,e){var n,a,i,l;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},h=null!=(n=r.flow)?n:"horizontal",d=t.map(t=>t.id),c=new Set(d),f=x(e.filter(t=>c.has(t.from)&&c.has(t.to)&&t.from!==t.to)),p=function(t,e,n){var o;let a=new Map;for(let t of e)a.set(t.from,[...null!=(o=a.get(t.from))?o:[],t.to]);let i=new Map,l=new Set,r=e=>{let n=[{id:e,next:0}];for(i.set(e,1);n.length;){var o;let e=n[n.length-1],r=null!=(o=a.get(e.id))?o:[];if(e.next>=r.length){i.set(e.id,2),n.pop();continue}let h=r[e.next++],d=i.get(h);1===d?l.add("".concat(e.id,"\0").concat(h)):void 0===d&&t.includes(h)&&(i.set(h,1),n.push({id:h,next:0}))}};for(let e of n&&t.includes(n)?[n,...t.filter(t=>t!==n)]:[...t])i.has(e)||r(e);return l}(d,f,r.entry),w=f.filter(t=>!p.has("".concat(t.from,"\0").concat(t.to))),M=Math.max(0,...w.map(t=>{let e=u(t.outcomes,r.rename);return e?s(e)["horizontal"===h?"width":"height"]:0})),b=new o.Ay.graphlib.Graph;for(let e of(b.setDefaultEdgeLabel(()=>({})),b.setGraph({rankdir:"horizontal"===h?"LR":"TB",ranksep:Math.max("horizontal"===h?80:70,M+28),nodesep:"horizontal"===h?70:60,marginx:null!=(a=r.margin)?a:40,marginy:null!=(i=r.margin)?i:40}),t))b.setNode(e.id,{width:e.width,height:e.height});for(let t of w)b.setEdge(t.from,t.to);o.Ay.layout(b);let v=new Map;for(let e of t){let t=b.node(e.id);v.set(e.id,t?{x:Math.round(t.x-e.width/2),y:Math.round(t.y-e.height/2)}:{x:0,y:0})}return void 0!==r.lineLength&&function(t,e,n,o,a,i){let l="vertical"===n,r=t=>l?t.y:t.x,h=t=>l?t.x:t.y,d=t=>l?t.height:t.width,c=[...new Set(t.map(t=>r(e.get(t.id))+d(t)/2))].sort((t,e)=>t-e),x=new Map,u=[];for(let t of c)(!u.length||t-u[u.length-1]>4)&&u.push(t);for(let n of t){let t=r(e.get(n.id))+d(n)/2;x.set(n.id,u.findIndex(e=>4>=Math.abs(e-t)||e>t))}if(u.length<2)return;let s=(u[u.length-1]-u[0])/(u.length-1),f=Math.max(2,Math.floor((o-2*i-Math.max(...t.map(d)))/s)+1);if(u.length<=f)return;let p=Math.min(...t.map(t=>h(e.get(t.id)))),w=Math.max(...t.map(t=>h(e.get(t.id))+(l?t.width:t.height)))-p+Math.max(g+40,2*y+m*(a+1));for(let n of t){let t=e.get(n.id),o=Math.max(0,x.get(n.id)),a=Math.floor(o/f),i=(o-o%f)*s,r=l?{x:t.x+a*w,y:t.y-i}:{x:t.x-i,y:t.y+a*w};e.set(n.id,{x:Math.round(r.x),y:Math.round(r.y)})}}(t,v,h,r.lineLength,p.size,null!=(l=r.margin)?l:40),v}let y=24,m=26,g=80;function p(t,e,n,o,a){let i=1-a;return{x:i*i*i*t.x+3*i*i*a*e.x+3*i*a*a*n.x+a*a*a*o.x,y:i*i*i*t.y+3*i*i*a*e.y+3*i*a*a*n.y+a*a*a*o.y}}function w(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,o=Math.min(t.x+t.width/2,e.x+e.width/2)-Math.max(t.x-t.width/2,e.x-e.width/2)+n,a=Math.min(t.y+t.height/2,e.y+e.height/2)-Math.max(t.y-t.height/2,e.y-e.height/2)+n;return o>0&&a>0?o*a:0}function M(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="vertical"===n.flow,r=t.map(t=>o?{id:t.id,x:t.y,y:t.x,w:t.height,h:t.width}:{id:t.id,x:t.x,y:t.y,w:t.width,h:t.height}),h=new Map(r.map(t=>[t.id,t])),d=t=>o?{x:t.y,y:t.x}:t,c=[];for(let t of e){let e=h.get(t.from),n=h.get(t.to);if(!e||!n||e===n)continue;let o=n.x+1<=e.x||n.x<e.x+e.w&&n.x+n.w>e.x,a=o?"back":"forward";if(!o){let t={x:e.x+e.w,y:e.y+e.h/2},o={x:n.x,y:n.y+n.h/2},i=Math.max(30,(o.x-t.x)/2),l=Array.from({length:17},(e,n)=>p(t,{x:t.x+i,y:t.y},{x:o.x-i,y:o.y},o,n/16)),h=t=>l.some((e,n)=>n>0&&function(t,e,n){let o=n.x-8,a=n.x+n.w+8,i=n.y-8,l=n.y+n.h+8,r=0,h=1,d=e.x-t.x,c=e.y-t.y;for(let[e,n]of[[-d,t.x-o],[d,a-t.x],[-c,t.y-i],[c,l-t.y]]){if(0===e){if(n<0)return!1;continue}let t=n/e;if(e<0){if(t>h)return!1;t>r&&(r=t)}else{if(t<r)return!1;t<h&&(h=t)}}return!0}(l[n-1],e,t));r.some(t=>t!==e&&t!==n&&h(t))&&(a="detour")}let i=Math.min(e.x,n.x),l=Math.max(e.x+e.w,n.x+n.w);c.push({...t,kind:a,s:e,t:n,lane:0,laneY:0,lo:i,hi:l})}for(let t of["back","detour"]){let e=c.filter(e=>e.kind===t).sort((t,e)=>t.hi-t.lo-(e.hi-e.lo)||t.indexes[0]-e.indexes[0]),n=[];for(let o of e){let e=0;for(;n.some(t=>t.lane===e&&t.lo<o.hi+18&&o.lo<t.hi+18);)e++;o.lane=e,n.push(o);let a=function(t,e,n,o){let a="back"===o&&n.y>=e.y+e.h,i=a?e.y:Math.min(e.y,n.y),l=a?e.y+e.h:Math.max(e.y+e.h,n.y+n.h),r=new Set([e,n].filter(t=>!a||t===e));for(let e=!0;e;)for(let o of(e=!1,t))r.has(o)||a&&o.y>=n.y||o.y<l+g&&o.y+o.h>i-g&&(r.add(o),i=Math.min(i,o.y),l=Math.max(l,o.y+o.h),e=!0);return[...r]}(r.filter(t=>t.x<o.hi&&t.x+t.w>o.lo),o.s,o.t,t);o.laneY="back"===t?Math.max(...a.map(t=>t.y+t.h))+y+e*m:Math.min(...a.map(t=>t.y))-y-e*m}}let x=new Map,f=(t,e)=>"forward"===t.kind?"s"===e?t.t.y+t.t.h/2:t.s.y+t.s.h/2:t.laneY;for(let t of r)for(let e of["s","t"]){let n=c.filter(n=>n[e]===t).sort((t,n)=>f(t,e)-f(n,e));n.forEach((o,a)=>x.set("".concat(t.id,"|").concat(e,"|").concat(o.id),t.y+t.h*(a+1)/(n.length+1)))}let M=c.map(t=>{var e;let o,r,h,{s:c,t:f}=t;if("back"===t.kind){let e=x.get("".concat(c.id,"|s|").concat(t.id)),n=x.get("".concat(f.id,"|t|").concat(t.id)),a=18+8*t.lane,i=c.x+c.w+a,l=f.x-a;o=[{x:c.x+c.w,y:e},{x:i,y:e},{x:i,y:t.laneY},{x:l,y:t.laneY},{x:l,y:n},{x:f.x,y:n}],h=[.5,.35,.65,.2,.8,.1,.9].map(e=>({x:i+(l-i)*e,y:t.laneY}))}else{let e=x.get("".concat(c.id,"|s|").concat(t.id)),n=x.get("".concat(f.id,"|t|").concat(t.id)),a={x:c.x+c.w,y:e},i={x:f.x,y:n};if("detour"===t.kind)o=[a,{x:a.x+18,y:e},{x:a.x+18,y:t.laneY},{x:i.x-18,y:t.laneY},{x:i.x-18,y:n},i],h=[.5,.35,.65,.2,.8].map(e=>({x:a.x+18+(i.x-a.x-36)*e,y:t.laneY}));else{let t=Math.max(30,(i.x-a.x)/2),e={x:a.x+t,y:a.y},n={x:i.x-t,y:i.y};o=Array.from({length:17},(t,o)=>p(a,e,n,i,o/16)),h=[.5,.4,.6,.3,.7,.22,.78].map(t=>p(a,e,n,i,t));let l=[a,e,n,i].map(d);r="M ".concat(l[0].x," ").concat(l[0].y," C ").concat(l[1].x," ").concat(l[1].y,", ").concat(l[2].x," ").concat(l[2].y,", ").concat(l[3].x," ").concat(l[3].y)}}let y=o.map(d);null!=r||(r=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;if(t.length<2)return"";let n="M ".concat(t[0].x," ").concat(t[0].y);for(let o=1;o<t.length-1;o++){let a=t[o-1],i=t[o],l=t[o+1],r=Math.hypot(i.x-a.x,i.y-a.y),h=Math.hypot(l.x-i.x,l.y-i.y),d=Math.min(e,r/2,h/2);if(d<=.5){n+=" L ".concat(i.x," ").concat(i.y);continue}let c={x:i.x-(i.x-a.x)/r*d,y:i.y-(i.y-a.y)/r*d},x={x:i.x+(l.x-i.x)/h*d,y:i.y+(l.y-i.y)/h*d};n+=" L ".concat(c.x," ").concat(c.y," Q ").concat(i.x," ").concat(i.y," ").concat(x.x," ").concat(x.y)}let o=t[t.length-1];return"".concat(n," L ").concat(o.x," ").concat(o.y)}(y));let m=r,g=u(t.outcomes,n.rename);return{id:t.id,from:t.from,to:t.to,outcomes:t.outcomes,indexes:t.indexes,kind:t.kind,lane:t.lane,family:0===(e=t.outcomes).length?"neutral":e.every(t=>a.has(t))?"pass":e.every(t=>i.has(t))?"fail":e.every(t=>l.has(t))?"rework":"neutral",points:y,path:m,label:g?{text:g,x:0,y:0,...s(g)}:null,candidates:h.map(d)}}),b=t.map(t=>({x:t.x+t.width/2,y:t.y+t.height/2,width:t.width,height:t.height})),v=[];for(let t of[...M].sort((t,e)=>("forward"!==t.kind)-("forward"!==e.kind))){if(!t.label)continue;let e=null,n=(o?t.label.width:t.label.height)+6,a=[1,-1,2,-2,3,-3,4,-4,6,-6].flatMap(e=>t.candidates.slice(0,3).map(t=>o?{x:t.x+e*n,y:t.y}:{x:t.x,y:t.y+e*n}));for(let n of[...t.candidates,...a]){let o={x:Math.round(n.x),y:Math.round(n.y),width:t.label.width,height:t.label.height},a=b.reduce((t,e)=>t+4*w(o,e,2),0)+v.reduce((t,e)=>t+w(o,e),0);if((!e||a<e.cost)&&(e={box:o,cost:a}),0===a)break}Object.assign(t.label,{x:e.box.x,y:e.box.y}),v.push(e.box)}return M.map(t=>{let{candidates:e,...n}=t;return n})}},67689:(t,e,n)=>{"use strict";n.d(e,{E:()=>a,h:()=>l});var o=n(65940);let a=190,i="horizontal";function l(t){let e=t.edges.flatMap(t=>t.map?Object.entries(t.map).map(e=>{let[n,o]=e;return{from:t.from,to:o,outcome:n}}):t.to?[{from:t.from,to:t.to,outcome:""}]:[]),n=t=>e.filter(e=>e.from===t&&e.outcome).map(t=>t.outcome),l=t.nodes.map(t=>({id:t.node_id,width:a,height:n(t.node_id).length?86:70})),r=(0,o.Fq)(l,e,{entry:t.entry_node,flow:i,margin:25}),h=l.map(t=>{var e;return{...t,...null!=(e=r.get(t.id))?e:{x:0,y:0}}}),d=(0,o.gL)(h,(0,o.IU)(e),{flow:i}).map(t=>({id:t.id,source:t.from,target:t.to,sourceHandle:"out",targetHandle:"in",type:"tidy",...t.label?{label:t.label.text}:{},data:{route:t}})),c=new Set(t.terminal_nodes);return{nodes:t.nodes.map((e,o)=>({id:e.node_id,position:{x:h[o].x,y:h[o].y},data:{label:e.node_id,kind:e.kind,recipe:e.recipe,maxVisits:e.max_visits,entry:t.entry_node===e.node_id,terminal:c.has(e.node_id),outcomes:n(e.node_id),inputHandles:["in"],outputHandles:["out"],height:h[o].height}})),edges:d}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1646],{11646:(e,r,a)=>{a.d(r,{diagram:()=>m});var t=a(71491),l=a(55302);a(51587),a(1591);var n=a(9145),i=a(14543),s=a(17355),p=(0,s.lz)().Railroad.parser.LangiumParser,o=(0,i.K)(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(o);return 1===r.length?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(o);return 1===r.length?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:o(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:o(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),d=(0,i.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=(0,i.K)(e=>{(0,l.S)(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(e=>t.db.addRule(d(e)))},"populateDb"),m={parser:{parse:(0,i.K)(e=>{t.db.clear(),n.R.debug("[Railroad Parser] Starting Langium parse");let r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new s.zg(r);let a=r.value;n.R.debug("[Railroad Parser] Parsed rules:",a.rules.length),u(a),n.R.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.U,styles:t.$}}}]);