elanous 0.2.29 → 0.2.31

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 (709) 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 → LSXfY0u9QtfDbejY0Ukf_}/_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-50625904996a8fa8.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/6948.1062d4594652b5bf.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/7138-eaf841fc1dc03463.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/7174-cda29ee13d7790e7.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/7304-3c07583f4e405f4f.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/7371.80c05c653b08e907.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/7391.ebae168025c91b6a.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/{1852.7f7b53991fcb99ef.js → 7502.ccd5b8065545edd0.js} +2 -2
  93. package/apps/pwa/out/_next/static/chunks/7557.e325503a090a4310.js +8 -0
  94. package/apps/pwa/out/_next/static/chunks/7569-9ce9432c7f10989f.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/{6534.1ab00f370db7b105.js → 7862.30a8d6482bb238eb.js} +1 -1
  96. package/apps/pwa/out/_next/static/chunks/7886-55854585fadeded1.js +1 -0
  97. package/apps/pwa/out/_next/static/chunks/7947-d0759430f8042240.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/{285adb1a.5654e605dddf86d2.js → 7a1887c4.f36b88fba31da8fd.js} +1 -1
  99. package/apps/pwa/out/_next/static/chunks/8018.a32663f04a6fc5f9.js +1 -0
  100. package/apps/pwa/out/_next/static/chunks/8097-92f87bd108322f66.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/8215-1661812b6e9ad71f.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/8260-19c921a51ca8ec3e.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/8440.3a5cf5c85aa76db8.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/8519-4599be2249161e68.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/8547.b028b90c5c01ace6.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/8587-cbe02a953a7f4990.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/877-2b977259c4b15655.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/9002.e5658224e3dc1b6f.js +24 -0
  109. package/apps/pwa/out/_next/static/chunks/9019-0a4b40c50c7314fb.js +1 -0
  110. package/apps/pwa/out/_next/static/chunks/{1516.dfaceff3fd2d0e0d.js → 9138.b6e80031afb1d973.js} +1 -1
  111. package/apps/pwa/out/_next/static/chunks/9188-d36e4fc869ddc166.js +1 -0
  112. package/apps/pwa/out/_next/static/chunks/{9907.49be0fcadaf214b5.js → 9221.7d22eaf353a2d4e7.js} +1 -1
  113. package/apps/pwa/out/_next/static/chunks/9230.44f5039e796e4ab4.js +1 -0
  114. package/apps/pwa/out/_next/static/chunks/{8767-2f6a634f5abeaa01.js → 9279-d28c5b7754d010ae.js} +1 -1
  115. package/apps/pwa/out/_next/static/chunks/939.336acce73e98482c.js +1 -0
  116. package/apps/pwa/out/_next/static/chunks/{3160-95c96f4d2a21dd26.js → 9398-6aed28f0a96d0d6f.js} +1 -1
  117. package/apps/pwa/out/_next/static/chunks/9407.e49124dedf0f5e72.js +1 -0
  118. package/apps/pwa/out/_next/static/chunks/9610.c07cce4bfcc14ed7.js +1 -0
  119. package/apps/pwa/out/_next/static/chunks/9667-ce78c2ce91050ff9.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/{328bb3ab-6628a1114fe3fb3b.js → 997ce8a5-2ad501927003b41b.js} +1 -1
  121. package/apps/pwa/out/_next/static/chunks/{6853.cc5174a9dee59593.js → 9989.3694300e5f000b14.js} +1 -1
  122. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-339fabb3499da0e1.js +1 -0
  123. package/apps/pwa/out/_next/static/chunks/app/approvals/page-bf3634a117322df7.js +1 -0
  124. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-3535a4a69f1fafaa.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/board/page-b9f51447f757fbf2.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/botlab/{page-a5635eba0d73b84e.js → page-2ebb8fd59b9461f9.js} +1 -1
  127. package/apps/pwa/out/_next/static/chunks/app/bots/page-a2fc4e49a4fa4ba8.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/ceo/page-5a503541353e60a8.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/chat/page-6025101384e361a5.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/consult/page-f4b630cc8b5273cd.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/control/page-a645f00a06483e9a.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/decisions/page-61ac22cbab1ee4ec.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/design-check/page-e9bab7413b028b28.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/editor/page-c992eafe028b642e.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/exec/page-e547e6ce55f1fb33.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/field/page-d27e1b9850fd54bf.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/healthz/route-339fabb3499da0e1.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/inside/page-805ac2e137b7a121.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/intake/page-0fec29c7ba01894b.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/layout-339a07410cd6f36b.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/live/page-349f2752d8cd37ad.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/live-run/page-d5c6dcf31c25cecc.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/loops/page-2fd93ed8c9f16580.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/market/page-9b564dbff0fefc35.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-62f4475d3c38fb9b.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/morning/page-814ba51385225776.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/not-found-397d479626e5a459.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/observatory/page-af1bba4e3251b728.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-3ad3be5e7d3fdce9.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-f219ccdbc0bf27df.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4da93ad35d4a8d28.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/outputs/page-456666766e5ce6fc.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/page-7404e377e8adb8c5.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/reflection/page-14456240ed2a36ad.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-3a658d5fa6d16a25.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/sessions/page-0157de6e85f8bb6b.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-0a07363b130182a1.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/settings/page-841d73d4ac44ed49.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-6f43a3d1146e6377.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/setup/layout-339fabb3499da0e1.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/{page-29900ed0011b2c83.js → page-521ee23ac8c0abfa.js} +1 -1
  162. package/apps/pwa/out/_next/static/chunks/app/share/page-a9992ee285efaa83.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/showroom/page-3d48e85fa89ec04f.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/tasks/page-d2ced71132fac9b2.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/term/page-f08358bdf251adb9.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/today/page-233c71cd5f68f0d7.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/trace/page-70151d78de2f375e.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/vault/page-dcac33a3e2cb72c0.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/{page-9f92737b8766009a.js → page-149dc1caba411bb9.js} +1 -1
  170. package/apps/pwa/out/_next/static/chunks/app/workflows/page-0448145ccd5c45c1.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workspace/page-9cb0c444903da65d.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-17e504c396e0e389.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/{425cfc4d.fb91158e3971c39f.js → b313b242.cb1265eea908db61.js} +1 -1
  174. package/apps/pwa/out/_next/static/chunks/e5012ffe.f727e23c231f4342.js +122 -0
  175. package/apps/pwa/out/_next/static/chunks/ea695e3c-1f1d70d740cf3031.js +1 -0
  176. package/apps/pwa/out/_next/static/chunks/ebc7d829.264a0bcb6c750b50.js +1 -0
  177. package/apps/pwa/out/_next/static/chunks/framework-906af9bd029e166c.js +1 -0
  178. package/apps/pwa/out/_next/static/chunks/main-a24847f9f684d469.js +1 -0
  179. package/apps/pwa/out/_next/static/chunks/main-app-7bdcd8aa7c8397d3.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/pages/_app-6ba46a5066fc226d.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/pages/_error-a8dc6d07591f2a25.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/webpack-f13df28c15c55eee.js +1 -0
  183. package/apps/pwa/out/_next/static/css/{72becfd42807b50d.css → 3f5fc6f96e2cf7b2.css} +1 -1
  184. package/apps/pwa/out/approvals/index.html +1 -1
  185. package/apps/pwa/out/approvals/index.txt +23 -23
  186. package/apps/pwa/out/autopilot/index.html +1 -1
  187. package/apps/pwa/out/autopilot/index.txt +23 -23
  188. package/apps/pwa/out/board/index.html +1 -1
  189. package/apps/pwa/out/board/index.txt +23 -23
  190. package/apps/pwa/out/botlab/index.html +1 -1
  191. package/apps/pwa/out/botlab/index.txt +22 -22
  192. package/apps/pwa/out/bots/index.html +1 -1
  193. package/apps/pwa/out/bots/index.txt +22 -22
  194. package/apps/pwa/out/ceo/index.html +1 -1
  195. package/apps/pwa/out/ceo/index.txt +23 -23
  196. package/apps/pwa/out/chat/index.html +1 -1
  197. package/apps/pwa/out/chat/index.txt +22 -22
  198. package/apps/pwa/out/consult/index.html +1 -1
  199. package/apps/pwa/out/consult/index.txt +23 -23
  200. package/apps/pwa/out/control/index.html +1 -1
  201. package/apps/pwa/out/control/index.txt +23 -23
  202. package/apps/pwa/out/decisions/index.html +1 -1
  203. package/apps/pwa/out/decisions/index.txt +22 -22
  204. package/apps/pwa/out/design-check/index.html +1 -1
  205. package/apps/pwa/out/design-check/index.txt +23 -23
  206. package/apps/pwa/out/editor/index.html +1 -1
  207. package/apps/pwa/out/editor/index.txt +23 -23
  208. package/apps/pwa/out/exec/index.html +1 -1
  209. package/apps/pwa/out/exec/index.txt +23 -23
  210. package/apps/pwa/out/field/index.html +1 -1
  211. package/apps/pwa/out/field/index.txt +23 -23
  212. package/apps/pwa/out/healthz +1 -1
  213. package/apps/pwa/out/index.html +1 -1
  214. package/apps/pwa/out/index.txt +22 -22
  215. package/apps/pwa/out/inside/index.html +1 -1
  216. package/apps/pwa/out/inside/index.txt +22 -22
  217. package/apps/pwa/out/intake/index.html +1 -1
  218. package/apps/pwa/out/intake/index.txt +23 -23
  219. package/apps/pwa/out/live/index.html +1 -1
  220. package/apps/pwa/out/live/index.txt +23 -23
  221. package/apps/pwa/out/live-run/index.html +1 -1
  222. package/apps/pwa/out/live-run/index.txt +23 -23
  223. package/apps/pwa/out/loops/index.html +1 -1
  224. package/apps/pwa/out/loops/index.txt +22 -22
  225. package/apps/pwa/out/market/index.html +1 -1
  226. package/apps/pwa/out/market/index.txt +22 -22
  227. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  228. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  229. package/apps/pwa/out/morning/index.html +1 -1
  230. package/apps/pwa/out/morning/index.txt +23 -23
  231. package/apps/pwa/out/observatory/index.html +1 -1
  232. package/apps/pwa/out/observatory/index.txt +23 -23
  233. package/apps/pwa/out/ops/checklist/index.html +1 -1
  234. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  235. package/apps/pwa/out/ops/release/index.html +1 -1
  236. package/apps/pwa/out/ops/release/index.txt +22 -22
  237. package/apps/pwa/out/ops/seats/index.html +1 -1
  238. package/apps/pwa/out/ops/seats/index.txt +22 -22
  239. package/apps/pwa/out/outputs/index.html +1 -1
  240. package/apps/pwa/out/outputs/index.txt +22 -22
  241. package/apps/pwa/out/reflection/index.html +1 -1
  242. package/apps/pwa/out/reflection/index.txt +23 -23
  243. package/apps/pwa/out/scheduler/index.html +1 -1
  244. package/apps/pwa/out/scheduler/index.txt +23 -23
  245. package/apps/pwa/out/sessions/index.html +1 -1
  246. package/apps/pwa/out/sessions/index.txt +22 -22
  247. package/apps/pwa/out/settings/devices/index.html +1 -1
  248. package/apps/pwa/out/settings/devices/index.txt +23 -23
  249. package/apps/pwa/out/settings/index.html +1 -1
  250. package/apps/pwa/out/settings/index.txt +23 -23
  251. package/apps/pwa/out/setup/done/index.html +1 -1
  252. package/apps/pwa/out/setup/done/index.txt +23 -23
  253. package/apps/pwa/out/setup/index.html +1 -1
  254. package/apps/pwa/out/setup/index.txt +23 -23
  255. package/apps/pwa/out/share/index.html +1 -1
  256. package/apps/pwa/out/share/index.txt +23 -23
  257. package/apps/pwa/out/showroom/index.html +1 -1
  258. package/apps/pwa/out/showroom/index.txt +22 -22
  259. package/apps/pwa/out/tasks/index.html +1 -1
  260. package/apps/pwa/out/tasks/index.txt +23 -23
  261. package/apps/pwa/out/term/index.html +1 -1
  262. package/apps/pwa/out/term/index.txt +23 -23
  263. package/apps/pwa/out/today/index.html +1 -1
  264. package/apps/pwa/out/today/index.txt +23 -23
  265. package/apps/pwa/out/trace/index.html +1 -1
  266. package/apps/pwa/out/trace/index.txt +23 -23
  267. package/apps/pwa/out/vault/index.html +1 -1
  268. package/apps/pwa/out/vault/index.txt +23 -23
  269. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  270. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  271. package/apps/pwa/out/workflows/index.html +1 -1
  272. package/apps/pwa/out/workflows/index.txt +23 -23
  273. package/apps/pwa/out/workspace/index.html +1 -1
  274. package/apps/pwa/out/workspace/index.txt +23 -23
  275. package/apps/pwa/out/worktrees/index.html +1 -1
  276. package/apps/pwa/out/worktrees/index.txt +23 -23
  277. package/bin/elanous.mjs +7 -3
  278. package/graphs/context/nightly-condense.yaml +1 -0
  279. package/graphs/intake/intake-daily.yaml +8 -1
  280. package/graphs/intake/recipes.yaml +5 -0
  281. package/graphs/lecture/lecture-note.yaml +2 -2
  282. package/graphs/ops/harness-gc.yaml +1 -0
  283. package/graphs/release/recipes.yaml +3 -0
  284. package/graphs/release/release-loop.yaml +9 -5
  285. package/graphs/units/recipes.yaml +3 -0
  286. package/graphs/units/release-gate-recheck.yaml +15 -0
  287. package/package.json +2 -1
  288. package/scripts/check-native-tool-wiring.ts +3 -2
  289. package/scripts/ci-android-unit-tests.ts +16 -0
  290. package/scripts/ci-typecheck-changed.ts +37 -9
  291. package/scripts/coord-channel-watch.sh +22 -16
  292. package/scripts/coord-role-pack.ts +81 -2
  293. package/scripts/cron-run.ts +96 -3
  294. package/scripts/detect-test-interference.ts +38 -5
  295. package/scripts/gate-pr-cache.ts +65 -0
  296. package/scripts/gh-surface/capture.ts +126 -0
  297. package/scripts/gh-surface/gh +40 -0
  298. package/scripts/import-graph-scc.ts +38 -0
  299. package/scripts/install.ps1 +19 -0
  300. package/scripts/intake-social.ts +181 -0
  301. package/scripts/lecture-note/node.ts +71 -4
  302. package/scripts/lib/android-toolchain.ts +32 -0
  303. package/scripts/lib/deterministic-env.ts +62 -0
  304. package/scripts/lib/gate-test-env.ts +19 -0
  305. package/scripts/measure-goal-grounding-corpus.ts +2 -1
  306. package/scripts/ratchets/test-interference-patterns.allowlist.txt +257 -0
  307. package/scripts/ratchets/test-interference-patterns.ts +367 -0
  308. package/scripts/release-loop/cut-branch.ts +4 -3
  309. package/scripts/release-loop/export-check-node.ts +0 -1
  310. package/scripts/release-loop/fixtures/warm-failure-assertion/sample.junit.xml +8 -0
  311. package/scripts/release-loop/fixtures/warm-job-029/sample.json +1 -0
  312. package/scripts/release-loop/fixtures/warm-job-029/sample.junit.xml +10 -0
  313. package/scripts/release-loop/gate-closure.ts +12 -8
  314. package/scripts/release-loop/gate-diff.ts +1 -1
  315. package/scripts/release-loop/gate-host-mirror.ts +66 -0
  316. package/scripts/release-loop/gate-node.ts +523 -75
  317. package/scripts/release-loop/gate-partial.ts +106 -9
  318. package/scripts/release-loop/gate-pr-cache.ts +66 -0
  319. package/scripts/release-loop/gate-prewarm-plan.ts +66 -0
  320. package/scripts/release-loop/gate-r2-verdict.ts +189 -0
  321. package/scripts/release-loop/gate-recheck-plan-node.ts +52 -0
  322. package/scripts/release-loop/gate-warm-artifacts.ts +253 -0
  323. package/scripts/release-loop/import-graph-scc-run.ts +54 -0
  324. package/scripts/release-loop/import-graph-scc.ts +215 -0
  325. package/scripts/release-loop/node-verdict.ts +2 -0
  326. package/scripts/release-loop/probe-pod-host-dirs-live.ts +113 -0
  327. package/scripts/release-loop/resume-release.ts +33 -4
  328. package/scripts/release-loop/resume.ts +13 -5
  329. package/scripts/release-loop/spawn-lane.ts +2 -19
  330. package/scripts/release-loop/tui-sim-node.ts +3 -2
  331. package/scripts/release-loop/unattended-release.ts +16 -0
  332. package/scripts/test-deterministic.ts +5 -61
  333. package/scripts/train-reach-grouping.ts +48 -0
  334. package/scripts/tsc-incremental-cache.ts +86 -0
  335. package/scripts/tsc-incremental-diagnostics.ts +76 -0
  336. package/scripts/tsc-main-safety-net.ts +2 -2
  337. package/src/acp/client.ts +4 -1
  338. package/src/acp/core-turn-bridge.ts +50 -5
  339. package/src/ad-pipeline/run.ts +4 -2
  340. package/src/agent/runner.ts +169 -3
  341. package/src/agent/subagent-callable.ts +3 -2
  342. package/src/agent-mission/review-loop.ts +6 -3
  343. package/src/agent-substrate/acp-implementer.ts +14 -2
  344. package/src/agent-substrate/pr-reviewer.ts +12 -0
  345. package/src/agent-substrate/self-review-cli.ts +30 -4
  346. package/src/autopilot/pr-manager.ts +62 -7
  347. package/src/briefing/brief-items.ts +24 -22
  348. package/src/capture/tui-self-report.ts +15 -0
  349. package/src/chat/chat-cli.ts +10 -2
  350. package/src/chat/index.ts +77 -11
  351. package/src/chat/input-control-key.ts +5 -3
  352. package/src/chat/tool-interrupt-behavior.ts +38 -0
  353. package/src/chat/tool-render/dispatch.ts +5 -1
  354. package/src/chat/turn-typeahead.ts +75 -20
  355. package/src/cli/__fixtures__/agent-help-before/agent.txt +4 -2
  356. package/src/cli/agent-cli.ts +41 -13
  357. package/src/cli/config-audit.ts +123 -0
  358. package/src/cli/decisions-cli.ts +80 -6
  359. package/src/cli/log-event-names.ts +7 -0
  360. package/src/cli/mcp-login.ts +21 -5
  361. package/src/cli/msg-cli.ts +88 -0
  362. package/src/cli/pr-cli.ts +214 -57
  363. package/src/cli/pr-land-heavy-remote.ts +2 -2
  364. package/src/cli/pr-land-overlap-evidence.ts +63 -9
  365. package/src/cli/pr-land-pod-shadow-job.ts +83 -0
  366. package/src/cli/pr-land-pod-shadow.ts +16 -3
  367. package/src/cli/pr-land-virtual-rebase.ts +108 -0
  368. package/src/cli/release-cli.ts +80 -14
  369. package/src/cli/seat-cli.ts +138 -3
  370. package/src/cli/self-update.ts +5 -2
  371. package/src/cli/tasks-cli.ts +97 -19
  372. package/src/context-bus/context-first.ts +13 -0
  373. package/src/context-bus/context-now.ts +13 -2
  374. package/src/context-bus/ops-events.ts +75 -0
  375. package/src/control-plane/lease-holder.ts +12 -8
  376. package/src/control-plane/ledger.ts +163 -4
  377. package/src/control-plane/server.ts +91 -11
  378. package/src/core-turn/run-core-turn.ts +1 -0
  379. package/src/core-turn/run-goal-loop.ts +222 -3
  380. package/src/core-turn/seat-turn-cap.ts +79 -0
  381. package/src/core-turn/short-question.ts +38 -6
  382. package/src/core-turn/types.ts +3 -0
  383. package/src/dashboard/acp-boot.ts +3 -0
  384. package/src/dashboard/index.ts +224 -615
  385. package/src/dashboard/input/chat-main-entry-runtime.ts +1 -1
  386. package/src/dashboard/input/chat-main-plain-turn-runtime.ts +4 -1
  387. package/src/dashboard/input/chat-main-session.ts +8 -1
  388. package/src/dashboard/input/chat-main-turn.ts +12 -3
  389. package/src/dashboard/input/compact-prepass-recovery.ts +33 -0
  390. package/src/dashboard/input/external-input-host.ts +26 -0
  391. package/src/dashboard/input/internal-turn.ts +261 -0
  392. package/src/dashboard/input/seat-autowake.ts +318 -0
  393. package/src/dashboard/input/turn-steer-bridge.ts +70 -0
  394. package/src/dashboard/loop-scheduler.ts +72 -0
  395. package/src/dashboard/seat-boot-preamble.ts +18 -0
  396. package/src/dashboard/skill-runtime.ts +2 -0
  397. package/src/dashboard/slash-runtime/dashboard-handlers.ts +126 -1181
  398. package/src/dashboard/slash-runtime/help-from-registry.ts +2 -1
  399. package/src/dashboard/slash-runtime/index.ts +13 -0
  400. package/src/dashboard/turn-busy-teardown.ts +50 -0
  401. package/src/decisions/decision-ledger.ts +45 -4
  402. package/src/discord-self-message.ts +4 -4
  403. package/src/domains/release-tool.ts +18 -1
  404. package/src/field-note/transcribe.ts +17 -0
  405. package/src/github/remote-call.ts +81 -0
  406. package/src/goals/registry.ts +46 -6
  407. package/src/goals/types.ts +7 -1
  408. package/src/graph-runner/runner.ts +1 -0
  409. package/src/grok/credential.ts +26 -0
  410. package/src/harness/harness-clean.ts +2 -1
  411. package/src/harness/harness-cli-command.ts +52 -5
  412. package/src/harness/harness-gc.ts +2 -1
  413. package/src/harness/harness-incidents.ts +57 -20
  414. package/src/harness/harness-pod-dispatch.ts +87 -10
  415. package/src/harness/harness-queue.ts +53 -4
  416. package/src/harness/harness-stop.ts +4 -3
  417. package/src/harness/harness-substrate-default.ts +78 -7
  418. package/src/harness/harness-worktree-auto.ts +2 -1
  419. package/src/harness/harness-worktrees.ts +3 -2
  420. package/src/hooks/dispatch.ts +2 -1
  421. package/src/index.ts +152 -25
  422. package/src/input/external-input-queue.ts +33 -1
  423. package/src/intake-plane/slash.ts +14 -3
  424. package/src/keybindings.ts +4 -1
  425. package/src/llm/tool-loop-steered-rejection.ts +33 -0
  426. package/src/llm.ts +138 -19
  427. package/src/loops/consensus.ts +348 -0
  428. package/src/loops/msg-wake.ts +206 -4
  429. package/src/loops/observe.ts +19 -3
  430. package/src/loops/orchestrator/tick.ts +64 -10
  431. package/src/loops/orchestrator/traffic.ts +64 -1
  432. package/src/loops/registry.ts +30 -0
  433. package/src/market/signed-index.ts +14 -0
  434. package/src/mcp/mcp-oauth.ts +54 -5
  435. package/src/models/prompts.ts +28 -0
  436. package/src/msg/msg-sse-client.ts +223 -0
  437. package/src/msg/msg-store.ts +86 -2
  438. package/src/mss/logging/log-store.ts +225 -1
  439. package/src/nexus/DAEMON-THIN-inventory-2026-10-15.md +122 -0
  440. package/src/nexus/api/http-server.ts +54 -15
  441. package/src/nexus/api/loop-resources.ts +19 -3
  442. package/src/nexus/api/ops-api.ts +11 -0
  443. package/src/nexus/daemon-thin-inventory.md +37 -0
  444. package/src/nexus/index.ts +70 -0
  445. package/src/nexus/state/state.ts +1 -0
  446. package/src/oauth/store.ts +32 -7
  447. package/src/onboarding/first-run.ts +28 -3
  448. package/src/ops/overview-cache.ts +16 -4
  449. package/src/ops/resources.ts +82 -0
  450. package/src/plugins/maker/connector-maker.ts +41 -0
  451. package/src/plugins/maker/skill-maker.ts +42 -0
  452. package/src/pr-tool/census.ts +288 -0
  453. package/src/prompt-library/chat-conciseness.ts +13 -0
  454. package/src/prompt-library/universal-preamble.ts +10 -5
  455. package/src/release-loop/gate-host-reservation.ts +97 -0
  456. package/src/release-loop/landing-freeze.ts +5 -0
  457. package/src/release-loop/light-rc.ts +5 -2
  458. package/src/release-loop/placement.ts +92 -1
  459. package/src/release-loop/rehearsal-shard-plan.ts +149 -0
  460. package/src/release-loop/rehearsal.ts +73 -17
  461. package/src/repl/index.ts +20 -2
  462. package/src/seat-loop/seat-knowhow.ts +282 -0
  463. package/src/seat-loop/seat-loop.ts +41 -2
  464. package/src/seat-loop/traffic-signal.ts +3 -0
  465. package/src/self-dev/ask-launch-flow.ts +24 -3
  466. package/src/self-dev/decompose-compose-graph.ts +28 -27
  467. package/src/self-dev/decompose-proposal.ts +53 -38
  468. package/src/self-dev/decompose.ts +17 -0
  469. package/src/self-dev/dev-pipeline.ts +31 -2
  470. package/src/self-dev/draft-residue.ts +24 -9
  471. package/src/self-dev/draft-sweep.ts +59 -4
  472. package/src/self-dev/external-call-zero.ts +77 -0
  473. package/src/self-dev/launch-preflight-text.ts +6 -0
  474. package/src/self-dev/launch-preflight.ts +25 -3
  475. package/src/self-dev/local-supervisor-judge.ts +185 -0
  476. package/src/self-dev/run-supervisor.ts +229 -19
  477. package/src/self-dev/run-types.ts +20 -0
  478. package/src/self-dev/shard-aggregate.ts +13 -2
  479. package/src/self-dev/shard-plan.ts +47 -0
  480. package/src/self-dev/shard-run.ts +112 -10
  481. package/src/self-dev/spawn-lane-files.ts +19 -0
  482. package/src/self-implement/app-api-budget.ts +51 -11
  483. package/src/self-implement/config-gate.ts +2 -1
  484. package/src/self-implement/expose-gate.ts +2 -1
  485. package/src/self-implement/gate-artifacts.ts +405 -0
  486. package/src/self-implement/gate-cli.ts +201 -16
  487. package/src/self-implement/gate-remote.ts +110 -25
  488. package/src/self-implement/gate-scenario.ts +85 -0
  489. package/src/self-implement/goal-author.ts +160 -8
  490. package/src/self-implement/graph-authority.ts +38 -6
  491. package/src/self-implement/graph-overlay-condition.ts +92 -1
  492. package/src/self-implement/heal-triage.ts +79 -0
  493. package/src/self-implement/host-regate.ts +61 -3
  494. package/src/self-implement/orchestrator.ts +14 -123
  495. package/src/self-implement/pr-title.ts +123 -0
  496. package/src/self-implement/run-checkpoint.ts +235 -0
  497. package/src/self-implement/run-ledger.ts +155 -10
  498. package/src/self-implement/run-stop.ts +4 -3
  499. package/src/self-implement/run-ttl.ts +28 -4
  500. package/src/self-implement/seams.ts +2 -0
  501. package/src/self-implement/shadow-stage.ts +7 -6
  502. package/src/self-implement/stop-autoheal.ts +2 -1
  503. package/src/self-implement/train-gate-remote.ts +37 -8
  504. package/src/self-implement/train-reach-grouping.ts +157 -0
  505. package/src/self-implement/train-scenario-layers.ts +133 -0
  506. package/src/self-implement/uncommitted-work.ts +2 -0
  507. package/src/session/pending-input.ts +19 -0
  508. package/src/session/session-start.ts +224 -0
  509. package/src/session-runtime/parallel-dispatch.ts +22 -5
  510. package/src/skills/tools/dev-harness.ts +6 -4
  511. package/src/skills/tools/shell.ts +1 -1
  512. package/src/steward/resync-tick.ts +114 -23
  513. package/src/steward/ta-repair-event-collect.ts +158 -0
  514. package/src/task-agent/card-evidence.ts +25 -1
  515. package/src/task-agent/green-sweep.ts +8 -3
  516. package/src/task-agent/judge.ts +76 -0
  517. package/src/task-agent/land-queue.ts +79 -0
  518. package/src/task-agent/live-moves.ts +30 -9
  519. package/src/task-agent/postland-card.ts +5 -0
  520. package/src/task-agent/prelaunch-already-done.ts +98 -0
  521. package/src/task-agent/real-launch-guard.ts +37 -0
  522. package/src/task-agent/rejudge-on-head.ts +89 -12
  523. package/src/task-agent/remote-rejudge-bind.ts +28 -8
  524. package/src/task-agent/repair-cycle.ts +45 -7
  525. package/src/task-agent/repair-worker.ts +7 -0
  526. package/src/task-agent/run-identity.ts +200 -0
  527. package/src/task-agent/shadow.ts +50 -3
  528. package/src/task-agent/task-hand.ts +158 -5
  529. package/src/task-agent/train-landing.ts +77 -0
  530. package/src/task-agent/work-order.ts +104 -0
  531. package/src/task-orchestrator/surfaces/pod-command-job.ts +88 -28
  532. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +88 -19
  533. package/src/task-orchestrator/surfaces/pod-host-acp-review.ts +2 -1
  534. package/src/task-orchestrator/surfaces/pod-image-source.ts +2 -1
  535. package/src/task-orchestrator/surfaces/pod-install-slots.ts +121 -9
  536. package/src/task-orchestrator/surfaces/pod-lease.ts +20 -6
  537. package/src/task-orchestrator/surfaces/pod-lifecycle-stages.ts +169 -0
  538. package/src/task-orchestrator/surfaces/pod-mirror-seed.ts +27 -0
  539. package/src/task-orchestrator/surfaces/pod-result-marker-wait.ts +33 -0
  540. package/src/task-orchestrator/surfaces/pod-reuse-cleanup.ts +63 -0
  541. package/src/task-orchestrator/surfaces/pod-source-receive.ts +19 -3
  542. package/src/task-orchestrator/surfaces/pod-warm-switch.ts +141 -0
  543. package/src/task-orchestrator/surfaces/pod-warm-ta-shadow.ts +85 -0
  544. package/src/task-orchestrator/surfaces/pod-warm-worker-protocol.ts +153 -0
  545. package/src/task-orchestrator/surfaces/pod-warm-worker-runtime.ts +208 -0
  546. package/src/task-orchestrator/surfaces/self-implement-pod.ts +132 -15
  547. package/src/telegram.ts +2 -4
  548. package/src/tui/input/pickers.ts +732 -0
  549. package/src/tui/slash/mission.ts +492 -0
  550. package/src/tui/slash/term.ts +877 -0
  551. package/src/tui-client/dashboard-session.ts +9 -0
  552. package/src/tui.ts +48 -0
  553. package/src/user-config/gemini-server-tools.ts +9 -0
  554. package/src/user-config.ts +53 -16
  555. package/src/util/spawn-sync-output.ts +7 -0
  556. package/src/ux-sim/fake-bin.ts +154 -0
  557. package/src/ux-sim/fake-clock.ts +36 -0
  558. package/src/ux-sim/headless-tui.ts +72 -0
  559. package/src/ux-sim/in-process-cli.ts +2 -1
  560. package/src/ux-sim/temp-git-remote.ts +82 -0
  561. package/src/version/packed-revision.json +1 -1
  562. package/src/video-pipeline/recipes/vlog.ts +25 -7
  563. package/apps/pwa/out/_next/static/chunks/1015-9cba22a5a4554797.js +0 -1
  564. package/apps/pwa/out/_next/static/chunks/1084-4e66af7376a18db7.js +0 -1
  565. package/apps/pwa/out/_next/static/chunks/1106.3a6410b7b0c70ad4.js +0 -1
  566. package/apps/pwa/out/_next/static/chunks/1127.32fc642f70423506.js +0 -8
  567. package/apps/pwa/out/_next/static/chunks/1189-d9b8e1995a831fae.js +0 -1
  568. package/apps/pwa/out/_next/static/chunks/1224.6da98c7ad0eb7dd8.js +0 -34
  569. package/apps/pwa/out/_next/static/chunks/1370.4e3e2558f111fd5d.js +0 -1
  570. package/apps/pwa/out/_next/static/chunks/1514-b7da377fdc4eb17a.js +0 -1
  571. package/apps/pwa/out/_next/static/chunks/1577.3c24c32584e10d70.js +0 -286
  572. package/apps/pwa/out/_next/static/chunks/161.130a569855c4d68c.js +0 -24
  573. package/apps/pwa/out/_next/static/chunks/1864.16da9556e78a9236.js +0 -1
  574. package/apps/pwa/out/_next/static/chunks/1b6f6b2a.aff090122be3726e.js +0 -1
  575. package/apps/pwa/out/_next/static/chunks/2341.e8a9135e5b910dd5.js +0 -36
  576. package/apps/pwa/out/_next/static/chunks/257.10afdbe3520f2fc2.js +0 -1
  577. package/apps/pwa/out/_next/static/chunks/2658.87550e692dc493f6.js +0 -64
  578. package/apps/pwa/out/_next/static/chunks/2673.85e2f02efae7a85f.js +0 -1
  579. package/apps/pwa/out/_next/static/chunks/2766-bee623b37472ed63.js +0 -1
  580. package/apps/pwa/out/_next/static/chunks/2794.6d836872b0bf43e2.js +0 -1
  581. package/apps/pwa/out/_next/static/chunks/2806.eb57ced1a528ed39.js +0 -1
  582. package/apps/pwa/out/_next/static/chunks/283.7a121c4910e6dad7.js +0 -1
  583. package/apps/pwa/out/_next/static/chunks/2870.1dc29aa5fc01f09f.js +0 -115
  584. package/apps/pwa/out/_next/static/chunks/293.fd38e77ce5d48103.js +0 -1
  585. package/apps/pwa/out/_next/static/chunks/2993-5952a1cd3fd5d441.js +0 -1
  586. package/apps/pwa/out/_next/static/chunks/32-a523427c5bd5ed00.js +0 -1
  587. package/apps/pwa/out/_next/static/chunks/3280.af38002a6424a905.js +0 -90
  588. package/apps/pwa/out/_next/static/chunks/3292-5ddffdb2f517b44f.js +0 -1
  589. package/apps/pwa/out/_next/static/chunks/3523.d3231daaf7aba993.js +0 -1
  590. package/apps/pwa/out/_next/static/chunks/3763.577de3181e1e6ea0.js +0 -1
  591. package/apps/pwa/out/_next/static/chunks/4138-cc56b0938ef72783.js +0 -1
  592. package/apps/pwa/out/_next/static/chunks/4255-8350c43d307a8875.js +0 -1
  593. package/apps/pwa/out/_next/static/chunks/4352.a4954693499c2714.js +0 -1
  594. package/apps/pwa/out/_next/static/chunks/4421-f2dcbc6fd80ec013.js +0 -1
  595. package/apps/pwa/out/_next/static/chunks/4513-51b94aeee37c9905.js +0 -1
  596. package/apps/pwa/out/_next/static/chunks/4928-c3b72f99aa588699.js +0 -1
  597. package/apps/pwa/out/_next/static/chunks/4986-f9fc0283fb325219.js +0 -1
  598. package/apps/pwa/out/_next/static/chunks/5014.671a7b9f69c2b7b1.js +0 -94
  599. package/apps/pwa/out/_next/static/chunks/5137.d398e24710b3feb6.js +0 -1
  600. package/apps/pwa/out/_next/static/chunks/5298.0bea74885cabe754.js +0 -1
  601. package/apps/pwa/out/_next/static/chunks/5315.74c53a39739b11c4.js +0 -1
  602. package/apps/pwa/out/_next/static/chunks/5317-8b1df8d02105cd07.js +0 -1
  603. package/apps/pwa/out/_next/static/chunks/5358-33051f41a2b239af.js +0 -1
  604. package/apps/pwa/out/_next/static/chunks/5388.a2ec02501f714ad5.js +0 -62
  605. package/apps/pwa/out/_next/static/chunks/5395.e6ac948a2d15058d.js +0 -1
  606. package/apps/pwa/out/_next/static/chunks/5409-f282bf533c151849.js +0 -1
  607. package/apps/pwa/out/_next/static/chunks/5466.d0f4aba9d52acfa8.js +0 -27
  608. package/apps/pwa/out/_next/static/chunks/5564.3d28b353470fe305.js +0 -104
  609. package/apps/pwa/out/_next/static/chunks/569.b0cbfb4dee4a167a.js +0 -93
  610. package/apps/pwa/out/_next/static/chunks/5835-72465b73a8bb8d74.js +0 -1
  611. package/apps/pwa/out/_next/static/chunks/5941.045d6093139e1f7a.js +0 -1
  612. package/apps/pwa/out/_next/static/chunks/6228.47cabb83564dfe54.js +0 -24
  613. package/apps/pwa/out/_next/static/chunks/6457-8d1993002a87d0fe.js +0 -1
  614. package/apps/pwa/out/_next/static/chunks/6513.ef54cfae52351982.js +0 -2
  615. package/apps/pwa/out/_next/static/chunks/6582.13d245bf87df69f1.js +0 -148
  616. package/apps/pwa/out/_next/static/chunks/6655.c33f6acc2c61bb89.js +0 -149
  617. package/apps/pwa/out/_next/static/chunks/6731-9d7195af289c8d4c.js +0 -1
  618. package/apps/pwa/out/_next/static/chunks/6733.0be05b1db9279fc5.js +0 -79
  619. package/apps/pwa/out/_next/static/chunks/6742-90937146253a8b9e.js +0 -1
  620. package/apps/pwa/out/_next/static/chunks/687-816858f77a396a4e.js +0 -1
  621. package/apps/pwa/out/_next/static/chunks/6888.72c7b8cfb02a7e61.js +0 -1
  622. package/apps/pwa/out/_next/static/chunks/6993.c17c828ac3ef3253.js +0 -1
  623. package/apps/pwa/out/_next/static/chunks/7076.9f27ef666b0cefdd.js +0 -1
  624. package/apps/pwa/out/_next/static/chunks/7113.1403c5d451804e8c.js +0 -287
  625. package/apps/pwa/out/_next/static/chunks/7169.9dd603c726c2cd7c.js +0 -1
  626. package/apps/pwa/out/_next/static/chunks/7247-e3ec21f761f86710.js +0 -1
  627. package/apps/pwa/out/_next/static/chunks/7261-a47b72f96f5199df.js +0 -1
  628. package/apps/pwa/out/_next/static/chunks/7335-5cda81ac90310077.js +0 -1
  629. package/apps/pwa/out/_next/static/chunks/7356-c2e4af090546e2d4.js +0 -1
  630. package/apps/pwa/out/_next/static/chunks/738-59518742078fda71.js +0 -1
  631. package/apps/pwa/out/_next/static/chunks/7385.a7375f10db73243a.js +0 -77
  632. package/apps/pwa/out/_next/static/chunks/7445.cf1cf2fe109bcd96.js +0 -1
  633. package/apps/pwa/out/_next/static/chunks/7505.a2057432ab6ef99a.js +0 -1
  634. package/apps/pwa/out/_next/static/chunks/7515.31f45fac1f9c70cb.js +0 -74
  635. package/apps/pwa/out/_next/static/chunks/7658-d4ce8c72a9548a91.js +0 -1
  636. package/apps/pwa/out/_next/static/chunks/8107-0b1ae46bc5bcb788.js +0 -1
  637. package/apps/pwa/out/_next/static/chunks/8132.bfea2f016ce8d992.js +0 -1
  638. package/apps/pwa/out/_next/static/chunks/8672.e299832bc7d18ee2.js +0 -1
  639. package/apps/pwa/out/_next/static/chunks/8735.f1ef798a5f260f6f.js +0 -226
  640. package/apps/pwa/out/_next/static/chunks/8774-88f67f7d8d53d299.js +0 -1
  641. package/apps/pwa/out/_next/static/chunks/8782.252e5a405d86e4ed.js +0 -32
  642. package/apps/pwa/out/_next/static/chunks/909-9ed7aa0dba804316.js +0 -1
  643. package/apps/pwa/out/_next/static/chunks/9100.22b0301256827007.js +0 -1
  644. package/apps/pwa/out/_next/static/chunks/9140-dde77575570bc71e.js +0 -1
  645. package/apps/pwa/out/_next/static/chunks/9292-a7ad9a01c7044b93.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/9517.00627dc51b02821c.js +0 -1
  647. package/apps/pwa/out/_next/static/chunks/9725.dcbb585652d8e9c5.js +0 -1
  648. package/apps/pwa/out/_next/static/chunks/9761.a3ebf5c389c24ddc.js +0 -1
  649. package/apps/pwa/out/_next/static/chunks/9972.834d2b2b7d48f1ed.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/9995-1a90486f5ae01546.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/a435ad95.577add051b4facb2.js +0 -1
  652. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-83372d8b5863ebf7.js +0 -1
  653. package/apps/pwa/out/_next/static/chunks/app/approvals/page-d69256d7613c140a.js +0 -1
  654. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-352c5e9ba3f9b858.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/app/board/page-69f1d725524201a8.js +0 -1
  656. package/apps/pwa/out/_next/static/chunks/app/bots/page-ad9181d84285e4ea.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/app/ceo/page-86feb08080261a2f.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/app/chat/page-ffa15987e4756d03.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/app/consult/page-11a3ab44ac327cc1.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/app/control/page-6309b11c4264d24d.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/app/decisions/page-8800472079612e87.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/app/design-check/page-d387bf3f2301882a.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/app/editor/page-048f88d8c8658da6.js +0 -1
  664. package/apps/pwa/out/_next/static/chunks/app/exec/page-6c14f9739b7f6880.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/app/field/page-2834f44f64e98d74.js +0 -1
  666. package/apps/pwa/out/_next/static/chunks/app/healthz/route-83372d8b5863ebf7.js +0 -1
  667. package/apps/pwa/out/_next/static/chunks/app/inside/page-a13df6f88e824887.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/app/intake/page-8a4397248754cf2b.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/app/layout-daf0bd329360a336.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/app/live/page-f7ef1c28764cb476.js +0 -1
  671. package/apps/pwa/out/_next/static/chunks/app/live-run/page-61e74f28b9353dac.js +0 -1
  672. package/apps/pwa/out/_next/static/chunks/app/loops/page-8aaa6dedc4c10dfb.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/app/market/page-294602ba649be829.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-5fa5f41ed3fce323.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/app/morning/page-33bf667a5fb297bf.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/app/not-found-5ae3cbd6e5dba515.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/app/observatory/page-eb867d16ad6fdede.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-1ab789fa68682f7e.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-6fd41b5b6ff13a71.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-fb3d5f7642c99fba.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/app/outputs/page-70f705b2b5ed42ca.js +0 -1
  682. package/apps/pwa/out/_next/static/chunks/app/page-c9c93b358a7667b5.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/app/reflection/page-1563c556b81c96ed.js +0 -1
  684. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ce89c20c45b3a673.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/app/sessions/page-423ae63d786f4ee9.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-591a5378a4c4447c.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/app/settings/page-a250496b19a5824b.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-c36a9277febc5911.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/app/setup/layout-83372d8b5863ebf7.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/app/share/page-a5de57edc6d7f942.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/app/showroom/page-16bdd4c9f40498df.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/app/tasks/page-75e946e6e71cc6d8.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/app/term/page-9eb56166774eb256.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/app/today/page-1c5f9ef35dbb22c5.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/app/trace/page-657ff9985e508498.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/app/vault/page-22dc72499da68fb2.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/app/workflows/page-094ad334e40f8169.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/app/workspace/page-8bcd379852ff6287.js +0 -1
  699. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-6b04413f280cd344.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/de70ab42-d28d47437208d458.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/f800c5e3.46dbd7f2af8c3fce.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/f8bc19ad.47579f6d684b0760.js +0 -122
  703. package/apps/pwa/out/_next/static/chunks/framework-ca9ac4609fb9fed8.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/main-app-0dd08d32d15a030f.js +0 -1
  705. package/apps/pwa/out/_next/static/chunks/main-f0399d33955c4e01.js +0 -1
  706. package/apps/pwa/out/_next/static/chunks/pages/_app-d42caca6f8ac2211.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/pages/_error-42e713c13aa41ca8.js +0 -1
  708. package/apps/pwa/out/_next/static/chunks/webpack-8fbf8f61a377aa16.js +0 -1
  709. /package/apps/pwa/out/_next/static/{cIpv5nU9AycwYWZI9H589 → LSXfY0u9QtfDbejY0Ukf_}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2112],{52112:(e,t,n)=>{n.d(t,{ChatPanel:()=>e4});var r=n(65863),a=n(24815),l=n(54668),s=n(87313),o=n(21217),i=n(88595),c=n(38519),d=n.n(c),u=n(78435),m=n(45695),p=n(63169),h=n(30744);function f(){let{client:e}=(0,m.Q)(),[t,n]=(0,a.useState)([]);if((0,a.useEffect)(()=>{if("undefined"==typeof document)return;let t=!0,r=!1,a=async()=>{if(!t||r||document.hidden)return;r=!0;let a=new Intl.DateTimeFormat("sv-SE",{timeZone:"Asia/Seoul"}).format(new Date),l=await (0,p.Nn)(e,a);r=!1,t&&n((0,h.z)("ready"===l.kind?l.data:null,Date.now()))};n([]),a();let l=globalThis.setInterval(()=>{a()},6e4),s=()=>{document.hidden||a()};return document.addEventListener("visibilitychange",s),()=>{t=!1,globalThis.clearInterval(l),document.removeEventListener("visibilitychange",s)}},[e]),0===t.length)return null;let l=t.map(e=>{let{seat:t,text:n,ago:r}=e;return"".concat(t," ").concat(n," \xb7 ").concat(r)}).join(" | ");return(0,r.jsx)("div",{role:"status","aria-label":"지금 자리들이 하는 일",title:l,className:"h-8 min-h-8 min-w-0 shrink-0 overflow-hidden text-ellipsis whitespace-nowrap border-b border-border bg-background px-3 text-xs leading-8 text-muted-foreground",children:t.map((e,t)=>{let{seat:n,text:a,ago:l}=e;return(0,r.jsxs)("span",{children:[t>0&&" | ",n," ",a," \xb7 ",l]},n)})})}var b=n(45497),g=n(16263);function x(){let{client:e}=(0,m.Q)(),[t,n]=(0,a.useState)(!1),[l,s]=(0,a.useState)(!1),[o,i]=(0,a.useState)(""),c=(0,a.useRef)(!1),d=(0,a.useRef)(0),u=(0,a.useRef)(!1);(0,a.useEffect)(()=>(n("speechSynthesis"in window&&"undefined"!=typeof SpeechSynthesisUtterance),()=>{d.current++,u.current&&"speechSynthesis"in window&&window.speechSynthesis.cancel()}),[]);let p=async()=>{if(c.current||!t)return;c.current=!0;let n=++d.current;s(!0),i(""),u.current&&window.speechSynthesis.cancel(),u.current=!1;try{let t=await e.fetchResponse("/v1/context/now?format=voice",{method:"GET"});if(!t.ok)throw Error("HTTP ".concat(t.status));let r=await t.json();if(!r||"object"!=typeof r||!("text"in r)||"string"!=typeof r.text||!r.text.trim())throw Error("invalid voice summary");if(n!==d.current)return;let a=new SpeechSynthesisUtterance(r.text);a.lang="ko-KR",a.onend=()=>{n===d.current&&(u.current=!1)},a.onerror=()=>{n===d.current&&(u.current=!1)},u.current=!0,window.speechSynthesis.speak(a),(0,g.cY)("chat.now.speak",{outcome:"spoken"})}catch(e){if(n!==d.current)return;u.current=!1,i("지금 상황을 읽지 못했습니다. 다시 시도해 주세요."),(0,g.cY)("chat.now.speak",{outcome:"error",reason:String(e)})}finally{n===d.current&&(c.current=!1,s(!1))}};return(0,r.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,r.jsxs)("button",{type:"button","data-elanous-action":"chat-now-speak","aria-label":"지금 상황 듣기",title:t?"지금 상황 두 문장 듣기":"이 브라우저는 음성 읽기를 지원하지 않습니다",disabled:!t||l,onClick:()=>void p(),className:"inline-flex min-h-9 items-center gap-1.5 rounded-full border border-border bg-background px-3 text-xs font-medium text-foreground hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50",children:[(0,r.jsx)(b.A,{className:"h-4 w-4","aria-hidden":"true"}),(0,r.jsx)("span",{children:"지금 상황 듣기"})]}),o&&(0,r.jsx)("span",{role:"alert",className:"text-xs text-rose-600",children:o})]})}var v=n(73006),y=n(66860);function w(){let{mobileOpen:e,onCount:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:n}=(0,m.Q)(),l=(0,a.useMemo)(()=>(0,y.ll)({client:n}),[n]),[s,o]=(0,a.useState)({client:n,items:[],pending:0,expanded:!1}),i=(0,a.useRef)(n);i.current=n;let c=(0,a.useRef)(!1),d=(0,a.useRef)(0),u=s.client===n?s:null,p=(0,a.useCallback)(async()=>{if(!c.current||i.current!==n||"undefined"!=typeof document&&document.hidden)return;let e=++d.current;try{let t=await l.list();if(!c.current||i.current!==n||d.current!==e)return;o(r=>i.current===n&&d.current===e?{client:n,items:t.items,pending:t.items.length,expanded:t.items.length>0&&r.client===n&&r.expanded}:r)}catch(t){if(!c.current||i.current!==n||d.current!==e)return;o(t=>i.current===n&&d.current===e?{client:n,items:[],pending:0,expanded:!1}:t)}},[l,n]);if((0,a.useEffect)(()=>{c.current=!0,o({client:n,items:[],pending:0,expanded:!1}),p();let e=globalThis.setInterval(()=>{p()},3e4),t=()=>{document.hidden||p()};return"undefined"!=typeof document&&document.addEventListener("visibilitychange",t),()=>{c.current=!1,d.current+=1,globalThis.clearInterval(e),"undefined"!=typeof document&&document.removeEventListener("visibilitychange",t)}},[n,p]),(0,a.useEffect)(()=>{var e,t;(0,g.cY)("chat.approvals",{pending:null!=(e=null==u?void 0:u.pending)?e:0,expanded:null!=(t=null==u?void 0:u.expanded)&&t})},[null==u?void 0:u.pending,null==u?void 0:u.expanded]),(0,a.useEffect)(()=>{var e;null==t||t(null!=(e=null==u?void 0:u.pending)?e:0)},[t,null==u?void 0:u.pending]),!(null==u?void 0:u.pending)||t&&!e)return null;let h=(0,r.jsx)(v.a,{client:n,approvals:u.items,onDecided:()=>{p()},onPendingChange:e=>{i.current===n&&o(t=>t.client===n?{...t,pending:e,...0===e?{items:[],expanded:!1}:{}}:t)}});return t?(0,r.jsx)("div",{id:"chat-approvals-panel",className:"max-h-[min(50vh,24rem)] overflow-y-auto border-b border-border p-3",children:h}):(0,r.jsxs)("div",{className:"shrink-0 border-b border-border bg-background px-3 py-1.5 text-sm",children:[(0,r.jsxs)("button",{type:"button","aria-expanded":u.expanded,"aria-controls":"chat-approvals-panel",onClick:()=>o(e=>e.client===n?{...e,expanded:!e.expanded}:e),className:"rounded-full border border-border bg-muted px-3 py-1 font-medium text-foreground hover:bg-muted/70",children:["승인 대기 ",u.pending]}),u.expanded&&(0,r.jsx)("div",{id:"chat-approvals-panel",className:"mt-2 max-h-[min(50vh,24rem)] overflow-y-auto rounded-lg border border-border p-3",children:h})]})}var j=n(31114);function k(){var e;let{mobileOpen:t,onCount:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:l}=(0,m.Q)(),[s,o]=(0,a.useState)({client:l,items:[],expanded:!1,decided:{},busy:null}),i=(0,a.useRef)(l);i.current=l;let c=(0,a.useRef)(!1),d=(0,a.useRef)(0),u=(0,a.useRef)(null),p=s.client===l?s:null,h=(0,a.useCallback)(async()=>{if(!c.current||i.current!==l||"undefined"!=typeof document&&document.hidden)return;let e=++d.current;try{let t=await (0,j.qK)(l);if(!c.current||i.current!==l||d.current!==e)return;o(e=>e.client===l?{...e,items:[...t,...e.items.filter(n=>e.decided[n.id]&&!t.some(e=>e.id===n.id))],expanded:e.expanded&&(t.length>0||e.items.some(t=>e.decided[t.id]))}:e)}catch(t){if(!c.current||i.current!==l||d.current!==e)return;o(e=>e.client===l?{...e,items:[],expanded:!1}:e)}},[l]);(0,a.useEffect)(()=>{c.current=!0,u.current=null,o({client:l,items:[],expanded:!1,decided:{},busy:null}),h();let e=globalThis.setInterval(()=>{h()},3e4),t=()=>{document.hidden||h()};return"undefined"!=typeof document&&document.addEventListener("visibilitychange",t),()=>{c.current=!1,u.current=null,d.current+=1,globalThis.clearInterval(e),"undefined"!=typeof document&&document.removeEventListener("visibilitychange",t)}},[l,h]);let f=async(e,t)=>{if(!u.current&&!s.busy&&!s.decided[e.id]){u.current=e.id,o(t=>t.client===l?{...t,busy:e.id}:t);try{if(await (0,j.LD)(l,e.id,t.id),!c.current||i.current!==l)return;u.current=null,o(n=>n.client===l?{...n,busy:null,decided:{...n.decided,[e.id]:t.label}}:n),await h()}catch(e){c.current&&i.current===l&&(u.current=null,o(e=>e.client===l?{...e,busy:null}:e))}}},b=null!=(e=null==p?void 0:p.items.filter(e=>!p.decided[e.id]).length)?e:0;if((0,a.useEffect)(()=>{null==n||n(b)},[n,b]),!p||!b&&!(p.expanded&&p.items.some(e=>p.decided[e.id]))||n&&!t)return null;let g=(0,r.jsx)("ul",{id:"chat-decisions-panel",className:"mt-2 max-h-[min(50vh,24rem)] space-y-2 overflow-y-auto rounded-lg border border-border p-3",children:p.items.map(e=>(0,r.jsxs)("li",{className:"rounded-lg border border-border p-3",children:[(0,r.jsx)("h3",{className:"font-semibold",children:e.title}),(0,r.jsx)("p",{className:"truncate text-muted-foreground",title:e.situation,children:e.situation}),p.decided[e.id]?(0,r.jsxs)("p",{role:"status",children:["결정함 — ",p.decided[e.id]]}):(0,r.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:e.options.map(t=>(0,r.jsxs)("button",{type:"button",disabled:!!p.busy,onClick:()=>{f(e,t)},className:"rounded-md border border-border px-2 py-1 hover:bg-muted disabled:opacity-50",children:[t.label,"option"in e.recommendation&&e.recommendation.option===t.id&&(0,r.jsx)("span",{className:"ml-1 text-primary",children:"추천"})]},t.id))})]},e.id))});return n?g:(0,r.jsxs)("div",{className:"shrink-0 border-b border-border bg-background px-3 py-1.5 text-sm",children:[(0,r.jsxs)("button",{type:"button","aria-expanded":p.expanded,"aria-controls":"chat-decisions-panel",onClick:()=>o(e=>e.client===l?{...e,expanded:!e.expanded}:e),className:"rounded-full border border-border bg-muted px-3 py-1 font-medium text-foreground hover:bg-muted/70",children:["대표 결정 ",b]}),p.expanded&&g]})}function N(e){let{activity:t,decisions:n,menu:a}=e,l="active"===t.kind?t.run.progressLine||t.run.runId:"quiet"===t.kind?"없음":"loading"===t.kind?"확인 중":"확인 불가";return(0,r.jsxs)("div",{"data-elanous-mobile-chat-status":"",role:"status",className:"flex h-10 min-h-10 min-w-0 items-center gap-3 border-b border-border bg-background px-3 text-xs",children:[(0,r.jsxs)("span",{className:"min-w-0 flex-1 truncate",title:l,children:["지금 도는 일 \xb7 ",l]}),(0,r.jsxs)("span",{className:"shrink-0",children:["대기 결정 \xb7 ",null!=n?n:"—"]}),a]})}var S=n(87225),C=n(52403);function I(e){let{queue:t,onRemove:n,onClear:a}=e;return 0===t.length?null:(0,r.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5 border-t border-border bg-background px-3 py-2","aria-label":"보낼 차례",children:[t.map((e,t)=>(0,r.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border bg-muted px-2 py-1 text-xs",children:[(0,r.jsxs)("span",{className:"max-w-[160px] truncate",title:e.text,children:[t+1," \xb7 ",Array.from(e.text).slice(0,20).join("")]}),(0,r.jsx)("button",{type:"button",onClick:()=>n(e.id),"aria-label":"".concat(t+1,"번 지우기"),className:"rounded-full px-1 hover:bg-background",children:"\xd7"})]},e.id)),(0,r.jsx)("button",{type:"button",onClick:a,className:"rounded px-2 py-1 text-xs text-muted-foreground hover:bg-muted",children:"모두 지우기"})]})}function A(e){let t={files:[],tooLarge:0,tooMany:0};for(let n of e)n.file.size>0x1400000?t.tooLarge+=1:t.files.length>=10?t.tooMany+=1:t.files.push(n);return t}function E(e){return!!(e&&Array.from(e.types).includes("Files"))}function R(){return(0,r.jsx)("div",{role:"status","aria-label":"여기에 놓으면 첨부","data-elanous-chat-drop-overlay":"",className:"pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"mx-4 rounded-2xl border-2 border-dashed border-primary/60 bg-card/90 px-8 py-6 text-center shadow-lg",children:[(0,r.jsx)("p",{className:"text-lg font-semibold text-foreground",children:"여기에 놓으면 첨부"}),(0,r.jsxs)("p",{className:"mt-2 text-sm text-muted-foreground",children:["파일 ",10,"개까지 \xb7 큰 파일은 빠집니다"]})]})})}function D(e,t,n){if("drop"===t||"end"===t||!n)return{visible:!1,depth:0};let r="enter"===t?e.depth+1:Math.max(0,e.depth-1);return{visible:r>0,depth:r}}var q=n(70219),T=n(39811),L=n(86767);class U{list(){return this.client.fetchJson("/v1/projects")}folders(e){return this.client.fetchJson("/v1/projects/folders".concat(void 0===e?"":"?path=".concat(encodeURIComponent(e))))}create(e,t){return this.client.fetchJson("/v1/projects",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,...void 0!==t?{primaryFolder:t}:{}})})}assign(e,t){return this.client.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({projectId:t})})}fetchProjectAutopsy(e){return this.client.fetchJson("/v1/projects/".concat(encodeURIComponent(e),"/autopsy"))}constructor(e){this.client=e}}let O="elanous.chat.projectSelection",M="elanous-chat-pending-projects-changed",F="elanous-chat-projects-changed";function P(){window.dispatchEvent(new Event(F))}let Y="elanous.chat.pendingProjects";function _(){try{var e;let t=JSON.parse(null!=(e=localStorage.getItem(Y))?e:"{}");if(t&&"object"==typeof t&&!Array.isArray(t))return Object.fromEntries(Object.entries(t).filter(e=>{let[t,n]=e;return t&&"string"==typeof n&&n}))}catch(e){}return{}}function J(e){try{localStorage.setItem(Y,JSON.stringify(e))}catch(e){return!1}return window.dispatchEvent(new Event(M)),!0}function z(e){let{projects:t,selection:n,onChange:l,onCreate:s,api:o}=e,[i,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(""),[m,p]=(0,a.useState)(!1),[h,f]=(0,a.useState)(""),[b,g]=(0,a.useState)(null),[x,v]=(0,a.useState)(!1),[y,w]=(0,a.useState)(!1),[j,k]=(0,a.useState)(!1),N=(0,a.useRef)(0),S=(0,a.useRef)(!1),C=async e=>{if(!o)return;let t=++N.current;w(!0),v(!1),g(null);try{let n=await o.folders(e);t===N.current&&g(n)}catch(e){t===N.current&&v(!0)}finally{t===N.current&&w(!1)}};return(0,r.jsxs)("div",{className:"space-y-2",children:[0===t.length&&!i&&(0,r.jsx)("button",{type:"button",onClick:()=>c(!0),className:"text-sm text-muted-foreground hover:text-foreground",children:"+ 프로젝트 만들기"}),t.length>0&&(0,r.jsxs)("select",{"aria-label":"프로젝트 바꾸기",value:n,onChange:e=>{if("create"===e.target.value)return void c(!0);l(e.target.value)},className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm",children:[(0,r.jsx)("option",{value:"all",children:"모든 대화"}),(0,r.jsx)("option",{value:"none",children:"받은 대화(프로젝트 없음)"}),t.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id)),(0,r.jsx)("option",{value:"create",children:"+ 프로젝트 만들기"})]}),i&&(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=d.trim();!t||S.current||y||(S.current=!0,k(!0),s(t,h||void 0).then(()=>{N.current++,c(!1),u(""),f(""),g(null),p(!1)}).catch(()=>p(!0)).finally(()=>{S.current=!1,k(!1)}))},className:"flex flex-wrap gap-2",children:[(0,r.jsx)("input",{"aria-label":"프로젝트 이름",autoFocus:!0,value:d,maxLength:80,onChange:e=>u(e.target.value),className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-2 py-1 text-sm"}),(0,r.jsx)("button",{type:"submit",disabled:y||j,className:"rounded-lg border border-border px-2 text-sm",children:"만들기"}),o&&(0,r.jsx)("button",{type:"button","aria-label":"원격 폴더 고르기",disabled:j||y,onClick:()=>void C(),className:"rounded-lg border border-border px-2 text-sm",children:"폴더"}),m&&(0,r.jsx)("span",{role:"alert",children:"프로젝트를 만들지 못했습니다"})]}),i&&b&&(0,r.jsxs)("div",{role:"group","aria-label":"원격 폴더 목록",className:"max-h-48 overflow-y-auto rounded-lg border border-border p-2 text-sm",children:[(0,r.jsx)("p",{className:"break-all",children:b.path}),b.parent&&(0,r.jsx)("button",{type:"button","aria-label":"상위 폴더",onClick:()=>{var e;C(null!=(e=b.parent)?e:void 0)},className:"block w-full py-1 text-left",children:".."}),b.folders.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>void C(e.path),className:"block w-full truncate py-1 text-left",children:[e.name,"/"]},e.path)),(0,r.jsx)("button",{type:"button",disabled:y||j,onClick:()=>{N.current++,w(!1),f(b.path),g(null)},className:"rounded border border-border px-2 py-1",children:"이 폴더 선택"})]}),i&&h&&(0,r.jsxs)("p",{className:"break-all text-xs",children:["선택한 폴더: ",h]}),i&&y&&(0,r.jsx)("p",{role:"status",children:"폴더 불러오는 중…"}),i&&x&&(0,r.jsx)("p",{role:"alert",children:"폴더를 불러오지 못했습니다"})]})}function $(e){var t,n;let{compact:l=!1}=e,{client:s,sessionId:o}=(0,m.Q)(),i=(0,L.t)(),[c,d]=(0,a.useState)([]),[u,p]=(0,a.useState)(!0),[h,f]=(0,a.useState)(!1),[b,g]=(0,a.useState)(0),[x,v]=(0,a.useState)(!1),[y,w]=(0,a.useState)(null),[j,k]=(0,a.useState)(!1),[N,S]=(0,a.useState)(!0),[C,I]=(0,a.useState)([]),[A,E]=(0,a.useState)(0),[R,D]=(0,a.useState)(null),q=(0,a.useRef)(null),O=(0,a.useRef)(null),Y=(0,a.useRef)(null),z=(0,a.useRef)(new Set),$=!!(o&&C.includes(o)),Q=(0,a.useRef)(null),G=(0,a.useRef)(o);G.current=o;let[K,B]=(0,a.useState)(""),[H,W]=(0,a.useState)(!1),[Z,V]=(0,a.useState)(""),[X,ee]=(0,a.useState)(""),[et,en]=(0,a.useState)(null),[er,ea]=(0,a.useState)(!1),[el,es]=(0,a.useState)(!1),eo=(0,a.useRef)(0),ei=(0,a.useRef)(!1),ec=async e=>{let t=++eo.current;ea(!1),es(!0),en(null);try{let n=await new U(s).folders(e);t===eo.current&&en(n)}catch(e){t===eo.current&&ea(!0)}finally{t===eo.current&&es(!1)}};(0,a.useEffect)(()=>{let e=!0,t=0;d([]),f(!1);let n=()=>{let n=++t;p(!0),new U(s).list().then(r=>{let{projects:a}=r;e&&n===t&&(d(null!=a?a:[]),f(!1))}).catch(()=>{e&&n===t&&f(!0)}).finally(()=>{e&&n===t&&p(!1)})};return n(),window.addEventListener(F,n),()=>{e=!1,window.removeEventListener(F,n)}},[s,b]),(0,a.useEffect)(()=>{let e=!0;return(S(!0),D(null),k(!1),Q.current=null,w(null),o)?(s.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(o),"?ifExists=1")).then(t=>{var n,r,a,l;e&&(k(!!t.meta),Q.current=null!=(r=null==(n=t.meta)?void 0:n.projectId)?r:null,z.current.has(o)||w(t.meta?null!=(a=t.meta.projectId)?a:null:null!=(l=_()[o])?l:null),D(o),S(!1))}).catch(()=>{e&&(D(null),B("프로젝트를 확인하지 못했습니다"),S(!1))}),()=>{e=!1}):void S(!1)},[s,o,A]),(0,a.useEffect)(()=>{eo.current++,en(null),ee(""),ea(!1),es(!1),B(""),W(!1),q.current=null,Y.current=null},[o]),(0,a.useEffect)(()=>{if(!o)return;let e=()=>{let e=_()[o];e&&(Y.current=null),z.current.has(o)||(R===o&&j&&e!==Q.current?E(e=>e+1):R===o&&w(null!=e?e:null))};return window.addEventListener(M,e),()=>window.removeEventListener(M,e)},[o,R,j]),(0,a.useEffect)(()=>{o&&R===o&&!j&&!$&&q.current!==o&&i.some(e=>e.id===o)&&(q.current=o,D(null),E(e=>e+1))},[o,R,j,$,i]),(0,a.useEffect)(()=>{if(!o||!j||N||$)return;let e=_()[o];!e||z.current.has(o)||O.current===o||Y.current==="".concat(o,":").concat(e)||(O.current=o,new U(s).assign(o,e).then(()=>{G.current===o&&(Q.current=e);let t=_();t[o]===e&&(delete t[o],J(t),G.current!==o||z.current.has(o)||w(e)),(0,T.hG)(s).forceRefresh()}).catch(()=>{Y.current="".concat(o,":").concat(e);let t=_();t[o]===e&&(delete t[o],J(t)),G.current===o&&(w(Q.current),B("프로젝트를 바꾸지 못했습니다"))}).finally(()=>{O.current=null}))},[s,o,j,N,$,A]);let ed=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!o||R!==o||N||h&&!t||z.current.has(o)||O.current===o)return!1;z.current.add(o),I(e=>[...e,o]),B("");try{if(j){await new U(s).assign(o,e),G.current===o&&(Q.current=e),(0,T.hG)(s).forceRefresh();let t=_();t[o]&&(delete t[o],J(t))}else{let t=_();if(e?t[o]=e:delete t[o],!J(t))throw Error("pending project storage unavailable")}return G.current===o&&w(e),!0}catch(e){return G.current===o&&B("프로젝트를 바꾸지 못했습니다"),!1}finally{z.current.delete(o),I(e=>e.filter(e=>e!==o))}},eu=y?null!=(n=null==(t=c.find(e=>e.id===y))?void 0:t.name)?n:"알 수 없는 프로젝트":"프로젝트 없음";return(0,r.jsxs)("div",{className:l?"relative flex min-w-0 items-center gap-1.5 text-xs":"flex min-w-0 flex-wrap items-center gap-1.5 text-xs",children:[(0,r.jsx)("label",{htmlFor:"chat-current-project",className:l?"sr-only":"shrink-0 text-muted-foreground",children:"프로젝트"}),(0,r.jsxs)("select",{id:"chat-current-project","aria-label":"현재 대화 프로젝트",title:o&&R===o&&!N?"현재 프로젝트: ".concat(eu):"프로젝트 확인 중…",value:o&&R===o&&!N?null!=y?y:"":"loading",disabled:!o||R!==o||N||u||$||O.current===o||h,onChange:e=>{if("create"===e.target.value){u||h||W(!0);return}ed(e.target.value||null)},className:"".concat(l?"w-20 max-w-[24vw]":"max-w-36"," min-w-0 truncate rounded-md border border-border bg-background px-2 py-1 text-foreground focus-visible:outline focus-visible:outline-2 focus-visible:outline-ring"),children:[(!o||R!==o||N)&&(0,r.jsx)("option",{value:"loading",children:"프로젝트 확인 중…"}),(0,r.jsx)("option",{value:"",children:"프로젝트 없음"}),y&&!c.some(e=>e.id===y)&&(0,r.jsx)("option",{value:y,children:"알 수 없는 프로젝트"}),c.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id)),l&&(0,r.jsx)("option",{value:"create",children:"+ 프로젝트 만들기"})]}),!l&&(0,r.jsx)("button",{type:"button","aria-label":"프로젝트 만들기",title:"프로젝트 만들기",disabled:!o||R!==o||N||u||$||h,onClick:()=>W(e=>!e),className:"shrink-0 rounded px-1 hover:bg-muted",children:"+"}),H&&(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=Z.trim();!t||!o||R!==o||N||u||h||$||ei.current||el||(ei.current=!0,v(!0),B(""),new U(s).create(t,X||void 0).then(async e=>{let{project:t}=e;d(e=>[...e,t]);let n=await ed(t.id,!0);P(),n&&(eo.current++,W(!1),V(""),ee(""),en(null))}).catch(()=>B("프로젝트를 만들지 못했습니다")).finally(()=>{ei.current=!1,v(!1)}))},className:l?"absolute right-0 top-full z-50 mt-1 flex flex-wrap items-center gap-1 rounded-lg border border-border bg-popover p-2 shadow-lg":"flex min-w-0 flex-wrap items-center gap-1",children:[(0,r.jsx)("input",{"aria-label":"새 프로젝트 이름",autoFocus:!0,maxLength:80,value:Z,onChange:e=>V(e.target.value),className:"w-24 rounded border border-border bg-background px-1 py-1"}),(0,r.jsx)("button",{type:"submit",disabled:$||x||el||!o||R!==o||u||h,className:"rounded border border-border px-1",children:"만들기"}),(0,r.jsx)("button",{type:"button","aria-label":"원격 폴더 고르기",disabled:x||el,onClick:()=>void ec(),className:"rounded border border-border px-1",children:"폴더"})]}),H&&et&&(0,r.jsxs)("div",{role:"group","aria-label":"원격 폴더 목록",className:l?"absolute right-0 top-full z-50 mt-12 max-h-48 w-64 max-w-[90vw] overflow-y-auto rounded border border-border bg-popover p-2 shadow-lg":"max-h-48 w-64 max-w-[90vw] overflow-y-auto rounded border border-border bg-popover p-2 shadow-lg",children:[(0,r.jsx)("p",{className:"break-all",children:et.path}),et.parent&&(0,r.jsx)("button",{type:"button","aria-label":"상위 폴더",onClick:()=>{var e;ec(null!=(e=et.parent)?e:void 0)},className:"block w-full text-left",children:".."}),et.folders.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>void ec(e.path),className:"block w-full truncate text-left",children:[e.name,"/"]},e.path)),(0,r.jsx)("button",{type:"button",disabled:el||x,onClick:()=>{eo.current++,es(!1),ee(et.path),en(null)},className:"rounded border border-border px-1",children:"이 폴더 선택"})]}),H&&X&&(0,r.jsxs)("span",{className:"break-all text-xs",children:["선택한 폴더: ",X]}),H&&el&&(0,r.jsx)("span",{role:"status",children:"폴더 불러오는 중…"}),H&&er&&(0,r.jsx)("span",{role:"alert",children:"폴더를 불러오지 못했습니다"}),(o&&R!==o&&!N||h)&&(0,r.jsx)("button",{type:"button","aria-label":"프로젝트 다시 확인",onClick:()=>{B(""),E(e=>e+1),h&&g(e=>e+1)},className:"rounded border border-border px-1",children:"다시 시도"}),(K||h)&&(0,r.jsx)("span",{role:"alert",className:"text-destructive",children:K||"프로젝트 목록을 불러오지 못했습니다"})]})}var Q=n(41893),G=n(86044);function K(e){let{segmentKey:t,value:n,glyph:a}=e,l=function(e){var t;let n=/(\d{1,3})\s*%/.exec(e);if(!n)return null;let r=Number.parseInt(null!=(t=n[1])?t:"",10);return Number.isFinite(r)?Math.max(0,Math.min(100,r)):null}(n);if(null===l)return(0,r.jsxs)("span",{"data-elanous-hud-key":t,"data-elanous-hud-gauge":"false",className:"inline-flex items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[a?(0,r.jsx)("span",{"aria-hidden":"true",children:a}):null,(0,r.jsx)("span",{children:n})]});let{bar:s,text:o}=l>=80?{bar:"bg-pink-400",text:"text-pink-300"}:l>=60?{bar:"bg-amber-400",text:"text-amber-300"}:{bar:"bg-emerald-500",text:"text-emerald-300"};return(0,r.jsxs)("span",{"data-elanous-hud-key":t,"data-elanous-hud-gauge":"true","data-elanous-hud-percent":String(l),className:"inline-flex items-center gap-1.5 font-mono text-[11px]",children:[a?(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:a}):null,(0,r.jsx)("span",{role:"progressbar","aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"".concat(t," ").concat(l,"%"),className:"relative h-2 w-20 overflow-hidden rounded bg-muted/30",children:(0,r.jsx)("span",{"aria-hidden":"true",style:{width:"".concat(l,"%")},className:(0,Q.cn)("block h-full",s)})}),(0,r.jsx)("span",{className:(0,Q.cn)("tabular-nums",o),children:n})]})}let B=new Set(["variant","workspace","model","token-gauge","ctx","agent-activity","agents"]),H=new Set(["token-gauge","ctx"]),W={normal:"text-foreground",warn:"text-amber-300",danger:"text-pink-300",success:"text-emerald-300",info:"text-sky-300",muted:"text-muted-foreground"};function Z(e){var t,n;let{segment:a}=e;if(H.has(a.key))return(0,r.jsx)(K,{segmentKey:a.key,value:a.value,...void 0!==a.glyph?{glyph:a.glyph}:{}});let l=a.tone?W[a.tone]:W.normal;return(0,r.jsxs)("span",{"data-elanous-hud-key":a.key,"data-elanous-hud-tone":null!=(t=a.tone)?t:"normal","data-elanous-hud-priority":String(null!=(n=a.priority)?n:50),className:(0,Q.cn)("inline-flex items-center gap-1 font-mono text-[11px]",l),children:[a.glyph?(0,r.jsx)("span",{"aria-hidden":"true",children:a.glyph}):null,(0,r.jsx)("span",{children:a.value})]})}function V(e){let{segments:t,row:n,className:a}=e;return 0===t.length?null:(0,r.jsx)("div",{"data-elanous-hud-row":n,className:(0,Q.cn)("flex flex-wrap items-center gap-x-3 gap-y-1",a),children:t.map((e,t)=>(0,r.jsxs)("span",{className:"flex items-center gap-x-3",children:[t>0?(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\xb7"}):null,(0,r.jsx)(Z,{segment:e})]},e.key))})}function X(e){let{segments:t}=e;if(0===t.length)return null;let{top:n,bottom:a}=function(e){let t=[],n=[];for(let r of e)B.has(r.key)?t.push(r):n.push(r);return{top:t,bottom:n}}(t);return(0,r.jsxs)("div",{"data-elanous-hud":"strip",role:"status","aria-label":"HUD status",className:"flex flex-col gap-0.5 border-b border-border/40 bg-muted/10 px-3 py-1.5",children:[(0,r.jsx)(V,{segments:n,row:"top"}),(0,r.jsx)(V,{segments:a,row:"bottom",className:"hidden sm:flex"})]})}let ee=[];function et(){return ee}function en(){let e=(0,a.useSyncExternalStore)(G.er,G.Wl,et);return(0,r.jsx)(X,{segments:e})}function er(e,t){if("string"!=typeof e)return t;let n=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/.exec(e);if(!n)return t;let[,r,a,l,s,o,i,c,d]=n,u=Number(r),m=Number(a),p=Number(l),h=[31,u%4==0&&(u%100!=0||u%400==0)?29:28,31,30,31,30,31,31,30,31,30,31][m-1];if(p<1||void 0===h||p>h||Number(s)>23||Number(o)>59||Number(i)>59||void 0!==c&&(Number(c)>23||Number(d)>59))return t;let f=Date.parse(e);return Number.isFinite(f)?f:t}var ea=n(89469),el=n(14714),es=n(7753),eo=n(85714),ei=n(86309),ec=n(36054),ed=n(1867),eu=n(42323);let em={idle:"음성 대기",connecting:"데몬 연결 중…",listening:"듣는 중",processing:"생각 중…",speaking:"말하는 중",error:"음성 오류"},ep={idle:"마이크를 켜서 대화를 시작하세요.",connecting:"잠시만 기다려주세요.",listening:"문장이 끝나면 자동으로 전송됩니다.",processing:"서버가 응답을 생성하는 중입니다.",speaking:"음성 응답을 재생하는 중입니다.",error:"아래 메시지를 확인하고 다시 시도하세요."},eh={idle:"bg-slate-400",connecting:"bg-amber-500",listening:"bg-emerald-500",processing:"bg-sky-500",speaking:"bg-fuchsia-500",error:"bg-rose-600"};function ef(e){let{active:t,phase:n,errorMsg:a,onToggle:l,ttsSupported:i=!1,ttsMuted:c=!1,onTtsToggle:d,onInterrupt:u}=e,m="speaking"===n&&"function"==typeof u;return(0,r.jsxs)("div",{"data-elanous-voice-overlay":!0,"aria-hidden":!t,className:(0,Q.cn)("pointer-events-none absolute inset-0 z-10 flex items-center justify-center transition-opacity duration-300",t?"pointer-events-auto opacity-100":"opacity-0"),children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-background/60 backdrop-blur-md"}),(0,r.jsxs)("div",{className:"relative mx-4 flex w-full max-w-sm flex-col items-center gap-5 rounded-xl border border-border bg-card px-6 py-7 text-center shadow-xl",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("span",{className:(0,Q.cn)("h-2.5 w-2.5 rounded-full",eh[n],("listening"===n||"speaking"===n||"connecting"===n)&&"animate-pulse"),"aria-hidden":!0}),(0,r.jsx)("span",{className:"font-medium tracking-wide",children:em[n]})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:ep[n]}),(0,r.jsx)("button",{type:"button",onClick:m?u:l,"data-elanous-action":m?"voice-overlay-interrupt":"voice-overlay-toggle",className:(0,Q.cn)("inline-flex h-16 w-16 items-center justify-center rounded-full text-white transition-colors",m?"bg-amber-500 hover:bg-amber-400 animate-pulse":"connecting"===n||"processing"===n?"bg-sky-500 hover:bg-sky-400":"error"===n?"bg-rose-600 hover:bg-rose-500":"bg-rose-500 hover:bg-rose-400"),"aria-label":m?"끼어들기":"마이크 끄기",children:m?(0,r.jsx)(ei.A,{className:"h-7 w-7"}):"connecting"===n||"processing"===n?(0,r.jsx)(ec.A,{className:"h-7 w-7 animate-spin"}):"error"===n?(0,r.jsx)(ed.A,{className:"h-7 w-7"}):(0,r.jsx)(s.A,{className:"h-7 w-7"})}),a&&(0,r.jsx)("p",{className:"max-w-xs text-xs text-rose-500",children:a}),(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[i&&d&&(0,r.jsxs)("button",{type:"button",onClick:d,"data-elanous-action":"voice-overlay-tts-toggle",className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground","aria-label":c?"음성 응답 켜기":"음성 응답 끄기","aria-pressed":!c,children:[c?(0,r.jsx)(eu.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(b.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:c?"음성 응답 OFF":"음성 응답 ON"})]}),(0,r.jsxs)("button",{type:"button",onClick:l,className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground","aria-label":"음성 닫고 텍스트로 돌아가기",children:[(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"음성 끄기"})]})]})]})]})}function eb(e){let{open:t,onClose:n,lines:l}=e,[s,o]=(0,a.useState)(""),i=(0,a.useMemo)(()=>{if(!s.trim())return null;try{return RegExp(s,"i")}catch(e){return null}},[s]),c=(0,a.useMemo)(()=>s.trim().toLowerCase(),[s]),d=(0,a.useMemo)(()=>{let e=l.length>200?l.slice(l.length-200):l;return i?e.filter(e=>i.test(e.category)||i.test(e.event)):c?e.filter(e=>e.category.toLowerCase().includes(c)||e.event.toLowerCase().includes(c)):e},[l,i,c]);return(0,r.jsx)("div",{"data-elanous-debug-tap-drawer":t?"open":"closed",className:(0,Q.cn)("fixed bottom-0 left-0 right-0 z-50 transition-transform duration-200 ease-out","pointer-events-none",t?"translate-y-0":"translate-y-full"),role:"region","aria-label":"Debug Tap Drawer","aria-hidden":!t,children:(0,r.jsxs)("div",{className:(0,Q.cn)("pointer-events-auto mx-auto flex max-h-[60vh] w-full max-w-[1100px] flex-col","rounded-t-md border border-b-0 border-border bg-card shadow-xl"),children:[(0,r.jsxs)("header",{className:"flex items-center justify-between gap-2 border-b border-border/60 px-3 py-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Debug Tap"}),(0,r.jsxs)("span",{className:"text-[10px] text-muted-foreground/70","data-elanous-debug-tap-count":d.length,"data-elanous-debug-tap-total":l.length,children:[d.length,"/",l.length]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("input",{type:"text",placeholder:"regex filter…",value:s,onChange:e=>o(e.target.value),spellCheck:!1,autoComplete:"off",className:(0,Q.cn)("w-40 rounded border border-border bg-background px-2 py-1 text-[11px] font-mono","focus:outline-none focus:ring-1 focus:ring-primary"),"data-elanous-debug-tap-filter":"","aria-label":"Filter debug lines"}),(0,r.jsx)("button",{type:"button",onClick:n,className:"rounded px-2 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground","aria-label":"Close debug drawer","data-elanous-debug-tap-close":"",children:"✕"})]})]}),(0,r.jsx)("ul",{className:"flex-1 overflow-y-auto px-3 py-2 text-[11px] font-mono","data-elanous-debug-tap-list":"",children:0===d.length?(0,r.jsx)("li",{className:"italic text-muted-foreground/60",children:0===l.length?"(no debug lines yet)":"(no matches for filter)"}):d.map((e,t)=>(0,r.jsx)(eg,{line:e},"".concat(e.loggedAt,"-").concat(e.seq,"-").concat(t)))})]})})}function eg(e){let{line:t}=e,n=new Date(t.loggedAt).toISOString().slice(11,23);return(0,r.jsxs)("li",{"data-elanous-debug-tap-line":"","data-elanous-category":t.category,"data-elanous-event":t.event,className:"py-0.5",children:[(0,r.jsxs)("span",{className:"text-muted-foreground/70",children:["[",n,"]"]})," ",(0,r.jsxs)("span",{className:"text-amber-400",children:["[",t.category,"]"]})," ",(0,r.jsx)("span",{className:"text-foreground",children:t.event}),void 0!==t.data&&(0,r.jsxs)("details",{className:"ml-4 text-muted-foreground",children:[(0,r.jsx)("summary",{className:"cursor-pointer select-none text-[10px]",children:"data"}),(0,r.jsx)("pre",{className:"m-0 mt-1 whitespace-pre-wrap break-all text-[10px] text-muted-foreground/80",children:function(e){try{return JSON.stringify(e,null,2)}catch(t){return String(e)}}(t.data)})]})]})}var ex=n(68404),ev=n(59729),ey=n(19217),ew=n(45506),ej=n(38614),ek=n(18206),eN=n(68597);let eS="Other";function eC(e){let{request:t,onSubmit:n,onCancel:a,onChatAboutThis:l}=e;return(0,r.jsx)(ew.lG,{open:null!==t,onOpenChange:e=>{e||a()},children:(0,r.jsx)(ew.Cf,{className:"max-w-2xl",children:t?(0,r.jsx)(eI,{request:t,onSubmit:n,onCancel:a,onChatAboutThis:l}):null})})}function eI(e){let{request:t,onSubmit:n,onCancel:l,onChatAboutThis:s}=e,[o,i]=(0,a.useState)(()=>Object.fromEntries(t.questions.map(e=>[e.id,new Set]))),[c,d]=(0,a.useState)({}),[u,m]=(0,a.useState)({}),p=1===t.questions.length?t.questions[0].header:"Pick options",h=(0,a.useMemo)(()=>{for(let n of t.questions){var e;let t=null!=(e=o[n.id])?e:new Set,r=eR(n,o,u);if(0===t.size&&!r)return!1}return!0},[t.questions,o,u]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(ew.c7,{children:[(0,r.jsx)(ew.L3,{children:p}),1===t.questions.length?(0,r.jsx)(ew.rr,{children:t.questions[0].question}):(0,r.jsxs)(ew.rr,{children:[t.questions.length," questions"]})]}),(0,r.jsx)(eN.F,{className:"max-h-[60vh] pr-2",children:(0,r.jsx)("div",{className:"flex flex-col gap-6 py-2",children:t.questions.map(e=>{var t;return(0,r.jsx)(eA,{question:e,isSelected:t=>{var n,r,a;return n=e.id,null!=(a=null==(r=o[n])?void 0:r.has(t))&&a},onToggle:t=>{i(n=>{var r;let a={...n},l=new Set(null!=(r=a[e.id])?r:[]);return e.multiSelect?l.has(t)?l.delete(t):l.add(t):(l.clear(),l.add(t),m(t=>({...t,[e.id]:!1}))),a[e.id]=l,a})},otherActive:eR(e,o,u),onToggleOther:()=>{e.multiSelect?m(t=>{var n;return{...t,[e.id]:!(null!=(n=t[e.id])&&n)}}):i(t=>{let n={...t};return n[e.id]=new Set([eS]),n})},otherText:null!=(t=c[e.id])?t:"",onOtherText:t=>d(n=>({...n,[e.id]:t}))},e.id)})})}),(0,r.jsxs)(ew.Es,{className:"flex-wrap gap-2 sm:justify-between",children:[(0,r.jsx)(ej.$,{variant:"ghost",onClick:s,"aria-label":"Chat about this",children:"\uD83D\uDCAC Chat about this"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(ej.$,{variant:"outline",onClick:l,children:"Cancel"}),(0,r.jsx)(ej.$,{onClick:function(){let e={},r={};for(let n of t.questions){var a,l;let t=Array.from(null!=(a=o[n.id])?a:[]);if(eR(n,o,u)&&!t.includes(eS)&&t.push(eS),0!==t.length&&(n.multiSelect?e[n.id]=t:e[n.id]=t[0],t.includes(eS))){let e=(null!=(l=c[n.id])?l:"").trim();e.length>0&&(r[n.id]=e)}}let s={answers:e};Object.keys(r).length>0&&(s.otherText=r),n(s)},disabled:!h,children:"Submit"})]})]})]})}function eA(e){var t,n;let{question:a}=e;return(0,r.jsxs)("section",{className:"flex flex-col gap-2",children:[""!==e.question.id?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"rounded-full bg-primary/15 px-2 py-0.5 text-xs font-medium text-primary",children:a.header}),a.multiSelect?(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"multi-select"}):null]}):null,(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[a.options.map(t=>{var n;return(0,r.jsx)(eE,{multi:null!=(n=a.multiSelect)&&n,option:t,selected:e.isSelected(t.label),onToggle:()=>e.onToggle(t.label)},t.label)}),null==(t=a.includeOther)||t?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eE,{multi:null!=(n=a.multiSelect)&&n,option:{label:"Other",description:"Type your own response"},selected:e.otherActive,onToggle:e.onToggleOther}),e.otherActive?(0,r.jsx)(ek.p,{value:e.otherText,onChange:t=>e.onOtherText(t.target.value),placeholder:"Type your own response","aria-label":"Other response",className:"ml-8"}):null]}):null]})]})}function eE(e){let{multi:t,option:n,selected:a,onToggle:l}=e;return(0,r.jsxs)("button",{type:"button",role:t?"checkbox":"radio","aria-checked":a,onClick:l,className:"\n flex items-start gap-3 rounded-md border p-3 text-left\n transition-colors\n ".concat(a?"border-primary bg-primary/10":"border-border hover:bg-muted/40","\n "),children:[(0,r.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center ".concat(t?"rounded":"rounded-full"," border ").concat(a?"border-primary bg-primary text-primary-foreground":"border-muted-foreground/40"),"aria-hidden":"true",children:a?t?"✓":"●":null}),(0,r.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,r.jsx)("span",{className:"font-medium",children:n.label}),(0,r.jsx)("span",{className:"text-sm text-muted-foreground",children:n.description}),n.preview?(0,r.jsx)("span",{className:"mt-1 rounded bg-muted/40 px-2 py-1 text-xs font-mono text-muted-foreground",children:n.preview}):null]})]})}function eR(e,t,n){var r,a,l;return e.multiSelect?null!=(a=n[e.id])&&a:null!=(l=null==(r=t[e.id])?void 0:r.has(eS))&&l}function eD(e){if(void 0===e)return"";if("string"==typeof e)return e;try{var t;return null!=(t=JSON.stringify(e,null,2))?t:""}catch(e){return""}}function eq(e){let{request:t,receivedAt:n,onChoose:l,onCancel:s}=e,[o,i]=(0,a.useState)(()=>Date.now());(0,a.useEffect)(()=>{if(!t)return;i(Date.now());let e=setInterval(()=>i(Date.now()),1e3);return()=>clearInterval(e)},[t]);let c=t?eD(t.toolCall.rawInput):"",d=t?function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){for(let t of["file_path","filePath","path","command","cmd"])if("string"==typeof e[t])return e[t].slice(0,80)}return eD(e).replace(/\s+/g," ").slice(0,80)}(t.toolCall.rawInput):"",u=Math.max(0,Math.ceil((n+6e4-o)/1e3));return(0,r.jsx)(ew.lG,{open:null!==t,onOpenChange:e=>{!e&&t&&s(t)},children:(0,r.jsx)(ew.Cf,{className:"max-w-lg",children:t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(ew.c7,{children:[(0,r.jsx)(ew.L3,{children:"이 작업을 실행할까요?"}),(0,r.jsxs)(ew.rr,{children:["도구: ",t.toolCall.title]})]}),d&&(0,r.jsx)("p",{className:"truncate font-mono text-sm",title:d,children:d}),c&&(0,r.jsxs)("details",{className:"text-sm",children:[(0,r.jsx)("summary",{className:"cursor-pointer",children:"자세히"}),(0,r.jsx)("pre",{className:"mt-2 max-h-48 overflow-auto whitespace-pre-wrap break-all rounded bg-muted p-2",children:c})]}),(0,r.jsxs)("p",{className:"text-xs text-muted-foreground","aria-live":"off",children:["남은 시간: ",u,"초"]}),(0,r.jsxs)(ew.Es,{className:"flex-wrap gap-2",children:[(0,r.jsx)(ej.$,{onClick:()=>l(t,"allow_once"),children:"이번만 허용"}),(0,r.jsx)(ej.$,{variant:"outline",onClick:()=>l(t,"allow_always"),children:"이 도구는 항상 허용"}),(0,r.jsx)(ej.$,{variant:"outline",onClick:()=>l(t,"reject_once"),children:"거절"})]})]})})})}let eT={outcome:{outcome:"cancelled"}},eL=["allow_once","allow_always","reject_once","reject_always"],eU="unverified";var eO=n(25406),eM=n(72940);function eF(e,t){var n;return"error"!==t.kind?null:null!=(n=function(e){if(!e||"object"!=typeof e)return null;let{error:t,message:n,holder:r}=e;return"turn_busy"!==t?null:{message:"string"==typeof n?n:"This session is currently receiving input. Please try again when that turn finishes.",holder:"string"==typeof r&&r.trim()?r:null}}(t.payload))?n:e}var eP=n(98233);function eY(e){return"string"==typeof e.mediaType&&e.mediaType.toLowerCase().startsWith("image/")}async function e_(e,t){let n=e.downloadUrl.startsWith("http")?e.downloadUrl:"".concat(t.baseUrl.replace(/\/$/,"")).concat(e.downloadUrl),r={};t.token&&(r.authorization="Bearer ".concat(t.token));let a=await fetch(n,{headers:r});if(!a.ok)throw Error("fetch attachment ".concat(e.id," failed: ").concat(a.status));return function(e){let t=new Uint8Array(e),n="";for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(n)}(await a.arrayBuffer())}async function eJ(e,t,n){if(0===t.length)return null;let r=[];for(let a of(e.length>0&&r.push({type:"text",text:e}),t))if(eY(a))try{let e=await e_(a,n);r.push({type:"image",mimeType:a.mediaType,data:e})}catch(t){let e=t instanceof Error?t.message:String(t);r.push({type:"text",text:"[image fetch failed: ".concat(a.filename," — ").concat(e,"]")})}else r.push({type:"resource_link",uri:a.path?"file://".concat(a.path):a.downloadUrl,mimeType:a.mediaType,name:a.filename});return r}let ez="elanous.pwa.pendingCardFollowups";function e$(e,t){try{var n;let r=JSON.parse(null!=(n=e.getItem(ez))?n:"[]");if(!Array.isArray(r))return[];return r.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.sessionId&&e.sessionId.length>0&&"string"==typeof e.id&&e.id.length>0&&"number"==typeof e.startedAt&&Number.isFinite(e.startedAt)&&e.startedAt<=t&&t-e.startedAt<9e5)}catch(e){return[]}}function eQ(e,t){try{t.length?e.setItem(ez,JSON.stringify(t)):e.removeItem(ez)}catch(e){}}function eG(){try{return window.localStorage}catch(e){return}}async function eK(e,t,n,r){let a=await e.fetchResponse("/v1/card-followup",{...r?{signal:r}:{},method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({attachmentId:t,...void 0===n?{}:{context:n}})});if(!a.ok)throw Error("card followup start failed: ".concat(a.status));let l=await a.json();if("string"!=typeof l.id||!l.id)throw Error("card followup start returned no id");return l.id}async function eB(e,t){let n,{intervalMs:r=3e3,signal:a,onStatus:l,startedAt:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=void 0===s?6e5:Math.max(0,s+9e5-Date.now()),i=Date.now()+o,c={status:"failed"},d=new AbortController,u=a?AbortSignal.any([a,d.signal]):d.signal,m=!1,p=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise((n,r)=>{let l;if(u.aborted){var s;r(null!=(s=null==a?void 0:a.reason)?s:Error("aborted"));return}let o="undefined"==typeof document?void 0:document,i=()=>{clearTimeout(l),null==o||o.removeEventListener("visibilitychange",c),u.removeEventListener("abort",d)},c=()=>{(null==o?void 0:o.visibilityState)!=="hidden"&&(i(),n())},d=()=>{var e;i(),r(null!=(e=null==a?void 0:a.reason)?e:Error("aborted"))};l=setTimeout(()=>{i(),n()},e),t&&(null==o||o.addEventListener("visibilitychange",c)),u.addEventListener("abort",d,{once:!0})})},h=async()=>{for(;Date.now()<i;){var n,s;if(null==a?void 0:a.aborted)throw null!=(n=a.reason)?n:Error("aborted");if("undefined"!=typeof document&&"hidden"===document.visibilityState){await p(i-Date.now(),!0);continue}let o=await e.fetchResponse("/v1/card-followup/".concat(encodeURIComponent(t)),{signal:u});if(!o.ok)throw Error("card followup poll failed: ".concat(o.status));let d=await o.json();if(null==a?void 0:a.aborted)throw null!=(s=a.reason)?s:Error("aborted");if(m)return c;if(null==l||l(d.status),"done"===d.status||"not-card"===d.status||"failed"===d.status)return d;await p(Math.min(Math.max(0,r),Math.max(0,i-Date.now())))}return null==l||l("failed"),c};try{return await Promise.race([h(),new Promise(e=>{n=setTimeout(()=>{m=!0,d.abort(),null==l||l("failed"),e(c)},o)})])}finally{clearTimeout(n)}}function eH(){var e,t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{compact:c}=(0,u.K)(),[p,h]=(0,a.useState)(!1),[b,v]=(0,a.useState)(!1),[y,j]=(0,a.useState)(0),[T,L]=(0,a.useState)(0),U=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!p)return;let e=e=>{U.current&&U.current.contains(e.target)||h(!1)},t=e=>{"Escape"===e.key&&h(!1)};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[p]),(0,a.useEffect)(()=>{c||h(!1)},[c]);let{client:O,config:M,sessionId:F,setSessionId:P}=(0,m.Q)(),[Y,_]=(0,a.useState)([]),[J,z]=(0,a.useState)(),[K,B]=(0,a.useState)(!1),[H,W]=(0,a.useState)([]),Z=(0,a.useRef)([]),V=(0,a.useRef)(F),X=(0,a.useRef)(F),ee=(0,a.useRef)(null),et=(0,a.useRef)(0),ei=(0,a.useRef)(0),ec=(0,a.useRef)(!1),[ed,eu]=(0,a.useState)(null),em=V.current!==F&&ee.current!==F?[]:H;(0,a.useLayoutEffect)(()=>{X.current=F,V.current!==F&&(ee.current!==F&&(et.current++,Z.current=[],W([]),_([]),eS.current&&B(!1)),V.current=F,ee.current=null)},[F]);let ep=e=>{Z.current=e,W(e)},[eh,eg]=(0,a.useState)(null),[ew,ej]=(0,a.useState)(null),[ek,eN]=(0,a.useState)([]),eS=(0,a.useRef)(null),eI=(0,a.useRef)(null);(0,a.useEffect)(()=>()=>{var e;eI.current!==X.current&&(null==(e=eS.current)||e.abort())},[F]),(0,a.useEffect)(()=>()=>{var e;null==(e=eS.current)||e.abort()},[]);let[eA,eE]=(0,a.useState)({visible:!1,depth:0});(0,a.useEffect)(()=>{let e=()=>eE(e=>D(e,"end",!1));return window.addEventListener("dragend",e),()=>window.removeEventListener("dragend",e)},[]);let eR=(0,a.useRef)(!1),eD=(0,a.useRef)(null),e_=(0,a.useRef)(null),[ez,eH]=(0,a.useState)(null),eW=(0,a.useMemo)(()=>{try{let e=new URLSearchParams(window.location.search);return"on"===e.get("debug-tap")}catch(e){return!1}},[]),[eZ,eV]=(0,a.useState)(eW),eX=(0,a.useMemo)(()=>{let e=[];for(let t of Y)if(Array.isArray(t.blocks)){for(let n of t.blocks)if("debug_session"===n.kind)for(let t of n.lines)e.push({seq:t.seq,category:t.category,event:t.event,...void 0!==t.data?{data:t.data}:{},loggedAt:t.loggedAt})}return e},[Y]),e0=(0,a.useRef)(async()=>{}),e1=(0,a.useRef)(!1);e1.current=K;let e2=(0,a.useRef)(async()=>{}),e3=O.voiceWsUrl(),e5=(0,a.useCallback)(e=>{let t=e.trim();if(t){if(e1.current)return void(0,g.cY)("chat.voice.skip-pending",{len:t.length});(0,g.cY)("chat.voice.auto-send",{len:t.length}),e0.current(t)}},[]),e4=(0,ev.sS)({wsUrl:e3,...M.token?{token:M.token}:{},onTranscript:e5}),e6=!!M.baseUrl;e2.current=()=>e4.toggle();let[e8,e9]=(0,a.useState)(!1),e7=(0,ey.$)({enabled:e4.active&&!e8,language:"ko-KR"}),te=(0,a.useCallback)(()=>{null==ew||ew.abort(),(0,g.cY)("webterm.chat.stop",{had:!!ew})},[ew]);(0,a.useEffect)(()=>{if(!ew)return;let e=e=>{var t;if("Escape"!==e.key)return;let n=e.target,r=null==n||null==(t=n.tagName)?void 0:t.toLowerCase();"input"===r||"textarea"===r||null!=n&&n.isContentEditable||(e.preventDefault(),te())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ew,te]),(0,a.useEffect)(()=>{let e=e=>{"m"===e.key.toLowerCase()&&e.shiftKey&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),(0,g.cY)("chat.voice.shortcut.toggle"),e2.current())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let tt=(0,a.useCallback)(e=>{eN(t=>[...t,...e]),(0,g.cY)("webterm.chat.attach.queue",{added:e.length,filenames:e.map(e=>e.filename)})},[]),tn=async e=>{let{files:t,tooLarge:n,tooMany:r}=e;if(n&&eM.oR.error("".concat(n," files exceed the 20 MB attachment limit")),r&&eM.oR.error("".concat(r," files exceed the 10-file attachment limit")),0===t.length)return;if(!M.baseUrl)return void eM.oR.error("Daemon URL 미설정 — Settings 에서 입력");let a=await (0,eP.K)(t,{baseUrl:M.baseUrl,...M.token?{token:M.token}:{}}),l=a.filter(e=>e.ok).map(e=>e.meta),s=a.filter(e=>!e.ok);l.length&&(tt(l),eM.oR.success(1===l.length?"\uD83D\uDCCE ".concat(l[0].filename):"\uD83D\uDCCE ".concat(l.length," files attached"))),s.length&&eM.oR.error(1===s.length?"업로드 실패: ".concat(s[0].reason.slice(0,80)):"".concat(s.length," 파일 업로드 실패"))};(0,a.useEffect)(()=>{try{let e=window.sessionStorage.getItem("elanous.pwa.shareAttachments");if(!e)return;window.sessionStorage.removeItem("elanous.pwa.shareAttachments");let t=JSON.parse(e);if(!Array.isArray(t)||0===t.length)return;eN(e=>[...e,...t]);let n=1===t.length?"1 file shared from another app":"".concat(t.length," files shared from another app");eM.oR.success(n),(0,g.cY)("pwa.chat.share-attachments.consume",{count:t.length})}catch(e){(0,g.cY)("pwa.chat.share-attachments.parse-failed",{reason:e instanceof Error?e.message:String(e)})}},[]),(0,a.useEffect)(()=>{if(!F)return;let e=!0;return(async()=>{try{let t=await O.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(F),"?ifExists=1"));if(!e||!(null==t?void 0:t.messages)||0===t.messages.length)return;_(e=>e.some(e=>!e.id.startsWith("m-card-resume-"))?e:[...function(e,t){let n,r,a=[],l=[];for(let o of e){var s;if("tool"===o.role){for(let e of(0===l.length&&(r=o.ts),function(e,t){let n,r=function(e,t){var n,r;let a,l=String(null!=(n=e.toolName)?n:"");try{a=JSON.parse(String(null!=(r=e.toolResult)?r:""))}catch(e){a=void 0}let s=a&&"object"==typeof a&&!Array.isArray(a)?a:void 0,o=null==s?void 0:s._meta,i=o&&"object"==typeof o&&!Array.isArray(o)?o.ui:void 0,c=i&&"object"==typeof i&&!Array.isArray(i)?i.resourceUri:void 0,d=null==s?void 0:s["ui/resourceUri"],u="string"==typeof c?c:"string"==typeof d?d:void 0;return void 0!==u&&""!==u.trim()?{kind:"mcp_app",toolId:t,toolName:l,screenUrl:u,...void 0!==a?{toolResult:a}:{}}:{kind:"tool_use",id:t,name:l,status:"done",...void 0!==s&&void 0!==e.toolArgs?{args:{raw:String(e.toolArgs)}}:{}}}(e,t);try{var a;n=JSON.parse(String(null!=(a=e.toolResult)?a:""))}catch(e){n=void 0}let l=(0,G.uS)(n).map(e=>({kind:"image",...e})),s=[];return(0,G.ki)(s,null!=n?n:e.toolResult),[...l,r,...s]}(o,"restore-tool-".concat(l.length,"-").concat(a.length))))"image"===e.kind&&l.some(t=>"image"===t.kind&&t.src===e.src)||l.push(e);continue}if("user"!==o.role&&"assistant"!==o.role)continue;let e=String(null!=(s=o.content)?s:""),i=String(null!=e?e:"").split("\n").filter(e=>!/^\[tool_(use|result)\]$/.test(e.trim())).join("\n"),c="assistant"===o.role?"assistant":"user";if(""===i.trim()){l.length>0&&"assistant"===c&&(a.push({id:"restore-".concat(a.length),role:c,text:"",blocks:l,timestamp:er(r,t+a.length)}),l=[],r=void 0);continue}let d=i!==e,u=void 0!==n&&n.role===c&&n.text===i&&(d||n.wasStripped)&&0===l.length;if(n={role:c,text:i,wasStripped:d},u)continue;let m=l.length>0&&"assistant"===c?[...l,{kind:"text",text:i}]:void 0,p=er(void 0!==m?r:o.ts,t+a.length);void 0!==m&&(l=[],r=void 0),a.push({id:"restore-".concat(a.length),role:c,text:i,...void 0!==m?{blocks:m}:{},timestamp:p})}return l.length>0&&a.push({id:"restore-".concat(a.length),role:"assistant",text:"",blocks:l,timestamp:er(r,t+a.length)}),a}(t.messages,Date.now()),...e])}catch(e){}})(),()=>{e=!1}},[F,O]);let tr=(0,a.useCallback)(e=>{eN(t=>t.filter(t=>t.id!==e))},[]),ta={client:O,sessionId:F,provider:M.provider,setSessionId:P,daemon:{baseUrl:M.baseUrl,...M.token?{token:M.token}:{}},messages:Y},tl=e=>{_(t=>[...t,e])},ts=async(e,t,n,r,a)=>{var l;let s=await eB(O,e,{signal:r.signal,...void 0===a?{}:{startedAt:a},onStatus:e=>(0,g.cY)("pwa.chat.card-followup",{phase:"poll",status:e})});if(r.signal.aborted||X.current!==t)return"terminal";let o=eG();return(o&&function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Date.now();eQ(e,e$(e,r).filter(e=>e.sessionId!==t||e.id!==n))}(o,t,e),"not-card"===s.status)?(_(e=>e.filter(e=>e.id!==n)),(0,g.cY)("pwa.chat.card-followup",{phase:"fallback",status:s.status}),"not-card"):("done"===s.status&&(null==(l=s.replies)?void 0:l.length)===3&&s.replies.every(e=>"string"==typeof e)?(_(e=>[...e.filter(e=>e.id!==n),...s.replies.map((e,t)=>({id:"".concat(n,"-").concat(t),role:"assistant",text:e,timestamp:Date.now(),meta:{provider:M.provider}}))]),(0,g.cY)("pwa.chat.card-followup",{phase:"complete",status:"done"})):(_(e=>e.map(e=>e.id===n?{...e,text:"명함 정리에 실패했습니다 — 다시 보내 주세요"}:e)),(0,g.cY)("pwa.chat.card-followup",{phase:"complete",status:"failed"})),"terminal")};(0,a.useEffect)(()=>{if(!F)return;let e=eG();if(!e)return;let t=(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),r=e$(e,n);return eQ(e,r),r.filter(e=>e.sessionId===t)})(e,F).map(e=>{let{id:t,startedAt:n}=e,r=new AbortController,a="m-card-resume-".concat(t);return _(e=>e.some(e=>e.id===a)?e:[...e,{id:a,role:"assistant",text:"명함 읽는 중… 조사 중…",timestamp:n,meta:{provider:M.provider}}]),ts(t,F,a,r,n).catch(()=>{r.signal.aborted||X.current!==F||_(e=>e.map(e=>e.id===a?{...e,text:"명함 정리에 실패했습니다 — 다시 보내 주세요"}:e))}),r});return()=>{t.forEach(e=>e.abort())}},[O,F]);let to=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];eg(e=>eF(e,{kind:"turn-begin"})),(0,g.cY)("webterm.chat.input",{len:e.length,attachCount:ek.length});let r=t?[]:ek;t||eN([]);let a=t?{ok:!1}:function(e,t){if(1!==t.length||!t[0]||!eY(t[0])||!t[0].id)return{ok:!1};let n=e.trim();if(!n)return{ok:!0,attachmentId:t[0].id};let r=n.replace(/메일\s*초안/g,"메일초안").split(/[\s,]+/).filter(Boolean);return!r.length||r.some(e=>!/^(?:명함|전략|메일초안|crm)$/i.test(e))?{ok:!1}:{ok:!0,attachmentId:t[0].id,context:n}}(e,r),l=!1;if(a.ok){let t=X.current;if(!t){var s;ee.current=t=(0,ea.f6)(),X.current=t,null==(s=n.onSessionAdopt)||s.call(n,t),P(t)}let o=new AbortController;eS.current=o,eI.current=t,l=!0,e.length>0&&tl((0,G.tw)(e)),tl((0,G.$Q)("\uD83D\uDCCE attached: ".concat(r.map(e=>e.filename).join(", "))));let i="m-card-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6));tl({id:i,role:"assistant",text:"명함 읽는 중… 조사 중…",timestamp:Date.now(),meta:{provider:M.provider}}),B(!0),(0,g.cY)("pwa.chat.card-followup",{phase:"start",status:"judging"});try{let e=await eK(O,a.attachmentId,a.context,o.signal);if(o.signal.aborted||X.current!==t)return;let n=eG(),r=Date.now();n&&function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),r=e$(e,n).filter(e=>e.sessionId!==t.sessionId||e.id!==t.id);if(!t.sessionId||!t.id||!Number.isFinite(t.startedAt)||t.startedAt>n||n-t.startedAt>=9e5)return eQ(e,r);eQ(e,[...r,t])}(n,{sessionId:t,id:e,startedAt:r});let l=await ts(e,t,i,o,r);if("terminal"===l||o.signal.aborted||X.current!==t)return}catch(e){if(o.signal.aborted||X.current!==t)return;_(e=>e.map(e=>e.id===i?{...e,text:"명함 정리에 실패했습니다 — 다시 보내 주세요"}:e)),(0,g.cY)("pwa.chat.card-followup",{phase:"complete",status:"failed"});return}finally{eS.current===o&&(eS.current=null),o.signal.aborted||X.current!==t||(B(!1),eg(e=>eF(e,{kind:"turn-end"})))}}let o=r.filter(eY),i=r.filter(e=>!eY(e)),c=function(e){if(!e)return!0;let t=e.toLowerCase();return!!("auto"===t||t.startsWith("anthropic")||"anthropic"===t||t.startsWith("codex")||"openai-codex"===t||t.startsWith("openai")||"openai"===t||t.startsWith("gemini")||"gemini"===t||t.startsWith("grok")||"grok"===t||t.startsWith("local"))}(M.provider),d=o.length>0&&c;o.length>0&&!c&&eM.oR.warning("이 모델은 이미지 입력을 지원하지 않습니다 — ".concat(o.length,"개 이미지가 무시됩니다. (vision 모델로 전환 후 재첨부)"));let u=i.map(e=>e.path?"[attached] ".concat(e.path):"").filter(e=>e.length>0),m=u.length>0?"".concat(u.join("\n"),"\n\n").concat(e).trimEnd():e,p=null;if(d&&M.baseUrl)try{p=await eJ(m,o,{baseUrl:M.baseUrl,token:M.token})}catch(t){let e=t instanceof Error?t.message:String(t);(0,g.cY)("webterm.chat.attach.contentblock.error",{msg:e}),eM.oR.error("이미지 첨부 변환 실패 — 텍스트만 전송: ".concat(e)),p=null}!l&&(e.length>0&&tl((0,G.tw)(e)),r.length>0&&tl((0,G.$Q)("\uD83D\uDCCE attached: ".concat(r.map(e=>e.filename).join(", ")))));let h=e?await (0,G.yN)(e,ta):null;if(h){if("__CLEAR__"===h.text)_([]);else{let e=(0,G.$Q)(h.text);h.harnessAsk&&(e.blocks=[{kind:"harness_ask",acceptanceId:h.harnessAsk.acceptanceId}]),tl(e)}h.newSessionId&&(et.current++,ep([]),V.current=h.newSessionId,X.current=h.newSessionId,P(h.newSessionId));return}if(!M.baseUrl)return void tl((0,G.$Q)("error: daemon baseUrl not configured. Visit /settings."));B(!0),eR.current=!0;let f="m-stream-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6));tl({id:f,role:"assistant",text:"",timestamp:Date.now(),meta:{provider:M.provider}});let b=new AbortController;ej(b);let x=0,v=e_.current,y=!!(v&&F&&M.baseUrl),w=null;(0,g.cY)("webterm.chat.runturn.path",{useAcpPath:y,hasAcp:!!v,hasSession:!!F});let j=e=>{_(t=>t.map(t=>t.id===f?{...t,text:e}:t)),e.length>x&&(e7.pushText(e.slice(x)),x=e.length)},k=e=>{_(t=>t.map(t=>t.id===f?{...t,blocks:e}:t))};try{y&&(w=O.connectAcp({sessionId:F}));let{message:e,newSessionId:t}=y?await (0,G.py)(w,m,{...ta,sessionId:await w.ready||F},{signal:b.signal,...p?{userContent:p}:{},onPartial:j,onPartialBlocks:k}):await (0,G.HD)(m,ta,{signal:b.signal,...p?{userContent:p}:{},...eZ?{debugTap:!0}:{},onPartial:j,onPartialBlocks:k,onError:e=>eg(t=>eF(t,{kind:"error",payload:e}))});eg(e=>eF(e,{kind:"turn-end"})),_(t=>t.map(t=>t.id===f?e:t)),t&&t!==F&&X.current===F&&(ee.current=t,X.current=t,P(t)),e7.flush()}catch(n){let e=b.signal.aborted,t=n instanceof Error?n.message:String(n);e7.cancel(),e?(_(e=>e.map(e=>e.id===f?{...e,meta:{...e.meta,stopReason:"aborted"}}:e)),(0,g.cY)("webterm.chat.runturn.stream.abort",{reason:t})):(_(e=>e.filter(e=>e.id!==f)),tl((0,G.$Q)("error: ".concat(t))),eM.oR.error("chat failed: ".concat(t)),(0,g.cY)("webterm.chat.runturn.error",{reason:t,useAcpPath:y}))}finally{null==w||w.close(),B(!1),ej(null),eR.current=!1}},ti=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(ec.current||!t&&Z.current.length>0){var n,r;if(!t&&(ek.length>0||/^[\s]*[:/]/.test(e))){eM.oR.info("답이 끝난 뒤 보내 주세요"),z(t=>{var n;return{text:e,id:(null!=(n=null==t?void 0:t.id)?n:0)+1}});return}let a=(n=Z.current,(r={id:++ei.current,text:e}).text.trim()?n.length>=5?{queue:[...n],error:"줄이 찼습니다"}:{queue:[...n,{...r,text:r.text.trim()}]}:{queue:[...n]});a.error?(eM.oR.info(a.error),z(t=>{var n;return{text:e,id:(null!=(n=null==t?void 0:t.id)?n:0)+1}})):ep(a.queue);return}ec.current=!0;let a=et.current,l=X.current;try{await to(e,t)}finally{ec.current=!1,a!==et.current&&(0,g.cY)("webterm.chat.queue.session-changed",{turnSessionId:l,currentSessionId:X.current}),eu({generation:et.current,sessionId:X.current})}};(0,a.useEffect)(()=>{var e;if(ec.current||0===Z.current.length||!ed||ed.generation!==et.current||ed.sessionId!==F)return;let{entry:t,queue:n}={entry:(e=Z.current)[0],queue:e.slice(1)};t&&(ep(n),e0.current(t.text,!0))},[ed]),e0.current=ti,(0,a.useEffect)(()=>{eg(e=>eF(e,{kind:"session-change"}))},[F]),(0,a.useEffect)(()=>{if(!F||!M.baseUrl)return;let e=(0,G.lY)(O,F,{isLocalTurnInFlight:()=>eR.current,provider:M.provider,onPlaceholder:e=>{let{sessionId:t}=e;eg(e=>eF(e,{kind:"turn-begin"}));let n="m-obs-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),r={id:n,role:"assistant",text:"",timestamp:Date.now(),meta:{provider:M.provider}};return(0,g.cY)("webterm.chat.observer.placeholder",{id:n,turnSessionId:t}),_(e=>[...e,r]),eD.current=n,n},onPartialBlocks:(e,t)=>{_(n=>n.map(n=>n.id===e?{...n,blocks:t}:n))},onFinalize:(e,t)=>{eg(e=>eF(e,{kind:"turn-end"})),_(n=>n.map(n=>n.id===e?t:n)),eD.current===e&&(eD.current=null)},onError:(e,t)=>{eg(e=>eF(e,{kind:"error",payload:t})),(0,g.cY)("webterm.chat.observer.error",{placeholderId:e,error:t.error}),_(n=>n.map(n=>n.id===e?{...n,meta:{...n.meta,stopReason:t.error}}:n)),eD.current===e&&(eD.current=null)}});return()=>{e()}},[O,F,M.baseUrl,M.provider]),(0,a.useEffect)(()=>{if(!F||!M.baseUrl)return;let e=O.subscribeChatFeedbackEvents(F,{agentStatus:{onFeedback:e=>{_(t=>{if(0===t.length)return t;for(let n=t.length-1;n>=0;n--){if("assistant"!==t[n].role)continue;let r=t[n],a=Array.isArray(r.blocks)?[...r.blocks]:[];if("applied"!==(0,ex.K4)(a,e))break;let l={...r,blocks:a};return[...t.slice(0,n),l,...t.slice(n+1)]}return t})},onError:e=>{(0,g.cY)("webterm.agent-status.error",e)}},hudSegment:{onFeedback:e=>(0,G.Ju)(e),onError:e=>{(0,g.cY)("webterm.hud-segment.error",e)}}});return()=>{e()}},[O,F,M.baseUrl]),(0,a.useEffect)(()=>{if(!F||!M.baseUrl)return;let e=null;try{e=O.connectAcp({sessionId:F,onSession:e=>{if(e&&e!==F){var t;(0,g.cY)("webterm.chat.acp.session-adopt",{previous:F,issued:e}),X.current===F&&(ee.current=e,X.current=e,null==(t=n.onSessionAdopt)||t.call(n,e),P(e))}}})}catch(e){(0,g.cY)("webterm.chat.acp.connect-failed",{reason:String(e)});return}e_.current=e,eH(e);let t=e;(0,g.x8)(async e=>{let n=JSON.parse(e);return await t.send("elanous/debug-logs/ingest",{records:n.records}),!0});let r=(0,G.ZH)(e,F,{isLocalTurnInFlight:()=>eR.current,isRemoteSseTurnInFlight:()=>null!==eD.current,onPlaceholder:e=>{let{sessionId:t}=e;eg(e=>eF(e,{kind:"turn-begin"}));let n="m-acp-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),r={id:n,role:"assistant",text:"",timestamp:Date.now(),meta:{provider:M.provider}};return(0,g.cY)("webterm.chat.acp.foreign-placeholder",{id:n,turnSessionId:t}),_(e=>[...e,r]),n},onPartialBlocks:(e,t)=>{let n=t.find(e=>"text"===e.kind),r=t.some(e=>"image"===e.kind||"tool_use"===e.kind);_(a=>a.map(a=>a.id===e?{...a,...n?{text:n.text}:{},...r?{blocks:t}:{}}:a))},onFinalize:e=>{(0,g.cY)("webterm.chat.acp.foreign-finalize",{placeholderId:e})}});return()=>{r(),(0,g.x8)(null);try{null==e||e.close()}catch(e){}e_.current===e&&(e_.current=null),eH(null)}},[O,F,M.baseUrl,M.provider]);let tc=function(e){var t;let{acp:n,onComposerPrefill:r}=e,[l,s]=(0,a.useState)(null),o=(0,a.useRef)(null),i=(0,a.useCallback)(e=>{o.current=e,s(e)},[]),c=(0,a.useCallback)(e=>{let t=o.current;t&&(t.resolve(e),i(null))},[i]);(0,a.useEffect)(()=>{if(!n)return;let e=n.onRequest("elanous/ask/request",async e=>{let t=function(e){if(!e||"object"!=typeof e||"string"!=typeof e.id||!e.id||!e.request||"object"!=typeof e.request)return null;let t=e.request;return Array.isArray(t.questions)&&0!==t.questions.length?{id:e.id,request:e.request}:null}(e);if(!t)return{answers:{},cancelled:!0};let n=o.current;return n&&n.resolve({answers:{},cancelled:!0}),await new Promise(e=>{i({request:t.request,resolve:e,askId:t.id})})}),t=n.on("sessionUpdate",()=>{}),r=n.onAny(e=>{var t;if("elanous/ask/cancel"!==e.method||void 0!==e.id)return;let n=(t=e.params)&&"object"==typeof t&&"string"==typeof t.id&&t.id?{id:t.id,..."string"==typeof t.reason?{reason:t.reason}:{}}:null;if(!n)return;let r=o.current;r&&r.askId===n.id&&c({answers:{},cancelled:!0})});return()=>{e(),t(),r();let n=o.current;n&&(n.resolve({answers:{},cancelled:!0}),o.current=null)}},[n,i,c]);let d=(0,a.useCallback)(e=>{c(e)},[c]),u=(0,a.useCallback)(()=>{c({answers:{},cancelled:!0})},[c]),m=(0,a.useCallback)(()=>{let e=o.current;e&&r&&r(e.request),c({answers:{},cancelled:!0})},[c,r]);return{pendingRequest:null!=(t=null==l?void 0:l.request)?t:null,submit:d,cancel:u,chatAboutThis:m}}({acp:ez,onComposerPrefill:e=>{let t=e.questions[0];if(!t)return;let n="[ Q: ".concat(t.question.trim()," ]\n\n");(0,el.vn)(n),z(e=>{var t;return{text:n,id:(null!=(t=null==e?void 0:e.id)?t:0)+1}}),eM.oR.info("\uD83D\uDCAC 입력 영역에 질문 prefill 됨 (Chat about this)")}}),td=function(e){var t,n;let{acp:r,sessionId:l}=e,[s,o]=(0,a.useState)(null),i=(0,a.useRef)(null),c=(0,a.useRef)(l);c.current=l;let d=(0,a.useCallback)((e,t,n)=>{let r=i.current;r&&(!n||r.request===n)&&(i.current=null,clearTimeout(r.timer),o(null),(0,g.cY)("pwa.tool-approval.".concat("cancelled"===t?"cancelled":"decided"),{tool:eU,choice:t}),r.resolve(e))},[]);(0,a.useEffect)(()=>{if(!r)return;let e=r.onRequest("session/request_permission",e=>{let t=function(e){try{if(!e||"object"!=typeof e)return null;let t=e.toolCall;if(!t||"object"!=typeof t||"string"!=typeof e.sessionId||!e.sessionId||"string"!=typeof t.toolCallId||!t.toolCallId||"string"!=typeof t.title||!t.title||!Array.isArray(e.options))return null;let n=e.options.map(e=>{if(!e||"object"!=typeof e||"string"!=typeof e.optionId||!e.optionId||"string"!=typeof e.kind||!eL.includes(e.kind))throw Error("invalid option");return{optionId:e.optionId,kind:e.kind}});if(new Set(n.map(e=>e.optionId)).size!==n.length||new Set(n.map(e=>e.kind)).size!==n.length||["allow_once","allow_always","reject_once"].some(e=>!n.some(t=>t.kind===e)))return null;return{sessionId:e.sessionId,toolCall:{toolCallId:t.toolCallId,title:t.title,...void 0!==t.rawInput?{rawInput:t.rawInput}:{}},options:n}}catch(e){return null}}(e);return t&&t.sessionId===c.current?((0,g.cY)("pwa.tool-approval.requested",{tool:eU,choice:null}),d(eT,"cancelled"),new Promise(e=>{let n={request:t,receivedAt:Date.now(),resolve:e,timer:setTimeout(()=>{i.current===n&&d(eT,"cancelled")},6e4)};i.current=n,o(n)})):((0,g.cY)("pwa.tool-approval.cancelled",{tool:eU,choice:"cancelled"}),eT)}),t="function"==typeof r.onState?r.onState(e=>{("CLOSED"===e||"FAILED"===e)&&d(eT,"cancelled")}):()=>{};return()=>{e(),t(),d(eT,"cancelled")}},[r,d]),(0,a.useEffect)(()=>{i.current&&i.current.request.sessionId!==l&&d(eT,"cancelled")},[l,d]);let u=(0,a.useCallback)((e,t)=>{var n;if((null==(n=i.current)?void 0:n.request)!==e)return;let r=e.options.find(e=>e.kind===t);r&&d({outcome:{outcome:"selected",optionId:r.optionId}},t,e)},[d]),m=(0,a.useCallback)(e=>d(eT,"cancelled",e),[d]);return{pendingRequest:null!=(t=null==s?void 0:s.request)?t:null,receivedAt:null!=(n=null==s?void 0:s.receivedAt)?n:0,choose:u,cancel:m}}({acp:ez,sessionId:F}),tu=(0,r.jsxs)("button",{type:"button",onClick:()=>void e4.toggle(),disabled:!e6,title:e6?null!=(e=e4.errorMsg)?e:eO.g[e4.phase]:"daemon URL 미설정 — Settings 에서 Base URL 입력","data-elanous-action":"chat-voice-toggle",className:(0,Q.cn)("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-xs font-medium transition-colors",e4.active?"border-rose-500/40 bg-rose-500/10 text-rose-600 hover:bg-rose-500/20":"border-border bg-background text-foreground hover:bg-muted",!e6&&"cursor-not-allowed opacity-50"),children:[(0,r.jsx)("span",{className:(0,Q.cn)("h-2 w-2 rounded-full",eO.x[e4.phase],("listening"===e4.phase||"speaking"===e4.phase)&&"animate-pulse"),"aria-hidden":!0}),e4.active?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:eO.g[e4.phase]})]});return(0,r.jsxs)("div",{className:"relative flex h-full flex-col",onPaste:e=>{let t=function(e,t){if(!e)return A([]);let n=[];if(e.items.length>0)for(let t of Array.from(e.items)){if("file"!==t.kind)continue;let e=t.getAsFile();e&&n.push(e)}else n.push(...Array.from(e.files));return A(n.map(e=>({file:e,filename:e.name||"paste-".concat(t,".png")})))}(e.clipboardData,Date.now());(0!==t.files.length||0!==t.tooLarge||0!==t.tooMany)&&(e.preventDefault(),tn(t))},onDragEnter:e=>{eE(t=>D(t,"enter",E(e.dataTransfer)))},onDragLeave:e=>{eE(t=>D(t,"leave",E(e.dataTransfer)))},onDragOver:e=>{E(e.dataTransfer)&&e.preventDefault()},onDrop:e=>{var t;eE(t=>D(t,"drop",E(e.dataTransfer)));let n=A((t=e.dataTransfer)?Array.from(t.files,e=>({file:e,filename:e.name})):[]);(0!==n.files.length||0!==n.tooLarge||0!==n.tooMany)&&(e.preventDefault(),tn(n))},children:[eA.visible&&(0,r.jsx)(R,{}),n.mobileSimple&&c&&(0,r.jsx)(N,{activity:null!=(t=n.mobileActivity)?t:{kind:"loading"},decisions:T,menu:(0,r.jsxs)("div",{ref:U,className:"relative shrink-0",children:[(0,r.jsx)("button",{type:"button","aria-label":"채팅 메뉴","aria-expanded":p,"aria-controls":"chat-mobile-menu",onClick:()=>h(e=>!e),className:"rounded-lg p-1 hover:bg-muted",children:(0,r.jsx)(i.A,{className:"h-5 w-5","aria-hidden":"true"})}),p&&(0,r.jsxs)("div",{id:"chat-mobile-menu",className:"absolute right-0 top-full z-50 mt-2 flex max-h-[70dvh] w-[min(19rem,calc(100vw-1rem))] flex-col gap-2 overflow-y-auto rounded-lg border border-border bg-popover p-3 shadow-lg",children:[(0,r.jsxs)("nav",{"aria-label":"채팅 이동",className:"flex gap-3 text-sm",children:[(0,r.jsx)(d(),{href:"/",className:"rounded px-2 py-1 hover:bg-muted",children:"홈"}),(0,r.jsx)(d(),{href:"/workspace",className:"rounded px-2 py-1 hover:bg-muted",children:"워크스페이스"}),(0,r.jsx)(d(),{href:"/settings",className:"rounded px-2 py-1 hover:bg-muted",children:"설정"})]}),n.conversationButton,(0,r.jsx)(q.Qh,{sessionId:F,...n.onAttachRequest?{onAttachRequest:n.onAttachRequest}:{},...n.onForgetRequest?{onForgetRequest:n.onForgetRequest}:{}}),(0,r.jsx)($,{compact:!0}),(0,r.jsx)(x,{}),(0,r.jsx)(l.vG,{children:(0,r.jsx)(es.rm,{})}),(0,r.jsx)(l.vG,{children:(0,r.jsx)(eo.D,{})}),tu]})]})}),c&&!n.mobileSimple?(0,r.jsxs)("div",{"data-elanous-chat-compact-header":"",className:"flex h-11 max-h-11 min-w-0 shrink-0 items-center gap-2 border-b border-border bg-background px-3 whitespace-nowrap",children:[n.leading&&(0,r.jsx)("div",{className:"shrink-0",children:n.leading}),(0,r.jsx)("div",{className:"min-w-0 flex-1 [&>div]:min-w-0 [&>div]:max-w-full [&>div>div:first-child]:min-w-0 [&>div>div:first-child]:max-w-full [&>div>div:first-child]:overflow-hidden [&>div>div:first-child>span:last-child]:shrink-0 [&>div>div:first-child_span]:min-w-0 [&>div>div:first-child_span]:truncate [&>div>div[role=menu]]:max-w-[calc(100vw-4rem)]",children:(0,r.jsx)(q.Qh,{sessionId:F,...n.onAttachRequest?{onAttachRequest:n.onAttachRequest}:{},...n.onForgetRequest?{onForgetRequest:n.onForgetRequest}:{}})}),(0,r.jsx)("div",{className:"min-w-0 shrink-0",children:(0,r.jsx)($,{compact:!0})}),(0,r.jsx)(x,{}),(0,r.jsxs)("div",{ref:U,className:"relative shrink-0",children:[(0,r.jsx)("button",{type:"button","aria-label":"채팅 더보기","aria-expanded":p,"aria-controls":"chat-header-more",onClick:()=>h(e=>!e),className:"inline-flex h-8 w-8 items-center justify-center rounded-lg hover:bg-muted",children:(0,r.jsx)(i.A,{className:"h-5 w-5","aria-hidden":"true"})}),p&&(0,r.jsxs)("div",{id:"chat-header-more",className:"absolute right-0 top-full z-50 mt-1 flex max-w-[calc(100vw-1.5rem)] flex-col gap-2 rounded-lg border border-border bg-popover p-3 shadow-lg",children:[(0,r.jsx)(l.vG,{children:(0,r.jsx)(es.rm,{})}),(0,r.jsx)(l.vG,{children:(0,r.jsx)(eo.D,{})}),tu]})]})]}):n.mobileSimple&&c?null:(0,r.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-border bg-background px-4 py-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(q.Qh,{sessionId:F,...n.onAttachRequest?{onAttachRequest:n.onAttachRequest}:{},...n.onForgetRequest?{onForgetRequest:n.onForgetRequest}:{}}),(0,r.jsx)(l.vG,{children:(0,r.jsx)(es.rm,{})}),(0,r.jsx)(l.vG,{children:(0,r.jsx)(eo.D,{})})]}),(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,r.jsx)($,{}),(0,r.jsx)(x,{}),tu]})]}),!(n.mobileSimple&&c)&&(0,r.jsx)(f,{}),n.mobileSimple&&c&&y+T>0&&(0,r.jsx)("div",{className:"shrink-0 px-3 py-1.5",children:(0,r.jsxs)("button",{type:"button","aria-expanded":b,"aria-controls":"chat-mobile-actions",onClick:()=>v(e=>!e),className:"rounded-full border border-border bg-muted px-3 py-1 text-xs font-medium",children:["승인\xb7결정 ",y+T]})}),n.mobileSimple&&c?(0,r.jsxs)("div",{id:"chat-mobile-actions",children:[(0,r.jsx)(w,{mobileOpen:b,onCount:j}),(0,r.jsx)(k,{mobileOpen:b,onCount:L})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w,{}),(0,r.jsx)(k,{})]}),!(n.mobileSimple&&c)&&(0,r.jsx)(en,{}),(0,r.jsxs)("div",{className:"relative flex flex-1 min-h-0 flex-col",children:[(0,r.jsx)(S.D,{messages:Y,pending:K,mobileSimple:!!(n.mobileSimple&&c),...n.tabId?{tabId:n.tabId}:{}}),eh&&(0,r.jsxs)("div",{role:"alert",className:"mx-4 mb-3 flex shrink-0 items-start justify-between gap-3 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-sm text-foreground","data-elanous-turn-busy-banner":"",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"font-medium",children:"이 대화는 지금 응답 중입니다"}),(0,r.jsx)("p",{className:"text-muted-foreground",children:eh.message}),(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:eh.holder?"Current input holder: ".concat(eh.holder):"The current input holder is not available."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>eg(null),className:"rounded px-2 py-1 text-xs text-muted-foreground hover:bg-amber-500/10 hover:text-foreground","aria-label":"응답 중 알림 닫기",children:"Dismiss"})]}),(0,r.jsx)(ef,{active:e4.active,phase:e4.phase,errorMsg:e4.errorMsg,onToggle:()=>void e4.toggle(),ttsSupported:e7.supported,ttsMuted:e8,onTtsToggle:()=>e9(e=>!e),onInterrupt:()=>{try{e7.cancel()}catch(e){}e4.interrupt()}})]}),K&&ew&&(0,r.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2 border-t border-border bg-muted/30 px-4 py-1.5 text-xs",children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"streaming…"}),(0,r.jsx)("button",{type:"button",onClick:te,className:"rounded border border-border bg-background px-2 py-0.5 font-mono hover:bg-muted","data-elanous-action":"chat-stop",title:"Stop the running turn (Esc)",children:"Stop ⎋"})]}),(0,r.jsx)(I,{queue:em,onRemove:e=>{var t;return ep((t=Z.current,t.filter(t=>t.id!==e)))},onClear:()=>ep([])}),(0,r.jsx)(C.V,{onSubmit:ti,prefill:J,attachments:ek,onAttached:tt,onRemoveAttachment:tr,voice:{active:e4.active,phase:e4.phase,dotColor:eO.x[e4.phase],phaseLabel:eO.g[e4.phase],disabled:!e6,onToggle:()=>void e4.toggle()},...n.tabId?{tabId:n.tabId}:{},onListFiles:ez&&F?async e=>{var t,n;let r=await ez.send("elanous/fs/list",{sessionId:F,query:e,limit:50}),a=(null!=(t=r.entries)?t:[]).filter(e=>"string"==typeof(null==e?void 0:e.name)&&"boolean"==typeof(null==e?void 0:e.isDir)&&"string"==typeof(null==e?void 0:e.relPath)).map(e=>({name:e.name,isDir:e.isDir,relPath:e.relPath}));return{cwd:null!=(n=r.cwd)?n:"",entries:a}}:void 0,onListSkills:ez&&F?async e=>{var t;return{entries:(null!=(t=(await ez.send("elanous/skills/list",{sessionId:F,query:e})).entries)?t:[]).filter(e=>"string"==typeof(null==e?void 0:e.name)&&"string"==typeof(null==e?void 0:e.description)).map(e=>({name:e.name,description:e.description}))}}:void 0}),eW&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eb,{open:eZ,onClose:()=>eV(!1),lines:eX}),!eZ&&(0,r.jsxs)("button",{type:"button",onClick:()=>eV(!0),"data-elanous-debug-tap-reopen":"",className:(0,Q.cn)("fixed bottom-3 right-3 z-40 rounded-full border border-border bg-card px-3 py-1.5","text-[11px] font-mono text-muted-foreground shadow hover:bg-muted hover:text-foreground"),"aria-label":"Reopen debug drawer",title:"Reopen Debug Tap drawer",children:["⌁ debug (",eX.length,")"]})]}),(0,r.jsx)(eC,{request:tc.pendingRequest,onSubmit:tc.submit,onCancel:tc.cancel,onChatAboutThis:tc.chatAboutThis}),(0,r.jsx)(eq,{request:td.pendingRequest,receivedAt:td.receivedAt,onChoose:td.choose,onCancel:td.cancel})]})}var eW=n(22910),eZ=n(94522);function eV(e,t){var n,r;return(null==t?void 0:t.trim())||(null==(r=e.lastMsgPreview)||null==(n=r.trim().split(/\r?\n/)[0])?void 0:n.trim())||"대화"}function eX(e,t){try{"undefined"!=typeof localStorage&&localStorage.setItem(e,t)}catch(e){}}function e0(e){let{onSelect:t}=e,n=(0,m.Q)(),l=(0,L.t)({activePoll:!0}),[s,o]=(0,a.useState)({}),[i,c]=(0,a.useState)(""),[d,u]=(0,a.useState)([]),[p,h]=(0,a.useState)("all"),[f,b]=(0,a.useState)([]),[g,x]=(0,a.useState)(_);(0,a.useEffect)(()=>{let e=()=>{x(_()),j({})};return window.addEventListener(M,e),()=>window.removeEventListener(M,e)},[]);let[v,y]=(0,a.useState)({}),[w,j]=(0,a.useState)({}),k=(0,a.useRef)(new Set),N=e=>{let t=e(_());J(t),x(t)};(0,a.useEffect)(()=>{var e;h(null!=(e=function(e){try{return"undefined"==typeof localStorage?null:localStorage.getItem(e)}catch(e){return null}}(O))?e:"all");let t=!0,r=0,a=()=>{let e=++r;new U(n.client).list().then(n=>{var a;t&&e===r&&u(null!=(a=n.projects)?a:[])}).catch(()=>{})};return a(),window.addEventListener(F,a),()=>{t=!1,window.removeEventListener(F,a)}},[n.client]),(0,a.useEffect)(()=>{let e=!0,t=d.length>0&&"all"!==p&&"none"!==p?"?projectId=".concat(encodeURIComponent(p)):"";return n.client.fetchJson("/v1/sessions/store".concat(t)).then(t=>{var n;if(!e)return;let r=null!=(n=t.sessions)?n:[];b(r),o(Object.fromEntries(r.map(e=>[e.id,e.title])))}).catch(()=>{}),()=>{e=!1}},[n.client,l,d,p]),(0,a.useEffect)(()=>{let e=Object.keys(g).filter(e=>l.some(t=>t.id===e)&&!f.some(t=>t.id===e));if(0===e.length)return;let t=!0;for(let r of e)n.client.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(r),"?ifExists=1")).then(e=>{t&&e.meta&&b(t=>t.some(e=>e.id===r)?t:[...t,e.meta])}).catch(()=>{});return()=>{t=!1}},[f,n.client,g,l]),(0,a.useEffect)(()=>{for(let[e,t]of Object.entries(g)){if(e===n.sessionId||w[e]===t||!l.some(t=>t.id===e)||k.current.has(e))continue;let r=f.find(t=>t.id===e);if(r&&_()[e]===t){if(r.projectId===t||v[e]===t){N(t=>{let n={...t};return delete n[e],n});continue}k.current.add(e),new U(n.client).assign(e,t).then(()=>{y(n=>({...n,[e]:t})),b(n=>n.map(n=>n.id===e?{...n,projectId:t}:n)),_()[e]===t&&N(t=>{let n={...t};return delete n[e],n})}).catch(()=>{j(n=>({...n,[e]:t})),_()[e]===t&&N(t=>{let n={...t};return delete n[e],n})}).finally(()=>{k.current.delete(e)})}}},[v,w,f,n.client,n.sessionId,g,l]);let S=d.some(e=>e.id===p)||"none"===p?p:"all",C=0===d.length||"all"===S?l:l.filter(e=>g[e.id]?g[e.id]===S:"none"===S?!f.some(t=>t.id===e.id&&t.projectId)&&!v[e.id]:v[e.id]===S||f.some(t=>t.id===e.id&&t.projectId===S)),I=[...C].filter(e=>{var t;return"".concat(eV(e,s[e.id])," ").concat(null!=(t=e.lastMsgPreview)?t:"").toLocaleLowerCase().includes(i.trim().toLocaleLowerCase())}).sort((e,t)=>Date.parse(t.lastTurnAt)-Date.parse(e.lastTurnAt)),A=()=>{let e=(0,ea.Zr)();d.length>0&&"all"!==S&&"none"!==S&&N(t=>({...t,[e]:S})),n.setSessionId(e),null==t||t()};return(0,r.jsxs)("nav",{"aria-label":"대화 목록",className:"flex h-full min-h-0 flex-col bg-background",children:[(0,r.jsxs)("div",{className:"shrink-0 space-y-3 border-b border-border p-3",children:[(0,r.jsx)(z,{projects:d,selection:S,onChange:e=>{h(e),eX(O,e)},api:new U(n.client),onCreate:async(e,t)=>{let{project:r}=await new U(n.client).create(e,t);u(e=>[...e,r]),h(r.id),eX(O,r.id),P()}}),(0,r.jsxs)("button",{type:"button",onClick:A,className:"flex w-full items-center gap-2 rounded-lg bg-primary px-3 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90",children:[(0,r.jsx)(eW.A,{className:"h-4 w-4","aria-hidden":"true"})," 새 대화"]}),(0,r.jsxs)("label",{className:"flex items-center gap-2 rounded-lg border border-border bg-muted/30 px-2.5 py-2 focus-within:ring-2 focus-within:ring-ring",children:[(0,r.jsx)(eZ.A,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,r.jsx)("input",{"aria-label":"대화 검색",type:"search",value:i,onChange:e=>c(e.target.value),placeholder:"대화 검색",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"})]})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-2",children:0===C.length?(0,r.jsxs)("div",{className:"space-y-3 px-2 py-8 text-center text-sm text-muted-foreground",children:[(0,r.jsx)("p",{children:"아직 대화가 없습니다"}),(0,r.jsx)("button",{type:"button",onClick:A,className:"rounded-lg border border-border px-3 py-2 text-foreground hover:bg-muted",children:"+ 새 대화"})]}):0===I.length?(0,r.jsx)("p",{className:"px-2 py-8 text-center text-sm text-muted-foreground",children:"검색 결과가 없습니다"}):(0,r.jsx)("ul",{className:"space-y-1",children:I.map(e=>(0,r.jsx)("li",{children:(0,r.jsxs)("button",{type:"button","aria-current":n.sessionId===e.id?"page":void 0,onClick:()=>{P(),n.setSessionId(e.id),null==t||t()},className:"w-full rounded-lg px-3 py-2.5 text-left transition-colors ".concat(n.sessionId===e.id?"bg-primary/10 text-primary ring-1 ring-inset ring-primary/25":"text-foreground hover:bg-muted"),children:[(0,r.jsx)("span",{className:"block truncate text-sm font-medium",children:eV(e,s[e.id])}),(0,r.jsxs)("span",{className:"mt-1 block truncate text-xs text-muted-foreground",children:[function(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)/6e4));if(r<1)return"방금 전";if(r<60)return"".concat(r,"분 전");let a=Math.floor(r/60);if(a<24)return"".concat(a,"시간 전");let l=Math.floor(a/24);return l<7?"".concat(l,"일 전"):new Date(n).toLocaleDateString()}(e.lastTurnAt)," \xb7 ",e.msgCount,"개 메시지"]})]})},e.id))})})]})}var e1=n(59543),e2=n(95888),e3=n(11996),e5=n(19524);function e4(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{compact:n}=(0,u.K)(),l=!!t.mobileSimple&&n,s=(0,e5.DE)(),o=(0,e3.tg)(),{client:i,sessionId:c,setSessionId:d}=(0,m.Q)(),[p,h]=(0,a.useState)(c||"default"),[f,b]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!f)return;let e=e=>{"Escape"===e.key&&b(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[f]);let g=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(g.current===c){g.current=null;return}g.current=null,h(c||"default")},[c]);let x=(0,a.useRef)(t.sessionId),v=(0,a.useRef)(c),y=null!=(e=null==o?void 0:o.state.activeId)?e:null;(0,a.useEffect)(()=>{let e=t.sessionId;if(o&&t.tabId&&e&&c){var n,r;let a=function(e){if(!e.isActive||e.tabSessionId===e.daemonSessionId)return"none";let t=e.prevTabSessionId!==e.tabSessionId,n=e.prevDaemonSessionId!==e.daemonSessionId;return t||!n?"adopt-tab":"record-global"}({isActive:y===t.tabId,tabSessionId:e,daemonSessionId:c,prevTabSessionId:null!=(n=x.current)?n:e,prevDaemonSessionId:null!=(r=v.current)?r:c});"adopt-tab"===a?d(e):"record-global"===a&&o.updateChatTab(t.tabId,{sessionId:c})}x.current=t.sessionId,v.current=c},[o,y,t.tabId,t.sessionId,c,d]);let w=o&&t.tabId?()=>o.openPicker({kind:"attachToTab",tabId:t.tabId}):void 0,j=o&&t.sessionId?async()=>{let e=(0,T.hG)(i);await e.forget(t.sessionId)}:void 0,k=(0,r.jsx)("button",{type:"button",onClick:()=>b(!0),"aria-label":"대화 목록","aria-expanded":f,"aria-controls":"chat-conversation-drawer",className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg hover:bg-muted",children:(0,r.jsx)(e1.A,{className:"h-4 w-4","aria-hidden":"true"})}),N=(0,r.jsx)(eH,{onSessionAdopt:e=>{g.current=e},...t.showConversationList&&n&&!l?{leading:k}:{},...l?{mobileSimple:l,mobileActivity:s,conversationButton:k}:{},...w?{onAttachRequest:w}:{},...j?{onForgetRequest:j}:{},...t.tabId?{tabId:t.tabId}:{}},p);return t.showConversationList?(0,r.jsxs)("div",{className:"flex h-full min-h-0 min-w-0",children:[(0,r.jsx)("aside",{className:n?"hidden":"hidden h-full w-[260px] shrink-0 border-r border-border md:block",children:(0,r.jsx)(e0,{})}),(0,r.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[!n&&(0,r.jsx)("div",{className:"shrink-0 border-b border-border bg-background px-3 py-2 md:hidden",children:(0,r.jsxs)("button",{type:"button",onClick:()=>b(!0),"aria-label":"대화 목록","aria-expanded":f,"aria-controls":"chat-conversation-drawer",className:"inline-flex items-center gap-2 rounded-lg px-2 py-1.5 text-sm font-medium hover:bg-muted",children:[(0,r.jsx)(e1.A,{className:"h-4 w-4","aria-hidden":"true"})," 대화 목록"]})}),(0,r.jsx)("div",{className:"min-h-0 min-w-0 flex-1",children:N})]}),f&&(0,r.jsxs)("div",{className:n?"fixed inset-0 z-50":"fixed inset-0 z-50 md:hidden",children:[(0,r.jsx)("button",{type:"button","aria-label":"대화 목록 닫기",onClick:()=>b(!1),className:"absolute inset-0 bg-black/50"}),(0,r.jsxs)("aside",{id:"chat-conversation-drawer",role:"dialog","aria-modal":"true","aria-label":"대화 목록",className:"relative h-full w-[min(260px,85vw)] bg-background shadow-xl",children:[(0,r.jsx)("button",{type:"button","aria-label":"대화 목록 닫기",onClick:()=>b(!1),className:"absolute right-2 top-2 z-10 rounded p-1 hover:bg-muted",children:(0,r.jsx)(e2.A,{className:"h-4 w-4"})}),(0,r.jsx)(e0,{onSelect:()=>b(!1)})]})]})]}):N}},63169:(e,t,n)=>{function r(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function a(e){return"string"==typeof e}function l(e){return a(e)&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/.test(e)&&Number.isFinite(Date.parse(e))&&new Date(e).toISOString().slice(0,19)===e.slice(0,19)}function s(e){return r(e)&&a(e.nodeId)&&(null===e.ok||"boolean"==typeof e.ok)&&a(e.summary)&&(void 0===e.startedAt||null===e.startedAt||a(e.startedAt))&&(void 0===e.endedAt||null===e.endedAt||a(e.endedAt))}n.d(t,{HG:()=>x,Kh:()=>g,Nn:()=>f,oc:()=>b});let o=new Set(["pending","running","done","retry","timeout","failed"]),i=e=>void 0===e||"number"==typeof e&&Number.isFinite(e);function c(e){return!!(r(e)&&a(e.runId)&&a(e.status)&&a(e.startedAt)&&(null===e.version||a(e.version))&&Array.isArray(e.path)&&e.path.every(a)&&Array.isArray(e.nodes)&&e.nodes.every(s))&&(void 0!==e.gateShards&&!function(e){if(!r(e)||!a(e.version)||!a(e.updatedAt)||!Array.isArray(e.shards)||!r(e.summary))return!1;let t=e.summary;return e.shards.every(e=>r(e)&&a(e.id)&&o.has(e.state)&&i(e.plannedMin)&&i(e.installSec)&&i(e.rc)&&(void 0===e.waitReason||a(e.waitReason)))&&Number.isInteger(t.total)&&r(t.counts)&&[...o].every(e=>Number.isInteger(t.counts[e]))&&Array.isArray(t.waitReasons)&&t.waitReasons.every(e=>r(e)&&a(e.reason)&&Number.isInteger(e.count))&&(null===t.etaMin||"number"==typeof t.etaMin)&&(null===t.staleMin||"number"==typeof t.staleMin)&&(void 0===t.overrunMin||"number"==typeof t.overrunMin)}(e.gateShards)&&delete e.gateShards,!0)}function d(e){return r(e)&&a(e.id)&&a(e.title)&&a(e.status)&&(void 0===e.owner||a(e.owner))&&a(e.updatedAt)&&(void 0===e.evidence||a(e.evidence))}let u=e=>Number.isInteger(e)&&e>=0;function m(e){return r(e)&&a(e.id)&&a(e.title)&&(null===e.open||u(e.open))&&(null===e.landed||u(e.landed))&&(null===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(e=>r(e)&&a(e.id)&&a(e.title)))}function p(e){return r(e)&&["OP","MK","TC","UX"].includes(e.seat)&&(void 0===e.role||a(e.role))&&(null===e.now||r(e.now)&&a(e.now.text)&&a(e.now.at))&&(null===e.landed||Array.isArray(e.landed)&&e.landed.every(e=>r(e)&&u(e.pr)&&a(e.title)&&a(e.at)&&(null===e.checklistId||a(e.checklistId))))&&(null===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(e=>r(e)&&a(e.id)&&a(e.title)&&"red"===e.status))&&(null===e.pendingDecisions||u(e.pendingDecisions))&&(null===e.checklist||r(e.checklist)&&["green","yellow","red","done"].every(t=>u(e.checklist[t])))&&(void 0===e.subSeats||null===e.subSeats||Array.isArray(e.subSeats)&&e.subSeats.every(m))}async function h(e,t,n){try{let r=await e.fetchResponse(t,{method:"GET"});if(403===r.status)return{kind:"forbidden"};if(!r.ok)return{kind:"error",status:r.status};let a=n(await r.json());return null===a?{kind:"error",status:r.status}:{kind:"ready",data:a}}catch(e){return{kind:"error",status:0}}}function f(e,t){return h(e,"/v1/ops/seats".concat(t?"?date=".concat(encodeURIComponent(t)):""),e=>r(e)&&a(e.date)&&Array.isArray(e.seats)&&e.seats.every(p)&&new Set(e.seats.map(e=>e.seat)).size===e.seats.length?{date:e.date,seats:e.seats}:null)}function b(e,t){return h(e,"/v1/ops/release/runs".concat(t?"?version=".concat(encodeURIComponent(t)):""),e=>Array.isArray(e)&&e.every(c)?e:null)}function g(e,t,n){return h(e,"/v1/ops/release/runs/".concat(encodeURIComponent(t),"/nodes/").concat(encodeURIComponent(n),"/log"),e=>r(e)&&a(e.log)?{log:e.log}:null)}function x(e,t){return h(e,"/v1/ops/checklist?version=".concat(encodeURIComponent(t)),e=>{var t,n,s,o;if(!(r(e)&&a(e.version)&&(void 0===e.codename||a(e.codename))&&Array.isArray(e.items)&&e.items.every(d)&&["green","yellow","red","done"].every(t=>void 0===e[t]||Number.isInteger(e[t])&&e[t]>=0)&&(void 0===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(a))&&(void 0===e.byOwner||r(e.byOwner)&&Object.values(e.byOwner).every(e=>Number.isInteger(e)&&e>=0))&&(void 0===e.history||Array.isArray(e.history))))return null;let i={green:0,yellow:0,red:0,done:0};for(let t of e.items)t.status in i&&i[t.status]++;return{version:e.version,...void 0!==e.codename?{codename:e.codename}:{},schedule:r(e.schedule)&&l(e.schedule.cutAt)&&(null===e.schedule.landBy||l(e.schedule.landBy))?{cutAt:e.schedule.cutAt,landBy:e.schedule.landBy}:null,items:e.items,green:null!=(t=e.green)?t:i.green,yellow:null!=(n=e.yellow)?n:i.yellow,red:null!=(s=e.red)?s:i.red,done:null!=(o=e.done)?o:i.done,...void 0!==e.blocked?{blocked:e.blocked}:{},...void 0!==e.byOwner?{byOwner:e.byOwner}:{},...void 0!==e.history?{history:e.history}:{}}})}},66860:(e,t,n)=>{function r(e){return{slides:e.slides.map(e=>{let{image:t,caption:n,include:r}=e;return{image:t,caption:n,include:r}}),caption:{hook:e.caption.hook,body:e.caption.body},hashtags:[...e.hashtags],cover:{text:e.cover.text,sub:e.cover.sub},location:e.location}}n.d(t,{$Y:()=>s,LP:()=>i,Mz:()=>r,ll:()=>d,rH:()=>o});class a extends Error{constructor(e,t){super(t),this.status=e,this.name="GraphApprovalsApiError"}}let l={list:"목록을 보려면",decide:"승인하려면",save:"초안을 저장하려면"},s="/app/settings/#bearer-token";function o(e){return e instanceof a&&(401===e.status||403===e.status)}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"decide";return e instanceof a?401===e.status||403===e.status?"".concat(l[t]," 이 기기를 데몬에 연결해야 합니다 — 설정 › 데몬 연결 › 연결 토큰 칸에 토큰을 넣어 주세요."):404===e.status?"이 실행을 찾지 못했습니다. 목록을 다시 확인해 주세요.":409===e.status?"이미 결정된 실행입니다. 목록을 다시 확인해 주세요.":400===e.status?"결정 내용을 확인한 뒤 다시 시도해 주세요.":"승인 요청을 처리하지 못했습니다. 잠시 뒤 다시 시도해 주세요.":e instanceof TypeError?"서버에 연결하지 못했습니다. 연결 상태를 확인해 주세요.":"승인 요청을 처리하지 못했습니다. 잠시 뒤 다시 시도해 주세요."}let c="/v1/graph-approvals";function d(e){var t,n;let r=(null!=(t=e.baseUrl)?t:"").replace(/\/+$/,""),l=null!=(n=e.fetchImpl)?n:fetch;async function s(t,n){let s={...n,headers:{"content-type":"application/json",...e.authHeader?{authorization:e.authHeader}:{}}},o=e.client?await e.client.fetchResponse(t,s):await l("".concat(r).concat(t),s),i=await o.json().catch(()=>null);if(!o.ok){let e=i&&"object"==typeof i&&"error"in i&&"string"==typeof i.error?i.error:"request-failed";throw new a(o.status,e)}return i}return{list:()=>s(c),decide:(e,t,n)=>s("".concat(c,"/").concat(encodeURIComponent(e),"/").concat(encodeURIComponent(t)),{method:"POST",body:JSON.stringify({decision:n})}),saveFeedDraft:(e,t,n)=>s("".concat(c,"/").concat(encodeURIComponent(e),"/").concat(encodeURIComponent(t),"/feed-draft"),{method:"PUT",body:JSON.stringify(n)}),feedMedia:async(t,n,s)=>{let o="".concat(c,"/").concat(encodeURIComponent(t),"/").concat(encodeURIComponent(n),"/media?path=").concat(encodeURIComponent(s)),i={headers:e.authHeader?{authorization:e.authHeader}:{}},d=e.client?await e.client.fetchResponse(o,i):await l("".concat(r).concat(o),i);if(!d.ok)throw new a(d.status,"media-failed");return d.blob()}}}},73006:(e,t,n)=>{n.d(t,{a:()=>o});var r=n(65863),a=n(24815),l=n(66860);let s=e=>JSON.stringify([e.graphId,e.runId]);function o(e){let{client:t,approvals:n,onDecided:o,onPendingChange:i}=e,c=(0,a.useMemo)(()=>(0,l.ll)({client:t}),[t]),[d,u]=(0,a.useState)([]),[m,p]=(0,a.useState)({}),[h,f]=(0,a.useState)(null),[b,g]=(0,a.useState)(""),x=(0,a.useRef)(0),v=n.map(s).join("|");function y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m;u(e),i(n.filter(n=>!t[s(n)]&&e.some(e=>s(e)===s(n))).length)}async function w(e,t){let r=s(e);if(h||m[r]||!n.some(e=>s(e)===r)||!d.some(e=>s(e)===r))return;let a=x.current;f(r),g("");try{if(await c.decide(e.graphId,e.runId,t),x.current!==a)return;let n={...m,[r]:t};p(n),y(d,n),o();let l=await c.list();x.current===a&&y(l.items,n)}catch(e){x.current===a&&g((0,l.LP)(e,"decide"))}finally{x.current===a&&f(null)}}return((0,a.useEffect)(()=>{let e=++x.current;return(u([]),g(""),v)?(c.list().then(t=>{x.current===e&&y(t.items)}).catch(t=>{x.current===e&&g((0,l.LP)(t,"list"))}),()=>{x.current+=1}):(i(0),()=>{x.current+=1})},[c,v]),0===n.length)?null:(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"font-semibold",children:"게시 승인"}),b&&(0,r.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:b}),(0,r.jsx)("ul",{className:"space-y-2",children:n.map(e=>{let t=s(e),n=d.some(e=>s(e)===t);return(0,r.jsxs)("li",{className:"rounded-lg border border-border bg-background px-4 py-3 text-sm",children:[(0,r.jsx)("p",{children:e.message}),m[t]?(0,r.jsx)("p",{className:"mt-2 text-muted-foreground",children:"approved"===m[t]?"승인됨":"보류됨"}):n?(0,r.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,r.jsx)("button",{type:"button",disabled:null!==h,onClick:()=>void w(e,"approved"),className:"rounded-lg bg-primary px-3 py-1 text-primary-foreground disabled:opacity-50",children:"승인"}),(0,r.jsx)("button",{type:"button",disabled:null!==h,onClick:()=>void w(e,"rejected"),className:"rounded-lg border border-border px-3 py-1 disabled:opacity-50",children:"보류"})]}):(0,r.jsx)("p",{className:"mt-2 text-muted-foreground",children:"대기 중인 승인이 아닙니다."})]},t)})})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2134],{2134:(e,s,a)=>{a.d(s,{createGitGraphServices:()=>c.b});var c=a(77233);a(21045)}}]);
