elanous 0.2.29 → 0.2.32

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 (775) hide show
  1. package/apps/pwa/out/404/index.html +1 -1
  2. package/apps/pwa/out/404.html +1 -1
  3. package/apps/pwa/out/_next/static/{cIpv5nU9AycwYWZI9H589 → IVKr3AlRUVLKsw2fh7eXF}/_buildManifest.js +1 -1
  4. package/apps/pwa/out/_next/static/chunks/{058a98ba.7eb28d5e6dc03565.js → 0bb0ff36.b8d418980951e5ba.js} +7 -7
  5. package/apps/pwa/out/_next/static/chunks/1034-8b639cee57b8e4a8.js +1 -0
  6. package/apps/pwa/out/_next/static/chunks/1085-6c2d35526f11f840.js +1 -0
  7. package/apps/pwa/out/_next/static/chunks/1220.1ff7d5cdc34b1ae5.js +27 -0
  8. package/apps/pwa/out/_next/static/chunks/1247.5884ec81b39fe2e7.js +287 -0
  9. package/apps/pwa/out/_next/static/chunks/1302.87681521a7a4661e.js +62 -0
  10. package/apps/pwa/out/_next/static/chunks/1324-59dae3002413623b.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/{6013-2f769370d8b4c2c6.js → 1335-6731f392c35216eb.js} +3 -3
  12. package/apps/pwa/out/_next/static/chunks/1343-f40b5870ac1eda5a.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/146-b6cd56be11dda017.js +1 -0
  14. package/apps/pwa/out/_next/static/chunks/{8332.6f0f49df772e163b.js → 1654.32de4b324981a188.js} +1 -1
  15. package/apps/pwa/out/_next/static/chunks/1834-98b64172bc1efe77.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/1849.1ce38efa6c527d9a.js +149 -0
  17. package/apps/pwa/out/_next/static/chunks/{8795.32573a185af18c7b.js → 1913.7cc6fb6055b1ed3f.js} +2 -2
  18. package/apps/pwa/out/_next/static/chunks/{419.736c0d6f426249a7.js → 2001.6c7e0fd02190886c.js} +1 -1
  19. package/apps/pwa/out/_next/static/chunks/2030.41fae98c7e907304.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/2099-08b2f2dfba742c9b.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/2112-e4efc21a6505d5bc.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/2134.ecee03a550ee7250.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/{6767.1fcfc9b8be83975f.js → 2213.2ccbada92c33ea0f.js} +16 -16
  24. package/apps/pwa/out/_next/static/chunks/2236.66061832181cb745.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/2422.b0bd272e7020d7e6.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/2534.e85ae21ad0dac829.js +1 -0
  27. package/apps/pwa/out/_next/static/chunks/{4759.1f76713aefb87db5.js → 2871.0bca6137343b3f76.js} +1 -1
  28. package/apps/pwa/out/_next/static/chunks/{6776.06ff1e3b464cc607.js → 2898.fd781bc7cf01a7b7.js} +1 -1
  29. package/apps/pwa/out/_next/static/chunks/{1782-59db1b5aa06df38a.js → 2940-619bfd8ef337c611.js} +1 -1
  30. package/apps/pwa/out/_next/static/chunks/{8471.8d2a8c74f09c36ff.js → 2985.39ccdecd36848b12.js} +4 -4
  31. package/apps/pwa/out/_next/static/chunks/3040.92ff9ffc9f971cb9.js +115 -0
  32. package/apps/pwa/out/_next/static/chunks/3144.6861096c7b4edef7.js +64 -0
  33. package/apps/pwa/out/_next/static/chunks/{bc324b7c.02a09dd93f6a399b.js → 3267c0e6.d34854e7b3984a6e.js} +1 -1
  34. package/apps/pwa/out/_next/static/chunks/3278.2e5d15b53a4091c8.js +2 -0
  35. package/apps/pwa/out/_next/static/chunks/{7725-4f83d5541fbdb81b.js → 3541-ce3a5424ed5ad7f1.js} +1 -1
  36. package/apps/pwa/out/_next/static/chunks/3583.a05e88cc8d594628.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/3771.e928edf2867d28c0.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/3902.e1e71aaac850a045.js +34 -0
  39. package/apps/pwa/out/_next/static/chunks/4063-03284b5de59965f3.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/{46bd8bea.2f4b4099172fcdb7.js → 409f1e57.d0649fc47691ebfe.js} +1 -1
  41. package/apps/pwa/out/_next/static/chunks/4111.2bfedbb233ad206b.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/{1142.65d002789ab3af7d.js → 4174.92ed04922709ac9e.js} +2 -2
  43. package/apps/pwa/out/_next/static/chunks/4300-c7ec4eeabbb5f3f7.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/4483.646d5065199e1b55.js +36 -0
  45. package/apps/pwa/out/_next/static/chunks/4519.28199ff26b2fd80d.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/4581.ef2443578054544f.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/4608-8d894e9cbe4f08bf.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/4639.ae48a01d1bb50a93.js +286 -0
  49. package/apps/pwa/out/_next/static/chunks/4739.08742ac668aada67.js +77 -0
  50. package/apps/pwa/out/_next/static/chunks/4745.67d6f99c245af3f7.js +226 -0
  51. package/apps/pwa/out/_next/static/chunks/4882-16cef71d6a1a32be.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/4999.c064a4000c2a9e94.js +79 -0
  53. package/apps/pwa/out/_next/static/chunks/5173-233188df2f42c626.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/5260-69f35419bca263e7.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/5272.b92d1b72a15c25fe.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/5304.04d24756f242a094.js +148 -0
  57. package/apps/pwa/out/_next/static/chunks/5307.60f2209e809bd627.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/5415-997980f828667736.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/{3396-97b97928c49190c9.js → 5458-16cd7a2b51b74c8c.js} +1 -1
  60. package/apps/pwa/out/_next/static/chunks/{3403.7199205e65124486.js → 5525.86debf231e181813.js} +1 -1
  61. package/apps/pwa/out/_next/static/chunks/{9143.ff14585db1d275ff.js → 5543.a438b8ab5a13ea47.js} +1 -1
  62. package/apps/pwa/out/_next/static/chunks/5572-42c9084f27ca761e.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/5661-80470aac963d9f36.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/5723.421338408b5c30c4.js +74 -0
  65. package/apps/pwa/out/_next/static/chunks/5809.64c3664267c50bce.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/6000.64bc21ac8627f2f5.js +94 -0
  67. package/apps/pwa/out/_next/static/chunks/6013.39459b9c68eabf5f.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/607-06466dff012b03ef.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/{8398.73a19b39715eda04.js → 6092.a7f99e68b188ca66.js} +1 -1
  70. package/apps/pwa/out/_next/static/chunks/60fb96c9.360b01d8d4927b7b.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/{5591.a35e7a217734a8b9.js → 6157.0c9af021de4fb31b.js} +2 -2
  72. package/apps/pwa/out/_next/static/chunks/6192.a190b989b81e9743.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/6323.8672b4817a306928.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/{7375.050ea0d72968e49f.js → 6433.fc573af22bbc9ab7.js} +17 -17
  75. package/apps/pwa/out/_next/static/chunks/6444.7d1fdcb9b09ae71c.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/6517.4147878ac06d584d.js +90 -0
  77. package/apps/pwa/out/_next/static/chunks/6532.e34302010b2f0b68.js +32 -0
  78. package/apps/pwa/out/_next/static/chunks/6544cb48.a87fe20ddf137be2.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/6546.74bc4ed82f19016d.js +104 -0
  80. package/apps/pwa/out/_next/static/chunks/6684-e7523ce7c2fad075.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/6726.ebdc82feb161431e.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/6739.00fb6f892e5e392b.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/6745.934c4921bf15513a.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/6767.ea607cf0c20a25af.js +24 -0
  85. package/apps/pwa/out/_next/static/chunks/6843.67bfd020da0926c5.js +93 -0
  86. package/apps/pwa/out/_next/static/chunks/69-0a2c8209c6d4a158.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/6948.1062d4594652b5bf.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/7138-eaf841fc1dc03463.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/7174-cda29ee13d7790e7.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/7304-3c07583f4e405f4f.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/7371.80c05c653b08e907.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/7391.ebae168025c91b6a.js +1 -0
  93. package/apps/pwa/out/_next/static/chunks/{1852.7f7b53991fcb99ef.js → 7502.ccd5b8065545edd0.js} +2 -2
  94. package/apps/pwa/out/_next/static/chunks/7557.e325503a090a4310.js +8 -0
  95. package/apps/pwa/out/_next/static/chunks/7569-9ce9432c7f10989f.js +1 -0
  96. package/apps/pwa/out/_next/static/chunks/{6534.1ab00f370db7b105.js → 7862.30a8d6482bb238eb.js} +1 -1
  97. package/apps/pwa/out/_next/static/chunks/7886-55854585fadeded1.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/7947-d0759430f8042240.js +1 -0
  99. package/apps/pwa/out/_next/static/chunks/{285adb1a.5654e605dddf86d2.js → 7a1887c4.f36b88fba31da8fd.js} +1 -1
  100. package/apps/pwa/out/_next/static/chunks/8018.a32663f04a6fc5f9.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/8097-9530c03bcc550f02.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/8215-1661812b6e9ad71f.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/8260-19c921a51ca8ec3e.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/8440.3a5cf5c85aa76db8.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/8519-4599be2249161e68.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/8547.b028b90c5c01ace6.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/8587-cbe02a953a7f4990.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/877-2b977259c4b15655.js +1 -0
  109. package/apps/pwa/out/_next/static/chunks/9002.e5658224e3dc1b6f.js +24 -0
  110. package/apps/pwa/out/_next/static/chunks/9019-0a4b40c50c7314fb.js +1 -0
  111. package/apps/pwa/out/_next/static/chunks/{1516.dfaceff3fd2d0e0d.js → 9138.b6e80031afb1d973.js} +1 -1
  112. package/apps/pwa/out/_next/static/chunks/9188-d36e4fc869ddc166.js +1 -0
  113. package/apps/pwa/out/_next/static/chunks/{9907.49be0fcadaf214b5.js → 9221.7d22eaf353a2d4e7.js} +1 -1
  114. package/apps/pwa/out/_next/static/chunks/9230.44f5039e796e4ab4.js +1 -0
  115. package/apps/pwa/out/_next/static/chunks/{8767-2f6a634f5abeaa01.js → 9279-d28c5b7754d010ae.js} +1 -1
  116. package/apps/pwa/out/_next/static/chunks/939.336acce73e98482c.js +1 -0
  117. package/apps/pwa/out/_next/static/chunks/{3160-95c96f4d2a21dd26.js → 9398-6aed28f0a96d0d6f.js} +1 -1
  118. package/apps/pwa/out/_next/static/chunks/9407.e49124dedf0f5e72.js +1 -0
  119. package/apps/pwa/out/_next/static/chunks/9610.c07cce4bfcc14ed7.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/9667-ce78c2ce91050ff9.js +1 -0
  121. package/apps/pwa/out/_next/static/chunks/{328bb3ab-6628a1114fe3fb3b.js → 997ce8a5-2ad501927003b41b.js} +1 -1
  122. package/apps/pwa/out/_next/static/chunks/{6853.cc5174a9dee59593.js → 9989.3694300e5f000b14.js} +1 -1
  123. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-339fabb3499da0e1.js +1 -0
  124. package/apps/pwa/out/_next/static/chunks/app/approvals/page-504204b58c82c253.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-a9717a67c2eecbaf.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/board/page-5c9ec30aee62dfbf.js +1 -0
  127. package/apps/pwa/out/_next/static/chunks/app/botlab/page-584191533721fa16.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/bots/page-73c4b4bb3ac7ab5f.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/ceo/page-c0f1ca371f710b06.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/chat/page-46430d45a9e04eac.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/consult/page-3b2ebf1dc64ff0be.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/control/page-a27b1e5a0d1b308f.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/decisions/page-25654b82094f7d22.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/design-check/page-8ea49a4c6dd2c6e7.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/editor/page-ce5113aefea0a8d1.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/exec/page-0e5a41fac1c75396.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/field/page-31aaf1ed37c6df9a.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/healthz/route-339fabb3499da0e1.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/inside/page-3dcc1fa411e1f4e0.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/intake/page-c69247e7134d329d.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/layout-66dc5cd3a0999abe.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/live/page-26ff7ff651a7217d.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/live-run/page-617b3976981efa96.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/loops/page-d256f5d5d9552823.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/market/page-ce8f1907b8a6101c.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-33e182a316263116.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/morning/page-32866485913d6a04.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/not-found-7607cca9b84950c6.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/observatory/page-eeab86176b03dc3b.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-5b93dbae3432b996.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-77a6cb90a9cf2b10.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-f47e768b5b242b5a.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/outputs/page-eb41aa3367fc2505.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/page-4d13ab0b8a267e3f.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/reflection/page-84dad32ff0fc0831.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-95306f892aa2d0ee.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/sessions/page-940fb6c217f6b470.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-8c66a3b24a745630.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/settings/page-7b675dfd35c36fc9.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-8bd0d3cf7665bcfc.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/layout-339fabb3499da0e1.js +1 -0
  162. package/apps/pwa/out/_next/static/chunks/app/setup/{page-29900ed0011b2c83.js → page-c219f2ed171131be.js} +1 -1
  163. package/apps/pwa/out/_next/static/chunks/app/share/page-40f8fa21bdae955b.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/showroom/page-468f8313e4f1fbd9.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/tasks/page-7bbb8fa353a246c4.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/term/page-04d00ae9b0890349.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/today/page-4214b855d9233ea8.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/trace/page-936752c7aa58762e.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/vault/page-ec052ad359df1797.js +1 -0
  170. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-8305570551091338.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workflows/page-fad650e4793adb65.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/workspace/page-d90e64743826e1d8.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-a16bcfd49af86a32.js +1 -0
  174. package/apps/pwa/out/_next/static/chunks/{425cfc4d.fb91158e3971c39f.js → b313b242.cb1265eea908db61.js} +1 -1
  175. package/apps/pwa/out/_next/static/chunks/e5012ffe.f727e23c231f4342.js +122 -0
  176. package/apps/pwa/out/_next/static/chunks/ea695e3c-1f1d70d740cf3031.js +1 -0
  177. package/apps/pwa/out/_next/static/chunks/ebc7d829.264a0bcb6c750b50.js +1 -0
  178. package/apps/pwa/out/_next/static/chunks/framework-906af9bd029e166c.js +1 -0
  179. package/apps/pwa/out/_next/static/chunks/main-a24847f9f684d469.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/main-app-7bdcd8aa7c8397d3.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/pages/_app-6ba46a5066fc226d.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/pages/_error-a8dc6d07591f2a25.js +1 -0
  183. package/apps/pwa/out/_next/static/chunks/webpack-f13df28c15c55eee.js +1 -0
  184. package/apps/pwa/out/_next/static/css/b5d88eba78a3d7bf.css +1 -0
  185. package/apps/pwa/out/approvals/index.html +1 -1
  186. package/apps/pwa/out/approvals/index.txt +23 -23
  187. package/apps/pwa/out/autopilot/index.html +1 -1
  188. package/apps/pwa/out/autopilot/index.txt +23 -23
  189. package/apps/pwa/out/board/index.html +1 -1
  190. package/apps/pwa/out/board/index.txt +23 -23
  191. package/apps/pwa/out/botlab/index.html +1 -1
  192. package/apps/pwa/out/botlab/index.txt +22 -22
  193. package/apps/pwa/out/bots/index.html +1 -1
  194. package/apps/pwa/out/bots/index.txt +22 -22
  195. package/apps/pwa/out/ceo/index.html +1 -1
  196. package/apps/pwa/out/ceo/index.txt +23 -23
  197. package/apps/pwa/out/chat/index.html +1 -1
  198. package/apps/pwa/out/chat/index.txt +22 -22
  199. package/apps/pwa/out/consult/index.html +1 -1
  200. package/apps/pwa/out/consult/index.txt +23 -23
  201. package/apps/pwa/out/control/index.html +1 -1
  202. package/apps/pwa/out/control/index.txt +23 -23
  203. package/apps/pwa/out/decisions/index.html +1 -1
  204. package/apps/pwa/out/decisions/index.txt +22 -22
  205. package/apps/pwa/out/design-check/index.html +1 -1
  206. package/apps/pwa/out/design-check/index.txt +23 -23
  207. package/apps/pwa/out/editor/index.html +1 -1
  208. package/apps/pwa/out/editor/index.txt +23 -23
  209. package/apps/pwa/out/exec/index.html +1 -1
  210. package/apps/pwa/out/exec/index.txt +23 -23
  211. package/apps/pwa/out/field/index.html +1 -1
  212. package/apps/pwa/out/field/index.txt +23 -23
  213. package/apps/pwa/out/healthz +1 -1
  214. package/apps/pwa/out/index.html +1 -1
  215. package/apps/pwa/out/index.txt +22 -22
  216. package/apps/pwa/out/inside/index.html +1 -1
  217. package/apps/pwa/out/inside/index.txt +22 -22
  218. package/apps/pwa/out/intake/index.html +1 -1
  219. package/apps/pwa/out/intake/index.txt +23 -23
  220. package/apps/pwa/out/live/index.html +1 -1
  221. package/apps/pwa/out/live/index.txt +26 -23
  222. package/apps/pwa/out/live-run/index.html +1 -1
  223. package/apps/pwa/out/live-run/index.txt +23 -23
  224. package/apps/pwa/out/loops/index.html +1 -1
  225. package/apps/pwa/out/loops/index.txt +22 -22
  226. package/apps/pwa/out/market/index.html +1 -1
  227. package/apps/pwa/out/market/index.txt +22 -22
  228. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  229. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  230. package/apps/pwa/out/morning/index.html +1 -1
  231. package/apps/pwa/out/morning/index.txt +23 -23
  232. package/apps/pwa/out/observatory/index.html +1 -1
  233. package/apps/pwa/out/observatory/index.txt +23 -23
  234. package/apps/pwa/out/ops/checklist/index.html +1 -1
  235. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  236. package/apps/pwa/out/ops/release/index.html +1 -1
  237. package/apps/pwa/out/ops/release/index.txt +22 -22
  238. package/apps/pwa/out/ops/seats/index.html +1 -1
  239. package/apps/pwa/out/ops/seats/index.txt +22 -22
  240. package/apps/pwa/out/outputs/index.html +1 -1
  241. package/apps/pwa/out/outputs/index.txt +22 -22
  242. package/apps/pwa/out/reflection/index.html +1 -1
  243. package/apps/pwa/out/reflection/index.txt +23 -23
  244. package/apps/pwa/out/scheduler/index.html +1 -1
  245. package/apps/pwa/out/scheduler/index.txt +23 -23
  246. package/apps/pwa/out/sessions/index.html +1 -1
  247. package/apps/pwa/out/sessions/index.txt +22 -22
  248. package/apps/pwa/out/settings/devices/index.html +1 -1
  249. package/apps/pwa/out/settings/devices/index.txt +23 -23
  250. package/apps/pwa/out/settings/index.html +1 -1
  251. package/apps/pwa/out/settings/index.txt +23 -23
  252. package/apps/pwa/out/setup/done/index.html +1 -1
  253. package/apps/pwa/out/setup/done/index.txt +23 -23
  254. package/apps/pwa/out/setup/index.html +1 -1
  255. package/apps/pwa/out/setup/index.txt +23 -23
  256. package/apps/pwa/out/share/index.html +1 -1
  257. package/apps/pwa/out/share/index.txt +23 -23
  258. package/apps/pwa/out/showroom/index.html +1 -1
  259. package/apps/pwa/out/showroom/index.txt +22 -22
  260. package/apps/pwa/out/tasks/index.html +1 -1
  261. package/apps/pwa/out/tasks/index.txt +23 -23
  262. package/apps/pwa/out/term/index.html +1 -1
  263. package/apps/pwa/out/term/index.txt +23 -23
  264. package/apps/pwa/out/today/index.html +1 -1
  265. package/apps/pwa/out/today/index.txt +23 -23
  266. package/apps/pwa/out/trace/index.html +1 -1
  267. package/apps/pwa/out/trace/index.txt +23 -23
  268. package/apps/pwa/out/vault/index.html +1 -1
  269. package/apps/pwa/out/vault/index.txt +23 -23
  270. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  271. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  272. package/apps/pwa/out/workflows/index.html +1 -1
  273. package/apps/pwa/out/workflows/index.txt +23 -23
  274. package/apps/pwa/out/workspace/index.html +1 -1
  275. package/apps/pwa/out/workspace/index.txt +23 -23
  276. package/apps/pwa/out/worktrees/index.html +1 -1
  277. package/apps/pwa/out/worktrees/index.txt +23 -23
  278. package/bin/elanous.mjs +7 -3
  279. package/graphs/context/nightly-condense.yaml +1 -0
  280. package/graphs/implement-loop.yaml +5 -0
  281. package/graphs/intake/intake-daily.yaml +8 -1
  282. package/graphs/intake/recipes.yaml +5 -0
  283. package/graphs/lecture/lecture-note.yaml +2 -2
  284. package/graphs/ops/harness-gc.yaml +1 -0
  285. package/graphs/release/recipes.yaml +3 -0
  286. package/graphs/release/release-loop.yaml +9 -5
  287. package/graphs/units/recipes.yaml +3 -0
  288. package/graphs/units/release-gate-recheck.yaml +15 -0
  289. package/package.json +2 -1
  290. package/scripts/check-native-tool-wiring.ts +3 -2
  291. package/scripts/ci-android-unit-tests.ts +16 -0
  292. package/scripts/ci-typecheck-changed.ts +63 -10
  293. package/scripts/coord-channel-watch.sh +22 -16
  294. package/scripts/coord-role-pack.ts +81 -2
  295. package/scripts/cron-run.ts +96 -3
  296. package/scripts/detect-test-interference.ts +38 -5
  297. package/scripts/gate-pr-cache.ts +65 -0
  298. package/scripts/gh-surface/capture.ts +126 -0
  299. package/scripts/gh-surface/gh +40 -0
  300. package/scripts/import-graph-scc.ts +38 -0
  301. package/scripts/install.ps1 +19 -0
  302. package/scripts/intake-social.ts +181 -0
  303. package/scripts/lecture-note/node.ts +71 -4
  304. package/scripts/lib/android-toolchain.ts +32 -0
  305. package/scripts/lib/deterministic-env.ts +62 -0
  306. package/scripts/lib/gate-test-env.ts +19 -0
  307. package/scripts/measure-goal-grounding-corpus.ts +2 -1
  308. package/scripts/measure-si-task-cpu.ts +143 -0
  309. package/scripts/ratchets/test-interference-patterns.allowlist.txt +255 -0
  310. package/scripts/ratchets/test-interference-patterns.ts +367 -0
  311. package/scripts/release-loop/cut-branch.ts +4 -3
  312. package/scripts/release-loop/export-check-node.ts +0 -1
  313. package/scripts/release-loop/fixtures/warm-failure-assertion/sample.junit.xml +8 -0
  314. package/scripts/release-loop/fixtures/warm-job-029/sample.json +1 -0
  315. package/scripts/release-loop/fixtures/warm-job-029/sample.junit.xml +10 -0
  316. package/scripts/release-loop/gate-closure.ts +12 -8
  317. package/scripts/release-loop/gate-diff.ts +1 -1
  318. package/scripts/release-loop/gate-host-mirror.ts +66 -0
  319. package/scripts/release-loop/gate-node.ts +523 -75
  320. package/scripts/release-loop/gate-partial.ts +106 -9
  321. package/scripts/release-loop/gate-pr-cache.ts +66 -0
  322. package/scripts/release-loop/gate-prewarm-plan.ts +66 -0
  323. package/scripts/release-loop/gate-r2-verdict.ts +189 -0
  324. package/scripts/release-loop/gate-recheck-plan-node.ts +52 -0
  325. package/scripts/release-loop/gate-warm-artifacts.ts +253 -0
  326. package/scripts/release-loop/import-graph-scc-run.ts +54 -0
  327. package/scripts/release-loop/import-graph-scc.ts +215 -0
  328. package/scripts/release-loop/node-verdict.ts +2 -0
  329. package/scripts/release-loop/prepare-node.ts +102 -4
  330. package/scripts/release-loop/probe-pod-host-dirs-live.ts +113 -0
  331. package/scripts/release-loop/resume-release.ts +33 -4
  332. package/scripts/release-loop/resume.ts +13 -5
  333. package/scripts/release-loop/spawn-lane.ts +2 -19
  334. package/scripts/release-loop/tui-sim-node.ts +3 -2
  335. package/scripts/release-loop/unattended-release.ts +16 -0
  336. package/scripts/test-deterministic.ts +5 -61
  337. package/scripts/train-reach-grouping.ts +48 -0
  338. package/scripts/tsc-incremental-cache.ts +86 -0
  339. package/scripts/tsc-incremental-diagnostics.ts +76 -0
  340. package/scripts/tsc-main-safety-net.ts +2 -2
  341. package/src/acp/client.ts +4 -1
  342. package/src/acp/core-turn-bridge.ts +65 -8
  343. package/src/acp/elanous-extensions.ts +3 -0
  344. package/src/acp/server.ts +3 -0
  345. package/src/acp/tool-trace.ts +186 -11
  346. package/src/ad-pipeline/run.ts +4 -2
  347. package/src/agent/runner.ts +169 -3
  348. package/src/agent/self-ambient-cache.ts +156 -0
  349. package/src/agent/self-ambient.ts +8 -1
  350. package/src/agent/subagent-callable.ts +3 -2
  351. package/src/agent/task-notification.ts +5 -0
  352. package/src/agent-mission/review-loop.ts +6 -3
  353. package/src/agent-substrate/acp-implementer.ts +14 -2
  354. package/src/agent-substrate/pr-reviewer.ts +14 -0
  355. package/src/agent-substrate/self-review-cli.ts +30 -4
  356. package/src/ask-user-question/tool.ts +22 -0
  357. package/src/autopilot/build/llm-conflict-merge.ts +56 -10
  358. package/src/autopilot/pr-manager.ts +80 -7
  359. package/src/briefing/brief-items.ts +24 -22
  360. package/src/capture/frame-state-detect.ts +39 -0
  361. package/src/capture/tui-self-report.ts +149 -6
  362. package/src/chat/chat-cli.ts +10 -2
  363. package/src/chat/index.ts +138 -26
  364. package/src/chat/input-control-key.ts +5 -3
  365. package/src/chat/pickers/modal-runtime.ts +6 -0
  366. package/src/chat/pickers/modals.ts +8 -2
  367. package/src/chat/tool-interrupt-behavior.ts +38 -0
  368. package/src/chat/tool-render/dispatch.ts +5 -1
  369. package/src/chat/turn-typeahead.ts +75 -20
  370. package/src/cli/__fixtures__/agent-help-before/agent.txt +4 -2
  371. package/src/cli/agent-cli.ts +41 -13
  372. package/src/cli/ask-bare.ts +1 -0
  373. package/src/cli/config-audit.ts +123 -0
  374. package/src/cli/decisions-cli.ts +80 -6
  375. package/src/cli/import-cli.ts +12 -0
  376. package/src/cli/log-event-names.ts +17 -0
  377. package/src/cli/mcp-login.ts +21 -5
  378. package/src/cli/msg-cli.ts +89 -0
  379. package/src/cli/pod-cli.ts +14 -3
  380. package/src/cli/pr-cli.ts +273 -81
  381. package/src/cli/pr-land-base-read.ts +34 -0
  382. package/src/cli/pr-land-heavy-remote.ts +82 -26
  383. package/src/cli/pr-land-overlap-evidence.ts +109 -11
  384. package/src/cli/pr-land-pod-shadow-job.ts +106 -0
  385. package/src/cli/pr-land-pod-shadow.ts +16 -3
  386. package/src/cli/pr-land-refusal.ts +20 -5
  387. package/src/cli/pr-land-virtual-rebase.ts +108 -0
  388. package/src/cli/pty-takeover-cli.ts +88 -14
  389. package/src/cli/release-cli.ts +80 -14
  390. package/src/cli/seat-cli.ts +138 -3
  391. package/src/cli/self-update.ts +5 -2
  392. package/src/cli/sim-cli.ts +18 -0
  393. package/src/cli/tasks-cli.ts +97 -19
  394. package/src/context-bus/context-first.ts +13 -0
  395. package/src/context-bus/context-now.ts +13 -2
  396. package/src/context-bus/ops-events.ts +79 -0
  397. package/src/control-plane/lease-holder.ts +12 -8
  398. package/src/control-plane/ledger.ts +163 -4
  399. package/src/control-plane/server.ts +91 -11
  400. package/src/core-turn/run-core-turn.ts +2 -0
  401. package/src/core-turn/run-goal-loop.ts +243 -3
  402. package/src/core-turn/seat-turn-cap.ts +79 -0
  403. package/src/core-turn/short-question.ts +38 -6
  404. package/src/core-turn/types.ts +6 -0
  405. package/src/dashboard/acp-active-model.ts +42 -1
  406. package/src/dashboard/acp-boot.ts +3 -0
  407. package/src/dashboard/background-jobs-status.ts +66 -0
  408. package/src/dashboard/index.ts +339 -657
  409. package/src/dashboard/input/agent-wake.ts +242 -0
  410. package/src/dashboard/input/chat-main-entry-runtime.ts +6 -1
  411. package/src/dashboard/input/chat-main-plain-turn-runtime.ts +4 -1
  412. package/src/dashboard/input/chat-main-session.ts +8 -1
  413. package/src/dashboard/input/chat-main-turn.ts +12 -3
  414. package/src/dashboard/input/compact-prepass-recovery.ts +33 -0
  415. package/src/dashboard/input/external-input-host.ts +49 -9
  416. package/src/dashboard/input/internal-turn.ts +261 -0
  417. package/src/dashboard/input/mouse-wiring.ts +108 -11
  418. package/src/dashboard/input/seat-autowake.ts +318 -0
  419. package/src/dashboard/input/turn-steer-bridge.ts +70 -0
  420. package/src/dashboard/log-click-runtime.ts +118 -2
  421. package/src/dashboard/loop-scheduler.ts +72 -0
  422. package/src/dashboard/seat-boot-preamble.ts +18 -0
  423. package/src/dashboard/skill-runtime.ts +2 -0
  424. package/src/dashboard/slash-runtime/dashboard-handlers.ts +126 -1181
  425. package/src/dashboard/slash-runtime/help-from-registry.ts +2 -1
  426. package/src/dashboard/slash-runtime/index.ts +13 -0
  427. package/src/dashboard/turn-busy-teardown.ts +50 -0
  428. package/src/dashboard/turn-preamble.ts +116 -40
  429. package/src/dashboard/turn-session-layers.ts +4 -2
  430. package/src/dashboard/turn-start-segments.ts +222 -0
  431. package/src/decisions/decision-ledger.ts +45 -4
  432. package/src/discord-self-message.ts +4 -4
  433. package/src/display/prompt-row-owner.ts +146 -0
  434. package/src/display/resize-listener.ts +33 -2
  435. package/src/domains/release-tool.ts +18 -1
  436. package/src/field-note/transcribe.ts +17 -0
  437. package/src/fold-stack.ts +4 -2
  438. package/src/git-fs/index.ts +263 -36
  439. package/src/github/remote-call.ts +81 -0
  440. package/src/goals/registry.ts +46 -6
  441. package/src/goals/types.ts +7 -1
  442. package/src/graph-runner/runner.ts +1 -0
  443. package/src/grok/credential.ts +26 -0
  444. package/src/harness/gate-reserve.ts +87 -0
  445. package/src/harness/harness-clean.ts +2 -1
  446. package/src/harness/harness-cli-command.ts +52 -5
  447. package/src/harness/harness-gc.ts +2 -1
  448. package/src/harness/harness-incidents.ts +70 -20
  449. package/src/harness/harness-pod-dispatch.ts +87 -10
  450. package/src/harness/harness-queue.ts +68 -4
  451. package/src/harness/harness-stop.ts +4 -3
  452. package/src/harness/harness-substrate-default.ts +78 -7
  453. package/src/harness/harness-worktree-auto.ts +2 -1
  454. package/src/harness/harness-worktrees.ts +3 -2
  455. package/src/hooks/dispatch.ts +2 -1
  456. package/src/index.ts +156 -27
  457. package/src/input/external-input-queue.ts +64 -7
  458. package/src/intake-plane/slash.ts +14 -3
  459. package/src/keybindings.ts +4 -1
  460. package/src/llm/route-decision.ts +36 -0
  461. package/src/llm/tool-loop-steered-rejection.ts +41 -0
  462. package/src/llm-request-shape.ts +209 -0
  463. package/src/llm.ts +301 -283
  464. package/src/loops/consensus.ts +348 -0
  465. package/src/loops/msg-wake.ts +206 -4
  466. package/src/loops/observe.ts +19 -3
  467. package/src/loops/orchestrator/tick.ts +88 -12
  468. package/src/loops/orchestrator/traffic.ts +64 -1
  469. package/src/loops/registry.ts +30 -0
  470. package/src/market/signed-index.ts +14 -0
  471. package/src/maturity/feature-maturity.ts +1 -1
  472. package/src/mcp/mcp-oauth.ts +54 -5
  473. package/src/models/prompts.ts +28 -0
  474. package/src/msg/msg-sse-client.ts +223 -0
  475. package/src/msg/msg-store.ts +86 -2
  476. package/src/mss/logging/log-store.ts +225 -1
  477. package/src/mss/logging/render-categories.ts +5 -0
  478. package/src/nexus/DAEMON-THIN-inventory-2026-10-15.md +122 -0
  479. package/src/nexus/api/http-server.ts +54 -15
  480. package/src/nexus/api/loop-resources.ts +19 -3
  481. package/src/nexus/api/ops-api.ts +11 -0
  482. package/src/nexus/daemon-thin-inventory.md +37 -0
  483. package/src/nexus/index.ts +70 -0
  484. package/src/nexus/state/state.ts +1 -0
  485. package/src/oauth/store.ts +32 -7
  486. package/src/onboarding/first-run.ts +28 -3
  487. package/src/ops/overview-cache.ts +16 -4
  488. package/src/ops/overview.ts +59 -2
  489. package/src/ops/resources.ts +82 -0
  490. package/src/plugins/maker/connector-maker.ts +41 -0
  491. package/src/plugins/maker/skill-maker.ts +42 -0
  492. package/src/pr-tool/census.ts +303 -0
  493. package/src/pr-tool/inflight-registry.ts +143 -0
  494. package/src/prompt-library/chat-conciseness.ts +13 -0
  495. package/src/prompt-library/universal-preamble.ts +10 -5
  496. package/src/pty-shell/pty-manifest.ts +12 -3
  497. package/src/pty-shell/tui-run-state.ts +34 -3
  498. package/src/release-loop/gate-host-reservation.ts +97 -0
  499. package/src/release-loop/landing-freeze.ts +5 -0
  500. package/src/release-loop/light-rc.ts +5 -2
  501. package/src/release-loop/placement.ts +92 -1
  502. package/src/release-loop/rehearsal-shard-plan.ts +149 -0
  503. package/src/release-loop/rehearsal.ts +73 -17
  504. package/src/repl/index.ts +20 -2
  505. package/src/seat-loop/seat-knowhow.ts +282 -0
  506. package/src/seat-loop/seat-loop.ts +41 -2
  507. package/src/seat-loop/traffic-signal.ts +5 -1
  508. package/src/self-dev/ask-launch-flow.ts +37 -3
  509. package/src/self-dev/decompose-compose-graph.ts +28 -27
  510. package/src/self-dev/decompose-proposal.ts +53 -38
  511. package/src/self-dev/decompose.ts +17 -0
  512. package/src/self-dev/dev-pipeline.ts +31 -2
  513. package/src/self-dev/draft-residue.ts +267 -33
  514. package/src/self-dev/draft-sweep.ts +59 -4
  515. package/src/self-dev/external-call-zero.ts +77 -0
  516. package/src/self-dev/launch-preflight-text.ts +6 -0
  517. package/src/self-dev/launch-preflight.ts +25 -3
  518. package/src/self-dev/local-supervisor-judge.ts +185 -0
  519. package/src/self-dev/run-supervisor.ts +229 -19
  520. package/src/self-dev/run-types.ts +20 -0
  521. package/src/self-dev/shard-aggregate.ts +13 -2
  522. package/src/self-dev/shard-plan.ts +56 -1
  523. package/src/self-dev/shard-run.ts +207 -12
  524. package/src/self-dev/spawn-lane-files.ts +19 -0
  525. package/src/self-implement/app-api-budget.ts +51 -11
  526. package/src/self-implement/config-gate.ts +2 -1
  527. package/src/self-implement/elanous-tui-spawn.ts +14 -0
  528. package/src/self-implement/expose-gate.ts +2 -1
  529. package/src/self-implement/follow-up-placement.ts +79 -0
  530. package/src/self-implement/gate-artifacts.ts +416 -0
  531. package/src/self-implement/gate-baseline.ts +96 -5
  532. package/src/self-implement/gate-cli.ts +207 -17
  533. package/src/self-implement/gate-remote.ts +136 -26
  534. package/src/self-implement/gate-scenario.ts +85 -0
  535. package/src/self-implement/goal-author.ts +160 -8
  536. package/src/self-implement/graph-authority.ts +38 -6
  537. package/src/self-implement/graph-overlay-condition.ts +92 -1
  538. package/src/self-implement/heal-triage.ts +79 -0
  539. package/src/self-implement/host-regate.ts +97 -7
  540. package/src/self-implement/orchestrator.ts +115 -134
  541. package/src/self-implement/pr-title.ts +123 -0
  542. package/src/self-implement/run-checkpoint.ts +235 -0
  543. package/src/self-implement/run-ledger.ts +162 -15
  544. package/src/self-implement/run-stop.ts +4 -3
  545. package/src/self-implement/run-ttl.ts +28 -4
  546. package/src/self-implement/seams.ts +2 -0
  547. package/src/self-implement/shadow-stage.ts +7 -6
  548. package/src/self-implement/stop-autoheal.ts +2 -1
  549. package/src/self-implement/train-gate-remote.ts +37 -8
  550. package/src/self-implement/train-reach-grouping.ts +157 -0
  551. package/src/self-implement/train-scenario-layers.ts +133 -0
  552. package/src/self-implement/uncommitted-work.ts +2 -0
  553. package/src/session/pending-input.ts +19 -0
  554. package/src/session/session-start.ts +224 -0
  555. package/src/session-runtime/index.ts +22 -267
  556. package/src/session-runtime/parallel-dispatch.ts +22 -5
  557. package/src/shell-runner/background-surface.ts +15 -5
  558. package/src/skills/tools/agent.ts +39 -6
  559. package/src/skills/tools/dev-harness.ts +6 -4
  560. package/src/skills/tools/list-dir.ts +11 -0
  561. package/src/skills/tools/schedule-wakeup.ts +408 -0
  562. package/src/skills/tools/shell.ts +246 -4
  563. package/src/status/bar.ts +26 -0
  564. package/src/steward/digest-delivery.ts +118 -0
  565. package/src/steward/hold-hygiene.ts +120 -0
  566. package/src/steward/resync-tick.ts +114 -23
  567. package/src/steward/ta-repair-event-collect.ts +158 -0
  568. package/src/steward/triage.ts +10 -0
  569. package/src/surface/shell-runner-boot.ts +5 -2
  570. package/src/task-agent/card-evidence.ts +25 -1
  571. package/src/task-agent/green-sweep.ts +8 -3
  572. package/src/task-agent/judge.ts +76 -0
  573. package/src/task-agent/land-queue.ts +79 -0
  574. package/src/task-agent/live-moves.ts +30 -9
  575. package/src/task-agent/postland-card.ts +5 -0
  576. package/src/task-agent/prelaunch-already-done.ts +98 -0
  577. package/src/task-agent/real-launch-guard.ts +37 -0
  578. package/src/task-agent/rejudge-on-head.ts +89 -12
  579. package/src/task-agent/remote-rejudge-bind.ts +28 -8
  580. package/src/task-agent/repair-cycle.ts +45 -7
  581. package/src/task-agent/repair-worker.ts +7 -0
  582. package/src/task-agent/run-identity.ts +200 -0
  583. package/src/task-agent/shadow.ts +50 -3
  584. package/src/task-agent/task-hand.ts +182 -5
  585. package/src/task-agent/train-landing.ts +77 -0
  586. package/src/task-agent/work-order.ts +104 -0
  587. package/src/task-orchestrator/surfaces/pod-command-job.ts +151 -37
  588. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +88 -19
  589. package/src/task-orchestrator/surfaces/pod-host-acp-review.ts +2 -1
  590. package/src/task-orchestrator/surfaces/pod-image-source.ts +2 -1
  591. package/src/task-orchestrator/surfaces/pod-install-slots.ts +121 -9
  592. package/src/task-orchestrator/surfaces/pod-lease.ts +118 -6
  593. package/src/task-orchestrator/surfaces/pod-ledger-events.ts +1 -1
  594. package/src/task-orchestrator/surfaces/pod-lifecycle-stages.ts +169 -0
  595. package/src/task-orchestrator/surfaces/pod-mirror-seed.ts +27 -0
  596. package/src/task-orchestrator/surfaces/pod-pool.ts +3 -1
  597. package/src/task-orchestrator/surfaces/pod-result-marker-wait.ts +33 -0
  598. package/src/task-orchestrator/surfaces/pod-reuse-cleanup.ts +67 -0
  599. package/src/task-orchestrator/surfaces/pod-source-receive.ts +19 -3
  600. package/src/task-orchestrator/surfaces/pod-warm-switch.ts +141 -0
  601. package/src/task-orchestrator/surfaces/pod-warm-ta-shadow.ts +85 -0
  602. package/src/task-orchestrator/surfaces/pod-warm-worker-pod.ts +525 -0
  603. package/src/task-orchestrator/surfaces/pod-warm-worker-protocol.ts +153 -0
  604. package/src/task-orchestrator/surfaces/pod-warm-worker-runner.ts +90 -0
  605. package/src/task-orchestrator/surfaces/pod-warm-worker-runtime.ts +362 -0
  606. package/src/task-orchestrator/surfaces/self-implement-pod.ts +138 -19
  607. package/src/telegram.ts +2 -4
  608. package/src/tui/chat/execution-badge.ts +5 -1
  609. package/src/tui/input/pickers.ts +732 -0
  610. package/src/tui/input-lag-probe.ts +230 -0
  611. package/src/tui/slash/mission.ts +492 -0
  612. package/src/tui/slash/term.ts +877 -0
  613. package/src/tui-client/dashboard-session.ts +9 -0
  614. package/src/tui.ts +52 -0
  615. package/src/user-config/gemini-server-tools.ts +9 -0
  616. package/src/user-config.ts +53 -16
  617. package/src/util/spawn-sync-output.ts +7 -0
  618. package/src/ux-sim/fake-bin.ts +154 -0
  619. package/src/ux-sim/fake-clock.ts +36 -0
  620. package/src/ux-sim/headless-tui.ts +72 -0
  621. package/src/ux-sim/in-process-cli.ts +2 -1
  622. package/src/ux-sim/scenario.ts +255 -0
  623. package/src/ux-sim/temp-git-remote.ts +82 -0
  624. package/src/version/packed-revision.json +1 -1
  625. package/src/video-pipeline/recipes/vlog.ts +25 -7
  626. package/apps/pwa/out/_next/static/chunks/1015-9cba22a5a4554797.js +0 -1
  627. package/apps/pwa/out/_next/static/chunks/1084-4e66af7376a18db7.js +0 -1
  628. package/apps/pwa/out/_next/static/chunks/1106.3a6410b7b0c70ad4.js +0 -1
  629. package/apps/pwa/out/_next/static/chunks/1127.32fc642f70423506.js +0 -8
  630. package/apps/pwa/out/_next/static/chunks/1189-d9b8e1995a831fae.js +0 -1
  631. package/apps/pwa/out/_next/static/chunks/1224.6da98c7ad0eb7dd8.js +0 -34
  632. package/apps/pwa/out/_next/static/chunks/1370.4e3e2558f111fd5d.js +0 -1
  633. package/apps/pwa/out/_next/static/chunks/1514-b7da377fdc4eb17a.js +0 -1
  634. package/apps/pwa/out/_next/static/chunks/1577.3c24c32584e10d70.js +0 -286
  635. package/apps/pwa/out/_next/static/chunks/161.130a569855c4d68c.js +0 -24
  636. package/apps/pwa/out/_next/static/chunks/1864.16da9556e78a9236.js +0 -1
  637. package/apps/pwa/out/_next/static/chunks/1b6f6b2a.aff090122be3726e.js +0 -1
  638. package/apps/pwa/out/_next/static/chunks/2341.e8a9135e5b910dd5.js +0 -36
  639. package/apps/pwa/out/_next/static/chunks/257.10afdbe3520f2fc2.js +0 -1
  640. package/apps/pwa/out/_next/static/chunks/2658.87550e692dc493f6.js +0 -64
  641. package/apps/pwa/out/_next/static/chunks/2673.85e2f02efae7a85f.js +0 -1
  642. package/apps/pwa/out/_next/static/chunks/2766-bee623b37472ed63.js +0 -1
  643. package/apps/pwa/out/_next/static/chunks/2794.6d836872b0bf43e2.js +0 -1
  644. package/apps/pwa/out/_next/static/chunks/2806.eb57ced1a528ed39.js +0 -1
  645. package/apps/pwa/out/_next/static/chunks/283.7a121c4910e6dad7.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/2870.1dc29aa5fc01f09f.js +0 -115
  647. package/apps/pwa/out/_next/static/chunks/293.fd38e77ce5d48103.js +0 -1
  648. package/apps/pwa/out/_next/static/chunks/2993-5952a1cd3fd5d441.js +0 -1
  649. package/apps/pwa/out/_next/static/chunks/32-a523427c5bd5ed00.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/3280.af38002a6424a905.js +0 -90
  651. package/apps/pwa/out/_next/static/chunks/3292-5ddffdb2f517b44f.js +0 -1
  652. package/apps/pwa/out/_next/static/chunks/3523.d3231daaf7aba993.js +0 -1
  653. package/apps/pwa/out/_next/static/chunks/3763.577de3181e1e6ea0.js +0 -1
  654. package/apps/pwa/out/_next/static/chunks/4138-cc56b0938ef72783.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/4255-8350c43d307a8875.js +0 -1
  656. package/apps/pwa/out/_next/static/chunks/4352.a4954693499c2714.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/4421-f2dcbc6fd80ec013.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/4513-51b94aeee37c9905.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/4928-c3b72f99aa588699.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/4986-f9fc0283fb325219.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/5014.671a7b9f69c2b7b1.js +0 -94
  662. package/apps/pwa/out/_next/static/chunks/5137.d398e24710b3feb6.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/5298.0bea74885cabe754.js +0 -1
  664. package/apps/pwa/out/_next/static/chunks/5315.74c53a39739b11c4.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/5317-8b1df8d02105cd07.js +0 -1
  666. package/apps/pwa/out/_next/static/chunks/5358-33051f41a2b239af.js +0 -1
  667. package/apps/pwa/out/_next/static/chunks/5388.a2ec02501f714ad5.js +0 -62
  668. package/apps/pwa/out/_next/static/chunks/5395.e6ac948a2d15058d.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/5409-f282bf533c151849.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/5466.d0f4aba9d52acfa8.js +0 -27
  671. package/apps/pwa/out/_next/static/chunks/5564.3d28b353470fe305.js +0 -104
  672. package/apps/pwa/out/_next/static/chunks/569.b0cbfb4dee4a167a.js +0 -93
  673. package/apps/pwa/out/_next/static/chunks/5835-72465b73a8bb8d74.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/5941.045d6093139e1f7a.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/6228.47cabb83564dfe54.js +0 -24
  676. package/apps/pwa/out/_next/static/chunks/6457-8d1993002a87d0fe.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/6513.ef54cfae52351982.js +0 -2
  678. package/apps/pwa/out/_next/static/chunks/6582.13d245bf87df69f1.js +0 -148
  679. package/apps/pwa/out/_next/static/chunks/6655.c33f6acc2c61bb89.js +0 -149
  680. package/apps/pwa/out/_next/static/chunks/6731-9d7195af289c8d4c.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/6733.0be05b1db9279fc5.js +0 -79
  682. package/apps/pwa/out/_next/static/chunks/6742-90937146253a8b9e.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/687-816858f77a396a4e.js +0 -1
  684. package/apps/pwa/out/_next/static/chunks/6888.72c7b8cfb02a7e61.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/6993.c17c828ac3ef3253.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/7076.9f27ef666b0cefdd.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/7113.1403c5d451804e8c.js +0 -287
  688. package/apps/pwa/out/_next/static/chunks/7169.9dd603c726c2cd7c.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/7247-e3ec21f761f86710.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/7261-a47b72f96f5199df.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/7335-5cda81ac90310077.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/7356-c2e4af090546e2d4.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/738-59518742078fda71.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/7385.a7375f10db73243a.js +0 -77
  695. package/apps/pwa/out/_next/static/chunks/7445.cf1cf2fe109bcd96.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/7505.a2057432ab6ef99a.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/7515.31f45fac1f9c70cb.js +0 -74
  698. package/apps/pwa/out/_next/static/chunks/7658-d4ce8c72a9548a91.js +0 -1
  699. package/apps/pwa/out/_next/static/chunks/8107-0b1ae46bc5bcb788.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/8132.bfea2f016ce8d992.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/8672.e299832bc7d18ee2.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/8735.f1ef798a5f260f6f.js +0 -226
  703. package/apps/pwa/out/_next/static/chunks/8774-88f67f7d8d53d299.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/8782.252e5a405d86e4ed.js +0 -32
  705. package/apps/pwa/out/_next/static/chunks/909-9ed7aa0dba804316.js +0 -1
  706. package/apps/pwa/out/_next/static/chunks/9100.22b0301256827007.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/9140-dde77575570bc71e.js +0 -1
  708. package/apps/pwa/out/_next/static/chunks/9292-a7ad9a01c7044b93.js +0 -1
  709. package/apps/pwa/out/_next/static/chunks/9517.00627dc51b02821c.js +0 -1
  710. package/apps/pwa/out/_next/static/chunks/9725.dcbb585652d8e9c5.js +0 -1
  711. package/apps/pwa/out/_next/static/chunks/9761.a3ebf5c389c24ddc.js +0 -1
  712. package/apps/pwa/out/_next/static/chunks/9972.834d2b2b7d48f1ed.js +0 -1
  713. package/apps/pwa/out/_next/static/chunks/9995-1a90486f5ae01546.js +0 -1
  714. package/apps/pwa/out/_next/static/chunks/a435ad95.577add051b4facb2.js +0 -1
  715. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-83372d8b5863ebf7.js +0 -1
  716. package/apps/pwa/out/_next/static/chunks/app/approvals/page-d69256d7613c140a.js +0 -1
  717. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-352c5e9ba3f9b858.js +0 -1
  718. package/apps/pwa/out/_next/static/chunks/app/board/page-69f1d725524201a8.js +0 -1
  719. package/apps/pwa/out/_next/static/chunks/app/botlab/page-a5635eba0d73b84e.js +0 -1
  720. package/apps/pwa/out/_next/static/chunks/app/bots/page-ad9181d84285e4ea.js +0 -1
  721. package/apps/pwa/out/_next/static/chunks/app/ceo/page-86feb08080261a2f.js +0 -1
  722. package/apps/pwa/out/_next/static/chunks/app/chat/page-ffa15987e4756d03.js +0 -1
  723. package/apps/pwa/out/_next/static/chunks/app/consult/page-11a3ab44ac327cc1.js +0 -1
  724. package/apps/pwa/out/_next/static/chunks/app/control/page-6309b11c4264d24d.js +0 -1
  725. package/apps/pwa/out/_next/static/chunks/app/decisions/page-8800472079612e87.js +0 -1
  726. package/apps/pwa/out/_next/static/chunks/app/design-check/page-d387bf3f2301882a.js +0 -1
  727. package/apps/pwa/out/_next/static/chunks/app/editor/page-048f88d8c8658da6.js +0 -1
  728. package/apps/pwa/out/_next/static/chunks/app/exec/page-6c14f9739b7f6880.js +0 -1
  729. package/apps/pwa/out/_next/static/chunks/app/field/page-2834f44f64e98d74.js +0 -1
  730. package/apps/pwa/out/_next/static/chunks/app/healthz/route-83372d8b5863ebf7.js +0 -1
  731. package/apps/pwa/out/_next/static/chunks/app/inside/page-a13df6f88e824887.js +0 -1
  732. package/apps/pwa/out/_next/static/chunks/app/intake/page-8a4397248754cf2b.js +0 -1
  733. package/apps/pwa/out/_next/static/chunks/app/layout-daf0bd329360a336.js +0 -1
  734. package/apps/pwa/out/_next/static/chunks/app/live/page-f7ef1c28764cb476.js +0 -1
  735. package/apps/pwa/out/_next/static/chunks/app/live-run/page-61e74f28b9353dac.js +0 -1
  736. package/apps/pwa/out/_next/static/chunks/app/loops/page-8aaa6dedc4c10dfb.js +0 -1
  737. package/apps/pwa/out/_next/static/chunks/app/market/page-294602ba649be829.js +0 -1
  738. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-5fa5f41ed3fce323.js +0 -1
  739. package/apps/pwa/out/_next/static/chunks/app/morning/page-33bf667a5fb297bf.js +0 -1
  740. package/apps/pwa/out/_next/static/chunks/app/not-found-5ae3cbd6e5dba515.js +0 -1
  741. package/apps/pwa/out/_next/static/chunks/app/observatory/page-eb867d16ad6fdede.js +0 -1
  742. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-1ab789fa68682f7e.js +0 -1
  743. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-6fd41b5b6ff13a71.js +0 -1
  744. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-fb3d5f7642c99fba.js +0 -1
  745. package/apps/pwa/out/_next/static/chunks/app/outputs/page-70f705b2b5ed42ca.js +0 -1
  746. package/apps/pwa/out/_next/static/chunks/app/page-c9c93b358a7667b5.js +0 -1
  747. package/apps/pwa/out/_next/static/chunks/app/reflection/page-1563c556b81c96ed.js +0 -1
  748. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ce89c20c45b3a673.js +0 -1
  749. package/apps/pwa/out/_next/static/chunks/app/sessions/page-423ae63d786f4ee9.js +0 -1
  750. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-591a5378a4c4447c.js +0 -1
  751. package/apps/pwa/out/_next/static/chunks/app/settings/page-a250496b19a5824b.js +0 -1
  752. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-c36a9277febc5911.js +0 -1
  753. package/apps/pwa/out/_next/static/chunks/app/setup/layout-83372d8b5863ebf7.js +0 -1
  754. package/apps/pwa/out/_next/static/chunks/app/share/page-a5de57edc6d7f942.js +0 -1
  755. package/apps/pwa/out/_next/static/chunks/app/showroom/page-16bdd4c9f40498df.js +0 -1
  756. package/apps/pwa/out/_next/static/chunks/app/tasks/page-75e946e6e71cc6d8.js +0 -1
  757. package/apps/pwa/out/_next/static/chunks/app/term/page-9eb56166774eb256.js +0 -1
  758. package/apps/pwa/out/_next/static/chunks/app/today/page-1c5f9ef35dbb22c5.js +0 -1
  759. package/apps/pwa/out/_next/static/chunks/app/trace/page-657ff9985e508498.js +0 -1
  760. package/apps/pwa/out/_next/static/chunks/app/vault/page-22dc72499da68fb2.js +0 -1
  761. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-9f92737b8766009a.js +0 -1
  762. package/apps/pwa/out/_next/static/chunks/app/workflows/page-094ad334e40f8169.js +0 -1
  763. package/apps/pwa/out/_next/static/chunks/app/workspace/page-8bcd379852ff6287.js +0 -1
  764. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-6b04413f280cd344.js +0 -1
  765. package/apps/pwa/out/_next/static/chunks/de70ab42-d28d47437208d458.js +0 -1
  766. package/apps/pwa/out/_next/static/chunks/f800c5e3.46dbd7f2af8c3fce.js +0 -1
  767. package/apps/pwa/out/_next/static/chunks/f8bc19ad.47579f6d684b0760.js +0 -122
  768. package/apps/pwa/out/_next/static/chunks/framework-ca9ac4609fb9fed8.js +0 -1
  769. package/apps/pwa/out/_next/static/chunks/main-app-0dd08d32d15a030f.js +0 -1
  770. package/apps/pwa/out/_next/static/chunks/main-f0399d33955c4e01.js +0 -1
  771. package/apps/pwa/out/_next/static/chunks/pages/_app-d42caca6f8ac2211.js +0 -1
  772. package/apps/pwa/out/_next/static/chunks/pages/_error-42e713c13aa41ca8.js +0 -1
  773. package/apps/pwa/out/_next/static/chunks/webpack-8fbf8f61a377aa16.js +0 -1
  774. package/apps/pwa/out/_next/static/css/72becfd42807b50d.css +0 -1
  775. /package/apps/pwa/out/_next/static/{cIpv5nU9AycwYWZI9H589 → IVKr3AlRUVLKsw2fh7eXF}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7356],{887:(e,t,n)=>{n.d(t,{E:()=>l});var r=n(12981);let o="base-ui-disable-scrollbar",l={className:o,getElement:e=>(0,r.jsx)("style",{nonce:e,href:o,precedence:"base-ui:low",children:`.${o}{scrollbar-width:none}.${o}::-webkit-scrollbar{display:none}`})}},1323:(e,t,n)=>{n.d(t,{K:()=>a,N:()=>u});var r=n(60499),o=n(82822);globalThis.requestAnimationFrame;class l{request(e){let t=this.nextId;return this.nextId+=1,this.callbacks.push(e),this.callbacksCount+=1,this.isScheduled||(requestAnimationFrame(this.tick),this.isScheduled=!0),t}cancel(e){let t=e-this.startId;t<0||t>=this.callbacks.length||(this.callbacks[t]=null,this.callbacksCount-=1)}constructor(){this.callbacks=[],this.callbacksCount=0,this.nextId=1,this.startId=1,this.isScheduled=!1,this.tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n<t.length;n+=1){var r;null==(r=t[n])||r.call(t,e)}}}}let i=new l;class a{static create(){return new a}static request(e){return i.request(e)}static cancel(e){return i.cancel(e)}request(e){this.cancel(),this.currentId=i.request(()=>{this.currentId=null,e()})}constructor(){this.currentId=null,this.cancel=()=>{null!==this.currentId&&(i.cancel(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.cancel}}function u(){let e=(0,r.j)(a.create).current;return(0,o.y)(e.disposeEffect),e}},1403:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]])},3484:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(69009),o=n(33364),l=n(80788),i=n(1323),a=n(86252),u=n(84018);function s(e){let{enabled:t=!0,open:n,ref:s,onComplete:c}=e,d=(0,o.K)(c),f=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=(0,i.N)();return(0,o.K)(function(o){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;r.cancel();let s=(0,a.q)(e);if(null==s)return;let c=()=>{l.flushSync(o)};if("function"!=typeof s.getAnimations||globalThis.BASE_UI_ANIMATIONS_DISABLED)return void o();function d(){Promise.all(s.getAnimations().map(e=>e.finished)).then(()=>{(null==i?void 0:i.aborted)||c()}).catch(()=>{if(n){(null==i?void 0:i.aborted)||c();return}let e=s.getAnimations();!(null==i?void 0:i.aborted)&&e.length>0&&e.some(e=>e.pending||"finished"!==e.playState)&&d()})}if(t){let e=u.T.startingStyle;if(!s.hasAttribute(e))return void r.request(d);let t=new MutationObserver(()=>{s.hasAttribute(e)||(t.disconnect(),d())});return t.observe(s,{attributes:!0,attributeFilter:[e]}),void(null==i||i.addEventListener("abort",()=>t.disconnect(),{once:!0}))}r.request(d)})}(s,n,!1);r.useEffect(()=>{if(!t)return;let e=new AbortController;return f(d,e.signal),()=>{e.abort()}},[t,n,d,f])}},4588:(e,t,n)=>{n.d(t,{GW:()=>s,lP:()=>o});var r=n(84018);let o=function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=r.T.startingStyle]="startingStyle",e[e.endingStyle=r.T.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e}({}),l=function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e}({});l.popupOpen,l.popupOpen,l.pressed;let i={[o.open]:""},a={[o.closed]:""},u={[o.anchorHidden]:""},s={open:e=>e?i:a,anchorHidden:e=>e?u:null}},7232:(e,t,n)=>{n.d(t,{l:()=>u});var r=n(69009),o=n(13625),l=n(95759),i=n(47513),a=n(28033);let u=r.forwardRef(function(e,t){let{render:n,className:r,style:u,...s}=e,{thumbYRef:c,thumbXRef:d,handlePointerDown:f,handlePointerMove:p,handlePointerUp:h,setScrollingX:v,setScrollingY:g,hasMeasuredScrollbar:m}=(0,o.p)(),{orientation:y}=(0,l.r)();return(0,a.o)("div",e,{ref:[t,"vertical"===y?c:d],state:{orientation:y},props:[{onPointerDown:f,onPointerMove:p,onPointerUp(e){"vertical"===y&&g(!1),"horizontal"===y&&v(!1),h(e)},style:{visibility:m?void 0:"hidden",..."vertical"===y&&{height:"var(".concat(i.q.scrollAreaThumbHeight,")")},..."horizontal"===y&&{width:"var(".concat(i.q.scrollAreaThumbWidth,")")}}},s]})})},7854:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},9028:(e,t,n)=>{n.d(t,{I:()=>i});var r=n(69009),o=n(13625),l=n(28033);let i=r.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{cornerRef:u,cornerSize:s,hiddenState:c}=(0,o.p)(),d=(0,l.o)("div",e,{ref:[t,u],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:s.width,height:s.height}},a]});return c.corner?null:d})},9156:(e,t,n)=>{n.d(t,{P:()=>i,a:()=>l});var r=n(30063),o=n(69009);let l=o.createContext(void 0);function i(e){let t=o.useContext(l);if(!1===e&&void 0===t)throw Error((0,r.A)(27));return t}},10188:(e,t,n)=>{n.d(t,{q:()=>r});function r(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}},10385:(e,t,n)=>{n.d(t,{Ev:()=>u,O_:()=>l,Pg:()=>a,YF:()=>i,jo:()=>o});var r=n(79054);function o(e){e.preventDefault(),e.stopPropagation()}function l(e){return"nativeEvent"in e}function i(e){return""===e.pointerType&&!!e.isTrusted||(r.m0&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function a(e){return!r.KT&&(!r.m0&&0===e.width&&0===e.height||r.m0&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&"mouse"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&"touch"===e.pointerType)}function u(e){let t=e.type;return"click"===t||"mousedown"===t||"keydown"===t||"keyup"===t}},11688:(e,t,n)=>{n.d(t,{m:()=>l,p:()=>i});var r=n(30063),o=n(69009);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(26));return e}},13461:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]])},13625:(e,t,n)=>{n.d(t,{a:()=>l,p:()=>i});var r=n(30063),o=n(69009);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(53));return e}},17336:(e,t,n)=>{n.d(t,{j:()=>l});var r=n(69009);let o=r.createContext(void 0);function l(){var e;let t=r.useContext(o);return null!=(e=null==t?void 0:t.direction)?e:"ltr"}},17663:(e,t,n)=>{n.d(t,{I:()=>r});let r=function(e){return e.scrollAreaCornerHeight="--scroll-area-corner-height",e.scrollAreaCornerWidth="--scroll-area-corner-width",e}({})},19003:(e,t,n)=>{n.d(t,{E:()=>l,Z:()=>i});var r=n(60499),o=n(82822);class l{static create(){return new l}start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,t()},e)}isStarted(){return 0!==this.currentId}constructor(){this.currentId=0,this.clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}}function i(){let e=(0,r.j)(l.create).current;return(0,o.y)(e.disposeEffect),e}},19426:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]])},20659:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]])},21667:(e,t,n)=>{n.d(t,{r:()=>a});var r=n(69009),o=n(9156),l=n(28033),i=n(13045);let a=r.forwardRef(function(e,t){let{render:n,className:r,style:a,id:u,...s}=e,{store:c}=(0,o.P)(),d=(0,i.e)(u);return c.useSyncedValueWithCleanup("descriptionElementId",d),(0,l.o)("p",e,{ref:t,props:[{id:d},s]})})},24452:(e,t,n)=>{n.d(t,{AO:()=>p,Kr:()=>v,N:()=>x,Qp:()=>b,XJ:()=>y,nq:()=>h,vF:()=>m,yV:()=>S});var r=n(94400),o=n(92268),l=n(2464),i=n(55022);function a(e){for(let t of Array.from(e.children))if("summary"===(0,r.mq)(t))return t;return null}function u(e){let t=e?(0,r.mq)(e):"";return null!=e&&e.matches('a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]')&&("summary"!==t||null!=e.parentElement&&"details"===(0,r.mq)(e.parentElement)&&a(e.parentElement)===e)&&("details"!==t||null==a(e))&&("input"!==t||"hidden"!==e.type)}function s(e){if(!u(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=function(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return(0,r.Ng)(n)?n.host:null}(t)){let n=t!==e,o="slot"===(0,r.mq)(t);if(t.hasAttribute("inert")||n&&"details"===(0,r.mq)(t)&&!t.open&&!function(e,t){let n=a(t);return!!n&&(e===n||(0,l.gR)(n,e))}(e,t)||t.hasAttribute("hidden")||!o&&!function(e,t){let n=(0,r.L9)(e);return t?"none"!==n.display:(0,i.J9)(e,n)}(t,n))return!1}return!0}function c(e){let t=e.tabIndex;if(t<0){let t=(0,r.mq)(e);if("details"===t||"audio"===t||"video"===t||(0,r.sb)(e)&&e.isContentEditable)return 0}return t}function d(e){return"input"!==(0,r.mq)(e)?null:"radio"===e.type&&""!==e.name?e:null}function f(e){if((0,r.sb)(e)&&"slot"===(0,r.mq)(e)){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return(0,r.sb)(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function p(e){return s(e)&&c(e)>=0}function h(e){let t=[];return!function e(t,n){f(t).forEach(t=>{u(t)&&n.push(t),e(t,n)})}(e,t),t.filter(s)}function v(e){let t=h(e);return t.filter(e=>c(e)>=0&&function(e,t){let n=d(e);if(!n)return!0;let r=t.find(e=>{let t=d(e);return t?.name===n.name&&t.form===n.form&&t.checked});return r?r===n:t.find(e=>{let t=d(e);return t?.name===n.name&&t.form===n.form})===n}(e,t))}function g(e,t){let n=v(e),r=n.length;if(0===r)return;let i=(0,l.RS)((0,o.R)(e)),a=n.indexOf(i);return n[-1===a?1===t?0:r-1:a+t]}function m(e){return g((0,o.R)(e).body,1)||e}function y(e){return g((0,o.R)(e).body,-1)||e}function b(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!(0,l.gR)(n,r)}function x(e){v(e).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})}function S(e){let t=[];!function e(t,n,o){f(t).forEach(t=>{(0,r.sb)(t)&&t.matches(n)&&o.push(t),e(t,n,o)})}(e,"[data-tabindex]",t),t.forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}},29247:(e,t,n)=>{n.d(t,{U:()=>s});var r=n(69009),o=n(26458),l=n(79054);let i={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},a={...i,position:"fixed",top:0,left:0};({...i,position:"absolute"});var u=n(12981);let s=r.forwardRef(function(e,t){let[n,i]=r.useState();return(0,o.g)(()=>{l.nr&&i("button")},[]),(0,u.jsx)("span",{...e,ref:t,style:a,"aria-hidden":!n||void 0,tabIndex:0,role:n,"data-base-ui-focus-guard":""})})},29666:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},29726:(e,t,n)=>{n.d(t,{g:()=>r});function r(...e){return()=>{for(let t=0;t<e.length;t+=1){let n=e[t];n&&n()}}}},32735:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]])},33107:(e,t,n)=>{n.d(t,{L:()=>a});var r=n(69009),o=n(9156),l=n(28033),i=n(13045);let a=r.forwardRef(function(e,t){let{render:n,className:r,style:a,id:u,...s}=e,{store:c}=(0,o.P)(),d=(0,i.e)(u);return c.useSyncedValueWithCleanup("titleElementId",d),(0,l.o)("h2",e,{ref:t,props:[{id:d},s]})})},34115:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},34666:(e,t,n)=>{n.d(t,{XF:()=>E,vB:()=>S});var r=n(69009),o=n(80788),l=n(94400),i=n(10188),a=n(29726),u=n(9933),s=n(26458),c=n(33364),d=n(62514),f=n(29247),p=n(24452),h=n(17929),v=n(22843),g=n(40513),m=n(28033),y=n(57897),b=n(12981);let x=r.createContext(null),S=()=>r.useContext(x),w=(0,g.F)("portal"),E=r.forwardRef(function(e,t){let{children:n,container:g,className:E,render:k,renderGuards:R,style:A,...C}=e,{portalNode:M,portalSubtree:O}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{ref:t,container:n,componentProps:i=d.t0,elementProps:a}=e,f=(0,u.B)(),p=S(),h=null==p?void 0:p.portalNode,[v,g]=r.useState(null),[y,b]=r.useState(null),x=(0,c.K)(e=>{null!==e&&b(e)}),E=r.useRef(null);(0,s.g)(()=>{var e,t;if(null===n){E.current&&(E.current=null,b(null),g(null));return}if(null==f)return;let r=null!=(t=null!=(e=n&&((0,l.Ll)(n)?n:n.current))?e:h)?t:document.body;if(null==r){E.current&&(E.current=null,b(null),g(null));return}E.current!==r&&(E.current=r,b(null),g(r))},[n,h,f]);let k=(0,m.o)("div",i,{ref:[t,x],props:[{id:f,[w]:""},a]});return{portalNode:y,portalSubtree:v&&k?o.createPortal(k,v):null}}({container:g,ref:t,componentProps:e,elementProps:C}),T=r.useRef(null),P=r.useRef(null),q=r.useRef(null),I=r.useRef(null),[W,j]=r.useState(null),H=r.useRef(!1),X=null==W?void 0:W.modal,D=null==W?void 0:W.open,Y="boolean"==typeof R?R:!!W&&!W.modal&&W.open&&!!M;r.useEffect(()=>{if(M&&!X)return(0,a.g)((0,i.q)(M,"focusin",e,!0),(0,i.q)(M,"focusout",e,!0));function e(e){M&&e.relatedTarget&&(0,p.Qp)(e)&&("focusin"===e.type?H.current&&((0,p.yV)(M),H.current=!1):((0,p.N)(M),H.current=!0))}},[M,X]),r.useEffect(()=>{M&&!1===D&&((0,p.yV)(M),H.current=!1)},[D,M]);let F=r.useMemo(()=>({beforeOutsideRef:T,afterOutsideRef:P,beforeInsideRef:q,afterInsideRef:I,portalNode:M,setFocusManagerState:j}),[M]);return(0,b.jsxs)(r.Fragment,{children:[O,(0,b.jsxs)(x.Provider,{value:F,children:[Y&&M&&(0,b.jsx)(f.U,{"data-type":"outside",ref:T,onFocus:e=>{if((0,p.Qp)(e,M)){var t;null==(t=q.current)||t.focus()}else{let e=W?W.domReference:null,t=(0,p.XJ)(e);null==t||t.focus()}}}),Y&&M&&(0,b.jsx)("span",{"aria-owns":M.id,style:y.z_}),M&&o.createPortal(n,M),Y&&M&&(0,b.jsx)(f.U,{"data-type":"outside",ref:P,onFocus:e=>{if((0,p.Qp)(e,M)){var t;null==(t=I.current)||t.focus()}else{let t=W?W.domReference:null,n=(0,p.vF)(t);null==n||n.focus(),(null==W?void 0:W.closeOnFocusOut)&&(null==W||W.onOpenChange(!1,(0,h.d)(v.Xn,e.nativeEvent)))}}})]})]})})},36310:(e,t,n)=>{n.d(t,{A:()=>r});function r(e,t,n){if(!e)return 0;let r=getComputedStyle(e),o="x"===n?"Inline":"Block";return"x"===n&&"margin"===t?2*parseFloat(r[`${t}InlineStart`]):parseFloat(r[`${t}${o}Start`])+parseFloat(r[`${t}${o}End`])}},36690:(e,t,n)=>{n.d(t,{i:()=>o,u:()=>r});let r=500,o=16},39122:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},39226:(e,t,n)=>{n.d(t,{B:()=>S});var r=n(69009),o=n(33364),l=n(26458),i=n(79054),a=n(19003),u=n(13625);let s=r.createContext(void 0);var c=n(28033),d=n(17336),f=n(36310),p=n(36690);function h(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}var v=n(887),g=n(51510);let m=function(e){return e.scrollAreaOverflowXStart="--scroll-area-overflow-x-start",e.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",e.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",e.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",e}({});function y(e,t){if(t<=0)return 0;let n=h(e,0,t),r=t-n,o=n<=1,l=r<=1;return o&&l?n<=r?0:t:o?0:l?t:n}var b=n(12981);let x=!1,S=r.forwardRef(function(e,t){let{render:n,className:S,style:w,...E}=e,{viewportRef:k,scrollbarYRef:R,scrollbarXRef:A,thumbYRef:C,thumbXRef:M,cornerRef:O,cornerSize:T,setCornerSize:P,setThumbSize:q,rootId:I,setHiddenState:W,hiddenState:j,setHasMeasuredScrollbar:H,handleScroll:X,setHovering:D,setOverflowEdges:Y,overflowEdges:F,overflowEdgeThreshold:N,scrollingX:K,scrollingY:z}=(0,u.p)(),V=(0,d.j)(),B=r.useRef(!0),L=r.useRef([NaN,NaN,NaN,NaN]),$=(0,a.Z)(),U=(0,a.Z)(),_=(0,o.K)(()=>{let e=k.current,t=R.current,n=A.current,r=C.current,o=M.current,l=O.current;if(!e)return;let i=e.scrollHeight,a=e.scrollWidth,u=e.clientHeight,s=e.clientWidth,c=e.scrollTop,d=e.scrollLeft,v=L.current,g=Number.isNaN(v[0]);if(v[0]=u,v[1]=i,v[2]=s,v[3]=a,g&&H(!0),0===i||0===a)return;let b=function(e){let t=e.clientHeight>=e.scrollHeight,n=e.clientWidth>=e.scrollWidth;return{y:t,x:n,corner:t||n}}(e),x=b.y,S=b.x,w=s/a,E=u/i,I=Math.max(0,a-s),j=Math.max(0,i-u),X=0,D=0;!S&&(X=y("rtl"===V?h(-d,0,I):h(d,0,I),I),D=I-X);let F=x?0:h(c,0,j),K=x?0:y(F,j),z=x?0:j-K,B=S?0:s,$=x?0:u,U=0,_=0;S||x||(U=(null==t?void 0:t.offsetWidth)||0,_=(null==n?void 0:n.offsetHeight)||0);let G=0===T.width&&0===T.height,Z=G?U:0,J=G?_:0,Q=(0,f.A)(n,"padding","x"),ee=(0,f.A)(t,"padding","y"),et=(0,f.A)(o,"margin","x"),en=(0,f.A)(r,"margin","y"),er=B-Q-et,eo=$-ee-en,el=n?Math.min(n.offsetWidth-Z,er):er,ei=t?Math.min(t.offsetHeight-J,eo):eo,ea=Math.max(p.i,el*w),eu=Math.max(p.i,ei*E);if(q(e=>e.height===eu&&e.width===ea?e:{width:ea,height:eu}),t&&r){let e=t.offsetHeight-eu-ee-en,n=i-u,o=Math.min(e,Math.max(0,(0===n?0:c/n)*e));r.style.transform="translate3d(0,".concat(o,"px,0)")}if(n&&o){let e=n.offsetWidth-ea-Q-et,t=a-s,r=0===t?0:d/t,l="rtl"===V?h(r*e,-e,0):h(r*e,0,e);o.style.transform="translate3d(".concat(l,"px,0,0)")}for(let[t,n]of[[m.scrollAreaOverflowXStart,X],[m.scrollAreaOverflowXEnd,D],[m.scrollAreaOverflowYStart,K],[m.scrollAreaOverflowYEnd,z]])e.style.setProperty(t,"".concat(n,"px"));l&&(S||x?P({width:0,height:0}):S||x||P({width:U,height:_})),W(e=>{var t,n;return t=e,n=b,t.y===n.y&&t.x===n.x&&t.corner===n.corner?t:n});let es={xStart:!S&&X>N.xStart,xEnd:!S&&D>N.xEnd,yStart:!x&&K>N.yStart,yEnd:!x&&z>N.yEnd};Y(e=>e.xStart===es.xStart&&e.xEnd===es.xEnd&&e.yStart===es.yStart&&e.yEnd===es.yEnd?e:es)});function G(){B.current=!1}(0,l.g)(()=>{k.current&&(x||i.Tc||("undefined"!=typeof CSS&&"registerProperty"in CSS&&[m.scrollAreaOverflowXStart,m.scrollAreaOverflowXEnd,m.scrollAreaOverflowYStart,m.scrollAreaOverflowYEnd].forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch(e){}}),x=!0))},[k]),(0,l.g)(()=>{queueMicrotask(_)},[_,j,V]),(0,l.g)(()=>{var e;(null==(e=k.current)?void 0:e.matches(":hover"))&&D(!0)},[k,D]),r.useEffect(()=>{let e=k.current;if("undefined"==typeof ResizeObserver||!e)return;let t=!1,n=new ResizeObserver(()=>{if(!t){t=!0;let n=L.current;if(n[0]===e.clientHeight&&n[1]===e.scrollHeight&&n[2]===e.clientWidth&&n[3]===e.scrollWidth)return}_()});return n.observe(e),U.start(0,()=>{let t=e.getAnimations({subtree:!0});0!==t.length&&Promise.allSettled(t.map(e=>e.finished)).then(_).catch(()=>{})}),()=>{n.disconnect(),U.clear()}},[_,k,U]);let Z={role:"presentation",...I&&{"data-id":"".concat(I,"-viewport")},tabIndex:j.x&&j.y?-1:0,className:v.E.className,style:{overflow:"scroll"},onScroll(){k.current&&(_(),B.current||X({x:k.current.scrollLeft,y:k.current.scrollTop}),$.start(100,()=>{B.current=!0}))},onWheel:G,onTouchMove:G,onPointerMove:G,onPointerEnter:G,onKeyDown:G},J=r.useMemo(()=>({scrolling:K||z,hasOverflowX:!j.x,hasOverflowY:!j.y,overflowXStart:F.xStart,overflowXEnd:F.xEnd,overflowYStart:F.yStart,overflowYEnd:F.yEnd,cornerHidden:j.corner}),[K,z,j.x,j.y,j.corner,F]),Q=(0,c.o)("div",e,{ref:[t,k],state:J,props:[Z,E],stateAttributesMapping:g.r}),ee=r.useMemo(()=>({computeThumbPosition:_}),[_]);return(0,b.jsx)(s.Provider,{value:ee,children:Q})})},40513:(e,t,n)=>{n.d(t,{F:()=>r});function r(e){return`data-base-ui-${e}`}},43805:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("git-fork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]])},44887:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(69009),o=n(9156),l=n(28033),i=n(43061),a=n(17929),u=n(22843);let s=r.forwardRef(function(e,t){let{render:n,className:r,disabled:s=!1,nativeButton:c=!0,style:d,...f}=e,{store:p}=(0,o.P)(),h=p.useState("open"),{getButtonProps:v,buttonRef:g}=(0,i.s)({disabled:s,native:c});return(0,l.o)("button",e,{state:{disabled:s},ref:[t,g],props:[{onClick:function(e){h&&p.setOpen(!1,(0,a.d)(u.SR,e.nativeEvent))}},f,v]})})},46131:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]])},47513:(e,t,n)=>{n.d(t,{q:()=>r});let r=function(e){return e.scrollAreaThumbHeight="--scroll-area-thumb-height",e.scrollAreaThumbWidth="--scroll-area-thumb-width",e}({})},51510:(e,t,n)=>{n.d(t,{r:()=>o});let r=function(e){return e.scrolling="data-scrolling",e.hasOverflowX="data-has-overflow-x",e.hasOverflowY="data-has-overflow-y",e.overflowXStart="data-overflow-x-start",e.overflowXEnd="data-overflow-x-end",e.overflowYStart="data-overflow-y-start",e.overflowYEnd="data-overflow-y-end",e}({}),o={hasOverflowX:e=>e?{[r.hasOverflowX]:""}:null,hasOverflowY:e=>e?{[r.hasOverflowY]:""}:null,overflowXStart:e=>e?{[r.overflowXStart]:""}:null,overflowXEnd:e=>e?{[r.overflowXEnd]:""}:null,overflowYStart:e=>e?{[r.overflowYStart]:""}:null,overflowYEnd:e=>e?{[r.overflowYEnd]:""}:null,cornerHidden:()=>null}},52036:(e,t,n)=>{n.d(t,{V:()=>v});var r=n(69009),o=n(10188),l=n(2464),i=n(13625),a=n(95759),u=n(28033),s=n(36310),c=n(17663),d=n(47513),f=n(17336),p=n(51510),h=n(12981);let v=r.forwardRef(function(e,t){let{render:n,className:v,orientation:g="vertical",keepMounted:m=!1,style:y,...b}=e,{hovering:x,scrollingX:S,scrollingY:w,hiddenState:E,overflowEdges:k,scrollbarYRef:R,scrollbarXRef:A,viewportRef:C,thumbYRef:M,thumbXRef:O,handlePointerDown:T,handlePointerUp:P,rootId:q,thumbSize:I,hasMeasuredScrollbar:W}=(0,i.p)(),j={hovering:x,scrolling:{horizontal:S,vertical:w}[g],orientation:g,hasOverflowX:!E.x,hasOverflowY:!E.y,overflowXStart:k.xStart,overflowXEnd:k.xEnd,overflowYStart:k.yStart,overflowYEnd:k.yEnd,cornerHidden:E.corner},H=(0,f.j)();r.useEffect(()=>{let e=C.current,t="vertical"===g?R.current:A.current;if(t)return(0,o.q)(t,"wheel",function(n){if(e&&t&&!n.ctrlKey){if(n.preventDefault(),"vertical"===g){if(0===e.scrollTop&&n.deltaY<0)return}else if(0===e.scrollLeft&&n.deltaX<0)return;if("vertical"===g){if(e.scrollTop===e.scrollHeight-e.clientHeight&&n.deltaY>0)return}else if(e.scrollLeft===e.scrollWidth-e.clientWidth&&n.deltaX>0)return;"vertical"===g?e.scrollTop+=n.deltaY:e.scrollLeft+=n.deltaX}},{passive:!1})},[g,A,R,C]);let X={...q&&{"data-id":"".concat(q,"-scrollbar")},onPointerDown(e){if(0!==e.button)return;let t=(0,l.EW)(e.nativeEvent),n="vertical"===g?M.current:O.current;if(!(n&&(0,l.gR)(n,t))&&C.current){if(M.current&&R.current&&"vertical"===g){let t=(0,s.A)(M.current,"margin","y"),n=(0,s.A)(R.current,"padding","y"),r=M.current.offsetHeight,o=R.current.getBoundingClientRect(),l=e.clientY-o.top-r/2-n+t/2,i=C.current.scrollHeight,a=C.current.clientHeight,u=R.current.offsetHeight-r-n-t;C.current.scrollTop=l/u*(i-a)}if(O.current&&A.current&&"horizontal"===g){let t,n=(0,s.A)(O.current,"margin","x"),r=(0,s.A)(A.current,"padding","x"),o=O.current.offsetWidth,l=A.current.getBoundingClientRect(),i=e.clientX-l.left-o/2-r+n/2,a=C.current.scrollWidth,u=C.current.clientWidth,c=i/(A.current.offsetWidth-o-r-n);"rtl"===H?(t=(1-c)*(a-u),C.current.scrollLeft<=0&&(t=-t)):t=c*(a-u),C.current.scrollLeft=t}T(e)}},onPointerUp:P,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:W||m?void 0:"hidden",..."vertical"===g&&{top:0,bottom:"var(".concat(c.I.scrollAreaCornerHeight,")"),insetInlineEnd:0,[d.q.scrollAreaThumbHeight]:"".concat(I.height,"px")},..."horizontal"===g&&{insetInlineStart:0,insetInlineEnd:"var(".concat(c.I.scrollAreaCornerWidth,")"),bottom:0,[d.q.scrollAreaThumbWidth]:"".concat(I.width,"px")}}},D=(0,u.o)("div",e,{ref:[t,"vertical"===g?R:A],state:j,props:[X,b],stateAttributesMapping:p.r}),Y=r.useMemo(()=>({orientation:g}),[g]),F="vertical"===g?E.y:E.x;return m||!F?(0,h.jsx)(a.G.Provider,{value:Y,children:D}):null})},54228:(e,t,n)=>{e.exports=n(90555)},54684:(e,t,n)=>{let r;n.d(t,{D:()=>Q});var o=n(69009),l=n(94400),i=n(10188),a=n(79054),u=n(92268),s=n(26458),c=n(19003),d=n(1323),f=n(62514);let p={},h={},v="";class g{acquire(e){return this.lockCount+=1,1===this.lockCount&&null===this.restore&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}lock(e){if(0===this.lockCount||null!==this.restore)return;let t=(0,u.R)(e).documentElement,n=(0,l.zk)(t).getComputedStyle(t).overflowY;if("hidden"===n||"clip"===n){this.restore=f.tE;return}let r=a.un||!function(e){if("undefined"==typeof document)return!1;let t=(0,u.R)(e);return(0,l.zk)(t).innerWidth-t.documentElement.clientWidth>0}(e);this.restore=r?function(e){let t=(0,u.R)(e),n=t.documentElement,r=t.body,o=(0,l.ZU)(n)?n:r,i={overflowY:o.style.overflowY,overflowX:o.style.overflowX};return Object.assign(o.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(o.style,i)}}(e):function(e){var t,n;let r=(0,u.R)(e),o=r.documentElement,s=r.body,c=(0,l.zk)(o),f=0,g=0,m=!1,y=d.K.create();if(a.Tc&&(null!=(n=null==(t=c.visualViewport)?void 0:t.scale)?n:1)!==1)return()=>{};function b(){let t=c.getComputedStyle(o),n=c.getComputedStyle(s),r=(t.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";f=o.scrollTop,g=o.scrollLeft,p={scrollbarGutter:o.style.scrollbarGutter,overflowY:o.style.overflowY,overflowX:o.style.overflowX},v=o.style.scrollBehavior,h={position:s.style.position,height:s.style.height,width:s.style.width,boxSizing:s.style.boxSizing,overflowY:s.style.overflowY,overflowX:s.style.overflowX,scrollBehavior:s.style.scrollBehavior};let i=o.scrollHeight>o.clientHeight,a=o.scrollWidth>o.clientWidth,d="scroll"===t.overflowY||"scroll"===n.overflowY,y="scroll"===t.overflowX||"scroll"===n.overflowX,b=Math.max(0,c.innerWidth-s.clientWidth),x=Math.max(0,c.innerHeight-s.clientHeight),S=parseFloat(n.marginTop)+parseFloat(n.marginBottom),w=parseFloat(n.marginLeft)+parseFloat(n.marginRight),E=(0,l.ZU)(o)?o:s;if(m=function(e){if(!("undefined"!=typeof CSS&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||"undefined"==typeof document)return!1;let t=(0,u.R)(e),n=t.documentElement,r=t.body,o=(0,l.ZU)(n)?n:r,i=o.style.overflowY,a=n.style.scrollbarGutter;n.style.scrollbarGutter="stable",o.style.overflowY="scroll";let s=o.offsetWidth;o.style.overflowY="hidden";let c=o.offsetWidth;return o.style.overflowY=i,n.style.scrollbarGutter=a,s===c}(e)){o.style.scrollbarGutter=r,E.style.overflowY="hidden",E.style.overflowX="hidden";return}Object.assign(o.style,{scrollbarGutter:r,overflowY:"hidden",overflowX:"hidden"}),(i||d)&&(o.style.overflowY="scroll"),(a||y)&&(o.style.overflowX="scroll"),Object.assign(s.style,{position:"relative",height:S||x?"calc(100dvh - ".concat(S+x,"px)"):"100dvh",width:w||b?"calc(100vw - ".concat(w+b,"px)"):"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),s.scrollTop=f,s.scrollLeft=g,o.setAttribute("data-base-ui-scroll-locked",""),o.style.scrollBehavior="unset"}function x(){Object.assign(o.style,p),Object.assign(s.style,h),m||(o.scrollTop=f,o.scrollLeft=g,o.removeAttribute("data-base-ui-scroll-locked"),o.style.scrollBehavior=v)}b();let S=(0,i.q)(c,"resize",function(){x(),y.request(b)});return()=>{y.cancel(),x(),"function"==typeof c.removeEventListener&&S()}}(e)}constructor(){this.lockCount=0,this.restore=null,this.timeoutLock=c.E.create(),this.timeoutUnlock=c.E.create(),this.release=()=>{this.lockCount-=1,0===this.lockCount&&this.restore&&this.timeoutUnlock.start(0,this.unlock)},this.unlock=()=>{if(0===this.lockCount&&this.restore){var e;null==(e=this.restore)||e.call(this),this.restore=null}}}}let m=new g;var y=n(9933),b=n(60499),x=n(68300),S=n(30063);let w=(e,t,n,r,o,l,...i)=>{let a;if(i.length>0)throw Error((0,S.A)(1));if(e&&t&&n&&r&&o&&l)a=(i,a,u,s)=>{let c=e(i,a,u,s),d=t(i,a,u,s),f=n(i,a,u,s);return l(c,d,f,r(i,a,u,s),o(i,a,u,s),a,u,s)};else if(e&&t&&n&&r&&o)a=(l,i,a,u)=>{let s=e(l,i,a,u),c=t(l,i,a,u);return o(s,c,n(l,i,a,u),r(l,i,a,u),i,a,u)};else if(e&&t&&n&&r)a=(o,l,i,a)=>{let u=e(o,l,i,a);return r(u,t(o,l,i,a),n(o,l,i,a),l,i,a)};else if(e&&t&&n)a=(r,o,l,i)=>n(e(r,o,l,i),t(r,o,l,i),o,l,i);else if(e&&t)a=(n,r,o,l)=>t(e(n,r,o,l),r,o,l);else if(e)a=e;else throw Error("Missing arguments");return a};var E=n(54228),k=n(61266);let R=(0,n(39736)._)(19)?function(e,t,n,l,i){let a;if(!r){let r=o.useCallback(()=>t(e.getSnapshot(),n,l,i),[e,t,n,l,i]);return(0,E.useSyncExternalStore)(e.subscribe,r,r)}let u=r.syncIndex;return r.syncIndex+=1,r.didInitialize?(a=r.syncHooks[u]).store===e&&a.selector===t&&Object.is(a.a1,n)&&Object.is(a.a2,l)&&Object.is(a.a3,i)||(a.store!==e&&(r.didChangeStore=!0),a.store=e,a.selector=t,a.a1=n,a.a2=l,a.a3=i,a.didChange=!0):(a={store:e,selector:t,a1:n,a2:l,a3:i,value:t(e.getSnapshot(),n,l,i),didChange:!1},r.syncHooks.push(a)),a.value}:function(e,t,n,r,o){return(0,k.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,o))};[].push({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){let r=e.syncHooks[n],o=r.selector(r.store.state,r.a1,r.a2,r.a3);(r.didChange||!Object.is(r.value,o))&&(t=!0,r.value=o,r.didChange=!1)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,E.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});class A{constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t]))return void this.setState({...this.state,...e})}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return R(this,e,t,n,r)}}var C=n(33364);class M extends A{useSyncedValue(e,t){o.useDebugValue(e),(0,s.g)(()=>{this.state[e]!==t&&this.set(e,t)},[e,t])}useSyncedValueWithCleanup(e,t){let n=this;(0,s.g)(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this,n=Object.values(e);(0,s.g)(()=>{t.update(e)},[t,...n])}useControlledProp(e,t){o.useDebugValue(e);let n=void 0!==t;(0,s.g)(()=>{n&&!Object.is(this.state[e],t)&&super.setState({...this.state,[e]:t})},[e,t,n])}select(e,t,n,r){return(0,this.selectors[e])(this.state,t,n,r)}useState(e,t,n,r){return o.useDebugValue(e),R(this,this.selectors[e],t,n,r)}useContextCallback(e,t){o.useDebugValue(e);let n=(0,C.K)(null!=t?t:f.tE);this.context[e]=n}useStateSetter(e){let t=o.useRef(void 0);return void 0===t.current&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n,r=(n="function"==typeof e?e:this.selectors[e])(this.state);return t(r,r,this),this.subscribe(e=>{let o=n(e);if(!Object.is(r,o)){let e=r;r=o,t(o,e,this)}})}constructor(e,t={},n){super(e),this.context=t,this.selectors=n}}var O=n(10385);let T={open:w(e=>e.open),transitionStatus:w(e=>e.transitionStatus),domReferenceElement:w(e=>e.domReferenceElement),referenceElement:w(e=>e.positionReference??e.referenceElement),floatingElement:w(e=>e.floatingElement),floatingId:w(e=>e.floatingId)};class P extends M{constructor(e){let{syncOnly:t,nested:n,onOpenChange:r,triggerElements:o,...l}=e;super({...l,positionReference:l.referenceElement,domReferenceElement:l.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:function(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}(),nested:n,triggerElements:o},T),this.syncOnly=t}syncOpenEvent=(e,t)=>{(!e||!this.state.open||null!=t&&(0,O.Ev)(t))&&(this.context.dataRef.current.openEvent=e?t:void 0)};dispatchOpenChange=(e,t)=>{this.syncOpenEvent(e,t.event);let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit("openchange",n)};setOpen=(e,t)=>{if(this.syncOnly)return void this.context.onOpenChange?.(e,t);this.dispatchOpenChange(e,t),this.context.onOpenChange?.(e,t)}}var q=n(59609);let I=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);var W=n(29726),j=n(2464),H=n(62616),X=n(17929),D=n(22843),Y=n(40513);let F={intentional:"onClick",sloppy:"onPointerDown"};function N(){return!1}var K=n(90024);function z(e,t,n){let r=new Map,o="item"===n,l={};for(let t in"floating"===n&&(l.tabIndex=-1,l[K.Ed]=""),e)o&&e&&(t===K.XA||t===K.WS)||(l[t]=e[t]);for(let i=0;i<t.length;i+=1){let a,u=t[i]?.[n];(a="function"==typeof u?e?u(e):null:u)&&V(l,a,o,r)}return V(l,e,o,r),l}function V(e,t,n,r){for(let o in t){let l=t[o];n&&(o===K.XA||o===K.WS)||(o.startsWith("on")?(r.has(o)||r.set(o,[]),"function"==typeof l&&(r.get(o)?.push(l),e[o]=(...e)=>r.get(o)?.map(t=>t(...e)).find(e=>void 0!==e))):e[o]=l)}}var B=n(3484),L=n(9156);class ${constructor(){this.elementsSet=new Set,this.idMap=new Map}add(e,t){let n=this.idMap.get(e);n!==t&&(void 0!==n&&this.elementsSet.delete(n),this.elementsSet.add(t),this.idMap.set(e,t))}delete(e){let t=this.idMap.get(e);t&&(this.elementsSet.delete(t),this.idMap.delete(e))}hasElement(e){return this.elementsSet.has(e)}hasMatchingElement(e){for(let t of this.elementsSet)if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}}let U=w(e=>e.triggerIdProp??e.activeTriggerId),_={...{open:w(e=>e.openProp??e.open),mounted:w(e=>e.mounted),transitionStatus:w(e=>e.transitionStatus),floatingRootContext:w(e=>e.floatingRootContext),preventUnmountingOnClose:w(e=>e.preventUnmountingOnClose),payload:w(e=>e.payload),activeTriggerId:U,activeTriggerElement:w(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:w((e,t)=>void 0!==t&&U(e)===t),isOpenedByTrigger:w((e,t)=>void 0!==t&&U(e)===t&&e.open),isMountedByTrigger:w((e,t)=>void 0!==t&&U(e)===t&&e.mounted),triggerProps:w((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:w(e=>e.popupProps),popupElement:w(e=>e.popupElement),positionerElement:w(e=>e.positionerElement)},modal:w(e=>e.modal),nested:w(e=>e.nested),nestedOpenDialogCount:w(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:w(e=>e.nestedOpenDrawerCount),disablePointerDismissal:w(e=>e.disablePointerDismissal),openMethod:w(e=>e.openMethod),descriptionElementId:w(e=>e.descriptionElementId),titleElementId:w(e=>e.titleElementId),viewportElement:w(e=>e.viewportElement),role:w(e=>e.role)};class G extends M{constructor(e){super(function(e={}){return{...{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:new P({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new $,floatingId:"",syncOnly:!1,nested:!1,onOpenChange:void 0}),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:f.t0,inactiveTriggerProps:f.t0,popupProps:f.t0},modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}(e),{popupRef:o.createRef(),backdropRef:o.createRef(),internalBackdropRef:o.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new $,onOpenChange:void 0,onOpenChangeComplete:void 0},_)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},e||null!=t.trigger||null==this.state.activeTriggerId||(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let n={open:e},r=t.trigger?.id??null;(r||e)&&(n.activeTriggerId=r,n.activeTriggerElement=t.trigger??null),this.update(n)};static useStore(e,t){let n=(0,b.j)(()=>new G(t)).current;return e??n}}var Z=n(12981);let J=o.createContext(!1);function Q(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:p,onOpenChangeComplete:h,disablePointerDismissal:v=!1,modal:g=!0,actionsRef:S,handle:w,triggerId:E,defaultTriggerId:k=null}=e,R=(0,L.P)(!0),A=o.useContext(J),M=!!R,T=G.useStore(null==w?void 0:w.store,{open:r,openProp:n,activeTriggerId:k,triggerIdProp:E,modal:g,disablePointerDismissal:v,nested:M}),K=o.useRef(!0);K.current&&(K.current=!1,void 0===n&&!1===T.state.open&&!0===r&&T.update({open:!0,activeTriggerId:k})),T.useControlledProp("openProp",n),T.useControlledProp("triggerIdProp",E),T.useSyncedValues({disablePointerDismissal:v,nested:M,modal:g}),T.useContextCallback("onOpenChange",p),T.useContextCallback("onOpenChangeComplete",h);let V=T.useState("payload");!function(e){let{store:t,parentContext:n,actionsRef:r,isDrawer:p}=e,h=t.useState("open"),v=t.useState("disablePointerDismissal"),g=t.useState("modal"),S=t.useState("popupElement"),{openMethod:w,triggerProps:E}=function(e){let[t,n]=o.useState(null),r=(0,C.K)((t,r)=>{e||n(r||(a.un?"touch":""))}),l=o.useRef(e),i=(0,C.K)(t=>{t&&!e&&n(null)});(0,s.g)(()=>{l.current!==e&&i(l.current)},[e,i]),(0,s.g)(()=>{l.current=e},[e]);let{onClick:u,onPointerDown:c}=function(e){let t=o.useRef(""),n=o.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:o.useCallback(n=>{if(0===n.detail)return void e(n,"keyboard");"pointerType"in n?e(n,n.pointerType):e(n,t.current),t.current=""},[e]),onPointerDown:n}}(r);return o.useMemo(()=>({openMethod:t,triggerProps:{onClick:u,onPointerDown:c}}),[t,u,c])}(h),k=t.useState("open");(0,s.g)(()=>{if(k&&!t.select("activeTriggerId")&&1===t.context.triggerElements.size){let e=t.context.triggerElements.entries().next();if(!e.done){let[n,r]=e.value;t.update({activeTriggerId:n,activeTriggerElement:r})}}},[k,t]);let{forceUnmount:R}=function(e,t,n){let{mounted:r,setMounted:l,transitionStatus:i}=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[r,l]=o.useState(e&&t?"idle":void 0),[i,a]=o.useState(e);return e&&!i&&(a(!0),l("starting")),e||!i||"ending"===r||n||l("ending"),e||i||"ending"!==r||l(void 0),(0,s.g)(()=>{if(!e&&i&&"ending"!==r&&n){let e=d.K.request(()=>{l("ending")});return()=>{d.K.cancel(e)}}},[e,i,r,n]),(0,s.g)(()=>{if(!e||t)return;let n=d.K.request(()=>{l(void 0)});return()=>{d.K.cancel(n)}},[t,e]),(0,s.g)(()=>{if(!e||!t)return;e&&i&&"idle"!==r&&l("starting");let n=d.K.request(()=>{l("idle")});return()=>{d.K.cancel(n)}},[t,e,i,r]),{mounted:i,setMounted:a,transitionStatus:r}}(e);t.useSyncedValues({mounted:r,transitionStatus:i});let a=(0,C.K)(()=>{var e,n;l(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),null==(e=(n=t.context).onOpenChangeComplete)||e.call(n,!1)}),u=t.useState("preventUnmountingOnClose");return(0,B.v)({enabled:!u,open:e,ref:t.context.popupRef,onComplete(){e||a()}}),{forceUnmount:a,transitionStatus:i}}(h,t),A=o.useCallback(()=>{t.setOpen(!1,(0,X.d)(D.zJ))},[t]);o.useImperativeHandle(r,()=>({unmount:R,close:A}),[R,A]);let M=function(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,onOpenChange:r}=e,o=(0,y.B)(),i=null!=(0,x.R1)(),a=t.useState("open"),u=t.useState("activeTriggerElement"),c=t.useState(n?"popupElement":"positionerElement"),d=t.context.triggerElements,f=(0,b.j)(()=>new P({open:a,transitionStatus:void 0,referenceElement:u,floatingElement:c,triggerElements:d,onOpenChange:r,floatingId:o,syncOnly:!0,nested:i})).current;return(0,s.g)(()=>{let e={open:a,floatingId:o,referenceElement:u,floatingElement:c};(0,l.vq)(u)&&(e.domReferenceElement=u),f.state.positionReference===f.state.referenceElement&&(e.positionReference=u),f.update(e)},[a,o,u,c,f]),f.context.onOpenChange=r,f.context.nested=i,f}({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0}),[T,K]=o.useState(0),[V,L]=o.useState(0),$=0===T,U=function(e,t={}){let n="rootStore"in e?e.rootStore:e,r=n.useState("open"),l=n.useState("floatingId"),i=n.useState("domReferenceElement"),a=n.useState("floatingElement"),{role:u="dialog"}=t,s=(0,y.B)(),c=i?.id||s,d=o.useMemo(()=>(0,q.nd)(a)?.id||l,[a,l]),p=I.get(u)??u,h=null!=(0,x.R1)(),v=o.useMemo(()=>"tooltip"===p||"label"===u?f.t0:{"aria-haspopup":"alertdialog"===p?"dialog":p,"aria-expanded":"false",..."listbox"===p&&{role:"combobox"},..."menu"===p&&h&&{role:"menuitem"},..."select"===u&&{"aria-autocomplete":"none"},..."combobox"===u&&{"aria-autocomplete":"list"}},[p,h,u]),g=o.useMemo(()=>"tooltip"===p||"label"===u?{[`aria-${"label"===u?"labelledby":"describedby"}`]:r?d:void 0}:{...v,"aria-expanded":r?"true":"false","aria-controls":r?d:void 0,..."menu"===p&&{id:c}},[p,d,r,c,u,v]),m=o.useMemo(()=>{let e={id:d,...p&&{role:p}};return"tooltip"===p||"label"===u?e:{...e,..."menu"===p&&{"aria-labelledby":c}}},[p,d,c,u]),b=o.useCallback(({active:e,selected:t})=>{let n={role:"option",...e&&{id:`${d}-fui-option`}};switch(u){case"select":case"combobox":return{...n,"aria-selected":t}}return{}},[d,u]);return o.useMemo(()=>({reference:g,floating:m,item:b,trigger:v}),[g,m,v,b])}(M),_=function(e){var t,n;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a="rootStore"in e?e.rootStore:e,s=a.useState("open"),d=a.useState("floatingElement"),{dataRef:f}=a.context,{enabled:p=!0,escapeKey:h=!0,outsidePress:v=!0,outsidePressEvent:g="sloppy",referencePress:m=N,referencePressEvent:y="sloppy",bubbles:b,externalTree:S}=r,w=(0,x.cq)(S),E=(0,C.K)("function"==typeof v?v:()=>!1),k="function"==typeof v?E:v,R=!1!==k,A=(0,C.K)(()=>g),M=o.useRef(!1),T=o.useRef(!1),P=o.useRef(!1),{escapeKey:I,outsidePress:K}={escapeKey:"boolean"==typeof b?b:null!=(t=null==b?void 0:b.escapeKey)&&t,outsidePress:"boolean"==typeof b?b:null==(n=null==b?void 0:b.outsidePress)||n},z=o.useRef(null),V=(0,c.Z)(),B=(0,c.Z)(),L=(0,C.K)(()=>{B.clear(),f.current.insideReactTree=!1}),$=o.useRef(!1),U=o.useRef(""),_=(0,C.K)(m),G=(0,C.K)(e=>{var t;if(!s||!p||!h||"Escape"!==e.key||$.current)return;let n=null==(t=f.current.floatingContext)?void 0:t.nodeId,r=w?(0,H.CM)(w.nodesRef.current,n):[];if(!I&&r.length>0){let e=!0;if(r.forEach(t=>{var n;(null==(n=t.context)?void 0:n.open)&&!t.context.dataRef.current.__escapeKeyBubbles&&(e=!1)}),!e)return}let o=(0,O.O_)(e)?e.nativeEvent:e,l=(0,X.d)(D.jv,o);a.setOpen(!1,l),I||l.isPropagationAllowed||e.stopPropagation()}),Z=(0,C.K)(()=>{f.current.insideReactTree=!0,B.start(0,L)});o.useEffect(()=>{if(!s||!p)return;f.current.__escapeKeyBubbles=I,f.current.__outsidePressBubbles=K;let e=new c.E,t=new c.E;function n(){P.current=!0,t.start(0,()=>{P.current=!1})}function r(){M.current=!1,T.current=!1}function o(){let e=U.current,t=A(),n="function"==typeof t?t():t;return"string"==typeof n?n:n["pen"!==e&&e?e:"mouse"]}function v(e){var t;let n=null==(t=f.current.floatingContext)?void 0:t.nodeId,r=w&&(0,H.CM)(w.nodesRef.current,n).some(t=>{var n;return(0,q.F2)(e,null==(n=t.context)?void 0:n.elements.floating)});return(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||r}function g(e){var n;if(function(e){let t=o();return"intentional"===t&&"click"!==e.type||"sloppy"===t&&"click"===e.type}(e)||f.current.insideReactTree)return void L();let r=(0,j.EW)(e),i="[".concat((0,Y.F)("inert"),"]"),s=(0,l.vq)(r)?r.getRootNode():null,c=Array.from(((0,l.Ng)(s)?s:(0,u.R)(a.select("floatingElement"))).querySelectorAll(i)),d=a.context.triggerElements;if(r&&(d.hasElement(r)||d.hasMatchingElement(e=>(0,j.gR)(e,r))))return;let p=(0,l.vq)(r)?r:null;for(;p&&!(0,l.eu)(p);){let e=(0,l.$4)(p);if((0,l.eu)(e)||!(0,l.vq)(e))break;p=e}if(c.length&&(0,l.vq)(r)&&!(0,q.tZ)(r)&&!(0,j.gR)(r,a.select("floatingElement"))&&c.every(e=>!(0,j.gR)(p,e)))return;if((0,l.sb)(r)&&!("touches"in e)){let t=(0,l.eu)(r),n=(0,l.L9)(r),o=/auto|scroll/,i=t||o.test(n.overflowX),a=t||o.test(n.overflowY),u=i&&r.clientWidth>0&&r.scrollWidth>r.clientWidth,s=a&&r.clientHeight>0&&r.scrollHeight>r.clientHeight,c="rtl"===n.direction,d=s&&(c?e.offsetX<=r.offsetWidth-r.clientWidth:e.offsetX>r.clientWidth),f=u&&e.offsetY>r.clientHeight;if(d||f)return}if(v(e))return;if("intentional"===o()&&P.current){t.clear(),P.current=!1;return}if("function"==typeof k&&!k(e))return;let h=null==(n=f.current.floatingContext)?void 0:n.nodeId,g=w?(0,H.CM)(w.nodesRef.current,h):[];if(g.length>0){let e=!0;if(g.forEach(t=>{var n;(null==(n=t.context)?void 0:n.open)&&!t.context.dataRef.current.__outsidePressBubbles&&(e=!1)}),!e)return}a.setOpen(!1,(0,X.d)(D.Np,e)),L()}function m(e){if("sloppy"!==o()||!a.select("open")||!p||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement")))return;let t=e.touches[0];t&&(z.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},V.start(1e3,()=>{z.current&&(z.current.dismissOnTouchEnd=!1,z.current.dismissOnMouseDown=!1)}))}function y(e,t){let n=(0,j.EW)(e);if(!n)return;let r=(0,i.q)(n,e.type,()=>{t(e),r()})}function b(e){V.clear(),"pointerdown"===e.type&&(U.current=e.pointerType),("mousedown"!==e.type||!z.current||z.current.dismissOnMouseDown)&&y(e,e=>{if("pointerdown"===e.type)"sloppy"!==o()||"touch"===e.pointerType||!a.select("open")||!p||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||g(e);else g(e)})}function x(e){if(!M.current)return;let l=T.current;if(r(),"intentional"===o()){if("pointercancel"===e.type){l&&n();return}if(!v(e)){if(l)return void n();("function"!=typeof k||k(e))&&(t.clear(),P.current=!0,L())}}}function S(e){if("sloppy"!==o()||!z.current||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement")))return;let t=e.touches[0];if(!t)return;let n=Math.abs(t.clientX-z.current.startX),r=Math.abs(t.clientY-z.current.startY),l=Math.sqrt(n*n+r*r);l>5&&(z.current.dismissOnTouchEnd=!0),l>10&&(g(e),V.clear(),z.current=null)}function E(e){"sloppy"!==o()||!z.current||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||(z.current.dismissOnTouchEnd&&g(e),V.clear(),z.current=null)}let C=(0,u.R)(d),O=(0,W.g)(h&&(0,W.g)((0,i.q)(C,"keydown",G),(0,i.q)(C,"compositionstart",function(){e.clear(),$.current=!0}),(0,i.q)(C,"compositionend",function(){e.start(5*!!(0,l.Tc)(),()=>{$.current=!1})})),R&&(0,W.g)((0,i.q)(C,"click",b,!0),(0,i.q)(C,"pointerdown",b,!0),(0,i.q)(C,"pointerup",x,!0),(0,i.q)(C,"pointercancel",x,!0),(0,i.q)(C,"mousedown",b,!0),(0,i.q)(C,"mouseup",x,!0),(0,i.q)(C,"touchstart",function(e){U.current="touch",y(e,m)},!0),(0,i.q)(C,"touchmove",function(e){y(e,S)},!0),(0,i.q)(C,"touchend",function(e){y(e,E)},!0)));return()=>{O(),e.clear(),t.clear(),r(),P.current=!1}},[f,d,h,R,k,s,p,I,K,G,L,A,w,a,V]),o.useEffect(L,[k,L]);let J=o.useMemo(()=>({onKeyDown:G,[F[y]]:e=>{_()&&a.setOpen(!1,(0,X.d)(D.Ui,e.nativeEvent))},..."intentional"!==y&&{onClick(e){_()&&a.setOpen(!1,(0,X.d)(D.Ui,e.nativeEvent))}}}),[G,a,y,_]),Q=(0,C.K)(e=>{if(!s||!p||0!==e.button)return;let t=(0,j.EW)(e.nativeEvent);(0,j.gR)(a.select("floatingElement"),t)&&(M.current||(M.current=!0,T.current=!1))}),ee=(0,C.K)(e=>{s&&p&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&M.current&&(T.current=!0)}),et=o.useMemo(()=>({onKeyDown:G,onPointerDown:ee,onMouseDown:ee,onClickCapture:Z,onMouseDownCapture(e){Z(),Q(e)},onPointerDownCapture(e){Z(),Q(e)},onMouseUpCapture:Z,onTouchEndCapture:Z,onTouchMoveCapture:Z}),[G,Z,Q,ee]);return o.useMemo(()=>p?{reference:J,floating:et,trigger:J}:{},[p,J,et])}(M,{outsidePressEvent:()=>t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:"trap-focus"===g?"sloppy":"intentional",touch:"sloppy"},outsidePress(e){if(!t.context.outsidePressEnabledRef.current||"button"in e&&0!==e.button||"touches"in e&&1!==e.touches.length)return!1;let n=(0,j.EW)(e);return!!$&&!v&&(!g||!t.context.internalBackdropRef.current&&!t.context.backdropRef.current||t.context.internalBackdropRef.current===n||t.context.backdropRef.current===n||(0,j.gR)(n,S)&&!(null==n?void 0:n.hasAttribute("data-base-ui-portal")))},escapeKey:$});!function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(0,s.g)(()=>{if(e)return m.acquire(t)},[e,t])}(h&&!0===g,S);let{getReferenceProps:G,getFloatingProps:Z,getTriggerProps:J}=function(e=[]){let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),l=e.map(e=>e?.trigger),i=o.useCallback(t=>z(t,e,"reference"),t),a=o.useCallback(t=>z(t,e,"floating"),n),u=o.useCallback(t=>z(t,e,"item"),r),s=o.useCallback(t=>z(t,e,"trigger"),l);return o.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:u,getTriggerProps:s}),[i,a,u,s])}([U,_]);t.useContextCallback("onNestedDialogOpen",(e,t)=>{K(e),L(t)}),t.useContextCallback("onNestedDialogClose",()=>{K(0),L(0)}),o.useEffect(()=>((null==n?void 0:n.onNestedDialogOpen)&&h&&n.onNestedDialogOpen(T+1,V+ +!!p),(null==n?void 0:n.onNestedDialogClose)&&!h&&n.onNestedDialogClose(),()=>{(null==n?void 0:n.onNestedDialogClose)&&h&&n.onNestedDialogClose()}),[p,h,T,V,n]);let Q=o.useMemo(()=>G(E),[G,E]),ee=o.useMemo(()=>J(E),[J,E]),et=o.useMemo(()=>Z(),[Z]);t.useSyncedValues({openMethod:w,activeTriggerProps:Q,inactiveTriggerProps:ee,popupProps:et,floatingRootContext:M,nestedOpenDialogCount:T,nestedOpenDrawerCount:V})}({store:T,actionsRef:S,parentContext:null==R?void 0:R.store.context,isDrawer:A,onOpenChange:p,triggerIdProp:E});let $=o.useMemo(()=>({store:T}),[T]);return(0,Z.jsx)(J.Provider,{value:!1,children:(0,Z.jsx)(L.a.Provider,{value:$,children:"function"==typeof t?t({payload:V}):t})})}},54700:(e,t,n)=>{var r=n(69009),o=n(54228),l="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=o.useSyncExternalStore,a=r.useRef,u=r.useEffect,s=r.useMemo,c=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=a(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var p=i(e,(d=s(function(){function e(e){if(!u){if(u=!0,i=e,e=r(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return a=t}return a=e}if(t=a,l(i,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(i=e,t):(i=e,a=n)}var i,a,u=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,r,o]))[0],d[1]);return u(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}},55022:(e,t,n)=>{n.d(t,{J9:()=>o});var r=n(94400);function o(e,t=e?(0,r.L9)(e):null){var n;return!!e&&!!e.isConnected&&!!t&&"hidden"!==(n=t).visibility&&"collapse"!==n.visibility&&("function"==typeof e.checkVisibility?e.checkVisibility():"none"!==t.display&&"contents"!==t.display)}},57707:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("mic-off",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M16.95 16.95A7 7 0 0 1 5 12v-2",key:"cqa7eg"}],["path",{d:"M18.89 13.23A7 7 0 0 0 19 12v-2",key:"16hl24"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}]])},57869:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},57897:(e,t,n)=>{n.d(t,{Kd:()=>r,z_:()=>o});let r="data-base-ui-click-trigger",o={clipPath:"inset(50%)",position:"fixed",top:0,left:0}},59609:(e,t,n)=>{n.d(t,{$u:()=>a,F2:()=>l,WZ:()=>u,nd:()=>s,tZ:()=>i});var r=n(94400),o=n(90024);function l(e,t){return null!=t&&("composedPath"in e?e.composedPath().includes(t):null!=e.target&&t.contains(e.target))}function i(e){return e.matches("html,body")}function a(e){return(0,r.sb)(e)&&e.matches(o.BT)}function u(e){return!!e&&"combobox"===e.getAttribute("role")&&a(e)}function s(e){return e?e.hasAttribute(o.Ed)?e:e.querySelector(`[${o.Ed}]`)||e:null}},59939:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]])},61266:(e,t,n)=>{e.exports=n(54700)},62616:(e,t,n)=>{n.d(t,{$4:()=>r,CM:()=>function e(t,n,r=!0){return t.filter(e=>e.parentId===n).flatMap(n=>[...!r||n.context?.open?[n]:[],...e(t,n.id,r)])}});function r(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}},68300:(e,t,n)=>{n.d(t,{R1:()=>i,cq:()=>a});var r=n(69009);n(12981);let o=r.createContext(null),l=r.createContext(null),i=()=>{var e;return(null==(e=r.useContext(o))?void 0:e.id)||null},a=e=>{let t=r.useContext(l);return null!=e?e:t}},69825:(e,t,n)=>{n.d(t,{X:()=>s});var r=n(69009),o=n(9156),l=n(28033),i=n(4588),a=n(84018);let u={...i.GW,...a.G},s=r.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...s}=e,{store:c}=(0,o.P)(),d=c.useState("open"),f=c.useState("nested"),p=c.useState("mounted"),h=c.useState("transitionStatus");return(0,l.o)("div",e,{state:{open:d,transitionStatus:h},ref:[c.context.backdropRef,t],stateAttributesMapping:u,props:[{role:"presentation",hidden:!p,style:{userSelect:"none",WebkitUserSelect:"none"}},s],enabled:a||!f})})},71560:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},73604:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},79054:(e,t,n)=>{n.d(t,{KT:()=>d,Tc:()=>a,m0:()=>c,nr:()=>s,un:()=>u});let r="undefined"!=typeof navigator,o=function(){if(!r)return{platform:"",maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}(),l=function(){if(!r)return"";let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}(),i=function(){if(!r)return"";let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(" "):navigator.userAgent}(),a="undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter:none"),u="MacIntel"===o.platform&&o.maxTouchPoints>1||/iP(hone|ad|od)|iOS/.test(o.platform);r&&/firefox/i.test(i);let s=r&&/apple/i.test(navigator.vendor);r&&/Edg/i.test(i);let c=r&&/android/i.test(l)||/android/i.test(i);r&&l.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;let d=i.includes("jsdom/")},82483:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(69009),o=n(39736),l=n(34666),i=n(9156),a=n(11688),u=n(12981);let s=r.forwardRef(function(e,t){let n,{cutout:r,...o}=e;if(r){let e=r.getBoundingClientRect();n=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,u.jsx)("div",{ref:t,role:"presentation","data-base-ui-inert":"",...o,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:n}})}),c=r.forwardRef(function(e,t){var n;let{keepMounted:r=!1,...c}=e,{store:d}=(0,i.P)(),f=d.useState("mounted"),p=d.useState("modal"),h=d.useState("open");return f||r?(0,u.jsx)(a.m.Provider,{value:r,children:(0,u.jsxs)(l.XF,{ref:t,...c,children:[f&&!0===p&&(0,u.jsx)(s,{ref:d.context.internalBackdropRef,inert:(n=!h,(0,o._)(19)?n:n?"true":void 0)}),e.children]})}):null})},82822:(e,t,n)=>{n.d(t,{y:()=>l});var r=n(69009);let o=[];function l(e){r.useEffect(e,o)}},84018:(e,t,n)=>{n.d(t,{G:()=>i,T:()=>r});let r=function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e}({}),o={[r.startingStyle]:""},l={[r.endingStyle]:""},i={transitionStatus:e=>"starting"===e?o:"ending"===e?l:null}},85873:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]])},86252:(e,t,n)=>{n.d(t,{q:()=>r});function r(e){return null==e?e:"current"in e?e.current:e}},86330:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},87138:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]])},90024:(e,t,n)=>{n.d(t,{BT:()=>i,Ed:()=>r,WS:()=>l,XA:()=>o});let r="data-base-ui-focusable",o="active",l="selected",i="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])"},90555:(e,t,n)=>{var r=n(69009),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function s(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=l({inst:{value:n,getSnapshot:t}}),o=r[0].inst,c=r[1];return a(function(){o.value=n,o.getSnapshot=t,s(o)&&c({inst:o})},[e,n,t]),i(function(){return s(o)&&c({inst:o}),e(function(){s(o)&&c({inst:o})})},[e]),u(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},91098:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]])},92116:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},92325:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]])},94465:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(40805).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},95298:(e,t,n)=>{n.d(t,{V:()=>E});var r=n(69009),o=n(33364),l=n(19003),i=n(13625),a=n(28033),u=n(17663),s=n(36690),c=n(36310);let d=function(e){return e.orientation="data-orientation",e.hovering="data-hovering",e.scrolling="data-scrolling",e.hasOverflowX="data-has-overflow-x",e.hasOverflowY="data-has-overflow-y",e.overflowXStart="data-overflow-x-start",e.overflowXEnd="data-overflow-x-end",e.overflowYStart="data-overflow-y-start",e.overflowYEnd="data-overflow-y-end",e}({});var f=n(887),p=n(13045),h=n(51510),v=n(2464);let g=r.createContext(void 0),m={disableStyleElements:!1};var y=n(12981);let b={x:0,y:0},x={width:0,height:0},S={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},w={x:!0,y:!0,corner:!0},E=r.forwardRef(function(e,t){var n;let{render:E,className:k,overflowEdgeThreshold:R,style:A,...C}=e,M=function(e){if("number"==typeof e){let t=Math.max(0,e);return{xStart:t,xEnd:t,yStart:t,yEnd:t}}return{xStart:Math.max(0,(null==e?void 0:e.xStart)||0),xEnd:Math.max(0,(null==e?void 0:e.xEnd)||0),yStart:Math.max(0,(null==e?void 0:e.yStart)||0),yEnd:Math.max(0,(null==e?void 0:e.yEnd)||0)}}(R),O=(0,p.e)(),T=(0,l.Z)(),P=(0,l.Z)(),{nonce:q,disableStyleElements:I}=null!=(n=r.useContext(g))?n:m,[W,j]=r.useState(!1),[H,X]=r.useState(!1),[D,Y]=r.useState(!1),[F,N]=r.useState(!1),[K,z]=r.useState(!1),[V,B]=r.useState(x),[L,$]=r.useState(x),[U,_]=r.useState(S),[G,Z]=r.useState(w),J=r.useRef(null),Q=r.useRef(null),ee=r.useRef(null),et=r.useRef(null),en=r.useRef(null),er=r.useRef(null),eo=r.useRef(null),el=r.useRef(!1),ei=r.useRef(0),ea=r.useRef(0),eu=r.useRef(0),es=r.useRef(0),ec=r.useRef("vertical"),ed=r.useRef(b),ef=(0,o.K)(e=>{let t=e.x-ed.current.x,n=e.y-ed.current.y;ed.current=e,0!==n&&(Y(!0),T.start(s.u,()=>{Y(!1)})),0!==t&&(X(!0),P.start(s.u,()=>{X(!1)}))}),ep=(0,o.K)(e=>{0===e.button&&(el.current=!0,ei.current=e.clientY,ea.current=e.clientX,ec.current=e.currentTarget.getAttribute(d.orientation),Q.current&&(eu.current=Q.current.scrollTop,es.current=Q.current.scrollLeft),en.current&&"vertical"===ec.current&&en.current.setPointerCapture(e.pointerId),er.current&&"horizontal"===ec.current&&er.current.setPointerCapture(e.pointerId))}),eh=(0,o.K)(e=>{if(!el.current)return;let t=e.clientY-ei.current,n=e.clientX-ea.current;if(Q.current){let r=Q.current.scrollHeight,o=Q.current.clientHeight,l=Q.current.scrollWidth,i=Q.current.clientWidth;if(en.current&&ee.current&&"vertical"===ec.current){let n=(0,c.A)(ee.current,"padding","y"),l=(0,c.A)(en.current,"margin","y"),i=en.current.offsetHeight,a=ee.current.offsetHeight-i-n-l;Q.current.scrollTop=eu.current+t/a*(r-o),e.preventDefault(),Y(!0),T.start(s.u,()=>{Y(!1)})}if(er.current&&et.current&&"horizontal"===ec.current){let t=(0,c.A)(et.current,"padding","x"),r=(0,c.A)(er.current,"margin","x"),o=er.current.offsetWidth,a=et.current.offsetWidth-o-t-r;Q.current.scrollLeft=es.current+n/a*(l-i),e.preventDefault(),X(!0),P.start(s.u,()=>{X(!1)})}}}),ev=(0,o.K)(e=>{el.current=!1,en.current&&"vertical"===ec.current&&en.current.releasePointerCapture(e.pointerId),er.current&&"horizontal"===ec.current&&er.current.releasePointerCapture(e.pointerId)});function eg(e){N("touch"===e.pointerType)}function em(e){eg(e),"touch"!==e.pointerType&&j((0,v.gR)(J.current,e.target))}let ey=r.useMemo(()=>({scrolling:H||D,hasOverflowX:!G.x,hasOverflowY:!G.y,overflowXStart:U.xStart,overflowXEnd:U.xEnd,overflowYStart:U.yStart,overflowYEnd:U.yEnd,cornerHidden:G.corner}),[H,D,G.x,G.y,G.corner,U]),eb={role:"presentation",onPointerEnter:em,onPointerMove:em,onPointerDown:eg,onPointerLeave(){j(!1)},style:{position:"relative",[u.I.scrollAreaCornerHeight]:"".concat(V.height,"px"),[u.I.scrollAreaCornerWidth]:"".concat(V.width,"px")}},ex=(0,a.o)("div",e,{state:ey,ref:[t,J],props:[eb,C],stateAttributesMapping:h.r}),eS=r.useMemo(()=>({handlePointerDown:ep,handlePointerMove:eh,handlePointerUp:ev,handleScroll:ef,cornerSize:V,setCornerSize:B,thumbSize:L,setThumbSize:$,hasMeasuredScrollbar:K,setHasMeasuredScrollbar:z,touchModality:F,cornerRef:eo,scrollingX:H,setScrollingX:X,scrollingY:D,setScrollingY:Y,hovering:W,setHovering:j,viewportRef:Q,rootRef:J,scrollbarYRef:ee,scrollbarXRef:et,thumbYRef:en,thumbXRef:er,rootId:O,hiddenState:G,setHiddenState:Z,overflowEdges:U,setOverflowEdges:_,viewportState:ey,overflowEdgeThreshold:M}),[ep,eh,ev,ef,V,L,K,F,H,X,D,Y,W,j,O,G,U,ey,M]);return(0,y.jsxs)(i.a.Provider,{value:eS,children:[!I&&f.E.getElement(q),ex]})})},95759:(e,t,n)=>{n.d(t,{G:()=>l,r:()=>i});var r=n(30063),o=n(69009);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(54));return e}},99132:(e,t,n)=>{n.d(t,{h:()=>es});var r=n(69009),o=n(94400),l=n(10188),i=n(29726),a=n(9874),u=n(26458),s=n(60499);function c(e){let t=(0,s.j)(d,e).current;return t.next=e,(0,u.g)(t.effect),t}function d(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var f=n(33364),p=n(19003),h=n(79054),v=n(1323),g=n(92268),m=n(29247),y=n(2464),b=n(59609),x=n(10385),S=n(24452),w=n(62616),E=n(55022),k=n(17929),R=n(22843),A=n(40513),C=n(62514);let M=0;function O(e,t={}){let{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(M);let l=()=>e?.focus({preventScroll:n});if(o)return l(),C.tE;let i=requestAnimationFrame(l);return M=i,()=>{M===i&&(cancelAnimationFrame(i),M=0)}}let T={inert:new WeakMap,"aria-hidden":new WeakMap},P="data-base-ui-inert",q={inert:new WeakSet,"aria-hidden":new WeakSet},I=new WeakMap,W=0,j=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=function e(t){return t?(0,o.Ng)(t)?t.host:e(t.parentNode):null}(t);return e.contains(n)?n:null}).filter(e=>null!=e),H=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},X=(e,t,n)=>{let r=[],l=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{"script"!==(0,o.mq)(e)&&(t.has(e)?l(e):r.push(e))})};return l(e),r};function D(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:o=!0,markerIgnoreElements:l=[]}=t,i=(0,g.R)(e[0]).body;return function(e,t,n,r,{mark:o=!0,markerIgnoreElements:l=[]}){let i=r?"inert":n?"aria-hidden":null,a=null,u=null,s=j(t,e),c=new Set(o?j(t,l):[]),d=o?X(t,H(s),new Set(s)).filter(e=>!c.has(e)):[],f=[],p=[];if(i){let e=T[i],n=q[i];u=n,a=e;let r=j(t,Array.from(t.querySelectorAll("[aria-live]"))),o=s.concat(r);X(t,H(o),new Set(o)).forEach(t=>{let r=t.getAttribute(i),o=null!==r&&"false"!==r,l=(e.get(t)||0)+1;e.set(t,l),f.push(t),1===l&&o&&n.add(t),o||t.setAttribute(i,"inert"===i?"":"true")})}return o&&d.forEach(e=>{let t=(I.get(e)||0)+1;I.set(e,t),p.push(e),1===t&&e.setAttribute(P,"")}),W+=1,()=>{a&&f.forEach(e=>{let t=(a.get(e)||0)-1;a.set(e,t),t||(!u?.has(e)&&i&&e.removeAttribute(i),u?.delete(e))}),o&&p.forEach(e=>{let t=(I.get(e)||0)-1;I.set(e,t),t||e.removeAttribute(P)}),(W-=1)||(T.inert=new WeakMap,T["aria-hidden"]=new WeakMap,q.inert=new WeakSet,q["aria-hidden"]=new WeakSet,I=new WeakMap)}}(e,i,n,r,{mark:o,markerIgnoreElements:l})}var Y=n(34666),F=n(68300),N=n(57897),K=n(86252),z=n(12981);let V=[];function B(){V=V.filter(e=>{var t;return null==(t=e.deref())?void 0:t.isConnected})}function L(){var e;return B(),null==(e=V[V.length-1])?void 0:e.deref()}function $(e,t){var n;if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex")||!t.current.includes("floating")&&!(null==(n=e.getAttribute("role"))?void 0:n.includes("dialog")))return;let r=(0,S.nq)(e).filter(e=>{let t=e.getAttribute("data-tabindex")||"";return(0,S.AO)(e)||e.hasAttribute("data-tabindex")&&!t.startsWith("-")}),o=e.getAttribute("tabindex");t.current.includes("floating")||0===r.length?"0"!==o&&e.setAttribute("tabindex","0"):("-1"!==o||e.hasAttribute("data-tabindex")&&"-1"!==e.getAttribute("data-tabindex"))&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function U(e){let{context:t,children:n,disabled:s=!1,initialFocus:d=!0,returnFocus:C=!0,restoreFocus:M=!1,modal:T=!0,closeOnFocusOut:P=!0,openInteractionType:q="",nextFocusableElement:I,previousFocusableElement:W,beforeContentFocusGuardRef:j,externalTree:H,getInsideElements:X}=e,U="rootStore"in t?t.rootStore:t,_=U.useState("open"),G=U.useState("domReferenceElement"),Z=U.useState("floatingElement"),{events:J,dataRef:Q}=U.context,ee=(0,f.K)(()=>{var e;return null==(e=Q.current.floatingContext)?void 0:e.nodeId}),et=!1===d,en=(0,b.WZ)(G)&&et,er=r.useRef(["content"]),eo=c(d),el=c(C),ei=c(q),ea=(0,F.cq)(H),eu=(0,Y.vB)(),es=r.useRef(!1),ec=r.useRef(!1),ed=r.useRef(!1),ef=r.useRef(null),ep=r.useRef(""),eh=r.useRef(""),ev=r.useRef(null),eg=r.useRef(null),em=(0,a.a)(ev,j,null==eu?void 0:eu.beforeInsideRef),ey=(0,a.a)(eg,null==eu?void 0:eu.afterInsideRef),eb=(0,p.Z)(),ex=(0,p.Z)(),eS=(0,v.N)(),ew=null!=eu,eE=(0,b.nd)(Z),ek=(0,f.K)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eE;return e?(0,S.Kr)(e):[]}),eR=(0,f.K)(()=>{var e;return null!=(e=null==X?void 0:X().filter(e=>null!=e))?e:[]});r.useEffect(()=>{if(s||!T)return;let e=(0,g.R)(eE);return(0,l.q)(e,"keydown",function(e){"Tab"===e.key&&(0,y.gR)(eE,(0,y.RS)((0,g.R)(eE)))&&0===ek().length&&!en&&(0,x.jo)(e)})},[s,G,eE,T,er,en,ek]),r.useEffect(()=>{if(s||!_)return;let e=(0,g.R)(eE);function t(){ed.current=!1}return(0,i.g)((0,l.q)(e,"pointerdown",function(e){let t=(0,y.EW)(e),n=eR();ed.current=!((0,y.gR)(Z,t)||(0,y.gR)(G,t)||(0,y.gR)(null==eu?void 0:eu.portalNode,t)||n.some(e=>e===t||(0,y.gR)(e,t))),eh.current=e.pointerType||"keyboard",(null==t?void 0:t.closest("[".concat(N.Kd,"]")))&&(ec.current=!0)},!0),(0,l.q)(e,"pointerup",t,!0),(0,l.q)(e,"pointercancel",t,!0),(0,l.q)(e,"keydown",function(){eh.current="keyboard"},!0))},[s,Z,G,eE,_,eu,eR]),r.useEffect(()=>{if(s||!P)return;let e=(0,g.R)(eE);function t(t){let n=t.relatedTarget,r=t.currentTarget,l=(0,y.EW)(t);queueMicrotask(()=>{let i=ee(),a=U.context.triggerElements,u=eR(),s=(null==n?void 0:n.hasAttribute((0,A.F)("focus-guard")))&&[ev.current,eg.current,null==eu?void 0:eu.beforeInsideRef.current,null==eu?void 0:eu.afterInsideRef.current,null==eu?void 0:eu.beforeOutsideRef.current,null==eu?void 0:eu.afterOutsideRef.current,(0,K.q)(W),(0,K.q)(I)].includes(n),c=!((0,y.gR)(G,n)||(0,y.gR)(Z,n)||(0,y.gR)(n,Z)||(0,y.gR)(null==eu?void 0:eu.portalNode,n)||u.some(e=>e===n||(0,y.gR)(e,n))||null!=n&&a.hasElement(n)||a.hasMatchingElement(e=>(0,y.gR)(e,n))||s||ea&&((0,w.CM)(ea.nodesRef.current,i).find(e=>{var t,r;return(0,y.gR)(null==(t=e.context)?void 0:t.elements.floating,n)||(0,y.gR)(null==(r=e.context)?void 0:r.elements.domReference,n)})||(0,w.$4)(ea.nodesRef.current,i).find(e=>{var t,r,o;return[null==(t=e.context)?void 0:t.elements.floating,(0,b.nd)(null==(r=e.context)?void 0:r.elements.floating)].includes(n)||(null==(o=e.context)?void 0:o.elements.domReference)===n})));if(r===G&&eE&&$(eE,er),M&&r!==G&&!(0,E.J9)(l)&&(0,y.RS)(e)===e.body){if((0,o.sb)(eE)&&(eE.focus(),"popup"===M))return void eS.request(()=>{eE.focus()});let e=ek(),t=ef.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||eE;(0,o.sb)(n)&&n.focus()}if(Q.current.insideReactTree){Q.current.insideReactTree=!1;return}(en||!T)&&n&&c&&!ec.current&&(en||n!==L())&&(es.current=!0,U.setOpen(!1,(0,k.d)(R.Xn,t)))})}let n=(0,o.sb)(G)?G:null;if(Z||n)return(0,i.g)(n&&(0,l.q)(n,"focusout",t),n&&(0,l.q)(n,"pointerdown",function(){ec.current=!0,ex.start(0,()=>{ec.current=!1})}),Z&&(0,l.q)(Z,"focusin",function(e){let t=(0,y.EW)(e);(0,S.AO)(t)&&(ef.current=t)}),Z&&(0,l.q)(Z,"focusout",t),Z&&eu&&(0,l.q)(Z,"focusout",function(){ed.current||(Q.current.insideReactTree=!0,eb.start(0,()=>{Q.current.insideReactTree=!1}))},!0))},[s,G,Z,eE,T,ea,eu,U,P,M,ek,en,ee,er,Q,eb,ex,eS,I,W,eR]),r.useEffect(()=>{var e,t,n;if(s||!Z||!_)return;let r=Array.from((null==eu||null==(e=eu.portalNode)?void 0:e.querySelectorAll("[".concat((0,A.F)("portal"),"]")))||[]),o=null==(n=(ea?(0,w.$4)(ea.nodesRef.current,ee()):[]).find(e=>{var t;return(0,b.WZ)((null==(t=e.context)?void 0:t.elements.domReference)||null)}))||null==(t=n.context)?void 0:t.elements.domReference,l=D([Z,...r,ev.current,eg.current,null==eu?void 0:eu.beforeOutsideRef.current,null==eu?void 0:eu.afterOutsideRef.current,...eR(),o,(0,K.q)(W),(0,K.q)(I),en?G:null].filter(e=>null!=e),{ariaHidden:T||en,mark:!1}),i=D([Z,...r].filter(e=>null!=e));return()=>{i(),l()}},[_,s,G,Z,T,er,eu,en,ea,ee,I,W,eR]),(0,u.g)(()=>{if(!_||s||!(0,o.sb)(eE))return;let e=(0,g.R)(eE),t=(0,y.RS)(e);queueMicrotask(()=>{let e,n=eo.current,r="function"==typeof n?n(ei.current||""):n;if(void 0===r||!1===r||(0,y.gR)(eE,t))return;let o=null,l=()=>(null==o&&(o=ek(eE)),o[0]||eE);O(e=(e=!0===r||null===r?l():(0,K.q)(r))||l(),{preventScroll:e===eE})})},[s,_,eE,et,ek,eo,ei]),(0,u.g)(()=>{var e;if(s||!eE)return;let t=(0,g.R)(eE);function n(e){if(e.open||(ep.current=function(e,t){let n=(0,o.zk)((0,y.EW)(e));return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(0===e.detail?"keyboard":"mouse"):""}(e.nativeEvent,eh.current)),e.reason===R.N7&&"mouseleave"===e.nativeEvent.type&&(es.current=!0),e.reason===R.Np)if(e.nested)es.current=!1;else if((0,x.YF)(e.nativeEvent)||(0,x.Pg)(e.nativeEvent))es.current=!1;else{let e=!1;(0,g.R)(eE).createElement("div").focus({get preventScroll(){return e=!0,!1}}),e?es.current=!1:es.current=!0}}return e=(0,y.RS)(t),B(),e&&"body"!==(0,o.mq)(e)&&(V.push(new WeakRef(e)),V.length>20&&(V=V.slice(-20))),J.on("openchange",n),()=>{J.off("openchange",n);let e=(0,y.RS)(t),r=eR(),l=(0,y.gR)(Z,e)||r.some(t=>t===e||(0,y.gR)(t,e))||ea&&(0,w.CM)(ea.nodesRef.current,ee(),!1).some(t=>{var n;return(0,y.gR)(null==(n=t.context)?void 0:n.elements.floating,e)}),i=el.current,a=function(){let e=el.current,t="function"==typeof e?e(ep.current):e;if(void 0===t||!1===t)return null;if(null===t&&(t=!0),"boolean"==typeof t){let e=G||L();return e&&e.isConnected?e:null}let n=G||L();return(0,K.q)(t)||n||null}();queueMicrotask(()=>{let n=a?(0,S.AO)(a)?a:(0,S.Kr)(a)[0]||a:null;i&&!es.current&&(0,o.sb)(n)&&("boolean"!=typeof i||n===e||e===t.body||l)&&n.focus({preventScroll:!0}),es.current=!1})}},[s,Z,eE,el,Q,J,ea,G,ee,eR]),(0,u.g)(()=>{if(!h.Tc||_||!Z)return;let e=(0,y.RS)((0,g.R)(Z));(0,o.sb)(e)&&(0,b.$u)(e)&&(0,y.gR)(Z,e)&&e.blur()},[_,Z]),(0,u.g)(()=>{if(!s&&eu)return eu.setFocusManagerState({modal:T,closeOnFocusOut:P,open:_,onOpenChange:U.setOpen,domReference:G}),()=>{eu.setFocusManagerState(null)}},[s,eu,T,_,U,P,G]),(0,u.g)(()=>{if(!s&&eE)return $(eE,er),()=>{queueMicrotask(B)}},[s,eE,er]);let eA=!s&&(!T||!en)&&(ew||T);return(0,z.jsxs)(r.Fragment,{children:[eA&&(0,z.jsx)(m.U,{"data-type":"inside",ref:em,onFocus:e=>{if(T){let e=ek();O(e[e.length-1])}else if(null==eu?void 0:eu.portalNode)if(es.current=!1,(0,S.Qp)(e,eu.portalNode)){let e=(0,S.vF)(G);null==e||e.focus()}else{var t;null==(t=(0,K.q)(null!=W?W:eu.beforeOutsideRef))||t.focus()}}}),n,eA&&(0,z.jsx)(m.U,{"data-type":"inside",ref:ey,onFocus:e=>{if(T)O(ek()[0]);else if(null==eu?void 0:eu.portalNode)if(P&&(es.current=!0),(0,S.Qp)(e,eu.portalNode)){let e=(0,S.XJ)(G);null==e||e.focus()}else{var t;null==(t=(0,K.q)(null!=I?I:eu.afterOutsideRef))||t.focus()}}})]})}var _=n(9156),G=n(28033),Z=n(4588),J=n(84018);let Q=function(e){return e.nestedDialogs="--nested-dialogs",e}({}),ee=function(e){return e[e.open=Z.lP.open]="open",e[e.closed=Z.lP.closed]="closed",e[e.startingStyle=Z.lP.startingStyle]="startingStyle",e[e.endingStyle=Z.lP.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e}({});var et=n(11688),en=n(3484);let er="ArrowUp",eo="ArrowDown",el="ArrowLeft",ei="ArrowRight";[...new Set([...new Set([el,ei]),...new Set([er,eo])])];let ea=new Set([er,eo,el,ei,"Home","End"]),eu={...Z.GW,...J.G,nestedDialogOpen:e=>e?{[ee.nestedDialogOpen]:""}:null},es=r.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:o,render:l,style:i,...a}=e,{store:u}=(0,_.P)(),s=u.useState("descriptionElementId"),c=u.useState("disablePointerDismissal"),d=u.useState("floatingRootContext"),f=u.useState("popupProps"),p=u.useState("modal"),h=u.useState("mounted"),v=u.useState("nested"),g=u.useState("nestedOpenDialogCount"),m=u.useState("open"),y=u.useState("openMethod"),b=u.useState("titleElementId"),x=u.useState("transitionStatus"),S=u.useState("role");(0,et.p)(),(0,en.v)({open:m,ref:u.context.popupRef,onComplete(){if(m){var e,t;null==(e=(t=u.context).onOpenChangeComplete)||e.call(t,!0)}}});let w=void 0===o?function(e){return"touch"!==e||u.context.popupRef.current}:o,E=(0,G.o)("div",e,{state:{open:m,nested:v,transitionStatus:x,nestedDialogOpen:g>0},props:[f,{"aria-labelledby":null!=b?b:void 0,"aria-describedby":null!=s?s:void 0,role:S,tabIndex:-1,hidden:!h,onKeyDown(e){ea.has(e.key)&&e.stopPropagation()},style:{[Q.nestedDialogs]:g}},a],ref:[t,u.context.popupRef,u.useStateSetter("popupElement")],stateAttributesMapping:eu});return(0,z.jsx)(U,{context:d,openInteractionType:y,disabled:!h,closeOnFocusOut:!c,initialFocus:w,returnFocus:r,modal:!1!==p,restoreFocus:"popup",children:E})})}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[738],{2299:(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})},3260:(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("")}},6972:(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(3260),o=n(15857),i=n(78696);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(7076),y=n(19798),v=n(21293);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(56652),w=n(56471),x=n(26486);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(23156),E=n(53796);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(34451);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(2299),Z=n(23132);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)})},7076:(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"}},15857:(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}},17710:(e,t,n)=>{n.d(t,{z:()=>g});var r=n(12981),o=n(69009),i=n(73604),a=n(32735),s=n(86330),l=n(39122),c=n(21782),u=n(8495),d=n(56471),p=n(58191);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})}},23132:(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}:{}})})}},26305:(e,t,n)=>{n.d(t,{g:()=>s,q:()=>a});var r=n(15857);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)):"못 읽음"}})}}},27913:(e,t,n)=>{n.d(t,{K:()=>i,v:()=>o});var r=n(56471);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}:{}})))}},34451:(e,t,n)=>{n.d(t,{C5:()=>a,hG:()=>c});var r=n(56652),o=n(56471);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}},56652:(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),"일 전")}},57260:(e,t,n)=>{n.d(t,{Si:()=>a,cK:()=>i});var r=n(69009),o=n(56471);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])}},58191:(e,t,n)=>{n.d(t,{K:()=>r}),n(69009);let r={emit:async function(e){return{ok:!1,reason:"not-configured"}}}},72980:(e,t,n)=>{n.d(t,{sS:()=>f});var r=n(69009),o=n(56471);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(57260),d=n(75945);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])}}},78696:(e,t,n)=>{n.d(t,{z:()=>i});var r=n(26305);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),"시간 전"):"하루 넘음"}]}):[]}},84785:(e,t,n)=>{n.d(t,{u:()=>d});var r=n(12981),o=n(69009),i=n(73604),a=n(46131),s=n(8495),l=n(21782),c=n(56471),u=n(27913);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})]})}}}]);
