elanous 0.2.37 → 0.2.40

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 (727) 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/{8kITumG9GAZ1LwT9POrAR → HjeK7zONHfR7op1hKXp4k}/_buildManifest.js +1 -1
  4. package/apps/pwa/out/_next/static/chunks/{1746.3563617ea64023a3.js → 1060.014f1f01a17aec26.js} +1 -1
  5. package/apps/pwa/out/_next/static/chunks/{9151.a2c51e93f9156dae.js → 1281.d81877e35b9068f4.js} +1 -1
  6. package/apps/pwa/out/_next/static/chunks/1350.59f40e39e02d91b1.js +1 -0
  7. package/apps/pwa/out/_next/static/chunks/1415.79821ec7ae99acdb.js +1 -0
  8. package/apps/pwa/out/_next/static/chunks/1452.162bb2d9d699e82a.js +1 -0
  9. package/apps/pwa/out/_next/static/chunks/147.f92f63bbc5e85fa5.js +286 -0
  10. package/apps/pwa/out/_next/static/chunks/1537-6bb97b5214928ea9.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/1661.fb425a1d8a065b72.js +149 -0
  12. package/apps/pwa/out/_next/static/chunks/1671-1c22b40b50b208f2.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/1758.0204d3f48783c49d.js +90 -0
  14. package/apps/pwa/out/_next/static/chunks/1806.027bf78b6a94d340.js +104 -0
  15. package/apps/pwa/out/_next/static/chunks/{3578.4e9f9948a9a6f2f4.js → 2047.8f23e210995d4548.js} +2 -2
  16. package/apps/pwa/out/_next/static/chunks/2061-7f2bbc53ae96c88b.js +1 -0
  17. package/apps/pwa/out/_next/static/chunks/{7424.c0fe2a595d4232b5.js → 2066.a77257c8c350770a.js} +1 -1
  18. package/apps/pwa/out/_next/static/chunks/2096-a938496bc996dcbd.js +1 -0
  19. package/apps/pwa/out/_next/static/chunks/{4931.95cc6dbd230774ca.js → 2177.df8547f9d7215c4e.js} +16 -16
  20. package/apps/pwa/out/_next/static/chunks/2200-9a453b8f99687d49.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/{6680.6a693c28aae4cd19.js → 2226.2cf61ec781827219.js} +2 -2
  22. package/apps/pwa/out/_next/static/chunks/2281-b8cede695c6c650e.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/2499.02fbfd18126c10c0.js +1 -0
  24. package/apps/pwa/out/_next/static/chunks/{6252.240578f10952e091.js → 2522.f2766b76d22c8bdf.js} +1 -1
  25. package/apps/pwa/out/_next/static/chunks/{1262.a89bb27a5b2f844e.js → 2566.beaffc3a5e1fcd2e.js} +1 -1
  26. package/apps/pwa/out/_next/static/chunks/261.0d471e8aded799f3.js +226 -0
  27. package/apps/pwa/out/_next/static/chunks/2615.3c9738153de3ef3f.js +1 -0
  28. package/apps/pwa/out/_next/static/chunks/2727.e703d99ac414916d.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/2752.7904b8df0254d0ae.js +27 -0
  30. package/apps/pwa/out/_next/static/chunks/2762-5051a862dfa40e99.js +1 -0
  31. package/apps/pwa/out/_next/static/chunks/2767-31784bfedf8e245d.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/{2318-450e75d07605b8fe.js → 2774-719820e3f5b2a3eb.js} +1 -1
  33. package/apps/pwa/out/_next/static/chunks/2812-f016aa0dda149287.js +1 -0
  34. package/apps/pwa/out/_next/static/chunks/{4725-34bed25720cc326b.js → 2829-734fe8bf2eee7347.js} +1 -1
  35. package/apps/pwa/out/_next/static/chunks/311-32dcac79970985e8.js +1 -0
  36. package/apps/pwa/out/_next/static/chunks/3175-f93f7495cd28253c.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/3184.8da993f5502d2140.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/3231-d7c981db0ff8bdcc.js +1 -0
  39. package/apps/pwa/out/_next/static/chunks/3250.151309c5176d6b4b.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/3330.7443183b7e6fdbdf.js +1 -0
  41. package/apps/pwa/out/_next/static/chunks/3517.a5aa1797a9dbf2ee.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/3567-45f676877ed9e8a5.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/3746-f80a78f220bf37b5.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/3819.8a1de79b2e8c7298.js +24 -0
  45. package/apps/pwa/out/_next/static/chunks/39.9b37b0be4c128a83.js +77 -0
  46. package/apps/pwa/out/_next/static/chunks/{4337e36d.f42c3b391b3d8f20.js → 3b355b3d.6f73c98bf6f9c749.js} +1 -1
  47. package/apps/pwa/out/_next/static/chunks/4023.a19045970a9ce16a.js +36 -0
  48. package/apps/pwa/out/_next/static/chunks/{58edce7d.f1b0c72acf13b123.js → 409c787b.e48c5bec8ec10456.js} +1 -1
  49. package/apps/pwa/out/_next/static/chunks/413-24c8284bda08241d.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/4135.e45d6ebc29e20647.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/4283.65502f5d0e6ff6c0.js +287 -0
  52. package/apps/pwa/out/_next/static/chunks/4305-4e28fa92a7b34a5b.js +1 -0
  53. package/apps/pwa/out/_next/static/chunks/4335-50efa61fd7613142.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/4351.0f37a6db2b34d50b.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/{5046.7fd5cbd859299448.js → 470.51a72a2348306455.js} +2 -2
  56. package/apps/pwa/out/_next/static/chunks/4720.ecbd1693fa151068.js +1 -0
  57. package/apps/pwa/out/_next/static/chunks/{2375.bf364c85dbb6f085.js → 4769.9fd582071301f382.js} +1 -1
  58. package/apps/pwa/out/_next/static/chunks/483.725e4a61be922788.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/{de8446d3.31b73eb239fecd7b.js → 4864a2ca.1c1c280a7772c5e5.js} +1 -1
  60. package/apps/pwa/out/_next/static/chunks/4969-4b209d7307410c00.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/5068-c7f53862f83c0917.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/5315.bc96711c24dfefe2.js +74 -0
  63. package/apps/pwa/out/_next/static/chunks/{4383.18e5c54db3a22c88.js → 5383.bdfa5d886e39a826.js} +1 -1
  64. package/apps/pwa/out/_next/static/chunks/5436.fdf6fa8ae3e9588d.js +64 -0
  65. package/apps/pwa/out/_next/static/chunks/5542.efbf14f16baed4dd.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/5622.94893f5aea7185d0.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/5644.8f401a25601d05fc.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/5658.35f70eb9871a54bf.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/5721.7bdc0e904c76ab51.js +8 -0
  70. package/apps/pwa/out/_next/static/chunks/5790-eef0ca20884a6bdf.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/5802.ef0d8598ca68fe84.js +62 -0
  72. package/apps/pwa/out/_next/static/chunks/5890.fb974729788dcb71.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/5924.5ef25cddd36d5dbf.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/5979-e59c099ebf8d1f35.js +1 -0
  75. package/apps/pwa/out/_next/static/chunks/6020.714cfeada2315e2e.js +94 -0
  76. package/apps/pwa/out/_next/static/chunks/6027-dfe0349d8c50f698.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/{6745-5a63492933959dd9.js → 6051-0ae955eedb10adb9.js} +3 -3
  78. package/apps/pwa/out/_next/static/chunks/6178.bc4730c86cf74536.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/{2283.edd9627b7bdfb546.js → 6257.c0037b8949239f5e.js} +2 -2
  80. package/apps/pwa/out/_next/static/chunks/6273.d808b0dcb3c2b155.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/6292.6ef1df64fa6a4c8a.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/647-af8dd920ba46533c.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/6541-170dc5c59e135c0c.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/6624.981ef7caeb680560.js +32 -0
  85. package/apps/pwa/out/_next/static/chunks/6742-a1ad4a94ba7bc37a.js +1 -0
  86. package/apps/pwa/out/_next/static/chunks/{6819.be5c9c4d67f22922.js → 6749.0744ce6eb08d40e9.js} +16 -16
  87. package/apps/pwa/out/_next/static/chunks/6836-493dc55c39187949.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/6856-53ac421c06039a18.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/6908.06008c67f6380ea9.js +148 -0
  90. package/apps/pwa/out/_next/static/chunks/6915.096931864206f522.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/6925.5e181fb7dcf90193.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/6cc1d1d6.9a98dd4622f1afc6.js +1 -0
  93. package/apps/pwa/out/_next/static/chunks/7203-800e11037adc41eb.js +1 -0
  94. package/apps/pwa/out/_next/static/chunks/7219-15bdd9a80661af8e.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/7279.6170f591105936bb.js +93 -0
  96. package/apps/pwa/out/_next/static/chunks/7349-373165c7fbdcc3df.js +1 -0
  97. package/apps/pwa/out/_next/static/chunks/7514-a533ba0ca1cae4f4.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/7515.1ad6efe157fa4448.js +1 -0
  99. package/apps/pwa/out/_next/static/chunks/7521.d919cc1fab80c1d9.js +24 -0
  100. package/apps/pwa/out/_next/static/chunks/7538.90e97bbdf9178cff.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/7611.85f045bf232053ac.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/7825-39203196a12579b2.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/7869.5e1a9a12fd70d6c7.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/8086.1ab9103c41be884f.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/8099.1cccf31c1baa7e1c.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/8179-e61fffbdb70f1152.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/8265.bdeb991b34db6a06.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/{2002-a43a3f380df873ec.js → 8272-025653884f9645d2.js} +1 -1
  109. package/apps/pwa/out/_next/static/chunks/{7867.e8725745ddd1d940.js → 8357.1aaa713b052a78b1.js} +4 -4
  110. package/apps/pwa/out/_next/static/chunks/8638-e42615f2166165b5.js +1 -0
  111. package/apps/pwa/out/_next/static/chunks/8639-92c11d069792429e.js +1 -0
  112. package/apps/pwa/out/_next/static/chunks/8691.54e22831d5e8ccf8.js +1 -0
  113. package/apps/pwa/out/_next/static/chunks/8d173e38.18a2f7b4e1848bdb.js +1 -0
  114. package/apps/pwa/out/_next/static/chunks/9069.657590a84afb8fac.js +41 -0
  115. package/apps/pwa/out/_next/static/chunks/9125-ae588d88a0293b93.js +1 -0
  116. package/apps/pwa/out/_next/static/chunks/{4313.76f232c304a15bde.js → 9175.2de5209a5ce6f68a.js} +1 -1
  117. package/apps/pwa/out/_next/static/chunks/9184.45afbf44fec87574.js +1 -0
  118. package/apps/pwa/out/_next/static/chunks/{8c58d09b.e8724a299658d86f.js → 9189505a.980427ac048c8c60.js} +1 -1
  119. package/apps/pwa/out/_next/static/chunks/9311.f9f641a46a508611.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/9371-a6fee8378ebfa3ee.js +1 -0
  121. package/apps/pwa/out/_next/static/chunks/9421-3aa9ff4fa7f63d8a.js +1 -0
  122. package/apps/pwa/out/_next/static/chunks/9992.07ce73c10bd5e6a1.js +79 -0
  123. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-76394dc618d322c8.js +1 -0
  124. package/apps/pwa/out/_next/static/chunks/app/approvals/page-1b948637c37b3abd.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-c63400f1bcf3e47c.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/board/page-95d0957267819586.js +1 -0
  127. package/apps/pwa/out/_next/static/chunks/app/botlab/page-ba957ff875a026a0.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/bots/page-bb6fd0714879cb87.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/ceo/page-8f9038520d2acbef.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/chat/page-d4b48397e05fce2c.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/consult/page-72d5744245dc0c27.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/control/page-37625dc8300fa43a.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/decisions/page-fbef9d160272dbc1.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/design-check/page-58424168df84928e.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/editor/page-72c12ba430ac57c0.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/exec/page-d53f3e9ed806d7e0.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/field/page-4d2fbd45feee0829.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/healthz/route-76394dc618d322c8.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/inside/page-8783dc0ed7590a2c.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/intake/page-3706cb390606e930.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/layout-9b0a86598e0111fd.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/live/{page-3337c6a1328c2674.js → page-4edb8df90f4537ce.js} +1 -1
  143. package/apps/pwa/out/_next/static/chunks/app/live-run/page-83d27757e2b8060a.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/loops/page-47398b9ba1cc5e1b.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/market/page-fb86f55cfe2e681d.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-e22345fc8fd47b1b.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/morning/{page-1e5da297557d2354.js → page-fca2e59a81744d9e.js} +1 -1
  148. package/apps/pwa/out/_next/static/chunks/app/not-found-6e96bda63100b31e.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/observatory/page-4d17ad8e0db8cea4.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-121f92766c33beaa.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-43f14212c545f92d.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-ccec2023e7a974ec.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/outputs/page-b04f33f548b89a94.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/page-c8792823c0917021.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/reflection/page-8c0e32782ceef4cb.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-94bd3922eb230ce8.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/sessions/page-bca565887bafa03c.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-ac1dffafe649fc6c.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/settings/page-52374edb5e23e455.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-ad4ebca120d43ca7.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/layout-76394dc618d322c8.js +1 -0
  162. package/apps/pwa/out/_next/static/chunks/app/setup/page-718b89ce4b4ae4e4.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/share/page-204eca33eeeaddec.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/showroom/page-e58ba9bcdb9ac0f9.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/tasks/page-98f6dd50bafd7734.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/term/{page-ac2c1e6169cfce57.js → page-139d722de1dcd6c1.js} +1 -1
  167. package/apps/pwa/out/_next/static/chunks/app/today/page-5a4bdd72bff27057.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/trace/page-6f6ab17d44f984ce.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/vault/page-aabb7bd15fb72da9.js +1 -0
  170. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-e4322319164a4436.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workflows/page-e9efc0c8f32e2371.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/workspace/{page-c1c80e345fa9d6f5.js → page-ccde99f07aaf71f7.js} +1 -1
  173. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-80464aced9614390.js +1 -0
  174. package/apps/pwa/out/_next/static/chunks/{d9815f84.4918f682a45a8502.js → b84cad00.594027ebe0531fe2.js} +3 -3
  175. package/apps/pwa/out/_next/static/chunks/c696986b.5dc8bb1143af16d1.js +1 -0
  176. package/apps/pwa/out/_next/static/chunks/{709a918c.4fd3b4e2a32cb4e3.js → ca3702f8.2913182e73889fa2.js} +1 -1
  177. package/apps/pwa/out/_next/static/chunks/d5d3cefc-373c4eb722ed848b.js +1 -0
  178. package/apps/pwa/out/_next/static/chunks/{5f6af561-f90b7a67f4f75d13.js → d8de0de2-dd0f4ac8e5ab1832.js} +1 -1
  179. package/apps/pwa/out/_next/static/chunks/framework-002b472a66935d31.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/main-49b88d47292c0476.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/main-app-fff2549cb10a133f.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/pages/_app-32abbbba3f3b76b7.js +1 -0
  183. package/apps/pwa/out/_next/static/chunks/pages/_error-9d9cfef60c60dd7a.js +1 -0
  184. package/apps/pwa/out/_next/static/chunks/webpack-cc7f483fa294034a.js +1 -0
  185. package/apps/pwa/out/approvals/index.html +1 -1
  186. package/apps/pwa/out/approvals/index.txt +22 -22
  187. package/apps/pwa/out/autopilot/index.html +1 -1
  188. package/apps/pwa/out/autopilot/index.txt +22 -22
  189. package/apps/pwa/out/board/index.html +1 -1
  190. package/apps/pwa/out/board/index.txt +22 -22
  191. package/apps/pwa/out/botlab/index.html +1 -1
  192. package/apps/pwa/out/botlab/index.txt +21 -21
  193. package/apps/pwa/out/bots/index.html +1 -1
  194. package/apps/pwa/out/bots/index.txt +21 -21
  195. package/apps/pwa/out/ceo/index.html +1 -1
  196. package/apps/pwa/out/ceo/index.txt +22 -22
  197. package/apps/pwa/out/chat/index.html +1 -1
  198. package/apps/pwa/out/chat/index.txt +21 -21
  199. package/apps/pwa/out/consult/index.html +1 -1
  200. package/apps/pwa/out/consult/index.txt +22 -22
  201. package/apps/pwa/out/control/index.html +1 -1
  202. package/apps/pwa/out/control/index.txt +22 -22
  203. package/apps/pwa/out/decisions/index.html +1 -1
  204. package/apps/pwa/out/decisions/index.txt +21 -21
  205. package/apps/pwa/out/design-check/index.html +1 -1
  206. package/apps/pwa/out/design-check/index.txt +22 -22
  207. package/apps/pwa/out/editor/index.html +1 -1
  208. package/apps/pwa/out/editor/index.txt +22 -22
  209. package/apps/pwa/out/exec/index.html +1 -1
  210. package/apps/pwa/out/exec/index.txt +22 -22
  211. package/apps/pwa/out/field/index.html +1 -1
  212. package/apps/pwa/out/field/index.txt +22 -22
  213. package/apps/pwa/out/healthz +1 -1
  214. package/apps/pwa/out/index.html +1 -1
  215. package/apps/pwa/out/index.txt +21 -21
  216. package/apps/pwa/out/inside/index.html +1 -1
  217. package/apps/pwa/out/inside/index.txt +21 -21
  218. package/apps/pwa/out/intake/index.html +1 -1
  219. package/apps/pwa/out/intake/index.txt +22 -22
  220. package/apps/pwa/out/live/index.html +1 -1
  221. package/apps/pwa/out/live/index.txt +22 -22
  222. package/apps/pwa/out/live-run/index.html +1 -1
  223. package/apps/pwa/out/live-run/index.txt +22 -22
  224. package/apps/pwa/out/loops/index.html +1 -1
  225. package/apps/pwa/out/loops/index.txt +21 -21
  226. package/apps/pwa/out/market/index.html +1 -1
  227. package/apps/pwa/out/market/index.txt +21 -21
  228. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  229. package/apps/pwa/out/missions/placeholder/index.txt +21 -21
  230. package/apps/pwa/out/morning/index.html +1 -1
  231. package/apps/pwa/out/morning/index.txt +22 -22
  232. package/apps/pwa/out/observatory/index.html +1 -1
  233. package/apps/pwa/out/observatory/index.txt +22 -22
  234. package/apps/pwa/out/ops/checklist/index.html +1 -1
  235. package/apps/pwa/out/ops/checklist/index.txt +21 -21
  236. package/apps/pwa/out/ops/release/index.html +1 -1
  237. package/apps/pwa/out/ops/release/index.txt +21 -21
  238. package/apps/pwa/out/ops/seats/index.html +1 -1
  239. package/apps/pwa/out/ops/seats/index.txt +21 -21
  240. package/apps/pwa/out/outputs/index.html +1 -1
  241. package/apps/pwa/out/outputs/index.txt +21 -21
  242. package/apps/pwa/out/reflection/index.html +1 -1
  243. package/apps/pwa/out/reflection/index.txt +22 -22
  244. package/apps/pwa/out/scheduler/index.html +1 -1
  245. package/apps/pwa/out/scheduler/index.txt +22 -22
  246. package/apps/pwa/out/sessions/index.html +1 -1
  247. package/apps/pwa/out/sessions/index.txt +21 -21
  248. package/apps/pwa/out/settings/devices/index.html +1 -1
  249. package/apps/pwa/out/settings/devices/index.txt +22 -22
  250. package/apps/pwa/out/settings/index.html +1 -1
  251. package/apps/pwa/out/settings/index.txt +22 -22
  252. package/apps/pwa/out/setup/done/index.html +1 -1
  253. package/apps/pwa/out/setup/done/index.txt +22 -22
  254. package/apps/pwa/out/setup/index.html +1 -1
  255. package/apps/pwa/out/setup/index.txt +22 -22
  256. package/apps/pwa/out/share/index.html +1 -1
  257. package/apps/pwa/out/share/index.txt +22 -22
  258. package/apps/pwa/out/showroom/index.html +1 -1
  259. package/apps/pwa/out/showroom/index.txt +21 -21
  260. package/apps/pwa/out/tasks/index.html +1 -1
  261. package/apps/pwa/out/tasks/index.txt +22 -22
  262. package/apps/pwa/out/term/index.html +1 -1
  263. package/apps/pwa/out/term/index.txt +22 -22
  264. package/apps/pwa/out/today/index.html +1 -1
  265. package/apps/pwa/out/today/index.txt +22 -22
  266. package/apps/pwa/out/trace/index.html +1 -1
  267. package/apps/pwa/out/trace/index.txt +22 -22
  268. package/apps/pwa/out/vault/index.html +1 -1
  269. package/apps/pwa/out/vault/index.txt +22 -22
  270. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  271. package/apps/pwa/out/workflows/chat-ui/index.txt +22 -22
  272. package/apps/pwa/out/workflows/index.html +1 -1
  273. package/apps/pwa/out/workflows/index.txt +22 -22
  274. package/apps/pwa/out/workspace/index.html +1 -1
  275. package/apps/pwa/out/workspace/index.txt +22 -22
  276. package/apps/pwa/out/worktrees/index.html +1 -1
  277. package/apps/pwa/out/worktrees/index.txt +22 -22
  278. package/graphs/demo/persona-marketer/fixtures/marketer-scenario.yaml +10 -0
  279. package/graphs/demo/persona-marketer/persona-marketer.yaml +25 -0
  280. package/graphs/demo/persona-marketer/recipes.yaml +19 -0
  281. package/graphs/release/recipes.yaml +9 -0
  282. package/graphs/release/release-loop.yaml +26 -18
  283. package/graphs/video/explainer-line.yaml +4 -1
  284. package/package.json +1 -1
  285. package/scripts/ask-op-inbox-once.ts +17 -0
  286. package/scripts/brand/check.ts +13 -4
  287. package/scripts/dead-code/report.ts +169 -0
  288. package/scripts/gate-0226-accepted-remaining-90.txt +91 -0
  289. package/scripts/gate-0226-failure-census.ts +39 -0
  290. package/scripts/intake-collect-telegram-saved-stage.ts +48 -0
  291. package/scripts/lib/morning-report-options.ts +3 -4
  292. package/scripts/lib/tui-regress-evidence.ts +56 -0
  293. package/scripts/morning-report.ts +5 -1
  294. package/scripts/provision-export-redactions.ts +15 -0
  295. package/scripts/public-copy-lint.ts +122 -0
  296. package/scripts/public-export.ts +77 -2
  297. package/scripts/ratchets/next-tui-entry-budget.ts +124 -0
  298. package/scripts/ratchets/train-side-invariants.sh +7 -1
  299. package/scripts/release-loop/cut-branch.ts +61 -12
  300. package/scripts/release-loop/export-check-node.ts +21 -3
  301. package/scripts/release-loop/gate-node.ts +527 -60
  302. package/scripts/release-loop/gate-partial.ts +82 -3
  303. package/scripts/release-loop/gate-prewarm-plan.ts +35 -0
  304. package/scripts/release-loop/gate-radius-live.ts +4 -2
  305. package/scripts/release-loop/gate-shard-dispatch.ts +128 -0
  306. package/scripts/release-loop/gate-shard-receipts.ts +89 -0
  307. package/scripts/release-loop/gate-wall.ts +5 -5
  308. package/scripts/release-loop/preflight.ts +6 -2
  309. package/scripts/release-loop/resume-cap.ts +2 -1
  310. package/scripts/release-loop/resume-release.ts +317 -13
  311. package/scripts/release-loop/resume.ts +61 -5
  312. package/scripts/release-loop/traffic-node.ts +12 -4
  313. package/scripts/release-loop/traffic-transition.ts +53 -13
  314. package/scripts/release-loop/version-node.ts +35 -5
  315. package/scripts/release-story/draft.ts +1 -1
  316. package/scripts/research-bench/README.md +53 -0
  317. package/scripts/research-bench/questions.json +66 -0
  318. package/scripts/research-bench/rubric.md +33 -0
  319. package/scripts/research-bench/run.ts +523 -0
  320. package/scripts/tui-regress.ts +85 -10
  321. package/scripts/ux-sim.ts +1 -1
  322. package/scripts/video-pipeline.ts +2 -2
  323. package/src/acp/core-turn-bridge.ts +14 -1
  324. package/src/agent/autonomous-tools.ts +10 -3
  325. package/src/agent/monad-agent-turn.ts +4 -1
  326. package/src/agent/registry.ts +26 -2
  327. package/src/agent/run-context.ts +1 -1
  328. package/src/agent/shared-app-tools.ts +1 -1
  329. package/src/agent/surface-ux/build.ts +12 -3
  330. package/src/agent/surface-ux/types.ts +1 -1
  331. package/src/agent/task-notification.ts +78 -7
  332. package/src/agent/types.ts +3 -0
  333. package/src/agent-mission/driver.ts +29 -3
  334. package/src/agent-mission/mission-cli.ts +2 -1
  335. package/src/agent-substrate/review-context-pack.ts +365 -0
  336. package/src/agent-substrate/review-observation.ts +10 -0
  337. package/src/agent-substrate/self-review-cli.ts +419 -42
  338. package/src/ask-user-question/index.ts +6 -0
  339. package/src/ask-user-question/inline-resolver.ts +49 -0
  340. package/src/auto-research/question-ladder-contract.ts +156 -0
  341. package/src/auto-research/research-turn.ts +467 -0
  342. package/src/autopilot/agent-loop.ts +1 -1
  343. package/src/autopilot/discovery/doc-lint.ts +1 -1
  344. package/src/autopilot/pty-control-loop.ts +8 -1
  345. package/src/boot/daemon-tools/index.ts +4 -3
  346. package/src/boot/daemon-tools/self-implement.ts +270 -2
  347. package/src/boot/daemon-tools/types.ts +2 -0
  348. package/src/bots/screen-probe.ts +1 -1
  349. package/src/budget/llm-cost.ts +44 -5
  350. package/src/budget/unified-usage.ts +17 -1
  351. package/src/capture/tui-self-report.ts +24 -2
  352. package/src/chat/index.ts +34 -7
  353. package/src/chat/tool-render/dispatch.ts +8 -1
  354. package/src/cli/agent-cli.ts +43 -8
  355. package/src/cli/guardian-cli.ts +3 -1
  356. package/src/cli/intake-cli.ts +70 -13
  357. package/src/cli/lesson-cli.ts +86 -10
  358. package/src/cli/log-event-names.ts +1 -0
  359. package/src/cli/pod-cli.ts +17 -2
  360. package/src/cli/pr-land-overlap-evidence.ts +38 -5
  361. package/src/cli/pr-land-refusal.ts +1 -1
  362. package/src/cli/pty-takeover-cli.ts +125 -12
  363. package/src/cli/release-checklist-read-cli.ts +5 -2
  364. package/src/cli/release-cli.ts +99 -15
  365. package/src/cli/repo-cli.ts +2 -1
  366. package/src/cli/review-carry.ts +77 -0
  367. package/src/cli/self-update.ts +1 -1
  368. package/src/cli/tasks-card-show.ts +31 -1
  369. package/src/cli/tasks-cli.ts +98 -32
  370. package/src/cli/tasks-read-cli.ts +13 -5
  371. package/src/context-bus/context-now.ts +86 -2
  372. package/src/control-plane/ledger.ts +21 -4
  373. package/src/core-turn/run-core-turn.ts +51 -3
  374. package/src/core-turn/run-goal-loop.ts +152 -8
  375. package/src/core-turn/types.ts +12 -0
  376. package/src/dashboard/chat/acp-chat.ts +2 -2
  377. package/src/dashboard/classic-sigquit.ts +16 -0
  378. package/src/dashboard/index.ts +339 -44
  379. package/src/dashboard/input/chat-main-interaction-opts.ts +3 -0
  380. package/src/dashboard/input/chat-main-plain-turn-runtime.ts +7 -2
  381. package/src/dashboard/input/chat-main-slash-command.ts +7 -0
  382. package/src/dashboard/input/dashboard-plain-turn-stream.ts +4 -0
  383. package/src/dashboard/input/dashboard-priority-key-route.ts +21 -5
  384. package/src/dashboard/input/external-input-host.ts +2 -0
  385. package/src/dashboard/input/terminal-modal-router.ts +8 -159
  386. package/src/dashboard/side-basic-runtime.ts +61 -0
  387. package/src/dashboard/sidetab-runtime.ts +228 -0
  388. package/src/dashboard/slash-runtime/ask-clarification.ts +7 -1
  389. package/src/dashboard/slash-runtime/dashboard-handlers.ts +22 -8
  390. package/src/dashboard/slash-runtime/help-from-registry.ts +2 -2
  391. package/src/dashboard/term-slash-runtime.ts +18 -18
  392. package/src/dashboard/turn-preamble.ts +30 -4
  393. package/src/domains/guardian-tick.ts +9 -0
  394. package/src/domains/knowledge.ts +1 -1
  395. package/src/esc-abort-gate.ts +33 -1
  396. package/src/execution-loop/launch-gate.ts +206 -1
  397. package/src/git-fs/watcher.ts +27 -22
  398. package/src/git-fs/worktree.ts +19 -3
  399. package/src/graph-runner/graph-cli.ts +6 -4
  400. package/src/graph-runner/graph-grow.ts +37 -9
  401. package/src/graph-runner/runner.ts +48 -11
  402. package/src/graph-wizard/generate.ts +16 -7
  403. package/src/graph-wizard/mission-compose.ts +201 -0
  404. package/src/grok/agent-search.ts +8 -2
  405. package/src/grok/credential.ts +112 -36
  406. package/src/grounding/ref-index.ts +11 -0
  407. package/src/grounding/ref-vector.ts +61 -0
  408. package/src/grounding/sources-cli.ts +2 -2
  409. package/src/grounding/sources.ts +15 -1
  410. package/src/harness/harness-cli-command.ts +38 -9
  411. package/src/harness/harness-pod-dispatch.ts +7 -1
  412. package/src/hq/fence-wrapper.ts +1 -1
  413. package/src/hq/transfer.ts +1 -1
  414. package/src/index.ts +60 -16
  415. package/src/input/external-input-queue.ts +10 -0
  416. package/src/intake-plane/collect-telegram-saved.ts +90 -6
  417. package/src/intake-plane/intake-to-tasks.ts +246 -3
  418. package/src/interactive-terminal-modal.ts +3 -0
  419. package/src/keybindings.ts +17 -22
  420. package/src/lessons/friction-ledger.ts +154 -0
  421. package/src/live-supply/collector.ts +149 -0
  422. package/src/live-supply/probes.ts +52 -0
  423. package/src/live-supply/snapshot.ts +40 -0
  424. package/src/llm/provider-credentials.ts +1 -1
  425. package/src/llm-tool-schema.ts +20 -0
  426. package/src/llm.ts +486 -61
  427. package/src/loops/orchestrator/inbox-once.ts +28 -0
  428. package/src/loops/orchestrator/inbox.ts +130 -1
  429. package/src/loops/orchestrator/tick.ts +14 -3
  430. package/src/maturity/feature-maturity.ts +1 -0
  431. package/src/nexus/api/channel-ask-op.ts +96 -0
  432. package/src/nexus/api/discord-trigger-bot.ts +28 -1
  433. package/src/nexus/api/harness-api.ts +2 -1
  434. package/src/nexus/api/telegram-trigger-bot.ts +24 -0
  435. package/src/nexus/api/terminals.ts +28 -6
  436. package/src/patents/ledger.ts +18 -1
  437. package/src/preview/terminal.ts +4 -2
  438. package/src/prompt-cache/anthropic.ts +2 -0
  439. package/src/prompt-enhance/enhance.ts +5 -0
  440. package/src/pty/snapshot.py +132 -0
  441. package/src/pty-shell/pty-control-ipc.ts +29 -2
  442. package/src/pty-shell/pty-manifest.ts +75 -5
  443. package/src/pty-shell/registry.ts +2 -0
  444. package/src/pty-shell/tui-run-state.ts +80 -3
  445. package/src/release-loop/gate-host-reservation.ts +13 -4
  446. package/src/release-loop/gate-shard-ledger.ts +68 -0
  447. package/src/release-loop/gate-shards.ts +61 -0
  448. package/src/release-loop/light-rc.ts +7 -4
  449. package/src/release-loop/merged-pr-checklist.ts +25 -2
  450. package/src/release-loop/rehearsal-shard-plan.ts +6 -1
  451. package/src/release-loop/rehearsal.ts +28 -1
  452. package/src/repl/index.ts +10 -0
  453. package/src/research/axis-fanout.ts +133 -0
  454. package/src/research/edge-decision.ts +197 -0
  455. package/src/research/gap-followup.ts +249 -0
  456. package/src/research/lenses/counter-evidence.ts +100 -0
  457. package/src/research/lenses/working-backwards.ts +89 -0
  458. package/src/research/output-router.ts +127 -0
  459. package/src/research/plugin-discovery.ts +242 -0
  460. package/src/research-bridge/format.ts +16 -1
  461. package/src/research-bridge/index.ts +1 -0
  462. package/src/research-bridge/invoke.ts +45 -7
  463. package/src/research-bridge/types.ts +2 -0
  464. package/src/self-dev/ask-launch-flow.ts +34 -106
  465. package/src/self-dev/decompose.ts +45 -9
  466. package/src/self-dev/dev-cli.ts +2 -0
  467. package/src/self-dev/dev-pipeline.ts +8 -4
  468. package/src/self-dev/draft-residue.ts +221 -2
  469. package/src/self-dev/draft-sweep.ts +29 -16
  470. package/src/self-dev/graph-journey-route.ts +10 -2
  471. package/src/self-dev/launch-preflight-text.ts +2 -2
  472. package/src/self-dev/launch-preflight.ts +38 -7
  473. package/src/self-dev/orchestrate-cli.ts +1 -0
  474. package/src/self-dev/orchestrate.ts +1 -0
  475. package/src/self-dev/run-supervisor.ts +41 -7
  476. package/src/self-dev/shard-run.ts +260 -3
  477. package/src/self-implement/comment-only-source.ts +54 -0
  478. package/src/self-implement/device-first.ts +8 -2
  479. package/src/self-implement/doctor-visit.ts +100 -57
  480. package/src/self-implement/gate-artifacts.ts +5 -2
  481. package/src/self-implement/gate-baseline.ts +119 -13
  482. package/src/self-implement/gate-cli.ts +466 -93
  483. package/src/self-implement/gate-failure-signature.ts +44 -0
  484. package/src/self-implement/gate-receipt-registry.ts +180 -0
  485. package/src/self-implement/gate-remote.ts +147 -22
  486. package/src/self-implement/goal-author-clarification.ts +178 -24
  487. package/src/self-implement/goal-author-decompose.ts +24 -15
  488. package/src/self-implement/goal-author.ts +82 -7
  489. package/src/self-implement/goal-doc/section.ts +22 -0
  490. package/src/self-implement/goal-supervisor-fill.ts +38 -4
  491. package/src/self-implement/host-regate.ts +120 -45
  492. package/src/self-implement/impl-findings-feedback.ts +188 -0
  493. package/src/self-implement/knowhow-pack.ts +301 -9
  494. package/src/self-implement/l8-merge-queue.ts +198 -32
  495. package/src/self-implement/off-diff-evidence.ts +147 -0
  496. package/src/self-implement/orchestrator.ts +137 -16
  497. package/src/self-implement/pod-inplace-worktree.ts +82 -0
  498. package/src/self-implement/pod-warm-pool-profile.ts +2 -2
  499. package/src/self-implement/premise-review.ts +7 -5
  500. package/src/self-implement/run-ledger.ts +304 -8
  501. package/src/self-implement/run-stop.ts +12 -0
  502. package/src/self-implement/seams.ts +39 -13
  503. package/src/self-implement/self-implement-cli.ts +30 -4
  504. package/src/session/channel-ask-op-envelope.ts +36 -0
  505. package/src/session/channel-op-reply-route.ts +200 -0
  506. package/src/session/chat.ts +92 -15
  507. package/src/session/index.ts +2 -0
  508. package/src/session-runtime/index.ts +9 -22
  509. package/src/session-runtime/provider-circuit.ts +140 -0
  510. package/src/shell-runner/file-engine.ts +1 -0
  511. package/src/shell-runner/types.ts +4 -0
  512. package/src/sidetab-core/model.ts +176 -0
  513. package/src/skills/runner.ts +7 -3
  514. package/src/skills/tools/dev-harness.ts +2 -2
  515. package/src/skills/tools/schedule-wakeup.ts +24 -7
  516. package/src/skills/tools/shell.ts +51 -5
  517. package/src/status/bar.ts +3 -3
  518. package/src/steward/directive-audit.ts +354 -0
  519. package/src/storage/file-lock.ts +17 -4
  520. package/src/surface/child-process.ts +31 -0
  521. package/src/surface/tui-stderr-owner.ts +48 -0
  522. package/src/task-agent/adopt-pr.ts +63 -2
  523. package/src/task-agent/cover.ts +30 -12
  524. package/src/task-agent/evidence-command-normalize.ts +42 -0
  525. package/src/task-agent/export-redactions-provision.ts +43 -0
  526. package/src/task-agent/judge.ts +56 -0
  527. package/src/task-agent/parent-host.ts +59 -12
  528. package/src/task-agent/postland-card.ts +35 -2
  529. package/src/task-agent/rejudge-on-head.ts +46 -2
  530. package/src/task-agent/repair-cycle.ts +68 -9
  531. package/src/task-agent/repair-worker.ts +37 -1
  532. package/src/task-agent/task-hand.ts +226 -33
  533. package/src/task-agent/tier-split.ts +142 -24
  534. package/src/task-orchestrator/surfaces/pod-command-job.ts +330 -2
  535. package/src/task-orchestrator/surfaces/pod-config-snapshot.ts +123 -0
  536. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +57 -5
  537. package/src/task-orchestrator/surfaces/pod-mirror-seed.ts +11 -8
  538. package/src/task-orchestrator/surfaces/pod-pool.ts +27 -4
  539. package/src/task-orchestrator/surfaces/pod-si-warm-protocol.ts +1 -1
  540. package/src/task-orchestrator/surfaces/pod-source-receive.ts +74 -6
  541. package/src/task-orchestrator/surfaces/pod-warm-worker-pod.ts +2 -1
  542. package/src/task-orchestrator/surfaces/pod-warm-worker-provider.ts +56 -15
  543. package/src/task-orchestrator/surfaces/self-implement-pod.ts +310 -79
  544. package/src/task-orchestrator/surfaces/self-implement.ts +33 -2
  545. package/src/terminal/session-registry.ts +1 -0
  546. package/src/terminal/terminal-modal-router.ts +156 -0
  547. package/src/tool-hints/gate.ts +6 -4
  548. package/src/tool-hints/signals.ts +33 -1
  549. package/src/tool-runtime/skill-exec-runtime.ts +95 -5
  550. package/src/tui/chat/background-job-status.ts +8 -2
  551. package/src/tui/entry.ts +483 -32
  552. package/src/tui/inline-choice.ts +188 -0
  553. package/src/tui/sidetab/attach.ts +304 -0
  554. package/src/tui/sidetab/list.ts +2 -0
  555. package/src/tui/sidetab/nl-tool.ts +136 -0
  556. package/src/tui/slash/resume-command.ts +23 -0
  557. package/src/tui/slash/resume.ts +3 -23
  558. package/src/tui/slash/term-next.ts +2 -1
  559. package/src/tui/slash/term.ts +12 -1
  560. package/src/tui-client/dashboard-session.ts +7 -1
  561. package/src/tui-client/local-chat-turn.ts +29 -8
  562. package/src/user-config.ts +42 -3
  563. package/src/ux-sim/classic-tui-seat-scenarios.ts +1 -7
  564. package/src/ux-sim/fake-land-queue.ts +88 -0
  565. package/src/ux-sim/fake-llm.ts +11 -5
  566. package/src/ux-sim/gate-shard-host-reroute.ts +82 -0
  567. package/src/ux-sim/goal-interim-trace.ts +24 -0
  568. package/src/ux-sim/next-tui-seat-scenarios.ts +61 -14
  569. package/src/ux-sim/task-orchestrator-surfaces-self-implement-pod-device.ts +4 -1
  570. package/src/version/packed-revision.json +1 -1
  571. package/src/video-pipeline/recipes/explainer.ts +54 -2
  572. package/src/web-search/grok.ts +32 -6
  573. package/src/web-search/index.ts +8 -7
  574. package/src/workflow-runtime/node-catalog.ts +53 -4
  575. package/apps/pwa/out/_next/static/chunks/1041-5841aae848fb6403.js +0 -1
  576. package/apps/pwa/out/_next/static/chunks/1087.3177e54f672dc526.js +0 -1
  577. package/apps/pwa/out/_next/static/chunks/1105.efe1e13503ac7a33.js +0 -1
  578. package/apps/pwa/out/_next/static/chunks/1224.2ceca6c180d5130b.js +0 -62
  579. package/apps/pwa/out/_next/static/chunks/1417-1768233ac92f8a5d.js +0 -1
  580. package/apps/pwa/out/_next/static/chunks/1612.81bbc19af06af16c.js +0 -1
  581. package/apps/pwa/out/_next/static/chunks/1766.728d42053070bb2d.js +0 -1
  582. package/apps/pwa/out/_next/static/chunks/1773.d38e945481e04125.js +0 -1
  583. package/apps/pwa/out/_next/static/chunks/1974-c12f9600da3d3c26.js +0 -1
  584. package/apps/pwa/out/_next/static/chunks/1ed5e8af.cf424815c7c0efad.js +0 -1
  585. package/apps/pwa/out/_next/static/chunks/2061.7232dc9dc058417f.js +0 -1
  586. package/apps/pwa/out/_next/static/chunks/210.90b2cbd64926cf34.js +0 -32
  587. package/apps/pwa/out/_next/static/chunks/244-a810d282a20f1783.js +0 -1
  588. package/apps/pwa/out/_next/static/chunks/2479-fe7e188bd9402d14.js +0 -1
  589. package/apps/pwa/out/_next/static/chunks/2514.03b60f266531a015.js +0 -148
  590. package/apps/pwa/out/_next/static/chunks/2526-a657538869888604.js +0 -1
  591. package/apps/pwa/out/_next/static/chunks/2533-6f0341ff075809e9.js +0 -1
  592. package/apps/pwa/out/_next/static/chunks/2676.e7994c695ef0f30d.js +0 -1
  593. package/apps/pwa/out/_next/static/chunks/2734.3ffdf54254fb6f99.js +0 -27
  594. package/apps/pwa/out/_next/static/chunks/2770-23252bf3a37880b9.js +0 -1
  595. package/apps/pwa/out/_next/static/chunks/2969.66b8b545139d1544.js +0 -1
  596. package/apps/pwa/out/_next/static/chunks/3128.a9210d08800ea6a8.js +0 -1
  597. package/apps/pwa/out/_next/static/chunks/3199.6a1a9b0e6cd01dc6.js +0 -1
  598. package/apps/pwa/out/_next/static/chunks/3212.12179fd3eee8cef1.js +0 -1
  599. package/apps/pwa/out/_next/static/chunks/3760-2909ddb9279281cd.js +0 -1
  600. package/apps/pwa/out/_next/static/chunks/3825.1921b5901bf33dce.js +0 -36
  601. package/apps/pwa/out/_next/static/chunks/3994-63eb884ed0547011.js +0 -1
  602. package/apps/pwa/out/_next/static/chunks/4036.d54e55e1ebf5acdc.js +0 -90
  603. package/apps/pwa/out/_next/static/chunks/4115.5b438b99f0ae729f.js +0 -226
  604. package/apps/pwa/out/_next/static/chunks/4269.d8f9f34bb0fc6c43.js +0 -287
  605. package/apps/pwa/out/_next/static/chunks/431-4eed5bd2c5fe1719.js +0 -1
  606. package/apps/pwa/out/_next/static/chunks/4324.c99ba3e83eb1b691.js +0 -1
  607. package/apps/pwa/out/_next/static/chunks/4599-96eff3f2a9c242c1.js +0 -1
  608. package/apps/pwa/out/_next/static/chunks/4825-a9d9d4e9f5892309.js +0 -1
  609. package/apps/pwa/out/_next/static/chunks/4833-7934c592c5569f00.js +0 -1
  610. package/apps/pwa/out/_next/static/chunks/4879-68518f547a207aff.js +0 -1
  611. package/apps/pwa/out/_next/static/chunks/4896.f9b70285363b27b2.js +0 -24
  612. package/apps/pwa/out/_next/static/chunks/4937-28d437999b77c9dd.js +0 -1
  613. package/apps/pwa/out/_next/static/chunks/49aa54ab.80f39398e0ed0f30.js +0 -1
  614. package/apps/pwa/out/_next/static/chunks/5056.482687319b82638e.js +0 -104
  615. package/apps/pwa/out/_next/static/chunks/506.16b83d56a437a9ee.js +0 -1
  616. package/apps/pwa/out/_next/static/chunks/5260-20593b0a25d0afbc.js +0 -1
  617. package/apps/pwa/out/_next/static/chunks/5404.cc4e9fec26fd5925.js +0 -1
  618. package/apps/pwa/out/_next/static/chunks/576.485e83e3f3dec19a.js +0 -1
  619. package/apps/pwa/out/_next/static/chunks/5832-a6be14e663f65726.js +0 -1
  620. package/apps/pwa/out/_next/static/chunks/5854-56648a9fe646b9a0.js +0 -1
  621. package/apps/pwa/out/_next/static/chunks/5925.3b1f8b135710249b.js +0 -93
  622. package/apps/pwa/out/_next/static/chunks/5952.294fc574a8625184.js +0 -1
  623. package/apps/pwa/out/_next/static/chunks/6168.17749aa3905fa073.js +0 -74
  624. package/apps/pwa/out/_next/static/chunks/6416.5d50b8ec9986ca98.js +0 -1
  625. package/apps/pwa/out/_next/static/chunks/6758.e7fbf532953c0783.js +0 -1
  626. package/apps/pwa/out/_next/static/chunks/6795.0cb8a59730d99703.js +0 -149
  627. package/apps/pwa/out/_next/static/chunks/6877-84d47b7e85d0c41e.js +0 -1
  628. package/apps/pwa/out/_next/static/chunks/6971-fb5f9dc0a2cb5d2d.js +0 -1
  629. package/apps/pwa/out/_next/static/chunks/717.522b08685979b814.js +0 -1
  630. package/apps/pwa/out/_next/static/chunks/7191.e41eb8f455c7f089.js +0 -41
  631. package/apps/pwa/out/_next/static/chunks/7233.8e744b7513119409.js +0 -1
  632. package/apps/pwa/out/_next/static/chunks/7238-97c2226f80504bd8.js +0 -1
  633. package/apps/pwa/out/_next/static/chunks/7285.307963afcf7e7660.js +0 -24
  634. package/apps/pwa/out/_next/static/chunks/7299-fbe4b8c47a87614a.js +0 -1
  635. package/apps/pwa/out/_next/static/chunks/7314.df0d95930b0c3f50.js +0 -1
  636. package/apps/pwa/out/_next/static/chunks/7406.c0589fdf2ee66629.js +0 -1
  637. package/apps/pwa/out/_next/static/chunks/752-90e3e7daad3d8e39.js +0 -1
  638. package/apps/pwa/out/_next/static/chunks/7524-bcd3d9928c6842d9.js +0 -1
  639. package/apps/pwa/out/_next/static/chunks/7549.9a4de3bf231cfc52.js +0 -1
  640. package/apps/pwa/out/_next/static/chunks/757-4fbaf50942b8c424.js +0 -1
  641. package/apps/pwa/out/_next/static/chunks/765.76ae970ceb597b5b.js +0 -1
  642. package/apps/pwa/out/_next/static/chunks/7893-e444a1b0809cd1e4.js +0 -1
  643. package/apps/pwa/out/_next/static/chunks/7956-33748cabb3a05562.js +0 -1
  644. package/apps/pwa/out/_next/static/chunks/7c5ed21f-f286708e57cf88f7.js +0 -1
  645. package/apps/pwa/out/_next/static/chunks/8030-aa66b478b53dbfca.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/8051.c88c07dacbbc5f21.js +0 -8
  647. package/apps/pwa/out/_next/static/chunks/8080-40d781e7704d3671.js +0 -1
  648. package/apps/pwa/out/_next/static/chunks/8149.80e402d4345e8dae.js +0 -77
  649. package/apps/pwa/out/_next/static/chunks/8205.50a5268f4e12ba0b.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/8231.a128feaa6f8b6079.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/85.4ddb1dda2ea3ffa2.js +0 -286
  652. package/apps/pwa/out/_next/static/chunks/8537.26517a09e8247beb.js +0 -1
  653. package/apps/pwa/out/_next/static/chunks/8595-e9b7081ab773a61f.js +0 -1
  654. package/apps/pwa/out/_next/static/chunks/8821-30cc65a61a60951f.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/8905.b3385aadb7b133e6.js +0 -79
  656. package/apps/pwa/out/_next/static/chunks/8983.246bb3a1ac38f50f.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/9072.18342f5941a1f3ec.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/9123.9df04866b2d6e00f.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/9175-7d383df15a82e2be.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/9181-bf89c07ce5b8f599.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/920-429bbc4504b45f71.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/9207.625edf45d656151c.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/9378.d2575c6ffd6dd756.js +0 -94
  664. package/apps/pwa/out/_next/static/chunks/957.db5b5c4d32a35240.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/958.53a8dcf4729e6997.js +0 -64
  666. package/apps/pwa/out/_next/static/chunks/9647.8f0cd0898c592a29.js +0 -1
  667. package/apps/pwa/out/_next/static/chunks/9665-26abb02665704c2c.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/9703.e7d81b6faef1050a.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/9882-7a9164b3c2dacbe5.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/9998.b74e033efadecd10.js +0 -1
  671. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c604fb980a634d88.js +0 -1
  672. package/apps/pwa/out/_next/static/chunks/app/approvals/page-ec2d8a4979ca9075.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-cb6add08ad3c7660.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/app/board/page-e2eaa321ec223fe6.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/app/botlab/page-5b8a09c475b5f844.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/app/bots/page-91a77daedfbac191.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/app/ceo/page-f37fc5e974bda39b.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/app/chat/page-91429a0b78415a94.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/app/consult/page-b95798b58263b910.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/app/control/page-763d53e175e17aa1.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/app/decisions/page-d55023204055b12f.js +0 -1
  682. package/apps/pwa/out/_next/static/chunks/app/design-check/page-89d2140d78abc810.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/app/editor/page-82dc069abfe27f55.js +0 -1
  684. package/apps/pwa/out/_next/static/chunks/app/exec/page-25d9eee7beb552c0.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/app/field/page-770b4594c713ee97.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/app/healthz/route-c604fb980a634d88.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/app/inside/page-ba8e0dcae4f83985.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/app/intake/page-5c112c6d7c33656e.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/app/layout-09788e1aa9a87db6.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/app/live-run/page-89acd5d68c0bc560.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/app/loops/page-5c13e2c76371d797.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/app/market/page-653a9f18642825c6.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-fe986fe79b107546.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/app/not-found-91ea9f5869a40943.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/app/observatory/page-7824e21b999962e2.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-53d00a60cc75a922.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-88a1edbff62eaf1d.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4e931248b3f9574b.js +0 -1
  699. package/apps/pwa/out/_next/static/chunks/app/outputs/page-443364c9e4a23b31.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/app/page-b9af2ac1c4737ce8.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/app/reflection/page-25ab9c614c14129b.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-dbcdcfac0a395a8a.js +0 -1
  703. package/apps/pwa/out/_next/static/chunks/app/sessions/page-bf1de6645089ec58.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-c4201761a5e839c9.js +0 -1
  705. package/apps/pwa/out/_next/static/chunks/app/settings/page-c304f469ea5d70e4.js +0 -1
  706. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-8e5a238cf5e50c9c.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/app/setup/layout-c604fb980a634d88.js +0 -1
  708. package/apps/pwa/out/_next/static/chunks/app/setup/page-32b526069ee50b3c.js +0 -1
  709. package/apps/pwa/out/_next/static/chunks/app/share/page-fb9e639c107f5f72.js +0 -1
  710. package/apps/pwa/out/_next/static/chunks/app/showroom/page-84220c776608cedc.js +0 -1
  711. package/apps/pwa/out/_next/static/chunks/app/tasks/page-e475618cbfd5ca2b.js +0 -1
  712. package/apps/pwa/out/_next/static/chunks/app/today/page-fccd3020af2f8806.js +0 -1
  713. package/apps/pwa/out/_next/static/chunks/app/trace/page-9c0d7198ff7b5a91.js +0 -1
  714. package/apps/pwa/out/_next/static/chunks/app/vault/page-d54b1ec9b9c6430d.js +0 -1
  715. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-8c4bef1791d732ca.js +0 -1
  716. package/apps/pwa/out/_next/static/chunks/app/workflows/page-46fcc0b0bbc6fbfe.js +0 -1
  717. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-7dfda00afd172f5b.js +0 -1
  718. package/apps/pwa/out/_next/static/chunks/f21fd540.63ac75328926ed30.js +0 -1
  719. package/apps/pwa/out/_next/static/chunks/framework-77fdcc873519a6cd.js +0 -1
  720. package/apps/pwa/out/_next/static/chunks/main-app-d0d620d2ce235713.js +0 -1
  721. package/apps/pwa/out/_next/static/chunks/main-e0ef79c79337ba90.js +0 -1
  722. package/apps/pwa/out/_next/static/chunks/pages/_app-84b1bc71e3f9ce6a.js +0 -1
  723. package/apps/pwa/out/_next/static/chunks/pages/_error-2acb61f1363128cb.js +0 -1
  724. package/apps/pwa/out/_next/static/chunks/webpack-462ff5727ceb7824.js +0 -1
  725. package/scripts/migrate-monad-to-elanous.ts +0 -195
  726. package/scripts/rebrand-elanous.ts +0 -242
  727. /package/apps/pwa/out/_next/static/{8kITumG9GAZ1LwT9POrAR → HjeK7zONHfR7op1hKXp4k}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7203],{40116:(e,t,n)=>{"use strict";e.exports=n(97278)},43397:(e,t,n)=>{"use strict";n.d(t,{A:()=>function e(t){if("string"==typeof t||"number"==typeof t)return""+t;let n="";if(Array.isArray(t))for(let o=0,r;o<t.length;o++)""!==(r=e(t[o]))&&(n+=(n&&" ")+r);else for(let e in t)t[e]&&(n+=(n&&" ")+e);return n}})},49172:(e,t,n)=>{"use strict";var o=n(50500);n.o(o,"useParams")&&n.d(t,{useParams:function(){return o.useParams}}),n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})},54118:(e,t,n)=>{"use strict";n.d(t,{h:()=>c,n:()=>s});var o=n(75699),r=n(40116);let i=e=>{let t,n=new Set,o=(e,o)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=o?o:"object"!=typeof r||null===r)?r:Object.assign({},t,r),n.forEach(n=>n(t,e))}},r=()=>t,i={setState:o,getState:r,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(o,r,i);return i},{useDebugValue:a}=o,{useSyncExternalStoreWithSelector:l}=r,u=e=>e;function s(e,t=u,n){let o=l(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return a(o),o}let d=(e,t)=>{let n=(e=>e?i(e):i)(e),o=(e,o=t)=>s(n,e,o);return Object.assign(o,n),o},c=(e,t)=>e?d(e,t):d},57117:()=>{},58993:(e,t,n)=>{"use strict";n.d(t,{Do:()=>a,Eo:()=>eu,Er:()=>eh,Ff:()=>Z,Fp:()=>em,HF:()=>E,Hm:()=>eN,I$:()=>eG,IO:()=>H,Jo:()=>I,KE:()=>K,M_:()=>eT,Mi:()=>Y,No:()=>eq,Q6:()=>ea,QE:()=>en,Qc:()=>i,R4:()=>U,TG:()=>l,Tq:()=>T,U$:()=>z,Ue:()=>J,WZ:()=>o,X6:()=>F,YN:()=>ei,ZO:()=>x,_s:()=>er,aE:()=>k,aQ:()=>e2,aW:()=>eB,aZ:()=>S,ah:()=>e$,b$:()=>M,b5:()=>eH,bK:()=>w,bi:()=>eV,di:()=>e5,e_:()=>ep,kM:()=>V,kO:()=>tt,kf:()=>q,mW:()=>X,ny:()=>r,oB:()=>$,oN:()=>eS,oj:()=>es,q1:()=>ef,qX:()=>ew,qn:()=>eW,r8:()=>eF,rN:()=>eM,s_:()=>W,tM:()=>v,tn:()=>m,uD:()=>et,uL:()=>eX,uj:()=>eb,us:()=>eo,v5:()=>ec,vS:()=>ej,xN:()=>s,xc:()=>g,yX:()=>u,zj:()=>Q});var o,r,i,a,l,u,s,d=n(89831),c=n(75390),h=n(43579),f=n(68253),y=n(46049),p=n(80258);let g={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${"source"===e?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},x=[[-1/0,-1/0],[1/0,1/0]],m=["Enter"," ","Escape"],v={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};!function(e){e.Strict="strict",e.Loose="loose"}(o||(o={})),function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"}(r||(r={})),function(e){e.Partial="partial",e.Full="full"}(i||(i={}));let w={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};!function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"}(a||(a={})),function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"}(l||(l={})),function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"}(u||(u={}));let b={[u.Left]:u.Right,[u.Right]:u.Left,[u.Top]:u.Bottom,[u.Bottom]:u.Top};function E(e){return null===e?null:e?"valid":"invalid"}let M=e=>"id"in e&&"source"in e&&"target"in e,$=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),A=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),P=(e,t=[0,0])=>{let{width:n,height:o}=et(e),r=e.origin??t,i=n*r[0],a=o*r[1];return{x:e.position.x-i,y:e.position.y-a}},I=(e,t={nodeOrigin:[0,0]})=>0===e.length?{x:0,y:0,width:0,height:0}:D(e.reduce((e,n)=>{let o="string"==typeof n,r=t.nodeLookup||o?void 0:n;return t.nodeLookup&&(r=o?t.nodeLookup.get(n):A(n)?n:t.nodeLookup.get(n.id)),R(e,r?C(r,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),S=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(e=>{(void 0===t.filter||t.filter(e))&&(n=R(n,C(e)),o=!0)}),o?D(n):{x:0,y:0,width:0,height:0}},z=(e,t,[n,o,r]=[0,0,1],i=!1,a=!1)=>{let l={...Z(t,[n,o,r]),width:t.width/r,height:t.height/r},u=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:o=!1}=t;if(a&&!n||o)continue;let r=e.width??t.width??t.initialWidth??null,s=e.height??t.height??t.initialHeight??null,d=F(l,V(t)),c=(r??0)*(s??0),h=i&&d>0;(!t.internals.handleBounds||h||d>=c||t.dragging)&&u.push(t)}return u};async function H({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},a){if(0===e.size)return Promise.resolve(!0);let l=U(S(function(e,t){let n=new Map,o=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{e.measured.width&&e.measured.height&&(t?.includeHiddenNodes||!e.hidden)&&(!o||o.has(e.id))&&n.set(e.id,e)}),n}(e,a)),t,n,a?.minZoom??r,a?.maxZoom??i,a?.padding??.1);return await o.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}function k({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:r,onError:i}){let a=n.get(e),l=a.parentId?n.get(a.parentId):void 0,{x:u,y:s}=l?l.internals.positionAbsolute:{x:0,y:0},d=a.origin??o,c=a.extent||r;if("parent"!==a.extent||a.expandParent)l&&ee(a.extent)&&(c=[[a.extent[0][0]+u,a.extent[0][1]+s],[a.extent[1][0]+u,a.extent[1][1]+s]]);else if(l){let e=l.measured.width,t=l.measured.height;e&&t&&(c=[[u,s],[u+e,s+t]])}else i?.("005",g.error005());let h=ee(c)?B(t,c,a.measured):t;return(void 0===a.measured.width||void 0===a.measured.height)&&i?.("015",g.error015()),{position:{x:h.x-u+(a.measured.width??0)*d[0],y:h.y-s+(a.measured.height??0)*d[1]},positionAbsolute:h}}async function T({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){let i=new Set(e.map(e=>e.id)),a=[];for(let e of n){if(!1===e.deletable)continue;let t=i.has(e.id),n=!t&&e.parentId&&a.find(t=>t.id===e.parentId);(t||n)&&a.push(e)}let l=new Set(t.map(e=>e.id)),u=o.filter(e=>!1!==e.deletable),s=((e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))})(a,u);for(let e of u)l.has(e.id)&&!s.find(t=>t.id===e.id)&&s.push(e);if(!r)return{edges:s,nodes:a};let d=await r({nodes:a,edges:s});return"boolean"==typeof d?d?{edges:s,nodes:a}:{edges:[],nodes:[]}:d}let L=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),B=(e={x:0,y:0},t,n)=>({x:L(e.x,t[0][0],t[1][0]-(n?.width??0)),y:L(e.y,t[0][1],t[1][1]-(n?.height??0))});function N(e,t,n){let{width:o,height:r}=et(n),{x:i,y:a}=n.internals.positionAbsolute;return B(e,[[i,a],[i+o,a+r]],t)}let O=(e,t,n)=>e<t?L(Math.abs(e-t),1,t)/t:e>n?-L(Math.abs(e-n),1,t)/t:0,_=(e,t,n=15,o=40)=>[O(e.x,o,t.width-o)*n,O(e.y,o,t.height-o)*n],R=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),j=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),D=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),V=(e,t=[0,0])=>{let{x:n,y:o}=A(e)?e.internals.positionAbsolute:P(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},C=(e,t=[0,0])=>{let{x:n,y:o}=A(e)?e.internals.positionAbsolute:P(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},Y=(e,t)=>D(R(j(e),j(t))),F=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),X=e=>q(e.width)&&q(e.height)&&q(e.x)&&q(e.y),q=e=>!isNaN(e)&&isFinite(e),K=(e,t)=>{},W=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Z=({x:e,y:t},[n,o,r],i=!1,a=[1,1])=>{let l={x:(e-n)/r,y:(t-o)/r};return i?W(l,a):l},Q=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function G(e,t){if("number"==typeof e)return Math.floor((t-t/(1+e))*.5);if("string"==typeof e&&e.endsWith("px")){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if("string"==typeof e&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let U=(e,t,n,o,r,i)=>{let a=function(e,t,n){if("string"==typeof e||"number"==typeof e){let o=G(e,n),r=G(e,t);return{top:o,right:r,bottom:o,left:r,x:2*r,y:2*o}}if("object"==typeof e){let o=G(e.top??e.y??0,n),r=G(e.bottom??e.y??0,n),i=G(e.left??e.x??0,t),a=G(e.right??e.x??0,t);return{top:o,right:a,bottom:r,left:i,x:i+a,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(i,t,n),l=L(Math.min((t-a.x)/e.width,(n-a.y)/e.height),o,r),u=e.x+e.width/2,s=e.y+e.height/2,d=t/2-u*l,c=n/2-s*l,h=function(e,t,n,o,r,i){let{x:a,y:l}=Q(e,[t,n,o]),{x:u,y:s}=Q({x:e.x+e.width,y:e.y+e.height},[t,n,o]);return{left:Math.floor(a),top:Math.floor(l),right:Math.floor(r-u),bottom:Math.floor(i-s)}}(e,d,c,l,t,n),f={left:Math.min(h.left-a.left,0),top:Math.min(h.top-a.top,0),right:Math.min(h.right-a.right,0),bottom:Math.min(h.bottom-a.bottom,0)};return{x:d-f.left+f.right,y:c-f.top+f.bottom,zoom:l}},J=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function ee(e){return null!=e&&"parent"!==e}function et(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function en(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function eo(e,t={width:0,height:0},n,o,r){let i={...e},a=o.get(n);if(a){let e=a.origin||r;i.x+=a.internals.positionAbsolute.x-(t.width??0)*e[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*e[1]}return i}function er(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ei(){let e,t;return{promise:new Promise((n,o)=>{e=n,t=o}),resolve:e,reject:t}}function ea(e){return{...v,...e||{}}}function el(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){let{x:i,y:a}=ef(e),l=Z({x:i-(r?.left??0),y:a-(r?.top??0)},o),{x:u,y:s}=n?W(l,t):l;return{xSnapped:u,ySnapped:s,...l}}let eu=e=>({width:e.offsetWidth,height:e.offsetHeight}),es=e=>e?.getRootNode?.()||window?.document,ed=["INPUT","SELECT","TEXTAREA"];function ec(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1&&(ed.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey"))}let eh=e=>"clientX"in e,ef=(e,t)=>{let n=eh(e),o=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:r-(t?.top??0)}},ey=(e,t,n,o,r)=>{let i=t.querySelectorAll(`.${e}`);return i&&i.length?Array.from(i).map(t=>{let i=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:r,position:t.getAttribute("data-handlepos"),x:(i.left-n.left)/o,y:(i.top-n.top)/o,...eu(t)}}):null};function ep({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:a,targetControlY:l}){let u=.125*e+.375*r+.375*a+.125*n,s=.125*t+.375*i+.375*l+.125*o,d=Math.abs(u-e),c=Math.abs(s-t);return[u,s,d,c]}function eg(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function ex({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case u.Left:return[t-eg(t-o,i),n];case u.Right:return[t+eg(o-t,i),n];case u.Top:return[t,n-eg(n-r,i)];case u.Bottom:return[t,n+eg(r-n,i)]}}function em({sourceX:e,sourceY:t,sourcePosition:n=u.Bottom,targetX:o,targetY:r,targetPosition:i=u.Top,curvature:a=.25}){let[l,s]=ex({pos:n,x1:e,y1:t,x2:o,y2:r,c:a}),[d,c]=ex({pos:i,x1:o,y1:r,x2:e,y2:t,c:a}),[h,f,y,p]=ep({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:l,sourceControlY:s,targetControlX:d,targetControlY:c});return[`M${e},${t} C${l},${s} ${d},${c} ${o},${r}`,h,f,y,p]}function ev({sourceX:e,sourceY:t,targetX:n,targetY:o}){let r=Math.abs(n-e)/2,i=Math.abs(o-t)/2;return[n<e?n+r:n-r,o<t?o+i:o-i,r,i]}function ew({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:i="basic"}){if("manual"===i)return o;let a=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return(r&&n?o+1e3:o)+a}function eb({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){let i=R(C(e),C(t));return i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1),F({x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]},D(i))>0}let eE=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,eM=(e,t,n={})=>{let o;if(!e.source||!e.target)return K("006",g.error006()),t;let r=n.getEdgeId||eE;return((e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)))(o=M(e)?{...e}:{...e,id:r(e)},t)?t:(null===o.sourceHandle&&delete o.sourceHandle,null===o.targetHandle&&delete o.targetHandle,t.concat(o))};function e$({sourceX:e,sourceY:t,targetX:n,targetY:o}){let[r,i,a,l]=ev({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,a,l]}let eA={[u.Left]:{x:-1,y:0},[u.Right]:{x:1,y:0},[u.Top]:{x:0,y:-1},[u.Bottom]:{x:0,y:1}},eP=({source:e,sourcePosition:t=u.Bottom,target:n})=>t===u.Left||t===u.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},eI=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function eS({sourceX:e,sourceY:t,sourcePosition:n=u.Bottom,targetX:o,targetY:r,targetPosition:i=u.Top,borderRadius:a=5,centerX:l,centerY:s,offset:d=20,stepPosition:c=.5}){let[h,f,y,p,g]=function({source:e,sourcePosition:t=u.Bottom,target:n,targetPosition:o=u.Top,center:r,offset:i,stepPosition:a}){let l,s,d=eA[t],c=eA[o],h={x:e.x+d.x*i,y:e.y+d.y*i},f={x:n.x+c.x*i,y:n.y+c.y*i},y=eP({source:h,sourcePosition:t,target:f}),p=0!==y.x?"x":"y",g=y[p],x=[],m={x:0,y:0},v={x:0,y:0},[,,w,b]=ev({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(d[p]*c[p]==-1){"x"===p?(l=r.x??h.x+(f.x-h.x)*a,s=r.y??(h.y+f.y)/2):(l=r.x??(h.x+f.x)/2,s=r.y??h.y+(f.y-h.y)*a);let e=[{x:l,y:h.y},{x:l,y:f.y}],t=[{x:h.x,y:s},{x:f.x,y:s}];x=d[p]===g?"x"===p?e:t:"x"===p?t:e}else{let r=[{x:h.x,y:f.y}],a=[{x:f.x,y:h.y}];if(x="x"===p?d.x===g?a:r:d.y===g?r:a,t===o){let t=Math.abs(e[p]-n[p]);if(t<=i){let o=Math.min(i-1,i-t);d[p]===g?m[p]=(h[p]>e[p]?-1:1)*o:v[p]=(f[p]>n[p]?-1:1)*o}}if(t!==o){let e="x"===p?"y":"x",t=d[p]===c[e],n=h[e]>f[e],o=h[e]<f[e];(1===d[p]&&(!t&&n||t&&o)||1!==d[p]&&(!t&&o||t&&n))&&(x="x"===p?r:a)}let u={x:h.x+m.x,y:h.y+m.y},y={x:f.x+v.x,y:f.y+v.y};Math.max(Math.abs(u.x-x[0].x),Math.abs(y.x-x[0].x))>=Math.max(Math.abs(u.y-x[0].y),Math.abs(y.y-x[0].y))?(l=(u.x+y.x)/2,s=x[0].y):(l=x[0].x,s=(u.y+y.y)/2)}let E={x:h.x+m.x,y:h.y+m.y},M={x:f.x+v.x,y:f.y+v.y};return[[e,...E.x!==x[0].x||E.y!==x[0].y?[E]:[],...x,...M.x!==x[x.length-1].x||M.y!==x[x.length-1].y?[M]:[],n],l,s,w,b]}({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:l,y:s},offset:d,stepPosition:c}),x=`M${h[0].x} ${h[0].y}`;for(let e=1;e<h.length-1;e++)x+=function(e,t,n,o){let r=Math.min(eI(e,t)/2,eI(t,n)/2,o),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){let t=e.x<n.x?-1:1,o=e.y<n.y?1:-1;return`L ${i+r*t},${a}Q ${i},${a} ${i},${a+r*o}`}let l=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${i},${a+r*u}Q ${i},${a} ${i+r*l},${a}`}(h[e-1],h[e],h[e+1],a);return[x+=`L${h[h.length-1].x} ${h[h.length-1].y}`,f,y,p,g]}function ez(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function eH(e){let{sourceNode:t,targetNode:n}=e;if(!ez(t)||!ez(n))return null;let r=t.internals.handleBounds||ek(t.handles),i=n.internals.handleBounds||ek(n.handles),a=eL(r?.source??[],e.sourceHandle),l=eL(e.connectionMode===o.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!l)return e.onError?.("008",g.error008(!a?"source":"target",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||u.Bottom,d=l?.position||u.Top,c=eT(t,a,s),h=eT(n,l,d);return{sourceX:c.x,sourceY:c.y,targetX:h.x,targetY:h.y,sourcePosition:s,targetPosition:d}}function ek(e){if(!e)return null;let t=[],n=[];for(let o of e)o.width=o.width??1,o.height=o.height??1,"source"===o.type?t.push(o):"target"===o.type&&n.push(o);return{source:t,target:n}}function eT(e,t,n=u.Left,o=!1){let r=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:a,height:l}=t??et(e);if(o)return{x:r+a/2,y:i+l/2};switch(t?.position??n){case u.Top:return{x:r+a/2,y:i};case u.Right:return{x:r+a,y:i+l/2};case u.Bottom:return{x:r+a/2,y:i+l};case u.Left:return{x:r,y:i+l/2}}}function eL(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function eB(e,t){if(!e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`}function eN(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){let i=new Set;return e.reduce((e,a)=>([a.markerStart||o,a.markerEnd||r].forEach(o=>{if(o&&"object"==typeof o){let r=eB(o,t);i.has(r)||(e.push({id:r,color:o.color||n,...o}),i.add(r))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}let eO={nodeOrigin:[0,0],nodeExtent:x,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},e_={...eO,checkEquality:!0};function eR(e,t){let n={...e};for(let e in t)void 0!==t[e]&&(n[e]=t[e]);return n}function ej(e,t,n){let o=eR(eO,n);for(let n of e.values())if(n.parentId)eC(n,e,t,o);else{let e=B(P(n,o.nodeOrigin),ee(n.extent)?n.extent:o.nodeExtent,et(n));n.internals.positionAbsolute=e}}function eD(e){return"manual"===e}function eV(e,t,n,o={}){let r=eR(e_,o),i={i:0},a=new Map(t),l=r?.elevateNodesOnSelect&&!eD(r.zIndexMode)?1e3:0,u=e.length>0,s=!1;for(let d of(t.clear(),n.clear(),e)){let e=a.get(d.id);if(r.checkEquality&&d===e?.internals.userNode)t.set(d.id,e);else{let n=B(P(d,r.nodeOrigin),ee(d.extent)?d.extent:r.nodeExtent,et(d));e={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:n,handleBounds:function(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],o=[];for(let t of e.handles){let r={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};"source"===t.type?n.push(r):"target"===t.type&&o.push(r)}return{source:n,target:o}}(d,e),z:eY(d,l,r.zIndexMode),userNode:d}},t.set(d.id,e)}void 0!==e.measured&&void 0!==e.measured.width&&void 0!==e.measured.height||e.hidden||(u=!1),d.parentId&&eC(e,t,n,o,i),s||=d.selected??!1}return{nodesInitialized:u,hasSelectedNodes:s}}function eC(e,t,n,o,r){let{elevateNodesOnSelect:i,nodeOrigin:a,nodeExtent:l,zIndexMode:u}=eR(eO,o),s=e.parentId,d=t.get(s);if(!d)return void console.warn(`Parent node ${s} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}(e,n),r&&!d.parentId&&void 0===d.internals.rootParentIndex&&"auto"===u&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+10*r.i),r&&void 0!==d.internals.rootParentIndex&&(r.i=d.internals.rootParentIndex);let{x:c,y:h,z:f}=function(e,t,n,o,r,i){let{x:a,y:l}=t.internals.positionAbsolute,u=et(e),s=P(e,n),d=ee(e.extent)?B(s,e.extent,u):s,c=B({x:a+d.x,y:l+d.y},o,u);"parent"===e.extent&&(c=N(c,u,t));let h=eY(e,r,i),f=t.internals.z??0;return{x:c.x,y:c.y,z:f>=h?f+1:h}}(e,d,a,l,i&&!eD(u)?1e3:0,u),{positionAbsolute:y}=e.internals,p=c!==y.x||h!==y.y;(p||f!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:p?{x:c,y:h}:y,z:f}})}function eY(e,t,n){let o=q(e.zIndex)?e.zIndex:0;return eD(n)?o:o+(e.selected?t:0)}function eF(e,t,n,o=[0,0]){let r=[],i=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let o=Y(i.get(n.parentId)?.expandedRect??V(e),n.rect);i.set(n.parentId,{expandedRect:o,parent:e})}return i.size>0&&i.forEach(({expandedRect:t,parent:i},a)=>{let l=i.internals.positionAbsolute,u=et(i),s=i.origin??o,d=t.x<l.x?Math.round(Math.abs(l.x-t.x)):0,c=t.y<l.y?Math.round(Math.abs(l.y-t.y)):0,h=Math.max(u.width,Math.round(t.width)),f=Math.max(u.height,Math.round(t.height)),y=(h-u.width)*s[0],p=(f-u.height)*s[1];(d>0||c>0||y||p)&&(r.push({id:a,type:"position",position:{x:i.position.x-d+y,y:i.position.y-c+p}}),n.get(a)?.forEach(t=>{e.some(e=>e.id===t.id)||r.push({id:t.id,type:"position",position:{x:t.position.x+d,y:t.position.y+c}})})),(u.width<t.width||u.height<t.height||d||c)&&r.push({id:a,type:"dimensions",setAttributes:!0,dimensions:{width:h+(d?s[0]*d-y:0),height:f+(c?s[1]*c-p:0)}})}),r}function eX(e,t,n,o,r,i,a){let l=o?.querySelector(".xyflow__viewport"),u=!1;if(!l)return{changes:[],updatedInternals:u};let s=[],d=window.getComputedStyle(l),{m22:c}=new window.DOMMatrixReadOnly(d.transform),h=[];for(let o of e.values()){let e=t.get(o.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),u=!0;continue}let l=eu(o.nodeElement),d=e.measured.width!==l.width||e.measured.height!==l.height;if(l.width&&l.height&&(d||!e.internals.handleBounds||o.force)){let f=o.nodeElement.getBoundingClientRect(),y=ee(e.extent)?e.extent:i,{positionAbsolute:p}=e.internals;e.parentId&&"parent"===e.extent?p=N(p,l,t.get(e.parentId)):y&&(p=B(p,y,l));let g={...e,measured:l,internals:{...e.internals,positionAbsolute:p,handleBounds:{source:ey("source",o.nodeElement,f,c,e.id),target:ey("target",o.nodeElement,f,c,e.id)}}};t.set(e.id,g),e.parentId&&eC(g,t,n,{nodeOrigin:r,zIndexMode:a}),u=!0,d&&(s.push({id:e.id,type:"dimensions",dimensions:l}),e.expandParent&&e.parentId&&h.push({id:e.id,parentId:e.parentId,rect:V(g,r)}))}}if(h.length>0){let e=eF(h,t,n,r);s.push(...e)}return{changes:s,updatedInternals:u}}async function eq({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o);return Promise.resolve(!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]))}function eK(e,t,n,o,r,i){let a=r,l=o.get(a)||new Map;o.set(a,l.set(n,t)),a=`${r}-${e}`;let u=o.get(a)||new Map;if(o.set(a,u.set(n,t)),i){a=`${r}-${e}-${i}`;let l=o.get(a)||new Map;o.set(a,l.set(n,t))}}function eW(e,t,n){for(let o of(e.clear(),t.clear(),n)){let{source:n,target:r,sourceHandle:i=null,targetHandle:a=null}=o,l={edgeId:o.id,source:n,target:r,sourceHandle:i,targetHandle:a},u=`${n}-${i}--${r}-${a}`;eK("source",l,`${r}-${a}--${n}-${i}`,e,n,i),eK("target",l,u,e,r,a),t.set(o.id,o)}}function eZ(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)break;o=o?.parentElement}while(o);return!1}function eQ({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){let r=[];for(let[e,i]of t){let t=n.get(e)?.internals.userNode;t&&r.push({...t,position:i.position,dragging:o})}if(!e)return[r[0],r];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:r[0],r]}function eG({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},a=0,l=new Map,u=!1,s={x:0,y:0},h=null,f=!1,y=null,p=!1,g=!1,x=null;return{update:function({noDragClassName:m,handleSelector:v,domNode:w,isSelectable:b,nodeId:E,nodeClickDistance:M=0}){function $({x:e,y:n}){let{nodeLookup:r,nodeExtent:a,snapGrid:u,snapToGrid:s,nodeOrigin:d,onNodeDrag:c,onSelectionDrag:h,onError:f,updateNodePositions:y}=t();i={x:e,y:n};let p=!1,m=l.size>1,v=m&&a?j(S(l)):null,w=m&&s?function({dragItems:e,snapGrid:t,x:n,y:o}){let r=e.values().next().value;if(!r)return null;let i={x:n-r.distance.x,y:o-r.distance.y},a=W(i,t);return{x:a.x-i.x,y:a.y-i.y}}({dragItems:l,snapGrid:u,x:e,y:n}):null;for(let[t,o]of l){if(!r.has(t))continue;let i={x:e-o.distance.x,y:n-o.distance.y};s&&(i=w?{x:Math.round(i.x+w.x),y:Math.round(i.y+w.y)}:W(i,u));let l=null;if(m&&a&&!o.extent&&v){let{positionAbsolute:e}=o.internals,t=e.x-v.x+a[0][0],n=e.x+o.measured.width-v.x2+a[1][0];l=[[t,e.y-v.y+a[0][1]],[n,e.y+o.measured.height-v.y2+a[1][1]]]}let{position:c,positionAbsolute:h}=k({nodeId:t,nextPosition:i,nodeLookup:r,nodeExtent:l||a,nodeOrigin:d,onError:f});p=p||o.position.x!==c.x||o.position.y!==c.y,o.position=c,o.internals.positionAbsolute=h}if(g=g||p,p&&(y(l,!0),x&&(o||c||!E&&h))){let[e,t]=eQ({nodeId:E,dragItems:l,nodeLookup:r});o?.(x,l,e,t),c?.(x,e,t),E||h?.(x,t)}}async function A(){if(!h)return;let{transform:e,panBy:n,autoPanSpeed:o,autoPanOnNodeDrag:r}=t();if(!r){u=!1,cancelAnimationFrame(a);return}let[l,d]=_(s,h,o);(0!==l||0!==d)&&(i.x=(i.x??0)-l/e[2],i.y=(i.y??0)-d/e[2],await n({x:l,y:d})&&$(i)),a=requestAnimationFrame(A)}function P(o){let{nodeLookup:r,multiSelectionActive:a,nodesDraggable:u,transform:s,snapGrid:d,snapToGrid:c,selectNodesOnDrag:y,onNodeDragStart:p,onSelectionDragStart:g,unselectNodesAndEdges:x}=t();f=!0,y&&b||a||!E||r.get(E)?.selected||x(),b&&y&&E&&e?.(E);let m=el(o.sourceEvent,{transform:s,snapGrid:d,snapToGrid:c,containerBounds:h});if(i=m,(l=function(e,t,n,o){let r=new Map;for(let[i,a]of e)if((a.selected||a.id===o)&&(!a.parentId||!function e(t,n){if(!t.parentId)return!1;let o=n.get(t.parentId);return!!o&&(!!o.selected||e(o,n))}(a,e))&&(a.draggable||t&&void 0===a.draggable)){let t=e.get(i);t&&r.set(i,{id:i,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return r}(r,u,m,E)).size>0&&(n||p||!E&&g)){let[e,t]=eQ({nodeId:E,dragItems:l,nodeLookup:r});n?.(o.sourceEvent,l,e,t),p?.(o.sourceEvent,e,t),E||g?.(o.sourceEvent,t)}}y=(0,c.A)(w);let I=(0,d.A)().clickDistance(M).on("start",e=>{let{domNode:n,nodeDragThreshold:o,transform:r,snapGrid:a,snapToGrid:l}=t();h=n?.getBoundingClientRect()||null,p=!1,g=!1,x=e.sourceEvent,0===o&&P(e),i=el(e.sourceEvent,{transform:r,snapGrid:a,snapToGrid:l,containerBounds:h}),s=ef(e.sourceEvent,h)}).on("drag",e=>{let{autoPanOnNodeDrag:n,transform:o,snapGrid:r,snapToGrid:a,nodeDragThreshold:d,nodeLookup:c}=t(),y=el(e.sourceEvent,{transform:o,snapGrid:r,snapToGrid:a,containerBounds:h});if(x=e.sourceEvent,("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1||E&&!c.has(E))&&(p=!0),!p){if(!u&&n&&f&&(u=!0,A()),!f){let t=ef(e.sourceEvent,h),n=t.x-s.x,o=t.y-s.y;Math.sqrt(n*n+o*o)>d&&P(e)}(i.x!==y.xSnapped||i.y!==y.ySnapped)&&l&&f&&(s=ef(e.sourceEvent,h),$(y))}}).on("end",e=>{if(f&&!p&&(u=!1,f=!1,cancelAnimationFrame(a),l.size>0)){let{nodeLookup:n,updateNodePositions:o,onNodeDragStop:i,onSelectionDragStop:a}=t();if(g&&(o(l,!1),g=!1),r||i||!E&&a){let[t,o]=eQ({nodeId:E,dragItems:l,nodeLookup:n,dragging:!1});r?.(e.sourceEvent,l,t,o),i?.(e.sourceEvent,t,o),E||a?.(e.sourceEvent,o)}}}).filter(e=>{let t=e.target;return!e.button&&(!m||!eZ(t,`.${m}`,w))&&(!v||eZ(t,v,w))});y.call(I)},destroy:function(){y?.on(".drag",null)}}}function eU(e,t,n,o,r,i=!1){let a=o.get(e);if(!a)return null;let l="strict"===r?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],u=(n?l?.find(e=>e.id===n):l?.[0])??null;return u&&i?{...u,...eT(a,u,u.position,!0)}:u}function eJ(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}let e0=()=>!0;function e1(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:u,flowId:s,isValidConnection:d=e0,nodeLookup:c}){let h="target"===a,f=t?l.querySelector(`.${u}-flow__handle[data-id="${s}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:y,y:p}=ef(e),g=l.elementFromPoint(y,p),x=g?.classList.contains(`${u}-flow__handle`)?g:f,m={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){let e=eJ(void 0,x),t=x.getAttribute("data-nodeid"),a=x.getAttribute("data-handleid"),l=x.classList.contains("connectable"),u=x.classList.contains("connectableend");if(!t||!e)return m;let s={source:h?t:r,sourceHandle:h?a:i,target:h?r:t,targetHandle:h?i:a};m.connection=s,m.isValid=l&&u&&(n===o.Strict?h&&"source"===e||!h&&"target"===e:t!==r||a!==i)&&d(s),m.toHandle=eU(t,e,a,c,n,!0)}return m}let e2={onPointerDown:function(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:r,edgeUpdaterType:i,isTarget:a,domNode:l,nodeLookup:s,lib:d,autoPanOnConnect:c,flowId:h,panBy:f,cancelConnection:y,onConnectStart:p,onConnect:g,onConnectEnd:x,isValidConnection:m=e0,onReconnectEnd:v,updateConnection:w,getTransform:E,getFromHandle:M,autoPanSpeed:$,dragThreshold:A=1,handleDomNode:P}){let I,S=es(e.target),z=0,{x:H,y:k}=ef(e),T=eJ(i,P),L=l?.getBoundingClientRect(),B=!1;if(!L||!T)return;let N=eU(r,T,o,s,t);if(!N)return;let O=ef(e,L),R=!1,j=null,D=!1,C=null,Y={...N,nodeId:r,type:T,position:N.position},X=s.get(r),q={inProgress:!0,isValid:null,from:eT(X,Y,u.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:X,to:O,toHandle:null,toPosition:b[Y.position],toNode:null,pointer:O};function K(){B=!0,w(q),p?.(e,{nodeId:r,handleId:o,handleType:T})}function W(e){var i,l;let y;if(!B){let{x:t,y:n}=ef(e),o=t-H,r=n-k;if(!(o*o+r*r>A*A))return;K()}if(!M()||!Y)return void G(e);let p=E();I=function(e,t,n,o){let r=[],i=1/0;for(let a of function(e,t,n){let o=[],r={x:e.x-n,y:e.y-n,width:2*n,height:2*n};for(let e of t.values())F(r,V(e))>0&&o.push(e);return o}(e,n,t+250))for(let n of[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]]){if(o.nodeId===n.nodeId&&o.type===n.type&&o.id===n.id)continue;let{x:l,y:u}=eT(a,n,n.position,!0),s=Math.sqrt(Math.pow(l-e.x,2)+Math.pow(u-e.y,2));s>t||(s<i?(r=[{...n,x:l,y:u}],i=s):s===i&&r.push({...n,x:l,y:u}))}if(!r.length)return null;if(r.length>1){let e="source"===o.type?"target":"source";return r.find(t=>t.type===e)??r[0]}return r[0]}(Z(O=ef(e,L),p,!1,[1,1]),n,s,Y),R||(!function e(){if(!c||!L)return;let[t,n]=_(O,L,$);f({x:t,y:n}),z=requestAnimationFrame(e)}(),R=!0);let g=e1(e,{handle:I,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:a?"target":"source",isValidConnection:m,doc:S,lib:d,flowId:h,nodeLookup:s});C=g.handleDomNode,j=g.connection,i=!!I,l=g.isValid,y=null,l?y=!0:i&&!l&&(y=!1),D=y;let x=s.get(r),v=x?eT(x,Y,u.Left,!0):q.from,P={...q,from:v,isValid:D,to:g.toHandle&&D?Q({x:g.toHandle.x,y:g.toHandle.y},p):O,toHandle:g.toHandle,toPosition:D&&g.toHandle?g.toHandle.position:b[Y.position],toNode:g.toHandle?s.get(g.toHandle.nodeId):null,pointer:O};w(P),q=P}function G(e){if(!("touches"in e)||!(e.touches.length>0)){if(B){(I||C)&&j&&D&&g?.(j);let{inProgress:t,...n}=q,o={...n,toPosition:q.toHandle?q.toPosition:null};x?.(e,o),i&&v?.(e,o)}y(),cancelAnimationFrame(z),R=!1,D=!1,j=null,C=null,S.removeEventListener("mousemove",W),S.removeEventListener("mouseup",G),S.removeEventListener("touchmove",W),S.removeEventListener("touchend",G)}}0===A&&K(),S.addEventListener("mousemove",W),S.addEventListener("mouseup",G),S.addEventListener("touchmove",W),S.addEventListener("touchend",G)},isValid:e1};function e5({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){let r=(0,c.A)(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:l=1,pannable:u=!0,zoomable:s=!0,inversePan:d=!1}){let c=[0,0],h=(0,f.s_)().on("start",e=>{("mousedown"===e.sourceEvent.type||"touchstart"===e.sourceEvent.type)&&(c=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",u?r=>{let l=n();if("mousemove"!==r.sourceEvent.type&&"touchmove"!==r.sourceEvent.type||!t)return;let u=[r.sourceEvent.clientX??r.sourceEvent.touches[0].clientX,r.sourceEvent.clientY??r.sourceEvent.touches[0].clientY],s=[u[0]-c[0],u[1]-c[1]];c=u;let h=o()*Math.max(l[2],Math.log(l[2]))*(d?-1:1),f={x:l[0]-s[0]*h,y:l[1]-s[1]*h};t.setViewportConstrained({x:f.x,y:f.y,zoom:l[2]},[[0,0],[i,a]],e)}:null).on("zoom.wheel",s?e=>{if("wheel"!==e.sourceEvent.type||!t)return;let o=n(),r=e.sourceEvent.ctrlKey&&J()?10:1,i=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*l,a=o[2]*Math.pow(2,i*r);t.scaleTo(a)}:null);r.call(h,{})},destroy:function(){r.on("zoom",null)},pointer:h.A}}let e9=e=>({x:e.x,y:e.y,zoom:e.k}),e3=({x:e,y:t,zoom:n})=>f.GS.translate(e,t).scale(n),e7=(e,t)=>e.target.closest(`.${t}`),e6=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),e8=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,e4=(e,t=0,n=e8,o=()=>{})=>{let r="number"==typeof t&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},te=e=>{let t=e.ctrlKey&&J()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t};function tt({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:i,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:u,onDraggingChange:s}){let d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},g=e.getBoundingClientRect(),x=(0,f.s_)().scaleExtent([t,n]).translateExtent(o),m=(0,c.A)(e).call(x);M({x:i.x,y:i.y,zoom:L(i.zoom,t,n)},[[0,0],[g.width,g.height]],o);let v=m.on("wheel.zoom"),w=m.on("dblclick.zoom");function b(e,t){return m?new Promise(n=>{x?.interpolate(t?.interpolate==="linear"?y.A:p.A).transform(e4(m,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function E(){x.on("zoom",null)}async function M(e,t,n){let o=e3(e),r=x?.constrain()(o,t,n);return r&&await b(r),new Promise(e=>e(r))}return x.wheelDelta(te),{update:function({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:o,panOnScroll:i,panOnDrag:c,panOnScrollMode:f,panOnScrollSpeed:y,preventScrolling:p,zoomOnPinch:g,zoomOnScroll:b,zoomOnDoubleClick:M,zoomActivationKeyPressed:$,lib:A,onTransformChange:P,connectionInProgress:I,paneClickDistance:S,selectionOnDrag:z}){o&&!d.isZoomingOrPanning&&E();let H=i&&!$&&!o;x.clickDistance(z?1/0:!q(S)||S<0?0:S);let k=H?function({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:d}){return c=>{if(e7(c,t))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();let f=n.property("__zoom").k||1;if(c.ctrlKey&&l){let e=(0,h.A)(c),t=f*Math.pow(2,te(c));o.scaleTo(n,t,e,c);return}let y=1===c.deltaMode?20:1,p=i===r.Vertical?0:c.deltaX*y,g=i===r.Horizontal?0:c.deltaY*y;!J()&&c.shiftKey&&i!==r.Vertical&&(p=c.deltaY*y,g=0),o.translateBy(n,-(p/f)*a,-(g/f)*a,{internal:!0});let x=e9(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(s?.(c,x),e.panScrollTimeout=setTimeout(()=>{d?.(c,x),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u?.(c,x))}}({zoomPanValues:d,noWheelClassName:e,d3Selection:m,d3Zoom:x,panOnScrollMode:f,panOnScrollSpeed:y,zoomOnPinch:g,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:u}):function({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){let i="wheel"===o.type,a=!t&&i&&!o.ctrlKey,l=e7(o,e);if(o.ctrlKey&&i&&l&&o.preventDefault(),a||l)return null;o.preventDefault(),n.call(this,o,r)}}({noWheelClassName:e,preventScrolling:p,d3ZoomHandler:v});if(m.on("wheel.zoom",k,{passive:!1}),!o){let e=function({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;let r=e9(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,r)}}({zoomPanValues:d,onDraggingChange:s,onPanZoomStart:l});x.on("start",e);let t=function({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&e6(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,e9(i.transform))}}({zoomPanValues:d,panOnDrag:c,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:P});x.on("zoom",t);let o=function({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&e6(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){let t=e9(a.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(a.sourceEvent,t)},150*!!n)}}}({zoomPanValues:d,panOnDrag:c,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:u,onDraggingChange:s});x.on("end",o)}let T=function({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:l,noPanClassName:u,lib:s,connectionInProgress:d}){return c=>{let h=e||t,f=n&&c.ctrlKey,y="wheel"===c.type;if(1===c.button&&"mousedown"===c.type&&(e7(c,`${s}-flow__node`)||e7(c,`${s}-flow__edge`)))return!0;if(!o&&!h&&!r&&!i&&!n||a||d&&!y||e7(c,l)&&y||e7(c,u)&&(!y||r&&y&&!e)||!n&&c.ctrlKey&&y)return!1;if(!n&&"touchstart"===c.type&&c.touches?.length>1)return c.preventDefault(),!1;if(!h&&!r&&!f&&y||!o&&("mousedown"===c.type||"touchstart"===c.type)||Array.isArray(o)&&!o.includes(c.button)&&"mousedown"===c.type)return!1;let p=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||y)&&p}}({zoomActivationKeyPressed:$,panOnDrag:c,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:M,zoomOnPinch:g,userSelectionActive:o,noPanClassName:t,noWheelClassName:e,lib:A,connectionInProgress:I});x.filter(T),M?m.on("dblclick.zoom",w):m.on("dblclick.zoom",null)},destroy:E,setViewport:async function e(e,t){let n=e3(e);return await b(n,t),new Promise(e=>e(n))},setViewportConstrained:M,getViewport:function(){let e=m?(0,f._V)(m.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}},scaleTo:function(e,t){return m?new Promise(n=>{x?.interpolate(t?.interpolate==="linear"?y.A:p.A).scaleTo(e4(m,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},scaleBy:function(e,t){return m?new Promise(n=>{x?.interpolate(t?.interpolate==="linear"?y.A:p.A).scaleBy(e4(m,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},setScaleExtent:function(e){x?.scaleExtent(e)},setTranslateExtent:function(e){x?.translateExtent(e)},syncViewport:function(e){if(m){let t=e3(e),n=m.property("__zoom");(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&x?.transform(m,t,null,{sync:!0})}},setClickDistance:function(e){let t=!q(e)||e<0?0:e;x?.clickDistance(t)}}}!function(e){e.Line="line",e.Handle="handle"}(s||(s={}))},59630:(e,t,n)=>{"use strict";e.exports=n(75493)},75493:(e,t,n)=>{"use strict";var o=n(75699),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=o.useState,a=o.useEffect,l=o.useLayoutEffect,u=o.useDebugValue;function s(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}var d="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),o=i({inst:{value:n,getSnapshot:t}}),r=o[0].inst,d=o[1];return l(function(){r.value=n,r.getSnapshot=t,s(r)&&d({inst:r})},[e,n,t]),a(function(){return s(r)&&d({inst:r}),e(function(){s(r)&&d({inst:r})})},[e]),u(n),n};t.useSyncExternalStore=void 0!==o.useSyncExternalStore?o.useSyncExternalStore:d},89831:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});var o=n(96560),r=n(75390),i=n(43579),a=n(19115),l=n(90363);let u=e=>()=>e;function s(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:a,y:l,dx:u,dy:s,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:s,enumerable:!0,configurable:!0},_:{value:d}})}function d(e){return!e.ctrlKey&&!e.button}function c(){return this.parentNode}function h(e,t){return null==t?{x:e.x,y:e.y}:t}function f(){return navigator.maxTouchPoints||"ontouchstart"in this}function y(){var e,t,n,y,p=d,g=c,x=h,m=f,v={},w=(0,o.A)("start","drag","end"),b=0,E=0;function M(e){e.on("mousedown.drag",$).filter(m).on("touchstart.drag",I).on("touchmove.drag",S,l.vr).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function $(o,i){if(!y&&p.call(this,o,i)){var u=H(this,g.call(this,o,i),o,i,"mouse");u&&((0,r.A)(o.view).on("mousemove.drag",A,l.Rw).on("mouseup.drag",P,l.Rw),(0,a.A)(o.view),(0,l.GK)(o),n=!1,e=o.clientX,t=o.clientY,u("start",o))}}function A(o){if((0,l.Ay)(o),!n){var r=o.clientX-e,i=o.clientY-t;n=r*r+i*i>E}v.mouse("drag",o)}function P(e){(0,r.A)(e.view).on("mousemove.drag mouseup.drag",null),(0,a.y)(e.view,n),(0,l.Ay)(e),v.mouse("end",e)}function I(e,t){if(p.call(this,e,t)){var n,o,r=e.changedTouches,i=g.call(this,e,t),a=r.length;for(n=0;n<a;++n)(o=H(this,i,e,t,r[n].identifier,r[n]))&&((0,l.GK)(e),o("start",e,r[n]))}}function S(e){var t,n,o=e.changedTouches,r=o.length;for(t=0;t<r;++t)(n=v[o[t].identifier])&&((0,l.Ay)(e),n("drag",e,o[t]))}function z(e){var t,n,o=e.changedTouches,r=o.length;for(y&&clearTimeout(y),y=setTimeout(function(){y=null},500),t=0;t<r;++t)(n=v[o[t].identifier])&&((0,l.GK)(e),n("end",e,o[t]))}function H(e,t,n,o,r,a){var l,u,d,c=w.copy(),h=(0,i.A)(a||n,t);if(null!=(d=x.call(e,new s("beforestart",{sourceEvent:n,target:M,identifier:r,active:b,x:h[0],y:h[1],dx:0,dy:0,dispatch:c}),o)))return l=d.x-h[0]||0,u=d.y-h[1]||0,function n(a,f,y){var p,g=h;switch(a){case"start":v[r]=n,p=b++;break;case"end":delete v[r],--b;case"drag":h=(0,i.A)(y||f,t),p=b}c.call(a,e,new s(a,{sourceEvent:f,subject:d,target:M,identifier:r,active:p,x:h[0]+l,y:h[1]+u,dx:h[0]-g[0],dy:h[1]-g[1],dispatch:c}),o)}}return M.filter=function(e){return arguments.length?(p="function"==typeof e?e:u(!!e),M):p},M.container=function(e){return arguments.length?(g="function"==typeof e?e:u(e),M):g},M.subject=function(e){return arguments.length?(x="function"==typeof e?e:u(e),M):x},M.touchable=function(e){return arguments.length?(m="function"==typeof e?e:u(!!e),M):m},M.on=function(){var e=w.on.apply(w,arguments);return e===w?M:e},M.clickDistance=function(e){return arguments.length?(E=(e*=1)*e,M):Math.sqrt(E)},M}s.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e}},91187:(e,t,n)=>{"use strict";function o(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}n.d(t,{x:()=>o})},97278:(e,t,n)=>{"use strict";var o=n(75699),r=n(59630),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=r.useSyncExternalStore,l=o.useRef,u=o.useEffect,s=o.useMemo,d=o.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,o,r){var c=l(null);if(null===c.current){var h={hasValue:!1,value:null};c.current=h}else h=c.current;var f=a(e,(c=s(function(){function e(e){if(!u){if(u=!0,a=e,e=o(e),void 0!==r&&h.hasValue){var t=h.value;if(r(t,e))return l=t}return l=e}if(t=l,i(a,e))return t;var n=o(e);return void 0!==r&&r(t,n)?(a=e,t):(a=e,l=n)}var a,l,u=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,o,r]))[0],c[1]);return u(function(){h.hasValue=!0,h.value=f},[f]),d(f),f}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7219],{8689:(e,t,l)=>{l.d(t,{QK:()=>s,i6:()=>r,Pz:()=>o,Em:()=>i,Yy:()=>d});var n=l(31610);let a={alive:"살아 있음",late:"늦음",failed:"실패",off:"꺼짐"},r="/v1/schedules?includeOff=1",s="/v1/dashboard/loops";async function i(e,t){var l,i,o,c,u,m,f,p;let[h,b]=await Promise.allSettled([e(r),e(s)]),x="fulfilled"===h.status?null==(l=h.value)?void 0:l.schedules:null,g="fulfilled"===b.status?null==(o=b.value)||null==(i=o.loops)?void 0:i.loops:null;if(!Array.isArray(x)&&!Array.isArray(g))throw Error("loop registries unavailable");if(!Array.isArray(x))throw Error("스케줄 레지스트리 조회 실패");if(!Array.isArray(g))throw Error("루프 레지스트리 조회 실패");let v=d(x,t).map(e=>({...e,id:"schedule:".concat(e.id)}));for(let e of g){let l=e.last?Date.parse(e.last.at):NaN,r=(0,n.u)({enabled:!1!==e.armed,lastRunAt:null!=(m=null==(c=e.last)?void 0:c.at)?m:null,lastStatus:null!=(f=null==(u=e.last)?void 0:u.status.toLowerCase())?f:null,intervalMs:null},t);v.push({id:"loop:".concat(e.name),name:e.label,layer:null!=(p=e.category)?p:"루프",owner:"미지정",mode:null===e.armed?"관측":e.armed?"armed":"off",lastRun:Number.isFinite(l)?e.last.at:null,verdict:"alive"===r?"판정 불가":a[r]})}return v}function o(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now,n=0,a=!0;return{async refresh(){let r=++n;try{let s=await i(e,l());a&&r===n&&t({rows:s,state:"ready"})}catch(e){a&&r===n&&t({rows:[],state:"error"})}},dispose(){a=!1}}}function d(e,t){return e.map(e=>{var l,r,s,i,o,d,c;let u=e.lastRun?Date.parse(e.lastRun.at):NaN,m=(0,n.u)({enabled:"off"!==e.state,lastRunAt:null!=(d=null==(l=e.lastRun)?void 0:l.at)?d:null,lastStatus:(null==(r=e.lastRun)?void 0:r.exit)!=null&&0!==e.lastRun.exit?"failed":(null==(s=e.lastRun)?void 0:s.status)==null||["ok","success","completed"].includes(e.lastRun.status.toLowerCase())?null!=(c=null==(o=e.lastRun)||null==(i=o.status)?void 0:i.toLowerCase())?c:null:"failed",intervalMs:e.cron?null:e.intervalMs,...e.cron?{scheduleState:e.state}:{}},t),f=!e.cron&&!(e.intervalMs&&e.intervalMs>0),p="alive"===m&&(!Number.isFinite(u)||f)?"판정 불가":a[m];return{id:e.id,name:e.name,layer:e.domain||e.category||e.source,owner:"미지정",mode:e.runVia||e.source,lastRun:Number.isFinite(u)?e.lastRun.at:null,verdict:p}})}},16822:(e,t,l)=>{l.d(t,{FW:()=>r,ZR:()=>a,kU:()=>s});var n=l(71469);let a={refParam:"ref"};function r(e){return"루프 ".concat(e)}function s(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.refParam;if(0===l.length)return null;let r=null!=(t=null==e?void 0:e.get(l))?t:null;if(null===r)return null;let s=r.trim();return(0,n.Ew)(s)?s:null}},27697:(e,t,l)=>{l.d(t,{t:()=>u});let n=/\brun-([0-9a-f]{8})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,a=/(?:\/(?:Users|home|private)\/[\w.%@+~/-]+|\b[A-Za-z]:\\(?:[^\\\s,;<>"']+\\)*[^\\\s,;<>"']+)/g,r=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,s=RegExp("(?<![A-Za-z0-9_-])(?:[A-Za-z0-9_]{40,}|(?:sk|ghp|gho|ghs|github_pat|xox[abpr])[-_][A-Za-z0-9_-]{20,})(?![A-Za-z0-9_-])","g"),i=/\b(?:OP|MK|TC|UX)\b/g,o=/\bmsb(\d+)\b/gi,d=/(?:\u{1F451}|🪑|🅞|🅜|🅣|🅤|🅢|🅕)\uFE0F?/gu,c={OP:"COO",MK:"CMO",TC:"CTO",UX:"CXO"};function u(e){let t,l=e;do t=l,l=l.replace(n,(e,t)=>"run-".concat(t.slice(0,6))).replace(a,"").replace(r,"").replace(d,"").replace(s,"").replace(i,e=>c[e]).replace(o,(e,t)=>"remote-".concat(t));while(l!==t&&function(e){return[n,a,r,s,i,d,o].flatMap(t=>[...e.matchAll(t)].map(e=>e[0]))}(l).length>0);return l}},31610:(e,t,l)=>{l.d(t,{u:()=>n});function n(e,t){if(!e.enabled||"off"===e.scheduleState)return"off";if("failed"===e.lastStatus||"error"===e.lastStatus||"failure"===e.lastStatus||"abandoned"===e.lastStatus||"expired"===e.lastStatus)return"failed";if("stale"===e.scheduleState)return"late";let l=null===e.lastRunAt?NaN:Date.parse(e.lastRunAt);if(void 0!==e.secondDueAt){let n=null===e.secondDueAt?NaN:Date.parse(e.secondDueAt);return Number.isFinite(l)&&Number.isFinite(t)&&Number.isFinite(n)&&n>l&&t>n?"late":"alive"}return Number.isFinite(t)&&Number.isFinite(l)&&null!==e.intervalMs&&Number.isFinite(e.intervalMs)&&e.intervalMs>0&&t-l>2*e.intervalMs?"late":"alive"}},50145:(e,t,l)=>{l.d(t,{g:()=>i,q:()=>s});var n=l(27697);let a=[{id:"OP",seat:"COO"},{id:"MK",seat:"CMO"},{id:"TC",seat:"CTO"},{id:"UX",seat:"CXO"}];function r(e){return(0,n.t)(e.replace(/\s+/g," ")).trim()}function s(e){var t;let l=e.split("\n"),n=(e,t)=>{let l=e.trim();return t&&(l=(l=l.replace(/^\*\*\[[^\]]+\]\*\*\s*/,"")).replace(/^(?:📌\S*\s*)?\d{4}-\d{2}-\d{2}\s+\d{1,2}:\d{2}\s*KST\s*/,"")),r(l=(l=(l=(l=(l=(l=l.replace(/^→\s*(?:[A-Z]{1,4}|전원|전체)(?=\s|·|$)(?:\s*·\s*(?:[A-Z]{1,4}|전원|전체)(?=\s|·|$))*\s*(?:·)?\s*/u,"")).replace(/^—\s*/,"")).replace(/^[-*]\s+/,"").replace(/\*\*|`|__/g,"").replace(/^#+\s*/,"").trim()).replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,"")).replace(RegExp("^(?:\\p{Extended_Pictographic}\\uFE0F?)+\\s*","u"),"")).replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,""))},a=n(null!=(t=l[0])?t:"",!0);if(a)return a;let s=l.slice(1).find(e=>e.trim());return s?n(s,!1):""}function i(e,t){var l;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now();return{seats:a.map(t=>{var l;let{id:n,seat:a}=t,r=null==e?void 0:e.seats.find(e=>e.seat===n);return{seat:a,now:(null==r?void 0:r.now)&&Array.from(s(r.now.text)).slice(0,40).join("")||"못 읽음",landedToday:(null==r?void 0:r.landed)==null?"못 읽음":r.landed.length,blocked:(null==r?void 0:r.blocked)==null?"못 읽음":r.blocked.length,decisionsWaiting:null!=(l=null==r?void 0:r.pendingDecisions)?l:"못 읽음"}}),runs:(null!=(l=null==t?void 0:t.entries)?l:[]).filter(e=>"running"===e.status).sort((e,t)=>{var l,n;return(Date.parse(null!=(l=t.lastActivityTimestamp)?l:"")||0)-(Date.parse(null!=(n=e.lastActivityTimestamp)?n:"")||0)}).slice(0,6).map(e=>{var t;let l=Date.parse(null!=(t=e.lastActivityTimestamp)?t:"");return{id6:function(e){let t=e.replace(/^run-/i,"");return/^[a-z0-9]{6}/i.test(t)&&r(t.slice(0,6))||"못 읽음"}(e.runId),stage:r(e.lastPhase||e.status)||"못 읽음",elapsedSec:Number.isFinite(l)?Math.max(0,Math.floor((n-l)/1e3)):"못 읽음"}})}}},67219:(e,t,l)=>{l.d(t,{p1:()=>D});var n=l(94451),a=l(75699),r=l(49172),s=l(93743),i=l(65873),o=l(18639),d=l(50145),c=l(8689),u=l(49923),m=l(58993);l(57117);var f=l(71469),p=l(27697),h=l(12889);let b=/^[a-zA-Z0-9_-]{1,128}$/;function x(e){let{flows:t}=e,l=[],a=0;for(let e of t)for(let t of e.runs)l.push({seat:e.seat,run:t,y:27+34*a++});let r=20+34*l.length;return(0,n.jsx)("svg",{viewBox:"0 0 ".concat(320," ").concat(r),className:"h-auto w-full max-w-md","aria-hidden":"true",focusable:"false",children:t.map(e=>{var t;let a=l.filter(t=>t.seat===e.seat),r=(a[0].y+a[a.length-1].y)/2,s=null!=(t=f.DG[e.seat])?t:(0,p.t)(e.seat);return(0,n.jsxs)("g",{children:[(0,n.jsx)("line",{x1:60,y1:r,x2:68,y2:r,stroke:"#7492a8",strokeWidth:2}),a.length>1&&(0,n.jsx)("line",{x1:68,y1:a[0].y,x2:68,y2:a[a.length-1].y,stroke:"#7492a8",strokeWidth:2}),a.map(e=>(0,n.jsxs)("g",{children:[(0,n.jsx)("line",{x1:68,y1:e.y,x2:256,y2:e.y,stroke:"#7492a8",strokeWidth:2}),(0,n.jsx)("polygon",{points:"".concat(264,",").concat(e.y," ").concat(256,",").concat(e.y-4," ").concat(256,",").concat(e.y+4),fill:"#7492a8"}),(0,n.jsx)("circle",{cx:272,cy:e.y,r:8,fill:"#173556",stroke:"#38bdf8",strokeWidth:2}),(0,n.jsx)("text",{x:162,y:e.y-5,textAnchor:"middle",fontSize:10,fill:"#cbd5e1",children:e.run.runId.length>16?"".concat(e.run.runId.slice(0,15),"…"):e.run.runId})]},"".concat(e.run.runId,"-").concat(e.run.at))),(0,n.jsx)("circle",{cx:44,cy:r,r:16,fill:"#173556",stroke:"#38bdf8",strokeWidth:2}),(0,n.jsx)("text",{x:44,y:r+3.5,textAnchor:"middle",fontSize:9,fontWeight:"bold",fill:"#e0f2fe",children:s})]},e.seat)})})}function g(e){let{edges:t,seatIds:l}=e,a=function(e,t){let l=[...new Set(null!=t?t:e.filter(e=>"run"===e.kind&&e.to.startsWith("loop:")&&b.test(e.from)).map(e=>e.from))];void 0===t&&l.sort();let n=new Set(l),a=new Map,r=new Set;for(let t of e){var s;if("run"!==t.kind||!n.has(t.from)||!t.to.startsWith("loop:"))continue;let e=t.to.slice(5);if(!b.test(e))continue;let l="".concat(t.at,"|").concat(t.from,"|").concat(t.to);if(r.has(l))continue;r.add(l);let i=null!=(s=a.get(t.from))?s:[];i.push({runId:e,at:t.at}),a.set(t.from,i)}return l.filter(e=>a.has(e)).map(e=>{var t;return{seat:e,runs:(null!=(t=a.get(e))?t:[]).sort((e,t)=>e.at.localeCompare(t.at))}})}(t,l);return(0,n.jsxs)("section",{"aria-label":"자원 발사 흐름",className:"rounded-xl border border-slate-600 p-3",children:[(0,n.jsx)("h3",{className:"font-semibold",children:"자원 흐름 \xb7 자리 → 런"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-slate-400",children:"현재 스냅숏의 실제 발사 관계(런 원장)로 자리 → 런 간선을 그립니다."}),0===a.length?(0,n.jsx)("p",{role:"status",className:"mt-2 text-sm text-slate-300",children:"실제 발사 관계가 아직 없습니다"}):(0,n.jsxs)("div",{className:"mt-2 grid gap-3 lg:grid-cols-[auto_1fr] lg:items-start",children:[(0,n.jsx)(x,{flows:a}),(0,n.jsx)("ol",{"aria-label":"자원 발사 간선",className:"space-y-2",children:a.map(e=>e.runs.map(t=>{var l;return(0,n.jsx)("li",{children:(0,n.jsxs)("a",{href:"/trace?level=L2&run=".concat(encodeURIComponent(t.runId)),className:"block w-full min-w-0 break-words rounded-lg border border-slate-600 px-3 py-2 text-left text-sm text-slate-300 focus-visible:outline-2 focus-visible:outline-sky-400",children:[null!=(l=f.DG[e.seat])?l:(0,p.t)(e.seat)," → 런 \xb7 ",(0,p.t)(t.runId)," \xb7 ",(0,n.jsx)("time",{dateTime:t.at,children:new Date(t.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]})},"".concat(e.seat,"-").concat(t.runId,"-").concat(t.at))}))})]})]})}let v={"살아 있음":"bg-emerald-500/15 text-emerald-300 ring-emerald-500/30",늦음:"bg-red-500/15 text-red-300 ring-red-500/30",실패:"bg-red-500/15 text-red-300 ring-red-500/30",꺼짐:"bg-slate-700 text-slate-300 ring-slate-500","판정 불가":"bg-slate-700 text-slate-300 ring-slate-500"},y=f.Pv;function w(e){let{detail:t}=e;return(0,n.jsxs)("div",{"data-near-detail":"",className:"w-[180px] space-y-1 rounded-lg border border-slate-600 bg-[#10243b]/95 p-2 text-left text-[10px] font-normal text-slate-200",children:[null!==t.now&&(0,n.jsxs)("p",{className:"break-words",children:[(0,n.jsx)("span",{className:"text-slate-400",children:"지금 "}),t.now]}),(null!==t.running||null!==t.waiting)&&(0,n.jsxs)("p",{className:"flex gap-2",children:[null!==t.running&&(0,n.jsxs)("span",{children:["도는 런 ",t.running]}),null!==t.waiting&&(0,n.jsxs)("span",{children:["대기 ",t.waiting]})]}),t.recent.length>0?(0,n.jsx)("ol",{"aria-label":"최근 행동",className:"space-y-0.5",children:t.recent.map((e,t)=>(0,n.jsx)("li",{className:"break-words",children:e},t))}):(0,n.jsx)("p",{className:"text-slate-400",children:"최근 행동 없음"})]})}let k={activity:function(e){let{data:t}=e,l="seat"===t.type||"hub"===t.type;return(0,n.jsxs)("div",{className:"relative flex flex-col items-center gap-1 text-center text-white",children:[(0,n.jsx)(u.h7,{type:"target",position:m.yX.Left,className:"!border-sky-400 !bg-sky-400"}),(0,n.jsx)("div",{className:"flex items-center justify-center rounded-full border-2 border-sky-400 bg-[#173556] px-2 font-bold ".concat(l?"h-[90px] w-[90px] text-lg":"h-[64px] w-[64px] text-xs"),children:(0,n.jsx)("span",{className:"line-clamp-2 break-all",children:(0,p.t)(t.label)})}),t.verdict&&(0,n.jsx)("span",{"data-loop-verdict":t.verdict,className:"rounded-full px-2 py-0.5 text-xs font-semibold ring-1 ".concat(v[t.verdict]),children:t.verdict}),t.detail&&(0,n.jsx)(w,{detail:t.detail}),(0,n.jsx)(u.h7,{type:"source",position:m.yX.Right,className:"!border-sky-400 !bg-sky-400"})]})}},j={packet:function(e){var t,l;let{id:r,sourceX:s,sourceY:i,targetX:o,targetY:d,sourcePosition:c,targetPosition:f,style:p,markerEnd:h,label:b,labelStyle:x,interactionWidth:g,data:v}=e,[y,w,k]=(0,m.Fp)({sourceX:s,sourceY:i,targetX:o,targetY:d,sourcePosition:c,targetPosition:f}),j=(0,a.useRef)(null),N=(0,a.useRef)(null),S=null!=(t=null==v?void 0:v.packet)?t:null,A=null!=(l=null==S?void 0:S.key)?l:null;return(0,a.useEffect)(()=>{if(null!==A)try{var e,t,l,n;null==(t=j.current)||null==(e=t.beginElement)||e.call(t),null==(n=N.current)||null==(l=n.beginElement)||l.call(n)}catch(e){}},[A]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(u.tE,{id:r,path:y,style:p,markerEnd:h,label:b,labelX:w,labelY:k,labelStyle:x,interactionWidth:g}),S&&(0,n.jsxs)("g",{"data-packet":S.word,"aria-hidden":"true",opacity:0,children:[(0,n.jsx)("text",{textAnchor:"middle",dominantBaseline:"central",fontSize:16,fill:"#e0f2fe",stroke:"#10243b",strokeWidth:.6,children:S.shape}),(0,n.jsx)("animateMotion",{ref:j,begin:"indefinite",dur:"".concat(S.roundTrip?2400:1200,"ms"),path:y,fill:"freeze",...S.roundTrip?{keyPoints:"0;1;0",keyTimes:"0;0.5;1",calcMode:"linear"}:{}}),(0,n.jsx)("animate",{ref:N,attributeName:"opacity",begin:"indefinite",dur:"".concat(S.roundTrip?2400:1200,"ms"),values:"1;1;0",keyTimes:"0;0.85;1",fill:"freeze"})]})]})}},N={done:"border-emerald-500/60 bg-emerald-500/15",failed:"border-red-500/60 bg-red-500/15",current:"border-sky-300 bg-sky-500/20",pending:"border-dashed border-slate-500 bg-slate-800/40"};function S(e){return"hand"===e.kind?e.broken?"broken":"shadow"===e.mode?"shadow":"live":null}function A(e,t,l){if(t)return"".concat(y.launch," \xb7 유령 \xb7 런 원장 없음 ").concat(Math.floor((l-Date.parse(e.at))/6e4),"분");let n=S(e);return"broken"===n?"".concat(y.hand," \xb7 끊김 ✕"):"shadow"===n?"".concat(y.hand," \xb7 그림자"):y[e.kind]}function C(e){let{rows:t,edges:l,seenAt:s,now:i,state:o,seatIds:d,details:c}=e,m=(0,r.useSearchParams)(),b=m.get("card"),x=(0,f._s)(m),[w,C]=(0,a.useState)(1),M=(0,f.QU)(w),[T,R]=(0,a.useState)(!1);(0,a.useEffect)(()=>{var e;if(R(function(){try{return"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch(e){return!1}}()),"function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)"),l=()=>R(t.matches);return null==(e=t.addEventListener)||e.call(t,"change",l),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",l)}},[]);let E=(0,a.useMemo)(()=>null===x?[]:(0,f.QB)(l,x),[l,x]),I=(0,a.useMemo)(()=>new Set(null===x?[]:(0,f.Z7)(l,x).map(f.iy)),[l,x]),[O,D]=(0,a.useState)(b);(0,a.useEffect)(()=>{D(b)},[b]);let U=(0,a.useMemo)(()=>[...new Set(l.filter(e=>"card"===e.kind).map(e=>e.ref))].sort(),[l]),W=(0,a.useMemo)(()=>null===O?[]:(0,f.Cd)(l,O),[l,O]),_=new Set(W.map(f.iy)),P=null!==O?_:null!==x?I:null,Z=e=>{D(e);let t=new URL(window.location.href);null===e?t.searchParams.delete("card"):t.searchParams.set("card",e),window.history.replaceState(window.history.state,"",t.toString())},F=(0,a.useMemo)(()=>(0,f.hA)(t,l,d),[t,l,d]),z=(0,a.useMemo)(()=>{let e=F.filter(e=>"seat"===e.type);return[...e.map(e=>e.id),"미지정"].map((t,l)=>({owner:t,column:l,nodes:[..."미지정"===t?[]:e.filter(e=>e.id===t),...F.filter(e=>"loop"===e.type&&e.owner===t)]})).filter(e=>e.nodes.length>0)},[F]),L=new Map(F.map((e,t)=>[e.id,"node-".concat(t)])),X=e=>{var t,l;return null!=(l=null==(t=F.find(t=>t.id===e))?void 0:t.label)?l:"알 수 없음"},q=new Set(l.filter(e=>"run"===e.kind&&e.to.startsWith("loop:")).map(e=>e.to)).size,K=e=>{if("near"!==M)return;let t=(0,f.qV)(e,l,e===f.EV?{running:q,...null==c?void 0:c[e]}:null==c?void 0:c[e],X,i);return null===t.now&&null===t.running&&null===t.waiting&&0===t.recent.length?void 0:t},V=z.map((e,t)=>z.slice(0,t).reduce((e,t)=>e+Math.ceil(t.nodes.length/8),0)),G=z.flatMap((e,t)=>{let{nodes:l}=e;return l.map((e,l)=>({id:L.get(e.id),type:"activity",position:{x:(V[t]+Math.floor(l/8))*220,y:l%8*138},data:{label:e.label,type:e.type,verdict:e.verdict,detail:K(e.id)}}))});f.fi.forEach((e,t)=>{let l=F.find(t=>t.id===e.id);l&&G.push({id:L.get(l.id),type:"activity",position:{x:220*t,y:-170},data:{label:l.label,type:l.type,verdict:l.verdict,detail:K(l.id)}})});let $=F.find(e=>e.id===f.qn);$&&G.push({id:L.get($.id),type:"activity",position:{x:0,y:-310},data:{label:$.label,type:$.type,detail:K($.id)}}),F.filter(e=>"other"===e.type).forEach((e,t)=>G.push({id:L.get(e.id),type:"activity",position:{x:180*Math.floor(t/8),y:138*Math.max(...z.map(e=>Math.min(e.nodes.length,8)),1)+40+t%8*138},data:{label:e.label,type:e.type,detail:K(e.id)}}));let Q=l.filter(e=>L.has(e.from)&&L.has(e.to)).map((e,t)=>{var n;let a=(0,f.iy)(e),r=i-(null!=(n=s[a])?n:0),o=r<f._o,d=null!==P&&P.has(a),c=null!==P&&!d,u=S(e),m=(0,f.$2)(e,l,i),p=A(e,m,i),h=m||T||!(r<2600)?null:{key:a,shape:f.Ok[e.kind],word:y[e.kind],roundTrip:(0,f.yo)(e,l)};return{id:"edge-".concat(t),type:"packet",source:L.get(e.from),target:L.get(e.to),label:p,data:{edge:e,packet:h,hand:u},animated:!1,focusable:!0,interactionWidth:24,style:{stroke:m||"broken"===u?"#fca5a5":d||!c&&o?"#7dd3fc":"#7492a8",strokeWidth:d||!c&&o?4:2,opacity:c?.16:d||o?1:"shadow"===u?.35:.55,...m||"broken"===u?{strokeDasharray:"2 7"}:"shadow"===u?{strokeDasharray:"6 5"}:{},transition:"stroke 1.5s ease, stroke-width 1.5s ease, opacity 1.5s ease"},labelStyle:{fill:c?"#7492a8":m||"broken"===u?"#fecaca":d||o?"#e0f2fe":"#a8b7c7",fontSize:12,opacity:c?.4:1}}});return(0,n.jsxs)("section",{"aria-label":"루프 활동 지도",className:"min-w-0 space-y-3",children:[(0,n.jsx)("p",{className:"text-sm text-slate-300",children:"자리(큰 원) \xb7 루프(작은 원) \xb7 최근 60분 실제 사건. 노드나 간선을 누르면 Trace로 이동합니다. 자원 노드는 자원 화면을 엽니다."}),(0,n.jsx)("p",{className:"text-xs text-slate-400",children:"꾸러미 모양 \xb7 요청 ● 결정 ◆ 보고 ■ 넘김 ▲ 발사 ★ 판단 ⬟ \xb7 넘김 실선 = 실발사 \xb7 점선 = 그림자 \xb7 ✕ = 끊김 \xb7 유령 = 발사 뒤 10분간 같은 ref 런 간선 없음 \xb7 확대하면 노드 안 지금 일이 보입니다."}),null!==x&&(0,n.jsxs)("section",{"aria-label":"데모 여정",className:"rounded-xl border border-sky-500/50 bg-[#173556] p-3",children:[(0,n.jsxs)("h3",{className:"font-semibold",children:["여정 \xb7 ",(0,p.t)(x)]}),"ready"===o&&0===I.size&&(0,n.jsx)("p",{role:"status",className:"mt-1 text-sm text-slate-300",children:"아직 사건 없음 — 틱이 이 카드를 집으면 1단계부터 채워집니다"}),(0,n.jsx)("ol",{className:"mt-2 flex min-w-0 flex-wrap items-stretch gap-2 text-sm",children:E.map((e,t)=>(0,n.jsxs)("li",{"data-journey-state":e.state,className:"flex min-w-0 items-center gap-2 rounded-lg border px-3 py-2 ".concat(N[e.state]),children:[(0,n.jsx)("span",{"aria-hidden":"true",children:h.bq[e.state].mark}),(0,n.jsxs)("span",{className:"min-w-0 break-words",children:[t+1,". ",e.label," \xb7 ",h.bq[e.state].word]}),e.edge&&(0,n.jsx)("time",{className:"text-xs text-slate-300",dateTime:e.edge.at,children:new Date(e.edge.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]},e.key))})]}),(0,n.jsxs)("div",{role:"group","aria-label":"데모 카드 선택",className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,n.jsx)("span",{children:"카드 경로"}),U.map(e=>(0,n.jsx)("button",{type:"button","aria-pressed":O===e,onClick:()=>Z(e),className:"min-h-11 rounded-lg border border-slate-500 px-3 py-2 aria-pressed:border-sky-300 aria-pressed:bg-sky-800 focus-visible:outline-2 focus-visible:outline-sky-400",children:(0,p.t)(e)},e)),null!==O&&(0,n.jsx)("button",{type:"button",onClick:()=>Z(null),className:"min-h-11 rounded-lg border border-slate-500 px-3 py-2 focus-visible:outline-2 focus-visible:outline-sky-400",children:"전체 보기"})]}),null!==O&&(0,n.jsxs)("section",{"aria-label":"선택 카드 흐름",className:"rounded-xl border border-sky-500/50 bg-[#173556] p-3",children:[(0,n.jsxs)("h3",{className:"font-semibold",children:["요구 한 줄 → 회신 \xb7 카드 ",(0,p.t)(O)]}),"ready"===o&&0===W.length&&(0,n.jsx)("p",{role:"status",children:"이 카드는 아직 흐른 사건이 없음"}),W.length>0&&(0,n.jsx)("ol",{className:"mt-2 space-y-2",children:W.map((e,t)=>{var l,a,r,s;return(0,n.jsxs)("li",{className:"break-words text-sm",children:[t+1,". ",(0,p.t)(null!=(r=null==(l=F.find(t=>t.id===e.from))?void 0:l.label)?r:"출발")," → ",e.to.startsWith("surface:")?"회신 \xb7 ".concat((0,p.t)(e.to.slice(8))):(0,p.t)(null!=(s=null==(a=F.find(t=>t.id===e.to))?void 0:a.label)?s:"도착")," \xb7 ",(0,n.jsx)("time",{dateTime:e.at,children:new Date(e.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]},"".concat((0,f.iy)(e),"-").concat(t))})})]}),"error"===o&&(0,n.jsx)("p",{role:"alert",className:"text-red-300",children:"지도 원천을 읽지 못했습니다. 이전 지도가 보이면 현재 데이터가 아닙니다. 데몬 연결을 확인하세요."}),"unauthorized"===o&&(0,n.jsx)("p",{role:"alert",className:"text-red-300",children:"지도 원천에 접근 권한이 없습니다 — 토큰으로 다시 붙으세요"}),"loading"===o&&(0,n.jsx)("p",{role:"status",children:"지도를 읽는 중…"}),(0,n.jsx)("div",{className:"h-[440px] min-w-0 w-full overflow-hidden rounded-2xl border border-slate-600 bg-[#10243b]","aria-label":"자리와 루프 관계도",children:(0,n.jsxs)(u.Gc,{nodes:G,edges:Q,nodeTypes:k,edgeTypes:j,fitView:!0,minZoom:.25,maxZoom:2.5,onInit:e=>C(e.getZoom()),onMove:(e,t)=>C(t.zoom),nodesDraggable:!1,nodesConnectable:!1,edgesReconnectable:!1,deleteKeyCode:null,onNodeClick:(e,t)=>{let l=F.find(e=>L.get(e.id)===t.id);l&&window.location.assign((0,f.ol)(l.id))},onEdgeClick:(e,t)=>{var l;let n=null==(l=t.data)?void 0:l.edge;n&&window.location.assign((0,f.ol)(n.to,n))},children:[(0,n.jsx)(u.VS,{color:"#355470"}),(0,n.jsx)(u.H2,{showInteractive:!1})]},"loading"===o?"loading":"loaded")}),"ready"===o&&(0,n.jsx)(g,{edges:l,seatIds:d}),(0,n.jsx)("div",{"aria-label":"지도 목록",className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-4",children:z.map(e=>{var t;return(0,n.jsxs)("section",{className:"min-w-0 rounded-xl border border-slate-600 p-3",children:[(0,n.jsx)("h3",{className:"mb-2 font-semibold",children:null!=(t=f.DG[e.owner])?t:(0,p.t)(e.owner)}),(0,n.jsx)("ul",{className:"space-y-2",children:e.nodes.map(e=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>window.location.assign((0,f.ol)(e.id)),className:"flex w-full min-w-0 items-center gap-2 rounded-lg border border-slate-600 px-2 py-2 text-left text-sm focus-visible:outline-2 focus-visible:outline-sky-400",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"shrink-0 rounded-full border border-sky-400 bg-[#173556] ".concat("seat"===e.type?"h-8 w-8":"h-5 w-5")}),(0,n.jsx)("span",{className:"min-w-0 break-words",children:(0,p.t)(e.label)}),e.verdict&&(0,n.jsx)("span",{"data-loop-verdict":e.verdict,className:"ml-auto shrink-0 rounded-full px-2 py-0.5 text-xs ring-1 ".concat(v[e.verdict]),children:e.verdict})]})},e.id))})]},e.owner)})}),(0,n.jsx)("ul",{"aria-label":"최근 간선 사건",className:"space-y-2",children:l.map((e,t)=>{var a,r,o,d,c;return(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>window.location.assign((0,f.ol)(e.to,e)),className:"block w-full min-w-0 break-words rounded-lg border border-slate-600 px-3 py-2 text-left text-sm focus-visible:outline-2 focus-visible:outline-sky-400 ".concat(null!==O?_.has((0,f.iy)(e))?"border-sky-300 bg-sky-500/30 text-sky-100":"bg-slate-800/30 text-slate-400 opacity-40":i-(null!=(o=s[(0,f.iy)(e)])?o:0)<f._o?"bg-sky-500/20 text-sky-100 transition-colors duration-[1500ms] motion-reduce:transition-none":"bg-slate-800/50 text-slate-300"),children:[(0,p.t)(null!=(d=null==(a=F.find(t=>t.id===e.from))?void 0:a.label)?d:"출발")," → ",(0,p.t)(null!=(c=null==(r=F.find(t=>t.id===e.to))?void 0:r.label)?c:"도착")," \xb7 ",A(e,(0,f.$2)(e,l,i),i)," \xb7 ",(0,n.jsx)("time",{dateTime:e.at,children:new Date(e.at).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul"})})]})},"edge-".concat(t))})}),"ready"===o&&0===l.length&&(0,n.jsx)("p",{role:"status",className:"text-slate-300",children:"최근 사건이 없습니다."})]})}var M=l(14010);let T=["loop.","task-agent","harness.queue","self-implement.pod"],R={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e),setInterval:(e,t)=>globalThis.setInterval(e,t),clearInterval:e=>globalThis.clearInterval(e)};var E=l(16822);let I=(0,d.g)(null,null);function O(e){let{view:t,runsUnreadable:l,refreshedAt:a}=e;return(0,n.jsxs)("section",{"aria-label":"루프 에이전트 활동",className:"min-w-0 space-y-6 p-4 text-lg min-[1440px]:text-[22px]",children:[(0,n.jsx)("div",{className:"grid grid-cols-2 gap-3 min-[1440px]:grid-cols-4",children:t.seats.map(e=>(0,n.jsxs)("article",{"aria-label":"".concat(e.seat," 자리"),className:"min-w-0 space-y-3 rounded-2xl border border-border bg-card p-3 min-[1440px]:p-6",children:[(0,n.jsx)("h2",{className:"font-bold",children:e.seat}),(0,n.jsx)("p",{className:"break-words","aria-label":"지금 하는 일",children:e.now}),(0,n.jsxs)("dl",{className:"space-y-1 text-base min-[1440px]:text-[22px]",children:[(0,n.jsxs)("div",{className:"flex flex-wrap justify-between gap-x-2",children:[(0,n.jsx)("dt",{children:"오늘 착지"}),(0,n.jsx)("dd",{children:e.landedToday})]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-between gap-x-2",children:[(0,n.jsx)("dt",{children:"막힘"}),(0,n.jsx)("dd",{children:e.blocked})]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-between gap-x-2",children:[(0,n.jsx)("dt",{children:"대표 결정 대기"}),(0,n.jsx)("dd",{children:e.decisionsWaiting})]})]})]},e.seat))}),(0,n.jsxs)("section",{"aria-label":"지금 도는 런",className:"min-w-0 rounded-2xl border border-border bg-card p-4",children:[(0,n.jsx)("h2",{className:"font-semibold",children:"지금 도는 런"}),l?(0,n.jsx)("p",{className:"text-muted-foreground",children:"못 읽음"}):0===t.runs.length?(0,n.jsx)("p",{className:"text-muted-foreground",children:"지금 도는 런이 없습니다"}):(0,n.jsx)("ul",{className:"mt-3 flex flex-wrap gap-3",children:t.runs.map((e,t)=>(0,n.jsxs)("li",{className:"min-w-0 break-words rounded-lg border border-border px-3 py-2",children:["런 ",e.id6," \xb7 ",e.stage," \xb7 경과 ","못 읽음"===e.elapsedSec?e.elapsedSec:"".concat(e.elapsedSec,"초")]},"".concat(e.id6,"-").concat(t)))})]}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["마지막 갱신 ",(0,n.jsx)("time",{dateTime:null!=a?a:void 0,children:a?new Date(a).toLocaleString("ko-KR",{timeZone:"Asia/Seoul"}):"못 읽음"})]})]})}function D(){var e,t,l,u,m,p,h,b,x;let{initialMode:g="activity",initialLoopRef:v=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:y,config:w}=(0,s.Q)(),[k,j]=(0,a.useState)(null),N=null!=(t=(0,f._s)((0,r.useSearchParams)()))?t:v,[S,A]=(0,a.useState)(null!==N?"map":g),[D,U]=(0,a.useState)(null),[W,_]=(0,a.useState)(0),P="".concat(w.baseUrl,"\0").concat(w.token),Z="".concat(P,"\0").concat(S,"\0").concat(null!=N?N:""),F=(null==k?void 0:k.source)===P?k:null,z=null!=(l=null==F||null==(e=F.seats)?void 0:e.seats.flatMap(e=>{var t,l;return null!=(l=null==(t=e.subSeats)?void 0:t.map(e=>e.id))?l:[]}))?l:[];(0,a.useEffect)(()=>{let e=!0,t=!1,l=(0,o.xX)({baseUrl:w.baseUrl,token:w.token});j({source:P,seats:null,runs:null,runsUnreadable:!0,refreshedAt:null});let n=async()=>{var n;if(!e||t||document.hidden)return;t=!0;let a=new Intl.DateTimeFormat("sv-SE",{timeZone:"Asia/Seoul"}).format(new Date),[r,s]=await Promise.allSettled([(0,i.Nn)(y,a),l.getHarnessRuns()]);if(t=!1,!e)return;let o="fulfilled"===r.status&&"ready"===r.value.kind?r.value.data:null,d="fulfilled"===s.status&&Array.isArray(null==(n=s.value)?void 0:n.entries)?s.value:null;j({source:P,seats:o,runs:d,runsUnreadable:null===d,refreshedAt:o||d?new Date().toISOString():null})};n();let a=window.setInterval(()=>{n()},1e4),r=()=>{document.hidden||n()};return document.addEventListener("visibilitychange",r),()=>{e=!1,window.clearInterval(a),document.removeEventListener("visibilitychange",r)}},[y,w.baseUrl,w.token,P]),(0,a.useEffect)(()=>{if("map"!==S)return;let e=!0,t=!1,l=!1;U(null),_(Date.now());let n=async()=>{if(!e||document.hidden)return;if(t){l=!0;return}t=!0,l=!1;let a=Date.now();try{let[t,l,n]=await Promise.all([(0,c.Em)(e=>y.fetchJson(e),a),y.fetchJson("/v1/schedules?includeOff=1&includeOwners=1"),y.fetchJson((0,f.Ew)(N)?"/v1/loops/edges?ref=".concat(encodeURIComponent(N),"&mode=live&limit=500"):"/v1/loops/edges?since=".concat(encodeURIComponent(new Date(a-f.oO).toISOString()),"&limit=200"))]),r=l.owners;if(!Array.isArray(r))throw Error("루프 주인 조회 실패");let s=null===N?(0,f.u1)(n,a):(0,f.s_)(n,a);e&&U(e=>({source:Z,rows:(0,f.lG)(t,r,a),edges:s,seenAt:(0,f.XV)((null==e?void 0:e.source)===Z?e.seenAt:null,s,a),state:"ready"}))}catch(t){if(e){let e=t instanceof o.Iu&&(401===t.status||403===t.status);U(t=>({source:Z,rows:e?[]:(null==t?void 0:t.source)===Z?t.rows:[],edges:e?[]:(null==t?void 0:t.source)===Z?t.edges:[],seenAt:e?{}:(null==t?void 0:t.source)===Z?t.seenAt:{},state:e?"unauthorized":"error"}))}}finally{t=!1,l&&e&&n()}};n();let a=function(e,t){var l,n,a,r,s;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null!=(l=i.timers)?l:R,d=null!=(n=i.debounceMs)?n:800,c=null!=(a=i.pollMs)?a:5e3,u=!1,m=null,f=null,p=o.setInterval(()=>{u||null!==f||t()},null!=(r=i.safetyMs)?r:3e4),h=()=>{var e;u||null!==f||(f=o.setInterval(()=>{u||t()},c),null==(e=i.onMode)||e.call(i,"poll"))},b=e.logsStreamUrl({category:T.join(",")}),x=()=>{};if(null===b)h();else{let e=!1;x=(0,M.BX)(b,{events:{log:()=>{if(!u){var e;null!==f&&(o.clearInterval(f),f=null,null==(e=i.onMode)||e.call(i,"stream")),null!==m&&o.clearTimeout(m),m=o.setTimeout(()=>{m=null,u||t()},d)}}},onError:h,onConstructError:()=>{e=!0}}),e?h():null==(s=i.onMode)||s.call(i,"stream")}return()=>{u||(u=!0,null!==m&&o.clearTimeout(m),null!==f&&o.clearInterval(f),o.clearInterval(p),m=null,f=null,x())}}(y,()=>{n()}),r=window.setInterval(()=>{document.hidden||_(Date.now())},250),s=()=>{document.hidden||n()};return document.addEventListener("visibilitychange",s),()=>{e=!1,a(),window.clearInterval(r),document.removeEventListener("visibilitychange",s)}},[y,S,Z,N]);let L=(null==D?void 0:D.source)===Z?D:null,X=null!==N&&N===v&&(0,f.Ew)(N)?N:null;return(0,n.jsxs)("div",{className:"min-w-0",children:[null!==X&&(0,n.jsx)("p",{"aria-label":"고정 루프",className:"px-4 pt-4 text-base",children:(0,E.FW)(X)}),(0,n.jsxs)("div",{role:"group","aria-label":"루프 에이전트 보기",className:"flex gap-2 px-4 pt-4",children:[(0,n.jsx)("button",{type:"button","aria-pressed":"activity"===S,onClick:()=>A("activity"),className:"min-h-11 rounded-lg border border-slate-500 px-4 py-2 aria-pressed:bg-sky-800",children:"현황"}),(0,n.jsx)("button",{type:"button","aria-pressed":"map"===S,onClick:()=>A("map"),className:"min-h-11 rounded-lg border border-slate-500 px-4 py-2 aria-pressed:bg-sky-800",children:"지도"})]}),"activity"===S?(0,n.jsx)(O,{view:F?(0,d.g)(F.seats,F.runs):I,runsUnreadable:null==(u=null==F?void 0:F.runsUnreadable)||u,refreshedAt:null!=(m=null==F?void 0:F.refreshedAt)?m:null}):(0,n.jsx)("div",{className:"min-w-0 p-4",children:(0,n.jsx)(C,{rows:null!=(p=null==L?void 0:L.rows)?p:[],edges:null!=(h=null==L?void 0:L.edges)?h:[],seatIds:["OP","MK","TC","UX",...z],details:F?function(e,t){let l={COO:"OP",CMO:"MK",CTO:"TC",CXO:"UX"},n=t?"못 읽음":e.runs.length,a={[f.Xg]:{running:n},[f.EV]:{running:n}};for(let t of e.seats)a[l[t.seat]]={now:t.now,waiting:t.decisionsWaiting};return a}((0,d.g)(F.seats,F.runs),F.runsUnreadable):void 0,seenAt:null!=(b=null==L?void 0:L.seenAt)?b:{},now:W,state:null!=(x=null==L?void 0:L.state)?x:"loading"})})]})}},71469:(e,t,l)=>{l.d(t,{$2:()=>d,Cd:()=>S,DG:()=>c,EV:()=>b,Ew:()=>g,Ok:()=>W,Pv:()=>D,QB:()=>I,QU:()=>O,XV:()=>C,Xg:()=>h,Z7:()=>E,_o:()=>o,_s:()=>v,fi:()=>x,hA:()=>j,iy:()=>A,lG:()=>s,oO:()=>i,ol:()=>N,qV:()=>U,qn:()=>p,s_:()=>w,u1:()=>y,yo:()=>_});var n=l(31610),a=l(27697);let r={alive:"살아 있음",late:"늦음",failed:"실패",off:"꺼짐"};function s(e,t,l){let s=new Map(t.flatMap(e=>e.jobs.map(t=>[t,e.owner]))),i=new Map(t.map(e=>[e.id,e.owner])),o=e.map(e=>{var t;return{...e,owner:null!=(t=e.id.startsWith("schedule:")?s.get(e.id.slice(9)):i.get(e.id.slice(5)))?t:"미지정"}});for(let e of t){var d,c,u,m,f,p,h;if(o.some(t=>t.id==="loop:".concat(e.id)))continue;let t=(0,n.u)({enabled:e.enabled,lastRunAt:null!=(m=null==(d=e.lastRun)?void 0:d.at)?m:null,lastStatus:null!=(f=null==(c=e.lastRun)?void 0:c.status.toLowerCase())?f:null,intervalMs:null},l);o.push({id:"loop:".concat(e.id),name:(0,a.t)(e.title),layer:"그래프",owner:null!=(p=e.owner)?p:"미지정",mode:"등록",lastRun:null!=(h=null==(u=e.lastRun)?void 0:u.at)?h:null,verdict:"alive"!==t||e.lastRun?r[t]:"판정 불가"})}return o}let i=36e5,o=1500;function d(e,t,l){if("launch"!==e.kind||"string"==typeof e.run&&""!==e.run)return!1;let n=Date.parse(e.at);return Number.isFinite(n)&&l-n>=6e5&&!t.some(t=>"run"===t.kind&&t.ref===e.ref)}let c={OP:"COO",MK:"CMO",TC:"CTO",UX:"CXO"},u=["OP","MK","TC","UX"],m=new Set(["request","decision","report","card","run","hand","launch","move"]),f=/^[a-zA-Z0-9_-]{1,128}$/,p="loop:resources",h="agent:task-agent",b="hub:runs",x=[{id:"loop:orchestrator",label:"조율"},{id:h,label:"TASK-AGENT"},{id:b,label:"런 묶음"},{id:"loop:release-loop",label:"발행 루프"},{id:"loop:guardian",label:"수호자"}];function g(e){return"string"==typeof e&&f.test(e)}function v(e){var t,l;let n=null!=(t=null==e?void 0:e.get("journey"))?t:null;if(g(n))return n;let a=null!=(l=null==e?void 0:e.get("demo"))?l:null;return g(a)&&"0"!==a&&"1"!==a?a:null}function y(e,t){return k(e,t,!0)}function w(e,t){return k(e,t,!1)}function k(e,t,l){let n=e&&"object"==typeof e&&"edges"in e?e.edges:null;if(!Array.isArray(n))throw Error("간선 조회 실패");return n.filter(e=>{if(!e||"object"!=typeof e||!m.has(e.kind)||"string"!=typeof e.at||"string"!=typeof e.from||"string"!=typeof e.to||"string"!=typeof e.ref)return!1;let n=Date.parse(e.at);return Number.isFinite(n)&&n<=t&&(!l||n>=t-i)})}function j(e,t){var l,n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u,s=new Map;for(let e of r)s.set(e,{id:e,type:"seat",label:null!=(l=c[e])?l:(0,a.t)(e)});for(let e of x)s.set(e.id,{id:e.id,type:"hub",label:e.label});s.set(p,{id:p,type:"hub",label:"자원"});let i=new Set(r),o=new Set;for(let t of e){let e=i.has(t.owner)?t.owner:"미지정",l=t.id,n=(0,a.t)(t.name),r=o.has(n)?"".concat(n," \xb7 ").concat((0,a.t)(t.id)):n;o.add(n);let d=s.get(l);s.set(l,(null==d?void 0:d.type)==="hub"?{...d,owner:e,verdict:t.verdict}:{id:l,type:"loop",label:r,owner:e,verdict:t.verdict})}for(let e of t)for(let t of[e.from,e.to]){if(s.has(t))continue;let[e,l]=t.split(":",2);"loop"===e&&l&&f.test(l)?s.set(t,{id:t,type:"other",label:l.startsWith("run-")?"런 \xb7 ".concat((0,a.t)(l)):"칸 \xb7 ".concat((0,a.t)(l))}):"card"===e||"surface"===e?s.set(t,{id:t,type:"other",label:"card"===e?"카드":"입구 \xb7 ".concat((0,a.t)(null!=l?l:""))}):"agent"===e&&l&&f.test(l)?s.set(t,{id:t,type:"other",label:"에이전트 \xb7 ".concat((0,a.t)(l))}):"pr"===e&&l&&/^\d{1,9}$/.test(l)?s.set(t,{id:t,type:"other",label:"PR #".concat(l)}):("release"===e||"landed"===e)&&l&&f.test(l)?s.set(t,{id:t,type:"other",label:"".concat("release"===e?"발행":"착지"," \xb7 ").concat((0,a.t)(l))}):i.has(t)&&s.set(t,{id:t,type:"seat",label:null!=(n=c[t])?n:(0,a.t)(t)})}return[...s.values()]}function N(e,t){if(e===p&&!t)return"/loops?view=resources";if(t&&("hand"===t.kind||"launch"===t.kind||"move"===t.kind)&&f.test(t.ref))return"/trace?q=".concat(encodeURIComponent(t.ref));if(e.startsWith("pr:")&&/^\d{1,9}$/.test(e.slice(3))&&!t)return"/trace?q=".concat(encodeURIComponent(e.slice(3)));let l=(null==t?void 0:t.kind)==="run"?t.ref:e;if((null==t?void 0:t.kind)==="card"&&f.test(t.ref))return"/trace?q=".concat(encodeURIComponent(t.ref));if(l.startsWith("loop:")&&f.test(l.slice(5))){let e=l.slice(5);return e.startsWith("run-")?"/trace?level=L2&run=".concat(encodeURIComponent(e)):"/trace?q=".concat(encodeURIComponent(e))}return l.startsWith("schedule:")&&f.test(l.slice(9))?"/trace?q=".concat(encodeURIComponent(l.slice(9))):l.startsWith("card:")&&f.test(l.slice(5))?"/trace?q=".concat(encodeURIComponent(l.slice(5))):(null==t?void 0:t.kind)==="run"&&f.test(l)?"/trace?level=L2&run=".concat(encodeURIComponent(l)):"/trace"}function S(e,t){let l=e=>e.startsWith("surface:")?0:e.startsWith("card:")?1:e.startsWith("loop:")?2:3;return e.filter(e=>"card"===e.kind&&e.ref===t).sort((e,t)=>e.at.localeCompare(t.at)||l(e.from)-l(t.from))}function A(e){return JSON.stringify([e.at,e.kind,e.from,e.to,e.ref])}function C(e,t,l){return Object.fromEntries(t.map(t=>{var n;let a=A(t);return[a,null!=(n=null==e?void 0:e[a])?n:null===e?l-o:l]}))}let M=[{key:"tick",label:"틱 \xb7 넘김"},{key:"agent",label:"TASK-AGENT \xb7 발사"},{key:"run",label:"런"},{key:"pr",label:"PR"},{key:"land",label:"착지 \xb7 green 제안"}];function T(e,t){let l=new Set([t]);for(let n of e)"hand"===n.kind&&void 0!==n.cell&&(n.cell===t||n.cell.startsWith("".concat(t,"-")))&&l.add(n.ref);return l}function R(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set([t]),n=e.ref===t||l.has(e.ref);return"hand"===e.kind?n&&"shadow"!==e.mode?"tick":null:"launch"===e.kind?n?"agent":null:"move"===e.kind?n&&"green-proposal"===e.move?"land":null:"run"===e.kind?e.to.startsWith("pr:")?"pr":e.to.startsWith("loop:")?"run":null:"card"===e.kind&&e.to.startsWith("landed:")?"land":null}function E(e,t){let l=T(e,t),n=e=>M.findIndex(n=>n.key===R(e,t,l));return[...S(e,t),...e.filter(e=>"card"!==e.kind||e.ref!==t).filter(e=>null!==R(e,t,l))].sort((e,t)=>e.at.localeCompare(t.at)||n(e)-n(t))}function I(e,t){let l=E(e,t),n=T(e,t),a=0===l.length,r=M.reduce((e,a,r)=>l.some(e=>R(e,t,n)===a.key&&!e.broken)?r:e,-1);return M.map((e,s)=>{let i=l.filter(l=>R(l,t,n)===e.key),o=i.find(e=>!e.broken);return o?{key:e.key,label:e.label,state:"done",edge:o}:0===i.length&&s<r?{key:e.key,label:e.label,state:"done"}:i.length>0?(a=!0,{key:e.key,label:e.label,state:"failed",edge:i[0]}):a?{key:e.key,label:e.label,state:"pending"}:(a=!0,{key:e.key,label:e.label,state:"current"})})}function O(e){return e<.8?"far":"near"}let D={request:"요청",decision:"결정",report:"보고",card:"카드",run:"런",hand:"넘김",launch:"발사",move:"판단"};function U(e,t,l,n,r){var s,i;let o=t.filter(t=>t.from===e||t.to===e).sort((e,t)=>t.at.localeCompare(e.at)).slice(0,5).map(l=>"".concat(void 0!==r&&d(l,t,r)?"발사 \xb7 유령":D[l.kind]," ").concat(l.from===e?"→":"←"," ").concat((0,a.t)(n(l.from===e?l.to:l.from))));return{now:(null==l?void 0:l.now)?(0,a.t)(l.now):null,recent:o,running:null!=(s=null==l?void 0:l.running)?s:null,waiting:null!=(i=null==l?void 0:l.waiting)?i:null}}let W={request:"●",decision:"◆",report:"■",hand:"▲",launch:"★",move:"⬟",card:"◇",run:"▶"};function _(e,t){let l="request"===e.kind?["report","decision"]:"report"===e.kind||"decision"===e.kind?["request"]:[];return l.length>0&&t.some(t=>l.includes(t.kind)&&t.ref===e.ref&&t.from===e.to&&t.to===e.from)}}}]);
@@ -0,0 +1,93 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7279],{75767:(t,e,i)=>{i.d(e,{o:()=>n});var n=(0,i(20330).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")},87279:(t,e,i)=>{i.d(e,{diagram:()=>w});var n=i(4910),s=i(75767),r=i(90072),o=i(74616),a=i(8303);i(46365),i(13250),i(30151),i(63567),i(87100),i(11226);var l=i(46238),c=i(96556),h=i(20330),u=i(14938),g=i(63368),d=i(87542),p=function(){var t=(0,h.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[1,4],i=[1,13],n=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],l=[6,7,8],c=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],_=[1,6,7,11,13,16,17,20,23],k=[1,38],E={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,h.K)(function(t,e,i,n,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",r[a-1].id),n.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:n.getLogger().info("Node: ",r[a].id),n.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:n.getLogger().trace("Icon: ",r[a]),n.decorateNode({icon:r[a]});break;case 18:case 23:n.decorateNode({class:r[a]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",r[a-1].id),n.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:n.getLogger().trace("Node: ",r[a].id),n.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:n.decorateNode({icon:r[a]});break;case 27:n.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:n.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:i,9:22,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:c,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:a}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:c,7:u,10:34,11:g},{1:[2,7],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(f,[2,14],{7:m,11:b}),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:k}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(_,[2,11]),t(_,[2,12]),t(d,[2,15],{24:k}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,h.K)(function(t){var e=this,i=[0],n=[],s=[null],r=[],o=this.table,a="",l=0,c=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,h.K)(b,"lex");for(var _,k,E,S,N,x,D,L,I,v={};;){if(E=i[i.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==_&&(_=b()),S=o[E]&&o[E][_]),void 0===S||!S.length||!S[0]){var C="";for(x in I=[],o[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");C=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[_]||_,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(S[0]){case 1:i.push(_),s.push(d.yytext),r.push(d.yylloc),i.push(S[1]),_=null,k?(_=k,k=null):(c=d.yyleng,a=d.yytext,l=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[a,c,l,p,S[1],s,r].concat(g))))return N;D&&(i=i.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),i.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[i[i.length-2]][i[i.length-1]],i.push(L);break;case 3:return!0}}return!0},"parse")};function S(){this.yy={}}return E.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var i,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,s=this._currentRules(),r=0;r<s.length;r++)if((i=this._input.match(this.rules[s[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,s[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,i,n){switch(i){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}},(0,h.K)(S,"Parser"),S.prototype=E,E.Parser=S,new S}();p.parser=p;var y=[],f=[],m=0,b={},_=(0,h.K)(()=>{y=[],f=[],m=0,b={}},"clear"),k=(0,h.K)(t=>{if(0===y.length)return null;let e=y[0].level,i=null;for(let t=y.length-1;t>=0;t--)if(y[t].level!==e||i||(i=y[t]),y[t].level<e)throw Error('Items without section detected, found section ("'+y[t].label+'")');return t===i?.level?null:i},"getSection"),E=(0,h.K)(function(){return f},"getSections"),S=(0,h.K)(function(){let t=[],e=E(),i=(0,l.D7)();for(let n of e){let e={id:n.id,label:(0,l.jZ)(n.label??"",i),labelType:"markdown",isGroup:!0,ticket:n.ticket,shape:"kanbanSection",level:n.level,look:i.look};for(let s of(t.push(e),y.filter(t=>t.parentId===n.id))){let e={id:s.id,parentId:n.id,label:(0,l.jZ)(s.label??"",i),labelType:"markdown",isGroup:!1,ticket:s?.ticket,priority:s?.priority,assigned:s?.assigned,icon:s?.icon,shape:"kanbanItem",level:s.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(e)}}return{nodes:t,edges:[],other:{},config:(0,l.D7)()}},"getData"),N=(0,h.K)((t,e,i,n,s)=>{let o=(0,l.D7)(),a=o.mindmap?.padding??l.UI.mindmap.padding;switch(n){case x.ROUNDED_RECT:case x.RECT:case x.HEXAGON:a*=2}let c={id:(0,l.jZ)(e,o)||"kbn"+m++,level:t,label:(0,l.jZ)(i,o),width:o.mindmap?.maxNodeWidth??l.UI.mindmap.maxNodeWidth,padding:a,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";let e=(0,r.H)(t,{schema:r.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(c.shape=e?.shape),e?.label&&(c.label=e?.label),e?.icon&&(c.icon=e?.icon.toString()),e?.assigned&&(c.assigned=e?.assigned.toString()),e?.ticket&&(c.ticket=e?.ticket.toString()),e?.priority&&(c.priority=e?.priority)}let h=k(t);h?c.parentId=h.id||"kbn"+m++:f.push(c),y.push(c)},"addNode"),x={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},D=(0,h.K)((t,e)=>{switch(c.R.debug("In get type",t,e),t){case"[":return x.RECT;case"(":return")"===e?x.ROUNDED_RECT:x.CLOUD;case"((":return x.CIRCLE;case")":return x.CLOUD;case"))":return x.BANG;case"{{":return x.HEXAGON;default:return x.DEFAULT}},"getType"),L=(0,h.K)((t,e)=>{b[t]=e},"setElementForId"),I=(0,h.K)(t=>{if(!t)return;let e=(0,l.D7)(),i=y[y.length-1];t.icon&&(i.icon=(0,l.jZ)(t.icon,e)),t.class&&(i.cssClasses=(0,l.jZ)(t.class,e))},"decorateNode"),v=(0,h.K)(t=>{switch(t){case x.DEFAULT:return"no-border";case x.RECT:return"rect";case x.ROUNDED_RECT:return"rounded-rect";case x.CIRCLE:return"circle";case x.CLOUD:return"cloud";case x.BANG:return"bang";case x.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),C=(0,h.K)(()=>c.R,"getLogger"),O=(0,h.K)(t=>b[t],"getElementById"),A=(0,h.K)(async(t,e,i,s)=>{c.R.debug("Rendering kanban diagram\n"+t);let r=s.db.getData(),h=(0,l.D7)();h.htmlLabels=!1;let u=(0,n.D)(e);for(let t of r.nodes)t.domId=`${e}-${t.id}`;let g=u.append("g");g.attr("class","sections");let d=u.append("g");d.attr("class","items");let p=r.nodes.filter(t=>t.isGroup),y=0,f=[],m=25;for(let t of p){let e=h?.kanban?.sectionWidth||200;t.x=e*(y+=1)+(y-1)*10/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+y;let i=await (0,o.U)(g,t);m=Math.max(m,i?.labelBBox?.height),f.push(i)}let b=0;for(let t of p){let e=f[b];b+=1;let i=h?.kanban?.sectionWidth||200,n=-(3*i)/2+m,s=n;for(let e of r.nodes.filter(e=>e.parentId===t.id)){if(e.isGroup)throw Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=i-15;let n=(await (0,a.on)(d,e,{config:h})).node().getBBox();e.y=s+n.height/2,await (0,a.U_)(e),s=e.y+n.height/2+5}let o=e.cluster.select("rect"),l=Math.max(s-n+30,50)+(m-25);o.attr("height",l)}(0,l.ot)(void 0,u,h.mindmap?.padding??l.UI.kanban.padding,h.mindmap?.useMaxWidth??l.UI.kanban.useMaxWidth)},"draw"),K=(0,h.K)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,g.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20);let i=(0,h.K)((e,i)=>t.darkMode?(0,d.A)(e,i):(0,g.A)(e,i),"adjuster");for(let n=0;n<t.THEME_COLOR_LIMIT;n++){let s=""+(17-3*n);e+=`
16
+ .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {
17
+ fill: ${i(t["cScale"+n],10)};
18
+ stroke: ${i(t["cScale"+n],10)};
19
+
20
+ }
21
+ .section-${n-1} text {
22
+ fill: ${t["cScaleLabel"+n]};
23
+ }
24
+ .node-icon-${n-1} {
25
+ font-size: 40px;
26
+ color: ${t["cScaleLabel"+n]};
27
+ }
28
+ .section-edge-${n-1}{
29
+ stroke: ${t["cScale"+n]};
30
+ }
31
+ .edge-depth-${n-1}{
32
+ stroke-width: ${s};
33
+ }
34
+ .section-${n-1} line {
35
+ stroke: ${t["cScaleInv"+n]} ;
36
+ stroke-width: 3;
37
+ }
38
+
39
+ .disabled, .disabled circle, .disabled text {
40
+ fill: lightgray;
41
+ }
42
+ .disabled text {
43
+ fill: #efefef;
44
+ }
45
+
46
+ .node rect,
47
+ .node circle,
48
+ .node ellipse,
49
+ .node polygon,
50
+ .node path {
51
+ fill: ${t.background};
52
+ stroke: ${t.nodeBorder};
53
+ stroke-width: 1px;
54
+ }
55
+
56
+ .kanban-ticket-link {
57
+ fill: ${t.background};
58
+ stroke: ${t.nodeBorder};
59
+ text-decoration: underline;
60
+ }
61
+ `}return e},"genSections"),w={db:{clear:_,addNode:N,getSections:E,getData:S,nodeType:x,getType:D,setElementForId:L,decorateNode:I,type2Str:v,getLogger:C,getElementById:O},renderer:{draw:A},parser:p,styles:(0,h.K)(t=>`
62
+ .edge {
63
+ stroke-width: 3;
64
+ }
65
+ ${K(t)}
66
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
67
+ fill: ${t.git0};
68
+ }
69
+ .section-root text {
70
+ fill: ${t.gitBranchLabel0};
71
+ }
72
+ .icon-container {
73
+ height:100%;
74
+ display: flex;
75
+ justify-content: center;
76
+ align-items: center;
77
+ }
78
+ .edge {
79
+ fill: none;
80
+ }
81
+ .cluster-label, .label {
82
+ color: ${t.textColor};
83
+ fill: ${t.textColor};
84
+ }
85
+ .kanban-label {
86
+ dy: 1em;
87
+ alignment-baseline: middle;
88
+ text-anchor: middle;
89
+ dominant-baseline: middle;
90
+ text-align: center;
91
+ }
92
+ ${(0,s.o)()}
93
+ `,"getStyles")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7349],{16565:(e,t,i)=>{i.d(t,{cn:()=>l});var n=i(35749),a=i(23601);function l(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return(0,a.QP)((0,n.$)(t))}},26758:(e,t,i)=>{i.d(t,{$:()=>s});var n=i(94451),a=i(23782),l=i(39581),o=i(16565);let r=(0,l.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function s(e){let{className:t,variant:i="default",size:l="default",...s}=e;return(0,n.jsx)(a.$,{"data-slot":"button",className:(0,o.cn)(r({variant:i,size:l,className:t})),...s})}},43791:(e,t,i)=>{i.d(t,{Ij:()=>r,Md:()=>p,Pv:()=>d,Pz:()=>s,ew:()=>c,gF:()=>u,lH:()=>m,oA:()=>g});var n=i(47940);let a="elanous.model-tier.prefs",l={audioMinPerDay:0};function o(e){return"number"!=typeof e||!Number.isFinite(e)||e<0?0:Math.min(e,1440)}function r(){if("undefined"==typeof localStorage)return{...l};try{let e=localStorage.getItem(a);if(!e)return{...l};let t=JSON.parse(e);return{stt:(0,n.mp)(t.stt)?t.stt:void 0,llm:(0,n.mp)(t.llm)?t.llm:void 0,tts:(0,n.mp)(t.tts)?t.tts:void 0,embedding:(0,n.mp)(t.embedding)?t.embedding:void 0,vision:(0,n.mp)(t.vision)?t.vision:void 0,audioMinPerDay:o(t.audioMinPerDay)}}catch(e){return{...l}}}function s(e){let t=r(),i={stt:void 0===e.stt?t.stt:(0,n.mp)(e.stt)?e.stt:void 0,llm:void 0===e.llm?t.llm:(0,n.mp)(e.llm)?e.llm:void 0,tts:void 0===e.tts?t.tts:(0,n.mp)(e.tts)?e.tts:void 0,embedding:void 0===e.embedding?t.embedding:(0,n.mp)(e.embedding)?e.embedding:void 0,vision:void 0===e.vision?t.vision:(0,n.mp)(e.vision)?e.vision:void 0,audioMinPerDay:void 0===e.audioMinPerDay?t.audioMinPerDay:o(e.audioMinPerDay)};if("undefined"!=typeof localStorage)try{localStorage.setItem(a,JSON.stringify(i))}catch(e){}return i}function d(){if("undefined"!=typeof localStorage)try{localStorage.removeItem(a)}catch(e){}return{...l}}function u(e){var t;return null!=(t=e.stt)?t:n.j$}function g(e){var t;return null!=(t=e.llm)?t:n.j$}function p(e){var t;return null!=(t=e.tts)?t:n.j$}function c(e){var t;return null!=(t=e.embedding)?t:n.j$}function m(e){var t;return null!=(t=e.vision)?t:n.j$}},44084:(e,t,i)=>{i.d(t,{D4:()=>b,F$:()=>f,We:()=>h,ZB:()=>u,ee:()=>s,me:()=>r,pP:()=>c,tM:()=>p,zs:()=>m});var n=i(47940),a=i(43791);function l(e){let t={"content-type":"application/json"};return e.token&&(t.authorization="Bearer ".concat(e.token)),t}function o(e,t){return e.baseUrl.replace(/\/$/,"")+t}async function r(e){if(!e.baseUrl)return null;try{var t,i,a,r,s,d;let u=await fetch(o(e,"/v1/config/model-tier"),{headers:l(e)});if(!u.ok)return null;let g=await u.json(),p=null==(i=g.modelTier)||null==(t=i.voice)?void 0:t.stt,c=null==(r=g.modelTier)||null==(a=r.voice)?void 0:a.tts,m=null==(s=g.modelTier)?void 0:s.llm;return{...(0,n.mp)(p)?{stt:p}:{},...(0,n.mp)(m)?{llm:m}:{},...(0,n.mp)(c)?{tts:c}:{},..."number"==typeof(null==(d=g.budget)?void 0:d.monthlyUsdCap)?{monthlyUsdCap:g.budget.monthlyUsdCap}:{}}}catch(e){return null}}async function s(e){var t,i,n;let l=await r(e);if(!l)return null;let o=(0,a.Ij)();return(0,a.Pz)({stt:null!=(t=l.stt)?t:o.stt,llm:null!=(i=l.llm)?i:o.llm,tts:null!=(n=l.tts)?n:o.tts,audioMinPerDay:o.audioMinPerDay})}async function d(e,t){if(!e.baseUrl)return"offline";try{if(!(await fetch(o(e,"/v1/config/model-tier"),{method:"PUT",headers:l(e),body:JSON.stringify(t)})).ok)return"error";return"synced"}catch(e){if(e instanceof TypeError)return"offline";return"error"}}async function u(e,t){return null===t?(0,a.Pv)():(0,a.Pz)({stt:t}),d(e,null===t?{modelTier:null}:{modelTier:{voice:{stt:t}}})}function g(){let e=(0,a.Ij)(),t={},i={};return e.stt&&(i.stt=e.stt),e.tts&&(i.tts=e.tts),Object.keys(i).length>0&&(t.voice=i),e.llm&&(t.llm=e.llm),e.embedding&&(t.embedding=e.embedding),e.vision&&(t.vision=e.vision),0===Object.keys(t).length?null:t}async function p(e,t){return null===t?(0,a.Pz)({llm:void 0}):(0,a.Pz)({llm:t}),d(e,{modelTier:g()})}async function c(e,t){return null===t?(0,a.Pz)({tts:void 0}):(0,a.Pz)({tts:t}),d(e,{modelTier:g()})}async function m(e,t){return null===t?(0,a.Pz)({embedding:void 0}):(0,a.Pz)({embedding:t}),d(e,{modelTier:g()})}async function h(e,t){return null===t?(0,a.Pz)({vision:void 0}):(0,a.Pz)({vision:t}),d(e,{modelTier:g()})}async function b(e,t){if(!e.baseUrl)return"offline";let i={};if("undefined"!=typeof localStorage)try{let e=localStorage.getItem("elanous.tts-voice-map");e&&(i=JSON.parse(e))}catch(e){}let n={...i};for(let e of["default","chat","digest","alert","discord"])if(e in t){let i=t[e];null==i||""===i.trim()?delete n[e]:n[e]=i.trim()}let l=(0,a.Ij)(),o={};l.stt&&(o.stt=l.stt),l.tts&&(o.tts=l.tts),Object.keys(n).length>0&&(o.ttsVoice=n);let r={};return Object.keys(o).length>0&&(r.voice=o),l.llm&&(r.llm=l.llm),d(e,{modelTier:0===Object.keys(r).length?null:r})}async function f(e,t){if(!e.baseUrl)return"offline";if(null===t){let t=(0,a.Ij)(),i={},n={};return t.stt&&(n.stt=t.stt),t.tts&&(n.tts=t.tts),Object.keys(n).length>0&&(i.voice=n),t.llm&&(i.llm=t.llm),d(e,{modelTier:0===Object.keys(i).length?null:i})}if((0,a.Pz)({stt:t.tiers.stt,tts:t.tiers.tts,llm:t.tiers.llm}),t.ttsVoice&&"undefined"!=typeof localStorage)try{localStorage.setItem("elanous.tts-voice-map",JSON.stringify(t.ttsVoice))}catch(e){}let i=(0,a.Ij)(),n={};i.stt&&(n.stt=i.stt),i.tts&&(n.tts=i.tts),t.ttsVoice&&Object.keys(t.ttsVoice).length>0&&(n.ttsVoice=t.ttsVoice);let l={preset:t.id};Object.keys(n).length>0&&(l.voice=n),i.llm&&(l.llm=i.llm);let o={modelTier:l};return void 0!==t.monthlyUsdCap&&(o.budget={monthlyUsdCap:t.monthlyUsdCap}),d(e,o)}},47940:(e,t,i)=>{i.d(t,{Bg:()=>u,D9:()=>m,K0:()=>r,LW:()=>a,Ql:()=>n,T0:()=>c,YS:()=>s,eP:()=>b,f7:()=>h,j$:()=>l,mp:()=>o,nX:()=>d});let n=["budget","balanced","better","best","loaded"],a={budget:"Budget",balanced:"Balanced",better:"Better",best:"Best",loaded:"Loaded"},l="balanced";function o(e){return"string"==typeof e&&n.includes(e)}function r(e){return n.indexOf(e)}let s={budget:{label:"Local (whisper.cpp)",rationale:"Offline \xb7 $0/min \xb7 install local whisper.cpp first",usdPerMinAudio:0,loadedExtraUsdPerMin:0,provider:"whisper-cpp-local",model:"whisper.cpp",status:"wip"},balanced:{label:"OpenAI mini transcribe",rationale:"Sensible default \xb7 streaming \xb7 $0.003/min",usdPerMinAudio:.003,loadedExtraUsdPerMin:0,provider:"openai-realtime-stt",model:"gpt-4o-mini-transcribe",status:"shipping"},better:{label:"OpenAI gpt-4o transcribe",rationale:"Higher accuracy \xb7 still streaming \xb7 $0.006/min",usdPerMinAudio:.006,loadedExtraUsdPerMin:0,provider:"openai-realtime-stt",model:"gpt-4o-transcribe",status:"shipping"},best:{label:"OpenAI gpt-realtime-whisper",rationale:"Best accuracy \xb7 domain adaptation \xb7 $0.017/min",usdPerMinAudio:.017,loadedExtraUsdPerMin:0,provider:"openai-realtime-stt",model:"gpt-realtime-whisper",status:"shipping"},loaded:{label:"OpenAI gpt-realtime-whisper \xb7 loaded",rationale:"Loaded \xb7 logprobs + timestamps + tightest latency \xb7 ~$0.025/min",usdPerMinAudio:.017,loadedExtraUsdPerMin:.008,provider:"openai-realtime-stt",model:"gpt-realtime-whisper",status:"shipping"}};function d(e,t){return!Number.isFinite(t)||t<=0?0:30*t*function(e){let t=s[e];return t.usdPerMinAudio+t.loadedExtraUsdPerMin}(e)}function u(e){return!Number.isFinite(e)||e<=0?"$0/mo":e<.01?"<$0.01/mo":e<10?"$".concat(e.toFixed(2),"/mo"):e<100?"$".concat(e.toFixed(1),"/mo"):"$".concat(Math.round(e),"/mo")}let g={budget:{model:"claude-haiku-4-5",reasoningLevel:"off",label:"Claude Haiku 4.5",rationale:"Fast \xb7 cheap \xb7 default for most chat",status:"shipping"},balanced:{model:"claude-haiku-4-5",reasoningLevel:"off",label:"Claude Haiku 4.5",rationale:"Default \xb7 fast multi-turn",status:"shipping"},better:{model:"claude-sonnet-4-6",reasoningLevel:"low",label:"Claude Sonnet 4.6 \xb7 reasoning low",rationale:"Higher quality \xb7 reasoning hint",status:"shipping"},best:{model:"claude-opus-4-7",reasoningLevel:"medium",label:"Claude Opus 4.7 \xb7 reasoning medium",rationale:"Best reasoning \xb7 longer plans",status:"shipping"},loaded:{model:"claude-opus-4-7",reasoningLevel:"high",label:"Claude Opus 4.7 \xb7 extended thinking",rationale:"Loaded \xb7 extended thinking \xb7 multi-step depth",status:"shipping"}},p={anthropic:g,openai:{budget:{model:"gpt-4o-mini",reasoningLevel:"off",label:"GPT-4o-mini",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"gpt-4o-mini",reasoningLevel:"off",label:"GPT-4o-mini",rationale:"Default \xb7 multi-turn",status:"shipping"},better:{model:"gpt-4o",reasoningLevel:"off",label:"GPT-4o",rationale:"Higher quality \xb7 multimodal",status:"shipping"},best:{model:"o1",reasoningLevel:"medium",label:"o1 \xb7 reasoning medium",rationale:"Best reasoning \xb7 slower",status:"shipping"},loaded:{model:"o1",reasoningLevel:"high",label:"o1 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step reasoning",status:"shipping"}},gemini:{budget:{model:"gemini-2.5-flash",reasoningLevel:"off",label:"Gemini 2.5 Flash",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"gemini-2.5-flash",reasoningLevel:"off",label:"Gemini 2.5 Flash",rationale:"Default \xb7 low-latency",status:"shipping"},better:{model:"gemini-2.5-pro",reasoningLevel:"off",label:"Gemini 2.5 Pro",rationale:"Higher quality \xb7 larger context",status:"shipping"},best:{model:"gemini-2.5-pro",reasoningLevel:"medium",label:"Gemini 2.5 Pro \xb7 thinking",rationale:"Pro with reasoning hint",status:"shipping"},loaded:{model:"gemini-2.5-pro",reasoningLevel:"high",label:"Gemini 2.5 Pro \xb7 deep thinking",rationale:"Loaded \xb7 deep reasoning \xb7 slowest",status:"shipping"}},"openai-codex":{budget:{model:"codex-mini",reasoningLevel:"off",label:"codex-mini",rationale:"Light tasks \xb7 ChatGPT OAuth",status:"shipping"},balanced:{model:"gpt-5.4",reasoningLevel:"off",label:"GPT-5.4",rationale:"Default \xb7 multi-turn coding",status:"shipping"},better:{model:"gpt-5.4",reasoningLevel:"low",label:"GPT-5.4 \xb7 reasoning low",rationale:"Reasoning hint",status:"shipping"},best:{model:"gpt-5.4",reasoningLevel:"medium",label:"GPT-5.4 \xb7 reasoning medium",rationale:"Deeper reasoning",status:"shipping"},loaded:{model:"gpt-5.4",reasoningLevel:"high",label:"GPT-5.4 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},local:{budget:{model:"qwen3.6-coder-7b",label:"Qwen 3.6 Coder 7B",rationale:"Offline \xb7 cheap \xb7 install LM Studio / Ollama",status:"wip"},balanced:{model:"qwen3.6-coder-7b",label:"Qwen 3.6 Coder 7B",rationale:"Default local \xb7 fast",status:"wip"},better:{model:"glm-4.5-air",label:"GLM 4.5 Air",rationale:"Higher quality local",status:"wip"},best:{model:"qwen3.6-32b",label:"Qwen 3.6 32B",rationale:"Best local \xb7 needs ≥48GB RAM",status:"wip"},loaded:{model:"qwen3.6-32b",reasoningLevel:"high",label:"Qwen 3.6 32B \xb7 multi-turn",rationale:"Loaded local \xb7 long context \xb7 slowest",status:"wip"}},kimi:{budget:{model:"moonshot-v1-8k",label:"Moonshot v1 8K",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"moonshot-v1-32k",label:"Moonshot v1 32K",rationale:"Default",status:"shipping"},better:{model:"moonshot-v1-128k",label:"Moonshot v1 128K",rationale:"Higher quality \xb7 long context",status:"shipping"},best:{model:"kimi-k2.6",label:"Kimi K2.6 (1T MoE)",rationale:"Best \xb7 K2.6 flagship",status:"shipping"},loaded:{model:"kimi-k2.6",reasoningLevel:"high",label:"Kimi K2.6 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},qwen:{budget:{model:"qwen-turbo",label:"Qwen Turbo",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"qwen-plus",label:"Qwen Plus",rationale:"Default",status:"shipping"},better:{model:"qwen-max",label:"Qwen Max",rationale:"Higher quality",status:"shipping"},best:{model:"qwen3.6-max-235b",label:"Qwen 3.6 Max 235B",rationale:"Best \xb7 flagship",status:"shipping"},loaded:{model:"qwen3.6-max-235b",reasoningLevel:"high",label:"Qwen 3.6 Max 235B \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},glm:{budget:{model:"glm-4-flash",label:"GLM 4 Flash",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"glm-4-air",label:"GLM 4 Air",rationale:"Default",status:"shipping"},better:{model:"glm-4-plus",label:"GLM 4 Plus",rationale:"Higher quality",status:"shipping"},best:{model:"glm-5.1",label:"GLM 5.1 (754B MoE)",rationale:"Best \xb7 GLM-5.1 flagship",status:"shipping"},loaded:{model:"glm-5.1",reasoningLevel:"high",label:"GLM 5.1 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},grok:{budget:{model:"grok-4.20-non-reasoning",reasoningLevel:"off",label:"Grok 4.20 (non-reasoning)",rationale:"$1.25/$2.50 \xb7 2M context",status:"shipping"},balanced:{model:"grok-4.20",reasoningLevel:"low",label:"Grok 4.20 \xb7 reasoning low",rationale:"저가 워크호스 \xb7 2M context",status:"shipping"},better:{model:"grok-4.6",reasoningLevel:"medium",label:"Grok 4.6 \xb7 reasoning medium",rationale:"Flagship 500k \xb7 구현/판정",status:"shipping"},best:{model:"grok-4.6",reasoningLevel:"high",label:"Grok 4.6 \xb7 reasoning high",rationale:"Flagship 심층 \xb7 골분해/리뷰",status:"shipping"},loaded:{model:"grok-4.6",reasoningLevel:"high",label:"Grok 4.6 \xb7 reasoning high",rationale:"4.6 의 추론 상한이 high 라 best 와 같다",status:"shipping"}}},c={anthropic:"Anthropic",openai:"OpenAI",gemini:"Gemini","openai-codex":"OpenAI Codex",local:"Local",kimi:"Kimi",qwen:"Qwen",glm:"GLM",grok:"Grok"};function m(e){return"string"==typeof e&&Object.prototype.hasOwnProperty.call(p,e)}function h(e,t){return"auto"!==e&&m(e)?p[e][t]:g.balanced}let b={budget:{provider:"macos-say",model:"system",label:"macOS say (local)",rationale:"Free \xb7 offline \xb7 macOS only",usdPerCharacter:0,status:"shipping"},balanced:{provider:"openai-tts",model:"tts-1",label:"OpenAI TTS",rationale:"Default \xb7 $15/M chars \xb7 multi-voice",usdPerCharacter:15e-6,status:"shipping"},better:{provider:"openai-tts",model:"tts-1-hd",label:"OpenAI TTS HD",rationale:"Higher fidelity \xb7 $30/M chars",usdPerCharacter:3e-5,status:"shipping"},best:{provider:"elevenlabs-tts",model:"eleven_flash_v2_5",label:"ElevenLabs Flash v2.5",rationale:"Best \xb7 ~75ms latency \xb7 32 langs \xb7 $20/M chars",usdPerCharacter:2e-5,status:"shipping"},loaded:{provider:"elevenlabs-tts",model:"eleven_multilingual_v2",label:"ElevenLabs Multilingual v2",rationale:"Loaded \xb7 long-form fidelity \xb7 29 langs \xb7 ~$20/M chars",usdPerCharacter:2e-5,status:"shipping"}}},73814:(e,t,i)=>{i.d(t,{Vl:()=>s,gh:()=>a,iQ:()=>l,s0:()=>r});var n=i(44084);async function a(e){if(!e.baseUrl)return null;try{let t=await fetch(e.baseUrl.replace(/\/$/,"")+"/v1/budget/status",{headers:function(e){let t={"content-type":"application/json"};return e.token&&(t.authorization="Bearer ".concat(e.token)),t}(e)});if(!t.ok)return null;return await t.json()}catch(e){return null}}async function l(e,t){let[i,a,l]=await Promise.all([(0,n.ZB)(e,t),(0,n.tM)(e,t),(0,n.pP)(e,t)]),o=["error","offline","syncing","idle","synced"];return[i,a,l].reduce((e,t)=>o.indexOf(t)<o.indexOf(e)?t:e,"synced")}function o(e,t){return"".concat("elanous.budget.dismissed.").concat(e,".").concat(t)}function r(e,t){if("undefined"!=typeof localStorage)try{localStorage.setItem(o(e,t),"1")}catch(e){}}function s(e){return!("ok"===e.status||!e.recommendedFallback||function(e,t){if("undefined"==typeof localStorage)return!1;try{return"1"===localStorage.getItem(o(e,t))}catch(e){return!1}}(e.monthYYYYMM,e.status))}},85737:(e,t,i)=>{i.d(t,{KS:()=>u,M_:()=>o,Qc:()=>a,ik:()=>d,lu:()=>s,u4:()=>l});let n="elanous.voice.prefs",a={speakingThresholdMultiplier:2},l=1,o=5;function r(e){return Number.isFinite(e)?Math.min(o,Math.max(l,e)):a.speakingThresholdMultiplier}function s(){if("undefined"==typeof localStorage)return{...a};try{let e=localStorage.getItem(n);if(!e)return{...a};let t=JSON.parse(e);return{speakingThresholdMultiplier:"number"==typeof t.speakingThresholdMultiplier?r(t.speakingThresholdMultiplier):a.speakingThresholdMultiplier}}catch(e){return{...a}}}function d(e){let t=s(),i={speakingThresholdMultiplier:"number"==typeof e.speakingThresholdMultiplier?r(e.speakingThresholdMultiplier):t.speakingThresholdMultiplier};if("undefined"==typeof localStorage)return i;try{localStorage.setItem(n,JSON.stringify(i))}catch(e){}return i}function u(){if("undefined"==typeof localStorage)return{...a};try{localStorage.removeItem(n)}catch(e){}return{...a}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7514],{53559:(e,t,l)=>{l.d(t,{lN:()=>h});var a=l(94451),r=l(75699),i=l(26758),s=l(64942),n=l(67330),d=l(18639);let c=[{value:"decompose",label:"쪼개기"},{value:"wait-reset",label:"리셋까지 기다리기"},{value:"next-provider",label:"다음 프로바이더"},{value:"proceed",label:"그대로 진행"}];function o(e){return{mode:e.resolved.mode,chain:e.resolved.chain.map(e=>({...e})),minHeadroomPercent:String(e.resolved.budgetGate.minHeadroomPercent),onShortfall:e.resolved.budgetGate.onShortfall}}function u(e,t,l){let a=t+l;if(a<0||a>=e.length)return e;let r=e.slice(),[i]=r.splice(t,1);return r.splice(a,0,i),r}function m(e){if(e instanceof d.Iu&&e.body&&"object"==typeof e.body){var t,l;let a=e.body;return null!=(l=null!=(t=a.reason)?t:a.error)?l:e.message}return e instanceof Error?e.message:String(e)}function h(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},d=(0,n.Qj)(),h=null!=(e=l.client)?e:d,[x,f]=(0,r.useState)(!!l.initialDraft),[p,b]=(0,r.useState)([]),[v,g]=(0,r.useState)(null!=(t=l.initialDraft)?t:null),[j,y]=(0,r.useState)(!l.initialDraft),[N,k]=(0,r.useState)(!1),[S,w]=(0,r.useState)(""),[C,P]=(0,r.useState)("");(0,r.useEffect)(()=>{f(!0)},[]);let E=(0,r.useCallback)(async()=>{if(h){y(!0);try{let e=await h.getChildLlmPreference();b(e.providers),g(o(e)),P("")}catch(e){P(m(e))}finally{y(!1)}}},[h]);(0,r.useEffect)(()=>{x&&h&&E()},[x,h,E]);let z=async()=>{if(!h||!v)return;k(!0),w(""),P("");let e=Number(v.minHeadroomPercent);try{let t=await h.setChildLlmPreference({mode:v.mode,chain:v.chain.map(e=>{var t;return{provider:e.provider.trim(),...(null==(t=e.model)?void 0:t.trim())?{model:e.model.trim()}:{}}}).filter(e=>e.provider),budgetGate:{...Number.isFinite(e)?{minHeadroomPercent:e}:{},onShortfall:v.onShortfall}});g(o({resolved:t.resolved,providers:p})),w("저장했습니다.")}catch(e){P(m(e))}finally{k(!1)}};if(!x||!h||!v)return(0,a.jsxs)("section",{className:"space-y-2 rounded border border-border bg-card p-4","data-testid":"child-llm-preference-card",children:[C&&(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive","data-testid":"child-llm-error",children:C}),j&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"불러오는 중…"})]});let H=v.chain.length>1,$=p.length>0?p:["grok"];return(0,a.jsxs)("section",{className:"space-y-4 rounded border border-border bg-card p-4","data-testid":"child-llm-preference-card",children:[(0,a.jsxs)("header",{children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:"자식 LLM 선호"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"구현에 쓸 모델 순서와, 예산이 모자랄 때의 행동."})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{htmlFor:"child-llm-mode",className:"text-sm font-medium",children:"모드"}),(0,a.jsxs)("select",{id:"child-llm-mode","data-testid":"child-llm-mode",value:v.mode,onChange:e=>g({...v,mode:e.target.value}),className:"flex h-9 w-full rounded-md border border-input bg-background px-3 text-sm",children:[(0,a.jsx)("option",{value:"pinned",children:"고정"}),(0,a.jsx)("option",{value:"auto",children:"자동"})]})]}),"auto"===v.mode&&(0,a.jsxs)("div",{className:"space-y-2","data-testid":"child-llm-chain",children:[(0,a.jsx)("p",{className:"text-sm font-medium",children:"순서"}),v.chain.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-2","data-testid":"child-llm-chain-row",children:[(0,a.jsx)("select",{"aria-label":"프로바이더 ".concat(t+1),value:e.provider,onChange:l=>{let a=v.chain.slice();a[t]={...e,provider:l.target.value},g({...v,chain:a})},className:"flex h-9 flex-1 rounded-md border border-input bg-background px-3 text-sm",children:$.map(e=>(0,a.jsx)("option",{value:e,children:e},e))}),H&&(0,a.jsxs)("span",{className:"flex gap-1","data-testid":"child-llm-order",children:[(0,a.jsx)(i.$,{type:"button",size:"sm",variant:"outline","aria-label":"".concat(t+1," 위로"),disabled:0===t,onClick:()=>g({...v,chain:u(v.chain,t,-1)}),children:"위"}),(0,a.jsx)(i.$,{type:"button",size:"sm",variant:"outline","aria-label":"".concat(t+1," 아래로"),disabled:t===v.chain.length-1,onClick:()=>g({...v,chain:u(v.chain,t,1)}),children:"아래"})]}),(0,a.jsx)(i.$,{type:"button",size:"sm",variant:"outline","aria-label":"".concat(t+1," 빼기"),onClick:()=>g({...v,chain:v.chain.filter((e,l)=>l!==t)}),children:"빼기"})]},"".concat(e.provider,"-").concat(t))),(0,a.jsx)(i.$,{type:"button",size:"sm",variant:"outline","data-testid":"child-llm-add",onClick:()=>{var e;return g({...v,chain:[...v.chain,{provider:null!=(e=$[0])?e:"grok"}]})},children:"추가"})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{htmlFor:"child-llm-headroom",className:"text-sm font-medium",children:"예산 여유 %"}),(0,a.jsx)(s.p,{id:"child-llm-headroom","data-testid":"child-llm-headroom",inputMode:"numeric",value:v.minHeadroomPercent,onChange:e=>g({...v,minHeadroomPercent:e.target.value})})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{htmlFor:"child-llm-shortfall",className:"text-sm font-medium",children:"모자랄 때"}),(0,a.jsx)("select",{id:"child-llm-shortfall","data-testid":"child-llm-shortfall",value:v.onShortfall,onChange:e=>g({...v,onShortfall:e.target.value}),className:"flex h-9 w-full rounded-md border border-input bg-background px-3 text-sm",children:c.map(e=>(0,a.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,a.jsx)(i.$,{type:"button",size:"sm","data-testid":"child-llm-save",onClick:()=>void z(),disabled:N,children:"저장"}),S&&(0,a.jsx)("p",{role:"status",className:"text-xs","data-testid":"child-llm-saved",children:S}),C&&(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive","data-testid":"child-llm-error",children:C})]})}},60856:(e,t,l)=>{l.d(t,{Q:()=>c});var a=l(94451),r=l(75699),i=l(26758),s=l(67330),n=l(18639);function d(e){if(e instanceof n.Iu&&e.body&&"object"==typeof e.body){var t,l;let a=e.body;return null!=(l=null!=(t=a.reason)?t:a.error)?l:e.message}return e instanceof Error?e.message:String(e)}function c(){var e,t;let{client:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,s.Qj)(),c=null!=l?l:n,[o,u]=(0,r.useState)(null),[m,h]=(0,r.useState)(null),[x,f]=(0,r.useState)(!1),[p,b]=(0,r.useState)(""),[v,g]=(0,r.useState)(!1),j=(0,r.useCallback)(async()=>{if(c)try{let e=await c.getAnswerPriority();u(e),h(e.effective),b("")}catch(e){b(d(e))}},[c]);(0,r.useEffect)(()=>{j()},[j]);let y=async()=>{if(c&&m){f(!0),g(!1),b("");try{let e=await c.setAnswerPriority(m);u(t=>t&&{...t,value:e.value,effective:e.value}),g(!0)}catch(e){b(d(e))}finally{f(!1)}}};return(0,a.jsxs)("section",{className:"space-y-4 rounded border border-border bg-card p-4","data-testid":"answer-depth-card",children:[(0,a.jsxs)("header",{children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:"답변 깊이"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"한 번 답할 때 도구를 얼마나 깊게 사용할지 선택하세요."})]}),o&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("fieldset",{className:"space-y-2",children:[(0,a.jsxs)("legend",{className:"text-sm font-medium",children:["현재 값: ",null!=(t=null==(e=o.choices.find(e=>e.value===o.effective))?void 0:e.label)?t:o.effective]}),o.choices.map(e=>(0,a.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 text-sm",children:[(0,a.jsx)("input",{type:"radio",name:"answer-depth",value:e.value,checked:m===e.value,onChange:()=>{h(e.value),g(!1)}}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"font-medium",children:e.label}),(0,a.jsx)("span",{className:"block text-xs text-muted-foreground",children:e.description})]})]},e.value))]}),(0,a.jsx)(i.$,{type:"button",size:"sm",onClick:()=>void y(),disabled:x||!m,children:"저장"}),v&&(0,a.jsx)("p",{role:"status",className:"text-xs",children:"저장했습니다."})]}),p&&(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:p})]})}},64942:(e,t,l)=>{l.d(t,{p:()=>s});var a=l(94451);l(75699);var r=l(62200),i=l(16565);function s(e){let{className:t,type:l,...s}=e;return(0,a.jsx)(r.p,{type:l,"data-slot":"input",className:(0,i.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",t),...s})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7515],{35151:(t,e,r)=>{r.d(e,{m:()=>s});var a=r(20330),s=class{constructor(t){this.init=t,this.records=this.init()}static{(0,a.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},38817:(t,e,r)=>{r.d(e,{CP:()=>p,Ck:()=>h,HT:()=>y,PB:()=>c,aC:()=>x,lC:()=>d,m:()=>o,tk:()=>n});var a=r(46238),s=r(20330),l=r(73340),i=r(91063),n=(0,s.K)((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)r.attr(t,e.attrs[t]);return e.class&&r.attr("class",e.class),r},"drawRect"),d=(0,s.K)((t,e)=>{n(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,s.K)((t,e)=>{let r=e.text.replace(a.H1," "),s=t.append("text");s.attr("x",e.x),s.attr("y",e.y),s.attr("class","legend"),s.style("text-anchor",e.anchor),e.class&&s.attr("class",e.class);let l=s.append("tspan");return l.attr("x",e.x+2*e.textMargin),l.text(r),s},"drawText"),x=(0,s.K)((t,e,r,a)=>{let s=t.append("image");s.attr("x",e),s.attr("y",r);let i=(0,l.J)(a);s.attr("xlink:href",i)},"drawImage"),p=(0,s.K)((t,e,r,a)=>{let s=t.append("use");s.attr("x",e),s.attr("y",r);let i=(0,l.J)(a);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),c=(0,s.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,s.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),h=(0,s.K)(()=>{let t=(0,i.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,i.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")}}]);
@@ -0,0 +1,24 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7521],{9902:(t,e,a)=>{a.d(e,{diagram:()=>$});var r=a(72375),i=a(4910),l=a(11226),o=a(46238),s=a(96556),n=a(20330),c=a(43250),d=o.UI.packet,k=class{constructor(){this.packet=[],this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,n.K)(this,"PacketDB")}getConfig(){let t=(0,l.$t)({...d,...(0,o.zj)().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){(0,o.IU)(),this.packet=[]}},p=(0,n.K)((t,e)=>{(0,r.S)(t,e);let a=-1,i=[],l=1,{bitsPerRow:o}=e.getConfig();for(let{start:r,end:n,bits:c,label:d}of t.blocks){if(void 0!==r&&void 0!==n&&n<r)throw Error(`Packet block ${r} - ${n} is invalid. End must be greater than start.`);if((r??=a+1)!==a+1)throw Error(`Packet block ${r} - ${n??r} is not contiguous. It should start from ${a+1}.`);if(0===c)throw Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(n??=r+(c??1)-1,c??=n-r+1,a=n,s.R.debug(`Packet block ${r} - ${a} with label ${d}`);i.length<=o+1&&e.getPacket().length<1e4;){let[t,a]=h({start:r,end:n,bits:c,label:d},l,o);if(i.push(t),t.end+1===l*o&&(e.pushWord(i),i=[],l++),!a)break;({start:r,end:n,bits:c,label:d}=a)}}e.pushWord(i)},"populate"),h=(0,n.K)((t,e,a)=>{if(void 0===t.start)throw Error("start should have been set during first phase");if(void 0===t.end)throw Error("end should have been set during first phase");if(t.start>t.end)throw Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];let r=e*a-1,i=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),b={parser:{yy:void 0},parse:(0,n.K)(async t=>{let e=await (0,c.qg)("packet",t),a=b.parser?.yy;if(!(a instanceof k))throw Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");s.R.debug(e),p(e,a)},"parse")},f=(0,n.K)((t,e,a,r)=>{let l=r.db,s=l.getConfig(),{rowHeight:n,paddingY:c,bitWidth:d,bitsPerRow:k}=s,p=l.getPacket(),h=l.getDiagramTitle(),b=n+c,f=b*(p.length+1)-(h?0:n),u=d*k+2,$=(0,i.D)(e);for(let[t,e]of($.attr("viewBox",`0 0 ${u} ${f}`),(0,o.a$)($,f,u,s.useMaxWidth),p.entries()))g($,e,t,s);$.append("text").text(h).attr("x",u/2).attr("y",f-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),g=(0,n.K)((t,e,a,{rowHeight:r,paddingX:i,paddingY:l,bitWidth:o,bitsPerRow:s,showBits:n,bitOrder:c})=>{let d=t.append("g"),k=a*(r+l)+l,p="descending"===c;for(let t of e){let e=t.end-t.start+1,a=t.start%s,l=(p?s-a-e:a)*o+1,c=e*o-i;if(d.append("rect").attr("x",l).attr("y",k).attr("width",c).attr("height",r).attr("class","packetBlock"),d.append("text").attr("x",l+c/2).attr("y",k+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!n)continue;let[h,b]=p?[t.end,t.start]:[t.start,t.end],f=1===e,g=k-2;d.append("text").attr("x",l+(f?c/2:0)).attr("y",g).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",f?"middle":"start").text(h),f||d.append("text").attr("x",l+c).attr("y",g).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(b)}},"drawWord"),u={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},$={parser:b,get db(){return new k},renderer:{draw:f},styles:(0,n.K)(({packet:t}={})=>{let e=(0,l.$t)(u,t);return`
2
+ .packetByte {
3
+ font-size: ${e.byteFontSize};
4
+ }
5
+ .packetByte.start {
6
+ fill: ${e.startByteColor};
7
+ }
8
+ .packetByte.end {
9
+ fill: ${e.endByteColor};
10
+ }
11
+ .packetLabel {
12
+ fill: ${e.labelColor};
13
+ font-size: ${e.labelFontSize};
14
+ }
15
+ .packetTitle {
16
+ fill: ${e.titleColor};
17
+ font-size: ${e.titleFontSize};
18
+ }
19
+ .packetBlock {
20
+ stroke: ${e.blockStrokeColor};
21
+ stroke-width: ${e.blockStrokeWidth};
22
+ fill: ${e.blockFillColor};
23
+ }
24
+ `},"styles")}},72375:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(20330).K)(r,"populateCommonDb")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7538],{67538:(e,a,s)=>{s.d(a,{createRadarServices:()=>c.f});var c=s(40585);s(62705)}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7611],{10721:(t,e)=>{e.read=function(t,e,r,n,i){var o,f,u=8*i-n-1,s=(1<<u)-1,h=s>>1,a=-7,l=r?i-1:0,p=r?-1:1,c=t[e+l];for(l+=p,o=c&(1<<-a)-1,c>>=-a,a+=u;a>0;o=256*o+t[e+l],l+=p,a-=8);for(f=o&(1<<-a)-1,o>>=-a,a+=n;a>0;f=256*f+t[e+l],l+=p,a-=8);if(0===o)o=1-h;else{if(o===s)return f?NaN:1/0*(c?-1:1);f+=Math.pow(2,n),o-=h}return(c?-1:1)*f*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var f,u,s,h=8*o-i-1,a=(1<<h)-1,l=a>>1,p=5960464477539062e-23*(23===i),c=n?0:o-1,y=n?1:-1,g=+(e<0||0===e&&1/e<0);for(isNaN(e=Math.abs(e))||e===1/0?(u=+!!isNaN(e),f=a):(f=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-f))<1&&(f--,s*=2),f+l>=1?e+=p/s:e+=p*Math.pow(2,1-l),e*s>=2&&(f++,s/=2),f+l>=a?(u=0,f=a):f+l>=1?(u=(e*s-1)*Math.pow(2,i),f+=l):(u=e*Math.pow(2,l-1)*Math.pow(2,i),f=0));i>=8;t[r+c]=255&u,c+=y,u/=256,i-=8);for(f=f<<i|u,h+=i;h>0;t[r+c]=255&f,c+=y,f/=256,h-=8);t[r+c-y]|=128*g}},67611:(t,e,r)=>{"use strict";let n=r(71752),i=r(10721),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function f(t){if(t>0x7fffffff)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return a(t)}return s(t,e,r)}function s(t,e,r){if("string"==typeof t){var n=t,i=e;if(("string"!=typeof i||""===i)&&(i="utf8"),!u.isEncoding(i))throw TypeError("Unknown encoding: "+i);let r=0|y(n,i),o=f(r),s=o.write(n,i);return s!==r&&(o=o.slice(0,s)),o}if(ArrayBuffer.isView(t)){var o=t;if(k(o,Uint8Array)){let t=new Uint8Array(o);return p(t.buffer,t.byteOffset,t.byteLength)}return l(o)}if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(k(t,ArrayBuffer)||t&&k(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(k(t,SharedArrayBuffer)||t&&k(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');let s=t.valueOf&&t.valueOf();if(null!=s&&s!==t)return u.from(s,e,r);let h=function(t){if(u.isBuffer(t)){let e=0|c(t.length),r=f(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||function(t){return t!=t}(t.length)?f(0):l(t):"Buffer"===t.type&&Array.isArray(t.data)?l(t.data):void 0}(t);if(h)return h;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return u.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function a(t){return h(t),f(t<0?0:0|c(t))}function l(t){let e=t.length<0?0:0|c(t.length),r=f(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){let n;if(e<0||t.byteLength<e)throw RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),u.prototype),n}function c(t){if(t>=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function y(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||k(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function g(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=e;n<r;++n)i+=P[t[n]];return i}(this,e,r);case"utf8":case"utf-8":return B(this,e,r);case"ascii":return function(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}(this,e,r);case"latin1":case"binary":return function(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case"base64":var o,f,u;return o=this,f=e,u=r,0===f&&u===o.length?n.fromByteArray(o):n.fromByteArray(o.slice(f,u));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(t,e,r){let n=t.slice(e,r),i="";for(let t=0;t<n.length-1;t+=2)i+=String.fromCharCode(n[t]+256*n[t+1]);return i}(this,e,r);default:if(i)throw TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function d(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}function b(t,e,r,n,i){var o;if(0===t.length)return -1;if("string"==typeof r?(n=r,r=0):r>0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(o=r*=1)!=o&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length)if(i)return -1;else r=t.length-1;else if(r<0)if(!i)return -1;else r=0;if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:w(t,e,r,n,i);if("number"==typeof e){if(e&=255,"function"==typeof Uint8Array.prototype.indexOf)if(i)return Uint8Array.prototype.indexOf.call(t,e,r);else return Uint8Array.prototype.lastIndexOf.call(t,e,r);return w(t,[e],r,n,i)}throw TypeError("val must be string, number or Buffer")}function w(t,e,r,n,i){let o,f=1,u=t.length,s=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;f=2,u/=2,s/=2,r/=2}function h(t,e){return 1===f?t[e]:t.readUInt16BE(e*f)}if(i){let n=-1;for(o=r;o<u;o++)if(h(t,o)===h(e,-1===n?0:o-n)){if(-1===n&&(n=o),o-n+1===s)return n*f}else -1!==n&&(o-=o-n),n=-1}else for(r+s>u&&(r=u-s),o=r;o>=0;o--){let r=!0;for(let n=0;n<s;n++)if(h(t,o+n)!==h(e,n)){r=!1;break}if(r)return o}return -1}function B(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let e=t[i],o=null,f=e>239?4:e>223?3:e>191?2:1;if(i+f<=r){let r,n,u,s;switch(f){case 1:e<128&&(o=e);break;case 2:(192&(r=t[i+1]))==128&&(s=(31&e)<<6|63&r)>127&&(o=s);break;case 3:r=t[i+1],n=t[i+2],(192&r)==128&&(192&n)==128&&(s=(15&e)<<12|(63&r)<<6|63&n)>2047&&(s<55296||s>57343)&&(o=s);break;case 4:r=t[i+1],n=t[i+2],u=t[i+3],(192&r)==128&&(192&n)==128&&(192&u)==128&&(s=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&u)>65535&&s<1114112&&(o=s)}}null===o?(o=65533,f=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=f}var o=n;let f=o.length;if(f<=4096)return String.fromCharCode.apply(String,o);let u="",s=0;for(;s<f;)u+=String.fromCharCode.apply(String,o.slice(s,s+=4096));return u}function E(t,e,r){if(t%1!=0||t<0)throw RangeError("offset is not uint");if(t+e>r)throw RangeError("Trying to access beyond buffer length")}function m(t,e,r,n,i,o){if(!u.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw RangeError('"value" argument is out of bounds');if(r+n>t.length)throw RangeError("Index out of range")}function I(t,e,r,n,i){L(e,n,i,t,r,7);let o=Number(e&BigInt(0xffffffff));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let f=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,r}function A(t,e,r,n,i){L(e,n,i,t,r,7);let o=Number(e&BigInt(0xffffffff));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let f=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r+3]=f,f>>=8,t[r+2]=f,f>>=8,t[r+1]=f,f>>=8,t[r]=f,r+8}function v(t,e,r,n,i,o){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function U(t,e,r,n,o){return e*=1,r>>>=0,o||v(t,e,r,4,34028234663852886e22,-34028234663852886e22),i.write(t,e,r,n,23,4),r+4}function R(t,e,r,n,o){return e*=1,r>>>=0,o||v(t,e,r,8,17976931348623157e292,-17976931348623157e292),i.write(t,e,r,n,52,8),r+8}e.hp=u,e.IS=50,u.TYPED_ARRAY_SUPPORT=function(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),u.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}}),u.poolSize=8192,u.from=function(t,e,r){return s(t,e,r)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array),u.alloc=function(t,e,r){return(h(t),t<=0)?f(t):void 0!==e?"string"==typeof r?f(t).fill(e,r):f(t).fill(e):f(t)},u.allocUnsafe=function(t){return a(t)},u.allocUnsafeSlow=function(t){return a(t)},u.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==u.prototype},u.compare=function(t,e){if(k(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),k(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(t)||!u.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:+(n<r)},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){let r;if(!Array.isArray(t))throw TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);if(void 0===e)for(r=0,e=0;r<t.length;++r)e+=t[r].length;let n=u.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){let e=t[r];if(k(e,Uint8Array))i+e.length>n.length?(u.isBuffer(e)||(e=u.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else if(u.isBuffer(e))e.copy(n,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=e.length}return n},u.byteLength=y,u.prototype._isBuffer=!0,u.prototype.swap16=function(){let t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)d(this,e,e+1);return this},u.prototype.swap32=function(){let t=this.length;if(t%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},u.prototype.swap64=function(){let t=this.length;if(t%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},u.prototype.toString=function(){let t=this.length;return 0===t?"":0==arguments.length?B(this,0,t):g.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(t){if(!u.isBuffer(t))throw TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){let t="",r=e.IS;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},o&&(u.prototype[o]=u.prototype.inspect),u.prototype.compare=function(t,e,r,n,i){if(k(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;let o=i-n,f=r-e,s=Math.min(o,f),h=this.slice(n,i),a=t.slice(e,r);for(let t=0;t<s;++t)if(h[t]!==a[t]){o=h[t],f=a[t];break}return o<f?-1:+(f<o)},u.prototype.includes=function(t,e,r){return -1!==this.indexOf(t,e,r)},u.prototype.indexOf=function(t,e,r){return b(this,t,e,r,!0)},u.prototype.lastIndexOf=function(t,e,r){return b(this,t,e,r,!1)},u.prototype.write=function(t,e,r,n){var i,o,f,u,s,h,a,l;if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let p=this.length-e;if((void 0===r||r>p)&&(r=p),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let c=!1;for(;;)switch(n){case"hex":return function(t,e,r,n){let i;r=Number(r)||0;let o=t.length-r;n?(n=Number(n))>o&&(n=o):n=o;let f=e.length;for(n>f/2&&(n=f/2),i=0;i<n;++i){var u;let n=parseInt(e.substr(2*i,2),16);if((u=n)!=u)break;t[r+i]=n}return i}(this,t,e,r);case"utf8":case"utf-8":return i=e,o=r,M($(t,this.length-i),this,i,o);case"ascii":case"latin1":case"binary":return f=e,u=r,M(function(t){let e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(t),this,f,u);case"base64":return s=e,h=r,M(N(t),this,s,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a=e,l=r,M(function(t,e){let r,n,i=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)n=(r=t.charCodeAt(o))>>8,i.push(r%256),i.push(n);return i}(t,this.length-a),this,a,l);default:if(c)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),c=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},u.prototype.slice=function(t,e){let r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);let n=this.subarray(t,e);return Object.setPrototypeOf(n,u.prototype),n},u.prototype.readUintLE=u.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n},u.prototype.readUintBE=u.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUint8=u.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+0x1000000*this[t+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),0x1000000*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readBigUInt64LE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&S(t,this.length-8);let n=e+256*this[++t]+65536*this[++t]+0x1000000*this[++t],i=this[++t]+256*this[++t]+65536*this[++t]+0x1000000*r;return BigInt(n)+(BigInt(i)<<BigInt(32))}),u.prototype.readBigUInt64BE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&S(t,this.length-8);let n=0x1000000*e+65536*this[++t]+256*this[++t]+this[++t],i=0x1000000*this[++t]+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<<BigInt(32))+BigInt(i)}),u.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=e,i=1,o=this[t+--n];for(;n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return(t>>>=0,e||E(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},u.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);let r=this[t]|this[t+1]<<8;return 32768&r?0xffff0000|r:r},u.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);let r=this[t+1]|this[t]<<8;return 32768&r?0xffff0000|r:r},u.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readBigInt64LE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&S(t,this.length-8),(BigInt(this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24))<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+0x1000000*this[++t])}),u.prototype.readBigInt64BE=j(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&S(t,this.length-8),(BigInt((e<<24)+65536*this[++t]+256*this[++t]+this[++t])<<BigInt(32))+BigInt(0x1000000*this[++t]+65536*this[++t]+256*this[++t]+r)}),u.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(t,e,r,n){if(t*=1,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;m(this,t,e,r,n,0)}let i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(t,e,r,n){if(t*=1,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;m(this,t,e,r,n,0)}let i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUint8=u.prototype.writeUInt8=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,1,255,0),this[e]=255&t,e+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0xffffffff,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0xffffffff,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeBigUInt64LE=j(function(t,e=0){return I(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=j(function(t,e=0){return A(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(t,e,r,n){if(t*=1,e>>>=0,!n){let n=Math.pow(2,8*r-1);m(this,t,e,r,n-1,-n)}let i=0,o=1,f=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===f&&0!==this[e+i-1]&&(f=1),this[e+i]=(t/o|0)-f&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t*=1,e>>>=0,!n){let n=Math.pow(2,8*r-1);m(this,t,e,r,n-1,-n)}let i=r-1,o=1,f=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===f&&0!==this[e+i+1]&&(f=1),this[e+i]=(t/o|0)-f&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeInt16BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeInt32LE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0x7fffffff,-0x80000000),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},u.prototype.writeInt32BE=function(t,e,r){return t*=1,e>>>=0,r||m(this,t,e,4,0x7fffffff,-0x80000000),t<0&&(t=0xffffffff+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeBigInt64LE=j(function(t,e=0){return I(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=j(function(t,e=0){return A(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return R(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return R(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(!u.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r||0===t.length||0===this.length)return 0;if(e<0)throw RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);let i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},u.prototype.fill=function(t,e,r,n){let i;if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===t.length){let e=t.charCodeAt(0);("utf8"===n&&e<128||"latin1"===n)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw RangeError("Out of range index");if(r<=e)return this;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{let o=u.isBuffer(t)?t:u.from(t,n),f=o.length;if(0===f)throw TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=o[i%f]}return this};let x={};function O(t,e,r){x[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function T(t){let e="",r=t.length,n=+("-"===t[0]);for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function L(t,e,r,n,i,o){if(t>r||t<e){let n,i="bigint"==typeof e?"n":"";throw n=o>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${(o+1)*8}${i}`:`>= -(2${i} ** ${(o+1)*8-1}${i}) and < 2 ** ${(o+1)*8-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new x.ERR_OUT_OF_RANGE("value",n,t)}_(i,"offset"),(void 0===n[i]||void 0===n[i+o])&&S(i,n.length-(o+1))}function _(t,e){if("number"!=typeof t)throw new x.ERR_INVALID_ARG_TYPE(e,"number",t)}function S(t,e,r){if(Math.floor(t)!==t)throw _(t,r),new x.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new x.ERR_BUFFER_OUT_OF_BOUNDS;throw new x.ERR_OUT_OF_RANGE(r||"offset",`>= ${+!!r} and <= ${e}`,t)}O("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),O("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),O("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>0x100000000?i=T(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=T(i)),i+="n"),n+=` It must be ${e}. Received ${i}`},RangeError);let C=/[^+/0-9A-Za-z-_]/g;function $(t,e){let r;e=e||1/0;let n=t.length,i=null,o=[];for(let f=0;f<n;++f){if((r=t.charCodeAt(f))>55295&&r<57344){if(!i){if(r>56319||f+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return o}function N(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(C,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function M(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length)&&!(i>=t.length);++i)e[i+r]=t[i];return i}function k(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}let P=function(){let t="0123456789abcdef",e=Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function j(t){return"undefined"==typeof BigInt?F:t}function F(){throw Error("BigInt not supported")}},71752:(t,e)=>{"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return(r+n)*3/4-n},e.toByteArray=function(t){var e,r,o=s(t),f=o[0],u=o[1],h=new i((f+u)*3/4-u),a=0,l=u>0?f-4:f;for(r=0;r<l;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],h[a++]=e>>16&255,h[a++]=e>>8&255,h[a++]=255&e;return 2===u&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,h[a++]=255&e),1===u&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,h[a++]=e>>8&255,h[a++]=255&e),h},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],f=0,u=n-i;f<u;f+=16383)o.push(function(t,e,n){for(var i,o=[],f=e;f<n;f+=3)i=(t[f]<<16&0xff0000)+(t[f+1]<<8&65280)+(255&t[f+2]),o.push(r[i>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return o.join("")}(t,f,f+16383>u?u:f+16383));return 1===i?o.push(r[(e=t[n-1])>>2]+r[e<<4&63]+"=="):2===i&&o.push(r[(e=(t[n-2]<<8)+t[n-1])>>10]+r[e>>4&63]+r[e<<2&63]+"="),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,u=o.length;f<u;++f)r[f]=o[f],n[o.charCodeAt(f)]=f;function s(t){var e=t.length;if(e%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}n[45]=62,n[95]=63}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7825],{4334:(e,t,s)=>{s.d(t,{Q:()=>c});var a=s(94451),l=s(75699),r=s(26758),i=s(64942),n=s(67330),o=s(18639);function d(e){if(e instanceof o.Iu&&e.body&&"object"==typeof e.body){var t;let s=e.body;return[null!=(t=s.reason)?t:s.error,s.path].filter(Boolean).join(": ")}return e instanceof Error?e.message:String(e)}function c(){let e=(0,n.Qj)(),[t,s]=(0,l.useState)(!1),[o,c]=(0,l.useState)(null),[u,x]=(0,l.useState)({vault:"",selection:"custom",dirs:""}),{vault:m,selection:h,dirs:b}=u,[p,v]=(0,l.useState)(!0),[f,j]=(0,l.useState)(!1),[k,g]=(0,l.useState)(""),[N,y]=(0,l.useState)(""),[S,w]=(0,l.useState)("");(0,l.useEffect)(()=>{s(!0)},[]);let C=(0,l.useCallback)(async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";if(e){v(!0);try{let s=await e.getObsidianSkills();c(s),x(e=>({vault:"skills"===t?e.vault:s.obsidian.vault,selection:"vault"===t?e.selection:s.skills.activeSet,dirs:"vault"===t?e.dirs:s.skills.dirs.join("\n")})),g("")}catch(e){g(d(e))}finally{v(!1)}}},[e]);(0,l.useEffect)(()=>{t&&e&&C()},[t,e,C]);let O=async()=>{if(e){j(!0),y("");try{var t;let s=await e.setObsidian({vault:m.trim()});await C("vault"),y(null!=(t=s.warning)?t:"Vault saved.")}catch(e){y(d(e))}finally{j(!1)}}},E=async()=>{if(e){j(!0),w("");try{await e.setSkills("custom"===h?{dirs:b.split("\n").map(e=>e.trim()).filter(Boolean)}:{activeSet:h}),await C("skills"),w("Skills saved.")}catch(e){w(d(e))}finally{j(!1)}}};return t&&e?(0,a.jsxs)("section",{className:"space-y-4 rounded border border-border bg-card p-4","data-testid":"obsidian-skills-card",children:[(0,a.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:"Obsidian & Skills"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Choose directories on the machine running NEXUS."})]}),(0,a.jsx)(r.$,{size:"sm",variant:"outline",onClick:()=>void C("all"),disabled:p||f,children:"Refresh"})]}),p&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Loading paths…"}),k&&(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:k}),o&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"obsidian-vault",className:"text-sm font-medium",children:"Obsidian vault path"}),(0,a.jsx)(i.p,{id:"obsidian-vault",value:m,onChange:e=>{x(t=>({...t,vault:e.target.value})),y("")},placeholder:"/absolute/path/to/vault"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"vault-validation",children:m===o.obsidian.vault?o.obsidian.looksLikeVault?"Vault found (.obsidian detected)":o.obsidian.exists?"Directory found; .obsidian not detected":"Directory not found":"Save to validate this path on the NEXUS host."}),(0,a.jsx)(r.$,{size:"sm",onClick:()=>void O(),disabled:f||!m.trim(),children:"Save vault"}),N&&(0,a.jsx)("p",{role:"status",className:"text-xs","data-testid":"vault-feedback",children:N})]}),(0,a.jsxs)("div",{className:"space-y-2 border-t border-border pt-3",children:[(0,a.jsx)("label",{htmlFor:"skills-preset",className:"text-sm font-medium",children:"Skills source"}),(0,a.jsxs)("select",{id:"skills-preset",value:h,onChange:e=>{x(t=>({...t,selection:e.target.value})),w("")},className:"flex h-9 w-full rounded-md border border-input bg-background px-3 text-sm",children:[o.skills.presets.map(e=>{var t;return(0,a.jsxs)("option",{value:e.key,children:[e.label," — ",null!=(t=e.dir)?t:"(no path)"," ",e.exists?"✓":"(missing)"]},e.key)}),(0,a.jsx)("option",{value:"custom",children:"Custom directories"})]}),"custom"===h&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("label",{htmlFor:"skills-dirs",className:"block text-xs text-muted-foreground",children:"One absolute directory per line"}),(0,a.jsx)("textarea",{id:"skills-dirs",value:b,onChange:e=>{x(t=>({...t,dirs:e.target.value})),w("")},rows:3,className:"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs",placeholder:"/absolute/path/to/skills"})]}),(0,a.jsx)(r.$,{size:"sm",onClick:()=>void E(),disabled:f,children:"Save skills"}),S&&(0,a.jsx)("p",{role:"status",className:"text-xs","data-testid":"skills-feedback",children:S})]})]})]}):null}},13406:(e,t,s)=>{s.d(t,{W:()=>c});var a=s(94451),l=s(75699),r=s(26758),i=s(64942),n=s(67330);let o=["telegram","discord"],d=["queued","approved","published"].map(e=>{var t;return"queued"===(t=e)?"대기열 대기 (승인 전)":"approved"===t?"승인 대기 (게시 전)":"게시됨"}).join(" → ");function c(){let{client:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,n.Qj)(),s=null!=e?e:t,[c,u]=(0,l.useState)([]),[x,m]=(0,l.useState)({}),[h,b]=(0,l.useState)({}),[p,v]=(0,l.useState)({}),[f,j]=(0,l.useState)(null),[k,g]=(0,l.useState)({}),[N,y]=(0,l.useState)("");(0,l.useEffect)(()=>{if(!s)return;let e=!1;return s.getChannelBots().then(t=>{let{platforms:s}=t;e||(u(s),b(e=>{let t={...e};for(let e of s)Object.hasOwn(t,e.platform)||(t[e.platform]=e.allowedUsers.join(", "));return t}))}).catch(()=>{e||y("봇 상태를 불러오지 못했습니다.")}),()=>{e=!0}},[s]);let S=async e=>{var t;if(!s)return;j(e),y("");let a=null==(t=x[e])?void 0:t.trim(),l=Object.hasOwn(h,e)?h[e].split(",").map(e=>e.trim()).filter(Boolean):void 0;m(t=>({...t,[e]:""}));try{let t=await s.setChannelBot({platform:e,...a?{token:a}:{},...void 0!==l?{allowedUsers:l}:{}});t.botName&&v(s=>({...s,[e]:t.botName})),g(s=>({...s,[e]:t.restartNeeded}));try{let e=await s.getChannelBots();u(e.platforms)}catch(e){y("저장됐지만 봇 상태를 다시 불러오지 못했습니다.")}}catch(t){y("".concat(e," 저장에 실패했습니다. 토큰과 허용 사용자 ID를 확인하세요."))}finally{j(null)}};return s?(0,a.jsxs)("section",{className:"space-y-4 rounded border border-border bg-card p-4","data-testid":"channel-bot-setup-card",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:"봇 연결"}),o.map(e=>{var t,s;let l=c.find(t=>t.platform===e);return(0,a.jsxs)("div",{className:"space-y-2 border-t border-border pt-3",children:[(0,a.jsx)("h3",{className:"text-sm font-medium capitalize",children:e}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:(null==l?void 0:l.configured)?"연결됨 (".concat(l.source,")"):"미연결"}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground","data-testid":"channel-publish-stages-help-".concat(e),children:["게시 대기열 단계 안내(현재 상태 미표시): ",d]}),p[e]&&(0,a.jsxs)("p",{className:"text-xs",children:["봇 이름: ",p[e]]}),(0,a.jsx)("label",{htmlFor:"".concat(e,"-bot-token"),className:"block text-xs",children:"봇 토큰"}),(0,a.jsx)(i.p,{id:"".concat(e,"-bot-token"),type:"password",autoComplete:"off",value:null!=(t=x[e])?t:"",onChange:t=>m(s=>({...s,[e]:t.target.value}))}),(0,a.jsx)("label",{htmlFor:"".concat(e,"-allowed-users"),className:"block text-xs",children:"허용 사용자 ID (쉼표로 구분)"}),(0,a.jsx)(i.p,{id:"".concat(e,"-allowed-users"),value:null!=(s=h[e])?s:"",onChange:t=>b(s=>({...s,[e]:t.target.value}))}),(0,a.jsx)(r.$,{type:"button",size:"sm",disabled:null!==f,onClick:()=>void S(e),children:"확인하고 저장"}),k[e]&&(0,a.jsx)("p",{role:"status",className:"text-xs",children:"봇을 재시작해야 반영됩니다"})]},e)}),N&&(0,a.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:N})]}):null}}}]);