elanous 0.2.41 → 0.2.43

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 (796) 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/{GiOLWmt4MqDZePubBjA4Q → Om5xS9jpjSXJCeTNGYEi4}/_buildManifest.js +1 -1
  4. package/apps/pwa/out/_next/static/chunks/{2fe2c302.41b517f88d6fe502.js → 0966f8a1.745fcd44f64a87ea.js} +1 -1
  5. package/apps/pwa/out/_next/static/chunks/{385e4574.e9886ab32759eda3.js → 0ad6802e.ae7afb63fdcb4491.js} +1 -1
  6. package/apps/pwa/out/_next/static/chunks/114.2b90424d1a3ce84c.js +1 -0
  7. package/apps/pwa/out/_next/static/chunks/1151-5c2bb8f002ca2dd6.js +1 -0
  8. package/apps/pwa/out/_next/static/chunks/1200.6a37c202f9f17e9a.js +226 -0
  9. package/apps/pwa/out/_next/static/chunks/1261-a616d5728e02e624.js +1 -0
  10. package/apps/pwa/out/_next/static/chunks/1313-19f737e0222c4444.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/1357.3bbef3976c37f94a.js +1 -0
  12. package/apps/pwa/out/_next/static/chunks/1362-20adddfaf662b0fa.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/{6874.d5cf7eb8edb2cabe.js → 1406.a1dc2ab6f8449374.js} +2 -2
  14. package/apps/pwa/out/_next/static/chunks/1737-9491fc6ab29b9ec6.js +1 -0
  15. package/apps/pwa/out/_next/static/chunks/1803-4f91a8e7dcaf042c.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/{5744.b9415e18ad623100.js → 1961.a81b12872c3e93a9.js} +1 -1
  17. package/apps/pwa/out/_next/static/chunks/1970cf59.2d4d8ce5d6c81853.js +1 -0
  18. package/apps/pwa/out/_next/static/chunks/1971-8890f3962ba7ee0a.js +1 -0
  19. package/apps/pwa/out/_next/static/chunks/2073-ba274e00e4f9efb4.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/{5471.1e611302ed3a7c53.js → 2144.25b292396712196d.js} +2 -2
  21. package/apps/pwa/out/_next/static/chunks/{3230-49298c3b73ef2268.js → 2268-53861f339e0b65a2.js} +1 -1
  22. package/apps/pwa/out/_next/static/chunks/{9834.63ab2bbc3153172e.js → 2312.0c8b61e22d3136d7.js} +1 -1
  23. package/apps/pwa/out/_next/static/chunks/{1800.f7ff51dc4978a958.js → 2573.387a707f6f9d720c.js} +2 -2
  24. package/apps/pwa/out/_next/static/chunks/273.f156eee28f11af77.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/2873.d2140e5a82546401.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/{9048.212083de42d25be3.js → 3072.01338851ca21a6f7.js} +2 -2
  27. package/apps/pwa/out/_next/static/chunks/3091.a5a4143dea33d197.js +90 -0
  28. package/apps/pwa/out/_next/static/chunks/3095.dc44586a5f83b86d.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/{2263.e09b6edea33bad2d.js → 3113.d7472bbc27d580c7.js} +1 -1
  30. package/apps/pwa/out/_next/static/chunks/3228-9650b6447b6fa288.js +1 -0
  31. package/apps/pwa/out/_next/static/chunks/3402.44b565b314f2263c.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/{addc2b32.8c4ff8f0aefe987d.js → 3557ac4a.c8931684475018ad.js} +1 -1
  33. package/apps/pwa/out/_next/static/chunks/360.ae9f9f4c33c395e8.js +79 -0
  34. package/apps/pwa/out/_next/static/chunks/3638.80412ea63aae8f3f.js +286 -0
  35. package/apps/pwa/out/_next/static/chunks/{a0a01613.6d1cca322238d7fe.js → 363bfab3.9623b9f89363541f.js} +1 -1
  36. package/apps/pwa/out/_next/static/chunks/3694.e0099884345f0198.js +64 -0
  37. package/apps/pwa/out/_next/static/chunks/3744.54f87db52acfd1ab.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/3903.3ef4656c67572764.js +1 -0
  39. package/apps/pwa/out/_next/static/chunks/3935.16701e33f8982dc9.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/3955.6922286237f2ac2b.js +24 -0
  41. package/apps/pwa/out/_next/static/chunks/3969.272ee7f9fd6c62e5.js +34 -0
  42. package/apps/pwa/out/_next/static/chunks/4199.ce86b281fd0a60b7.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/4311-6dd3144002cc0c2d.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/4426-2b230fad00c88930.js +1 -0
  45. package/apps/pwa/out/_next/static/chunks/{530.d26346e18089640a.js → 4445.7990c76b3751a918.js} +1 -1
  46. package/apps/pwa/out/_next/static/chunks/4447-14c5161fa59166c7.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/4856-b0b8075bba8c53f4.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/4870-de370d65e73c0bb5.js +1 -0
  49. package/apps/pwa/out/_next/static/chunks/4885-2c989165c4b29fad.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/4894.fec2ca9e99caefa2.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/5093.8f04b7f8cb899a95.js +94 -0
  52. package/apps/pwa/out/_next/static/chunks/5122-2bb177cebf89e19a.js +1 -0
  53. package/apps/pwa/out/_next/static/chunks/5154.5f56dc3902e3d275.js +36 -0
  54. package/apps/pwa/out/_next/static/chunks/529.64ff7257180b2ac9.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/5394.5dabeb0c62293a28.js +93 -0
  56. package/apps/pwa/out/_next/static/chunks/5461.08bf2404ff38ec85.js +1 -0
  57. package/apps/pwa/out/_next/static/chunks/5474-22e08a85583209b2.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/{1219.7e17964e0e7cd8e5.js → 5564.9e72532188f57586.js} +3 -3
  59. package/apps/pwa/out/_next/static/chunks/5567-265df39ed8fe9dcb.js +1 -0
  60. package/apps/pwa/out/_next/static/chunks/5570-a94ae19811cb2046.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/5574-b47c9ef2dceff1fd.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/5628.6ddb2d5ffba4ff4c.js +309 -0
  63. package/apps/pwa/out/_next/static/chunks/5730.43d7ccc09988e646.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/{1178.1aa9cad0e7695427.js → 5789.2da35c258292e1e5.js} +1 -1
  65. package/apps/pwa/out/_next/static/chunks/{4133.2056bb4d78f621af.js → 5824.da9527b15a3221e5.js} +1 -1
  66. package/apps/pwa/out/_next/static/chunks/5866.366966af47fdde5d.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/{4527.a69f2894d1bc9f4a.js → 5930.8b4df3b46c32b05a.js} +1 -1
  68. package/apps/pwa/out/_next/static/chunks/5963-c4d8469c52a0828b.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/6001.ec4049ceb3c43418.js +27 -0
  70. package/apps/pwa/out/_next/static/chunks/6120-471f03db1e299c0c.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/6175-41479e643aca1878.js +1 -0
  72. package/apps/pwa/out/_next/static/chunks/6291.a2de4f9787637075.js +104 -0
  73. package/apps/pwa/out/_next/static/chunks/6400-6699907c3537436a.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/6428.1f4327d6ae5fdf9a.js +287 -0
  75. package/apps/pwa/out/_next/static/chunks/644.02cb026fa44bcd0a.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/6466-6c87d60d3dd174fb.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/{9507.7026657a2f47eb64.js → 6540.c7bef57ad8f90a87.js} +16 -16
  78. package/apps/pwa/out/_next/static/chunks/6773.d4264665ab31bec0.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/6822.3c789f1a8443e774.js +1 -0
  80. package/apps/pwa/out/_next/static/chunks/{5574.f35accf4f132b29d.js → 6944.309f4e3ea54d1537.js} +1 -1
  81. package/apps/pwa/out/_next/static/chunks/7261-8ff69d3b2ee671fd.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/7266.084c6bbc70035140.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/7271.5c0100e7320aa856.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/7429-bf5731358c8f2f68.js +1 -0
  85. package/apps/pwa/out/_next/static/chunks/7464.01f7a0ae1215fbe7.js +1 -0
  86. package/apps/pwa/out/_next/static/chunks/7479.0fcad5f37eb64f0c.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/7483.427a2fe2049e388d.js +148 -0
  88. package/apps/pwa/out/_next/static/chunks/7502-be74718178e13e56.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/7530.0889722b19572065.js +24 -0
  90. package/apps/pwa/out/_next/static/chunks/7645.5b2ee3ad45c55ea3.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/7788.7d1c79f1a8e18946.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/7900.096f455c7c1efc53.js +77 -0
  93. package/apps/pwa/out/_next/static/chunks/7910-6f139bcafd238b9f.js +1 -0
  94. package/apps/pwa/out/_next/static/chunks/7966.f71c8958d1637548.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/{5947-135e26537d80a6b9.js → 8062-7cd0bcc7f01455ba.js} +3 -3
  96. package/apps/pwa/out/_next/static/chunks/8073.f6cf2f2c71aafbd0.js +1 -0
  97. package/apps/pwa/out/_next/static/chunks/8201.190b94088980f430.js +74 -0
  98. package/apps/pwa/out/_next/static/chunks/8205.282ca4bb62d54a0a.js +62 -0
  99. package/apps/pwa/out/_next/static/chunks/8313-dfa1021bb58a46d6.js +1 -0
  100. package/apps/pwa/out/_next/static/chunks/837-81336ebaca8198a8.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/8447.7963352ef5f71b76.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/8574-868e8129525ef6d9.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/8588.d1c6a2903727ce87.js +149 -0
  104. package/apps/pwa/out/_next/static/chunks/8637.90f92d5c8db4732c.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/{2743.5d3f76948be32b34.js → 868.6e953be05bcf6dca.js} +2 -2
  106. package/apps/pwa/out/_next/static/chunks/8706-e1fe0309343a2273.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/8749-06384cdfc4520add.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/{5964-7e21164a8f2cf0ce.js → 8861-cc1fa1c7b920fa8e.js} +1 -1
  109. package/apps/pwa/out/_next/static/chunks/8967-7dfebf710c9dec9d.js +1 -0
  110. package/apps/pwa/out/_next/static/chunks/{5159.115f1c2ca471386c.js → 8986.8e2e4efbfa655c59.js} +1 -1
  111. package/apps/pwa/out/_next/static/chunks/8997-3c564dbb3b58b055.js +1 -0
  112. package/apps/pwa/out/_next/static/chunks/923.2034d10ae91e9c20.js +1 -0
  113. package/apps/pwa/out/_next/static/chunks/9312.bc1b89c5d4368033.js +1 -0
  114. package/apps/pwa/out/_next/static/chunks/943.39ae5e82f4f1893f.js +1 -0
  115. package/apps/pwa/out/_next/static/chunks/9469.0500480de55fb205.js +32 -0
  116. package/apps/pwa/out/_next/static/chunks/9770.5f75bc6088b16109.js +1 -0
  117. package/apps/pwa/out/_next/static/chunks/9810-2543267050e58b82.js +1 -0
  118. package/apps/pwa/out/_next/static/chunks/9870.8419702475254745.js +8 -0
  119. package/apps/pwa/out/_next/static/chunks/9941-376d1b74d51b01a4.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/9958.385434ab04241758.js +1 -0
  121. package/apps/pwa/out/_next/static/chunks/{b2271e54.c1de3347976e90b0.js → aa57532f.510551854ff239b1.js} +1 -1
  122. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-deea1450b17cb8dc.js +1 -0
  123. package/apps/pwa/out/_next/static/chunks/app/approvals/page-70985b904f8650ef.js +1 -0
  124. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-a2e15e33e56a4353.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/board/page-fc72ce2db12d6ca9.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/botlab/page-be03e41f9436ebd9.js +1 -0
  127. package/apps/pwa/out/_next/static/chunks/app/bots/page-35a35999382da3f2.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/ceo/page-3ff5b1e6ca88b848.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/chat/page-a65101300a0ee5c1.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/consult/page-3aca5b6d67dba511.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/control/page-45b8ab0a71e61314.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/decisions/page-53046e282d4cda8e.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/design-check/page-17809e60e8354c17.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/editor/page-fd2442d347bf5898.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/exec/page-e9d720d6fc082e21.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/field/page-6b8b4267bab0a677.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/healthz/route-deea1450b17cb8dc.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/inside/page-8bcf6233ac7c17af.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/intake/page-7cc25591cfc2126f.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/layout-053e871f35c9beba.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/live/page-eff819f0c2d5e084.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/live-run/page-4d7e9d8db5274a87.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/loops/page-2b2d8f5aa5f69ad4.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/market/page-0b8f92c5062e68b1.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-1bd9d0fdac2ced3d.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/morning/page-9ee28f7df07428ea.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/not-found-44b7a1ff468c6648.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/observatory/page-cbc6523711dc1b65.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-fdad47899c2695be.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/ops/release/{page-40f9e19149024298.js → page-79a8b5fee4c20871.js} +1 -1
  151. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-03e8ac9606aeaffb.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/outputs/page-4cd55c55ec287e2f.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/page-db17b4305404161e.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/reflection/page-30041d848350fd02.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-c540da022dbf86b0.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/sessions/page-9399efc538da057f.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/settings/devices/{page-a142dfb0331a05f5.js → page-ca2d09128c585ca4.js} +1 -1
  158. package/apps/pwa/out/_next/static/chunks/app/settings/page-0e2635aecd343038.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-ef7f4399b6b7726e.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/setup/layout-deea1450b17cb8dc.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/page-caf530535b875468.js +1 -0
  162. package/apps/pwa/out/_next/static/chunks/app/share/page-eaa20c1543a5fd8e.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/showroom/page-c541eb1b75120f61.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/tasks/page-ab5e213eda9479f4.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/term/page-0a815f34367b6db6.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/today/page-e858ba0ed9393b68.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/trace/page-1638ee9dd6e0582f.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/vault/page-4cf5a399109391f2.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-b4396321238798ec.js +1 -0
  170. package/apps/pwa/out/_next/static/chunks/app/workflows/page-cb72bfd21006781a.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workspace/page-6135d0242afbc434.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-a1dccf907eddb856.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/{53aeb4ee-51c92f8d683f5220.js → c7945435-b44d4dbe90ba0dcb.js} +1 -1
  174. package/apps/pwa/out/_next/static/chunks/{2fdf2931.b431eee4fb468bc3.js → cb0f8df8.09a4a6be97e3fc5f.js} +1 -1
  175. package/apps/pwa/out/_next/static/chunks/{c0c1a699.0ba79f97005965d4.js → d96660fb.cbc21a2a88539dbb.js} +1 -1
  176. package/apps/pwa/out/_next/static/chunks/ea514caa.05a24f78d9dffe5f.js +122 -0
  177. package/apps/pwa/out/_next/static/chunks/{83184dcd-0ee6247ff41eb3f2.js → fb7d20d5-6892502b6ee39ca6.js} +1 -1
  178. package/apps/pwa/out/_next/static/chunks/framework-e8a911e19b1be41f.js +1 -0
  179. package/apps/pwa/out/_next/static/chunks/main-7022f418fabba021.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/main-app-e5f15df755756a1e.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/pages/_app-4525f91e36940c9b.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/pages/_error-140f0e519c085b0f.js +1 -0
  183. package/apps/pwa/out/_next/static/chunks/webpack-8f22ef63dcb865b1.js +1 -0
  184. package/apps/pwa/out/_next/static/css/{b9d8151e48998417.css → 62c858ad53854f47.css} +1 -1
  185. package/apps/pwa/out/_next/static/css/d1f8bb401740a549.css +1 -0
  186. package/apps/pwa/out/approvals/index.html +1 -1
  187. package/apps/pwa/out/approvals/index.txt +23 -23
  188. package/apps/pwa/out/autopilot/index.html +1 -1
  189. package/apps/pwa/out/autopilot/index.txt +23 -23
  190. package/apps/pwa/out/board/index.html +1 -1
  191. package/apps/pwa/out/board/index.txt +23 -23
  192. package/apps/pwa/out/botlab/index.html +1 -1
  193. package/apps/pwa/out/botlab/index.txt +22 -22
  194. package/apps/pwa/out/bots/index.html +1 -1
  195. package/apps/pwa/out/bots/index.txt +22 -22
  196. package/apps/pwa/out/ceo/index.html +1 -1
  197. package/apps/pwa/out/ceo/index.txt +23 -23
  198. package/apps/pwa/out/chat/index.html +1 -1
  199. package/apps/pwa/out/chat/index.txt +22 -22
  200. package/apps/pwa/out/consult/index.html +1 -1
  201. package/apps/pwa/out/consult/index.txt +23 -23
  202. package/apps/pwa/out/control/index.html +1 -1
  203. package/apps/pwa/out/control/index.txt +23 -23
  204. package/apps/pwa/out/decisions/index.html +1 -1
  205. package/apps/pwa/out/decisions/index.txt +22 -22
  206. package/apps/pwa/out/design-check/index.html +1 -1
  207. package/apps/pwa/out/design-check/index.txt +23 -23
  208. package/apps/pwa/out/editor/index.html +1 -1
  209. package/apps/pwa/out/editor/index.txt +24 -25
  210. package/apps/pwa/out/exec/index.html +1 -1
  211. package/apps/pwa/out/exec/index.txt +23 -23
  212. package/apps/pwa/out/field/index.html +1 -1
  213. package/apps/pwa/out/field/index.txt +23 -23
  214. package/apps/pwa/out/healthz +1 -1
  215. package/apps/pwa/out/index.html +1 -1
  216. package/apps/pwa/out/index.txt +22 -22
  217. package/apps/pwa/out/inside/index.html +1 -1
  218. package/apps/pwa/out/inside/index.txt +23 -23
  219. package/apps/pwa/out/intake/index.html +1 -1
  220. package/apps/pwa/out/intake/index.txt +23 -23
  221. package/apps/pwa/out/live/index.html +1 -1
  222. package/apps/pwa/out/live/index.txt +24 -25
  223. package/apps/pwa/out/live-run/index.html +1 -1
  224. package/apps/pwa/out/live-run/index.txt +24 -25
  225. package/apps/pwa/out/loops/index.html +1 -1
  226. package/apps/pwa/out/loops/index.txt +22 -22
  227. package/apps/pwa/out/market/index.html +1 -1
  228. package/apps/pwa/out/market/index.txt +22 -22
  229. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  230. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  231. package/apps/pwa/out/morning/index.html +1 -1
  232. package/apps/pwa/out/morning/index.txt +23 -23
  233. package/apps/pwa/out/observatory/index.html +1 -1
  234. package/apps/pwa/out/observatory/index.txt +23 -23
  235. package/apps/pwa/out/ops/checklist/index.html +1 -1
  236. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  237. package/apps/pwa/out/ops/release/index.html +1 -1
  238. package/apps/pwa/out/ops/release/index.txt +22 -22
  239. package/apps/pwa/out/ops/seats/index.html +1 -1
  240. package/apps/pwa/out/ops/seats/index.txt +22 -22
  241. package/apps/pwa/out/outputs/index.html +1 -1
  242. package/apps/pwa/out/outputs/index.txt +22 -22
  243. package/apps/pwa/out/reflection/index.html +1 -1
  244. package/apps/pwa/out/reflection/index.txt +23 -23
  245. package/apps/pwa/out/scheduler/index.html +1 -1
  246. package/apps/pwa/out/scheduler/index.txt +23 -23
  247. package/apps/pwa/out/sessions/index.html +1 -1
  248. package/apps/pwa/out/sessions/index.txt +22 -22
  249. package/apps/pwa/out/settings/devices/index.html +1 -1
  250. package/apps/pwa/out/settings/devices/index.txt +23 -23
  251. package/apps/pwa/out/settings/index.html +1 -1
  252. package/apps/pwa/out/settings/index.txt +23 -23
  253. package/apps/pwa/out/setup/done/index.html +1 -1
  254. package/apps/pwa/out/setup/done/index.txt +23 -23
  255. package/apps/pwa/out/setup/index.html +1 -1
  256. package/apps/pwa/out/setup/index.txt +23 -23
  257. package/apps/pwa/out/share/index.html +1 -1
  258. package/apps/pwa/out/share/index.txt +23 -23
  259. package/apps/pwa/out/showroom/index.html +1 -1
  260. package/apps/pwa/out/showroom/index.txt +22 -22
  261. package/apps/pwa/out/tasks/index.html +1 -1
  262. package/apps/pwa/out/tasks/index.txt +23 -23
  263. package/apps/pwa/out/term/index.html +1 -1
  264. package/apps/pwa/out/term/index.txt +23 -23
  265. package/apps/pwa/out/today/index.html +1 -1
  266. package/apps/pwa/out/today/index.txt +23 -23
  267. package/apps/pwa/out/trace/index.html +1 -1
  268. package/apps/pwa/out/trace/index.txt +23 -23
  269. package/apps/pwa/out/vault/index.html +1 -1
  270. package/apps/pwa/out/vault/index.txt +23 -23
  271. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  272. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  273. package/apps/pwa/out/workflows/index.html +1 -1
  274. package/apps/pwa/out/workflows/index.txt +23 -23
  275. package/apps/pwa/out/workspace/index.html +1 -1
  276. package/apps/pwa/out/workspace/index.txt +23 -23
  277. package/apps/pwa/out/worktrees/index.html +1 -1
  278. package/apps/pwa/out/worktrees/index.txt +23 -23
  279. package/catalog/external-commands.yaml +5 -3
  280. package/catalog/meta/catalogVersion.yaml +2 -1
  281. package/catalog/signing/catalog-signing-public.pem +3 -0
  282. package/docs/goal-context/04-mock-scenarios.md +13 -0
  283. package/graphs/catalog/catalog.yaml +1 -1
  284. package/graphs/heal/heal-loop.yaml +1 -0
  285. package/graphs/intake/intake-daily.yaml +16 -0
  286. package/graphs/intake/news-sources.yaml +1 -0
  287. package/graphs/intake/recipes.yaml +7 -0
  288. package/graphs/overlays/examples/research-runtime-empty-terminal.yaml +28 -0
  289. package/graphs/overlays/stop-heal-ladder.yaml +113 -0
  290. package/graphs/profiles/local.yaml +5 -0
  291. package/graphs/profiles/pod.yaml +4 -0
  292. package/graphs/units/verbs/recipes.yaml +11 -11
  293. package/graphs/work/research-report.yaml +10 -2
  294. package/package.json +6 -2
  295. package/plugins/demo-absorption-briefing/plugin.json +18 -0
  296. package/plugins/demo-absorption-briefing/skills/demo-absorption-briefing/SKILL.md +8 -0
  297. package/plugins/demo-browser-hand/plugin.json +13 -0
  298. package/plugins/demo-browser-hand/skills/demo-browser-hand/SKILL.md +8 -0
  299. package/plugins/demo-linear-secretary/plugin.json +15 -0
  300. package/plugins/demo-linear-secretary/skills/demo-linear-secretary/SKILL.md +8 -0
  301. package/plugins/demo-plugin-wizard/plugin.json +11 -0
  302. package/plugins/demo-plugin-wizard/skills/demo-plugin-wizard/SKILL.md +8 -0
  303. package/plugins/demo-research/plugin.json +16 -0
  304. package/plugins/demo-research/skills/demo-research/SKILL.md +8 -0
  305. package/plugins/demo-video-briefing/plugin.json +15 -0
  306. package/plugins/demo-video-briefing/skills/demo-video-briefing/SKILL.md +8 -0
  307. package/scripts/build-signed-catalog.ts +48 -0
  308. package/scripts/ci-typecheck-main-delta.sh +88 -0
  309. package/scripts/codex-fallback-live-probe.ts +1 -1
  310. package/scripts/demo/demo1104-parallel-scenes.ts +301 -0
  311. package/scripts/demo/demo1104-stage.config.ts +21 -0
  312. package/scripts/demo/demo1104-stage.ts +316 -0
  313. package/scripts/goal-method-audit.ts +17 -1
  314. package/scripts/graph-units/land-enqueue.ts +90 -0
  315. package/scripts/heal/run-role.ts +99 -5
  316. package/scripts/hooks/codex-notify.sh +32 -0
  317. package/scripts/install.sh +10 -38
  318. package/scripts/land-global-checks.ts +6 -1
  319. package/scripts/landing-heal/land-plan.ts +57 -0
  320. package/scripts/lib/decompose-ab.ts +1 -0
  321. package/scripts/lib/fixtures/tui-regress/help-insufficient-commands.txt +15 -0
  322. package/scripts/lib/fixtures/tui-regress/help-live.txt +42 -0
  323. package/scripts/lib/fixtures/tui-regress/help-missing-keys.txt +21 -0
  324. package/scripts/lib/fixtures/tui-regress/help-original.txt +51 -0
  325. package/scripts/lib/fixtures/tui-regress/help-shifted-input.txt +26 -0
  326. package/scripts/lib/tui-regress-checks.ts +33 -13
  327. package/scripts/release-loop/auto-approve-node.ts +1 -1
  328. package/scripts/release-loop/gate-autoheal-sim-evidence.ts +60 -0
  329. package/scripts/release-loop/gate-baseline-receipt.ts +47 -9
  330. package/scripts/release-loop/gate-image-pin.ts +81 -0
  331. package/scripts/release-loop/gate-method.ts +139 -0
  332. package/scripts/release-loop/gate-node-sim.ts +207 -0
  333. package/scripts/release-loop/gate-node.ts +463 -64
  334. package/scripts/release-loop/gate-pod-image-sticky-plan.ts +99 -0
  335. package/scripts/release-loop/gate-radius-live.ts +97 -13
  336. package/scripts/release-loop/gate-shard-dispatch.ts +43 -0
  337. package/scripts/release-loop/gate-traffic-mode.ts +151 -3
  338. package/scripts/release-loop/gate-train-receipts.ts +122 -0
  339. package/scripts/release-loop/node-verdict.ts +38 -25
  340. package/scripts/release-loop/preflight.ts +362 -8
  341. package/scripts/release-loop/resume-release.ts +83 -8
  342. package/scripts/release-loop/unattended-release.ts +20 -9
  343. package/scripts/rhythm/daily.ts +36 -4
  344. package/scripts/rhythm/linear-progress-sync.ts +298 -0
  345. package/scripts/ux-sim.ts +18 -1
  346. package/scripts/video-pipeline.ts +9 -1
  347. package/scripts/warm-pool-provider-config.ts +286 -0
  348. package/skills/omni-crawl/SKILL.md +5 -2
  349. package/skills/omni-crawl/scripts/main.ts +84 -23
  350. package/src/acp/agent-manager.ts +1 -0
  351. package/src/acp/codex-app-server-agent.ts +33 -0
  352. package/src/acp/codex-app-server-client.ts +153 -16
  353. package/src/acp/core-turn-bridge.ts +27 -9
  354. package/src/acp/event-router.ts +20 -1
  355. package/src/acp/server.ts +6 -0
  356. package/src/agent/registry.ts +2 -0
  357. package/src/agent/task-notification.ts +25 -5
  358. package/src/agent/types.ts +6 -0
  359. package/src/agent-mission/browser-roundtrip-coordinator.ts +85 -0
  360. package/src/agent-mission/claude-headless.ts +4 -1
  361. package/src/agent-mission/codex-exec.ts +105 -0
  362. package/src/agent-mission/driver.ts +192 -11
  363. package/src/agent-mission/grok-auth-status.ts +47 -0
  364. package/src/agent-mission/hand-hooks.ts +101 -0
  365. package/src/agent-mission/mission-cli.ts +63 -4
  366. package/src/agent-mission/mission-hand-reply.ts +118 -0
  367. package/src/agent-mission/mission-line.ts +180 -0
  368. package/src/agent-mission/mission-out.ts +833 -0
  369. package/src/agent-mission/tool-install.ts +200 -3
  370. package/src/agent-substrate/context-strategy.ts +4 -4
  371. package/src/agent-substrate/self-review-cli.ts +178 -13
  372. package/src/agents/general-purpose.md +1 -1
  373. package/src/auto-research/research-turn.ts +211 -53
  374. package/src/autopilot/pr-manager.ts +69 -10
  375. package/src/autopilot/pty-control-loop.ts +2 -0
  376. package/src/boot/daemon-tools/self-implement.ts +3 -1
  377. package/src/boot/daemon-tools/web-search.ts +1 -2
  378. package/src/briefing/brief-items.ts +55 -11
  379. package/src/capture/tui-self-report.ts +22 -6
  380. package/src/chat/index.ts +1 -1
  381. package/src/cli/agent-cli.ts +2 -1
  382. package/src/cli/catalog-cli.ts +31 -0
  383. package/src/cli/connector-cli.ts +16 -0
  384. package/src/cli/doctor-fix.ts +2 -2
  385. package/src/cli/fixtures/review-loop-breaker/opwaiver-32646-1694ccc7a170.json +1 -0
  386. package/src/cli/fixtures/review-loop-breaker/opwaiver-32853-bd8f73595c83.json +1 -0
  387. package/src/cli/fixtures/review-loop-breaker/opwaiver-33097-1cc85900413c.json +1 -0
  388. package/src/cli/fixtures/review-loop-breaker/opwaiver-33106-972f31e4a3ca.json +1 -0
  389. package/src/cli/fixtures/review-loop-breaker/opwaiver-33113-3ab51f05968f.json +1 -0
  390. package/src/cli/fixtures/review-loop-breaker/pr-33097-1cc85900413c.json +1 -0
  391. package/src/cli/intake-source-cli.ts +44 -8
  392. package/src/cli/msg-cli.ts +32 -3
  393. package/src/cli/pr-cli.ts +21 -1
  394. package/src/cli/pr-land-heavy-remote.ts +75 -5
  395. package/src/cli/pr-land-overlap-evidence.ts +113 -2
  396. package/src/cli/pr-land-pod-shadow-job.ts +202 -4
  397. package/src/cli/pr-land-pod-shadow.ts +9 -2
  398. package/src/cli/release-checklist-read-cli.ts +57 -19
  399. package/src/cli/release-cli.ts +23 -3
  400. package/src/cli/research-cli.ts +13 -5
  401. package/src/cli/setup-cli.ts +166 -6
  402. package/src/cli/setup-keys.ts +187 -0
  403. package/src/cli/task-plugin-wizard-host.ts +114 -0
  404. package/src/cli/tasks-cli.ts +61 -9
  405. package/src/cli/tui-test-cli.ts +186 -0
  406. package/src/compact/auto.ts +8 -1
  407. package/src/config.ts +4 -2
  408. package/src/connectors/linear-daily-progress.ts +228 -0
  409. package/src/connectors/linear-projector.ts +34 -12
  410. package/src/connectors/linear.ts +151 -7
  411. package/src/control-plane/ledger.ts +52 -2
  412. package/src/control-plane/server.ts +16 -2
  413. package/src/core-turn/deep-turn-bloom.ts +67 -0
  414. package/src/core-turn/research-policy.ts +37 -0
  415. package/src/core-turn/run-core-turn.ts +606 -95
  416. package/src/core-turn/run-goal-loop.ts +18 -0
  417. package/src/core-turn/types.ts +4 -0
  418. package/src/dashboard/chat/acp-chat.ts +10 -0
  419. package/src/dashboard/classic-sidetab-mission-job.ts +161 -0
  420. package/src/dashboard/classic-sidetab-mission-pair.ts +81 -0
  421. package/src/dashboard/classic-sidetab-mission-trio.ts +219 -0
  422. package/src/dashboard/classic-sidetab-mission.ts +347 -0
  423. package/src/dashboard/index.ts +517 -18
  424. package/src/dashboard/input/agent-wake.ts +23 -1
  425. package/src/dashboard/input/chat-main-acp-dispatch.ts +23 -0
  426. package/src/dashboard/input/chat-main-plain-turn-runtime.ts +17 -0
  427. package/src/dashboard/mission-cli-consumer.ts +165 -0
  428. package/src/dashboard/plugin-wizard-runtime.ts +50 -0
  429. package/src/dashboard/plugin-wizard-tool.ts +55 -0
  430. package/src/dashboard/seat-boot-preamble.ts +171 -1
  431. package/src/dashboard/side-basic-runtime.ts +54 -1
  432. package/src/dashboard/sidetab-runtime.ts +90 -1
  433. package/src/dashboard/skill-catalog-preamble.ts +101 -0
  434. package/src/dashboard/skill-detection-runtime.ts +55 -15
  435. package/src/dashboard/slash-runtime/dashboard-handlers.ts +15 -0
  436. package/src/dashboard/terminal-popup-runtime.ts +6 -3
  437. package/src/dashboard/turn-preamble.ts +53 -15
  438. package/src/dashboard/turn-prompt-runtime.ts +4 -2
  439. package/src/decisions/linear-progress-summary.ts +78 -0
  440. package/src/decisions/linear-progress-sync.ts +152 -0
  441. package/src/domains/outbound-alert.ts +49 -11
  442. package/src/domains/telegram-kind-route.ts +16 -9
  443. package/src/graph-runner/arg-allowance.ts +13 -0
  444. package/src/graph-runner/graph-cli.ts +23 -7
  445. package/src/graph-runner/graph-run-api.ts +3 -1
  446. package/src/graph-runner/graph-tick.ts +10 -2
  447. package/src/graph-runner/runner.ts +86 -18
  448. package/src/graph-wizard/mission-compose.ts +407 -12
  449. package/src/grok/agent-search.ts +14 -4
  450. package/src/grok/credential.ts +28 -11
  451. package/src/harness/dispatch-backpressure.ts +54 -1
  452. package/src/harness/dispatch-shadow-compare.ts +74 -0
  453. package/src/harness/harness-cli-command.ts +11 -1
  454. package/src/harness/harness-pod-dispatch.ts +81 -15
  455. package/src/harness/harness-stop.ts +155 -11
  456. package/src/harness/skill-exec.ts +21 -9
  457. package/src/harness/skill-select.ts +1 -1
  458. package/src/hooks/error-report-cloud.ts +101 -0
  459. package/src/hooks/receiver.ts +29 -2
  460. package/src/index.ts +159 -13
  461. package/src/instance/spawn-elanous.ts +6 -4
  462. package/src/intake-plane/actions.ts +354 -0
  463. package/src/intake-plane/adapters/telegram-ambient.ts +34 -18
  464. package/src/intake-plane/intake-sources.ts +78 -8
  465. package/src/intake-plane/items.ts +14 -4
  466. package/src/intake-plane/linear-mission-sync.ts +80 -0
  467. package/src/intake-plane/linear-secretary-runtime.ts +178 -0
  468. package/src/intake-plane/linear-wish.ts +227 -1
  469. package/src/life/life-cli.ts +168 -0
  470. package/src/life/life-kinds.ts +160 -0
  471. package/src/live-supply/budget-consumer.ts +78 -0
  472. package/src/live-supply/read.ts +3 -0
  473. package/src/live-supply/snapshot.ts +45 -0
  474. package/src/llm/provider-credentials.ts +8 -2
  475. package/src/llm.ts +168 -9
  476. package/src/loops/orchestrator/coordinator-shadow.ts +226 -0
  477. package/src/loops/orchestrator/tick.ts +13 -0
  478. package/src/maturity/feature-maturity.ts +4 -4
  479. package/src/msg/msg-sse-server.ts +3 -3
  480. package/src/msg/msg-store.ts +177 -19
  481. package/src/native-tool-catalog.ts +38 -4
  482. package/src/nexus/api/harness-traversal.ts +11 -0
  483. package/src/nexus/api/http-server.ts +37 -1
  484. package/src/nexus/api/mcp-public-allowlist.ts +2 -0
  485. package/src/nexus/index.ts +7 -2
  486. package/src/nexus/outbound/format.ts +9 -0
  487. package/src/nexus/outbound/router.ts +98 -13
  488. package/src/nexus/setup-status.ts +9 -0
  489. package/src/nexus/state/state.ts +3 -0
  490. package/src/oauth/codex-account-store.ts +20 -7
  491. package/src/oauth/codex-owner-mirror.ts +44 -0
  492. package/src/oauth/codex.ts +17 -2
  493. package/src/oauth/fallback-chain.ts +47 -17
  494. package/src/onboarding/first-run-doctor.ts +8 -1
  495. package/src/onboarding/first-run.ts +85 -26
  496. package/src/onboarding/key-setup.ts +103 -0
  497. package/src/onboarding/menu-answer.ts +13 -0
  498. package/src/onboarding/secret-prompt.ts +37 -0
  499. package/src/plugins/install/plugin-install.ts +59 -0
  500. package/src/pr-tool/census.ts +133 -2
  501. package/src/pty-shell/pty-control-ipc.ts +4 -1
  502. package/src/pty-shell/tui-run-state.ts +188 -2
  503. package/src/registry/catalog-server.ts +232 -0
  504. package/src/registry/loader.ts +45 -1
  505. package/src/registry/types.ts +1 -2
  506. package/src/release-loop/checklist-target-path-hint.ts +13 -0
  507. package/src/release-loop/checklist.ts +9 -1
  508. package/src/repl/index.ts +43 -2
  509. package/src/research/axis-fanout.ts +136 -16
  510. package/src/research/bloom-exemplars.ts +3 -1
  511. package/src/research/gap-followup.ts +13 -1
  512. package/src/research/plugin-discovery.ts +36 -14
  513. package/src/research-bridge/invoke.ts +22 -5
  514. package/src/research-bridge/types.ts +2 -0
  515. package/src/self-dev/ask-launch-flow.ts +72 -1
  516. package/src/self-dev/decompose.ts +119 -5
  517. package/src/self-dev/dev-cli.ts +4 -1
  518. package/src/self-dev/dev-pipeline.ts +5 -0
  519. package/src/self-dev/draft-residue.ts +64 -5
  520. package/src/self-dev/graph-front-nodes.ts +2 -1
  521. package/src/self-dev/graph-journey-route.ts +76 -21
  522. package/src/self-dev/launch-preflight-text.ts +5 -6
  523. package/src/self-dev/launch-preflight.ts +58 -0
  524. package/src/self-dev/orchestrate.ts +13 -3
  525. package/src/self-dev/review-provider-fallback.ts +9 -2
  526. package/src/self-dev/run-supervisor.ts +42 -4
  527. package/src/self-dev/run-types.ts +4 -0
  528. package/src/self-dev/shard-aggregate.ts +4 -0
  529. package/src/self-dev/shard-run.ts +36 -15
  530. package/src/self-implement/abandoned-classification.ts +12 -3
  531. package/src/self-implement/budget-gate.ts +7 -0
  532. package/src/self-implement/child-llm-preference.ts +10 -1
  533. package/src/self-implement/doctor-visit.ts +118 -8
  534. package/src/self-implement/elanous-tui-spawn.ts +3 -0
  535. package/src/self-implement/fixtures/tdd-green-missing-passing-child-transcript.txt +2 -0
  536. package/src/self-implement/gate-artifacts.ts +2 -1
  537. package/src/self-implement/goal-author-cli.ts +4 -2
  538. package/src/self-implement/goal-author.ts +684 -7
  539. package/src/self-implement/graph-overlay-yaml.ts +37 -4
  540. package/src/self-implement/graph-overlay.ts +3 -1
  541. package/src/self-implement/graph-profile-yaml.ts +107 -0
  542. package/src/self-implement/graph-yaml.ts +26 -3
  543. package/src/self-implement/headless-elanous-driver.ts +31 -2
  544. package/src/self-implement/heal-intake.ts +112 -4
  545. package/src/self-implement/heal-triage.ts +20 -0
  546. package/src/self-implement/host-regate.ts +27 -4
  547. package/src/self-implement/merge-train.ts +5 -0
  548. package/src/self-implement/off-diff-evidence.ts +249 -5
  549. package/src/self-implement/orchestrator.ts +365 -25
  550. package/src/self-implement/regate-detail.ts +38 -1
  551. package/src/self-implement/rework-child-provider.ts +25 -0
  552. package/src/self-implement/run-chart.ts +122 -0
  553. package/src/self-implement/run-ledger.ts +162 -11
  554. package/src/self-implement/run-stop.ts +188 -4
  555. package/src/self-implement/runtime-overlay-run-steps.ts +95 -0
  556. package/src/self-implement/stop-autoheal.ts +13 -0
  557. package/src/self-implement/tdd-evidence-tags.ts +9 -0
  558. package/src/self-implement/train-gate-receipt.ts +166 -0
  559. package/src/self-implement/train-gate-remote.ts +62 -18
  560. package/src/session/chat.ts +40 -4
  561. package/src/session/session-fanout.ts +2 -0
  562. package/src/session/streaming/acp-stream-sink.ts +2 -1
  563. package/src/session/streaming/chunk-producer.ts +6 -0
  564. package/src/session/streaming/stream-compositor.ts +3 -2
  565. package/src/session-runtime/index.ts +135 -5
  566. package/src/session-runtime/retry-policy.ts +1 -1
  567. package/src/session-runtime/tier-flip.ts +3 -3
  568. package/src/setup/llm-env-detect.ts +3 -0
  569. package/src/setup/service-key-catalog.ts +46 -0
  570. package/src/setup/service-keys.ts +241 -0
  571. package/src/sidetab-core/model.ts +19 -5
  572. package/src/sidetab-core/visible-agent-mission.ts +262 -0
  573. package/src/skills/name-match.ts +20 -0
  574. package/src/skills/tools/agent.ts +53 -6
  575. package/src/skills/tools/omni-search.ts +173 -13
  576. package/src/task-agent/parent-host.ts +10 -0
  577. package/src/task-agent/pod-distributor-entry.ts +3 -0
  578. package/src/task-agent/repair-outcomes.ts +65 -0
  579. package/src/task-agent/task-hand.ts +47 -7
  580. package/src/task-orchestrator/dispatcher.ts +14 -1
  581. package/src/task-orchestrator/linear-capture-events.ts +55 -0
  582. package/src/task-orchestrator/store.ts +16 -5
  583. package/src/task-orchestrator/surfaces/pod-artifact-return.ts +4 -0
  584. package/src/task-orchestrator/surfaces/pod-distributor.ts +48 -0
  585. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +92 -1
  586. package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +38 -1
  587. package/src/task-orchestrator/surfaces/pod-ledger-events.ts +113 -14
  588. package/src/task-orchestrator/surfaces/pod-si-warm-entry.ts +33 -6
  589. package/src/task-orchestrator/surfaces/pod-source-bundle.ts +45 -9
  590. package/src/task-orchestrator/surfaces/pod-source-receive.ts +178 -16
  591. package/src/task-orchestrator/surfaces/pod-source-spec.ts +3 -3
  592. package/src/task-orchestrator/surfaces/pod-warm-switch.ts +2 -0
  593. package/src/task-orchestrator/surfaces/pod-warm-worker-provider.ts +237 -41
  594. package/src/task-orchestrator/surfaces/pod-warm-worker-runtime.ts +80 -3
  595. package/src/task-orchestrator/surfaces/self-implement-pod.ts +337 -51
  596. package/src/task-orchestrator/surfaces/self-implement.ts +27 -3
  597. package/src/task-orchestrator/surfaces/warm-reuse-evidence.ts +169 -0
  598. package/src/task-orchestrator/types.ts +14 -0
  599. package/src/telegram.ts +14 -16
  600. package/src/terminal/coding-agent.ts +14 -5
  601. package/src/terminal/session-registry.ts +1 -1
  602. package/src/tokens.ts +35 -2
  603. package/src/tool-hints/gate.ts +1 -0
  604. package/src/tool-runtime/agent-runtime.ts +2 -0
  605. package/src/tool-runtime/browser-hand-runtime.ts +381 -0
  606. package/src/tool-runtime/browser-runtime.ts +2 -1
  607. package/src/tool-runtime/elanous-linear-issue-runtime.ts +76 -0
  608. package/src/tool-runtime/elanous-linear-secretary-runtime.ts +57 -0
  609. package/src/tool-runtime/elanous-skills-list-runtime.ts +5 -1
  610. package/src/tool-runtime/graph-mcp-runtimes.ts +240 -0
  611. package/src/tool-runtime/index.ts +6 -0
  612. package/src/tool-runtime/skill-exec-runtime.ts +33 -13
  613. package/src/tool-runtime/types.ts +4 -0
  614. package/src/tui/entry.ts +38 -5
  615. package/src/tui/sidetab/attach.ts +177 -1
  616. package/src/tui/sidetab/herdr-portal.ts +225 -0
  617. package/src/tui-client/local-chat-turn.ts +26 -13
  618. package/src/tui.ts +22 -0
  619. package/src/user-config.ts +34 -9
  620. package/src/user-intent/types.ts +4 -3
  621. package/src/ux-sim/browser-hand.ts +165 -0
  622. package/src/ux-sim/draft-inventory-builder.ts +198 -0
  623. package/src/ux-sim/fake-browser-page.ts +81 -0
  624. package/src/ux-sim/fake-kubectl.ts +37 -3
  625. package/src/ux-sim/fake-linear-device.ts +31 -0
  626. package/src/ux-sim/fault-pool-cap.ts +11 -6
  627. package/src/ux-sim/graph-engine-sim.ts +47 -0
  628. package/src/ux-sim/linear-secretary.ts +216 -0
  629. package/src/ux-sim/mock-scenario-catalog.json +93 -0
  630. package/src/ux-sim/mock-scenario-catalog.ts +274 -0
  631. package/src/ux-sim/onboarding-first-run-device.ts +31 -21
  632. package/src/ux-sim/scenario.ts +185 -48
  633. package/src/ux-sim/service-key-setup.ts +50 -0
  634. package/src/ux-sim/term-slash-device.ts +74 -0
  635. package/src/ux-sim/turn-throw-sim.ts +31 -0
  636. package/src/version/packed-revision.json +1 -1
  637. package/src/voice/voice-tts-singleton.ts +18 -3
  638. package/src/web-search/exa.ts +77 -0
  639. package/src/web-search/grok.ts +5 -9
  640. package/src/web-search/index.ts +30 -9
  641. package/src/web-search/provider.ts +4 -1
  642. package/src/web-search/x-intent.ts +5 -0
  643. package/apps/pwa/out/_next/static/chunks/1115.434ae2ecb0ad986d.js +0 -149
  644. package/apps/pwa/out/_next/static/chunks/1121.667cec0bcdbb3fdb.js +0 -36
  645. package/apps/pwa/out/_next/static/chunks/1197-54da59d250a6e476.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/1245.1cfd13b26dbd71d6.js +0 -287
  647. package/apps/pwa/out/_next/static/chunks/1494-f93046ff5c5a124d.js +0 -1
  648. package/apps/pwa/out/_next/static/chunks/1609.2b312797599b8e45.js +0 -1
  649. package/apps/pwa/out/_next/static/chunks/1661.0dd330f3d89f73f3.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/167-0c121e4b47e0f9da.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/1700.cdc2bf8cc685e221.js +0 -90
  652. package/apps/pwa/out/_next/static/chunks/1703-78e46acad29f3cfc.js +0 -1
  653. package/apps/pwa/out/_next/static/chunks/1765.679b29625c8e88d4.js +0 -77
  654. package/apps/pwa/out/_next/static/chunks/1971-7efb628c471dc5a0.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/1999-8de7b7bb36801913.js +0 -1
  656. package/apps/pwa/out/_next/static/chunks/2073.689dcb2680113d76.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/2198-557d49184104d165.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/221-440ce67fa9f5c839.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/2427-8ed8e98624cbd664.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/2457-725c5827bc003795.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/2491-2718b15a5ccb75a5.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/2527-5c636a43c7cc5dde.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/2692-1027cb16fe4ccf49.js +0 -1
  664. package/apps/pwa/out/_next/static/chunks/2773.0e80b9d325fb5635.js +0 -32
  665. package/apps/pwa/out/_next/static/chunks/2873-0f3cb56c8e3528ea.js +0 -1
  666. package/apps/pwa/out/_next/static/chunks/3097.864e92bdaa2f4d15.js +0 -79
  667. package/apps/pwa/out/_next/static/chunks/3136-d6870ba63300a93e.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/3173-0289113d434e83b7.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/325-dd9208a1a0ab7ce4.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/3283.528f430dd043fb4e.js +0 -74
  671. package/apps/pwa/out/_next/static/chunks/3295.cc8cb13b8f0dae1a.js +0 -1
  672. package/apps/pwa/out/_next/static/chunks/3688-86e3b88abf18cb3b.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/3804-7220467a5473a8df.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/3808.3e1e247ce7bdf889.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/3927.b5473ad109da44c5.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/3934-98ea94832e194796.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/4156.ba4de4a3664f04b4.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/4297-239ca82f293faab0.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/4320-dcc5a7734126f4c9.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/4434.94b4c552a2d91e69.js +0 -148
  681. package/apps/pwa/out/_next/static/chunks/4579.03e4092f73950965.js +0 -226
  682. package/apps/pwa/out/_next/static/chunks/4667.97e31aa38c95c475.js +0 -309
  683. package/apps/pwa/out/_next/static/chunks/4702.4a4adc1f16d7c93b.js +0 -64
  684. package/apps/pwa/out/_next/static/chunks/4815.481501c57b3568d9.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/487-d16e698ef14662d9.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/4888-7a38bf522c9cc6fe.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/5034-30e429d6bb086881.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/5040-35c494e60dadd97d.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/50c6ab1e.81a96e419350909d.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/5154.4b6a836179356f30.js +0 -94
  691. package/apps/pwa/out/_next/static/chunks/5228-a8200df486278f2d.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/5379.97af106d09566f69.js +0 -8
  693. package/apps/pwa/out/_next/static/chunks/5479-b6372e762719f92f.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/5534-699c5cbcbc96c5d7.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/5701.9c4e8f250312eeee.js +0 -24
  696. package/apps/pwa/out/_next/static/chunks/5892.2526d962339662d8.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/5937.c2df9e3447e1f667.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/5941.8210cc93c9202c0a.js +0 -286
  699. package/apps/pwa/out/_next/static/chunks/5975.4004f820ae3cecd5.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/6142-7ccd48795d7abd55.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/6160.bf9177b8c1bfb243.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/6398.71ba0690c8027555.js +0 -27
  703. package/apps/pwa/out/_next/static/chunks/6492.2bd5c10edc1a064e.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/6552.a3840aa7da35ad68.js +0 -62
  705. package/apps/pwa/out/_next/static/chunks/6736.1e36d3ac5fa5e41d.js +0 -24
  706. package/apps/pwa/out/_next/static/chunks/6900.3ccbe069bdd4556a.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/71327eb4.add50b365f94bf3a.js +0 -122
  708. package/apps/pwa/out/_next/static/chunks/7136.deca3e3a2ddaa374.js +0 -1
  709. package/apps/pwa/out/_next/static/chunks/7139-ee9f8ed2677a40b3.js +0 -1
  710. package/apps/pwa/out/_next/static/chunks/7191.fdc955f7d96064a4.js +0 -1
  711. package/apps/pwa/out/_next/static/chunks/7423-e0aa5d9e2962120e.js +0 -1
  712. package/apps/pwa/out/_next/static/chunks/7453.afc1ea7e05d56a8c.js +0 -1
  713. package/apps/pwa/out/_next/static/chunks/7503-5e6a3d7fe67e4a0c.js +0 -1
  714. package/apps/pwa/out/_next/static/chunks/7761-476fd7bf768abd34.js +0 -1
  715. package/apps/pwa/out/_next/static/chunks/7975.eafb12097a0a9e62.js +0 -1
  716. package/apps/pwa/out/_next/static/chunks/8050-9b364bdef8f71927.js +0 -1
  717. package/apps/pwa/out/_next/static/chunks/8152.64e253c35cccfaae.js +0 -1
  718. package/apps/pwa/out/_next/static/chunks/8190.620f0231b3924bcb.js +0 -1
  719. package/apps/pwa/out/_next/static/chunks/8448.45b6b1f1a99eeb35.js +0 -104
  720. package/apps/pwa/out/_next/static/chunks/8464-e24f10451b658aac.js +0 -1
  721. package/apps/pwa/out/_next/static/chunks/8477.e4c944bb3aa5d2f3.js +0 -1
  722. package/apps/pwa/out/_next/static/chunks/8710.ca385257d5ca422e.js +0 -1
  723. package/apps/pwa/out/_next/static/chunks/8830.627ccf294ec2465c.js +0 -1
  724. package/apps/pwa/out/_next/static/chunks/8880.64c445592f04acaf.js +0 -1
  725. package/apps/pwa/out/_next/static/chunks/8981.c706964c8ba27aff.js +0 -1
  726. package/apps/pwa/out/_next/static/chunks/9053.bd0fffaff8d3f836.js +0 -1
  727. package/apps/pwa/out/_next/static/chunks/9161-c66e723d7ec9d682.js +0 -1
  728. package/apps/pwa/out/_next/static/chunks/9185.1ecdf9b65c0bb684.js +0 -1
  729. package/apps/pwa/out/_next/static/chunks/9356.fccd5f58086b4ff5.js +0 -1
  730. package/apps/pwa/out/_next/static/chunks/9446.dc0406109371d329.js +0 -1
  731. package/apps/pwa/out/_next/static/chunks/9506.dcf25d467a42627e.js +0 -1
  732. package/apps/pwa/out/_next/static/chunks/9541.eb8e2f8480c7feca.js +0 -93
  733. package/apps/pwa/out/_next/static/chunks/9577.ed7582186efa5482.js +0 -1
  734. package/apps/pwa/out/_next/static/chunks/9579.4a8169600fff2058.js +0 -1
  735. package/apps/pwa/out/_next/static/chunks/9642-ff2e039eb62e3b92.js +0 -1
  736. package/apps/pwa/out/_next/static/chunks/9659-8f2323348113ad80.js +0 -1
  737. package/apps/pwa/out/_next/static/chunks/9724.4c5623af2db43153.js +0 -34
  738. package/apps/pwa/out/_next/static/chunks/9869.81a1e24ca682d5a0.js +0 -1
  739. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-8d9d76ea322d855c.js +0 -1
  740. package/apps/pwa/out/_next/static/chunks/app/approvals/page-ed2c4e59f9f1fe21.js +0 -1
  741. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-2dc99e03c5d76ca0.js +0 -1
  742. package/apps/pwa/out/_next/static/chunks/app/board/page-b5a3a788330e920f.js +0 -1
  743. package/apps/pwa/out/_next/static/chunks/app/botlab/page-14949db884bfa672.js +0 -1
  744. package/apps/pwa/out/_next/static/chunks/app/bots/page-ea76c85b36388a97.js +0 -1
  745. package/apps/pwa/out/_next/static/chunks/app/ceo/page-01716d20af62d325.js +0 -1
  746. package/apps/pwa/out/_next/static/chunks/app/chat/page-62baf6881a64b1e9.js +0 -1
  747. package/apps/pwa/out/_next/static/chunks/app/consult/page-f89ba590c2af8afa.js +0 -1
  748. package/apps/pwa/out/_next/static/chunks/app/control/page-22f8b0f78d9637e5.js +0 -1
  749. package/apps/pwa/out/_next/static/chunks/app/decisions/page-817f9d7e6820be80.js +0 -1
  750. package/apps/pwa/out/_next/static/chunks/app/design-check/page-ffb9bc0d2650249a.js +0 -1
  751. package/apps/pwa/out/_next/static/chunks/app/editor/page-f6d0e64873c0f629.js +0 -1
  752. package/apps/pwa/out/_next/static/chunks/app/exec/page-8bfa0d4ba23a209d.js +0 -1
  753. package/apps/pwa/out/_next/static/chunks/app/field/page-f5060462249e32c7.js +0 -1
  754. package/apps/pwa/out/_next/static/chunks/app/healthz/route-8d9d76ea322d855c.js +0 -1
  755. package/apps/pwa/out/_next/static/chunks/app/inside/page-b2049f8b1ef79117.js +0 -1
  756. package/apps/pwa/out/_next/static/chunks/app/intake/page-1446c5fa93907f11.js +0 -1
  757. package/apps/pwa/out/_next/static/chunks/app/layout-b48a7a07c5204156.js +0 -1
  758. package/apps/pwa/out/_next/static/chunks/app/live/page-e974b8c4ca47614c.js +0 -1
  759. package/apps/pwa/out/_next/static/chunks/app/live-run/page-8a919b869bd28594.js +0 -1
  760. package/apps/pwa/out/_next/static/chunks/app/loops/page-d31b8de6bfcd72ed.js +0 -1
  761. package/apps/pwa/out/_next/static/chunks/app/market/page-64765f817909db29.js +0 -1
  762. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-d128c8569a36ee9b.js +0 -1
  763. package/apps/pwa/out/_next/static/chunks/app/morning/page-b2679d357e9b9270.js +0 -1
  764. package/apps/pwa/out/_next/static/chunks/app/not-found-6fabec98a9e7b269.js +0 -1
  765. package/apps/pwa/out/_next/static/chunks/app/observatory/page-048f30149dcf1349.js +0 -1
  766. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-9113181d6b5a2725.js +0 -1
  767. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-1e7a755a13227611.js +0 -1
  768. package/apps/pwa/out/_next/static/chunks/app/outputs/page-3c8f8b67a203cf07.js +0 -1
  769. package/apps/pwa/out/_next/static/chunks/app/page-18032f5437215062.js +0 -1
  770. package/apps/pwa/out/_next/static/chunks/app/reflection/page-da3b739192fd0ee3.js +0 -1
  771. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-d332545571bd6fd1.js +0 -1
  772. package/apps/pwa/out/_next/static/chunks/app/sessions/page-5237aa5b3f3b8ec5.js +0 -1
  773. package/apps/pwa/out/_next/static/chunks/app/settings/page-d16e56c3989c147e.js +0 -1
  774. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-6b6593600869e2cd.js +0 -1
  775. package/apps/pwa/out/_next/static/chunks/app/setup/layout-8d9d76ea322d855c.js +0 -1
  776. package/apps/pwa/out/_next/static/chunks/app/setup/page-29e8b8a8396b55cb.js +0 -1
  777. package/apps/pwa/out/_next/static/chunks/app/share/page-b3414d856a1a7e2f.js +0 -1
  778. package/apps/pwa/out/_next/static/chunks/app/showroom/page-c3affa52b7ce961b.js +0 -1
  779. package/apps/pwa/out/_next/static/chunks/app/tasks/page-f21dddf9f95b6fab.js +0 -1
  780. package/apps/pwa/out/_next/static/chunks/app/term/page-f5a30a24745bf088.js +0 -1
  781. package/apps/pwa/out/_next/static/chunks/app/today/page-8c8569a09b4d4e34.js +0 -1
  782. package/apps/pwa/out/_next/static/chunks/app/trace/page-2ce32722c0243483.js +0 -1
  783. package/apps/pwa/out/_next/static/chunks/app/vault/page-4767b0d9c0a98c6c.js +0 -1
  784. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-116ee1339c387a75.js +0 -1
  785. package/apps/pwa/out/_next/static/chunks/app/workflows/page-35e8c50ca4ef7ffc.js +0 -1
  786. package/apps/pwa/out/_next/static/chunks/app/workspace/page-52e17113356bb891.js +0 -1
  787. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-7458ae05ed2ac1a0.js +0 -1
  788. package/apps/pwa/out/_next/static/chunks/framework-ad6c9dd524ad6ef8.js +0 -1
  789. package/apps/pwa/out/_next/static/chunks/main-app-2ddd1f2b44d6aa59.js +0 -1
  790. package/apps/pwa/out/_next/static/chunks/main-e3d82bdc358d20c5.js +0 -1
  791. package/apps/pwa/out/_next/static/chunks/pages/_app-71d5aa3896e1655f.js +0 -1
  792. package/apps/pwa/out/_next/static/chunks/pages/_error-03ffc54e00438546.js +0 -1
  793. package/apps/pwa/out/_next/static/chunks/webpack-56bb89af5a611d0b.js +0 -1
  794. package/apps/pwa/out/_next/static/css/be9019f696217521.css +0 -1
  795. package/apps/pwa/out/_next/static/css/d0a48dc099ed86cf.css +0 -1
  796. /package/apps/pwa/out/_next/static/{GiOLWmt4MqDZePubBjA4Q → Om5xS9jpjSXJCeTNGYEi4}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7761],{7761:(e,t,r)=>{r.d(t,{zV:()=>ez});var n=r(59977),a=r(95453),l=r(68050),s=r(21187);let i=(0,s.default)(()=>Promise.all([r.e(5386),r.e(674),r.e(5471),r.e(6874)]).then(r.bind(r,36874)).then(e=>e.XtermView),{loadableGenerated:{webpack:()=>[36874]},ssr:!1,loading:e=>{let{error:t,retry:r}=e;return(0,n.jsx)("div",{className:"flex h-full min-h-0 w-full items-center justify-center bg-[#0d0c08] text-sm text-[#e9e3d4]",role:t?"alert":"status",children:t?(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,n.jsx)("span",{children:"터미널을 불러오지 못했습니다."}),(0,n.jsx)("button",{type:"button",className:"rounded border border-[#e9e3d4]/50 px-3 py-1 hover:bg-white/10",onClick:r,children:"다시 시도"})]}):"터미널 연결 중…"})}});function o(e){return(0,n.jsx)(i,{...e})}let c=(0,s.default)(()=>Promise.all([r.e(5386),r.e(674),r.e(5471),r.e(8981)]).then(r.bind(r,8981)).then(e=>e.PtyLiveView),{loadableGenerated:{webpack:()=>[8981]},ssr:!1,loading:e=>{let{error:t,retry:r}=e;return(0,n.jsx)("div",{className:"flex h-full min-h-0 w-full items-center justify-center bg-[#0d0c08] text-sm text-[#e9e3d4]",role:t?"alert":"status",children:t?(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,n.jsx)("span",{children:"터미널을 불러오지 못했습니다."}),(0,n.jsx)("button",{type:"button",className:"rounded border border-[#e9e3d4]/50 px-3 py-1 hover:bg-white/10",onClick:r,children:"다시 시도"})]}):"터미널 연결 중…"})}});function d(e){return(0,n.jsx)(c,{...e})}var u=r(14336);let m=e=>"string"==typeof e&&e.trim()?e:null,p={codex:"codex",claude:"claude",gemini:"gemini",grok:"grok",self:"elanous",mission:"elanous 미션",shell:"셸",pty:"PTY"},h={PLAN:"text-sky-400",ROUTE:"text-violet-400",VERIFY:"text-amber-400",HEAL:"text-emerald-400",ESCALATE:"text-rose-400",SHIP:"text-green-400"};function b(e){let{rows:t,client:r,initial:l,onClose:s,stage:i=!1}=e,[o,c]=(0,a.useState)(l);(0,a.useEffect)(()=>{0===o.length&&t.length&&c(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,r=e.filter(e=>e.alive),n=r.filter(e=>e.kind&&["codex","claude","self","mission","gemini","grok"].includes(e.kind)),a=r.filter(e=>!n.includes(e));return[...n,...a].slice(0,t).map(e=>e.id)}(t))},[t,o.length]),(0,a.useEffect)(()=>{let e=new URLSearchParams(window.location.search);o.length?e.set("wall",o.join(",")):e.delete("wall"),window.history.replaceState(null,"","".concat(window.location.pathname,"?").concat(e.toString()))},[o]);let[b,f]=(0,a.useState)([]);(0,a.useEffect)(()=>{let e=!0,t=async()=>{try{var t;let n=await r.fetchJson("/v1/logs?category=harness.decision&store=@active&since=6h&limit=300");e&&f(null!=(t=n.logs)?t:[])}catch(e){}};t();let n=window.setInterval(()=>{document.hidden||t()},5e3);return()=>{e=!1,window.clearInterval(n)}},[r]);let[x,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"public"===new URLSearchParams(window.location.search).get("capture")&&g(!0)},[]);let v=(0,a.useMemo)(()=>x?(0,u.yR)(b.map(e=>{var t;return{ts:e.ts,category:"harness.decision",event:"decision",data:null!=(t=e.data)?t:null}})):b,[b,x]),w=(0,a.useMemo)(()=>o.map(e=>t.find(t=>t.id===e)).filter(e=>!!e),[o,t]),y=e=>c(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e].slice(-3));return(0,n.jsxs)("section",{className:"flex h-full min-h-0 flex-col bg-[#0b0a07]","aria-label":"터미널 나란히","data-pty-wall":!0,children:[(0,n.jsxs)("header",{className:"flex flex-wrap items-center gap-2 border-b border-zinc-700 px-3 py-2 text-xs text-zinc-200",children:[(0,n.jsxs)("span",{className:"font-medium",children:["나란히 \xb7 ",w.length,"/3"]}),t.filter(e=>e.alive).slice(0,14).map(e=>{var t,r,a;return(0,n.jsxs)("button",{type:"button",onClick:()=>y(e.id),"aria-pressed":o.includes(e.id),className:"rounded-full border px-2 py-0.5 font-mono ".concat(o.includes(e.id)?"border-emerald-500 bg-emerald-900/40 text-emerald-200":"border-zinc-700 text-zinc-400 hover:bg-zinc-800"),"data-pty-wall-chip":e.id,children:[null!=(r=e.kind)?r:"pty"," \xb7 ",e.nickname||e.id]},"".concat(null!=(a=null==(t=e.sourceRoot)?void 0:t.dbPath)?a:"",":").concat(e.id))}),(0,n.jsx)("button",{type:"button",onClick:s,className:"ml-auto rounded px-2 py-1 text-zinc-400 hover:bg-zinc-800","aria-label":"나란히 닫기",children:"닫기"})]}),0===w.length?(0,n.jsx)("p",{className:"p-6 text-sm text-zinc-400",children:"위에서 PTY 를 1~3개 고르세요 — 살아 있는 에이전트 PTY 가 없으면 비어 있습니다."}):(0,n.jsx)("div",{className:"grid min-h-0 flex-1 gap-1 p-1 ".concat(1===w.length?"grid-cols-1":2===w.length?"grid-cols-2":"grid-cols-3"),children:w.map(e=>{var t,a;let l=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3;return t.filter(t=>{var r;let n=null!=(r=t.data)?r:{};return!!e.runId&&n.runId===e.runId||n.target===e.id||n.shard===e.id}).sort((e,t)=>e.ts<t.ts?1:-1).slice(0,r).map(e=>{var t,r,n,a,l;let s=null!=(t=e.data)?t:{};return{ts:e.ts,kind:(null!=(r=m(s.kind))?r:"PLAN").toUpperCase(),what:null!=(n=m(s.what))?n:"(판단)",why:null!=(l=null!=(a=m(s.reason))?a:m(s.why))?l:m(s.purpose),target:m(s.target)}})}(e,v,2);return(0,n.jsxs)("div",{className:"flex min-h-0 flex-col overflow-hidden rounded border border-zinc-800","data-pty-wall-pane":e.id,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 bg-zinc-900 px-2 py-1 text-[11px]",children:[(0,n.jsx)("span",{className:"rounded bg-violet-900/50 px-1.5 py-0.5 text-violet-200","data-pty-agent":!0,children:function(e){let t=e.externalToolName&&p[e.externalToolName]||e.kind&&p[e.kind]||e.externalToolName||e.kind||"PTY";return"에이전트: ".concat(t).concat(e.runId?" \xb7 런 ".concat(e.runId.replace(/^run-/,"").slice(0,8)):"")}(e)}),(0,n.jsx)("span",{className:"truncate font-mono text-zinc-500",children:e.id})]}),(0,n.jsx)("div",{className:"min-h-[38px] border-b border-zinc-800 bg-zinc-950/80 px-2 py-1 ".concat(i?"text-sm":"text-[11px]"),"aria-label":"의도 띠","data-pty-intent":!0,children:0===l.length?(0,n.jsx)("span",{className:"text-zinc-500",children:"이 PTY 를 모는 판단 신호 없음(사람이 모는 PTY 거나 MAX 계측 꺼짐)"}):l.map(e=>{var t;return(0,n.jsxs)("div",{className:"truncate",children:[(0,n.jsx)("span",{className:"font-mono ".concat(null!=(t=h[e.kind])?t:"text-zinc-300"),children:e.kind})," ",(0,n.jsx)("span",{className:"text-zinc-100",children:e.what}),e.why&&(0,n.jsxs)("span",{className:"text-zinc-400",children:[" \xb7 왜: ",e.why]}),e.target&&(0,n.jsxs)("span",{className:"text-zinc-500",children:[" → ",e.target]})]},"".concat(e.ts,"-").concat(e.what))})}),(0,n.jsx)("div",{className:"min-h-0 flex-1",children:(0,n.jsx)(d,{terminal:e,client:r,onClose:()=>y(e.id)})})]},"".concat(null!=(a=null==(t=e.sourceRoot)?void 0:t.dbPath)?a:"",":").concat(e.id))})})]})}var f=r(32891);let x={connected:{label:"연결됨",color:"bg-emerald-500"},connecting:{label:"연결 중",color:"bg-amber-500"},disconnected:{label:"끊김",color:"bg-rose-500"}};function g(e){let{activeId:t,tabs:r,status:l,onSwitch:s,onAdd:i,actions:o,children:c}=e,[d,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if(!m&&!d)return;let e=e=>{"Escape"===e.key&&(u(!1),p(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[d,m]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"relative flex h-10 max-h-10 shrink-0 items-center justify-between border-b border-zinc-800 bg-background px-2","aria-label":"간결한 터미널 상단바",children:[(0,n.jsxs)("div",{className:"relative min-w-0 max-w-[calc(50%_-_12px)] flex-1",children:[(0,n.jsxs)("button",{type:"button",className:"max-w-full truncate rounded px-2 py-1 text-left text-xs","aria-label":"터미널 고르기","aria-expanded":d,onClick:()=>{p(!1),u(e=>!e)},children:[null!=t?t:"터미널 준비 중"," ▾"]}),d&&(0,n.jsxs)("div",{className:"absolute left-0 top-full z-40 max-h-[60vh] min-w-48 overflow-auto rounded border border-zinc-700 bg-background p-1 shadow-xl",role:"menu","aria-label":"열린 터미널",children:[r.map(e=>(0,n.jsx)("button",{type:"button",role:"menuitem",className:"block w-full truncate rounded px-2 py-2 text-left text-sm hover:bg-accent","aria-current":e===t?"true":void 0,onClick:()=>{s(e),u(!1)},children:e},e)),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"block w-full rounded px-2 py-2 text-left text-sm hover:bg-accent",onClick:()=>{i(),u(!1)},children:"+ 새 터미널"})]})]}),(0,n.jsx)("span",{className:"absolute left-1/2 h-2 w-2 -translate-x-1/2 rounded-full ".concat(x[l].color),title:x[l].label,"aria-label":x[l].label,role:"status"}),(0,n.jsx)("button",{type:"button",className:"shrink-0 rounded px-2 py-1 text-lg leading-none","aria-label":"터미널 더보기","aria-expanded":m,onClick:()=>{u(!1),p(e=>!e)},children:"⋯"})]}),m&&(0,n.jsx)("button",{type:"button",className:"fixed inset-0 z-40 bg-black/50","aria-label":"터미널 메뉴 닫기",onClick:()=>p(!1)}),(0,n.jsxs)("section",{className:m?"fixed inset-x-0 bottom-0 z-50 max-h-[75dvh] overflow-y-auto rounded-t-xl border-t border-zinc-700 bg-background p-4 shadow-2xl":"hidden","aria-label":"터미널 더보기 시트","aria-hidden":!m,children:[(0,n.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-sm font-medium",children:"터미널 동작"}),(0,n.jsx)("button",{type:"button",onClick:()=>p(!1),"aria-label":"터미널 메뉴 닫기",children:"닫기"})]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2 border-b border-zinc-800 pb-3",children:c}),(0,n.jsx)("div",{className:"pt-3",children:o})]})]})}var v=r(53715),w=r(3151),y=r(13783),k=r(51935);let j=/\x1b(?:\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-?]*[ -/]*[@-~]|[@-Z\\-_])/g,N=new Map;function S(e){let{sessionId:t}=e,{client:r,setSessionId:l}=(0,w.Q)(),[s,i]=(0,a.useState)(N),[o,c]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=r.connectAcp({...t?{sessionId:t}:{},onSession:e=>{e&&e!==t&&l(e)}});(0,y.cY)("tui-mirror.attach",{sessionId:t});let n=e.on("sessionUpdate",e=>{var t,r;let n=(null!=(r=e.params)?r:{}).update;if(!n||"agent_thought_chunk"!==n.sessionUpdate)return;let a=(null==(t=n.content)?void 0:t.type)==="text"?n.content.text:null;a&&i(e=>{let t=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),n=(0,k.L)(t);if(!n||"terminalFrame"!==n.method)return e;let{terminalId:a,frame:l,instance:s,at:i}=n.payload,o="".concat(s).concat("\0").concat(a),c=e.get(o);if(c&&i<c.at)return e;let d=new Map(e);return d.set(o,{key:o,surfaceId:a,frame:l,instance:s,at:i,receivedAt:r}),d}(e,a);return t!==e&&(0,y.cY)("tui-mirror.frame",{bytes:a.length}),t})}),a=setInterval(()=>{i(e=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15e3,n=!1;for(let a of e.values())if(t-a.receivedAt>r){n=!0;break}if(!n)return e;let a=new Map;for(let[n,l]of e)t-l.receivedAt<=r&&a.set(n,l);return a})(e))},5e3);return()=>{clearInterval(a);try{n()}catch(e){}try{e.close()}catch(e){}}},[r,t,l]);let d=(0,a.useMemo)(()=>[...s.values()].sort((e,t)=>t.receivedAt-e.receivedAt||e.key.localeCompare(t.key)),[s]);(0,a.useEffect)(()=>{var e,t;o&&s.has(o)||c(null!=(t=null==(e=d[0])?void 0:e.key)?t:null)},[d,o,s]);let u=o?s.get(o):void 0;return(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col bg-zinc-950 text-zinc-100",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-zinc-800 px-3 py-2 text-xs text-zinc-400",children:[(0,n.jsx)("span",{className:"font-semibold text-zinc-200",children:"\uD83D\uDDA5 TUI 관측"}),(0,n.jsx)("span",{"aria-live":"polite",children:0===d.length?"자기신고 화면 대기 중…":"".concat(d.length,"개 화면 \xb7 라이브 미러")}),d.length>0&&(0,n.jsx)("select",{"aria-label":"관측할 TUI 화면 선택",className:"ml-auto rounded border border-zinc-700 bg-zinc-900 px-2 py-1 text-zinc-100",value:null!=o?o:"",onChange:e=>c(e.target.value),children:d.map(e=>(0,n.jsxs)("option",{value:e.key,children:[e.surfaceId," \xb7 ",e.instance]},e.key))})]}),(0,n.jsx)("pre",{className:"m-0 min-h-0 flex-1 overflow-auto whitespace-pre p-3 font-mono text-xs leading-snug text-zinc-100","aria-live":"polite","aria-label":"선택한 TUI 화면의 라이브 렌더 프레임",children:u?u.frame.replace(j,""):"자기신고하는 elanous 화면이 아직 없습니다. 대시보드(elanous)를 실행하면 여기 라이브로 미러링됩니다."})]})}var C=r(95903),I=r(94339),T=r(45045),E=r(96258),A=r(51377),Y=r(86313);function R(e){let{onFrameUploaded:t}=e,{config:r,client:l,sessionId:s}=(0,w.Q)(),i=(0,a.useRef)(null);(0,a.useEffect)(()=>()=>{try{var e;null==(e=i.current)||e.close()}catch(e){}i.current=null},[]);let o=(0,a.useCallback)(async e=>{if(t){try{t(e)}catch(e){}return}if(s){i.current||(i.current=l.connectAcp({sessionId:s}));try{var r;await i.current.send("terminal/camera/frame/notify",{sessionId:s,attachmentId:e.id,ts:null!=(r=e.createdAt)?r:Date.now()})}catch(e){(0,y.cY)("webterm.live-cam.notify-failed",{reason:e instanceof Error?e.message:String(e)})}}},[l,s,t]),c=function(e){var t,r,n;let l=null!=(t=e.intervalMs)?t:1e3,s=null!=(r=e.jpegQuality)?r:.85,i=null!=(n=e.maxDimension)?n:1280,[o,c]=(0,a.useState)({status:"idle",framesUploaded:0,lastAttachmentId:null,error:null}),d=(0,a.useRef)(null),u=(0,a.useRef)(null),m=(0,a.useRef)(null),p=(0,a.useRef)(null),h=(0,a.useRef)(!1),b=(0,a.useRef)(e.onFrameUploaded);b.current=e.onFrameUploaded;let f=(0,a.useRef)({baseUrl:e.baseUrl,token:e.token});f.current={baseUrl:e.baseUrl,token:e.token};let x=(0,a.useCallback)(()=>{null!==p.current&&(clearInterval(p.current),p.current=null);let e=d.current;if(e){for(let t of e.getTracks())try{t.stop()}catch(e){}d.current=null}if(u.current){try{u.current.pause()}catch(e){}u.current.srcObject=null,u.current=null}m.current=null,h.current=!1},[]),g=(0,a.useCallback)(async()=>{if(h.current)return void(0,y.cY)("webterm.live-cam.frame-dropped",{reason:"in-flight"});let e=u.current;if(!e||0===e.videoWidth||0===e.videoHeight)return void(0,y.cY)("webterm.live-cam.frame-skipped",{reason:"video-not-ready"});h.current=!0;try{let r=function(e,t,r){if(e<=r&&t<=r)return{width:e,height:t};let n=e/t;return e>=t?{width:r,height:Math.round(r/n)}:{width:Math.round(r*n),height:r}}(e.videoWidth,e.videoHeight,i),n=m.current;n&&n.width===r.width&&n.height===r.height||(m.current=n=function(e,t){let r=document.createElement("canvas");return r.width=e,r.height=t,r}(r.width,r.height));let a=n.getContext("2d");if(!a)return void(0,y.cY)("webterm.live-cam.no-ctx");a.drawImage(e,0,0,r.width,r.height);let l=await new Promise(e=>{n.toBlob(t=>e(t),"image/jpeg",s)});if(!l)return void(0,y.cY)("webterm.live-cam.toBlob-null");let o="live-frame-".concat(Date.now(),".jpg"),d=await (0,Y.v)({baseUrl:f.current.baseUrl,token:f.current.token,file:l,filename:o});if(!d.ok){c(e=>({...e,error:d.reason})),(0,y.cY)("webterm.live-cam.upload-failed",{reason:d.reason});return}c(e=>({...e,framesUploaded:e.framesUploaded+1,lastAttachmentId:d.meta.id,error:null}));try{var t;null==(t=b.current)||t.call(b,d.meta)}catch(e){(0,y.cY)("webterm.live-cam.onFrameUploaded-throw",{reason:e instanceof Error?e.message:String(e)})}}catch(t){let e=t instanceof Error?t.message:String(t);c(t=>({...t,error:e})),(0,y.cY)("webterm.live-cam.capture-error",{reason:e})}finally{h.current=!1}},[s,i]),v=(0,a.useCallback)(async()=>{var e;let t;if("undefined"==typeof navigator||!(null==(e=navigator.mediaDevices)?void 0:e.getUserMedia))return void c(e=>({...e,status:"unsupported",error:"getUserMedia not available"}));if(!f.current.baseUrl)return void c(e=>({...e,status:"error",error:"daemon baseUrl not configured"}));if(d.current)return;c(e=>({...e,status:"requesting",error:null}));try{t=await navigator.mediaDevices.getUserMedia({video:{facingMode:{ideal:"environment"}}})}catch(r){let e=r instanceof Error?r.message:String(r),t=e.includes("Permission")||e.includes("NotAllowed");c(r=>({...r,status:t?"denied":"error",error:e})),(0,y.cY)("webterm.live-cam.getUserMedia-failed",{reason:e,denied:t});return}d.current=t;let r=document.createElement("video");r.srcObject=t,r.muted=!0,r.playsInline=!0,u.current=r;try{await r.play()}catch(e){(0,y.cY)("webterm.live-cam.video-play-failed",{reason:e instanceof Error?e.message:String(e)})}c(e=>({...e,status:"streaming",framesUploaded:0,error:null})),null!==p.current&&clearInterval(p.current),p.current=setInterval(()=>{g()},l),(0,y.cY)("webterm.live-cam.started",{intervalMs:l})},[g,l]),w=(0,a.useCallback)(()=>{x(),c({status:"idle",framesUploaded:0,lastAttachmentId:null,error:null}),(0,y.cY)("webterm.live-cam.stopped")},[x]);return(0,a.useEffect)(()=>()=>{x()},[x]),{...o,start:v,stop:w,isRunning:"streaming"===o.status}}({baseUrl:r.baseUrl,...r.token?{token:r.token}:{},onFrameUploaded:o});return"unsupported"!==c.status&&r.baseUrl?"denied"===c.status?(0,n.jsx)("button",{type:"button",disabled:!0,className:"rounded border border-rose-300 bg-rose-50 px-2 py-0.5 text-[11px] text-rose-700 dark:border-rose-800 dark:bg-rose-950 dark:text-rose-200",title:"Camera permission denied. Enable in iOS Settings → Safari → Camera, then reload.","data-testid":"live-camera-denied",children:"Camera denied"}):c.isRunning?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",onClick:()=>c.stop(),className:"rounded border border-rose-300 bg-rose-50 px-2 py-0.5 text-rose-700 dark:border-rose-800 dark:bg-rose-950 dark:text-rose-200 hover:bg-rose-100 dark:hover:bg-rose-900",title:"Stop live camera","data-testid":"live-camera-stop",children:"■ Stop"}),(0,n.jsxs)("span",{className:"rounded border border-border bg-card px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground","data-testid":"live-camera-stats","aria-live":"polite",children:[c.framesUploaded,"f",c.error?(0,n.jsx)("span",{className:"ml-1 text-rose-500",children:"err"}):null]})]}):(0,n.jsx)("button",{type:"button",disabled:"requesting"===c.status,onClick:()=>{c.start()},className:"rounded border px-2 py-0.5 hover:bg-accent disabled:opacity-50",title:"Start live camera — uploads a 1Hz frame stream so the agent can see what you point at","data-testid":"live-camera-start",children:"requesting"===c.status?"Requesting…":"\uD83D\uDCF9 Live"}):null}function z(e){let{terminalId:t,onClear:r,onRecordingChange:l,onAttached:s,voice:i,variant:o="default"}=e,{client:c,sessionId:d,config:u}=(0,w.Q)(),[m,p]=(0,a.useState)(null),[h,b]=(0,a.useState)(null),[f,x]=(0,a.useState)(!1),[g,v]=(0,a.useState)(null);(0,a.useEffect)(()=>{null==l||l(null!==m)},[m,l]);let k=(0,a.useRef)(null);(0,a.useEffect)(()=>()=>{try{var e;null==(e=k.current)||e.close()}catch(e){}k.current=null},[]),(0,a.useEffect)(()=>{if(!d)return;k.current||(k.current=c.connectAcp({sessionId:d}));let e=k.current,r=!1;return(async()=>{try{var n;let a=await e.send("terminal/record/list",{sessionId:d});if(r)return;let l=null==a||null==(n=a.recordings)?void 0:n.find(e=>e.terminalId===t);l?p({recorderId:l.recorderId,startedAt:l.startedAt}):p(null),b(null),v(null)}catch(e){(0,y.cY)("webterm.controls.list-error",{reason:String(e)})}})(),()=>{r=!0}},[c,d,t]);let j=(0,a.useCallback)(async()=>{if(!d)return void v("session 미설정 — daemon 연결을 먼저 확인하세요");k.current||(k.current=c.connectAcp({sessionId:d}));let e=k.current;x(!0),v(null),b(null);try{var r,n;let a=await e.send("terminal/record/start",{sessionId:d,terminalId:t});(null==a?void 0:a.started)&&a.recorderId?((0,y.cY)("webterm.controls.record.started",{recorderId:a.recorderId,terminalId:t}),p({recorderId:a.recorderId,startedAt:null!=(r=a.startedAt)?r:Date.now()})):v(null!=(n=null==a?void 0:a.reason)?n:"start failed")}catch(e){v(String(e instanceof Error?e.message:e))}finally{x(!1)}},[c,d,t]),N=(0,a.useCallback)(async()=>{var e,r,n,a;if(!d||!m)return;let l=null!=(e=k.current)?e:c.connectAcp({sessionId:d});k.current=l,x(!0),v(null);try{let e=await l.send("terminal/record/stop",{sessionId:d,terminalId:t});(null==e?void 0:e.stopped)&&e.recorderId&&e.downloadUrl?((0,y.cY)("webterm.controls.record.stopped",{recorderId:e.recorderId,frameCount:e.frameCount,elapsedSec:e.elapsedSec}),b({recorderId:e.recorderId,downloadUrl:e.downloadUrl,frameCount:null!=(r=e.frameCount)?r:0,elapsedSec:null!=(n=e.elapsedSec)?n:0}),p(null)):v(null!=(a=null==e?void 0:e.reason)?a:"stop failed")}catch(e){v(String(e instanceof Error?e.message:e))}finally{x(!1)}},[m,c,d,t]);return(0,n.jsxs)("div",{className:"sheet"===o?"flex flex-wrap items-center gap-2 text-xs":"flex flex-wrap items-center gap-2 border-b px-2 py-1 text-xs",children:[(0,n.jsx)("button",{type:"button",className:"rounded border px-2 py-0.5 hover:bg-accent",onClick:()=>{(0,y.cY)("webterm.controls.clear"),r()},children:"clear"}),(0,n.jsx)(E.T,{onAttached:s?e=>s([e]):void 0}),(0,n.jsx)(A.u,{onAttached:s}),(0,n.jsx)(R,{}),i&&(0,n.jsxs)("button",{type:"button",onClick:i.onToggle,disabled:i.disabled,title:i.disabled?"마이크 사용 불가 (insecure context 등)":"".concat(i.phaseLabel," \xb7 xterm 으로 typing"),"data-elanous-action":"webterm-voice-toggle-controls","aria-pressed":i.active,className:(0,T.cn)("inline-flex items-center gap-1 rounded border px-2 py-0.5",i.active?"border-rose-300 bg-rose-100 text-rose-800 dark:border-rose-700 dark:bg-rose-950/40 dark:text-rose-100":"hover:bg-accent",i.disabled&&"cursor-not-allowed opacity-50"),children:[(0,n.jsx)("span",{className:(0,T.cn)("h-1.5 w-1.5 rounded-full",i.dotColor,("listening"===i.phase||"speaking"===i.phase)&&"animate-pulse"),"aria-hidden":"true"}),i.active?(0,n.jsx)(C.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(I.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{children:"voice→stdin"})]}),!m&&!h&&(0,n.jsx)("button",{type:"button",disabled:f,className:"rounded border px-2 py-0.5 ".concat(f?"opacity-50":"hover:bg-accent"," text-rose-600 dark:text-rose-400"),onClick:()=>void j(),title:"start asciicast recording",children:"● record"}),m&&(0,n.jsx)("button",{type:"button",disabled:f,className:"rounded border px-2 py-0.5 ".concat(f?"opacity-50":"hover:bg-accent"," bg-rose-600 text-white animate-pulse"),onClick:()=>void N(),title:"stop + save .cast",children:"■ stop"}),h&&(0,n.jsx)("a",{href:(e=>{var t;if(!e)return"";let r=null!=(t=u.baseUrl)?t:"",n=e.includes("?")?"&":"?",a=u.token?"".concat(n,"auth=").concat(encodeURIComponent(u.token)):"";return"".concat(r).concat(e).concat(a)})(h.downloadUrl),download:"".concat(h.recorderId,".cast"),className:"rounded border border-emerald-500 px-2 py-0.5 text-emerald-600 hover:bg-emerald-50 dark:hover:bg-emerald-950",onClick:()=>(0,y.cY)("webterm.controls.download.click",{recorderId:h.recorderId}),title:"".concat(h.frameCount," frames \xb7 ").concat(h.elapsedSec.toFixed(1),"s"),children:"⬇ download .cast"}),h&&(0,n.jsx)("button",{type:"button",className:"rounded border px-2 py-0.5 text-muted-foreground hover:bg-accent",onClick:()=>b(null),title:"dismiss","aria-label":"dismiss download",children:"\xd7"}),(m||h)&&(0,n.jsxs)("span",{className:"ml-auto text-[11px] text-muted-foreground",children:[m&&"● recording",h&&!m&&"✓ ".concat(h.recorderId)]}),g&&(0,n.jsx)("span",{className:"ml-2 max-w-[40%] truncate text-[11px] text-rose-500",title:g,children:g})]})}var P=r(80445),U=r(79309),M=r(67676);let D="elanous.pwa.hwKeyboard",L=/^(Escape|Tab|ArrowUp|ArrowDown|ArrowLeft|ArrowRight|F([1-9]|1[0-2]))$/;function $(e,t){try{null==e||e.setItem(D,t?"1":"0")}catch(e){}}let F=[{key:"esc",label:"Esc",width:"wide",title:"Escape (vim normal mode)"},{key:"tab",label:"Tab",width:"wide",title:"Tab (autocomplete)"},{key:"shift-enter",label:"⇧⏎",width:"wide",title:"Shift+Enter (newline)"},{key:"left",label:"←",width:"narrow",title:"Left arrow"},{key:"down",label:"↓",width:"narrow",title:"Down arrow"},{key:"up",label:"↑",width:"narrow",title:"Up arrow"},{key:"right",label:"→",width:"narrow",title:"Right arrow"}];function Q(e){let{terminalId:t}=e,{sessionId:r}=(0,w.Q)(),[l,s]=(0,a.useState)(()=>(0,P.ox)(t));(0,a.useEffect)(()=>{let e=()=>s((0,P.ox)(t));return e(),(0,P.Ok)(e)},[t]);let i=(0,a.useCallback)(()=>{let e=(0,P.ox)(t);if(!e)return;let n=(0,U.dI)({bufferType:e.buffer.active.type,mouseTracking:e.modes.mouseTrackingMode});"scroll-pages"===n.kind?e.scrollPages(n.pages):r&&(0,P.WP)(t,n.data)},[t,r]),[o,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(!1);(0,a.useEffect)(()=>{p(function(e){try{return(null==e?void 0:e.getItem(D))==="1"}catch(e){return!1}}(window.localStorage));let e=e=>{var t;t=navigator.userAgent,!e.isComposing&&229!==e.keyCode&&"Unidentified"!==e.key&&"Process"!==e.key&&(L.test(e.key)||(e.ctrlKey||e.metaKey||e.altKey)&&1===e.key.length||/Android/i.test(t)&&1===e.key.length||0)&&p(t=>t||($(window.localStorage,!0),(0,y.cY)("webterm.modifier-bar.hw-keyboard",{key:1===e.key.length?"char":e.key}),!0))};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[]);let h=(0,a.useCallback)(()=>{$(window.localStorage,!1),p(!1)},[]),b=(0,a.useRef)(!1),f=(0,a.useRef)(!1);b.current=o,f.current=d;let x=(0,a.useRef)(null),g=(0,a.useCallback)(()=>{b.current=!1,f.current=!1,c(!1),u(!1),(0,P.Ct)(t,{ctrl:!1,alt:!1}),null!==x.current&&(clearTimeout(x.current),x.current=null)},[t]);(0,a.useEffect)(()=>(0,P.oy)(t,g),[t,g]);let v=(0,a.useCallback)((e,t)=>{null!==x.current&&(clearTimeout(x.current),x.current=null),(e||t)&&(x.current=setTimeout(()=>{g(),(0,y.cY)("webterm.modbar.auto-release",{})},5e3))},[g]);(0,a.useEffect)(()=>()=>{g()},[g]);let k=(0,a.useCallback)(e=>{if(!r)return void(0,y.cY)("webterm.modbar.no-session",{key:e});let n={ctrl:b.current,alt:f.current},a=(0,M.bu)(e,n);(0,y.cY)("webterm.modbar.send",{key:e,ctrl:n.ctrl,alt:n.alt,bytes:a.length});try{(0,P.WP)(t,a)}catch(e){(0,y.cY)("webterm.modbar.send-error",{reason:String(e)})}(n.ctrl||n.alt)&&((0,P.ho)(t),g())},[r,t,g]),j=(0,a.useCallback)(()=>{let e=!b.current;b.current=e,c(e),(0,P.Ct)(t,{ctrl:e,alt:f.current}),v(e,f.current)},[v,t]),N=(0,a.useCallback)(()=>{let e=!f.current;f.current=e,u(e),(0,P.Ct)(t,{ctrl:b.current,alt:e}),v(b.current,e)},[v,t]),S=e=>["flex h-7 shrink-0 items-center justify-center rounded border border-border bg-card font-mono text-[11px] text-muted-foreground hover:bg-muted hover:border-primary hover:text-foreground active:translate-y-px disabled:opacity-50","wide"===e?"px-2 min-w-[36px]":"w-8"].join(" "),C=e=>["flex h-7 shrink-0 items-center justify-center rounded border font-mono text-[11px] px-2 min-w-[36px] active:translate-y-px disabled:opacity-50 transition-colors",e?"border-amber-400 bg-amber-100 text-amber-900 dark:border-amber-500 dark:bg-amber-900 dark:text-amber-100":"border-border bg-card text-muted-foreground hover:bg-muted hover:border-primary hover:text-foreground"].join(" ");return m?(0,n.jsx)("div",{className:"flex items-center border-b border-border bg-background/60 px-2 py-0.5","data-testid":"modifier-bar-collapsed",children:(0,n.jsx)("button",{type:"button",onClick:h,className:"rounded px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground",title:"물리 키보드가 잡혀 접었다 — 누르면 Esc\xb7Tab\xb7화살표 키 줄을 다시 편다",children:"⌨ 보조 키"})}):(0,n.jsxs)("div",{className:"flex min-w-0 max-w-full flex-nowrap items-center gap-1 overflow-x-auto border-b border-border bg-background/60 px-2 py-1","data-testid":"modifier-bar",role:"toolbar","aria-label":"Mobile keyboard modifiers",children:[F.map(e=>(0,n.jsx)("button",{type:"button",className:S(e.width),onClick:()=>{k(e.key)},disabled:!r,"aria-label":e.title,title:e.title,"data-testid":"modbar-".concat(e.key),children:e.label},e.key)),(0,n.jsx)("button",{type:"button",className:S("wide"),onClick:i,disabled:!l||!r,"aria-label":"과거 내용 보기",title:"과거 내용 보기 — 한 쪽 위로","data-testid":"modbar-history",children:"⇡ 기록"}),(0,n.jsx)("span",{className:"mx-1 shrink-0 text-[10px] text-muted-foreground/60","aria-hidden":!0,children:"\xb7"}),(0,n.jsx)("button",{type:"button",className:C(o),onClick:j,disabled:!r,"aria-label":"Ctrl modifier ".concat(o?"active":"idle"),"aria-pressed":o,title:"Ctrl modifier — toggles. Combines with arrow keys (e.g. Ctrl+→ = next word). Auto-releases after 5s or one keystroke.","data-testid":"modbar-ctrl",children:"Ctrl"}),(0,n.jsx)("button",{type:"button",className:C(d),onClick:N,disabled:!r,"aria-label":"Alt modifier ".concat(d?"active":"idle"),"aria-pressed":d,title:"Alt modifier — toggles. Combines with Esc/Tab/arrows. Auto-releases after 5s or one keystroke.","data-testid":"modbar-alt",children:"Alt"})]})}var O=r(13722);function H(e){let{foreignActivityTick:t,onPeerCountChange:r}=e,{client:l,sessionId:s}=(0,w.Q)(),[i,o]=(0,a.useState)(0),[c,d]=(0,a.useState)(!1);(0,a.useEffect)(()=>{null==r||r(i)},[i,r]);let u=(0,a.useRef)(null),m=(0,a.useRef)(null),p=(0,a.useCallback)(async()=>{if(!s)return;u.current||(u.current=l.connectAcp({sessionId:s}));let e=u.current;try{let t=await e.send("terminal/peers/count",{sessionId:s});"number"==typeof(null==t?void 0:t.count)&&(o(t.count),(0,y.cY)("webterm.peers.count",{count:t.count}))}catch(e){(0,y.cY)("webterm.peers.count.error",{reason:String(e)})}},[l,s]);return((0,a.useEffect)(()=>{p();let e=()=>{"visible"===document.visibilityState&&p()};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[p]),(0,a.useEffect)(()=>()=>{try{var e;null==(e=u.current)||e.close()}catch(e){}u.current=null,m.current&&clearTimeout(m.current)},[]),(0,a.useEffect)(()=>{t&&(d(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{d(!1),m.current=null,p()},1800))},[t,p]),i<=1&&!c)?null:(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border bg-amber-500/10 px-2 py-0.5 text-[11px]",children:[(0,n.jsx)(O.A,{className:"h-3 w-3 text-amber-600","aria-hidden":!0}),i>1&&(0,n.jsxs)("span",{className:"font-mono text-amber-700 dark:text-amber-400",children:[i," devices"]}),c&&(0,n.jsx)("span",{className:"ml-auto rounded bg-amber-500 px-1.5 py-0.5 font-medium text-white animate-pulse",children:"\uD83D\uDC64 typing"})]})}var _=r(27415);function B(e){let{onAttached:t,pageWide:r=!0}=e,{config:s}=(0,w.Q)(),[i,o]=(0,a.useState)(!1),[c,d]=(0,a.useState)(!1),u=(0,a.useRef)(0),m=(0,a.useCallback)(async e=>{if(0!==e.length){if(!s.baseUrl)return void l.oR.error("Daemon URL 미설정 — Settings 에서 입력");d(!0),(0,y.cY)("webterm.dropzone.drop",{count:e.length,totalBytes:e.reduce((e,t)=>e+t.size,0)});try{let r=await (0,Y.K)(e.map(e=>({file:e,filename:e.name})),{baseUrl:s.baseUrl,...s.token?{token:s.token}:{}}),n=r.filter(e=>e.ok),a=r.filter(e=>!e.ok);n.length>0&&(l.oR.success(1===n.length?"\uD83D\uDCCE ".concat(n[0].meta.filename):"\uD83D\uDCCE ".concat(n.length," files dropped")),null==t||t(n.map(e=>e.meta))),a.length>0&&l.oR.error(1===a.length?"드롭 실패: ".concat(a[0].reason.slice(0,80)):"".concat(a.length," 파일 드롭 실패"))}finally{d(!1)}}},[s.baseUrl,s.token,t]);return((0,a.useEffect)(()=>{if(!r)return;let e=e=>{e.dataTransfer&&e.dataTransfer.types.includes("Files")&&(e.preventDefault(),u.current+=1,o(!0))},t=e=>{e.dataTransfer&&e.dataTransfer.types.includes("Files")&&e.preventDefault()},n=e=>{e.dataTransfer&&e.dataTransfer.types.includes("Files")&&(e.preventDefault(),u.current=Math.max(0,u.current-1),0===u.current&&o(!1))},a=e=>{if(!e.dataTransfer)return;let t=e.dataTransfer.files;t&&0!==t.length&&(e.preventDefault(),u.current=0,o(!1),m(Array.from(t)))};return document.addEventListener("dragenter",e),document.addEventListener("dragover",t),document.addEventListener("dragleave",n),document.addEventListener("drop",a),()=>{document.removeEventListener("dragenter",e),document.removeEventListener("dragover",t),document.removeEventListener("dragleave",n),document.removeEventListener("drop",a)}},[m,r]),i||c)?(0,n.jsx)("div",{className:"pointer-events-none fixed inset-0 z-50 flex items-center justify-center bg-primary/20 backdrop-blur-sm",children:(0,n.jsxs)("div",{className:"rounded-xl border-2 border-dashed border-primary bg-card px-6 py-4 text-center shadow-lg",children:[(0,n.jsx)(_.A,{className:"mx-auto h-10 w-10 text-primary","aria-hidden":!0}),(0,n.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:c?"업로드 중…":"Drop files to attach"}),(0,n.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:c?"":"iCloud \xb7 Files.app \xb7 폴더 모두 지원"})]})}):null}var W=r(92572),q=r(45814),K=r(12093),V=r(25367),Z=r(65809),G=r(24469),J=r(88616),X=r(47278),ee=r(80477),et=r(58076),er=r(18075),en=r(70242),ea=r(53414),el=r(97665),es=r(10960);async function ei(e,t){if(!t||0===t.length)return null;try{let r=await e.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(t),"?ifExists=1"));if(!r||!Array.isArray(r.messages))return null;let n=function(e){let t=[];return e.forEach((e,r)=>{let n=function(e,t){let r=e.role;if("tool"===r)return{...(0,es.$Q)("\uD83D\uDEE0️ ".concat(e.toolName||"tool")),id:"hydrate-t-".concat(t)};let n=function(e){if("string"==typeof e)return e;if(!Array.isArray(e))return"";let t=[];for(let n of e)if(n&&"object"==typeof n){let e=n.type;if("text"===e&&"string"==typeof n.text)t.push(n.text);else if("image"===e)t.push("\uD83D\uDCCE image");else if("audio"===e)t.push("\uD83D\uDCCE audio");else if("tool_use"===e){var r;let e=null!=(r=n.name)?r:"tool";t.push("\uD83D\uDEE0️ ".concat(e))}else"tool_result"===e&&t.push("\uD83D\uDEE0️ result")}return t.join("\n").trim()}(e.content);return 0===n.length?null:"user"===r?{...(0,es.tw)(n),id:"hydrate-u-".concat(t)}:"assistant"===r?{id:"hydrate-a-".concat(t),role:"assistant",text:n,timestamp:Date.now(),meta:{provider:"history"}}:"system"===r?null:{...(0,es.$Q)(n),id:"hydrate-m-".concat(t)}}(e,r);n&&t.push(n)}),t.slice(-200)}(r.messages);return(0,y.cY)("webterm.terminal-chat.hydrate.ok",{sessionId:t,serverCount:r.messages.length,mappedCount:n.length}),n}catch(e){return(0,y.cY)("webterm.terminal-chat.hydrate.skip",{sessionId:t,reason:e instanceof Error?e.message:String(e)}),null}}let eo=[":cwd",":capture",":peers",":tab next",":tab prev"];function ec(e){let t=(null!=e?e:"").replace(/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g,"").replace(/\r/g,"").trim();return t.length>0?t:"(no output)"}let ed=(0,a.forwardRef)(function(e,t){let{terminalId:r,open:s,onTabIntent:i,height:o,voice:c}=e,d="number"==typeof o&&Number.isFinite(o)&&o>0?o:void 0,{client:u,config:m,sessionId:p,setSessionId:h}=(0,w.Q)(),b=(0,a.useRef)(p),f=(0,a.useRef)(null),[x,g]=(0,a.useState)([]),[v,k]=(0,a.useState)(!1),[j,N]=(0,a.useState)(null),[S,E]=(0,a.useState)([]),[A,Y]=(0,a.useState)(!1),R=(0,a.useRef)(async()=>{}),z=(0,a.useRef)(!1);z.current=v;let P=(0,a.useRef)(null),[U,M]=(0,a.useState)(!1),D=(0,el.$)({enabled:!!(null==c?void 0:c.active)&&!U,language:"ko-KR"}),L=(0,a.useRef)(D);L.current=D,(0,a.useEffect)(()=>{b.current=p},[p]),(0,a.useEffect)(()=>{try{var e;null==(e=f.current)||e.close()}catch(e){}if(f.current=null,s&&p)return f.current=u.connectAcp({sessionId:p}),()=>{try{var e;null==(e=f.current)||e.close()}catch(e){}f.current=null}},[u,s,p]),(0,a.useEffect)(()=>{let e=f.current;if(e&&s&&p)return e.on("sessionUpdate",e=>{var t;let r=P.current;if(!r)return;let n=e.params;if(!n||n.sessionId!==p)return;let a=n.update;if(a&&"agent_message_chunk"===a.sessionUpdate&&(null==(t=a.content)?void 0:t.type)==="text"&&"string"==typeof a.content.text){let e=a.content.text;if(0===e.length)return;g(t=>t.map(t=>{var n;return t.id===r?{...t,text:(null!=(n=t.text)?n:"")+e}:t})),L.current.pushText(e)}})},[s,p]);let $=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!s||!p||$.current===p)return;$.current=p;let e=!1;return(async()=>{let t=await ei(u,p);e||null===t||g(t)})(),()=>{e=!0}},[u,s,p]);let F=(0,a.useCallback)(e=>{g(t=>[...t,e].slice(-200))},[]);(0,a.useImperativeHandle)(t,()=>({submitVoiceTranscript:e=>{let t=e.trim();if(t){if(z.current)return void(0,y.cY)("webterm.terminal-chat.voice.skip-pending",{len:t.length});(0,y.cY)("webterm.terminal-chat.voice.auto-send",{len:t.length}),R.current(t)}}}),[]);let Q=(0,a.useCallback)(()=>{let e=b.current;return e?(f.current||(f.current=u.connectAcp({sessionId:e})),f.current):null},[u]),O=(0,a.useMemo)(()=>({client:u,sessionId:p,provider:m.provider,setSessionId:h,daemon:{baseUrl:m.baseUrl,...m.token?{token:m.token}:{}},messages:x}),[u,m.baseUrl,m.provider,m.token,x,p,h]),H=(0,a.useCallback)(e=>{E(t=>[...t,...e]),(0,y.cY)("webterm.terminal-chat.attach.queue",{terminalId:r,added:e.length,filenames:e.map(e=>e.filename)})},[r]),_=(0,a.useCallback)(e=>{E(t=>t.filter(t=>t.id!==e))},[]),B=(0,a.useCallback)(async e=>{let t=e.startsWith(":")?null:await (0,es.yN)(e,O);if(t){"__CLEAR__"===t.text?g([]):F((0,es.$Q)(t.text,r)),t.newSessionId&&h(t.newSessionId);return}if(!p)return void F((0,es.$Q)("session 미설정",r));let n=Q();if(!n)return void F((0,es.$Q)("session 미설정",r));let a=await n.send("terminal/repl/exec",{sessionId:p,terminalId:r,line:e});F((0,es.$Q)(ec(null==a?void 0:a.output),r)),(null==a?void 0:a.sessionIdChange)&&h(a.sessionIdChange),(null==a?void 0:a.tabIntent)!==void 0&&(null==i||i(a.tabIntent),F((0,es.$Q)("tab intent → ".concat(String(a.tabIntent)),r))),(null==a?void 0:a.injectPath)&&F((0,es.$Q)("captured → ".concat(a.injectPath),r)),(null==a?void 0:a.agentChatModeEnter)&&F((0,es.$Q)("agent chat mode hint — terminal dock already runs plain text as agent turns",r))},[F,O,Q,i,p,h,r]),ed=(0,a.useCallback)(async()=>{let e=b.current;if(e&&j)try{var t;let n=Q();if(!n)return;let a=await n.send("terminal/repl/agent/abort",{sessionId:e,terminalId:r});(0,y.cY)("webterm.terminal-chat.abort",{terminalId:r,aborted:null!=(t=null==a?void 0:a.aborted)&&t}),F((0,es.$Q)((null==a?void 0:a.aborted)?"agent turn aborted":"no active agent turn to abort",r))}catch(t){let e=t instanceof Error?t.message:String(t);F((0,es.$Q)("abort failed: ".concat(e),r))}finally{k(!1),N(null)}},[F,Q,j,r]),eu=(0,a.useCallback)(async e=>{E([]);let t=S.filter(e=>!("string"==typeof e.path&&e.path.length>0)).length;if(t>0){let e=1===t?"첨부 1건이 path 누락으로 누락됐습니다":"첨부 ".concat(t,"건이 path 누락으로 누락됐습니다");l.oR.warning(e),F((0,es.$Q)("⚠ ".concat(e),r)),(0,y.cY)("webterm.terminal-chat.attach.dropped",{terminalId:r,droppedCount:t,totalCount:S.length})}e.length>0&&F((0,es.tw)(e,r)),S.length>0&&F((0,es.$Q)("\uD83D\uDCCE attached: ".concat(S.map(e=>e.filename).join(", ")),r));let n=e.trim();if(n||0!==S.length){k(!0);try{if((0,es.FM)(n))return void await B(n);if(!p)return void F((0,es.$Q)("session 미설정",r));let e=Q();if(!e)return void F((0,es.$Q)("session 미설정",r));N(n);let t="assistant-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6));P.current=t,F({id:t,role:"assistant",text:"",timestamp:Date.now(),terminalId:r}),(0,y.cY)("webterm.terminal-chat.turn.start",{terminalId:r,sessionId:p,len:n.length,attachCount:S.length,placeholderId:t});let a=S.filter(e=>e.path).map(e=>"[attached] ".concat(e.path)),l=a.length>0?"".concat(a.join("\n"),"\n\n").concat(n).trimEnd():n,s=await e.send("terminal/repl/exec",{sessionId:p,terminalId:r,line:":agent ".concat(l)});(null==s?void 0:s.agent)?(g(e=>e.map(e=>e.id===t?{...e,text:e.text&&e.text.length>=s.agent.markdown.length?e.text:s.agent.markdown,meta:{provider:s.agent.modelLabel,stopReason:s.agent.stopReason}}:e)),L.current.flush()):(g(e=>e.filter(e=>e.id!==t)),F((0,es.$Q)(ec(null==s?void 0:s.output),r))),(0,y.cY)("webterm.terminal-chat.turn.end",{terminalId:r,hasAgent:!!(null==s?void 0:s.agent)})}catch(n){let e=n instanceof Error?n.message:String(n),t=P.current;t&&g(e=>e.filter(e=>e.id!==t)),L.current.cancel(),F((0,es.$Q)("error: ".concat(e),r)),l.oR.error("terminal chat failed: ".concat(e))}finally{P.current=null,k(!1),N(null)}}},[F,Q,B,S,p,r]);return((0,a.useEffect)(()=>{R.current=eu},[eu]),s)?(0,n.jsxs)("div",{className:"shrink-0 border-t border-border bg-background/95","data-terminal-chat-dock":!0,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/80 px-3 py-2",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,n.jsx)("span",{className:"inline-flex h-7 w-7 items-center justify-center rounded-md border border-primary/30 bg-primary/10 text-primary",children:(0,n.jsx)(q.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"truncate text-sm font-medium",children:"Terminal Chat Dock"}),(0,n.jsxs)("div",{className:"truncate text-[11px] text-muted-foreground",children:[r," \xb7 plain text = contextual agent turn \xb7 ",(0,n.jsx)("code",{className:"rounded bg-muted px-1",children:":commands"})," stay local"]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[c&&(0,n.jsxs)("button",{type:"button",onClick:c.onToggle,disabled:c.disabled,title:c.disabled?"마이크 사용 불가 (insecure context 등)":c.phaseLabel,"data-elanous-action":"webterm-voice-toggle-dock","aria-pressed":c.active,className:(0,T.cn)("inline-flex h-7 items-center gap-1.5 rounded-md border px-2 text-[11px]",c.active?"border-rose-300 bg-rose-100 text-rose-800 dark:border-rose-700 dark:bg-rose-950/40 dark:text-rose-100":"border-border hover:bg-accent",c.disabled&&"cursor-not-allowed opacity-50"),children:[(0,n.jsx)("span",{className:(0,T.cn)("h-1.5 w-1.5 rounded-full",c.dotColor,("listening"===c.phase||"speaking"===c.phase)&&"animate-pulse"),"aria-hidden":"true"}),c.active?(0,n.jsx)(C.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(I.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:c.phaseLabel})]}),c&&c.active&&D.supported&&(0,n.jsx)("button",{type:"button",onClick:()=>{U||L.current.cancel(),M(e=>!e)},title:U?"음성 응답 켜기":"음성 응답 끄기","data-elanous-action":"webterm-tts-mute-toggle","aria-pressed":U,className:(0,T.cn)("inline-flex h-7 items-center justify-center rounded-md border px-2 text-[11px]",U?"border-border bg-muted text-muted-foreground":"border-fuchsia-300 bg-fuchsia-50 text-fuchsia-800 dark:border-fuchsia-700 dark:bg-fuchsia-950/40 dark:text-fuchsia-100"),children:U?(0,n.jsx)(K.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(V.A,{className:"h-3.5 w-3.5"})}),(0,n.jsx)(er.Qh,{}),(0,n.jsx)(W.vG,{children:(0,n.jsx)(et.rm,{})}),(0,n.jsx)(W.vG,{children:(0,n.jsx)(en.D,{})}),j&&(0,n.jsxs)(ea.$,{variant:"destructive",size:"sm",onClick:()=>void ed(),title:"abort active terminal-context agent turn",children:[(0,n.jsx)(Z.A,{className:"h-3.5 w-3.5"}),"Stop"]}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(ea.$,{variant:"outline",size:"icon-sm",onClick:()=>Y(e=>!e),"aria-label":"terminal quick commands",title:"terminal quick commands",children:(0,n.jsx)(G.A,{className:"h-3.5 w-3.5"})}),A&&(0,n.jsx)("div",{className:"absolute right-0 top-full z-40 mt-1 w-44 rounded-md border border-border bg-popover p-1 shadow-md",children:eo.map(e=>(0,n.jsx)("button",{type:"button",className:"block w-full rounded px-2 py-1 text-left font-mono text-[11px] hover:bg-accent",onClick:()=>{Y(!1),eu(e)},children:e},e))})]})]})]}),j&&(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/70 px-3 py-2 text-[11px] text-muted-foreground",children:[(0,n.jsx)(J.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,n.jsxs)("span",{className:"truncate",children:["terminal-context agent turn in progress",j.length>0?" \xb7 ".concat(j.slice(0,120)).concat(j.length>120?"…":""):""]})]}),(0,n.jsxs)("div",{className:(0,T.cn)("grid grid-rows-[1fr_auto]",void 0===d?"h-[clamp(160px,30vh,360px)] min-h-[200px]":void 0),...void 0===d?{}:{style:{height:d}},children:[(0,n.jsx)(X.D,{messages:x,pending:v,tabId:"dock-".concat(r)}),(0,n.jsx)(ee.V,{onSubmit:eu,disabled:v,attachments:S,onAttached:H,onRemoveAttachment:_,tabId:"dock-".concat(r),...c?{voice:c}:{}})]})]}):null});var eu=r(11905),em=r(10486);let ep=/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./;function eh(){if(!window.location)return{isSecure:!1,reason:"unknown",hostname:"",protocol:""};let e=function(e,t){let r="https:"===e,n="http:"===e;return"localhost"===t||"127.0.0.1"===t||"[::1]"===t||"::1"===t?{isSecure:!0,reason:"localhost",hostname:t,protocol:e}:r&&/\.ts\.net$/i.test(t)?{isSecure:!0,reason:"https-tsnet",hostname:t,protocol:e}:r?{isSecure:!0,reason:"https-other",hostname:t,protocol:e}:n&&ep.test(t)?{isSecure:!1,reason:"http-tailscale",hostname:t,protocol:e,guidance:"Tailscale 100.x 주소는 HTTP라 마이크 권한이 차단됩니다. `tailscale serve` 또는 funnel 로 ts.net HTTPS 호스트를 노출하면 마이크가 동작합니다."}:n?{isSecure:!1,reason:"http-other",hostname:t,protocol:e,guidance:"브라우저는 HTTP origin 에서 마이크 접근을 차단합니다. HTTPS 로 접속하거나 localhost 로 옮기세요."}:{isSecure:!1,reason:"unknown",hostname:t,protocol:e}}(window.location.protocol,window.location.hostname);return e.isSecure&&!1===window.isSecureContext?{...e,isSecure:!1,reason:"unknown",guidance:"현재 origin 이 secure context 가 아닙니다 (브라우저 판정). HTTPS 로 접속하세요."}:e}let eb="elanous.webterm.voiceBanner.dismissed",ef={isSecure:!1,reason:"unknown",hostname:"",protocol:""};function ex(){var e;let{statusOverride:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[r,l]=(0,a.useState)(!1),[s,i]=(0,a.useState)(null!=t?t:ef);if((0,a.useEffect)(()=>{l(function(){try{return"1"===window.sessionStorage.getItem(eb)}catch(e){return!1}}()),i(null!=t?t:eh())},[t]),s.isSecure||r)return null;let o="http-tailscale"===s.reason?"\uD83C\uDF99 Tailscale HTTP 에서 마이크가 차단됩니다":"\uD83C\uDF99 마이크 사용을 위해 HTTPS 가 필요합니다";return(0,n.jsxs)("div",{role:"alert","aria-live":"polite","data-testid":"webterm-voice-banner","data-reason":s.reason,className:"flex items-start gap-2 border-b border-amber-300 bg-amber-50 px-3 py-2 text-[12px] text-amber-900 dark:border-amber-700 dark:bg-amber-950/40 dark:text-amber-100",children:[(0,n.jsx)(eu.A,{className:"mt-[1px] h-3.5 w-3.5 shrink-0","aria-hidden":"true"}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"font-medium",children:o}),(0,n.jsx)("div",{className:"mt-0.5 text-amber-800/90 dark:text-amber-200/80",children:null!=(e=s.guidance)?e:"브라우저는 secure context (HTTPS \xb7 localhost) 에서만 마이크를 허용합니다."}),"http-tailscale"===s.reason&&(0,n.jsxs)("div",{className:"mt-1 font-mono text-[11px] text-amber-700 dark:text-amber-200/90",children:[(0,n.jsx)("code",{children:"tailscale serve --bg --https=443 31415"})," ","or"," ",(0,n.jsx)("a",{href:"https://tailscale.com/kb/1242/tailscale-serve",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-amber-900 dark:hover:text-amber-50",children:"ts.net HTTPS 가이드"})]})]}),(0,n.jsx)("button",{type:"button",onClick:()=>{try{window.sessionStorage.setItem(eb,"1")}catch(e){}l(!0)},"aria-label":"dismiss banner",title:"이 창을 닫을 때까지 숨기기",className:"rounded p-0.5 text-amber-700 hover:bg-amber-100 dark:text-amber-200 dark:hover:bg-amber-900/40",children:(0,n.jsx)(em.A,{className:"h-3.5 w-3.5"})})]})}async function eg(e){var t;let{terminalId:r,paths:n}=e,a=null==(t=e.alsoCopyToClipboard)||t,l=n.filter(e=>"string"==typeof e&&e.length>0).map(e=>"'".concat(e.replace(/'/g,"'\\''"),"'")).join(" ");if(!l)return{injected:!1,copied:!1};let s="".concat(l," "),i=!1;try{(i=(0,P.WP)(r,s))?(0,y.cY)("webterm.attach.inject.ok",{terminalId:r,pathCount:n.length,bytes:s.length}):(0,y.cY)("webterm.attach.inject.error",{terminalId:r,reason:"no-sender"})}catch(e){(0,y.cY)("webterm.attach.inject.error",{terminalId:r,reason:String(e)})}let o=!1;if(a&&"undefined"!=typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(l),o=!0,(0,y.cY)("webterm.attach.clipboard.ok",{pathCount:n.length})}catch(e){(0,y.cY)("webterm.attach.clipboard.skip",{reason:String(e)})}return{injected:i,copied:o}}var ev=r(1937),ew=r(24494),ey=r(32427),ek=r(73484);function ej(e){return e.length<=32?e:"…".concat(e.slice(-32))}function eN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();if("number"!=typeof e||!Number.isFinite(e)||!Number.isFinite(t)||e>t)return null;let r=new Date(e);return Number.isFinite(r.getTime())?(0,ek.KW)(r.toISOString(),t):null}function eS(e){let t=new Map,r=new Set,n=new Set,a=[];for(let r of e){var l,s;if(n.has(r.id))continue;n.add(r.id),a.push(r);let e=null==(l=r.runId)?void 0:l.trim();if(!e)continue;let i=null!=(s=t.get(e))?s:[];i.push(r),t.set(e,i)}let i=[];for(let[e,n]of t){let t=function(e){let t=e.filter(e=>e.alive&&Number.isFinite(e.startedAt));if(0===t.length)return;let r=Math.max(...t.map(e=>{let{startedAt:t}=e;return t})),n=t.filter(e=>{let{startedAt:t}=e;return t===r});return 1===n.length?n[0]:void 0}(n);if(!t){for(let e of n)r.add(e.id);continue}i.push({runId:e,split:t.id,tabs:n.filter(e=>e.id!==t.id).map(e=>{let{id:t}=e;return t})})}let o=new Set(i.flatMap(e=>{let{split:t,tabs:r}=e;return[t,...r]}));return{layouts:i,unknown:a.filter(e=>{let{id:t}=e;return r.has(t)&&!o.has(t)}).map(e=>{let{id:t}=e;return{id:t,reason:"relationship-unavailable"}})}}function eC(e){return{layouts:e.layouts.map(e=>{let{runId:t,split:r,tabs:n}=e;return{runId:t,slots:[{terminalId:r,position:"split"},...n.map(e=>({terminalId:e,position:"tab"}))]}}),unknown:e.unknown.map(e=>({...e}))}}let eI=["terminal","observe","pty-list"],eT="elanous.webterm.activeId",eE="elanous.webterm.panelsMinimized",eA="elanous.webterm.chatDockOpen";function eY(e){return e.sourceRoot?{sourceRoot:e.sourceRoot.dbPath}:{}}function eR(e){let{layout:t,sessionId:r,onForeignInputActivity:a,terminalIds:l,activeId:s=null,visible:i=!0,clearRequests:c}=e,d=t.layouts.flatMap(e=>e.slots),u=new Map(d.map(e=>[e.terminalId,e])),m=new Set(t.layouts.map(e=>{var t;return null==(t=e.slots[0])?void 0:t.terminalId}).filter(e=>!!e)),p=void 0===l?d.map(e=>e.terminalId):[...new Set([...l,...s?[s]:[],...d.map(e=>e.terminalId)])],h=new Set(d.length>0?d.map(e=>e.terminalId):s?[s]:[]);return(0,n.jsxs)("div",{className:i?"grid h-full min-h-0 grid-cols-2 gap-2 p-2":"hidden","aria-label":"런별 터미널 배치",children:[t.layouts.map(e=>{let{runId:t}=e;return(0,n.jsx)("section",{className:"sr-only","aria-label":"런 ".concat(t," 터미널")},t)}),p.map(e=>{var t,l;let d=u.get(e),p=i&&h.has(e),b=null!=(t=null==d?void 0:d.position)?t:e===s?"single":"inactive-tab";return(0,n.jsxs)("div",{className:p?"".concat(m.has(e)?"col-start-1 ":"").concat((null==d?void 0:d.position)==="split"?"min-h-0 border border-emerald-600":(null==d?void 0:d.position)==="tab"?"min-h-0 border border-zinc-700":"col-span-2 h-full min-h-0"):"hidden","data-pane-position":b,"data-terminal-id":e,children:[d&&(0,n.jsxs)("p",{className:"sr-only",children:["split"===d.position?"분할 터미널":"탭 터미널",": ",e]}),(0,n.jsx)(o,{sessionId:r,terminalId:e,clearRequest:null!=(l=null==c?void 0:c[e])?l:0,onForeignInputActivity:a},e)]},e)}),t.unknown.map(e=>{let{id:t,reason:r}=e;return(0,n.jsxs)("p",{className:"text-xs text-muted-foreground","data-terminal-id":t,"data-pane-relationship":r,children:["터미널 ",t,": 관계를 알 수 없어 배치하지 않았습니다."]},t)})]})}function ez(){var e,t,r;let{initialPtyId:s=null,onPtySelection:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:o,config:c,sessionId:u}=(0,w.Q)(),{isCoarsePointer:m}=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(pointer: coarse)");t(e.matches);let r=e=>{t(e.matches)};return"function"==typeof e.addEventListener?(e.addEventListener("change",r),()=>e.removeEventListener("change",r)):"function"==typeof e.addListener?(e.addListener(r),()=>e.removeListener(r)):void 0},[]),{isCoarsePointer:e}}(),{compact:p}=(0,v.K)(),[h,x]=(0,a.useState)(null),[k,j]=(0,a.useState)({}),[N,C]=(0,a.useState)([]),[I,T]=(0,a.useState)(!1),[E,A]=(0,a.useState)(null),[Y,R]=(0,a.useState)(null),[U,M]=(0,a.useState)(!1);(0,a.useEffect)(()=>{var e,t;let r=null!=(t=null==(e=window.location)?void 0:e.search)?t:"",n=function(e){let t=new URLSearchParams(e).get("wall");return t?t.split(",").map(e=>e.trim()).filter(Boolean).slice(0,3):[]}(r);n.length&&R(n),"1"===new URLSearchParams(r).get("stage")&&M(!0)},[]);let[D,L]=(0,a.useState)({status:"pending"}),$=function(e,t){let r="ready"===e.status&&"local"===e.issuedBy&&"restored-tab"!==e.fallbackReason,n="ready"===e.status&&e.fallbackReason?e.fallbackReason:"사유 미상";return{placeholder:t?null:"pending"===e.status?e.slow?"데몬이 느립니다 — 터미널을 만드는 중… (기다리는 중)":"터미널 이름을 준비하는 중…":"터미널 이름을 로컬에서 정했습니다 (".concat(n,")."),fallbackBanner:r?"터미널 이름을 로컬에서 정했습니다 (".concat(n,"). 데몬 발급을 확인하지 못했습니다."):null}}(D,null!==h),F=(0,a.useCallback)(e=>{L(e),"pending"===e.status&&x(null)},[]),O=(0,a.useRef)(!1),_=(0,a.useRef)(!1),[W,q]=(0,a.useState)("terminal"),K={view:W,buttons:eI.map(e=>({view:e,selected:e===W}))},V=(0,a.useCallback)(e=>{q(t=>"observe"===e&&"observe"===t?"terminal":e)},[]),[Z,G]=(0,a.useState)(!!s),[J,X]=(0,a.useState)([]),[ee,et]=(0,a.useState)(),[er,en]=(0,a.useState)(new Map),[ea,el]=(0,a.useState)("loading"),[es,ei]=(0,a.useState)(null),[eo,ec]=(0,a.useState)(null),eu=(0,a.useRef)(!1),em=null!=(r=null==es?void 0:es.id)?r:null,ep=es?(0,ey.x3)(es):null,[eb,ef]=(0,a.useState)("raw"),[ek,ez]=(0,a.useState)(new Map),[eP,eU]=(0,a.useState)(new Map),[eM,eD]=(0,a.useState)({status:"unrequested"}),eL=(0,a.useRef)(0),e$=(0,a.useRef)(0);(0,a.useEffect)(()=>{if("terminal"!==W&&"pty-list"!==W)return;let e=!1;el("loading");let t=setTimeout(()=>{(async()=>{try{let[t,r]=await Promise.all([o.listTerminals((0,ey.tC)(Z)),o.listProgressFrames().catch(e=>((0,y.cY)("webterm.pty-list.progress.error",{reason:String(e)}),null))]);if(e)return;X((0,ey.xu)(t.terminals)),et(t.scope),en(r?(0,ey.gA)(r.logs):new Map),el("idle")}catch(t){if(e)return;X([]),et(void 0),en(new Map),el("error"),(0,y.cY)("webterm.pty-list.error",{reason:String(t)})}})()},"terminal"!==W||s?0:1200);return()=>{e=!0,clearTimeout(t)}},[o,Z,W,s]),(0,a.useEffect)(()=>{null===ep||J.some(e=>(0,ey.x3)(e)===ep)||(eL.current+=1,e$.current+=1,ei(null),eD({status:"unrequested"}))},[J,ep]);let eF=(0,a.useCallback)((e,t)=>{let{id:r}=e,n=(0,ey.x3)(e),a=++eL.current;if("raw"===t){ez(e=>new Map(e).set(n,{status:"loading"})),o.fetchTerminalScrollback(e.id,100,eY(e)).then(e=>{eL.current===a&&e.id===r&&ez(t=>new Map(t).set(n,{status:"ready",scrollback:e.scrollback}))}).catch(e=>{eL.current===a&&(ez(e=>new Map(e).set(n,{status:"error"})),(0,y.cY)("webterm.pty-list.scrollback.error",{id:r,reason:String(e)}))});return}eU(e=>new Map(e).set(n,{status:"loading"})),o.fetchTerminalFrame(e.id,eY(e)).then(e=>{eL.current===a&&e.id===r&&eU(t=>new Map(t).set(n,{status:"ready",frame:e.frame,frameAt:e.frameAt,frameSource:e.frameSource}))}).catch(e=>{eL.current===a&&(eU(e=>new Map(e).set(n,{status:"error"})),(0,y.cY)("webterm.pty-list.frame.error",{id:r,reason:String(e)}))})},[o]),eQ=(0,a.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{id:r}=e;if(t&&(T(!1),A(e),null==i||i(e)),ep===(0,ey.x3)(e))return;let n=++e$.current;ei(e),eD({status:"loading"}),eF(e,eb),o.fetchTerminalLineage(r).then(e=>{e$.current===n&&e.key===r&&eD({status:"ready",lineage:e})}).catch(e=>{e$.current===n&&(eD({status:"error"}),(0,y.cY)("webterm.pty-list.lineage.error",{id:r,reason:String(e)}))})},[o,i,eb,eF,ep]);(0,a.useEffect)(()=>{if(eu.current||"loading"===ea||(eu.current=!0,!s))return;if("error"===ea){ec({kind:"list-unavailable"}),q("pty-list"),(0,y.cY)("webterm.initial-pty-selection",{ptyId:s,kind:"list-unavailable",reason:"pty-list-error"});return}let e=(0,ey.hH)(s,J);ec(e),"selected"!==e.kind&&q("pty-list"),(0,y.cY)("webterm.initial-pty-selection",{ptyId:s,kind:e.kind,reason:e.reason}),"selected"===e.kind&&(eQ(e.terminal),A(e.terminal))},[eQ,s,ea,J]);let eO=(0,a.useCallback)(e=>{e!==eb&&(ef(e),es&&eF(es,e))},[eb,eF,es]),eH=(0,a.useCallback)(async e=>{var t;let r=window.prompt("새 PTY 이름을 입력하세요.",null!=(t=e.nickname)?t:"");if(null!==r)try{let t=await o.renameTerminal(e.id,r),n=function(e){switch(e.status){case"success":return"PTY 이름을 '".concat(e.name,"'(으)로 바꿨습니다.");case"invalid-name":return"이 이름은 사용할 수 없습니다. 다른 이름을 입력해 주세요.";case"unknown-pty":return"이 PTY를 찾을 수 없습니다. 목록을 새로고침한 뒤 다시 시도해 주세요.";case"denied":return"이 PTY의 이름을 바꿀 권한이 없습니다.";case"failed":return"PTY 이름 변경에 실패했습니다. 잠시 후 다시 시도해 주세요.";case"owner-unreachable":return"PTY 소유 프로세스에 연결할 수 없어 이름을 바꾸지 못했습니다.";default:return e}}(t);"success"===t.status?l.oR.success(n):l.oR.error(n)}catch(e){l.oR.error("PTY 이름 변경 요청에 실패했습니다: ".concat(String(e)))}},[o]),e_=(0,a.useMemo)(()=>(0,ey.lH)(Z,J,ee,ep,ek,eb,eP),[eP,Z,J,ee,eb,ek,ep]),eB=(0,a.useMemo)(()=>(0,ey.Kh)(em,eM),[eM,em]),eW=(0,a.useMemo)(()=>(function(e,t){let r=t.trim();return r?{layouts:e.layouts.filter(e=>{let{slots:t}=e;return t.some(e=>e.terminalId===r)}).map(e=>({runId:e.runId,slots:e.slots.map(e=>({...e}))})),unknown:e.unknown.map(e=>({...e}))}:{layouts:[],unknown:e.unknown.map(e=>({...e}))}})(null===E&&(null===s||I)?eC(eS(J)):eC(eS(J.filter(e=>{var t;return e.id!==(null!=(t=null==E?void 0:E.id)?t:s)&&N.includes(e.id)}))),null!=h?h:""),[J,N,E,I,s,h]);(0,a.useEffect)(()=>{if(O.current||s||"loading"===ea)return;if(0===J.length){_.current||(_.current=!0,(0,y.cY)("webterm.initial-selection",{skipped:!0,reason:"no-terminals",listState:ea}));return}O.current=!0;let e=(0,ey.Dw)({storedId:null,fallbackId:h,terminals:J});(0,y.cY)("webterm.initial-selection",{terminalId:e.terminalId,reason:e.reason,rowCount:J.length}),e.terminalId!==h&&x(e.terminalId)},[J,ea]);let[eq,eK]=(0,a.useState)(0),[eV,eZ]=(0,a.useState)(!1),[eG,eJ]=(0,a.useState)(!0),[eX,e0]=(0,a.useState)(!1),[e1,e2]=(0,a.useState)(0),[e5,e3]=(0,a.useState)(null),e7=(0,a.useCallback)(e=>{e3({intent:e,nonce:Date.now()})},[]),e4=(0,a.useRef)(null),[e8,e9]=(0,a.useState)("none"),e6=(0,a.useRef)(e8);e6.current=e8;let te=(0,a.useRef)(h);te.current=h;let tt=(0,a.useCallback)(e=>{let t=e.trim();if(!t)return;let r=e6.current;if("controls"===r){let e=te.current;if(!e)return;if(!(0,P.WP)(e,t+" ")){(0,y.cY)("webterm.voice.stdin-inject-failed",{len:t.length,terminalId:e,reason:"no-sender"}),l.oR.error("터미널 입력 전송 실패 — 터미널 연결을 확인하고 다시 말해 주세요.");return}(0,y.cY)("webterm.voice.stdin-inject",{len:t.length,terminalId:e})}else if("dock"===r){var n;null==(n=e4.current)||n.submitVoiceTranscript(t)}else(0,y.cY)("webterm.voice.transcript-no-source",{len:t.length})},[]),tr=o.voiceWsUrl(),tn=(0,ev.sS)({wsUrl:tr,...c.token?{token:c.token}:{},onTranscript:tt}),ta=(0,a.useMemo)(()=>eh(),[]),tl=!c.baseUrl||!ta.isSecure,ts=(0,a.useCallback)(()=>{tn.active&&"dock"===e8?(e9("none"),tn.toggle()):(e9("dock"),tn.active||tn.toggle())},[tn,e8]),ti=(0,a.useCallback)(()=>{tn.active&&"controls"===e8?(e9("none"),tn.toggle()):(e9("controls"),tn.active||tn.toggle())},[tn,e8]),to=(0,a.useMemo)(()=>({active:tn.active&&"dock"===e8,phase:tn.phase,dotColor:ew.x[tn.phase],phaseLabel:ew.g[tn.phase],disabled:tl,onToggle:ts}),[tn.active,tn.phase,e8,tl,ts]),tc=(0,a.useMemo)(()=>({active:tn.active&&"controls"===e8,phase:tn.phase,dotColor:ew.x[tn.phase],phaseLabel:ew.g[tn.phase],disabled:tl,onToggle:ti}),[tn.active,tn.phase,e8,tl,ti]),td=(0,a.useRef)(ts);td.current=ts,(0,a.useEffect)(()=>{let e=e=>{"m"===e.key.toLowerCase()&&e.shiftKey&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),(0,y.cY)("webterm.voice.shortcut.toggle"),eJ(!0),td.current())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,a.useEffect)(()=>{let e=window.localStorage.getItem(eT);e&&e.length>0&&(!s||e!==s)&&(x(e),O.current=!0),"1"===window.localStorage.getItem(eE)&&eZ(!0),"0"===window.localStorage.getItem(eA)&&eJ(!1)},[]);let tu=(0,a.useCallback)(async e=>{if(!u||!h||0===e.length)return;let t=e.map(e=>e.path).filter(e=>"string"==typeof e&&e.length>0);if(0===t.length)return void(0,y.cY)("webterm.attach.no-path",{count:e.length});let r=await eg({terminalId:h,paths:t});if(r.injected){let e=1===t.length?"터미널에 path 첨부됨":"".concat(t.length," paths 터미널에 첨부됨"),n=r.copied?" \xb7 clipboard 도 복사":"";l.oR.success(e+n)}else l.oR.error("터미널 inject 실패 — 직접 paste 해주세요")},[o,u,h]),tm=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button","aria-pressed":K.buttons[0].selected,onClick:()=>{A(null),T(!0),V("terminal")},className:"rounded px-2 py-1 text-xs ".concat(K.buttons[0].selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),children:"터미널"}),(0,n.jsxs)("button",{type:"button","aria-pressed":K.buttons[1].selected,onClick:()=>{A(null),T(!0),V("observe")},className:"rounded px-2 py-1 text-xs ".concat(K.buttons[1].selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),title:"자기신고하는 elanous 대시보드 TUI 를 라이브로 관측(읽기 전용)",children:["\uD83D\uDDA5 TUI 관측 ",K.buttons[1].selected?"ON":"OFF"]}),(0,n.jsx)("button",{type:"button","aria-pressed":K.buttons[2].selected,onClick:()=>{A(null),T(!0),V("pty-list")},className:"rounded px-2 py-1 text-xs ".concat(K.buttons[2].selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),children:"PTY 목록"}),(0,n.jsx)("button",{type:"button","aria-pressed":null!==Y,onClick:()=>R(e=>null===e?[]:null),className:"rounded px-2 py-1 text-xs ".concat(null!==Y?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),"data-elanous-action":"pty-wall",children:"▦ 나란히"})]}),tp=h&&(0,n.jsx)(z,{terminalId:h,onClear:()=>j(e=>{var t;return{...e,[h]:(null!=(t=e[h])?t:0)+1}}),onRecordingChange:e0,onAttached:tu,voice:tc,variant:p?"sheet":"default"});return(0,n.jsxs)("div",{className:"flex h-full flex-col",children:[(0,n.jsx)(f.ZO,{variant:p?"sheet":"default",renderSheet:e=>{let{tabs:t,status:r,onSwitch:a,onAdd:l,actions:s}=e;return(0,n.jsxs)(g,{activeId:h,tabs:t,status:r,onSwitch:a,onAdd:l,actions:s,children:[tm,tp]})},activeId:h,onActiveChange:e=>{x(e),window.localStorage.setItem(eT,e),A(null),T(!0),q("terminal")},onInitialTerminalState:F,minimized:eV,onToggleMinimize:()=>{eZ(e=>{let t=!e;return window.localStorage.setItem(eE,t?"1":"0"),t})},recording:eX,peerCount:e1,chatDockOpen:eG,onToggleChatDock:()=>{if(eV){eZ(!1),window.localStorage.setItem(eE,"0"),eJ(!0),window.localStorage.setItem(eA,"1");return}eJ(e=>{let t=!e;return window.localStorage.setItem(eA,t?"1":"0"),requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))}),t})},tabIntent:e5,onTabsChange:C,suspendInitialSpawn:!!s&&!I}),$.fallbackBanner&&(0,n.jsx)("p",{className:"border-b border-amber-700/50 bg-amber-950/30 px-3 py-1 text-xs text-amber-200",role:"status",children:$.fallbackBanner}),(0,n.jsx)(ex,{}),!p&&(0,n.jsx)("div",{className:eV?"hidden":"flex items-center gap-2 border-b border-zinc-800 px-3 py-1",children:tm}),h?(0,n.jsxs)("div",{className:eV||"terminal"!==W||null!==E||s&&!I?"hidden":"contents",children:[p?(0,n.jsx)("div",{className:"hidden",children:(0,n.jsx)(H,{foreignActivityTick:eq,onPeerCountChange:e2})}):(0,n.jsx)(H,{foreignActivityTick:eq,onPeerCountChange:e2}),!p&&tp,m&&(0,n.jsx)(Q,{terminalId:h}),(0,n.jsx)(B,{onAttached:tu})]}):null,(0,n.jsxs)("div",{className:"relative flex-1 min-h-0",children:[null!==Y&&(0,n.jsx)("div",{className:U?"fixed inset-0 z-50":"absolute inset-0 z-20","data-pty-wall-stage":U?"1":void 0,children:(0,n.jsx)(b,{rows:J,client:o,initial:Y,stage:U,onClose:()=>{R(null);let e=new URLSearchParams(window.location.search);e.delete("wall"),window.history.replaceState(null,"","".concat(window.location.pathname).concat(e.toString()?"?".concat(e):""))}})}),(0,n.jsx)(eR,{layout:eW,sessionId:u,terminalIds:N.filter(e=>e!==(null==E?void 0:E.id)&&(I||e!==s)),activeId:h&&(h===(null==E?void 0:E.id)||!I&&h===s)?null:h,clearRequests:k,visible:null!==h&&"terminal"===W&&null===E&&(!s||I),onForeignInputActivity:()=>eK(e=>e+1)}),E&&(0,n.jsx)(d,{terminal:E,client:o,onClose:()=>{T(!0),A(null),V("terminal")}},(0,ey.x3)(E)),E||"terminal"!==W||h&&(!s||I)?E?null:"pty-list"===W?(0,n.jsxs)("div",{className:"h-full overflow-auto p-3","aria-label":"데몬 PTY 목록",children:[(0,n.jsxs)("label",{className:"mb-3 flex items-center gap-2 text-sm",children:[(0,n.jsx)("input",{type:"checkbox",checked:e_.includeAll,onChange:e=>G(e.target.checked)}),"다른 인스턴스도 보기"]}),e_.scopeSummary&&(0,n.jsx)("p",{className:"mb-3 text-xs text-muted-foreground","aria-label":"PTY 목록 범위 요약",children:e_.scopeSummary}),(null==eo?void 0:eo.kind)==="ambiguous"&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-amber-500",role:"status","aria-label":"URL PTY 선택 상태",children:["주소의 PTY ",s,"가 ",eo.candidates.length,"개 행과 맞아 선택하지 않았습니다."]}),(null==eo?void 0:eo.kind)==="list-unavailable"&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-rose-500",role:"status","aria-label":"URL PTY 선택 상태",children:["PTY 목록을 읽지 못해 주소의 PTY ",s,"를 확인할 수 없습니다. 목록이 비었다는 뜻이 \xab아닙니다\xbb."]}),(null==eo?void 0:eo.kind)==="not-found"&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-rose-500",role:"status","aria-label":"URL PTY 선택 상태",children:["주소의 PTY ",s,"를 찾지 못했습니다 (",eo.reason,")."]}),(null==(t=e_.rows.find(e=>e.view))||null==(e=t.view)?void 0:e.visible)&&(0,n.jsx)("div",{className:"mb-3 flex gap-2","aria-label":"PTY 화면 보기",children:e_.rows.find(e=>e.view).view.modes.map(e=>(0,n.jsx)("button",{type:"button","aria-pressed":e.selected,onClick:()=>eO(e.mode),className:"rounded px-2 py-1 text-xs ".concat(e.selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),children:e.label},e.mode))}),"loading"===ea?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"PTY 목록을 불러오는 중…"}):"error"===ea?(0,n.jsx)("p",{className:"text-sm text-rose-500",children:"PTY 목록을 불러오지 못했습니다."}):0===J.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"데몬이 아는 PTY가 없습니다."}):(0,n.jsx)("ul",{className:"space-y-2",children:e_.rows.map(e=>{let{terminal:t}=e,r=function(e){var t,r,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),l=e.name||e.id,s=function(e,t,r){let n=[e,t].filter(Boolean).join("/")||r;if(!n||!e||n.length<=32)return n&&ej(n);if(!t)return e.length<=32?e:"…".concat(e.slice(-31));let a=32-e.length-2;return a<=0?e.length<=32?e:"…".concat(e.slice(-31)):"".concat(e,"/…").concat(t.slice(-a))}(e.treeName,e.worktreeName,e.workdir),i=function(e){var t;if(!(null==e?void 0:e.name)&&!(null==e?void 0:e.dbPath))return null;let r=[e.name&&ej(e.name),e.dbPath&&((t=e.dbPath).length<=32?t:"".concat(t.slice(0,31),"…"))].filter(e=>!!e);return"세션: ".concat(r.join(" \xb7 "))}(e.sourceRoot),o=eN(e.startedAt,a),c=void 0===e.lastControlAt?null:eN(e.lastControlAt,a);return{title:l,details:[...l===e.id?[]:[e.id],...e.status?["상태: ".concat(e.status)]:[],...e.kind?["종류: ".concat(e.kind)]:[],...e.nickname?["별명: ".concat(ej(e.nickname))]:[],...s?["위치: ".concat(s)]:[],e.alive?"생존: 실행 중":0===e.exitCode?"종료: 정상 종료 (exit 0)":"number"==typeof e.exitCode?"종료: 비정상 종료 (exit ".concat(e.exitCode,")"):"종료: 종료 코드 미상",function(e){if("direct-human"===e.terminalOriginCategory)return"출처: 사람";if("elanous"===e.terminalOriginCategory)return"출처: elanous";if("external-tool"===e.terminalOriginCategory)return e.externalToolName?"출처: 외부 도구 \xb7 ".concat(ej(e.externalToolName)):"출처: 외부 도구";let t=e.terminalOriginReason?" \xb7 ".concat(ej(e.terminalOriginReason)):"";return"출처: 이 행에서는 알 수 없음".concat(t)}(e),...e.controller?["통제: ".concat(ej(e.controller))]:[],"write"===(t=e.accessMode)?"접근: 쓰기":"read"===t?"접근: 읽기":"auto"===t?"접근: 자동":"접근: 이 행에서는 알 수 없음","running"===(r=e.ownerRunUsage)?"소유 런: 실행 중":"terminated-live-owner"===r?"소유 런: 종료됐지만 터미널 유지":"no-run-id"===r?"소유 런: 소유 런 정보 없음":"소유 런: 이 행에서는 알 수 없음",...e.instance?["우주: ".concat(ej(e.instance))]:[],...e.runId?["런: ".concat((n=e.runId).length<=8?n:"".concat(n.slice(0,8),"…"))]:[],...i?[i]:[],...o?["시작: ".concat(o)]:[],"마지막 제어: ".concat(null!=c?c:"이 행에서는 알 수 없음")]}}(t),a=er.get(t.id);return(0,n.jsxs)("li",{className:"rounded border p-2 text-sm ".concat(e.selected?"border-emerald-500":"border-border"),children:[(0,n.jsxs)("button",{type:"button",className:"w-full text-left","aria-pressed":e.selected,onClick:()=>eQ(t,!0),children:[(0,n.jsx)("p",{className:"font-medium",children:r.title}),r.details.map((e,r)=>(0,n.jsx)("p",{className:0===r?"font-mono text-xs text-muted-foreground":"text-xs text-muted-foreground",children:e},"".concat(t.id,"-").concat(e))),a&&(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground","aria-label":"현재 활동: ".concat("complete"===a.status?"완료":"진행 중"),children:["complete"===a.status?"완료":"진행 중",": ",a.line,a.hasMissingFrames?" \xb7 일부 진행 프레임 누락":""]})]}),(0,n.jsx)("button",{type:"button",className:"mt-2 rounded bg-zinc-800 px-2 py-1 text-xs text-zinc-100 hover:bg-zinc-700",onClick:()=>{eH(t)},children:"이름 바꾸기"}),e.selected&&eB&&(0,n.jsxs)("section",{className:"mt-2 rounded bg-zinc-900 p-2 text-xs","aria-label":"선택 PTY 계보",children:[(0,n.jsx)("p",{className:"font-medium",children:"계보"}),"loading"===eB.kind&&(0,n.jsx)("p",{className:"text-muted-foreground",children:"계보를 불러오는 중…"}),"error"===eB.kind&&(0,n.jsx)("p",{className:"text-rose-400",children:"계보를 불러오지 못했습니다."}),"empty"===eB.kind&&(0,n.jsx)("p",{className:"text-muted-foreground",children:"연결된 다른 화면이 없습니다."}),eB.unreadablePayloadsSummary&&(0,n.jsx)("p",{className:"text-muted-foreground",children:eB.unreadablePayloadsSummary}),eB.groups.map(e=>(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsxs)("p",{className:"font-mono",children:["묶음: ",e.joinedBy," \xb7 ",e.key]}),(0,n.jsx)("ul",{className:"mt-1 space-y-1",children:e.rows.map(e=>(0,n.jsxs)("li",{className:e.selected?"rounded bg-emerald-900 px-1 text-emerald-100":"",children:[e.selected?"현재 선택 \xb7 ":"",e.ptyId," \xb7 ",e.kind," \xb7 ",e.instance," \xb7 ",(0,ey.cl)(e.alive,e.closed)," \xb7 시작 ",(0,ey.OZ)(e.startedAt)]},e.ptyId))})]},"".concat(e.joinedBy,"-").concat(e.key)))]}),e.view&&(0,n.jsxs)("div",{className:"mt-2",children:[e.view.display.frameInfo&&(0,n.jsx)("p",{className:"mb-1 font-mono text-xs text-muted-foreground","aria-label":"렌더 화면 정보",children:e.view.display.frameInfo}),e.view.display.frameMetadata&&(0,n.jsxs)("p",{className:"mb-1 text-xs text-muted-foreground","aria-label":"렌더 프레임 메타데이터",children:["관측: ",e.view.display.frameMetadata.frameAt," \xb7 출처: ",e.view.display.frameMetadata.frameSource]}),(0,n.jsx)("pre",{className:"whitespace-pre-wrap rounded bg-zinc-950 p-2 text-xs ".concat("error"===e.view.display.kind?"text-rose-400":"text-zinc-100"),children:e.view.display.text})]})]},(0,ey.x3)(t))})})]}):"observe"===W?(0,n.jsx)(S,{sessionId:u},u):null:(0,n.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground",role:"status","aria-live":"polite",children:[(null==eo?void 0:eo.kind)==="list-unavailable"&&(0,n.jsxs)("p",{className:"text-xs text-rose-500","aria-label":"URL PTY 선택 상태",children:["PTY 목록을 읽지 못해 주소의 PTY ",s,"를 확인할 수 없습니다. 목록이 비었다는 뜻이 \xab아닙니다\xbb."]}),(0,n.jsx)("span",{children:$.placeholder})]})]}),h&&!eV&&"terminal"===W&&!E&&(!s||I)&&(0,n.jsx)(ed,{ref:e4,terminalId:h,open:eG,onTabIntent:e7,voice:to})]})}},14336:(e,t,r)=>{r.d(t,{Er:()=>a,cj:()=>c,dc:()=>s,yR:()=>o});let n=/^(oauth\.|harness\.decision|llm\.router)/;function a(e){let t=[],r=e=>{"string"==typeof e&&e.trim()&&!t.includes(e.trim())&&t.push(e.trim())};for(let t of e){var a;let e=null!=(a=t.data)?a:{};if(t.category.startsWith("oauth.")){for(let t of["from","to","name","account"])r(e[t]);if(Array.isArray(e.usage))for(let t of e.usage)r(null==t?void 0:t.name);continue}if(n.test(t.category))for(let t of(r(e.account),["what","why","reason"])){let n=e[t];if("string"==typeof n)for(let e of n.matchAll(/계정\s+([A-Za-z0-9][\w.-]*)/g))r(e[1])}}return t}function l(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(e){let t=new Map(e.map((e,t)=>[e,"account-".concat(t+1)])),r=e.length?RegExp("(^|[^\\w-])(".concat(e.map(l).sort((e,t)=>t.length-e.length).join("|"),")(?![\\w-])"),"g"):null,n=new Map;return(e,a)=>{let l=e.replace(/\b[a-z0-9-]+\.tail[0-9a-f]+\.ts\.net\b/gi,"tailnet-host").replace(/\bmsb\d+\b/gi,e=>(e=>{let t=e.toLowerCase();n.has(t)||n.set(t,"remote-".concat(n.size+1));let r=n.get(t);return e===e.toUpperCase()?r.toUpperCase():r})(e)).replace(/\bmbp\b/gi,e=>e===e.toUpperCase()?"LOCAL":"local").replace(/\/Users\/[^/\s"']+/g,"~").replace(/(크레딧|credits?|💳)(\s*[:=]?\s*)[\d][\d,.]*/gi,"$1$2•••").replace(/[\d][\d,.]*(\s*)(크레딧|credits?)/gi,"•••$1$2").replace(/\$\s?[\d][\d,.]*/g,"$•••").replace(/(잔량?|remaining|left)(\s*[:=]?\s*)(?:[A-Za-z0-9][\w.-]*\s+)?\d+(?:\.\d+)?\s?%/gi,"$1$2•••");return a&&r&&(l=l.replace(r,(e,r,n)=>{var a;return"".concat(r).concat(null!=(a=t.get(n))?a:"account")})),l}}function i(e,t){if("string"==typeof e)return t(e);if(Array.isArray(e))return e.map(e=>i(e,t));if(e&&"object"==typeof e){let r={};for(let[n,a]of Object.entries(e))"apiEquivalentUsd"===n||"usd"===n||/credit(s|Balance)?$/i.test(n)||(r[n]=i(a,t));return r}return e}function o(e){let t=s(a(e));return e.map(e=>{let r=n.test(e.category);return{...e,event:t(e.event,!1),data:e.data?i(e.data,e=>t(e,r)):e.data}})}function c(e,t){let r=s(t);return i(e,e=>r(e,!0))}},51935:(e,t,r)=>{r.d(t,{L:()=>n});function n(e){let t=e.split("\n"),r=t[0];if(!r)return null;let n=/^\[elanous\/term\/([a-zA-Z]+)\] (.+)$/.exec(r);if(!n)return null;let a=n[1];if("terminalOutput"!==a&&"terminalExit"!==a&&"terminalInputActivity"!==a&&"terminalFrame"!==a)return null;let l=[];for(let e=1;e<t.length;e++){let r=t[e];if(/^<<elanous-term-end /.test(r))break;l.push(r)}try{let e=JSON.parse(l.join("\n"));if("string"!=typeof e.terminalId)return null;if("terminalOutput"===a){if("string"!=typeof e.data)return null;return{method:a,payload:{terminalId:e.terminalId,data:e.data}}}if("terminalExit"===a){if("number"!=typeof e.code)return null;return{method:a,payload:{terminalId:e.terminalId,code:e.code}}}if("terminalFrame"===a){if("string"!=typeof e.frame||"string"!=typeof e.instance||"number"!=typeof e.at||!Number.isFinite(e.at))return null;return{method:a,payload:{terminalId:e.terminalId,frame:e.frame,instance:e.instance,at:e.at}}}if("string"!=typeof e.peerId||"number"!=typeof e.timestamp||"number"!=typeof e.bytes)return null;return{method:a,payload:{terminalId:e.terminalId,peerId:e.peerId,timestamp:e.timestamp,bytes:e.bytes}}}catch(e){return null}}},67676:(e,t,r)=>{r.d(t,{KZ:()=>o,Q6:()=>i,bu:()=>s});let n={ctrl:!1,alt:!1};function a(e){if(!e.ctrl&&!e.alt)return null;let t=0;return e.alt&&(t+=2),e.ctrl&&(t+=4),1+t}let l={up:"A",down:"B",right:"C",left:"D"};function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;switch(e){case"esc":return t.alt?"\x1b\x1b":"\x1b";case"tab":return t.alt?"\x1b ":" ";case"shift-enter":return"\x1b\r";case"pageup":case"pagedown":{let r="pageup"===e?5:6,n=a(t);return null===n?"\x1b[".concat(r,"~"):"\x1b[".concat(r,";").concat(n,"~")}case"up":case"down":case"left":case"right":{let r=l[e],n=a(t);return null===n?"\x1b[".concat(r):"\x1b[1;".concat(n).concat(r)}}}function i(e){return 1===e.length}function o(e,t){if(!i(e))return e;let r=e.toUpperCase().charCodeAt(0),n=t.ctrl&&r>=64&&r<=95?String.fromCharCode(r-64):e;return t.alt?"\x1b".concat(n):n}},79309:(e,t,r)=>{r.d(t,{BX:()=>l,Yf:()=>o,dI:()=>a,fb:()=>i,kI:()=>s});var n=r(67676);function a(e){return"alternate"===e.bufferType?{kind:"send",data:"\x02["+(0,n.bu)("pageup")}:{kind:"scroll-pages",pages:-1}}function l(e){return 0===e.lines?{kind:"none"}:"alternate"===e.bufferType?{kind:"wheel",steps:e.lines}:{kind:"scrollback",lines:e.lines}}function s(e){if(!(e.cellHeight>0))return 0;let t=-Math.trunc((e.currentY-e.startY)/e.cellHeight)-e.sentSteps;return 0===t?0:t}function i(e,t,r,n){for(let a=0;a<Math.abs(t);a++)e.dispatchEvent(new WheelEvent("wheel",{deltaY:100*Math.sign(t),deltaMode:0,clientX:r,clientY:n,bubbles:!0,cancelable:!0}))}function o(e){if(!(e.cellHeight>0))return 0;let t=-Math.trunc((e.currentY-e.startY)/e.cellHeight)-(e.currentViewportY-e.startViewportY);return 0===t?0:t}},80445:(e,t,r)=>{r.d(t,{Ct:()=>m,JW:()=>s,Ok:()=>o,WP:()=>f,WU:()=>b,ho:()=>p,ox:()=>i,oy:()=>h});var n=r(13783);let a=new Map,l=new Set;function s(e,t){let r={view:t};return a.set(e,r),l.forEach(e=>e()),()=>{a.get(e)===r&&(a.delete(e),l.forEach(e=>e()))}}function i(e){var t,r;return null!=(r=null==(t=a.get(e))?void 0:t.view)?r:null}function o(e){return l.add(e),()=>{l.delete(e)}}let c=new Map,d=new Map,u=new Map;function m(e,t){t.ctrl||t.alt?d.set(e,{ctrl:t.ctrl,alt:t.alt}):d.delete(e)}function p(e){var t,r;let n=null!=(t=d.get(e))?t:null;return n&&(d.delete(e),null==(r=u.get(e))||r.forEach(e=>e())),n}function h(e,t){let r=u.get(e);return r||(r=new Set,u.set(e,r)),r.add(t),()=>{r.delete(t),0===r.size&&u.get(e)===r&&u.delete(e)}}function b(e,t){let r={sender:t};return c.set(e,r),()=>{c.get(e)===r&&c.delete(e)}}function f(e,t){let r=c.get(e);return r?(r.sender(t),!0):((0,n.cY)("webterm.input.no-sender",{terminalId:e,bytes:new TextEncoder().encode(t).length}),!1)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7975],{37975:(e,s,a)=>{a.d(s,{createRailroadAbnfServices:()=>c.s});var c=a(1196);a(78499)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8050],{68050:(t,e,a)=>{a.d(e,{l$:()=>x,oR:()=>g});var o=a(95453),r=a(18672);let n=Array(12).fill(0),s=t=>{let{visible:e,className:a}=t;return o.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":e},o.createElement("div",{className:"sonner-spinner"},n.map((t,e)=>o.createElement("div",{className:"sonner-loading-bar",key:"spinner-bar-".concat(e)}))))},i=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),l=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},o.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),d=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),c=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),u=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),m=1;class f{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:m++,n=this.toasts.find(t=>t.id===r),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),n?this.toasts=this.toasts.map(e=>e.id===r?(this.publish({...e,...t,id:r,title:a}),{...e,...t,id:r,dismissible:s,title:a}):e):this.addToast({title:a,...o,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{let a,r;if(!e)return;void 0!==e.loading&&(r=this.create({...e,promise:t,type:"loading",message:e.loading,description:"function"!=typeof e.description?e.description:void 0}));let n=Promise.resolve(t instanceof Function?t():t),s=void 0!==r,i=n.then(async t=>{if(a=["resolve",t],o.isValidElement(t))s=!1,this.create({id:r,type:"default",message:t});else if(h(t)&&!t.ok){s=!1;let a="function"==typeof e.error?await e.error("HTTP error! status: ".concat(t.status)):e.error,n="function"==typeof e.description?await e.description("HTTP error! status: ".concat(t.status)):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}else if(t instanceof Error){s=!1;let a="function"==typeof e.error?await e.error(t):e.error,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}else if(void 0!==e.success){s=!1;let a="function"==typeof e.success?await e.success(t):e.success,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"success",description:n,...i})}}).catch(async t=>{if(a=["reject",t],void 0!==e.error){s=!1;let a="function"==typeof e.error?await e.error(t):e.error,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),null==e.finally||e.finally.call(e)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===a[0]?e(a[1]):t(a[1])).catch(e));return"string"!=typeof r&&"number"!=typeof r?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||m++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}let p=new f,h=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,g=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||m++;return p.addToast({title:t,...e,id:a}),a},{success:p.success,info:p.info,warning:p.warning,error:p.error,custom:p.custom,message:p.message,promise:p.promise,dismiss:p.dismiss,loading:p.loading},{getHistory:()=>p.toasts,getToasts:()=>p.getActiveToasts()});function b(t){return void 0!==t.label}function v(){for(var t=arguments.length,e=Array(t),a=0;a<t;a++)e[a]=arguments[a];return e.filter(Boolean).join(" ")}!function(t){if(!t||"undefined"==typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let y=t=>{var e,a,r,n,m,f,p,h,g,y,w;let{invert:x,toast:E,unstyled:k,interacting:N,setHeights:M,visibleToasts:S,heights:T,index:B,toasts:C,expanded:z,removeToast:j,defaultRichColors:R,closeButton:Y,style:D,cancelButtonStyle:I,actionButtonStyle:A,className:P="",descriptionClassName:L="",duration:H,position:V,gap:X,expandByDefault:U,classNames:F,icons:O,closeButtonAriaLabel:_="Close toast"}=t,[K,q]=o.useState(null),[W,$]=o.useState(null),[G,J]=o.useState(!1),[Q,Z]=o.useState(!1),[tt,te]=o.useState(!1),[ta,to]=o.useState(!1),[tr,tn]=o.useState(!1),[ts,ti]=o.useState(0),[tl,td]=o.useState(0),tc=o.useRef(E.duration||H||4e3),tu=o.useRef(null),tm=o.useRef(null),tf=0===B,tp=B+1<=S,th=E.type,tg=!1!==E.dismissible,tb=E.className||"",tv=E.descriptionClassName||"",ty=o.useMemo(()=>T.findIndex(t=>t.toastId===E.id)||0,[T,E.id]),tw=o.useMemo(()=>{var t;return null!=(t=E.closeButton)?t:Y},[E.closeButton,Y]),tx=o.useMemo(()=>E.duration||H||4e3,[E.duration,H]),tE=o.useRef(0),tk=o.useRef(0),tN=o.useRef(0),tM=o.useRef(null),[tS,tT]=V.split("-"),tB=o.useMemo(()=>T.reduce((t,e,a)=>a>=ty?t:t+e.height,0),[T,ty]),tC=(()=>{let[t,e]=o.useState(document.hidden);return o.useEffect(()=>{let t=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t})(),tz=E.invert||x,tj="loading"===th;tk.current=o.useMemo(()=>ty*X+tB,[ty,tB]),o.useEffect(()=>{tc.current=tx},[tx]),o.useEffect(()=>{J(!0)},[]),o.useEffect(()=>{let t=tm.current;if(t){let e=t.getBoundingClientRect().height;return td(e),M(t=>[{toastId:E.id,height:e,position:E.position},...t]),()=>M(t=>t.filter(t=>t.toastId!==E.id))}},[M,E.id]),o.useLayoutEffect(()=>{if(!G)return;let t=tm.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,td(a),M(t=>t.find(t=>t.toastId===E.id)?t.map(t=>t.toastId===E.id?{...t,height:a}:t):[{toastId:E.id,height:a,position:E.position},...t])},[G,E.title,E.description,M,E.id,E.jsx,E.action,E.cancel]);let tR=o.useCallback(()=>{Z(!0),ti(tk.current),M(t=>t.filter(t=>t.toastId!==E.id)),setTimeout(()=>{j(E)},200)},[E,j,M,tk]);o.useEffect(()=>{let t;if((!E.promise||"loading"!==th)&&E.duration!==1/0&&"loading"!==E.type)return z||N||tC?(()=>{if(tN.current<tE.current){let t=new Date().getTime()-tE.current;tc.current=tc.current-t}tN.current=new Date().getTime()})():tc.current!==1/0&&(tE.current=new Date().getTime(),t=setTimeout(()=>{null==E.onAutoClose||E.onAutoClose.call(E,E),tR()},tc.current)),()=>clearTimeout(t)},[z,N,E,th,tC,tR]),o.useEffect(()=>{E.delete&&(tR(),null==E.onDismiss||E.onDismiss.call(E,E))},[tR,E.delete]);let tY=E.icon||(null==O?void 0:O[th])||(t=>{switch(t){case"success":return i;case"info":return d;case"warning":return l;case"error":return c;default:return null}})(th);return o.createElement("li",{tabIndex:0,ref:tm,className:v(P,tb,null==F?void 0:F.toast,null==E||null==(e=E.classNames)?void 0:e.toast,null==F?void 0:F.default,null==F?void 0:F[th],null==E||null==(a=E.classNames)?void 0:a[th]),"data-sonner-toast":"","data-rich-colors":null!=(y=E.richColors)?y:R,"data-styled":!(E.jsx||E.unstyled||k),"data-mounted":G,"data-promise":!!E.promise,"data-swiped":tr,"data-removed":Q,"data-visible":tp,"data-y-position":tS,"data-x-position":tT,"data-index":B,"data-front":tf,"data-swiping":tt,"data-dismissible":tg,"data-type":th,"data-invert":tz,"data-swipe-out":ta,"data-swipe-direction":W,"data-expanded":!!(z||U&&G),"data-testid":E.testId,style:{"--index":B,"--toasts-before":B,"--z-index":C.length-B,"--offset":"".concat(Q?ts:tk.current,"px"),"--initial-height":U?"auto":"".concat(tl,"px"),...D,...E.style},onDragEnd:()=>{te(!1),q(null),tM.current=null},onPointerDown:t=>{2!==t.button&&!tj&&tg&&(tu.current=new Date,ti(tk.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(te(!0),tM.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,o,r;if(ta||!tg)return;tM.current=null;let n=Number((null==(t=tm.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tm.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=tu.current)?void 0:a.getTime()),l="x"===K?n:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){ti(tk.current),null==E.onDismiss||E.onDismiss.call(E,E),"x"===K?$(n>0?"right":"left"):$(s>0?"down":"up"),tR(),to(!0);return}null==(o=tm.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(r=tm.current)||r.style.setProperty("--swipe-amount-y","0px"),tn(!1),te(!1),q(null)},onPointerMove:e=>{var a,o,r,n;if(!tM.current||!tg||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tM.current.y,i=e.clientX-tM.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}(V);!K&&(Math.abs(i)>1||Math.abs(s)>1)&&q(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},c=t=>1/(1.5+Math.abs(t)/20);if("y"===K){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*c(s);d.y=Math.abs(t)<Math.abs(s)?t:s}}else if("x"===K&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*c(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&tn(!0),null==(o=tm.current)||o.style.setProperty("--swipe-amount-x","".concat(d.x,"px")),null==(r=tm.current)||r.style.setProperty("--swipe-amount-y","".concat(d.y,"px"))}},tw&&!E.jsx&&"loading"!==th?o.createElement("button",{"aria-label":_,"data-disabled":tj,"data-close-button":!0,onClick:tj||!tg?()=>{}:()=>{tR(),null==E.onDismiss||E.onDismiss.call(E,E)},className:v(null==F?void 0:F.closeButton,null==E||null==(r=E.classNames)?void 0:r.closeButton)},null!=(w=null==O?void 0:O.close)?w:u):null,(th||E.icon||E.promise)&&null!==E.icon&&((null==O?void 0:O[th])!==null||E.icon)?o.createElement("div",{"data-icon":"",className:v(null==F?void 0:F.icon,null==E||null==(n=E.classNames)?void 0:n.icon)},E.promise||"loading"===E.type&&!E.icon?E.icon||function(){var t,e;return(null==O?void 0:O.loading)?o.createElement("div",{className:v(null==F?void 0:F.loader,null==E||null==(e=E.classNames)?void 0:e.loader,"sonner-loader"),"data-visible":"loading"===th},O.loading):o.createElement(s,{className:v(null==F?void 0:F.loader,null==E||null==(t=E.classNames)?void 0:t.loader),visible:"loading"===th})}():null,"loading"!==E.type?tY:null):null,o.createElement("div",{"data-content":"",className:v(null==F?void 0:F.content,null==E||null==(m=E.classNames)?void 0:m.content)},o.createElement("div",{"data-title":"",className:v(null==F?void 0:F.title,null==E||null==(f=E.classNames)?void 0:f.title)},E.jsx?E.jsx:"function"==typeof E.title?E.title():E.title),E.description?o.createElement("div",{"data-description":"",className:v(L,tv,null==F?void 0:F.description,null==E||null==(p=E.classNames)?void 0:p.description)},"function"==typeof E.description?E.description():E.description):null),o.isValidElement(E.cancel)?E.cancel:E.cancel&&b(E.cancel)?o.createElement("button",{"data-button":!0,"data-cancel":!0,style:E.cancelButtonStyle||I,onClick:t=>{b(E.cancel)&&tg&&(null==E.cancel.onClick||E.cancel.onClick.call(E.cancel,t),tR())},className:v(null==F?void 0:F.cancelButton,null==E||null==(h=E.classNames)?void 0:h.cancelButton)},E.cancel.label):null,o.isValidElement(E.action)?E.action:E.action&&b(E.action)?o.createElement("button",{"data-button":!0,"data-action":!0,style:E.actionButtonStyle||A,onClick:t=>{b(E.action)&&(null==E.action.onClick||E.action.onClick.call(E.action,t),t.defaultPrevented||tR())},className:v(null==F?void 0:F.actionButton,null==E||null==(g=E.classNames)?void 0:g.actionButton)},E.action.label):null)};function w(){if("undefined"==typeof window||"undefined"==typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let x=o.forwardRef(function(t,e){let{id:a,invert:n,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:c,offset:u,mobileOffset:m,theme:f="light",richColors:h,duration:g,style:b,visibleToasts:v=3,toastOptions:x,dir:E=w(),gap:k=14,icons:N,containerAriaLabel:M="Notifications"}=t,[S,T]=o.useState([]),B=o.useMemo(()=>a?S.filter(t=>t.toasterId===a):S.filter(t=>!t.toasterId),[S,a]),C=o.useMemo(()=>Array.from(new Set([s].concat(B.filter(t=>t.position).map(t=>t.position)))),[B,s]),[z,j]=o.useState([]),[R,Y]=o.useState(!1),[D,I]=o.useState(!1),[A,P]=o.useState("system"!==f?f:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),L=o.useRef(null),H=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),V=o.useRef(null),X=o.useRef(!1),U=o.useCallback(t=>{T(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||p.dismiss(t.id),e.filter(e=>{let{id:a}=e;return a!==t.id})})},[]);return o.useEffect(()=>p.subscribe(t=>{if(t.dismiss)return void requestAnimationFrame(()=>{T(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))});setTimeout(()=>{r.flushSync(()=>{T(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[S]),o.useEffect(()=>{if("system"!==f)return void P(f);if("system"===f&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?P("dark"):P("light")),"undefined"==typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",t=>{let{matches:e}=t;e?P("dark"):P("light")})}catch(e){t.addListener(t=>{let{matches:e}=t;try{e?P("dark"):P("light")}catch(t){console.error(t)}})}},[f]),o.useEffect(()=>{S.length<=1&&Y(!1)},[S]),o.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(Y(!0),null==(a=L.current)||a.focus()),"Escape"===t.code&&(document.activeElement===L.current||(null==(e=L.current)?void 0:e.contains(document.activeElement)))&&Y(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),o.useEffect(()=>{if(L.current)return()=>{V.current&&(V.current.focus({preventScroll:!0}),V.current=null,X.current=!1)}},[L.current]),o.createElement("section",{ref:e,"aria-label":"".concat(M," ").concat(H),tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((e,a)=>{var r;let[s,i]=e.split("-");return B.length?o.createElement("ol",{key:e,dir:"auto"===E?w():E,tabIndex:-1,ref:L,className:c,"data-sonner-toaster":!0,"data-sonner-theme":A,"data-y-position":s,"data-x-position":i,style:{"--front-toast-height":"".concat((null==(r=z[0])?void 0:r.height)||0,"px"),"--width":"".concat(356,"px"),"--gap":"".concat(k,"px"),...b,...function(t,e){let a={};return[t,e].forEach((t,e)=>{let o=1===e,r=o?"--mobile-offset":"--offset",n=o?"16px":"24px";function s(t){["top","right","bottom","left"].forEach(e=>{a["".concat(r,"-").concat(e)]="number"==typeof t?"".concat(t,"px"):t})}"number"==typeof t||"string"==typeof t?s(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?a["".concat(r,"-").concat(e)]=n:a["".concat(r,"-").concat(e)]="number"==typeof t[e]?"".concat(t[e],"px"):t[e]}):s(n)}),a}(u,m)},onBlur:t=>{X.current&&!t.currentTarget.contains(t.relatedTarget)&&(X.current=!1,V.current&&(V.current.focus({preventScroll:!0}),V.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(X.current||(X.current=!0,V.current=t.relatedTarget))},onMouseEnter:()=>Y(!0),onMouseMove:()=>Y(!0),onMouseLeave:()=>{D||Y(!1)},onDragEnd:()=>Y(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},B.filter(t=>!t.position&&0===a||t.position===e).map((a,r)=>{var s,i;return o.createElement(y,{key:a.id,icons:N,index:r,toast:a,defaultRichColors:h,duration:null!=(s=null==x?void 0:x.duration)?s:g,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:n,visibleToasts:v,closeButton:null!=(i=null==x?void 0:x.closeButton)?i:d,interacting:D,position:e,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:U,toasts:B.filter(t=>t.position==a.position),heights:z.filter(t=>t.position==a.position),setHeights:j,expandByDefault:l,gap:k,expanded:R,swipeDirections:t.swipeDirections})})):null}))})}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8152],{8152:(e,a,r)=>{r.d(a,{diagram:()=>l});var t=r(69e3),n=r(52732),s=r(64330),d=r(61628),i=r(86160),p={parse:(0,d.K)(async e=>{let a=await (0,i.qg)("info",e);s.R.debug(a)},"parse")},g={version:"12.1.0"},o=(0,d.K)(()=>g.version,"getVersion"),l={parser:p,db:{getVersion:o},renderer:{draw:(0,d.K)((e,a,r)=>{s.R.debug("rendering info diagram\n"+e);let d=(0,t.D)(a);(0,n.a$)(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw")}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8190],{28190:(e,a,s)=>{s.d(a,{createRailroadServices:()=>c.l});var c=s(5334);s(78499)}}]);
@@ -1,104 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8448],{36997:(t,e,r)=>{function o(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}r.d(e,{S:()=>o}),(0,r(61628).K)(o,"populateCommonDb")},40941:(t,e,r)=>{r.d(e,{m:()=>a});var o=r(61628),a=class{constructor(t){this.init=t,this.records=this.init()}static{(0,o.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},78448:(t,e,r)=>{r.d(e,{diagram:()=>tM});var o=r(40941),a=r(36997),i=r(65524),n=r(52732),s=r(64330),c=r(61628),d=r(86160),l=r(57801),h={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},$=n.UI.gitGraph,m=(0,c.K)(()=>(0,i.$t)({...$,...(0,n.zj)().gitGraph}),"getConfig"),g=new o.m(()=>{let t=m(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function p(){return(0,i.yT)({length:7})}function y(t,e){let r=Object.create(null);return t.reduce((t,o)=>{let a=e(o);return r[a]||(r[a]=!0,t.push(o)),t},[])}(0,c.K)(p,"getID"),(0,c.K)(y,"uniqBy");var f=(0,c.K)(function(t){g.records.direction=t},"setDirection"),x=(0,c.K)(function(t){s.R.debug("options str",t),t=(t=t?.trim())||"{}";try{g.records.options=JSON.parse(t)}catch(t){s.R.error("error while parsing gitGraph options",t.message)}},"setOptions"),u=(0,c.K)(function(){return g.records.options},"getOptions"),b=(0,c.K)(function(t){let e=t.msg,r=t.id,o=t.type,a=t.tags;s.R.info("commit",e,r,o,a),s.R.debug("Entering commit:",e,r,o,a);let i=m();r=n.Y2.sanitizeText(r,i),e=n.Y2.sanitizeText(e,i),a=a?.map(t=>n.Y2.sanitizeText(t,i));let c={id:r||g.records.seq+"-"+p(),message:e,seq:g.records.seq++,type:o??h.NORMAL,tags:a??[],parents:null==g.records.head?[]:[g.records.head.id],branch:g.records.currBranch};g.records.head=c,s.R.info("main branch",i.mainBranchName),g.records.commits.has(c.id)&&s.R.warn(`Commit ID ${c.id} already exists`),g.records.commits.set(c.id,c),g.records.branches.set(g.records.currBranch,c.id),s.R.debug("in pushCommit "+c.id)},"commit"),k=(0,c.K)(function(t){let e=t.name,r=t.order;if(e=n.Y2.sanitizeText(e,m()),g.records.branches.has(e))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);g.records.branches.set(e,null!=g.records.head?g.records.head.id:null),g.records.branchConfig.set(e,{name:e,order:r}),E(e),s.R.debug("in createBranch")},"branch"),B=(0,c.K)(t=>{let e=t.branch,r=t.id,o=t.type,a=t.tags,i=m();e=n.Y2.sanitizeText(e,i),r&&(r=n.Y2.sanitizeText(r,i));let c=g.records.branches.get(g.records.currBranch),d=g.records.branches.get(e),l=c?g.records.commits.get(c):void 0,$=d?g.records.commits.get(d):void 0;if(l&&$&&l.branch===e)throw Error(`Cannot merge branch '${e}' into itself.`);if(g.records.currBranch===e){let t=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(void 0===l||!l){let t=Error(`Incorrect usage of "merge". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},t}if(!g.records.branches.has(e)){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},t}if(void 0===$||!$){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},t}if(l===$){let t=Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(r&&g.records.commits.has(r)){let t=Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw t.hash={text:`merge ${e} ${r} ${o} ${a?.join(" ")}`,token:`merge ${e} ${r} ${o} ${a?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${o} ${a?.join(" ")}`]},t}let y={id:r||`${g.records.seq}-${p()}`,message:`merged branch ${e} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,d||""],branch:g.records.currBranch,type:h.MERGE,customType:o,customId:!!r,tags:a??[]};g.records.head=y,g.records.commits.set(y.id,y),g.records.branches.set(g.records.currBranch,y.id),s.R.debug(g.records.branches),s.R.debug("in mergeBranch")},"merge"),w=(0,c.K)(function(t){let e=t.id,r=t.targetId,o=t.tags,a=t.parent;s.R.debug("Entering cherryPick:",e,r,o);let i=m();if(e=n.Y2.sanitizeText(e,i),r=n.Y2.sanitizeText(r,i),o=o?.map(t=>n.Y2.sanitizeText(t,i)),a=n.Y2.sanitizeText(a,i),!e||!g.records.commits.has(e)){let t=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let c=g.records.commits.get(e);if(void 0===c||!c)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(a&&!(Array.isArray(c.parents)&&c.parents.includes(a)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let d=c.branch;if(c.type===h.MERGE&&!a)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!g.records.commits.has(r)){if(d===g.records.currBranch){let t=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let t=g.records.branches.get(g.records.currBranch);if(void 0===t||!t){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let i=g.records.commits.get(t);if(void 0===i||!i){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let n={id:g.records.seq+"-"+p(),message:`cherry-picked ${c?.message} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,c.id],branch:g.records.currBranch,type:h.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${c.id}${c.type===h.MERGE?`|parent:${a}`:""}`]};g.records.head=n,g.records.commits.set(n.id,n),g.records.branches.set(g.records.currBranch,n.id),s.R.debug(g.records.branches),s.R.debug("in cherryPick")}},"cherryPick"),E=(0,c.K)(function(t){if(t=n.Y2.sanitizeText(t,m()),g.records.branches.has(t)){g.records.currBranch=t;let e=g.records.branches.get(g.records.currBranch);void 0!==e&&e?g.records.head=g.records.commits.get(e)??null:g.records.head=null}else{let e=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T(t,e,r){let o=t.indexOf(e);-1===o?t.push(r):t.splice(o,1,r)}function C(t){let e=t.reduce((t,e)=>t.seq>e.seq?t:e,t[0]),r="";t.forEach(function(t){t===e?r+=" *":r+=" |"});let o=[r,e.id,e.seq];for(let t in g.records.branches)g.records.branches.get(t)===e.id&&o.push(t);if(s.R.debug(o.join(" ")),e.parents&&2==e.parents.length&&e.parents[0]&&e.parents[1]){let r=g.records.commits.get(e.parents[0]);T(t,e,r),e.parents[1]&&t.push(g.records.commits.get(e.parents[1]))}else if(0==e.parents.length)return;else if(e.parents[0]){let r=g.records.commits.get(e.parents[0]);T(t,e,r)}C(t=y(t,t=>t.id))}(0,c.K)(T,"upsert"),(0,c.K)(C,"prettyPrintCommitHistory");var L=(0,c.K)(function(){s.R.debug(g.records.commits),C([I()[0]])},"prettyPrint"),K=(0,c.K)(function(){g.reset(),(0,n.IU)()},"clear"),M=(0,c.K)(function(){return[...g.records.branchConfig.values()].map((t,e)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${e}`)}).sort((t,e)=>(t.order??0)-(e.order??0)).map(({name:t})=>({name:t}))},"getBranchesAsObjArray"),R=(0,c.K)(function(){return g.records.branches},"getBranches"),v=(0,c.K)(function(){return g.records.commits},"getCommits"),I=(0,c.K)(function(){let t=[...g.records.commits.values()];return t.forEach(function(t){s.R.debug(t.id)}),t.sort((t,e)=>t.seq-e.seq),t},"getCommitsArray"),P={commitType:h,getConfig:m,setDirection:f,setOptions:x,getOptions:u,commit:b,branch:k,merge:B,cherryPick:w,checkout:E,prettyPrint:L,clear:K,getBranchesAsObjArray:M,getBranches:R,getCommits:v,getCommitsArray:I,getCurrentBranch:(0,c.K)(function(){return g.records.currBranch},"getCurrentBranch"),getDirection:(0,c.K)(function(){return g.records.direction},"getDirection"),getHead:(0,c.K)(function(){return g.records.head},"getHead"),setAccTitle:n.SV,getAccTitle:n.iN,getAccDescription:n.m7,setAccDescription:n.EI,setDiagramTitle:n.ke,getDiagramTitle:n.ab},O=(0,c.K)((t,e)=>{for(let r of((0,a.S)(t,e),t.dir&&e.setDirection(t.dir),t.statements))A(r,e)},"populate"),A=(0,c.K)((t,e)=>{let r={Commit:(0,c.K)(t=>e.commit(G(t)),"Commit"),Branch:(0,c.K)(t=>e.branch(S(t)),"Branch"),Merge:(0,c.K)(t=>e.merge(H(t)),"Merge"),Checkout:(0,c.K)(t=>e.checkout(D(t)),"Checkout"),CherryPicking:(0,c.K)(t=>e.cherryPick(W(t)),"CherryPicking")}[t.$type];r?r(t):s.R.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),G=(0,c.K)(t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?h[t.type]:h.NORMAL,tags:t.tags??void 0}),"parseCommit"),S=(0,c.K)(t=>({name:t.name,order:t.order??0}),"parseBranch"),H=(0,c.K)(t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?h[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),D=(0,c.K)(t=>t.branch,"parseCheckout"),W=(0,c.K)(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),q={parse:(0,c.K)(async t=>{let e=await (0,d.qg)("gitGraph",t);s.R.debug(e),O(e,P)},"parse")},_=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),z=new Set(["redux-color","redux-dark-color"]),Y=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),N=(0,c.K)((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),j=new Map,F=new Map,U=new Map,V=[],J=0,Q="LR",X=(0,c.K)(()=>{j.clear(),F.clear(),U.clear(),J=0,V=[],Q="LR"},"clear"),Z=(0,c.K)(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(t=>{let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),r.setAttribute("class","row"),r.textContent=t.trim(),e.appendChild(r)}),e},"drawText"),tt=(0,c.K)(t=>{let e,r,o;return"BT"===Q?(r=(0,c.K)((t,e)=>t<=e,"comparisonFunc"),o=1/0):(r=(0,c.K)((t,e)=>t>=e,"comparisonFunc"),o=0),t.forEach(t=>{let a="TB"===Q||"BT"==Q?F.get(t)?.y:F.get(t)?.x;void 0!==a&&r(a,o)&&(e=t,o=a)}),e},"findClosestParent"),te=(0,c.K)(t=>{let e="",r=1/0;return t.forEach(t=>{let o=F.get(t).y;o<=r&&(e=t,r=o)}),e||void 0},"findClosestParentBT"),tr=(0,c.K)((t,e,r)=>{let o=r,a=r,i=[];t.forEach(t=>{let r=e.get(t);if(!r)throw Error(`Commit not found for key ${t}`);r.parents.length?a=Math.max(o=ta(r),a):i.push(r),ti(r,o)}),o=a,i.forEach(t=>{tn(t,o,r)}),t.forEach(t=>{let r=e.get(t);if(r?.parents.length){let t=te(r.parents);(o=F.get(t).y-40)<=a&&(a=o);let e=j.get(r.branch).pos,i=o-10;F.set(r.id,{x:e,y:i})}})},"setParallelBTPos"),to=(0,c.K)(t=>{let e=tt(t.parents.filter(t=>null!==t));if(!e)throw Error(`Closest parent not found for commit ${t.id}`);let r=F.get(e)?.y;if(void 0===r)throw Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),ta=(0,c.K)(t=>to(t)+40,"calculateCommitPosition"),ti=(0,c.K)((t,e)=>{let r=j.get(t.branch);if(!r)throw Error(`Branch not found for commit ${t.id}`);let o=r.pos,a=e+10;return F.set(t.id,{x:o,y:a}),{x:o,y:a}},"setCommitPosition"),tn=(0,c.K)((t,e,r)=>{let o=j.get(t.branch);if(!o)throw Error(`Branch not found for commit ${t.id}`);let a=o.pos;F.set(t.id,{x:a,y:e+r})},"setRootPosition"),ts=(0,c.K)((t,e,r,o,a,i)=>{let{theme:s}=(0,n.D7)(),c=_.has(s??""),d=z.has(s??""),l=Y.has(s??"");if(i===h.HIGHLIGHT)t.append("rect").attr("x",r.x-10+3*!!c).attr("y",r.y-10+3*!!c).attr("width",c?14:20).attr("height",c?14:20).attr("class",`commit ${e.id} commit-highlight${N(a,8,d)} ${o}-outer`),t.append("rect").attr("x",r.x-6+2*!!c).attr("y",r.y-6+2*!!c).attr("width",c?8:12).attr("height",c?8:12).attr("class",`commit ${e.id} commit${N(a,8,d)} ${o}-inner`);else if(i===h.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",c?7:10).attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",c?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",c?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`);else{let n=t.append("circle");if(n.attr("cx",r.x),n.attr("cy",r.y),n.attr("r",c?7:10),n.attr("class",`commit ${e.id} commit${N(a,8,d)}`),i===h.MERGE){let i=t.append("circle");i.attr("cx",r.x),i.attr("cy",r.y),i.attr("r",c?5:6),i.attr("class",`commit ${o} ${e.id} commit${N(a,8,d)}`)}if(i===h.REVERSE){let i=t.append("path"),n=c?4:5;i.attr("d",`M ${r.x-n},${r.y-n}L${r.x+n},${r.y+n}M${r.x-n},${r.y+n}L${r.x+n},${r.y-n}`).attr("class",`commit ${o} ${e.id} commit${N(a,8,d)}`)}}},"drawCommitBullet"),tc=(0,c.K)((t,e,r,o,a)=>{if(e.type!==h.CHERRY_PICK&&(e.customId&&e.type===h.MERGE||e.type!==h.MERGE)&&a.showCommitLabel){let i=t.append("g"),n=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",o).attr("y",r.y+25).attr("class","commit-label").text(e.id),c=s.node()?.getBBox();if(c&&(n.attr("x",r.posWithOffset-c.width/2-2).attr("y",r.y+13.5).attr("width",c.width+4).attr("height",c.height+4),"TB"===Q||"BT"===Q?(n.attr("x",r.x-(c.width+16+5)).attr("y",r.y-12),s.attr("x",r.x-(c.width+16)).attr("y",r.y+c.height-12)):s.attr("x",r.posWithOffset-c.width/2),a.rotateCommitLabel))if("TB"===Q||"BT"===Q)s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),n.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let t=-7.5-(c.width+10)/25*9.5,e=10+c.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+o+", "+r.y+")")}}},"drawCommitLabel"),td=(0,c.K)((t,e,r,o)=>{if(e.tags.length>0){let a=0,i=0,n=0,s=[];for(let o of e.tags.reverse()){let e=t.insert("polygon"),c=t.append("circle"),d=t.append("text").attr("y",r.y-16-a).attr("class","tag-label").text(o),l=d.node()?.getBBox();if(!l)throw Error("Tag bbox not found");i=Math.max(i,l.width),n=Math.max(n,l.height),d.attr("x",r.posWithOffset-l.width/2),s.push({tag:d,hole:c,rect:e,yOffset:a}),a+=20}for(let{tag:t,hole:e,rect:a,yOffset:c}of s){let s=n/2,d=r.y-19.2-c;if(a.attr("class","tag-label-bkg").attr("points",`
2
- ${o-i/2-2},${d+2}
3
- ${o-i/2-2},${d-2}
4
- ${r.posWithOffset-i/2-4},${d-s-2}
5
- ${r.posWithOffset+i/2+4},${d-s-2}
6
- ${r.posWithOffset+i/2+4},${d+s+2}
7
- ${r.posWithOffset-i/2-4},${d+s+2}`),e.attr("cy",d).attr("cx",o-i/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===Q||"BT"===Q){let n=o+c;a.attr("class","tag-label-bkg").attr("points",`
8
- ${r.x},${n+2}
9
- ${r.x},${n-2}
10
- ${r.x+10},${n-s-2}
11
- ${r.x+10+i+4},${n-s-2}
12
- ${r.x+10+i+4},${n+s+2}
13
- ${r.x+10},${n+s+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+o+")"),e.attr("cx",r.x+2).attr("cy",n).attr("transform","translate(12,12) rotate(45, "+r.x+","+o+")"),t.attr("x",r.x+5).attr("y",n+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+o+")")}}}},"drawCommitTags"),tl=(0,c.K)(t=>{switch(t.customType??t.type){case h.NORMAL:return"commit-normal";case h.REVERSE:return"commit-reverse";case h.HIGHLIGHT:return"commit-highlight";case h.MERGE:return"commit-merge";case h.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),th=(0,c.K)((t,e,r,o)=>{let a={x:0,y:0};if(t.parents.length>0){let r=tt(t.parents);if(r){let i=o.get(r)??a;return"TB"===e?i.y+40:"BT"===e?(o.get(t.id)??a).y-40:i.x+40}}else if("TB"===e)return 30;else if("BT"===e)return(o.get(t.id)??a).y-40;return 0},"calculatePosition"),t$=(0,c.K)((t,e,r)=>{let o="BT"===Q&&r?e:e+10,a=j.get(t.branch)?.pos,i="TB"===Q||"BT"===Q?j.get(t.branch)?.pos:o;if(void 0===i||void 0===a)throw Error(`Position were undefined for commit ${t.id}`);let s=_.has((0,n.D7)().theme??"");return{x:i,y:"TB"===Q||"BT"===Q?o:a+(s?7:-2),posWithOffset:o}},"getCommitPosition"),tm=(0,c.K)((t,e,r,o)=>{let a=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),n=30*("TB"===Q||"BT"===Q),s=[...e.keys()],d=o.parallelCommits??!1,l=s.sort((0,c.K)((t,r)=>{let o=e.get(t)?.seq,a=e.get(r)?.seq;return void 0!==o&&void 0!==a?o-a:0},"sortKeys"));"BT"===Q&&(d&&tr(l,e,n),l=l.reverse()),l.forEach(t=>{let s=e.get(t);if(!s)throw Error(`Commit not found for key ${t}`);d&&(n=th(s,Q,n,F));let c=t$(s,n,d);if(r){let t=tl(s),e=s.customType??s.type,r=j.get(s.branch)?.index??0;ts(a,s,c,t,r,e),tc(i,s,c,n,o),td(i,s,c,n)}"TB"===Q||"BT"===Q?F.set(s.id,{x:c.x,y:c.posWithOffset}):F.set(s.id,{x:c.posWithOffset,y:c.y}),(n="BT"===Q&&d?n+40:n+40+10)>J&&(J=n)})},"drawCommits"),tg=(0,c.K)((t,e,r,o,a)=>{let i=("TB"===Q||"BT"===Q?r.x<o.x:r.y<o.y)?e.branch:t.branch,n=(0,c.K)(t=>t.branch===i,"isOnBranchToGetCurve"),s=(0,c.K)(r=>r.seq>t.seq&&r.seq<e.seq,"isBetweenCommits");return[...a.values()].some(t=>s(t)&&n(t))},"shouldRerouteArrow"),tp=(0,c.K)((t,e,r=0)=>{let o=t+Math.abs(t-e)/2;if(r>5)return o;if(V.every(t=>Math.abs(t-o)>=10))return V.push(o),o;let a=Math.abs(t-e);return tp(t,e-a/5,r+1)},"findLane"),ty=(0,c.K)((t,e,r,o)=>{let a,{theme:i}=(0,n.D7)(),s=z.has(i??""),c=F.get(e.id),d=F.get(r.id);if(void 0===c||void 0===d)throw Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let l=tg(e,r,c,d,o),$="",m="",g=0,p=0,y=j.get(r.branch)?.index;if(r.type===h.MERGE&&e.id!==r.parents[0]&&(y=j.get(e.branch)?.index),l){$="A 10 10, 0, 0, 0,",m="A 10 10, 0, 0, 1,",g=10,p=10;let t=c.y<d.y?tp(c.y,d.y):tp(d.y,c.y),r=c.x<d.x?tp(c.x,d.x):tp(d.x,c.x);"TB"===Q?c.x<d.x?a=`M ${c.x} ${c.y} L ${r-g} ${c.y} ${m} ${r} ${c.y+p} L ${r} ${d.y-g} ${$} ${r+p} ${d.y} L ${d.x} ${d.y}`:(y=j.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${r+g} ${c.y} ${$} ${r} ${c.y+p} L ${r} ${d.y-g} ${m} ${r-p} ${d.y} L ${d.x} ${d.y}`):"BT"===Q?c.x<d.x?a=`M ${c.x} ${c.y} L ${r-g} ${c.y} ${$} ${r} ${c.y-p} L ${r} ${d.y+g} ${m} ${r+p} ${d.y} L ${d.x} ${d.y}`:(y=j.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${r+g} ${c.y} ${m} ${r} ${c.y-p} L ${r} ${d.y+g} ${$} ${r-p} ${d.y} L ${d.x} ${d.y}`):c.y<d.y?a=`M ${c.x} ${c.y} L ${c.x} ${t-g} ${$} ${c.x+p} ${t} L ${d.x-g} ${t} ${m} ${d.x} ${t+p} L ${d.x} ${d.y}`:(y=j.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${c.x} ${t+g} ${m} ${c.x+p} ${t} L ${d.x-g} ${t} ${$} ${d.x} ${t-p} L ${d.x} ${d.y}`)}else $="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,"TB"===Q?(c.x<d.x&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${$} ${c.x+p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${m} ${d.x} ${c.y+p} L ${d.x} ${d.y}`),c.x>d.x&&($="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${m} ${c.x-p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x+g} ${c.y} ${$} ${d.x} ${c.y+p} L ${d.x} ${d.y}`),c.x===d.x&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`)):"BT"===Q?(c.x<d.x&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${m} ${c.x+p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${$} ${d.x} ${c.y-p} L ${d.x} ${d.y}`),c.x>d.x&&($="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${$} ${c.x-p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x+g} ${c.y} ${m} ${d.x} ${c.y-p} L ${d.x} ${d.y}`),c.x===d.x&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`)):(c.y<d.y&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${m} ${d.x} ${c.y+p} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${$} ${c.x+p} ${d.y} L ${d.x} ${d.y}`),c.y>d.y&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${$} ${d.x} ${c.y-p} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${m} ${c.x+p} ${d.y} L ${d.x} ${d.y}`),c.y===d.y&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`));if(void 0===a)throw Error("Line definition not found");t.append("path").attr("d",a).attr("class","arrow arrow"+N(y,8,s))},"drawArrow"),tf=(0,c.K)((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(t=>{let o=e.get(t);o.parents&&o.parents.length>0&&o.parents.forEach(t=>{ty(r,e.get(t),o,e)})})},"drawArrows"),tx=(0,c.K)((t,e,r,o)=>{let{look:a,theme:i,themeVariables:s}=(0,n.D7)(),{dropShadow:c,THEME_COLOR_LIMIT:d}=s,l=_.has(i??""),h=z.has(i??""),$=t.append("g");e.forEach((t,e)=>{let i=N(e,l?d:8,h),n=j.get(t.name)?.pos;if(void 0===n)throw Error(`Position not found for branch ${t.name}`);let s="TB"===Q||"BT"===Q?n:l?n+6+1:n-2,m=$.append("line");m.attr("x1",0),m.attr("y1",s),m.attr("x2",J),m.attr("y2",s),m.attr("class","branch branch"+i),"TB"===Q?(m.attr("y1",30),m.attr("x1",n),m.attr("y2",J),m.attr("x2",n)):"BT"===Q&&(m.attr("y1",J),m.attr("x1",n),m.attr("y2",30),m.attr("x2",n)),V.push(s);let g=Z(t.name),p=$.insert("rect"),y=$.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+i);y.node().appendChild(g);let f=g.getBBox(),x=4*!l,u=16*!!l,b=12*!!l;"neo"===a&&p.attr("data-look","neo"),p.attr("class","branchLabelBkg label"+i).attr("style","neo"===a?`filter:${l?`url(#${o}-drop-shadow)`:c}`:"").attr("rx",x).attr("ry",x).attr("x",-f.width-4-30*(!0===r.rotateCommitLabel)).attr("y",-f.height/2+10).attr("width",f.width+18+u).attr("height",f.height+4+b),y.attr("transform","translate("+(-f.width-14-30*(!0===r.rotateCommitLabel)+u/2)+", "+(s-f.height/2-2)+")"),"TB"===Q?(p.attr("x",n-f.width/2-10).attr("y",0),y.attr("transform","translate("+(n-f.width/2-5)+", 0)"),l&&(p.attr("transform",`translate(${-u/2-3}, ${-b-10})`),y.attr("transform","translate("+(n-f.width/2-5)+", "+(-(2*b)+7)+")"))):"BT"===Q?(p.attr("x",n-f.width/2-10).attr("y",J),y.attr("transform","translate("+(n-f.width/2-5)+", "+J+")"),l&&(p.attr("transform",`translate(${-u/2-3}, ${b+10})`),y.attr("transform","translate("+(n-f.width/2-5)+", "+(J+2*b+4)+")"))):p.attr("transform","translate(-19, "+(s-12-b/2)+")")})},"drawBranches"),tu=(0,c.K)(function(t,e,r,o,a){return j.set(t,{pos:e,index:r}),e+=50+40*!!a+("TB"===Q||"BT"===Q?o.width/2:0)},"setBranchPosition"),tb=(0,c.K)(function(t,e,r,o){X(),s.R.debug("in gitgraph renderer",t+"\n","id:",e,r);let a=o.db;if(!a.getConfig)return void s.R.error("getConfig method is not available on db");let c=a.getConfig(),d=c.rotateCommitLabel??!1;U=a.getCommits();let h=a.getBranchesAsObjArray();Q=a.getDirection();let $=(0,l.Ltv)(`[id="${e}"]`),{look:m,theme:g,themeVariables:p}=(0,n.D7)(),{useGradient:y,gradientStart:f,gradientStop:x,filterColor:u}=p;if(y){let t=$.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",x).attr("stop-opacity",1)}"neo"===m&&_.has(g??"")&&$.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",u);let b=0;h.forEach((t,e)=>{let r=Z(t.name),o=$.append("g"),a=o.insert("g").attr("class","branchLabel"),i=a.insert("g").attr("class","label branch-label");i.node()?.appendChild(r);let n=r.getBBox();b=tu(t.name,b,e,n,d),i.remove(),a.remove(),o.remove()}),tm($,U,!1,c),c.showBranches&&tx($,h,c,e),tf($,U),tm($,U,!0,c),i._K.insertTitle($,"gitTitleText",c.titleTopMargin??0,a.getDiagramTitle()),(0,n.mj)(void 0,$,c.diagramPadding,c.useMaxWidth)},"draw"),tk=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),tB=new Set(["redux-color","redux-dark-color"]),tw=new Set(["neo","neo-dark"]),tE=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),tT=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),tC=(0,c.K)(t=>{let{svgId:e}=t,r="";if(t.useGradient&&e)for(let o=0;o<t.THEME_COLOR_LIMIT;o++)r+=`
14
- .label${o} { fill: ${t.mainBkg}; stroke: url(${e}-gradient); stroke-width: ${t.strokeWidth};}
15
- `;return r},"genGitGraphGradient"),tL=(0,c.K)(t=>{let{theme:e,themeVariables:r}=(0,n.zj)(),{borderColorArray:o}=r,a=tk.has(e);if(tw.has(e)){let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)if(0===r)e+=`
16
- .branch-label${r} { fill: ${t.nodeBorder};}
17
- .commit${r} { stroke: ${t.nodeBorder}; }
18
- .commit-highlight${r} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }
19
- .arrow${r} { stroke: ${t.nodeBorder}; }
20
- .commit-bullets { fill: ${t.nodeBorder}; }
21
- .commit-cherry-pick${r} { stroke: ${t.nodeBorder}; }
22
- ${tC(t)}`;else{let o=r%8;e+=`
23
- .branch-label${r} { fill: ${t["gitBranchLabel"+o]}; }
24
- .commit${r} { stroke: ${t["git"+o]}; fill: ${t["git"+o]}; }
25
- .commit-highlight${r} { stroke: ${t["gitInv"+o]}; fill: ${t["gitInv"+o]}; }
26
- .arrow${r} { stroke: ${t["git"+o]}; }
27
- `}return e}if(tB.has(e)){let r="";for(let i=0;i<t.THEME_COLOR_LIMIT;i++)if(0===i)r+=`
28
- .branch-label${i} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }
29
- .commit${i} { stroke: ${t.nodeBorder}; }
30
- .commit-highlight${i} { stroke: ${t.nodeBorder}; fill: ${t.mainBkg}; }
31
- .label${i} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""} }
32
- .arrow${i} { stroke: ${t.nodeBorder}; }
33
- .commit-bullets { fill: ${t.nodeBorder}; }
34
- `;else{let n=i%o.length;r+=`
35
- .branch-label${i} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }
36
- .commit${i} { stroke: ${o[n]}; fill: ${o[n]}; }
37
- .commit-highlight${i} { stroke: ${o[n]}; fill: ${o[n]}; }
38
- .label${i} { fill: ${tE.has(e)?t.mainBkg:o[n]}; stroke: ${o[n]}; stroke-width: ${t.strokeWidth}; }
39
- .arrow${i} { stroke: ${o[n]}; }
40
- `}return r}{let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)e+=`
41
- .branch-label${r} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }
42
- .commit${r} { stroke: ${t.nodeBorder}; }
43
- .commit-highlight${r} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }
44
- .label${r} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""}}
45
- .arrow${r} { stroke: ${t.nodeBorder}; }
46
- .commit-bullets { fill: ${t.nodeBorder}; }
47
- .commit-cherry-pick${r} { stroke: ${t.nodeBorder}; }
48
- `;return e}},"genColor"),tK=(0,c.K)(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(t,e)=>e).map(e=>{let r=e%8;return`
49
- .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; }
50
- .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }
51
- .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }
52
- .label${e} { fill: ${t["git"+r]}; }
53
- .arrow${e} { stroke: ${t["git"+r]}; }
54
- `}).join("\n")}`,"normalTheme"),tM={parser:q,db:P,renderer:{draw:tb},styles:(0,c.K)(t=>{let{theme:e}=(0,n.zj)(),r=tT.has(e);return`
55
- .commit-id,
56
- .commit-msg,
57
- .branch-label {
58
- fill: lightgrey;
59
- color: lightgrey;
60
- font-family: 'trebuchet ms', verdana, arial, sans-serif;
61
- font-family: var(--mermaid-font-family);
62
- }
63
-
64
- ${r?tL(t):tK(t)}
65
-
66
- .branch {
67
- stroke-width: ${t.strokeWidth};
68
- stroke: ${t.commitLineColor??t.lineColor};
69
- stroke-dasharray: ${r?"4 2":"2"};
70
- }
71
- .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${r?t.nodeBorder:t.commitLabelColor}; ${r?`font-weight:${t.noteFontWeight};`:""}}
72
- .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${r?"transparent":t.commitLabelBackground}; opacity: ${r?"":.5}; }
73
- .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
74
- .tag-label-bkg { fill: ${r?t.mainBkg:t.tagLabelBackground}; stroke: ${r?t.nodeBorder:t.tagLabelBorder}; ${r?`filter:${t.dropShadow}`:""} }
75
- .tag-hole { fill: ${t.textColor}; }
76
-
77
- .commit-merge {
78
- stroke: ${r?t.mainBkg:t.primaryColor};
79
- fill: ${r?t.mainBkg:t.primaryColor};
80
- }
81
- .commit-reverse {
82
- stroke: ${r?t.mainBkg:t.primaryColor};
83
- fill: ${r?t.mainBkg:t.primaryColor};
84
- stroke-width: ${r?t.strokeWidth:3};
85
- }
86
- .commit-highlight-outer {
87
- }
88
- .commit-highlight-inner {
89
- stroke: ${r?t.mainBkg:t.primaryColor};
90
- fill: ${r?t.mainBkg:t.primaryColor};
91
- }
92
-
93
- .arrow {
94
- /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
95
- stroke-width: ${tk.has(e)?t.strokeWidth:8};
96
- stroke-linecap: round;
97
- fill: none
98
- }
99
- .gitTitleText {
100
- text-anchor: middle;
101
- font-size: 18px;
102
- fill: ${t.textColor};
103
- }
104
- `},"getStyles")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8464],{8464:(e,t,r)=>{r.d(t,{I:()=>I});var s=r(9933),i=r(95174),n=r(33438),u=r(80977),a=r(80951),h=r(37689),c=r(18247),l=r(55628),o=class extends a.Q{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#r=(0,h.T)(),this.bindMethods(),this.setOptions(t)}#e;#s=void 0;#i=void 0;#n=void 0;#u;#a;#r;#t;#h;#c;#l;#o;#d;#p;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#s.addObserver(this),d(this.#s,this.options)?this.#y():this.updateResult(),this.#R())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return p(this.#s,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return p(this.#s,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#v(),this.#b(),this.#s.removeObserver(this)}setOptions(e){let t=this.options,r=this.#s;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,c.nU)(this.options.enabled,this.#s))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#Q(),this.#s.setOptions(this.options),t._defaulted&&!(0,c.f8)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#s,observer:this});let s=this.hasListeners();s&&f(this.#s,r,this.options,t)&&this.#y(),this.updateResult(),s&&(this.#s!==r||(0,c.nU)(this.options.enabled,this.#s)!==(0,c.nU)(t.enabled,this.#s)||(0,c.d2)(this.options.staleTime,this.#s)!==(0,c.d2)(t.staleTime,this.#s))&&this.#m();let i=this.#I();s&&(this.#s!==r||(0,c.nU)(this.options.enabled,this.#s)!==(0,c.nU)(t.enabled,this.#s)||i!==this.#p)&&this.#g(i)}getOptimisticResult(e){var t,r;let s=this.#e.getQueryCache().build(this.#e,e),i=this.createResult(s,e);return t=this,r=i,(0,c.f8)(t.getCurrentResult(),r)||(this.#n=i,this.#a=this.options,this.#u=this.#s.state),i}getCurrentResult(){return this.#n}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#r.status||this.#r.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#s}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#y({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#y(e){this.#Q();let t=this.#s.fetch(this.options,e);return e?.throwOnError||(t=t.catch(c.lQ)),t}#m(){this.#v();let e=(0,c.d2)(this.options.staleTime,this.#s);if(i.H.isServer()||this.#n.isStale||!(0,c.gn)(e))return;let t=(0,c.j3)(this.#n.dataUpdatedAt,e);this.#o=l.zs.setTimeout(()=>{this.#n.isStale||this.updateResult()},t+1)}#I(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#s):this.options.refetchInterval)??!1}#g(e){this.#b(),this.#p=e,!i.H.isServer()&&!1!==(0,c.nU)(this.options.enabled,this.#s)&&(0,c.gn)(this.#p)&&0!==this.#p&&(this.#d=l.zs.setInterval(()=>{(this.options.refetchIntervalInBackground||s.m.isFocused())&&this.#y()},this.#p))}#R(){this.#m(),this.#g(this.#I())}#v(){void 0!==this.#o&&(l.zs.clearTimeout(this.#o),this.#o=void 0)}#b(){void 0!==this.#d&&(l.zs.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let r,s=this.#s,i=this.options,n=this.#n,a=this.#u,l=this.#a,o=e!==s?e.state:this.#i,{state:p}=e,R={...p},v=!1;if(t._optimisticResults){let r=this.hasListeners(),n=!r&&d(e,t),a=r&&f(e,s,t,i);(n||a)&&(R={...R,...(0,u.k)(p.data,e.options)}),"isRestoring"===t._optimisticResults&&(R.fetchStatus="idle")}let{error:b,errorUpdatedAt:Q,status:m}=R;r=R.data;let I=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===m){let e;n?.isPlaceholderData&&t.placeholderData===l?.placeholderData?(e=n.data,I=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,void 0!==e&&(m="success",r=(0,c.pl)(n?.data,e,t),v=!0)}if(t.select&&void 0!==r&&!I)if(n&&r===a?.data&&t.select===this.#h)r=this.#c;else try{this.#h=t.select,r=t.select(r),r=(0,c.pl)(n?.data,r,t),this.#c=r,this.#t=null}catch(e){this.#t=e}this.#t&&(b=this.#t,r=this.#c,Q=Date.now(),m="error");let g="fetching"===R.fetchStatus,O="pending"===m,T="error"===m,S=O&&g,C=void 0!==r,E={status:m,fetchStatus:R.fetchStatus,isPending:O,isSuccess:"success"===m,isError:T,isInitialLoading:S,isLoading:S,data:r,dataUpdatedAt:R.dataUpdatedAt,error:b,errorUpdatedAt:Q,failureCount:R.fetchFailureCount,failureReason:R.fetchFailureReason,errorUpdateCount:R.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:R.dataUpdateCount>o.dataUpdateCount||R.errorUpdateCount>o.errorUpdateCount,isFetching:g,isRefetching:g&&!O,isLoadingError:T&&!C,isPaused:"paused"===R.fetchStatus,isPlaceholderData:v,isRefetchError:T&&C,isStale:y(e,t),refetch:this.refetch,promise:this.#r,isEnabled:!1!==(0,c.nU)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==E.data,r="error"===E.status&&!t,i=e=>{r?e.reject(E.error):t&&e.resolve(E.data)},n=()=>{i(this.#r=E.promise=(0,h.T)())},u=this.#r;switch(u.status){case"pending":e.queryHash===s.queryHash&&i(u);break;case"fulfilled":(r||E.data!==u.value)&&n();break;case"rejected":r&&E.error===u.reason||n()}}return E}updateResult(){let e=this.#n,t=this.createResult(this.#s,this.options);if(this.#u=this.#s.state,this.#a=this.options,void 0!==this.#u.data&&(this.#l=this.#s),(0,c.f8)(t,e))return;this.#n=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#f.size)return!0;let s=new Set(r??this.#f);return this.options.throwOnError&&s.add("error"),Object.keys(this.#n).some(t=>this.#n[t]!==e[t]&&s.has(t))};this.#O({listeners:r()})}#Q(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#s)return;let t=this.#s;this.#s=e,this.#i=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#R()}#O(e){n.jG.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#n)}),this.#e.getQueryCache().notify({query:this.#s,type:"observerResultsUpdated"})})}};function d(e,t){return!1!==(0,c.nU)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==(0,c.nU)(t.retryOnMount,e))||void 0!==e.state.data&&p(e,t,t.refetchOnMount)}function p(e,t,r){if(!1!==(0,c.nU)(t.enabled,e)&&"static"!==(0,c.d2)(t.staleTime,e)){let s="function"==typeof r?r(e):r;return"always"===s||!1!==s&&y(e,t)}return!1}function f(e,t,r,s){return(e!==t||!1===(0,c.nU)(s.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&y(e,r)}function y(e,t){return!1!==(0,c.nU)(t.enabled,e)&&e.isStaleByTime((0,c.d2)(t.staleTime,e))}var R=r(95453),v=r(82502);r(59977);var b=R.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),Q=R.createContext(!1);Q.Provider;var m=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function I(e,t){return function(e,t,r){var s,u,a,h;let l=R.useContext(Q),o=R.useContext(b),d=(0,v.jE)(r),p=d.defaultQueryOptions(e);null==(u=d.getDefaultOptions().queries)||null==(s=u._experimental_beforeQuery)||s.call(u,p);let f=d.getQueryCache().get(p.queryHash);if(p._optimisticResults=l?"isRestoring":"optimistic",p.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=p.staleTime;p.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof p.gcTime&&(p.gcTime=Math.max(p.gcTime,1e3))}let y=(null==f?void 0:f.state.error)&&"function"==typeof p.throwOnError?(0,c.GU)(p.throwOnError,[f.state.error,f]):p.throwOnError;(p.suspense||p.experimental_prefetchInRender||y)&&!o.isReset()&&(p.retryOnMount=!1),R.useEffect(()=>{o.clearReset()},[o]);let I=!d.getQueryCache().get(p.queryHash),[g]=R.useState(()=>new t(d,p)),O=g.getOptimisticResult(p),T=!l&&!1!==e.subscribed;if(R.useSyncExternalStore(R.useCallback(e=>{let t=T?g.subscribe(n.jG.batchCalls(e)):c.lQ;return g.updateResult(),t},[g,T]),()=>g.getCurrentResult(),()=>g.getCurrentResult()),R.useEffect(()=>{g.setOptions(p)},[p,g]),p?.suspense&&O.isPending)throw m(p,g,o);if((e=>{let{result:t,errorResetBoundary:r,throwOnError:s,query:i,suspense:n}=e;return t.isError&&!r.isReset()&&!t.isFetching&&i&&(n&&void 0===t.data||(0,c.GU)(s,[t.error,i]))})({result:O,errorResetBoundary:o,throwOnError:p.throwOnError,query:f,suspense:p.suspense}))throw O.error;if(null==(h=d.getDefaultOptions().queries)||null==(a=h._experimental_afterQuery)||a.call(h,p,O),p.experimental_prefetchInRender&&!i.H.isServer()&&O.isLoading&&O.isFetching&&!l){let e=I?m(p,g,o):null==f?void 0:f.promise;null==e||e.catch(c.lQ).finally(()=>{g.updateResult()})}return p.notifyOnChangeProps?O:g.trackResult(O)}(e,o,t)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8477],{98477:(e,a,s)=>{s.d(a,{createRailroadEbnfServices:()=>c.W});var c=s(25307);s(78499)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8710],{225:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=0x1fffffffffffff}},558:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(32839),i=r(16781);let o=function(t,e){return t&&(0,n.A)(t,e,i.A)}},2218:(t,e,r)=>{r.d(e,{A:()=>n});let n=r(89510).A.Symbol},4683:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return t}},4697:(t,e,r)=>{r.d(e,{A:()=>c});var n=r(40628),i=r(2218),o=r(8053),u=r(23238),a=i.A?i.A.isConcatSpreadable:void 0;let s=function(t){return(0,u.A)(t)||(0,o.A)(t)||!!(a&&t&&t[a])},c=function t(e,r,i,o,u){var a=-1,c=e.length;for(i||(i=s),u||(u=[]);++a<c;){var l=e[a];r>0&&i(l)?r>1?t(l,r-1,i,o,u):(0,n.A)(u,l):o||(u[u.length]=l)}return u}},6437:(t,e,r)=>{r.d(e,{A:()=>W});var n=r(33794),i=r(45271);let o=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1};var u=r(14516);let a=function(t,e,r,n,a,s){var c=1&r,l=t.length,f=e.length;if(l!=f&&!(c&&f>l))return!1;var h=s.get(t),d=s.get(e);if(h&&d)return h==e&&d==t;var A=-1,p=!0,v=2&r?new i.A:void 0;for(s.set(t,e),s.set(e,t);++A<l;){var _=t[A],b=e[A];if(n)var g=c?n(b,_,A,e,t,s):n(_,b,A,t,e,s);if(void 0!==g){if(g)continue;p=!1;break}if(v){if(!o(e,function(t,e){if(!(0,u.A)(v,e)&&(_===t||a(_,t,r,n,s)))return v.push(e)})){p=!1;break}}else if(!(_===b||a(_,b,r,n,s))){p=!1;break}}return s.delete(t),s.delete(e),p};var s=r(2218),c=r(75559),l=r(82607);let f=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var h=r(17348),d=s.A?s.A.prototype:void 0,A=d?d.valueOf:void 0;let p=function(t,e,r,n,i,o,u){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)break;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":if(t.byteLength!=e.byteLength||!o(new c.A(t),new c.A(e)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,l.A)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=f;case"[object Set]":var d=1&n;if(s||(s=h.A),t.size!=e.size&&!d)break;var p=u.get(t);if(p)return p==e;n|=2,u.set(t,e);var v=a(s(t),s(e),n,i,o,u);return u.delete(t),v;case"[object Symbol]":if(A)return A.call(t)==A.call(e)}return!1};var v=r(87349),_=Object.prototype.hasOwnProperty;let b=function(t,e,r,n,i,o){var u=1&r,a=(0,v.A)(t),s=a.length;if(s!=(0,v.A)(e).length&&!u)return!1;for(var c=s;c--;){var l=a[c];if(!(u?l in e:_.call(e,l)))return!1}var f=o.get(t),h=o.get(e);if(f&&h)return f==e&&h==t;var d=!0;o.set(t,e),o.set(e,t);for(var A=u;++c<s;){var p=t[l=a[c]],b=e[l];if(n)var g=u?n(b,p,l,e,t,o):n(p,b,l,t,e,o);if(!(void 0===g?p===b||i(p,b,r,n,o):g)){d=!1;break}A||(A="constructor"==l)}if(d&&!A){var y=t.constructor,j=e.constructor;y!=j&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof j&&j instanceof j)&&(d=!1)}return o.delete(t),o.delete(e),d};var g=r(92749),y=r(23238),j=r(39438),O=r(82424),w="[object Arguments]",m="[object Array]",C="[object Object]",E=Object.prototype.hasOwnProperty;let P=function(t,e,r,i,o,u){var s=(0,y.A)(t),c=(0,y.A)(e),l=s?m:(0,g.A)(t),f=c?m:(0,g.A)(e);l=l==w?C:l,f=f==w?C:f;var h=l==C,d=f==C,A=l==f;if(A&&(0,j.A)(t)){if(!(0,j.A)(e))return!1;s=!0,h=!1}if(A&&!h)return u||(u=new n.A),s||(0,O.A)(t)?a(t,e,r,i,o,u):p(t,e,l,r,i,o,u);if(!(1&r)){var v=h&&E.call(t,"__wrapped__"),_=d&&E.call(e,"__wrapped__");if(v||_){var P=v?t.value():t,z=_?e.value():e;return u||(u=new n.A),o(P,z,r,i,u)}}return!!A&&(u||(u=new n.A),b(t,e,r,i,o,u))};var z=r(33793);let N=function t(e,r,n,i,o){return e===r||(null!=e&&null!=r&&((0,z.A)(e)||(0,z.A)(r))?P(e,r,n,i,t,o):e!=e&&r!=r)},L=function(t,e,r,i){var o=r.length,u=o,a=!i;if(null==t)return!u;for(t=Object(t);o--;){var s=r[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<u;){var c=(s=r[o])[0],l=t[c],f=s[1];if(a&&s[2]){if(void 0===l&&!(c in t))return!1}else{var h=new n.A;if(i)var d=i(l,f,c,t,e,h);if(!(void 0===d?N(f,l,3,i,h):d))return!1}}return!0};var S=r(32486);let D=function(t){return t==t&&!(0,S.A)(t)};var x=r(16781);let k=function(t){for(var e=(0,x.A)(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,D(i)]}return e},F=function(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}},M=function(t){var e=k(t);return 1==e.length&&e[0][2]?F(e[0][0],e[0][1]):function(r){return r===t||L(r,t,e)}};var T=r(25685);let $=function(t,e,r){var n=null==t?void 0:(0,T.A)(t,e);return void 0===n?r:n};var B=r(46702),I=r(98677),U=r(49902),R=r(4683),V=r(31766);let G=function(t){return(0,I.A)(t)?(0,V.A)((0,U.A)(t)):function(e){return(0,T.A)(e,t)}},W=function(t){if("function"==typeof t)return t;if(null==t)return R.A;if("object"==typeof t){var e,r;return(0,y.A)(t)?(e=t[0],r=t[1],(0,I.A)(e)&&D(r)?F((0,U.A)(e),r):function(t){var n=$(t,e);return void 0===n&&n===r?(0,B.A)(t,e):N(r,n,3)}):M(t)}return G(t)}},6812:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(82607);let i=function(t,e){for(var r=t.length;r--;)if((0,n.A)(t[r][0],e))return r;return -1};var o=Array.prototype.splice;function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}u.prototype.clear=function(){this.__data__=[],this.size=0},u.prototype.delete=function(t){var e=this.__data__,r=i(e,t);return!(r<0)&&(r==e.length-1?e.pop():o.call(e,r,1),--this.size,!0)},u.prototype.get=function(t){var e=this.__data__,r=i(e,t);return r<0?void 0:e[r][1]},u.prototype.has=function(t){return i(this.__data__,t)>-1},u.prototype.set=function(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};let a=u},6942:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(65043),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,u=o&&o.exports===i&&n.A.process;let a=function(){try{var t=o&&o.require&&o.require("util").types;if(t)return t;return u&&u.binding&&u.binding("util")}catch(t){}}()},8053:(t,e,r)=>{r.d(e,{A:()=>c});var n=r(37540),i=r(33793);let o=function(t){return(0,i.A)(t)&&"[object Arguments]"==(0,n.A)(t)};var u=Object.prototype,a=u.hasOwnProperty,s=u.propertyIsEnumerable;let c=o(function(){return arguments}())?o:function(t){return(0,i.A)(t)&&a.call(t,"callee")&&!s.call(t,"callee")}},8710:(t,e,r)=>{r.d(e,{T:()=>n.T});var n=r(87711)},9152:(t,e,r)=>{r.d(e,{A:()=>f});var n=r(23238),i=r(98677),o=r(56873);function u(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var u=t.apply(this,n);return r.cache=o.set(i,u)||o,u};return r.cache=new(u.Cache||o.A),r}u.Cache=o.A;var a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,c=function(t){var e=u(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(a,function(t,r,n,i){e.push(n?i.replace(s,"$1"):r||t)}),e}),l=r(38155);let f=function(t,e){return(0,n.A)(t)?t:(0,i.A)(t,e)?[t]:c((0,l.A)(t))}},12045:(t,e,r)=>{r.d(e,{A:()=>i});var n=r(4683);let i=function(t){return"function"==typeof t?t:n.A}},14516:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){return t.has(e)}},15930:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(){return[]}},15998:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(69309),i=r(89510);let o=(0,n.A)(i.A,"Set")},16781:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(49222),i=r(46734),o=r(20385);let u=function(t){return(0,o.A)(t)?(0,n.A)(t):(0,i.A)(t)}},16974:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(20385),i=r(33793);let o=function(t){return(0,i.A)(t)&&(0,n.A)(t)}},17194:(t,e,r)=>{r.d(e,{A:()=>i});var n=Function.prototype.toString;let i=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},17348:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}},20385:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(39705),i=r(225);let o=function(t){return null!=t&&(0,i.A)(t.length)&&!(0,n.A)(t)}},23238:(t,e,r)=>{r.d(e,{A:()=>n});let n=Array.isArray},25685:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(9152),i=r(49902);let o=function(t,e){e=(0,n.A)(e,t);for(var r=0,o=e.length;null!=t&&r<o;)t=t[(0,i.A)(e[r++])];return r&&r==o?t:void 0}},30204:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){return function(r){return t(e(r))}}},31766:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return function(e){return null==e?void 0:e[t]}}},32486:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},32839:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e,r){for(var n=-1,i=Object(t),o=r(t),u=o.length;u--;){var a=o[++n];if(!1===e(i[a],a,i))break}return t}},33793:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return null!=t&&"object"==typeof t}},33794:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(6812),i=r(66624),o=r(56873);function u(t){var e=this.__data__=new n.A(t);this.size=e.size}u.prototype.clear=function(){this.__data__=new n.A,this.size=0},u.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},u.prototype.get=function(t){return this.__data__.get(t)},u.prototype.has=function(t){return this.__data__.has(t)},u.prototype.set=function(t,e){var r=this.__data__;if(r instanceof n.A){var u=r.__data__;if(!i.A||u.length<199)return u.push([t,e]),this.size=++r.size,this;r=this.__data__=new o.A(u)}return r.set(t,e),this.size=r.size,this};let a=u},36744:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(40628),i=r(23238);let o=function(t,e,r){var o=e(t);return(0,i.A)(t)?o:(0,n.A)(o,r(t))}},37540:(t,e,r)=>{r.d(e,{A:()=>f});var n=r(2218),i=Object.prototype,o=i.hasOwnProperty,u=i.toString,a=n.A?n.A.toStringTag:void 0;let s=function(t){var e=o.call(t,a),r=t[a];try{t[a]=void 0;var n=!0}catch(t){}var i=u.call(t);return n&&(e?t[a]=r:delete t[a]),i};var c=Object.prototype.toString,l=n.A?n.A.toStringTag:void 0;let f=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":l&&l in Object(t)?s(t):c.call(t)}},37562:(t,e,r)=>{r.d(e,{A:()=>i});var n=/^(?:0|[1-9]\d*)$/;let i=function(t,e){var r=typeof t;return!!(e=null==e?0x1fffffffffffff:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},38155:(t,e,r)=>{r.d(e,{A:()=>f});var n=r(2218),i=r(43587),o=r(23238),u=r(61993),a=1/0,s=n.A?n.A.prototype:void 0,c=s?s.toString:void 0;let l=function t(e){if("string"==typeof e)return e;if((0,o.A)(e))return(0,i.A)(e,t)+"";if((0,u.A)(e))return c?c.call(e):"";var r=e+"";return"0"==r&&1/e==-a?"-0":r},f=function(t){return null==t?"":l(t)}},39438:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(89510),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,u=o&&o.exports===i?n.A.Buffer:void 0;let a=(u?u.isBuffer:void 0)||function(){return!1}},39705:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(37540),i=r(32486);let o=function(t){if(!(0,i.A)(t))return!1;var e=(0,n.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},40628:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}},43587:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}},44651:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(99213),i=r(15930),o=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;let a=u?function(t){return null==t?[]:(t=Object(t),(0,n.A)(u(t),function(e){return o.call(t,e)}))}:i.A},44961:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return function(){return t}}},45271:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(56873);function i(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new n.A;++e<r;)this.add(t[e])}i.prototype.add=i.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},i.prototype.has=function(t){return this.__data__.has(t)};let o=i},46460:(t,e,r)=>{r.d(e,{A:()=>s});var n=r(99213),i=r(99622);let o=function(t,e){var r=[];return(0,i.A)(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r};var u=r(6437),a=r(23238);let s=function(t,e){return((0,a.A)(t)?n.A:o)(t,(0,u.A)(e,3))}},46702:(t,e,r)=>{r.d(e,{A:()=>o});let n=function(t,e){return null!=t&&e in Object(t)};var i=r(62637);let o=function(t,e){return null!=t&&(0,i.A)(t,e,n)}},46734:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(66760),i=(0,r(30204).A)(Object.keys,Object),o=Object.prototype.hasOwnProperty;let u=function(t){if(!(0,n.A)(t))return i(t);var e=[];for(var r in Object(t))o.call(t,r)&&"constructor"!=r&&e.push(r);return e}},49222:(t,e,r)=>{r.d(e,{A:()=>l});let n=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var i=r(8053),o=r(23238),u=r(39438),a=r(37562),s=r(82424),c=Object.prototype.hasOwnProperty;let l=function(t,e){var r=(0,o.A)(t),l=!r&&(0,i.A)(t),f=!r&&!l&&(0,u.A)(t),h=!r&&!l&&!f&&(0,s.A)(t),d=r||l||f||h,A=d?n(t.length,String):[],p=A.length;for(var v in t)(e||c.call(t,v))&&!(d&&("length"==v||f&&("offset"==v||"parent"==v)||h&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||(0,a.A)(v,p)))&&A.push(v);return A}},49902:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(61993),i=1/0;let o=function(t){if("string"==typeof t||(0,n.A)(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},52446:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},52862:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return function(e){return t(e)}}},56338:(t,e,r)=>{r.d(e,{A:()=>s});let n=function(t,e,r,n){var i=-1,o=null==t?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r};var i=r(99622),o=r(6437);let u=function(t,e,r,n,i){return i(t,function(t,i,o){r=n?(n=!1,t):e(r,t,i,o)}),r};var a=r(23238);let s=function(t,e,r){var s=(0,a.A)(t)?n:u,c=arguments.length<3;return s(t,(0,o.A)(e,4),r,c,i.A)}},56664:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return -1}},56873:(t,e,r)=>{r.d(e,{A:()=>h});var n=(0,r(69309).A)(Object,"create"),i=Object.prototype.hasOwnProperty,o=Object.prototype.hasOwnProperty;function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}u.prototype.clear=function(){this.__data__=n?n(null):{},this.size=0},u.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=!!e,e},u.prototype.get=function(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return i.call(e,t)?e[t]:void 0},u.prototype.has=function(t){var e=this.__data__;return n?void 0!==e[t]:o.call(e,t)},u.prototype.set=function(t,e){var r=this.__data__;return this.size+=+!this.has(t),r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this};var a=r(6812),s=r(66624);let c=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t},l=function(t,e){var r=t.__data__;return c(e)?r["string"==typeof e?"string":"hash"]:r.map};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}f.prototype.clear=function(){this.size=0,this.__data__={hash:new u,map:new(s.A||a.A),string:new u}},f.prototype.delete=function(t){var e=l(this,t).delete(t);return this.size-=!!e,e},f.prototype.get=function(t){return l(this,t).get(t)},f.prototype.has=function(t){return l(this,t).has(t)},f.prototype.set=function(t,e){var r=l(this,t),n=r.size;return r.set(t,e),this.size+=+(r.size!=n),this};let h=f},61993:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(37540),i=r(33793);let o=function(t){return"symbol"==typeof t||(0,i.A)(t)&&"[object Symbol]"==(0,n.A)(t)}},62637:(t,e,r)=>{r.d(e,{A:()=>c});var n=r(9152),i=r(8053),o=r(23238),u=r(37562),a=r(225),s=r(49902);let c=function(t,e,r){e=(0,n.A)(e,t);for(var c=-1,l=e.length,f=!1;++c<l;){var h=(0,s.A)(e[c]);if(!(f=null!=t&&r(t,h)))break;t=t[h]}return f||++c!=l?f:!!(l=null==t?0:t.length)&&(0,a.A)(l)&&(0,u.A)(h,l)&&((0,o.A)(t)||(0,i.A)(t))}},63622:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(43587),i=r(16781);let o=function(t){var e;return null==t?[]:(e=(0,i.A)(t),(0,n.A)(e,function(e){return t[e]}))}},65043:(t,e,r)=>{r.d(e,{A:()=>n});let n="object"==typeof global&&global&&global.Object===Object&&global},66624:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(69309),i=r(89510);let o=(0,n.A)(i.A,"Map")},66760:(t,e,r)=>{r.d(e,{A:()=>i});var n=Object.prototype;let i=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},69309:(t,e,r)=>{r.d(e,{A:()=>A});var n=r(39705),i=r(89510).A["__core-js_shared__"],o=function(){var t=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),u=r(32486),a=r(17194),s=/^\[object .+?Constructor\]$/,c=Object.prototype,l=Function.prototype.toString,f=c.hasOwnProperty,h=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let d=function(t){return!!(0,u.A)(t)&&(!o||!(o in t))&&((0,n.A)(t)?h:s).test((0,a.A)(t))},A=function(t,e){var r=null==t?void 0:t[e];return d(r)?r:void 0}},75559:(t,e,r)=>{r.d(e,{A:()=>n});let n=r(89510).A.Uint8Array},78357:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(4683),i=r(82633),o=r(81048);let u=function(t,e){return(0,o.A)((0,i.A)(t,e,n.A),t+"")}},79397:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(52446),i=r(99622),o=r(12045),u=r(23238);let a=function(t,e){return((0,u.A)(t)?n.A:i.A)(t,(0,o.A)(e))}},81048:(t,e,r)=>{r.d(e,{A:()=>s});var n=r(44961),i=r(91332),o=r(4683),u=i.A?function(t,e){return(0,i.A)(t,"toString",{configurable:!0,enumerable:!1,value:(0,n.A)(e),writable:!0})}:o.A,a=Date.now;let s=function(t){var e=0,r=0;return function(){var n=a(),i=16-(n-r);if(r=n,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(u)},82424:(t,e,r)=>{r.d(e,{A:()=>l});var n=r(37540),i=r(225),o=r(33793),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1;var a=r(52862),s=r(6942),c=s.A&&s.A.isTypedArray;let l=c?(0,a.A)(c):function(t){return(0,o.A)(t)&&(0,i.A)(t.length)&&!!u[(0,n.A)(t)]}},82607:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){return t===e||t!=t&&e!=e}},82633:(t,e,r)=>{r.d(e,{A:()=>o});let n=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)};var i=Math.max;let o=function(t,e,r){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,u=-1,a=i(o.length-e,0),s=Array(a);++u<a;)s[u]=o[e+u];u=-1;for(var c=Array(e+1);++u<e;)c[u]=o[u];return c[e]=r(s),n(t,this,c)}}},86307:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return void 0===t}},87349:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(36744),i=r(44651),o=r(16781);let u=function(t){return(0,n.A)(t,o.A,i.A)}},87711:(t,e,r)=>{r.d(e,{T:()=>M});var n=r(44961),i=r(39705),o=r(16781),u=r(46460),a=r(46734),s=r(92749),c=r(8053),l=r(23238),f=r(20385),h=r(39438),d=r(66760),A=r(82424),p=Object.prototype.hasOwnProperty;let v=function(t){if(null==t)return!0;if((0,f.A)(t)&&((0,l.A)(t)||"string"==typeof t||"function"==typeof t.splice||(0,h.A)(t)||(0,A.A)(t)||(0,c.A)(t)))return!t.length;var e=(0,s.A)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,d.A)(t))return!(0,a.A)(t).length;for(var r in t)if(p.call(t,r))return!1;return!0};var _=r(79397),b=r(86307),g=r(4697),y=r(78357),j=r(45271),O=r(56664);let w=function(t){return t!=t},m=function(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return -1},C=function(t,e){return!!(null==t?0:t.length)&&(e==e?m(t,e,0):(0,O.A)(t,w,0))>-1},E=function(t,e,r){for(var n=-1,i=null==t?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1};var P=r(14516),z=r(15998),N=r(17348),L=z.A&&1/(0,N.A)(new z.A([,-0]))[1]==1/0?function(t){return new z.A(t)}:function(){};let S=function(t,e,r){var n=-1,i=C,o=t.length,u=!0,a=[],s=a;if(r)u=!1,i=E;else if(o>=200){var c=e?null:L(t);if(c)return(0,N.A)(c);u=!1,i=P.A,s=new j.A}else s=e?[]:a;t:for(;++n<o;){var l=t[n],f=e?e(l):l;if(l=r||0!==l?l:0,u&&f==f){for(var h=s.length;h--;)if(s[h]===f)continue t;e&&s.push(f),a.push(l)}else i(s,f,r)||(s!==a&&s.push(f),a.push(l))}return a};var D=r(16974),x=(0,y.A)(function(t){return S((0,g.A)(t,1,D.A,!0))}),k=r(63622),F=r(56338);class M{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=n.A(void 0),this._defaultEdgeLabelFn=n.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return i.A(t)||(t=n.A(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return o.A(this._nodes)}sources(){var t=this;return u.A(this.nodes(),function(e){return v(t._in[e])})}sinks(){var t=this;return u.A(this.nodes(),function(e){return v(t._out[e])})}setNodes(t,e){var r=arguments,n=this;return _.A(t,function(t){r.length>1?n.setNode(t,e):n.setNode(t)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?arguments.length>1&&(this._nodes[t]=e):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount),this}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=t=>this.removeEdge(this._edgeObjs[t]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],_.A(this.children(t),t=>{this.setParent(t)}),delete this._children[t]),_.A(o.A(this._in[t]),e),delete this._in[t],delete this._preds[t],_.A(o.A(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(b.A(e))e="\0";else{e+="";for(var r=e;!b.A(r);r=this.parent(r))if(r===t)throw Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if("\0"!==e)return e}}children(t){if(b.A(t)&&(t="\0"),this._isCompound){var e=this._children[t];if(e)return o.A(e)}else if("\0"===t)return this.nodes();else if(this.hasNode(t))return[]}predecessors(t){var e=this._preds[t];if(e)return o.A(e)}successors(t){var e=this._sucs[t];if(e)return o.A(e)}neighbors(t){var e=this.predecessors(t);if(e)return x(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var r=this;_.A(this._nodes,function(r,n){t(n)&&e.setNode(n,r)}),_.A(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,r.edge(t))});var n={};return this._isCompound&&_.A(e.nodes(),function(t){e.setParent(t,function t(i){var o=r.parent(i);return void 0===o||e.hasNode(o)?(n[i]=o,o):o in n?n[o]:t(o)}(t))}),e}setDefaultEdgeLabel(t){return i.A(t)||(t=n.A(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return k.A(this._edgeObjs)}setPath(t,e){var r=this,n=arguments;return F.A(t,function(t,i){return n.length>1?r.setEdge(t,i,e):r.setEdge(t,i),i}),this}setEdge(){var t,e,r,n,i=!1,o=arguments[0];"object"==typeof o&&null!==o&&"v"in o?(t=o.v,e=o.w,r=o.name,2==arguments.length&&(n=arguments[1],i=!0)):(t=o,e=arguments[1],r=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),t=""+t,e=""+e,b.A(r)||(r=""+r);var u=B(this._isDirected,t,e,r);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,u))return i&&(this._edgeLabels[u]=n),this;if(!b.A(r)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[u]=i?n:this._defaultEdgeLabelFn(t,e,r);var a=function(t,e,r,n){var i=""+e,o=""+r;if(!t&&i>o){var u=i;i=o,o=u}var a={v:i,w:o};return n&&(a.name=n),a}(this._isDirected,t,e,r);return t=a.v,e=a.w,Object.freeze(a),this._edgeObjs[u]=a,T(this._preds[e],t),T(this._sucs[t],e),this._in[e][u]=a,this._out[t][u]=a,this._edgeCount++,this}edge(t,e,r){var n=1==arguments.length?I(this._isDirected,arguments[0]):B(this._isDirected,t,e,r);return this._edgeLabels[n]}hasEdge(t,e,r){var n=1==arguments.length?I(this._isDirected,arguments[0]):B(this._isDirected,t,e,r);return Object.prototype.hasOwnProperty.call(this._edgeLabels,n)}removeEdge(t,e,r){var n=1==arguments.length?I(this._isDirected,arguments[0]):B(this._isDirected,t,e,r),i=this._edgeObjs[n];return i&&(t=i.v,e=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],$(this._preds[e],t),$(this._sucs[t],e),delete this._in[e][n],delete this._out[t][n],this._edgeCount--),this}inEdges(t,e){var r=this._in[t];if(r){var n=k.A(r);return e?u.A(n,function(t){return t.v===e}):n}}outEdges(t,e){var r=this._out[t];if(r){var n=k.A(r);return e?u.A(n,function(t){return t.w===e}):n}}nodeEdges(t,e){var r=this.inEdges(t,e);if(r)return r.concat(this.outEdges(t,e))}}function T(t,e){t[e]?t[e]++:t[e]=1}function $(t,e){--t[e]||delete t[e]}function B(t,e,r,n){var i=""+e,o=""+r;if(!t&&i>o){var u=i;i=o,o=u}return i+"\x01"+o+"\x01"+(b.A(n)?"\0":n)}function I(t,e){return B(t,e.v,e.w,e.name)}M.prototype._nodeCount=0,M.prototype._edgeCount=0},89510:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(65043),i="object"==typeof self&&self&&self.Object===Object&&self;let o=n.A||i||Function("return this")()},91332:(t,e,r)=>{r.d(e,{A:()=>i});var n=r(69309);let i=function(){try{var t=(0,n.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},92749:(t,e,r)=>{r.d(e,{A:()=>w});var n=r(69309),i=r(89510),o=(0,n.A)(i.A,"DataView"),u=r(66624),a=(0,n.A)(i.A,"Promise"),s=r(15998),c=(0,n.A)(i.A,"WeakMap"),l=r(37540),f=r(17194),h="[object Map]",d="[object Promise]",A="[object Set]",p="[object WeakMap]",v="[object DataView]",_=(0,f.A)(o),b=(0,f.A)(u.A),g=(0,f.A)(a),y=(0,f.A)(s.A),j=(0,f.A)(c),O=l.A;(o&&O(new o(new ArrayBuffer(1)))!=v||u.A&&O(new u.A)!=h||a&&O(a.resolve())!=d||s.A&&O(new s.A)!=A||c&&O(new c)!=p)&&(O=function(t){var e=(0,l.A)(t),r="[object Object]"==e?t.constructor:void 0,n=r?(0,f.A)(r):"";if(n)switch(n){case _:return v;case b:return h;case g:return d;case y:return A;case j:return p}return e});let w=O},98677:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(23238),i=r(61993),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;let a=function(t,e){if((0,n.A)(t))return!1;var r=typeof t;return!!("number"==r||"symbol"==r||"boolean"==r||null==t||(0,i.A)(t))||u.test(t)||!o.test(t)||null!=e&&t in Object(e)}},99213:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var u=t[r];e(u,r,t)&&(o[i++]=u)}return o}},99622:(t,e,r)=>{r.d(e,{A:()=>u});var n,i=r(558),o=r(20385);let u=(n=i.A,function(t,e){if(null==t)return t;if(!(0,o.A)(t))return n(t,e);for(var r=t.length,i=-1,u=Object(t);++i<r&&!1!==e(u[i],i,u););return t})}}]);