@@ -1,4 +1,18 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6767],{24175:(t,e,s)=>{s.d(e,{P:()=>n});var i=s(7328),r=s(42398),a=s(66432),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:o,x:c,y:h}=u(t,e);(0,i.a$)(t,o,n,a);let d=l(c,h,n,o,e);t.attr("viewBox",d),r.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),u=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},50996:(t,e,s)=>{s.d(e,{A:()=>a});var i=s(66432),r=s(25885),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},55494:(t,e,s)=>{s.d(e,{A:()=>a});var i=s(68699),r=s(81594);let a=(t,e)=>i.A.lang.round(r.A.parse(t)[e])},56767:(t,e,s)=>{s.d(e,{AC:()=>S,tM:()=>T,ur:()=>F});var i=s(82937),r=s(50996),a=s(24175),n=s(38738),u=s(38805),l=s(65467),o=s(97119),c=s(27254),h=s(88472),d=s(7328),p=s(42398),g=s(66432),A=s(25885),b=s(43265),y=s(55494),k=s(76097),f=class{constructor(){this.vertexCounter=0,this.config=(0,d.D7)(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=d.SV,this.setAccDescription=d.EI,this.setDiagramTitle=d.ke,this.getAccTitle=d.iN,this.getAccDescription=d.m7,this.getDiagramTitle=d.ab,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,g.K)(this,"FlowDB")}sanitizeText(t){return d.Y2.sanitizeText(t,this.config)}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}setDiagramId(t){this.diagramId=t}lookUpDomId(t){for(let e of this.vertices.values())if(e.id===t)return this.diagramId?`${this.diagramId}-${e.domId}`:e.domId;return this.diagramId?`${this.diagramId}-${t}`:t}addVertex(t,e,s,i,r,a,u={},l){let c,h;if(!t||0===t.trim().length)return;if(void 0!==l){let t;t=l.includes("\n")?l+"\n":"{\n"+l+"\n}",c=(0,n.H)(t,{schema:n.r})}let g=this.subGraphLookup.get(t);if(g&&c){g.metadata={...g.metadata,...c};return}let A=this.edges.find(e=>e.id===t);if(A){let t=c;t?.animate!==void 0&&(A.animate=t.animate),t?.animation!==void 0&&(A.animation=t.animation),t?.curve!==void 0&&(A.interpolate=t.curve);return}let b=this.vertices.get(t);if(void 0===b&&(void 0===e&&void 0===s&&null!=i&&p.R.warn(`Style applied to unknown node "${t}". This may indicate a typo. The node will be created automatically.`),b={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,b)),this.vertexCounter++,void 0!==e?(this.config=(0,d.D7)(),h=this.sanitizeText(e.text.trim()),b.labelType=e.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),b.text=h):void 0===b.text&&(b.text=t),void 0!==s&&(b.type=s),null!=i&&i.forEach(t=>{b.styles.push(t)}),null!=r&&r.forEach(t=>{b.classes.push(t)}),void 0!==a&&(b.dir=a),void 0===b.props?b.props=u:void 0!==u&&Object.assign(b.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!(0,o.aP)(c.shape))throw Error(`No such shape: ${c.shape}.`);b.type=c?.shape}c?.label&&(b.text=c?.label,b.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(b.icon=c?.icon,c.label?.trim()||b.text!==t||(b.text="")),c?.form&&(b.form=c?.form),c?.pos&&(b.pos=c?.pos),c?.img&&(b.img=c?.img,c.label?.trim()||b.text!==t||(b.text="")),c?.constraint&&(b.constraint=c.constraint),c.w&&(b.assetWidth=Number(c.w)),c.h&&(b.assetHeight=Number(c.h))}}addSingleLink(t,e,s,i){let r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};p.R.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{let t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=(0,h.rY)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,h.rY)(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))p.R.info("Pushing edge..."),this.edges.push(r);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2213],{2771:(t,e,s)=>{s.d(e,{o:()=>i});var i=(0,s(95174).K)(()=>`
2
+ /* Font Awesome icon styling - consolidated */
3
+ .label-icon {
4
+ display: inline-block;
5
+ height: 1em;
6
+ overflow: visible;
7
+ vertical-align: -0.125em;
8
+ }
9
+
10
+ .node .label-icon path {
11
+ fill: currentColor;
12
+ stroke: revert;
13
+ stroke-width: revert;
14
+ }
15
+ `,"getIconStyles")},34686:(t,e,s)=>{s.d(e,{A:()=>a});var i=s(95174),r=s(21571),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},43945:(t,e,s)=>{s.d(e,{P:()=>n});var i=s(23530),r=s(18776),a=s(95174),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:o,x:c,y:h}=u(t,e);(0,i.a$)(t,o,n,a);let d=l(c,h,n,o,e);t.attr("viewBox",d),r.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),u=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},48540:(t,e,s)=>{s.d(e,{A:()=>a});var i=s(87305),r=s(8116);let a=(t,e)=>i.A.lang.round(r.A.parse(t)[e])},54597:(t,e,s)=>{s.d(e,{CP:()=>h,Ck:()=>g,HT:()=>p,PB:()=>d,aC:()=>c,lC:()=>l,m:()=>o,tk:()=>u});var i=s(23530),r=s(95174),a=s(1408),n=s(21571),u=(0,r.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.K)((t,e)=>{u(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,r.K)((t,e)=>{let s=e.text.replace(i.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),c=(0,r.K)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.J)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.K)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.J)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},92213:(t,e,s)=>{s.d(e,{AC:()=>S,tM:()=>T,ur:()=>F});var i=s(2771),r=s(34686),a=s(43945),n=s(59876),u=s(21223),l=s(54597),o=s(37561),c=s(15464),h=s(72902),d=s(23530),p=s(18776),g=s(95174),A=s(21571),b=s(97111),y=s(48540),k=s(18747),f=class{constructor(){this.vertexCounter=0,this.config=(0,d.D7)(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=d.SV,this.setAccDescription=d.EI,this.setDiagramTitle=d.ke,this.getAccTitle=d.iN,this.getAccDescription=d.m7,this.getDiagramTitle=d.ab,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,g.K)(this,"FlowDB")}sanitizeText(t){return d.Y2.sanitizeText(t,this.config)}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}setDiagramId(t){this.diagramId=t}lookUpDomId(t){for(let e of this.vertices.values())if(e.id===t)return this.diagramId?`${this.diagramId}-${e.domId}`:e.domId;return this.diagramId?`${this.diagramId}-${t}`:t}addVertex(t,e,s,i,r,a,u={},l){let c,h;if(!t||0===t.trim().length)return;if(void 0!==l){let t;t=l.includes("\n")?l+"\n":"{\n"+l+"\n}",c=(0,n.H)(t,{schema:n.r})}let g=this.subGraphLookup.get(t);if(g&&c){g.metadata={...g.metadata,...c};return}let A=this.edges.find(e=>e.id===t);if(A){let t=c;t?.animate!==void 0&&(A.animate=t.animate),t?.animation!==void 0&&(A.animation=t.animation),t?.curve!==void 0&&(A.interpolate=t.curve);return}let b=this.vertices.get(t);if(void 0===b&&(void 0===e&&void 0===s&&null!=i&&p.R.warn(`Style applied to unknown node "${t}". This may indicate a typo. The node will be created automatically.`),b={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,b)),this.vertexCounter++,void 0!==e?(this.config=(0,d.D7)(),h=this.sanitizeText(e.text.trim()),b.labelType=e.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),b.text=h):void 0===b.text&&(b.text=t),void 0!==s&&(b.type=s),null!=i&&i.forEach(t=>{b.styles.push(t)}),null!=r&&r.forEach(t=>{b.classes.push(t)}),void 0!==a&&(b.dir=a),void 0===b.props?b.props=u:void 0!==u&&Object.assign(b.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!(0,o.aP)(c.shape))throw Error(`No such shape: ${c.shape}.`);b.type=c?.shape}c?.label&&(b.text=c?.label,b.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(b.icon=c?.icon,c.label?.trim()||b.text!==t||(b.text="")),c?.form&&(b.form=c?.form),c?.pos&&(b.pos=c?.pos),c?.img&&(b.img=c?.img,c.label?.trim()||b.text!==t||(b.text="")),c?.constraint&&(b.constraint=c.constraint),c.w&&(b.assetWidth=Number(c.w)),c.h&&(b.assetHeight=Number(c.h))}}addSingleLink(t,e,s,i){let r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};p.R.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{let t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=(0,h.rY)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,h.rY)(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))p.R.info("Pushing edge..."),this.edges.push(r);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.
2
16
 