@@ -1,77 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7385],{7385:(t,e,a)=>{a.d(e,{diagram:()=>F});var r=a(82033),o=a(64244),n=a(88472),i=a(7328),l=a(42398),s=a(66432),d=a(59100),c=(0,s.K)((t,e)=>{let a=t<=1?100*t:t;if(a<0||a>100)throw Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return a},"toPercent"),p=(0,s.K)((t,e,a)=>({x:c(e,`${a} evolution`),y:c(t,`${a} visibility`)}),"toCoordinates"),h=(0,s.K)(t=>{if(t){if("+<>"===t)return"bidirectional";if("+<"===t)return"backward";if("+>"===t)return"forward"}},"getFlowFromPort"),x=(0,s.K)(t=>{if(!t?.startsWith("+"))return{};let e=/^\+'([^']*)'/.exec(t),a=e?.[1];return t.includes("<>")?{flow:"bidirectional",label:a}:t.includes("<")?{flow:"backward",label:a}:t.includes(">")?{flow:"forward",label:a}:{label:a}},"extractFlowFromArrow"),y=(0,s.K)((t,e)=>{if((0,r.S)(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){let a=t.evolution.stages.map(t=>t.secondName?`${t.name.trim()} / ${t.secondName.trim()}`:t.name.trim()),r=t.evolution.stages.filter(t=>void 0!==t.boundary).map(t=>t.boundary);e.updateAxes({stages:a,stageBoundaries:r})}if(t.anchors.forEach(t=>{let a=p(t.visibility,t.evolution,`Anchor "${t.name}"`);e.addNode(t.name,t.name,a.x,a.y,"anchor")}),t.components.forEach(t=>{let a=p(t.visibility,t.evolution,`Component "${t.name}"`),r=t.label?(t.label.negX?-1:1)*t.label.offsetX:void 0,o=t.label?(t.label.negY?-1:1)*t.label.offsetY:void 0,n=t.decorator?.strategy;e.addNode(t.name,t.name,a.x,a.y,"component",r,o,t.inertia,n)}),t.notes.forEach(t=>{let a=p(t.visibility,t.evolution,`Note "${t.text}"`);e.addNote(t.text,a.x,a.y)}),t.pipelines.forEach(t=>{let a=e.getNode(t.parent);if(!a||"number"!=typeof a.y)throw Error(`Pipeline "${t.parent}" must reference an existing component with coordinates.`);let r=a.y;e.startPipeline(t.parent),t.components.forEach(a=>{let o=`${t.parent}_${a.name}`,n=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,i=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,l=c(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(o,a.name,l,r,"pipeline-component",n,i),e.addPipelineComponent(t.parent,o)})}),t.links.forEach(t=>{let a=!!t.arrow&&(t.arrow.includes("-.->")||t.arrow.includes(".-.")),r=h(t.fromPort)??h(t.toPort),{flow:o,label:n}=x(t.arrow);!r&&o&&(r=o);let i=t.linkLabel;e.addLink(e.resolveNodeId(t.from),e.resolveNodeId(t.to),a,n??i,r)}),t.evolves.forEach(t=>{let a=e.getNode(t.component);if(a?.y!==void 0){let r=c(t.target,`Evolve target for "${t.component}"`);e.addTrend(t.component,r,a.y)}}),t.annotations.length>0){let a=t.annotations[0],r=p(a.x,a.y,"Annotations box");e.setAnnotationsBox(r.x,r.y)}t.annotation.forEach(t=>{let a=p(t.x,t.y,`Annotation ${t.number}`);e.addAnnotation(t.number,[{x:a.x,y:a.y}],t.text)}),t.accelerators.forEach(t=>{let a=p(t.x,t.y,`Accelerator "${t.name}"`);e.addAccelerator(t.name,a.x,a.y)}),t.deaccelerators.forEach(t=>{let a=p(t.x,t.y,`Deaccelerator "${t.name}"`);e.addDeaccelerator(t.name,a.x,a.y)})},"populateDb"),f={parser:{yy:void 0},parse:(0,s.K)(async t=>{let e=await (0,d.qg)("wardley",t);l.R.debug(e);let a=f.parser?.yy;if(!a||"function"!=typeof a.addNode)throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(e,a)},"parse")},g=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{(0,s.K)(this,"WardleyBuilder")}addNode(t){let e=this.nodes.get(t.id)??{id:t.id,label:t.label},a={...e,...t,className:t.className??e.className,labelOffsetX:t.labelOffsetX??e.labelOffsetX,labelOffsetY:t.labelOffsetY??e.labelOffsetY};this.nodes.set(t.id,a)}addLink(t){this.links.push(t)}addTrend(t){this.trends.set(t.nodeId,t)}startPipeline(t){this.pipelines.set(t,{nodeId:t,componentIds:[]});let e=this.nodes.get(t);e&&(e.isPipelineParent=!0)}addPipelineComponent(t,e){let a=this.pipelines.get(t);a&&a.componentIds.push(e);let r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(t){this.annotations.push(t)}addNote(t){this.notes.push(t)}addAccelerator(t){this.accelerators.push(t)}addDeaccelerator(t){this.deaccelerators.push(t)}setAnnotationsBox(t,e){this.annotationsBox={x:t,y:e}}setAxes(t){this.axes={...this.axes,...t}}setSize(t,e){this.size={width:t,height:e}}getNode(t){return this.nodes.get(t)}resolveNodeId(t){if(this.nodes.has(t))return t;for(let[e,a]of this.nodes)if(a.label===t)return e;return t}build(){let t=[];for(let e of this.nodes.values()){if("number"!=typeof e.x||"number"!=typeof e.y)throw Error(`Node "${e.label}" is missing coordinates`);t.push(e)}return{nodes:t,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function u(){return(0,i.D7)()["wardley-beta"]}function w(t,e,a,r,o,n,i,l,s){g.addNode({id:t,label:e,x:a,y:r,className:o,labelOffsetX:n,labelOffsetY:i,inertia:l,sourceStrategy:s})}function m(t,e,a=!1,r,o){g.addLink({source:t,target:e,dashed:a,label:r,flow:o})}function k(t,e,a){g.addTrend({nodeId:t,targetX:e,targetY:a})}function b(t,e,a){g.addAnnotation({number:t,coordinates:e,text:a})}function $(t,e,a){g.addNote({text:t,x:e,y:a})}function S(t,e,a){g.addAccelerator({name:t,x:e,y:a})}function v(t,e,a){g.addDeaccelerator({name:t,x:e,y:a})}function C(t,e){g.setAnnotationsBox(t,e)}function M(t,e){g.setSize(t,e)}function P(t){g.startPipeline(t)}function N(t,e){g.addPipelineComponent(t,e)}function T(t){g.setAxes(t)}function z(t){return g.getNode(t)}function E(t){return g.resolveNodeId(t)}function L(){return g.build()}function A(){g.clear(),(0,i.IU)()}(0,s.K)(u,"getConfig"),(0,s.K)(w,"addNode"),(0,s.K)(m,"addLink"),(0,s.K)(k,"addTrend"),(0,s.K)(b,"addAnnotation"),(0,s.K)($,"addNote"),(0,s.K)(S,"addAccelerator"),(0,s.K)(v,"addDeaccelerator"),(0,s.K)(C,"setAnnotationsBox"),(0,s.K)(M,"setSize"),(0,s.K)(P,"startPipeline"),(0,s.K)(N,"addPipelineComponent"),(0,s.K)(T,"updateAxes"),(0,s.K)(z,"getNode"),(0,s.K)(E,"resolveNodeId"),(0,s.K)(L,"getWardleyData"),(0,s.K)(A,"clear");var K={getConfig:u,addNode:w,addLink:m,addTrend:k,addAnnotation:b,addNote:$,addAccelerator:S,addDeaccelerator:v,setAnnotationsBox:C,setSize:M,startPipeline:P,addPipelineComponent:N,updateAxes:T,getNode:z,resolveNodeId:E,getWardleyData:L,clear:A,setAccTitle:i.SV,getAccTitle:i.iN,setDiagramTitle:i.ke,getDiagramTitle:i.ab,getAccDescription:i.m7,setAccDescription:i.EI},I=["Genesis","Custom Built","Product","Commodity"],R=(0,s.K)(()=>{let{themeVariables:t}=(0,i.D7)();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),D=(0,s.K)(()=>{let t=(0,i.D7)()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),F={parser:f,db:K,renderer:{draw:(0,s.K)((t,e,a,r)=>{l.R.debug("Rendering Wardley map\n"+t);let n=D(),d=R(),c=1.6*n.nodeRadius,p=r.db,h=p.getWardleyData(),x=p.getDiagramTitle(),y=h.size?.width??n.width,f=h.size?.height??n.height,g=(0,o.D)(e);g.selectAll("*").remove(),(0,i.a$)(g,f,y,n.useMaxWidth),g.attr("viewBox",`0 0 ${y} ${f}`);let u=g.append("g").attr("class","wardley-map"),w=g.append("defs");w.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),u.append("rect").attr("class","wardley-background").attr("width",y).attr("height",f).attr("fill",d.backgroundColor);let m=y-2*n.padding,k=f-2*n.padding;x&&u.append("text").attr("class","wardley-title").attr("x",y/2).attr("y",n.padding/2).attr("fill",d.axisTextColor).attr("font-size",1.05*n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(x);let b=(0,s.K)(t=>n.padding+t/100*m,"projectX"),$=(0,s.K)(t=>f-n.padding-t/100*k,"projectY"),S=u.append("g").attr("class","wardley-axes");S.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1),S.append("line").attr("x1",n.padding).attr("x2",n.padding).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1);let v=h.axes.xLabel??"Evolution",C=h.axes.yLabel??"Visibility";S.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",n.padding+m/2).attr("y",f-n.padding/4).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(v),S.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",n.padding/3).attr("y",n.padding+k/2).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${n.padding/3} ${n.padding+k/2})`).text(C);let M=h.axes.stages&&h.axes.stages.length>0?h.axes.stages:I;if(M.length>0){let t=u.append("g").attr("class","wardley-stages"),e=h.axes.stageBoundaries,a=[];if(e&&e.length===M.length){let t=0;e.forEach(e=>{a.push({start:t,end:e}),t=e})}else{let t=1/M.length;M.forEach((e,r)=>{a.push({start:r*t,end:(r+1)*t})})}M.forEach((e,r)=>{let o=a[r],i=n.padding+o.start*m,l=(i+(n.padding+o.end*m))/2;r>0&&t.append("line").attr("x1",i).attr("x2",i).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",l).attr("y",f-n.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize-2).attr("text-anchor","middle").text(e)})}if(n.showGrid){let t=u.append("g").attr("class","wardley-grid");for(let e=1;e<4;e++){let a=e/4,r=n.padding+m*a;t.append("line").attr("x1",r).attr("x2",r).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding-k*a).attr("y2",f-n.padding-k*a).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}let P=new Map;if(h.nodes.forEach(t=>{P.set(t.id,{x:b(t.x),y:$(t.y),node:t})}),h.pipelines.length>0){let t=u.append("g").attr("class","wardley-pipelines"),e=u.append("g").attr("class","wardley-pipeline-links");h.pipelines.forEach(a=>{if(0===a.componentIds.length)return;let r=a.componentIds.map(t=>({id:t,pos:P.get(t),node:h.nodes.find(e=>e.id===t)})).filter(t=>t.pos&&t.node).sort((t,e)=>t.node.x-e.node.x);for(let t=0;t<r.length-1;t++){let a=r[t],o=r[t+1];e.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",a.pos.x).attr("y1",a.pos.y).attr("x2",o.pos.x).attr("y2",o.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let o=1/0,i=-1/0,l=0;if(a.componentIds.forEach(t=>{let e=P.get(t);e&&(o=Math.min(o,e.x),i=Math.max(i,e.x),l=e.y)}),o!==1/0&&i!==-1/0){let e=4*n.nodeRadius,r=l-e/2,s=P.get(a.nodeId);s&&(s.x=(o+i)/2,s.y=r-c/6),t.append("rect").attr("class","wardley-pipeline-box").attr("x",o-15).attr("y",r).attr("width",i-o+30).attr("height",e).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let N=u.append("g").attr("class","wardley-links"),T=new Map;h.pipelines.forEach(t=>{T.set(t.nodeId,new Set(t.componentIds))});let z=h.links.filter(t=>{if(!P.has(t.source)||!P.has(t.target))return!1;let e=T.get(t.target);return!e?.has(t.source)});N.selectAll("line").data(z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.x+o/l*r}).attr("y1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.y+i/l*r}).attr("x2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.x+o/l*r}).attr("y2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.y+i/l*r}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>"forward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-end-${e})`:null).attr("marker-start",t=>"backward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-start-${e})`:null),N.selectAll("text").data(z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=a.y-e.y,n=a.x-e.x,i=Math.sqrt(n*n+o*o);return r+o/i*8}).attr("y",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.y+a.y)/2,o=a.x-e.x,n=a.y-e.y,i=Math.sqrt(o*o+n*n);return r+-o/i*8}).attr("fill",d.axisTextColor).attr("font-size",n.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=(e.y+a.y)/2,n=a.x-e.x,i=a.y-e.y,l=Math.sqrt(n*n+i*i),s=180*Math.atan2(i,n)/Math.PI;return(s>90||s<-90)&&(s+=180),`rotate(${s} ${r+i/l*8} ${o+-n/l*8})`}).text(t=>t.label);let E=u.append("g").attr("class","wardley-trends"),L=h.trends.map(t=>{let e=P.get(t.nodeId);if(!e)return null;let a=b(t.targetX),r=$(t.targetY),o=a-e.x,i=r-e.y,l=Math.sqrt(o*o+i*i),s=n.nodeRadius+2;return{origin:e,targetX:a,targetY:r,adjustedX2:l>s?a-o/l*s:a,adjustedY2:l>s?r-i/l*s:r}}).filter(t=>null!==t);E.selectAll("line").data(L).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);let A=u.append("g").attr("class","wardley-nodes").selectAll("g").data(h.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));A.filter(t=>"outsource"===t.sourceStrategy).append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>"buy"===t.sourceStrategy).append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>"build"===t.sourceStrategy).append("circle").attr("class","wardley-build-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let K=A.filter(t=>"market"===t.sourceStrategy);K.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>!t.isPipelineParent&&"market"!==t.sourceStrategy&&"anchor"!==t.className).append("circle").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",n.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);let F=.7*n.nodeRadius,B=1.2*n.nodeRadius;if(K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x).attr("y1",t=>P.get(t.id).y-B).attr("x2",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x).attr("y2",t=>P.get(t.id).y-B).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y-B).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),A.filter(t=>!0===t.isPipelineParent).append("rect").attr("x",t=>P.get(t.id).x-c/2).attr("y",t=>P.get(t.id).y-c/2).attr("width",c).attr("height",c).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>!0===t.inertia).append("line").attr("class","wardley-inertia").attr("x1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y-a/2}).attr("x2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y+a/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),A.append("text").attr("x",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetX?e.x+t.labelOffsetX:e.x;let a=n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetX&&(a+=10);let r=t.labelOffsetX??a;return e.x+r}).attr("y",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetY?e.y+t.labelOffsetY:e.y-3;let a=-n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetY&&(a-=10);let r=t.labelOffsetY??a;return e.y+r}).attr("class","wardley-node-label").attr("fill",t=>"evolved"===t.className?d.evolutionStroke:"anchor"===t.className?"#000":d.componentLabelColor).attr("font-size",n.labelFontSize).attr("font-weight",t=>"anchor"===t.className?"bold":"normal").attr("text-anchor",t=>"anchor"===t.className?"middle":"start").attr("dominant-baseline",t=>"anchor"===t.className?"middle":"auto").text(t=>t.label),h.annotations.length>0){let t=u.append("g").attr("class","wardley-annotations");if(h.annotations.forEach(e=>{let a=e.coordinates.map(t=>({x:b(t.x),y:$(t.y)}));if(a.length>1)for(let e=0;e<a.length-1;e++)t.append("line").attr("class","wardley-annotation-line").attr("x1",a[e].x).attr("y1",a[e].y).attr("x2",a[e+1].x).attr("y2",a[e+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(a=>{let r=t.append("g").attr("class","wardley-annotation");r.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),r.append("text").attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.number)})}),h.annotationsBox){let e=b(h.annotationsBox.x),a=$(h.annotationsBox.y),r=t.append("g").attr("class","wardley-annotations-box"),o=[...h.annotations].filter(t=>t.text).sort((t,e)=>t.number-e.number),i=[];if(o.forEach((t,o)=>{let n=r.append("text").attr("x",e+10).attr("y",a+10+(o+1)*16).attr("font-size",11).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${t.number}. ${t.text}`);i.push(n)}),i.length>0){let t=0,l=0;i.forEach(e=>{let a=e.node(),r=a.getComputedTextLength();t=Math.max(t,r);let o=a.getBBox();l=Math.max(l,o.height)});let s=t+20+105,c=16*o.length+20+l/2,p=n.padding,h=y-n.padding-s,x=n.padding,g=f-n.padding-c;e=Math.max(p,Math.min(e,h)),a=Math.max(x,Math.min(a,g)),i.forEach((t,r)=>{t.attr("x",e+10).attr("y",a+10+(r+1)*16)}),r.insert("rect","text").attr("x",e).attr("y",a).attr("width",s).attr("height",c).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(h.notes.length>0){let t=u.append("g").attr("class","wardley-notes");h.notes.forEach(e=>{let a=b(e.x),r=$(e.y);t.append("text").attr("x",a).attr("y",r).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.text)})}if(h.accelerators.length>0){let t=u.append("g").attr("class","wardley-accelerators");h.accelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=`
2
- M ${a} ${r-15}
3
- L ${a+60-20} ${r-15}
4
- L ${a+60-20} ${r-15-8}
5
- L ${a+60} ${r}
6
- L ${a+60-20} ${r+15+8}
7
- L ${a+60-20} ${r+15}
8
- L ${a} ${r+15}
9
- Z
10
- `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}if(h.deaccelerators.length>0){let t=u.append("g").attr("class","wardley-deaccelerators");h.deaccelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=`
11
- M ${a+60} ${r-15}
12
- L ${a+20} ${r-15}
13
- L ${a+20} ${r-15-8}
14
- L ${a} ${r}
15
- L ${a+20} ${r+15+8}
16
- L ${a+20} ${r+15}
17
- L ${a+60} ${r+15}
18
- Z
19
- `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}},"draw")},styles:(0,s.K)(({wardley:t}={})=>{let e=(0,i.P$)(),a=(0,i.zj)(),r=(0,n.$t)(e,a.themeVariables),o=(0,n.$t)(r.wardley,t);return`
20
- .wardley-background {
21
- fill: ${o.backgroundColor};
22
- }
23
- .wardley-axes line, .wardley-axes path {
24
- stroke: ${o.axisColor};
25
- }
26
- .wardley-axis-label {
27
- fill: ${o.axisTextColor};
28
- }
29
- .wardley-stage-label {
30
- fill: ${o.axisTextColor};
31
- }
32
- .wardley-grid line {
33
- stroke: ${o.gridColor};
34
- }
35
- .wardley-node circle {
36
- fill: ${o.componentFill};
37
- stroke: ${o.componentStroke};
38
- }
39
- .wardley-node-label {
40
- fill: ${o.componentLabelColor};
41
- }
42
- .wardley-link {
43
- stroke: ${o.linkStroke};
44
- }
45
- .wardley-link--dashed {
46
- stroke-dasharray: 4 4;
47
- }
48
- .wardley-link-label {
49
- fill: ${o.axisTextColor};
50
- }
51
- .wardley-trend line {
52
- stroke: ${o.evolutionStroke};
53
- }
54
- .wardley-annotation-line {
55
- stroke: ${o.annotationStroke};
56
- }
57
- .wardley-annotation circle {
58
- fill: ${o.annotationFill};
59
- stroke: ${o.annotationStroke};
60
- }
61
- .wardley-annotation text {
62
- fill: ${o.annotationTextColor};
63
- }
64
- .wardley-annotations-box rect {
65
- fill: ${o.annotationFill};
66
- stroke: ${o.annotationStroke};
67
- }
68
- .wardley-annotations-box text {
69
- fill: ${o.annotationTextColor};
70
- }
71
- .wardley-pipeline-box {
72
- stroke: ${o.componentStroke};
73
- }
74
- .wardley-notes text {
75
- fill: ${o.axisTextColor};
76
- }
77
- `},"styles")}},82033:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(66432).K)(r,"populateCommonDb")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7445],{17445:(e,r,a)=>{a.d(r,{diagram:()=>m});var t=a(64468),l=a(82033);a(64244),a(7328);var n=a(42398),i=a(66432),s=a(59100),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.$}}}]);