3
17
  Initialize mermaid with maxEdges set to a higher number to allow more edges.
4
18
  You cannot set this config via configuration inside the diagram as it is a secure config.
@@ -200,18 +214,4 @@ ${a?`
200
214
  text-align: center;
201
215
  }
202
216
  ${(0,i.o)()}
203
- `,"getStyles"),F=(0,g.K)(({styles:t=T}={})=>({parser:E,get db(){return new f},renderer:m,styles:t,init:(0,g.K)(t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,d.XV)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),S=F()},65467:(t,e,s)=>{s.d(e,{CP:()=>h,Ck:()=>g,HT:()=>p,PB:()=>d,aC:()=>c,lC:()=>l,m:()=>o,tk:()=>u});var i=s(7328),r=s(66432),a=s(25322),n=s(25885),u=(0,r.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.K)((t,e)=>{u(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,r.K)((t,e)=>{let s=e.text.replace(i.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),c=(0,r.K)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.J)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.K)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.J)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},82937:(t,e,s)=>{s.d(e,{o:()=>i});var i=(0,s(66432).K)(()=>`
204
- /* Font Awesome icon styling - consolidated */
205
- .label-icon {
206
- display: inline-block;
207
- height: 1em;
208
- overflow: visible;
209
- vertical-align: -0.125em;
210
- }
211
-
212
- .node .label-icon path {
213
- fill: currentColor;
214
- stroke: revert;
215
- stroke-width: revert;
216
- }
217
- `,"getIconStyles")}}]);
217
+ `,"getStyles"),F=(0,g.K)(({styles:t=T}={})=>({parser:E,get db(){return new f},renderer:m,styles:t,init:(0,g.K)(t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,d.XV)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),S=F()}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2236],{82236:(e,t,r)=>{r.r(t),r.d(t,{applyDagreLayoutResult:()=>rQ,getEdgesToRender:()=>rz,measureDagreLayout:()=>r2,prepareLayoutForDagre:()=>r1,render:()=>r4,runDagreLayoutCore:()=>r3});var n,o=r(17391),a=r(62436),i=r(16205),u=r(94563),d=r(37561);r(61078),r(43819),r(73283),r(15464),r(72902);var c=r(23530),s=r(18776),f=r(95174),l=r(60279),g=r(3509),h=0;let p=function(e){var t=++h;return(0,g.A)(e)+t};var v=r(49539),y=r(42387);let b=function(e){return(null==e?0:e.length)?(0,y.A)(e,1):[]};var A=r(51793),w=r(84179),m=r(12380),x=r(32123);let E=function(e,t){var r=-1,n=(0,x.A)(e)?Array(e.length):[];return(0,m.A)(e,function(e,o,a){n[++r]=t(e,o,a)}),n};var j=r(95020);let L=function(e,t){return((0,j.A)(e)?A.A:E)(e,(0,w.A)(t,3))};var k=Math.ceil,O=Math.max;let R=function(e,t,r,n){for(var o=-1,a=O(k((t-e)/(r||1)),0),i=Array(a);a--;)i[n?a:++o]=e,e+=r;return i};var N=r(80661),P=r(5924),_=r(26984);let C=function(e,t,r){if(!(0,_.A)(r))return!1;var n=typeof t;return("number"==n?!!((0,x.A)(r)&&(0,P.A)(t,r.length)):"string"==n&&t in r)&&(0,N.A)(r[t],e)};var S=/\s/;let M=function(e){for(var t=e.length;t--&&S.test(e.charAt(t)););return t};var X=/^\s+/,D=r(23191),T=0/0,I=/^[-+]0x[0-9a-f]+$/i,B=/^0b[01]+$/i,K=/^0o[0-7]+$/i,G=parseInt;let F=function(e){if("number"==typeof e)return e;if((0,D.A)(e))return T;if((0,_.A)(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=(0,_.A)(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)?t.slice(0,M(t)+1).replace(X,""):t;var n=B.test(e);return n||K.test(e)?G(e.slice(2),n?2:8):I.test(e)?T:+e};var U=1/0;let q=function(e){return e?(e=F(e))===U||e===-U?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0},J=function(e,t,r){return r&&"number"!=typeof r&&C(e,t,r)&&(t=r=void 0),e=q(e),void 0===t?(t=e,e=0):t=q(t),r=void 0===r?e<t?1:-1:q(r),R(e,t,r,void 0)};var z=r(6948);class V{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return Y(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&Y(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,$)),r=r._prev;return"["+e.join(", ")+"]"}}function Y(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function $(e,t){if("_next"!==e&&"_prev"!==e)return t}var H=v.A(1);function W(e,t,r,n,o){var a=o?[]:void 0;return l.A(e.inEdges(n.v),function(n){var i=e.edge(n),u=e.node(n.v);o&&a.push({v:n.v,w:n.w}),u.out-=i,Q(t,r,u)}),l.A(e.outEdges(n.v),function(n){var o=e.edge(n),a=n.w,i=e.node(a);i.in-=o,Q(t,r,i)}),e.removeNode(n.v),a}function Q(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var Z=r(77260),ee=r(53046);let et=function(e,t,r){"__proto__"==t&&ee.A?(0,ee.A)(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r},er=function(e,t,r){(void 0===r||(0,N.A)(e[t],r))&&(void 0!==r||t in e)||et(e,t,r)};var en=r(4309),eo=r(4264),ea="object"==typeof exports&&exports&&!exports.nodeType&&exports,ei=ea&&"object"==typeof module&&module&&!module.nodeType&&module,eu=ei&&ei.exports===ea?eo.A.Buffer:void 0,ed=eu?eu.allocUnsafe:void 0;let ec=function(e,t){if(t)return e.slice();var r=e.length,n=ed?ed(r):new e.constructor(r);return e.copy(n),n};var es=r(11521);let ef=function(e){var t=new e.constructor(e.byteLength);return new es.A(t).set(new es.A(e)),t},el=function(e,t){var r=t?ef(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)},eg=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t};var eh=Object.create,ep=function(){function e(){}return function(t){if(!(0,_.A)(t))return{};if(eh)return eh(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),ev=(0,r(90282).A)(Object.getPrototypeOf,Object),ey=r(32994);let eb=function(e){return"function"!=typeof e.constructor||(0,ey.A)(e)?{}:ep(ev(e))};var eA=r(89903),ew=r(49512),em=r(94568),ex=r(6631),eE=r(82810),ej=r(77911),eL=Object.prototype,ek=Function.prototype.toString,eO=eL.hasOwnProperty,eR=ek.call(Object);let eN=function(e){if(!(0,ej.A)(e)||"[object Object]"!=(0,eE.A)(e))return!1;var t=ev(e);if(null===t)return!0;var r=eO.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&ek.call(r)==eR};var eP=r(86522);let e_=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var eC=Object.prototype.hasOwnProperty;let eS=function(e,t,r){var n=e[t];eC.call(e,t)&&(0,N.A)(n,r)&&(void 0!==r||t in e)||et(e,t,r)},eM=function(e,t,r,n){var o=!r;r||(r={});for(var a=-1,i=t.length;++a<i;){var u=t[a],d=n?n(r[u],e[u],u,r,e):void 0;void 0===d&&(d=e[u]),o?et(r,u,d):eS(r,u,d)}return r};var eX=r(83476);let eD=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t};var eT=Object.prototype.hasOwnProperty;let eI=function(e){if(!(0,_.A)(e))return eD(e);var t=(0,ey.A)(e),r=[];for(var n in e)"constructor"==n&&(t||!eT.call(e,n))||r.push(n);return r},eB=function(e){return(0,x.A)(e)?(0,eX.A)(e,!0):eI(e)},eK=function(e,t,r,n,o,a,i){var u=e_(e,r),d=e_(t,r),c=i.get(d);if(c)return void er(e,r,c);var s=a?a(u,d,r+"",e,t,i):void 0,f=void 0===s;if(f){var l=(0,j.A)(d),g=!l&&(0,em.A)(d),h=!l&&!g&&(0,eP.A)(d);(s=d,l||g||h)?(0,j.A)(u)?s=u:(0,ew.A)(u)?s=eg(u):g?(f=!1,s=ec(d,!0)):h?(f=!1,s=el(d,!0)):s=[]:eN(d)||(0,eA.A)(d)?(s=u,(0,eA.A)(u))?s=eM(u,eB(u)):(!(0,_.A)(u)||(0,ex.A)(u))&&(s=eb(d)):f=!1}f&&(i.set(d,s),o(s,d,n,a,i),i.delete(d)),er(e,r,s)},eG=function e(t,r,n,o,a){t!==r&&(0,en.A)(r,function(i,u){if(a||(a=new Z.A),(0,_.A)(i))eK(t,r,u,n,e,o,a);else{var d=o?o(e_(t,u),i,u+"",t,r,a):void 0;void 0===d&&(d=i),er(t,u,d)}},eB)};var eF=r(45011),eU=function(e){return(0,eF.A)(function(t,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,i&&C(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),t=Object(t);++n<o;){var u=r[n];u&&e(t,u,n,a)}return t})}(function(e,t,r){eG(e,t,r)}),eq=r(971),eJ=r(91930),ez=r(1632);let eV=function(e,t,r,n){if(!(0,_.A)(e))return e;t=(0,eJ.A)(t,e);for(var o=-1,a=t.length,i=a-1,u=e;null!=u&&++o<a;){var d=(0,ez.A)(t[o]),c=r;if("__proto__"===d||"constructor"===d||"prototype"===d)break;if(o!=i){var s=u[d];void 0===(c=n?n(s,d,u):void 0)&&(c=(0,_.A)(s)?s:(0,P.A)(t[o+1])?[]:{})}eS(u,d,c),u=u[d]}return e},eY=function(e,t,r){for(var n=-1,o=t.length,a={};++n<o;){var i=t[n],u=(0,eq.A)(e,i);r(u,i)&&eV(a,(0,eJ.A)(i,e),u)}return a};var e$=r(52068),eH=r(22483),eW=r(858),eQ=function(e){return(0,eW.A)((0,eH.A)(e,void 0,b),e+"")}(function(e,t){return null==e?{}:eY(e,t,function(t,r){return(0,e$.A)(e,r)})}),eZ=Object.prototype,e0=eZ.hasOwnProperty,e1=(0,eF.A)(function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&C(t[0],t[1],o)&&(n=1);++r<n;)for(var a=t[r],i=eB(a),u=-1,d=i.length;++u<d;){var c=i[u],s=e[c];(void 0===s||(0,N.A)(s,eZ[c])&&!e0.call(e,c))&&(e[c]=a[c])}return e});let e2=function(e,t,r){for(var n=-1,o=e.length;++n<o;){var a=e[n],i=t(a);if(null!=i&&(void 0===u?i==i&&!(0,D.A)(i):r(i,u)))var u=i,d=a}return d},e3=function(e,t){return e>t};var e6=r(70045);let e8=function(e){return e&&e.length?e2(e,e6.A,e3):void 0},e4=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};var e9=r(66396);let e7=function(e,t){var r={};return t=(0,w.A)(t,3),(0,e9.A)(e,function(e,n,o){et(r,n,t(e,n,o))}),r};var e5=r(54677);let te=function(e,t){return e<t},tt=function(e){return e&&e.length?e2(e,e6.A,te):void 0};var tr=Object.prototype.hasOwnProperty;let tn=function(e,t){return null!=e&&tr.call(e,t)};var to=r(81915);let ta=function(e,t){return null!=e&&(0,to.A)(e,t,tn)};function ti(e,t,r,n){var o;do o=p(n);while(e.hasNode(o));return r.dummy=t,e.setNode(o,r),o}function tu(e){var t=new z.T({multigraph:e.isMultigraph()}).setGraph(e.graph());return l.A(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),l.A(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function td(e,t){var r,n,o=e.x,a=e.y,i=t.x-o,u=t.y-a,d=e.width/2,c=e.height/2;if(!i&&!u)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(u)*d>Math.abs(i)*c?(u<0&&(c=-c),r=c*i/u,n=c):(i<0&&(d=-d),r=d,n=d*u/i),{x:o+r,y:a+n}}function tc(e){var t=L(J(tf(e)+1),function(){return[]});return l.A(e.nodes(),function(r){var n=e.node(r),o=n.rank;e5.A(o)||(t[o][n.order]=r)}),t}function ts(e,t,r,n){var o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=n),ti(e,"border",o,t)}function tf(e){return e8(L(e.nodes(),function(t){var r=e.node(t).rank;if(!e5.A(r))return r}))}function tl(e,t){return t()}function tg(e,t,r,n,o,a){var i=o[t][a-1],u=ti(e,"border",{width:0,height:0,rank:a,borderType:t},r);o[t][a]=u,e.setParent(u,n),i&&e.setEdge(i,u,{weight:1})}function th(e){l.A(e.nodes(),function(t){tp(e.node(t))}),l.A(e.edges(),function(t){tp(e.edge(t))})}function tp(e){var t=e.width;e.width=e.height,e.height=t}function tv(e){e.y=-e.y}function ty(e){var t=e.x;e.x=e.y,e.y=t}let tb=function(e,t){return e&&e.length?e2(e,(0,w.A)(t,2),te):void 0};function tA(e){var t={};l.A(e.sources(),function r(n){var o=e.node(n);if(Object.prototype.hasOwnProperty.call(t,n))return o.rank;t[n]=!0;var a=tt(L(e.outEdges(n),function(t){return r(t.w)-e.edge(t).minlen}));return(a===1/0||null==a)&&(a=0),o.rank=a})}function tw(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function tm(e){var t,r,n,o,a=new z.T({directed:!1}),i=e.nodes()[0],u=e.nodeCount();for(a.setNode(i,{});t=a,r=e,l.A(t.nodes(),function e(n){l.A(r.nodeEdges(n),function(o){var a=o.v,i=n===a?o.w:a;t.hasNode(i)||tw(r,o)||(t.setNode(i,{}),t.setEdge(n,i,{}),e(i))})}),t.nodeCount()<u;)n=function(e,t){return tb(t.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return tw(t,r)})}(a,e),o=a.hasNode(n.v)?tw(e,n):-tw(e,n),function(e,t,r){l.A(e.nodes(),function(e){t.node(e).rank+=r})}(a,e,o);return a}var tx=r(1227),tE=r(98390);let tj=function(e){var t=q(e),r=t%1;return t==t?r?t-r:t:0};var tL=Math.max,tk=(n=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var o=null==r?0:tj(r);return o<0&&(o=tL(n+o,0)),(0,tE.A)(e,(0,w.A)(t,3),o)},function(e,t,r){var o=Object(e);if(!(0,x.A)(e)){var a=(0,w.A)(t,3);e=(0,tx.A)(e),t=function(e){return a(o[e],e,o)}}var i=n(e,t,r);return i>-1?o[a?e[i]:i]:void 0}),tO=r(28294);v.A(1),v.A(1);var tR=r(19532),tN=r(28763),tP=(0,r(76640).A)("length"),t_=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),tC="\ud800-\udfff",tS="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",tM="\ud83c[\udffb-\udfff]",tX="[^"+tC+"]",tD="(?:\ud83c[\udde6-\uddff]){2}",tT="[\ud800-\udbff][\udc00-\udfff]",tI="(?:"+tS+"|"+tM+")?",tB="[\\ufe0e\\ufe0f]?",tK="(?:\\u200d(?:"+[tX,tD,tT].join("|")+")"+tB+tI+")*",tG=RegExp(tM+"(?="+tM+")|"+("(?:"+[tX+tS+"?",tS,tD,tT,"["+tC+"]"].join("|"))+")"+(tB+tI+tK),"g");function tF(){}function tU(e,t,r){j.A(t)||(t=[t]);var n=(e.isDirected()?e.successors:e.neighbors).bind(e),o=[],a={};return l.A(t,function(t){if(!e.hasNode(t))throw Error("Graph does not have node: "+t);!function e(t,r,n,o,a,i){!Object.prototype.hasOwnProperty.call(o,r)&&(o[r]=!0,n||i.push(r),l.A(a(r),function(r){e(t,r,n,o,a,i)}),n&&i.push(r))}(e,t,"post"===r,a,n,o)}),o}function tq(e){t=e,r=new z.T().setGraph(t.graph()),l.A(t.nodes(),function(e){r.setNode(e,t.node(e))}),l.A(t.edges(),function(e){var n=r.edge(e.v,e.w)||{weight:0,minlen:1},o=t.edge(e);r.setEdge(e.v,e.w,{weight:n.weight+o.weight,minlen:Math.max(n.minlen,o.minlen)})}),tA(e=r);var t,r,n,o,a=tm(e);for(tV(a),tJ(a,e);n=tY(a);)o=t$(a,e,n),tH(a,e,n,o)}function tJ(e,t){var r=tU(e,e.nodes(),"post");r=r.slice(0,r.length-1),l.A(r,function(r){var n,o,a,i;n=e,o=t,a=r,i=n.node(a).parent,n.edge(a,i).cutvalue=tz(n,o,a)})}function tz(e,t,r){var n=e.node(r).parent,o=!0,a=t.edge(r,n),i=0;return a||(o=!1,a=t.edge(n,r)),i=a.weight,l.A(t.nodeEdges(r),function(a){var u=a.v===r,d=u?a.w:a.v;if(d!==n){var c,s,f,l=u===o,g=t.edge(a).weight;if(i+=l?g:-g,c=e,s=r,f=d,c.hasEdge(s,f)){var h=e.edge(r,d).cutvalue;i+=l?-h:h}}}),i}function tV(e,t){arguments.length<2&&(t=e.nodes()[0]),function e(t,r,n,o,a){var i=n,u=t.node(o);return r[o]=!0,l.A(t.neighbors(o),function(a){Object.prototype.hasOwnProperty.call(r,a)||(n=e(t,r,n,a,o))}),u.low=i,u.lim=n++,a?u.parent=a:delete u.parent,n}(e,{},1,t)}function tY(e){return tk(e.edges(),function(t){return e.edge(t).cutvalue<0})}function t$(e,t,r){var n=r.v,o=r.w;t.hasEdge(n,o)||(n=r.w,o=r.v);var a=e.node(n),i=e.node(o),u=a,d=!1;return a.lim>i.lim&&(u=i,d=!0),tb(tO.A(t.edges(),function(t){return d===tW(e,e.node(t.v),u)&&d!==tW(e,e.node(t.w),u)}),function(e){return tw(t,e)})}function tH(e,t,r,n){var o,a,i,u,d=r.v,c=r.w;e.removeEdge(d,c),e.setEdge(n.v,n.w,{}),tV(e),tJ(e,t),o=e,a=t,i=tk(o.nodes(),function(e){return!a.node(e).parent}),u=(u=tU(o,i,"pre")).slice(1),l.A(u,function(e){var t=o.node(e).parent,r=a.edge(e,t),n=!1;r||(r=a.edge(t,e),n=!0),a.node(e).rank=a.node(t).rank+(n?r.minlen:-r.minlen)})}function tW(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}tF.prototype=Error(),r(5141),tq.initLowLimValues=tV,tq.initCutValues=tJ,tq.calcCutValue=tz,tq.leaveEdge=tY,tq.enterEdge=t$,tq.exchangeEdges=tH;var tQ=r(79496),tZ=r(35580),t0=r(78268),t1=r(67573),t2=r(21773),t3=r(88972),t6=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)(0,t2.A)(t,(0,t1.A)(e)),e=ev(e);return t}:t3.A,t8=r(16367),t4=r(21666);let t9=function(e){return(0,t4.A)(e,eB,t6)};var t7=Object.prototype.hasOwnProperty;let t5=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&t7.call(e,"index")&&(r.index=e.index,r.input=e.input),r},re=function(e,t){var r=t?ef(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)};var rt=/\w*$/;let rr=function(e){var t=new e.constructor(e.source,rt.exec(e));return t.lastIndex=e.lastIndex,t};var rn=r(7292),ro=rn.A?rn.A.prototype:void 0,ra=ro?ro.valueOf:void 0;let ri=function(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return ef(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return re(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return el(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return rr(e);case"[object Symbol]":return ra?Object(ra.call(e)):{}}};var ru=r(81104),rd=r(56244),rc=rd.A&&rd.A.isMap,rs=rc?(0,ru.A)(rc):function(e){return(0,ej.A)(e)&&"[object Map]"==(0,tN.A)(e)},rf=rd.A&&rd.A.isSet,rl=rf?(0,ru.A)(rf):function(e){return(0,ej.A)(e)&&"[object Set]"==(0,tN.A)(e)},rg="[object Arguments]",rh="[object Function]",rp="[object Object]",rv={};rv[rg]=rv["[object Array]"]=rv["[object ArrayBuffer]"]=rv["[object DataView]"]=rv["[object Boolean]"]=rv["[object Date]"]=rv["[object Float32Array]"]=rv["[object Float64Array]"]=rv["[object Int8Array]"]=rv["[object Int16Array]"]=rv["[object Int32Array]"]=rv["[object Map]"]=rv["[object Number]"]=rv[rp]=rv["[object RegExp]"]=rv["[object Set]"]=rv["[object String]"]=rv["[object Symbol]"]=rv["[object Uint8Array]"]=rv["[object Uint8ClampedArray]"]=rv["[object Uint16Array]"]=rv["[object Uint32Array]"]=!0,rv["[object Error]"]=rv[rh]=rv["[object WeakMap]"]=!1;let ry=function e(t,r,n,o,a,i){var u,d=1&r,c=2&r,s=4&r;if(n&&(u=a?n(t,o,a,i):n(t)),void 0!==u)return u;if(!(0,_.A)(t))return t;var f=(0,j.A)(t);if(f){if(u=t5(t),!d)return eg(t,u)}else{var l,g,h,p,v=(0,tN.A)(t),y=v==rh||"[object GeneratorFunction]"==v;if((0,em.A)(t))return ec(t,d);if(v==rp||v==rg||y&&!a){if(u=c||y?{}:eb(t),!d)return c?(g=(l=u)&&eM(t,eB(t),l),eM(t,t6(t),g)):(p=(h=u)&&eM(t,(0,tx.A)(t),h),eM(t,(0,t1.A)(t),p))}else{if(!rv[v])return a?t:{};u=ri(t,v,d)}}i||(i=new Z.A);var b=i.get(t);if(b)return b;i.set(t,u),rl(t)?t.forEach(function(o){u.add(e(o,r,n,o,t,i))}):rs(t)&&t.forEach(function(o,a){u.set(a,e(o,r,n,a,t,i))});var A=s?c?t9:t8.A:c?eB:tx.A,w=f?void 0:A(t);return(0,t0.A)(w||t,function(o,a){w&&(o=t[a=o]),eS(u,a,e(o,r,n,a,t,i))}),u},rb=function(e,t,r){for(var n=-1,o=e.length,a=t.length,i={};++n<o;){var u=n<a?t[n]:void 0;r(i,e[n],u)}return i},rA=function(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e},rw=function(e,t){if(e!==t){var r=void 0!==e,n=null===e,o=e==e,a=(0,D.A)(e),i=void 0!==t,u=null===t,d=t==t,c=(0,D.A)(t);if(!u&&!c&&!a&&e>t||a&&i&&d&&!u&&!c||n&&i&&d||!r&&d||!o)return 1;if(!n&&!a&&!c&&e<t||c&&r&&o&&!n&&!a||u&&r&&o||!i&&o||!d)return -1}return 0},rm=function(e,t,r){for(var n=-1,o=e.criteria,a=t.criteria,i=o.length,u=r.length;++n<i;){var d=rw(o[n],a[n]);if(d){if(n>=u)return d;return d*("desc"==r[n]?-1:1)}}return e.index-t.index},rx=function(e,t,r){t=t.length?(0,A.A)(t,function(e){return(0,j.A)(e)?function(t){return(0,eq.A)(t,1===e.length?e[0]:e)}:e}):[e6.A];var n=-1;return t=(0,A.A)(t,(0,ru.A)(w.A)),rA(E(e,function(e,r,o){return{criteria:(0,A.A)(t,function(t){return t(e)}),index:++n,value:e}}),function(e,t){return rm(e,t,r)})};var rE=(0,eF.A)(function(e,t){if(null==e)return[];var r=t.length;return r>1&&C(e,t[0],t[1])?t=[]:r>2&&C(t[0],t[1],t[2])&&(t=[t[0]]),rx(e,(0,y.A)(t,1),[])});function rj(e,t,r){for(var n;t.length&&(n=e4(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function rL(e,t,r){return L(t,function(t){var n,o;return n=function(e){for(var t;e.hasNode(t=p("_root")););return t}(e),o=new z.T({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(t){return e.node(t)}),l.A(e.nodes(),function(a){var i=e.node(a),u=e.parent(a);(i.rank===t||i.minRank<=t&&t<=i.maxRank)&&(o.setNode(a),o.setParent(a,u||n),l.A(e[r](a),function(t){var r=t.v===a?t.w:t.v,n=o.edge(r,a),i=e5.A(n)?0:n.weight;o.setEdge(r,a,{weight:e.edge(t).weight+i})}),Object.prototype.hasOwnProperty.call(i,"minRank")&&o.setNode(a,{borderLeft:i.borderLeft[t],borderRight:i.borderRight[t]}))}),o})}function rk(e,t){l.A(t,function(t){l.A(t,function(t,r){e.node(t).order=r})})}var rO=r(28031);function rR(e,t,r){if(t>r){var n=t;t=r,r=n}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(e[t],r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}var rN=["nodesep","edgesep","ranksep","marginx","marginy"],rP={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},r_=["acyclicer","ranker","rankdir","align"],rC=["width","height"],rS={width:0,height:0},rM=["minlen","weight","width","height","labeloffset"],rX={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},rD=["labelpos"];function rT(e,t){return e7(eQ(e,t),Number)}function rI(e){var t={};return l.A(e,function(e,r){t[r.toLowerCase()]=e}),t}var rB=(0,f.K)((e,t,r)=>Math.max(t,Math.min(r,e)),"clamp"),rK=(0,f.K)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),rG=(0,f.K)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),rF=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],rU=(0,f.K)((e,t,r,n,o)=>{let a=[],i=new Set;if(r.forEach(({start:e,end:t})=>{e!==n&&i.add(e),t!==n&&i.add(t)}),i.forEach(t=>{let r=e.node(t);"number"==typeof r?.x&&"number"==typeof r?.y&&a.push(r)}),0===a.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&a.push(e)})}),0===a.length)return rK(o);let u=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),d=u.x-t.x,c=u.y-t.y;return Math.abs(d)>Math.abs(c)?d>0?"right":"left":Math.abs(c)>0?c>0?"bottom":"top":rK(o)},"getSelfLoopSide"),rq=(0,f.K)((e,t="top",r=0,n=0)=>{let o=e.x,a=e.y-r,i=e.width/2,u=e.height/2,d=Math.max(36,Math.min(100,.8*e.width)),c=rB(Math.max(n,.35*e.width),36,d),s=rB(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":{let e=a+u;return[{x:o-c/2,y:e},{x:o-c/2,y:e+s},{x:o+c/2,y:e+s},{x:o+c/2,y:e}]}case"right":{let e=o+i;return[{x:e,y:a-c/2},{x:e+s,y:a-c/2},{x:e+s,y:a+c/2},{x:e,y:a+c/2}]}case"left":{let e=o-i;return[{x:e,y:a-c/2},{x:e-s,y:a-c/2},{x:e-s,y:a+c/2},{x:e,y:a+c/2}]}default:{let e=a-u;return[{x:o-c/2,y:e},{x:o-c/2,y:e-s},{x:o+c/2,y:e-s},{x:o+c/2,y:e}]}}},"getSelfLoopPoints"),rJ=(0,f.K)((e,t,r="top",n=0,o={})=>{let a=e.x,i=e.y-n,u=o.width??0,d=o.height??0;switch(r){case"bottom":return{x:a,y:Math.max(...t.map(e=>e.y))+d/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+u/2+4,y:i};case"left":return{x:Math.min(...t.map(e=>e.x))-u/2-4,y:i};default:return{x:a,y:Math.min(...t.map(e=>e.y))-d/2-4}}},"getSelfLoopLabelPosition"),rz=(0,f.K)((e,t=0,{mergeSelfLoops:r=!0}={})=>{let n=new Map,o=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(r&&a.selfLoop){let e=a.selfLoop.id;n.has(e)||n.set(e,[]),n.get(e).push({edge:a,start:t.v,end:t.w})}else o.push({edge:a,start:t.v,end:t.w})}),n.forEach(r=>{if(3!==r.length)return void r.forEach(e=>o.push(e));r.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[n,i,u]=r,d=n.edge.originalEdge??i.edge.originalEdge??u.edge.originalEdge??i.edge,c=e.node(d.start);if(!c)return void r.forEach(e=>o.push(e));let s={width:i.edge.width,height:i.edge.height},f=rU(e,c,r,d.start,a),l=rq(c,f,t,s.width??0),g=rJ(c,l,f,t,s),h={...i.edge,...d,id:d.id,points:l,start:d.start,end:d.end,x:g.x,y:g.y,width:s.width,height:s.height,labelStyle:i.edge.labelStyle,fromCluster:n.edge.fromCluster??i.edge.fromCluster??u.edge.fromCluster,toCluster:n.edge.toCluster??i.edge.toCluster??u.edge.toCluster};delete h.selfLoop,delete h.originalEdge,o.push({edge:h,start:h.start,end:h.end})}),o},"getEdgesToRender"),rV=(0,f.K)(async({element:e,graph:t,diagramType:r,id:n,parentCluster:a,siteConfig:c})=>{let l=t.graph().rankdir;s.R.trace("Dir in recursive render - dir:",l);let{clusters:g,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y}=(0,o.B)(e,{edgePathsClass:"edgePaths"});t.nodes()?s.R.info("Recursive render XXX",t.nodes()):s.R.info("No nodes found for",t),t.edges().length>0&&s.R.info("Recursive edges",t.edge(t.edges()[0]));let b=rG(r);await Promise.all(t.nodes().map(async function(e){let i=t.node(e);if(void 0!==a){let r=JSON.parse(JSON.stringify(a.clusterData));s.R.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",a.height),t.setNode(a.id,r),t.parent(e)||(s.R.trace("Setting parent",e,a.id),t.setParent(e,a.id,r))}if(s.R.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),i?.clusterNode){s.R.info("Cluster identified XBX",e,i.width,t.node(e));let{ranksep:o,nodesep:a}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:o+25,nodesep:a});let f=await r0({element:v,graph:i.graph,diagramType:r,id:n,parentCluster:t.node(e),siteConfig:c}),l=f.elem;(0,d.lC)(i,l),i.diff=f.diff||0,s.R.info("New compound node after recursive render XAX",e,"width",i.width,"height",i.height),(0,u.U7)(l,i)}else t.children(e).length>0?(s.R.trace("Cluster - the non recursive path XBX",e,i.id,i,i.width,"Graph:",t),s.R.trace((0,o.dc)(i.id,t)),o.ju.set(i.id,{id:(0,o.dc)(i.id,t),node:i})):(s.R.trace("Node - the non recursive path XAX",e,v,t.node(e),l),await (0,o.sv)(v,t.node(e),{config:c,dir:l}))}));let A=(0,f.K)(async()=>{let e=t.edges().map(async function(e){let r=t.edge(e.v,e.w,e.name);if(s.R.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.R.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),s.R.info("Fix",o.ju,"ids:",e.v,e.w,"Translating: ",o.ju.get(e.v),o.ju.get(e.w)),b&&r.selfLoop){if(1!==r.selfLoop.order)return;let e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};await (0,i.jP)(p,e),r.width=e.width,r.height=e.height,r.labelStyle=e.labelStyle;return}await (0,i.jP)(p,r)});await Promise.all(e)},"processEdges");await A();let{subGraphTitleTotalMargin:w}=(0,u.Oi)(c);return{elem:y,graph:t,groups:{clusters:g,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y},diagramType:r,id:n,mergeSelfLoops:b,subGraphTitleTotalMargin:w}},"measureDagreGraph"),rY=(0,f.K)(e=>{s.R.info("############################################# XXX"),s.R.info("### Layout ### XXX"),s.R.info("############################################# XXX"),!function(e,t){tl("layout",()=>{var t=tl(" buildLayoutGraph",()=>{var t,r,n;return t=e,r=new z.T({multigraph:!0,compound:!0}),n=rI(t.graph()),r.setGraph(eU({},rP,rT(n,rN),eQ(n,r_))),l.A(t.nodes(),function(e){var n=rI(t.node(e));r.setNode(e,e1(rT(n,rC),rS)),r.setParent(e,t.parent(e))}),l.A(t.edges(),function(e){var n=rI(t.edge(e));r.setEdge(e,eU({},rX,rT(n,rM),eQ(n,rD)))}),r});tl(" runLayout",()=>{var e,r;return e=t,void((r=tl)(" makeSpaceForEdgeLabels",()=>{var t,r;return r=(t=e).graph(),void(r.ranksep/=2,l.A(t.edges(),function(e){var n=t.edge(e);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)}))}),r(" removeSelfEdges",()=>{var t;return t=e,void l.A(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}),r(" acyclic",()=>{var t,r,n,o,a,i;return t="greedy"===e.graph().acyclicer?function(e,t){if(1>=e.nodeCount())return[];var r,n,o,a,i,u,d,c=(r=e,n=t||H,o=new z.T,a=0,i=0,l.A(r.nodes(),function(e){o.setNode(e,{v:e,in:0,out:0})}),l.A(r.edges(),function(e){var t=o.edge(e.v,e.w)||0,r=n(e);o.setEdge(e.v,e.w,t+r),i=Math.max(i,o.node(e.v).out+=r),a=Math.max(a,o.node(e.w).in+=r)}),u=J(i+a+3).map(function(){return new V}),d=a+1,l.A(o.nodes(),function(e){Q(u,d,o.node(e))}),{graph:o,buckets:u,zeroIdx:d});return b(L(function(e,t,r){for(var n,o=[],a=t[t.length-1],i=t[0];e.nodeCount();){for(;n=i.dequeue();)W(e,t,r,n);for(;n=a.dequeue();)W(e,t,r,n);if(e.nodeCount()){for(var u=t.length-2;u>0;--u)if(n=t[u].dequeue()){o=o.concat(W(e,t,r,n,!0));break}}}return o}(c.graph,c.buckets,c.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}(e,(r=e,function(e){return r.edge(e).weight})):(n=e,o=[],a={},i={},l.A(n.nodes(),function e(t){Object.prototype.hasOwnProperty.call(i,t)||(i[t]=!0,a[t]=!0,l.A(n.outEdges(t),function(t){Object.prototype.hasOwnProperty.call(a,t.w)?o.push(t):e(t.w)}),delete a[t])}),o),void l.A(t,function(t){var r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,p("rev"))})}),r(" nestingGraph.run",()=>{var t,r,n,o,a,i,u,d;return t=ti(e,"root",{},"_root"),i=e,u={},l.A(i.children(),function(e){!function e(t,r){var n=i.children(t);n&&n.length&&l.A(n,function(t){e(t,r+1)}),u[t]=r}(e,1)}),r=u,o=2*(n=e8(tQ.A(r))-1)+1,e.graph().nestingRoot=t,l.A(e.edges(),function(t){e.edge(t).minlen*=o}),a=(d=e,tZ.A(d.edges(),function(e,t){return e+d.edge(t).weight},0)+1),void(l.A(e.children(),function(i){!function e(t,r,n,o,a,i,u){var d=t.children(u);if(!d.length){u!==r&&t.setEdge(r,u,{weight:0,minlen:n});return}var c=ts(t,"_bt"),s=ts(t,"_bb"),f=t.node(u);t.setParent(c,u),f.borderTop=c,t.setParent(s,u),f.borderBottom=s,l.A(d,function(d){e(t,r,n,o,a,i,d);var f=t.node(d),l=f.borderTop?f.borderTop:d,g=f.borderBottom?f.borderBottom:d,h=f.borderTop?o:2*o,p=l!==g?1:a-i[u]+1;t.setEdge(c,l,{weight:h,minlen:p,nestingEdge:!0}),t.setEdge(g,s,{weight:h,minlen:p,nestingEdge:!0})}),t.parent(u)||t.setEdge(r,c,{weight:0,minlen:a+i[u]})}(e,t,o,a,n,r,i)}),e.graph().nodeRankFactor=o)}),r(" rank",()=>(function(e){switch(e.graph().ranker){case"network-simplex":default:tq(e);break;case"tight-tree":var t;tA(t=e),tm(t);break;case"longest-path":tA(e)}})(tu(e))),r(" injectEdgeLabelProxies",()=>{var t;return t=e,void l.A(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),o={rank:(t.node(e.w).rank-n.rank)/2+n.rank,e:e};ti(t,"edge-proxy",o,"_ep")}})}),r(" removeEmptyRanks",()=>{var t,r,n,o;return t=tt(L(e.nodes(),function(t){return e.node(t).rank})),r=[],l.A(e.nodes(),function(n){var o=e.node(n).rank-t;r[o]||(r[o]=[]),r[o].push(n)}),n=0,o=e.graph().nodeRankFactor,void l.A(r,function(t,r){e5.A(t)&&r%o!=0?--n:n&&l.A(t,function(t){e.node(t).rank+=n})})}),r(" nestingGraph.cleanup",()=>{var t;return t=e.graph(),void(e.removeNode(t.nestingRoot),delete t.nestingRoot,l.A(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}),r(" normalizeRanks",()=>{var t;return t=tt(L(e.nodes(),function(t){return e.node(t).rank})),void l.A(e.nodes(),function(r){var n=e.node(r);ta(n,"rank")&&(n.rank-=t)})}),r(" assignRankMinMax",()=>{var t,r;return t=e,r=0,void(l.A(t.nodes(),function(e){var n=t.node(e);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,r=e8(r,n.maxRank))}),t.graph().maxRank=r)}),r(" removeEdgeLabelProxies",()=>{var t;return t=e,void l.A(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}),r(" normalize.run",()=>{e.graph().dummyChains=[],l.A(e.edges(),function(t){!function(e,t){var r,n,o=t.v,a=e.node(o).rank,i=t.w,u=e.node(i).rank,d=t.name,c=e.edge(t),s=c.labelRank;if(u!==a+1){e.removeEdge(t);var f=void 0;for(n=0,++a;a<u;++n,++a)c.points=[],r=ti(e,"edge",f={width:0,height:0,edgeLabel:c,edgeObj:t,rank:a},"_d"),a===s&&(f.width=c.width,f.height=c.height,f.dummy="edge-label",f.labelpos=c.labelpos),e.setEdge(o,r,{weight:c.weight},d),0===n&&e.graph().dummyChains.push(r),o=r;e.setEdge(o,i,{weight:c.weight},d)}}(e,t)})}),r(" parentDummyChains",()=>{var t,r,n,o;return r=e,n={},o=0,l.A(r.children(),function e(t){var a=o;l.A(r.children(t),e),n[t]={low:a,lim:o++}}),t=n,void l.A(e.graph().dummyChains,function(r){for(var n=e.node(r),o=n.edgeObj,a=function(e,t,r,n){var o,a,i=[],u=[],d=Math.min(t[r].low,t[n].low),c=Math.max(t[r].lim,t[n].lim);o=r;do i.push(o=e.parent(o));while(o&&(t[o].low>d||c>t[o].lim));for(a=o,o=n;(o=e.parent(o))!==a;)u.push(o);return{path:i.concat(u.reverse()),lca:a}}(e,t,o.v,o.w),i=a.path,u=a.lca,d=0,c=i[0],s=!0;r!==o.w;){if(n=e.node(r),s){for(;(c=i[d])!==u&&e.node(c).maxRank<n.rank;)d++;c===u&&(s=!1)}if(!s){for(;d<i.length-1&&e.node(c=i[d+1]).minRank<=n.rank;)d++;c=i[d]}e.setParent(r,c),r=e.successors(r)[0]}})}),r(" addBorderSegments",()=>{l.A(e.children(),function t(r){var n=e.children(r),o=e.node(r);if(n.length&&l.A(n,t),Object.prototype.hasOwnProperty.call(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var a=o.minRank,i=o.maxRank+1;a<i;++a)tg(e,"borderLeft","_bl",r,o,a),tg(e,"borderRight","_br",r,o,a)}})}),r(" order",()=>(function(e){var t=tf(e),r=rL(e,J(1,t+1),"inEdges"),n=rL(e,J(t-1,-1,-1),"outEdges"),o=(a={},u=e8(L(i=tO.A(e.nodes(),function(t){return!e.children(t).length}),function(t){return e.node(t).rank})),d=L(J(u+1),function(){return[]}),c=rE(i,function(t){return e.node(t).rank}),l.A(c,function t(r){ta(a,r)||(a[r]=!0,d[e.node(r).rank].push(r),l.A(e.successors(r),t))}),d);rk(e,o);for(var a,i,u,d,c,s,f=1/0,g=0,h=0;h<4;++g,++h){(function(e,t){var r=new z.T;l.A(e,function(e){var n,o,a,i=e.graph().root,u=function e(t,r,n,o){var a,i,u,d,c,s,f,g,h,p,v,y=t.children(r),A=t.node(r),w=A?A.borderLeft:void 0,m=A?A.borderRight:void 0,x={};w&&(y=tO.A(y,function(e){return e!==w&&e!==m}));var E=L(y,function(e){var r=t.inEdges(e);if(!r.length)return{v:e};var n=tZ.A(r,function(e,r){var n=t.edge(r),o=t.node(r.v);return{sum:e.sum+n.weight*o.order,weight:e.weight+n.weight}},{sum:0,weight:0});return{v:e,barycenter:n.sum/n.weight,weight:n.weight}});l.A(E,function(r){if(t.children(r.v).length){var a,i,u=e(t,r.v,n,o);x[r.v]=u,Object.prototype.hasOwnProperty.call(u,"barycenter")&&(a=r,i=u,e5.A(a.barycenter)?(a.barycenter=i.barycenter,a.weight=i.weight):(a.barycenter=(a.barycenter*a.weight+i.barycenter*i.weight)/(a.weight+i.weight),a.weight+=i.weight))}});var j=(a={},l.A(E,function(e,t){var r=a[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e5.A(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),l.A(n.edges(),function(e){var t=a[e.v],r=a[e.w];e5.A(t)||e5.A(r)||(r.indegree++,t.out.push(a[e.w]))}),function(e){for(var t=[];e.length;){var r=e.pop();t.push(r),l.A(r.in.reverse(),function(e){return function(t){!t.merged&&(e5.A(t.barycenter)||e5.A(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}(r)),l.A(r.out,function(t){return function(r){r.in.push(t),0==--r.indegree&&e.push(r)}}(r))}return L(tO.A(t,function(e){return!e.merged}),function(e){return eQ(e,["vs","i","barycenter","weight"])})}(tO.A(a,function(e){return!e.indegree})));!function(e,t){l.A(e,function(e){e.vs=b(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}(j,x);var k=(c=(i=function(e){return Object.prototype.hasOwnProperty.call(e,"barycenter")},u={lhs:[],rhs:[]},l.A(j,function(e){i(e)?u.lhs.push(e):u.rhs.push(e)}),d=u).lhs,s=rE(d.rhs,function(e){return-e.i}),f=[],g=0,h=0,p=0,c.sort(function(e){return function(t,r){return t.barycenter<r.barycenter?-1:t.barycenter>r.barycenter?1:e?r.i-t.i:t.i-r.i}}(!!o)),p=rj(f,s,p),l.A(c,function(e){p+=e.vs.length,f.push(e.vs),g+=e.barycenter*e.weight,h+=e.weight,p=rj(f,s,p)}),v={vs:b(f)},h&&(v.barycenter=g/h,v.weight=h),v);if(w&&(k.vs=b([w,k.vs,m]),t.predecessors(w).length)){var O=t.node(t.predecessors(w)[0]),R=t.node(t.predecessors(m)[0]);Object.prototype.hasOwnProperty.call(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+O.order+R.order)/(k.weight+2),k.weight+=2}return k}(e,i,r,t);l.A(u.vs,function(t,r){e.node(t).order=r}),n=u.vs,a={},l.A(n,function(t){for(var n,i,u=e.parent(t);u;){if((n=e.parent(u))?(i=a[n],a[n]=u):(i=o,o=u),i&&i!==u)return void r.setEdge(i,u);u=n}})})})(g%2?r:n,g%4>=2),o=tc(e);var p=function(e,t){for(var r=0,n=1;n<t.length;++n)r+=function(e,t,r){for(var n=rb(r||[],L(r,function(e,t){return t})||[],eS),o=b(L(t,function(t){return rE(L(e.outEdges(t),function(t){return{pos:n[t.w],weight:e.edge(t).weight}}),"pos")})),a=1;a<r.length;)a<<=1;var i=2*a-1;a-=1;var u=L(Array(i),function(){return 0}),d=0;return l.A(o.forEach(function(e){var t=e.pos+a;u[t]+=e.weight;for(var r=0;t>0;)t%2&&(r+=u[t+1]),t=t-1>>1,u[t]+=e.weight;d+=e.weight*r})),d}(e,t[n-1],t[n]);return r}(e,o);p<f&&(h=0,s=ry(o,5),f=p)}rk(e,s)})(e)),r(" insertSelfEdges",()=>{var t,r;return r=tc(t=e),void l.A(r,function(e){var r=0;l.A(e,function(e,n){var o=t.node(e);o.order=n+r,l.A(o.selfEdges,function(e){ti(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),r(" adjustCoordinateSystem",()=>{var t;("lr"===(t=e.graph().rankdir.toLowerCase())||"rl"===t)&&th(e)}),r(" position",()=>{var t,r,n,o,a,i,u,d,c,s,f,g,h,p,v,y,b;v=tc(p=t=tu(t=e)),y=p.graph().ranksep,b=0,l.A(v,function(e){var t=e8(L(e,function(e){return p.node(e).height}));l.A(e,function(e){p.node(e).y=b+t/2}),b+=t+y}),o=tc(r=t),i=eU((a={},tZ.A(o,function(e,t){var n=0,o=0,i=e.length,u=e4(t);return l.A(t,function(e,d){var c=function(e,t){if(e.node(t).dummy)return tk(e.predecessors(t),function(t){return e.node(t).dummy})}(r,e),s=c?r.node(c).order:i;(c||e===u)&&(l.A(t.slice(o,d+1),function(e){l.A(r.predecessors(e),function(t){var o=r.node(t),i=o.order;(i<n||s<i)&&!(o.dummy&&r.node(e).dummy)&&rR(a,t,e)})}),o=d+1,n=s)}),t}),a),function(e,t){var r={};function n(t,n,o,a,i){var u;l.A(J(n,o),function(n){u=t[n],e.node(u).dummy&&l.A(e.predecessors(u),function(t){var n=e.node(t);n.dummy&&(n.order<a||n.order>i)&&rR(r,t,u)})})}return tZ.A(t,function(t,r){var o,a=-1,i=0;return l.A(r,function(u,d){if("border"===e.node(u).dummy){var c=e.predecessors(u);c.length&&(o=e.node(c[0]).order,n(r,i,d,a,o),i=d,a=o)}n(r,i,r.length,o,t.length)}),r}),r}(r,o)),u={},l.A(["u","d"],function(e){n="u"===e?o:tQ.A(o).reverse(),l.A(["l","r"],function(t){"r"===t&&(n=L(n,function(e){return tQ.A(e).reverse()}));var o,a,d,c,s=("u"===e?r.predecessors:r.successors).bind(r),f=(o=n,a={},d={},c={},l.A(o,function(e){l.A(e,function(e,t){a[e]=e,d[e]=e,c[e]=t})}),l.A(o,function(e){var t=-1;l.A(e,function(e){var r=s(e);if(r.length)for(var n=((r=rE(r,function(e){return c[e]})).length-1)/2,o=Math.floor(n),u=Math.ceil(n);o<=u;++o){var f=r[o];d[e]===e&&t<c[f]&&!function(e,t,r){if(t>r){var n=t;t=r,r=n}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],r)}(i,e,f)&&(d[f]=e,d[e]=a[e]=a[f],t=c[f])}})}),{root:a,align:d}),g=function(e,t,r,n,o){var a,i,u,d,c,s,f,g,h,p,v={},y=(a=e,i=t,u=r,d=o,g=new z.T,p=(c=(h=a.graph()).nodesep,s=h.edgesep,f=d,function(e,t,r){var n,o,a=e.node(t),i=e.node(r);if(n=0+a.width/2,Object.prototype.hasOwnProperty.call(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":o=-a.width/2;break;case"r":o=a.width/2}if(o&&(n+=f?o:-o),o=0,n+=(a.dummy?s:c)/2,n+=(i.dummy?s:c)/2,n+=i.width/2,Object.prototype.hasOwnProperty.call(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":o=i.width/2;break;case"r":o=-i.width/2}return o&&(n+=f?o:-o),o=0,n}),l.A(i,function(e){var t;l.A(e,function(e){var r=u[e];if(g.setNode(r),t){var n=u[t],o=g.edge(n,r);g.setEdge(n,r,Math.max(p(a,e,t),o||0))}t=e})}),g),b=o?"borderLeft":"borderRight";function A(e,t){for(var r=y.nodes(),n=r.pop(),o={};n;)o[n]?e(n):(o[n]=!0,r.push(n),r=r.concat(t(n))),n=r.pop()}return A(function(e){v[e]=y.inEdges(e).reduce(function(e,t){return Math.max(e,v[t.v]+y.edge(t))},0)},y.predecessors.bind(y)),A(function(t){var r=y.outEdges(t).reduce(function(e,t){return Math.min(e,v[t.w]-y.edge(t))},1/0),n=e.node(t);r!==1/0&&n.borderType!==b&&(v[t]=Math.max(v[t],r))},y.successors.bind(y)),l.A(n,function(e){v[e]=v[r[e]]}),v}(r,n,f.root,f.align,"r"===t);"r"===t&&(g=e7(g,function(e){return-e})),u[e+t]=g})}),d=tb(tQ.A(u),function(e){var t,n=-1/0,o=1/0;return t=function(e,t){var a,i,u=(a=r,i=t,a.node(i).width/2);n=Math.max(e+u,n),o=Math.min(e-u,o)},null==e||(0,en.A)(e,(0,rO.A)(t),eB),n-o}),s=tt(c=tQ.A(d)),f=e8(c),l.A(["u","d"],function(e){l.A(["l","r"],function(t){var r,n=e+t,o=u[n];if(o!==d){var a=tQ.A(o);(r="l"===t?s-tt(a):f-e8(a))&&(u[n]=e7(o,function(e){return e+r}))}})}),g=r.graph().align,h=e7(u.ul,function(e,t){if(g)return u[g.toLowerCase()][t];var r=rE(L(u,t));return(r[1]+r[2])/2}),h&&(0,e9.A)(h,(0,rO.A)(function(e,r){t.node(r).x=e}))}),r(" positionSelfEdges",()=>{var t;return t=e,void l.A(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),o=n.x+n.width/2,a=n.y,i=r.x-o,u=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:o+2*i/3,y:a-u},{x:o+5*i/6,y:a-u},{x:o+i,y:a},{x:o+5*i/6,y:a+u},{x:o+2*i/3,y:a+u}],r.label.x=r.x,r.label.y=r.y}})}),r(" removeBorderNodes",()=>{var t;return t=e,void(l.A(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),o=t.node(r.borderBottom),a=t.node(e4(r.borderLeft)),i=t.node(e4(r.borderRight));r.width=Math.abs(i.x-a.x),r.height=Math.abs(o.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),l.A(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}),r(" normalize.undo",()=>{l.A(e.graph().dummyChains,function(t){var r,n=e.node(t),o=n.edgeLabel;for(e.setEdge(n.edgeObj,o);n.dummy;)r=e.successors(t)[0],e.removeNode(t),o.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),t=r,n=e.node(t)})}),r(" fixupEdgeLabelCoords",()=>{var t;return t=e,void l.A(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),r(" undoCoordinateSystem",()=>{var t,r,n;("bt"===(t=e.graph().rankdir.toLowerCase())||"rl"===t)&&(r=e,l.A(r.nodes(),function(e){tv(r.node(e))}),l.A(r.edges(),function(e){var t=r.edge(e);l.A(t.points,tv),Object.prototype.hasOwnProperty.call(t,"y")&&tv(t)})),("lr"===t||"rl"===t)&&(n=e,l.A(n.nodes(),function(e){ty(n.node(e))}),l.A(n.edges(),function(e){var t=n.edge(e);l.A(t.points,ty),Object.prototype.hasOwnProperty.call(t,"x")&&ty(t)}),th(e))}),r(" translateGraph",()=>(function(e){var t=1/0,r=0,n=1/0,o=0,a=e.graph(),i=a.marginx||0,u=a.marginy||0;function d(e){var a=e.x,i=e.y,u=e.width,d=e.height;t=Math.min(t,a-u/2),r=Math.max(r,a+u/2),n=Math.min(n,i-d/2),o=Math.max(o,i+d/2)}l.A(e.nodes(),function(t){d(e.node(t))}),l.A(e.edges(),function(t){var r=e.edge(t);Object.prototype.hasOwnProperty.call(r,"x")&&d(r)}),t-=i,n-=u,l.A(e.nodes(),function(r){var o=e.node(r);o.x-=t,o.y-=n}),l.A(e.edges(),function(r){var o=e.edge(r);l.A(o.points,function(e){e.x-=t,e.y-=n}),Object.prototype.hasOwnProperty.call(o,"x")&&(o.x-=t),Object.prototype.hasOwnProperty.call(o,"y")&&(o.y-=n)}),a.width=r-t+i,a.height=o-n+u})(e)),r(" assignNodeIntersects",()=>{var t;return t=e,void l.A(t.edges(),function(e){var r,n,o=t.edge(e),a=t.node(e.v),i=t.node(e.w);o.points?(r=o.points[0],n=o.points[o.points.length-1]):(o.points=[],r=i,n=a),o.points.unshift(td(a,r)),o.points.push(td(i,n))})}),r(" reversePoints",()=>{var t;return t=e,void l.A(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}),r(" acyclic.undo",()=>{l.A(e.edges(),function(t){var r=e.edge(t);if(r.reversed){e.removeEdge(t);var n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}))}),tl(" updateInputGraph",()=>{var r,n;return r=e,n=t,void(l.A(r.nodes(),function(e){var t=r.node(e),o=n.node(e);t&&(t.x=o.x,t.y=o.y,n.children(e).length&&(t.width=o.width,t.height=o.height))}),l.A(r.edges(),function(e){var t=r.edge(e),o=n.edge(e);t.points=o.points,Object.prototype.hasOwnProperty.call(o,"x")&&(t.x=o.x,t.y=o.y)}),r.graph().width=n.graph().width,r.graph().height=n.graph().height)})})}(e)},"runDagreGraphLayout"),r$=(0,f.K)((e,t,r)=>{let n=e.node(t);if(!n)return;let o={...n};return n?.clusterNode?o.y=(n.y??0)+r:e.children(t).length>0?o.height=(n.height??0)+r:o.y=(n.y??0)+r/2,o},"normalizeDagreNode"),rH=(0,f.K)((e,t)=>{rF.forEach(r=>{void 0!==t[r]&&(e[r]=t[r])})},"applyDagreNodeLayout"),rW=(0,f.K)((e,t,r,n)=>({...e,start:e.start??t,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+n:e.y}))}),"normalizeDagreEdge"),rQ=(0,f.K)((e,t)=>{let{graph:r,mergeSelfLoops:n,subGraphTitleTotalMargin:a=0}=t,i=new Map(e.nodes.map(e=>[e.id,e]));(0,o.sc)(r).forEach(e=>{let t=r$(r,e,a);if(!t)return;rH(r.node(e),t);let n=i.get(e);n&&rH(n,t)});let u=a/2;return e.edges=rz(r,u,{mergeSelfLoops:n}).map(({edge:e,start:t,end:r})=>rW(e,t,r,u)),e},"applyDagreLayoutResult"),rZ=(0,f.K)(async({elem:e,graph:t,groups:{clusters:r,edgePaths:n},diagramType:d,id:c,mergeSelfLoops:f,subGraphTitleTotalMargin:l})=>{let g=0;await Promise.all((0,o.sc)(t).map(async function(e){let n=t.node(e);if(s.R.info("Position XBX => "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=l,s.R.info("A tainted cluster node XBX1",e,n.id,n.width,n.height,n.x,n.y,t.parent(e)),o.ju.get(n.id).node=n,(0,u.U_)(n);else if(t.children(e).length>0){s.R.info("A pure cluster node XBX1",e,n.id,n.x,n.y,n.width,n.height,t.parent(e)),n.height+=l,t.node(n.parentId);let i=n?.padding/2||0,u=n?.labelBBox?.height||0;s.R.debug("OffsetY",u-i||0,"labelHeight",u,"halfPadding",i),await (0,a.U)(r,n),o.ju.get(n.id).node=n}else{let e=t.node(n.parentId);n.y+=l/2,s.R.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",e,e?.offsetY,n),(0,u.U_)(n)}}));let h=l/2;return rz(t,h,{mergeSelfLoops:f}).forEach(function({edge:e,start:r,end:a}){s.R.info("Edge "+r+" -> "+a+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=h);let u=t.node(r),f=t.node(a),l=(0,i.Jo)(n,e,o.ju,d,u,f,c);(0,i.T_)(e,l)}),t.nodes().forEach(function(e){let r=t.node(e);s.R.info(e,r.type,r.diff),r.isGroup&&(g=r.diff)}),s.R.warn("Returning from recursive render XAX",e,g),{elem:e,diff:g}},"paintDagreLayoutCore"),r0=(0,f.K)(async e=>{let t=await rV(e);return rY(t.graph),await rZ(t)},"renderDagreSubgraph"),r1=(0,f.K)(e=>{let t=new z.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)}),s.R.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let r=e.start,n=r+"---"+r+"---1",o=r+"---"+r+"---2",a=t.node(r);t.setNode(n,{domId:n,id:n,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(n,a.parentId),t.setNode(o,{domId:o,id:o,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(o,a.parentId);let i=structuredClone(e),u=structuredClone(e),d=structuredClone(e),c=structuredClone(e);u.originalEdge=i,u.selfLoop={id:i.id,order:0},d.originalEdge=i,d.selfLoop={id:i.id,order:1},c.originalEdge=i,c.selfLoop={id:i.id,order:2},u.label="",u.arrowTypeEnd="none",u.endLabelLeft="",u.endLabelRight="",u.startLabelLeft="",u.id=r+"-cyclic-special-1",d.startLabelRight="",d.startLabelLeft="",d.endLabelLeft="",d.endLabelRight="",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=r+"-cyclic-special-mid",c.label="",c.startLabelRight="",c.startLabelLeft="",c.arrowTypeStart="none",a.isGroup&&(u.fromCluster=r,c.toCluster=r),c.id=r+"-cyclic-special-2",c.arrowTypeStart="none",t.setEdge(r,n,u,r+"-cyclic-special-0"),t.setEdge(n,o,d,r+"-cyclic-special-1"),t.setEdge(o,r,c,r+"-cyclic-special-2")}else t.setEdge(e.start,e.end,{...e},e.id)}),(0,o.OS)(t),{graph:t}},"prepareLayoutForDagre"),r2=(0,f.K)(async(e,{element:t,preparedLayout:r})=>{let n=r??r1(e),o=(0,c.D7)(),a=await rV({element:t,graph:n.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:o});return n.measuredLayout=a,a},"measureDagreLayout"),r3=(0,f.K)((e,t)=>{let r=t.preparedLayout?.measuredLayout;if(!r)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return rY(r.graph),rQ(e,r),r},"runDagreLayoutCore"),r6=(0,f.K)((e,{measure:t})=>(0,o.sc)(t.graph).map(e=>t.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),r8=(0,f.K)((e,t,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),r4=(0,o.xY)({prepareLayout:r1,measureLayout:r2,runLayoutCore:r3,paintOptions:{clusterDb:o.ju,getNodes:r6,getEdgeNode:r8,skipNode:(0,f.K)((e,{measure:t})=>!t.graph.hasNode(e.id),"skipNode"),isCluster:(0,f.K)((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,"isCluster")}})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2422],{27109:(e,r,t)=>{t.d(r,{f:()=>s});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},i={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new a.Tm,"ValueConverter")}};function s(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.Bg,i);return r.ServiceRegistry.register(t),{shared:r,Radar:t}}(0,a.K2)(s,"createRadarServices")},32422:(e,r,t)=>{t.d(r,{F5:()=>o.F5,Pz:()=>s.P,WG:()=>n.W,lz:()=>a.l,qg:()=>u,sB:()=>i.s,zg:()=>v}),t(27109);var a=t(71952),n=t(68917),i=t(68170),s=t(33691);t(37093),t(91989),t(67213),t(77233),t(81605),t(44609),t(37688),t(42047),t(55776),t(46457);var o=t(21045),l={},c={info:(0,o.K2)(async()=>{let{createInfoServices:e}=await t.e(2030).then(t.bind(t,2030));l.info=e().Info.parser.LangiumParser},"info"),packet:(0,o.K2)(async()=>{let{createPacketServices:e}=await t.e(4519).then(t.bind(t,44519));l.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,o.K2)(async()=>{let{createPieServices:e}=await t.e(8547).then(t.bind(t,18547));l.pie=e().Pie.parser.LangiumParser},"pie"),treeView:(0,o.K2)(async()=>{let{createTreeViewServices:e}=await t.e(939).then(t.bind(t,70939));l.treeView=e().TreeView.parser.LangiumParser},"treeView"),architecture:(0,o.K2)(async()=>{let{createArchitectureServices:e}=await t.e(4581).then(t.bind(t,94581));l.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,o.K2)(async()=>{let{createGitGraphServices:e}=await t.e(2134).then(t.bind(t,2134));l.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),eventmodeling:(0,o.K2)(async()=>{let{createEventModelingServices:e}=await t.e(6192).then(t.bind(t,86192));l.eventmodeling=e().EventModel.parser.LangiumParser},"eventmodeling"),radar:(0,o.K2)(async()=>{let{createRadarServices:e}=await t.e(9230).then(t.bind(t,9230));l.radar=e().Radar.parser.LangiumParser},"radar"),railroad:(0,o.K2)(async()=>{let{createRailroadServices:e}=await t.e(8440).then(t.bind(t,68440));l.railroad=e().Railroad.parser.LangiumParser},"railroad"),railroadEbnf:(0,o.K2)(async()=>{let{createRailroadEbnfServices:e}=await t.e(6739).then(t.bind(t,16739));l.railroadEbnf=e().RailroadEbnf.parser.LangiumParser},"railroadEbnf"),railroadAbnf:(0,o.K2)(async()=>{let{createRailroadAbnfServices:e}=await t.e(6013).then(t.bind(t,76013));l.railroadAbnf=e().RailroadAbnf.parser.LangiumParser},"railroadAbnf"),railroadPeg:(0,o.K2)(async()=>{let{createRailroadPegServices:e}=await t.e(6726).then(t.bind(t,36726));l.railroadPeg=e().RailroadPeg.parser.LangiumParser},"railroadPeg"),treemap:(0,o.K2)(async()=>{let{createTreemapServices:e}=await t.e(6444).then(t.bind(t,74063));l.treemap=e().Treemap.parser.LangiumParser},"treemap"),wardley:(0,o.K2)(async()=>{let{createWardleyServices:e}=await t.e(5809).then(t.bind(t,5809));l.wardley=e().Wardley.parser.LangiumParser},"wardley"),cynefin:(0,o.K2)(async()=>{let{createCynefinServices:e}=await t.e(6745).then(t.bind(t,6745));l.cynefin=e().Cynefin.parser.LangiumParser},"cynefin")};async function u(e,r){let t=c[e];if(!t)throw Error(`Unknown diagram type: ${e}`);l[e]||await t();let a=l[e].parse(r);if(a.lexerErrors.length>0||a.parserErrors.length>0)throw new v(a);return a.value}(0,o.K2)(u,"parse");var d=(0,o.K2)(e=>void 0!==e&&e>=0?e:"?","formatLocation"),v=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>{let r=d(e.line),t=d(e.column);return`Lexer error on line ${r}, column ${t}: ${e.message}`}).join("\n")} ${e.parserErrors.map(e=>{let r=d(e.token.startLine),t=d(e.token.startColumn);return`Parse error on line ${r}, column ${t}: ${e.message}`}).join("\n")}`),this.result=e}static{(0,o.K2)(this,"MermaidParseError")}}},33691:(e,r,t)=>{t.d(r,{P:()=>l});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},i=(0,a.K2)(e=>{let r=e.slice(1,-1),t="";for(let e=0;e<r.length;e++){let a=r[e];if("\\"===a&&e+1<r.length){let a=r[++e];switch(a){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+=" ";break;default:t+=a}continue}t+=a}return t},"decodeEscapedString"),s=class extends a.dg{static{(0,a.K2)(this,"RailroadPegValueConverter")}runConverter(e,r,t){let a=super.runConverter(e,r,t);if("TITLE"===e.name&&"string"==typeof a){let e=a.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return i(e)}return a}runCustomConverter(e,r,t){if("PEG_STRING"===e.name)return i(r)}},o={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new s,"ValueConverter")}};function l(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.dj,o);return r.ServiceRegistry.register(t),{shared:r,RailroadPeg:t}}(0,a.K2)(l,"createRailroadPegServices")},37093:(e,r,t)=>{t.d(r,{d:()=>u});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},i=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends a.dg{static{(0,a.K2)(this,"TreemapValueConverter")}runCustomConverter(e,r,t){if("NUMBER2"===e.name)return parseFloat(r.replace(/,/g,""));if("SEPARATOR"===e.name)return r.substring(1,r.length-1);if("STRING2"===e.name)return r.substring(1,r.length-1);if("INDENTATION"===e.name)return r.length;if("ClassDef"===e.name){if("string"!=typeof r)return r;let e=i.exec(r);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function o(e){let r=e.validation.TreemapValidator,t=e.validation.ValidationRegistry;if(t){let e={Treemap:r.checkSingleRoot.bind(r)};t.register(e,r)}}(0,a.K2)(o,"registerValidationChecks");var l=class{static{(0,a.K2)(this,"TreemapValidator")}checkSingleRoot(e,r){let t;for(let a of e.TreemapRows)a.item&&(void 0===t&&void 0===a.indent?t=0:void 0===a.indent?r("error","Multiple root nodes are not allowed in a treemap.",{node:a,property:"item"}):void 0!==t&&t>=parseInt(a.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:a,property:"item"}))}},c={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,a.K2)(()=>new l,"TreemapValidator")}};function u(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.XE,c);return r.ServiceRegistry.register(t),o(t),{shared:r,Treemap:t}}(0,a.K2)(u,"createTreemapServices")},37688:(e,r,t)=>{t.d(r,{f:()=>o});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},i=class extends a.dg{static{(0,a.K2)(this,"PieValueConverter")}runCustomConverter(e,r,t){if("PIE_SECTION_LABEL"===e.name)return r.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new i,"ValueConverter")}};function o(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.D_,s);return r.ServiceRegistry.register(t),{shared:r,Pie:t}}(0,a.K2)(o,"createPieServices")},42047:(e,r,t)=>{t.d(r,{I:()=>o});var a=t(21045),n=class extends a.dg{static{(0,a.K2)(this,"TreeViewValueConverter")}runCustomConverter(e,r,t){if("INDENTATION"===e.name)return r?.length||0;if("QUOTED_NAME"===e.name)return r.substring(1,r.length-1);if("BARE_NAME"===e.name)return r.replace(/[\t ]+$/,"");if("CLASS_ANNOTATION"===e.name)return r.trim().substring(3).trim();if("ICON_ANNOTATION"===e.name){let e=r.trim();return e.substring(5,e.length-1)}if("DESC_ANNOTATION"===e.name)return r.trim().substring(2).trim()}},i=class extends a.mR{static{(0,a.K2)(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},s={parser:{TokenBuilder:(0,a.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new n,"ValueConverter")}};function o(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.CZ,s);return r.ServiceRegistry.register(t),{shared:r,TreeView:t}}(0,a.K2)(o,"createTreeViewServices")},44609:(e,r,t)=>{t.d(r,{$:()=>s});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},i={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new a.Tm,"ValueConverter")}};function s(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.p5,i);return r.ServiceRegistry.register(t),{shared:r,Packet:t}}(0,a.K2)(s,"createPacketServices")},46457:(e,r,t)=>{t.d(r,{g:()=>m});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},i=new Set(["cmd","command"]),s=new Set(["evt","event"]),o=new Set(["rmo","readmodel"]),l=new Set(["pcr","processor"]),c=new Set(["ui"]);function u(e){let r=e.validation.EventModelingValidator,t=e.validation.ValidationRegistry;if(t){let e={EmTimeFrame:r.checkSourceFrameTypes.bind(r),EmResetFrame:r.checkSourceFrameTypes.bind(r)};t.register(e,r)}}(0,a.K2)(u,"registerValidationChecks");var d=class{static{(0,a.K2)(this,"EventModelingValidator")}checkSourceFrameTypes(e,r){0!==e.sourceFrames.length&&(i.has(e.modelEntityType)?this.validateSources(e,new Set([...c,...l]),"command","ui or processor",r):s.has(e.modelEntityType)?this.validateSources(e,i,"event","command",r):o.has(e.modelEntityType)?this.validateSources(e,s,"read model","event",r):l.has(e.modelEntityType)?this.validateSources(e,o,"processor","read model",r):c.has(e.modelEntityType)&&this.validateSources(e,o,"ui","read model",r))}validateSources(e,r,t,a,n){for(let i of e.sourceFrames){let s=i.ref;void 0===s||r.has(s.modelEntityType)||n("error",`A ${t} can only receive input from a ${a}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},v={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new a.Tm,"ValueConverter")},validation:{EventModelingValidator:(0,a.K2)(()=>new d,"EventModelingValidator")}};function m(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.x0,v);return r.ServiceRegistry.register(t),u(t),{shared:r,EventModel:t}}(0,a.K2)(m,"createEventModelingServices")},55776:(e,r,t)=>{t.d(r,{S:()=>o});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},i=class extends a.dg{static{(0,a.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,r,t){if("ARCH_ICON"===e.name)return r.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return r.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=r.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},s={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new i,"ValueConverter")}};function o(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.wV,s);return r.ServiceRegistry.register(t),{shared:r,Architecture:t}}(0,a.K2)(o,"createArchitectureServices")},67213:(e,r,t)=>{t.d(r,{t:()=>s});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},i={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new a.Tm,"ValueConverter")}};function s(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.Jn,i);return r.ServiceRegistry.register(t),{shared:r,Cynefin:t}}(0,a.K2)(s,"createCynefinServices")},68170:(e,r,t)=>{t.d(r,{s:()=>o});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},i=class extends a.dg{static{(0,a.K2)(this,"RailroadAbnfValueConverter")}runConverter(e,r,t){let a=super.runConverter(e,r,t);if("TITLE"===e.name&&"string"==typeof a){let e=a.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return e.slice(1,-1)}return a}runCustomConverter(e,r,t){if("ABNF_STRING"===e.name)return r.slice(1,-1)}},s={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new i,"ValueConverter")}};function o(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.oI,s);return r.ServiceRegistry.register(t),{shared:r,RailroadAbnf:t}}(0,a.K2)(o,"createRailroadAbnfServices")},68917:(e,r,t)=>{t.d(r,{W:()=>l});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},i=(0,a.K2)(e=>{let r=e.slice(1,-1),t="";for(let e=0;e<r.length;e++){let a=r[e];if("\\"===a&&e+1<r.length){let a=r[++e];switch(a){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+=" ";break;default:t+=a}continue}t+=a}return t},"decodeEscapedString"),s=class extends a.dg{static{(0,a.K2)(this,"RailroadEbnfValueConverter")}runConverter(e,r,t){let a=super.runConverter(e,r,t);if("TITLE"===e.name&&"string"==typeof a){let e=a.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return i(e)}return a}runCustomConverter(e,r,t){return"EBNF_STRING"===e.name?i(r):"EBNF_SPECIAL_SEQUENCE"===e.name?r.slice(1,-1).trim():void 0}},o={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new s,"ValueConverter")}};function l(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.U4,o);return r.ServiceRegistry.register(t),{shared:r,RailroadEbnf:t}}(0,a.K2)(l,"createRailroadEbnfServices")},71952:(e,r,t)=>{t.d(r,{l:()=>l});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},i=(0,a.K2)(e=>{let r=e.slice(1,-1),t="";for(let e=0;e<r.length;e++){let a=r[e];if("\\"===a&&e+1<r.length){let a=r[++e];switch(a){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+=" ";break;default:t+=a}continue}t+=a}return t},"decodeEscapedString"),s=class extends a.dg{static{(0,a.K2)(this,"RailroadValueConverter")}runConverter(e,r,t){let a=super.runConverter(e,r,t);if("TITLE"===e.name&&"string"==typeof a){let e=a.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return i(e)}return a}runCustomConverter(e,r,t){if("RR_STRING"===e.name)return i(r)}},o={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new s,"ValueConverter")}};function l(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.Bi,o);return r.ServiceRegistry.register(t),{shared:r,Railroad:t}}(0,a.K2)(l,"createRailroadServices")},77233:(e,r,t)=>{t.d(r,{b:()=>s});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},i={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new a.Tm,"ValueConverter")}};function s(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.d$,i);return r.ServiceRegistry.register(t),{shared:r,GitGraph:t}}(0,a.K2)(s,"createGitGraphServices")},81605:(e,r,t)=>{t.d(r,{v:()=>s});var a=t(21045),n=class extends a.mR{static{(0,a.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},i={parser:{TokenBuilder:(0,a.K2)(()=>new n,"TokenBuilder"),ValueConverter:(0,a.K2)(()=>new a.Tm,"ValueConverter")}};function s(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.FZ,i);return r.ServiceRegistry.register(t),{shared:r,Info:t}}(0,a.K2)(s,"createInfoServices")},91989:(e,r,t)=>{t.d(r,{J:()=>s});var a=t(21045),n=class extends a.dg{static{(0,a.K2)(this,"WardleyValueConverter")}runCustomConverter(e,r,t){return"LINK_LABEL"===e.name.toUpperCase()?r.substring(1).trim():void 0}},i={parser:{ValueConverter:(0,a.K2)(()=>new n,"ValueConverter")}};function s(e=a.DD){let r=(0,a.WQ)((0,a.uM)(e),a.sr),t=(0,a.WQ)((0,a.tG)({shared:r}),a.Xr,i);return r.ServiceRegistry.register(t),{shared:r,Wardley:t}}(0,a.K2)(s,"createWardleyServices")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2534],{22534:(e,r,t)=>{t.d(r,{diagram:()=>g});var a=t(36814),n=t(56619);t(7650),t(23530);var s=t(18776),l=t(95174),p=t(32422),i=(0,p.Pz)().RailroadPeg.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(u);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),u=(0,l.K)(e=>{let r=e.elements.map(m);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),m=(0,l.K)(e=>{let r=c(e.suffix);return e.operator?{type:"special",text:"&"===e.operator?`&${d(r)}`:`!${d(r)}`}:r},"transformPrefix"),d=(0,l.K)(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),c=(0,l.K)(e=>{let r=f(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),f=(0,l.K)(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return o(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),P=(0,l.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(y(e)))},"populateDb"),g={parser:{parse:(0,l.K)(e=>{a.db.clear(),s.R.debug("[PEG Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[PEG Parser] Parsed rules:",t.rules.length),P(t),s.R.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4759],{34759:(e,t,r)=>{function a(e,t){let r=Error(t);return r.code=e,r}async function n(e){if(!e.type.startsWith("video/"))throw a("unsupported","not a video file: ".concat(e.type||"(unknown)"));let t=URL.createObjectURL(e),r=document.createElement("video");r.src=t,r.muted=!0,r.preload="auto",r.playsInline=!0;try{var n;await new Promise((e,t)=>{r.addEventListener("error",()=>t(a("decode","video decode error")),{once:!0}),r.addEventListener("loadedmetadata",()=>e(),{once:!0})});let t=(n=r.duration,!Number.isFinite(n)||n<=0?0:n<2?Math.max(.05,.1*n):1);await new Promise((e,n)=>{r.addEventListener("error",()=>n(a("seek","video seek error")),{once:!0}),r.addEventListener("seeked",()=>e(),{once:!0});try{r.currentTime=t}catch(e){n(a("seek",e instanceof Error?e.message:String(e)))}});let o=r.videoWidth,i=r.videoHeight;if(0===o||0===i)throw a("no-frame","video has zero dimensions");let d=document.createElement("canvas");d.width=o,d.height=i;let c=d.getContext("2d");if(!c)throw a("decode","canvas 2d context unavailable");return c.drawImage(r,0,0,o,i),{frameDataUrl:d.toDataURL("image/png"),durationSec:Number.isFinite(r.duration)?r.duration:0,widthPx:o,heightPx:i,mimeType:e.type}}finally{URL.revokeObjectURL(t),r.removeAttribute("src");try{r.load()}catch(e){}}}r.d(t,{extractKeyFrame:()=>n})}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2871],{82871:(e,t,r)=>{function a(e,t){let r=Error(t);return r.code=e,r}async function n(e){if(!e.type.startsWith("video/"))throw a("unsupported","not a video file: ".concat(e.type||"(unknown)"));let t=URL.createObjectURL(e),r=document.createElement("video");r.src=t,r.muted=!0,r.preload="auto",r.playsInline=!0;try{var n;await new Promise((e,t)=>{r.addEventListener("error",()=>t(a("decode","video decode error")),{once:!0}),r.addEventListener("loadedmetadata",()=>e(),{once:!0})});let t=(n=r.duration,!Number.isFinite(n)||n<=0?0:n<2?Math.max(.05,.1*n):1);await new Promise((e,n)=>{r.addEventListener("error",()=>n(a("seek","video seek error")),{once:!0}),r.addEventListener("seeked",()=>e(),{once:!0});try{r.currentTime=t}catch(e){n(a("seek",e instanceof Error?e.message:String(e)))}});let o=r.videoWidth,i=r.videoHeight;if(0===o||0===i)throw a("no-frame","video has zero dimensions");let d=document.createElement("canvas");d.width=o,d.height=i;let c=d.getContext("2d");if(!c)throw a("decode","canvas 2d context unavailable");return c.drawImage(r,0,0,o,i),{frameDataUrl:d.toDataURL("image/png"),durationSec:Number.isFinite(r.duration)?r.duration:0,widthPx:o,heightPx:i,mimeType:e.type}}finally{URL.revokeObjectURL(t),r.removeAttribute("src");try{r.load()}catch(e){}}}r.d(t,{extractKeyFrame:()=>n})}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6776],{36776:(e,r,t)=>{t.d(r,{diagram:()=>y});var a=t(64468),n=t(82033);t(64244),t(7328);var l=t(42398),s=t(66432),p=t(59100),i=(0,p.sB)().RailroadAbnf.parser.LangiumParser,u=(0,s.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),m=(0,s.K)(e=>{let r=e.elements.map(d);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),o=(0,s.K)(e=>{if(e.includes("*")){let[r,t]=e.split("*");return{min:r?parseInt(r,10):0,max:t?parseInt(t,10):1/0}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=(0,s.K)(e=>{let r=b(e.primary);if(!e.repeat)return r;let{min:t,max:a}=o(e.repeat);return 0===t&&1===a?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:a}},"transformElement"),b=(0,s.K)(e=>{switch(e.$type){case"AbnfStringLiteral":case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return u(e.element);case"AbnfOptionalGroup":return{type:"optional",element:u(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,s.K)(e=>({name:e.name,definition:u(e.definition)}),"transformRule"),c=(0,s.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(f(e)))},"populateDb"),y={parser:{parse:(0,s.K)(e=>{a.db.clear(),l.R.debug("[ABNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;l.R.debug("[ABNF Parser] Parsed rules:",t.rules.length),c(t),l.R.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2898],{12898:(e,r,t)=>{t.d(r,{diagram:()=>y});var a=t(36814),n=t(56619);t(7650),t(23530);var l=t(18776),s=t(95174),p=t(32422),i=(0,p.sB)().RailroadAbnf.parser.LangiumParser,u=(0,s.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),m=(0,s.K)(e=>{let r=e.elements.map(d);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),o=(0,s.K)(e=>{if(e.includes("*")){let[r,t]=e.split("*");return{min:r?parseInt(r,10):0,max:t?parseInt(t,10):1/0}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=(0,s.K)(e=>{let r=b(e.primary);if(!e.repeat)return r;let{min:t,max:a}=o(e.repeat);return 0===t&&1===a?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:a}},"transformElement"),b=(0,s.K)(e=>{switch(e.$type){case"AbnfStringLiteral":case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return u(e.element);case"AbnfOptionalGroup":return{type:"optional",element:u(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,s.K)(e=>({name:e.name,definition:u(e.definition)}),"transformRule"),c=(0,s.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(f(e)))},"populateDb"),y={parser:{parse:(0,s.K)(e=>{a.db.clear(),l.R.debug("[ABNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;l.R.debug("[ABNF Parser] Parsed rules:",t.rules.length),c(t),l.R.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]);