@vellumai/web 0.11.6 → 0.11.7-staging.2

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 (735) hide show
  1. package/dist/assets/{a2a-invite-Dcxf1Lse.js → a2a-invite-CalxmT9U.js} +1 -1
  2. package/dist/assets/about-page-oelEgoKN.js +1 -0
  3. package/dist/assets/account-page-DoWCrccl.js +1 -0
  4. package/dist/assets/account-shell-D6h6YPdW.js +1 -0
  5. package/dist/assets/acp-run-detail-panel-BqBDl6QB.js +5 -0
  6. package/dist/assets/activity-steps-panel-C5Nlm1Ax.js +1 -0
  7. package/dist/assets/add-credits-modal-Clc-YWYG.js +1 -0
  8. package/dist/assets/ai-page-DtRit5K4.js +1 -0
  9. package/dist/assets/android-billing-handoff-D6KkZQcR.js +1 -0
  10. package/dist/assets/api-key-screen-BWXzfFaa.js +1 -0
  11. package/dist/assets/app-info-BzVdvgJM.js +1 -0
  12. package/dist/assets/archive-redirect-page-DD3q7S_q.js +1 -0
  13. package/dist/assets/assistant-status-panel-i2Q5Ng1C.js +1 -0
  14. package/dist/assets/auth-welcome-screen-ghh-qFOz.js +1 -0
  15. package/dist/assets/avatar-random-BEjqLOzH.js +1 -0
  16. package/dist/assets/background-task-detail-panel-igcj1myW.js +1 -0
  17. package/dist/assets/billing-page-BtVWtaxz.js +3 -0
  18. package/dist/assets/billing-redirect-page-DaIhDbvM.js +1 -0
  19. package/dist/assets/bookmarks-page-CvCqY1u_.js +1 -0
  20. package/dist/assets/{build.umd-DjyW4NzX.js → build.umd-CJjt7Lfj.js} +1 -1
  21. package/dist/assets/bundle-confirm-page-DuW3Ltpg.js +1 -0
  22. package/dist/assets/channel-transcript-panel-C5dxI2kC.js +1 -0
  23. package/dist/assets/channels-Dv8-4WT6.js +9 -0
  24. package/dist/assets/channels-NP4ODNxS.js +9 -0
  25. package/dist/assets/channels-page-route-CaZZgVvj.js +1 -0
  26. package/dist/assets/chat-CuSRAhBb.js +3 -0
  27. package/dist/assets/{chat-4LXYoAUR.js → chat-Dw-Xoh_r.js} +2 -2
  28. package/dist/assets/checkout-continuation-gyr3KRhJ.js +1 -0
  29. package/dist/assets/checkout-page-CpaWMY_L.js +1 -0
  30. package/dist/assets/checkout-return-target-uGUiSRvm.js +1 -0
  31. package/dist/assets/command-palette-Dqv1yvzc.js +1 -0
  32. package/dist/assets/command-palette-window-page-C4vKhArq.js +1 -0
  33. package/dist/assets/common-BZmEPLQq.js +1 -0
  34. package/dist/assets/common-wNADLj0r.js +1 -0
  35. package/dist/assets/community-page-xiwPgo2f.js +1 -0
  36. package/dist/assets/companion-layout-BgFk39Te.js +1 -0
  37. package/dist/assets/companion-surface-page-BE_GKIQH.js +1 -0
  38. package/dist/assets/connect-page-1WOW2Uyb.js +1 -0
  39. package/dist/assets/consent-controls-RsRyTWzn.js +1 -0
  40. package/dist/assets/contacts-DY80_acF.js +1 -0
  41. package/dist/assets/contacts-O_w2EdRt.js +1 -0
  42. package/dist/assets/contacts-gateway-aq64PPDs.js +1 -0
  43. package/dist/assets/contacts-page-route-fh_BygpY.js +1 -0
  44. package/dist/assets/credential-entry-page-CHyGUHNE.js +1 -0
  45. package/dist/assets/credentials-page-u4m5eB0e.js +1 -0
  46. package/dist/assets/{csv-preview-rpZix2b7.js → csv-preview-D1DFyAyk.js} +2 -2
  47. package/dist/assets/danger-zone-redirect-page-pm7xtA64.js +1 -0
  48. package/dist/assets/debug-page-BiRFASyO.js +4 -0
  49. package/dist/assets/deploy-dialogs-BQGFr3pp.js +1 -0
  50. package/dist/assets/detail-card-BTciodin.js +1 -0
  51. package/dist/assets/detail-drawer-svbxV7k9.js +1 -0
  52. package/dist/assets/detail-panel-stop-button-DvPi_A52.js +1 -0
  53. package/dist/assets/developer-page-YJ4ePRAY.js +1 -0
  54. package/dist/assets/devices-redirect-page-Bc3d-ANN.js +1 -0
  55. package/dist/assets/dictation-overlay-page-CV5-bWnC.js +1 -0
  56. package/dist/assets/diff-rows-DzBJ95DT.js +1 -0
  57. package/dist/assets/document-viewer-page-B9aeVcPf.js +1 -0
  58. package/dist/assets/ellipsis-vertical-npNyglhR.js +1 -0
  59. package/dist/assets/emails-page-DuxmJeBh.js +1 -0
  60. package/dist/assets/environment-store-Cb7OK6xz.js +1 -0
  61. package/dist/assets/esm-BFMxsKfC.js +2 -0
  62. package/dist/assets/esm-BWaPHKOl.js +2 -0
  63. package/dist/assets/esm-B_9x3_5A.js +2 -0
  64. package/dist/assets/esm-BmkPJcrm.js +1 -0
  65. package/dist/assets/esm-C8_GJq6u.js +1 -0
  66. package/dist/assets/esm-CvsVyyLL.js +2 -0
  67. package/dist/assets/esm-D8F0P9NS.js +1 -0
  68. package/dist/assets/esm-DLD7mc5e.js +2 -0
  69. package/dist/assets/esm-lFkAo6qR.js +2 -0
  70. package/dist/assets/file-editor-qyflOek_.js +1 -0
  71. package/dist/assets/folder-open-8sWiN1cw.js +1 -0
  72. package/dist/assets/format-countdown-Cge3iaM1.js +1 -0
  73. package/dist/assets/general-page-CplJ3sOI.js +1 -0
  74. package/dist/assets/hatching-screen-tqPPQDHG.js +1 -0
  75. package/dist/assets/home-page-route-CMsbxqsW.js +1 -0
  76. package/dist/assets/hosting-screen-7idZudJ8.js +1 -0
  77. package/dist/assets/icons-CSdHOix6.js +1 -0
  78. package/dist/assets/identity-page-route-C4EAb-ac.js +7 -0
  79. package/dist/assets/index-2ECSWhtU.css +2 -0
  80. package/dist/assets/index-7XDiAJ-A.js +357 -0
  81. package/dist/assets/inspect-page-DsXykArJ.js +9 -0
  82. package/dist/assets/integrations-page-CmMVSsvu.js +1 -0
  83. package/dist/assets/{intelligence-DNb2No5j.js → intelligence-DwVUW6jm.js} +1 -1
  84. package/dist/assets/{intelligence-cL2kPl3v.js → intelligence-JlruxYAh.js} +1 -1
  85. package/dist/assets/intelligence-layout-DKknlxHu.js +1 -0
  86. package/dist/assets/keyboard-shortcuts-redirect-page-CFu5x117.js +1 -0
  87. package/dist/assets/{latest-assistant-text-DCyUvxgH.js → latest-assistant-text-CVRVSoFg.js} +2 -2
  88. package/dist/assets/library-detail-page-CKFkI0QY.js +1 -0
  89. package/dist/assets/library-page-dIrR1lib.js +1 -0
  90. package/dist/assets/login-page-Bca-1DK6.js +1 -0
  91. package/dist/assets/logout-page-BzAORi0q.js +1 -0
  92. package/dist/assets/logs-layout-BsqrLQee.js +1 -0
  93. package/dist/assets/markdown-preview-DLXGytZI.js +1 -0
  94. package/dist/assets/media-preview-daMlnyj8.js +1 -0
  95. package/dist/assets/memory-page-route-CX1I7izG.js +2 -0
  96. package/dist/assets/memory-router-playground-page-Mk3rfyGO.js +1 -0
  97. package/dist/assets/message-files-panel-D-C9C2PJ.js +1 -0
  98. package/dist/assets/metric-card-Bij5WGzs.js +1 -0
  99. package/dist/assets/notifications-page-C6zUs2x1.js +1 -0
  100. package/dist/assets/{oauth-complete-page-Bh6VG8SS.js → oauth-complete-page-CuNDqPAt.js} +1 -1
  101. package/dist/assets/{oauth-popup-complete-page-6YLSOCV_.js → oauth-popup-complete-page-hRc3yLWH.js} +2 -2
  102. package/dist/assets/onboarding-BbtVI8KM.js +1 -0
  103. package/dist/assets/onboarding-BoaKLlZ5.js +1 -0
  104. package/dist/assets/page-empty-state-BrGkTMcK.js +1 -0
  105. package/dist/assets/page-shell-DtdXurhX.js +1 -0
  106. package/dist/assets/pairing-page-CwLe0EJV.js +1 -0
  107. package/dist/assets/password-reset-page-C7qvqEJQ.js +1 -0
  108. package/dist/assets/{pdf-a3pPuuVL.js → pdf-fWDhmWcw.js} +1 -1
  109. package/dist/assets/pdf-file-preview-DbwHMWey.js +1 -0
  110. package/dist/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
  111. package/dist/assets/personality-page-Ci_b1dH9.js +1 -0
  112. package/dist/assets/plans-page-CyqILV_j.js +1 -0
  113. package/dist/assets/platform-loopback-page-CgXx1oDQ.js +1 -0
  114. package/dist/assets/plugin-detail-page-CvC_LUz2.js +1 -0
  115. package/dist/assets/plugins-page-9LuPE9IY.js +1 -0
  116. package/dist/assets/preview-error-DbAQP8oG.js +1 -0
  117. package/dist/assets/privacy-page-OIOZKgWi.js +1 -0
  118. package/dist/assets/privacy-screen-DFnrbIrM.js +1 -0
  119. package/dist/assets/provider-callback-page-DGVehvIp.js +1 -0
  120. package/dist/assets/provider-key-CUAJZvaQ.js +1 -0
  121. package/dist/assets/provider-signup-page-B5gnrbym.js +1 -0
  122. package/dist/assets/{provisioning-targets-CE25g21J.js → provisioning-targets-BbLfumae.js} +1 -1
  123. package/dist/assets/quick-input-page-Ccy-FS5S.js +1 -0
  124. package/dist/assets/react-DPM_L_aA.js +12 -0
  125. package/dist/assets/repeat-DVEpBLT_.js +1 -0
  126. package/dist/assets/research-mock-page-DqfkGU9x.js +1 -0
  127. package/dist/assets/research-onboarding-route-D3qFv6SM.js +50 -0
  128. package/dist/assets/review-terms-screen-BD3wP3KC.js +1 -0
  129. package/dist/assets/schedules-B_SL_iV4.js +1 -0
  130. package/dist/assets/schedules-page-D64tvhuZ.js +1 -0
  131. package/dist/assets/security-redirect-page-CWR-HICc.js +1 -0
  132. package/dist/assets/select-assistant-screen-SfWB0oQ2.js +1 -0
  133. package/dist/assets/self-hosted-servers-BHF9gq8j.js +1 -0
  134. package/dist/assets/service-form-controls-DNfWnjSp.js +1 -0
  135. package/dist/assets/setting-row-DRwmii99.js +1 -0
  136. package/dist/assets/settings-divider-X9YnFIFQ.js +1 -0
  137. package/dist/assets/settings-gjWN0WQO.js +3 -0
  138. package/dist/assets/settings-iLTzqZW8.js +3 -0
  139. package/dist/assets/settings-layout-C2Um5qit.js +1 -0
  140. package/dist/assets/share-feedback-modal-BzV03dUO.js +2 -0
  141. package/dist/assets/sidebar-tree-C1t1xfKD.js +1 -0
  142. package/dist/assets/signup-page-Dyhm65FW.js +1 -0
  143. package/dist/assets/signup-shell-CSThcwPa.js +1 -0
  144. package/dist/assets/skill-detail-page-Cja0k8_e.js +2 -0
  145. package/dist/assets/skill-detail-panel-BIOL410z.js +1 -0
  146. package/dist/assets/skill-icon-Me8DDEMt.js +1 -0
  147. package/dist/assets/skill-removal-dialog-bN91N7f8.js +1 -0
  148. package/dist/assets/skills-page-CYogTXmH.js +1 -0
  149. package/dist/assets/sounds-page-DAy2o3wO.js +1 -0
  150. package/dist/assets/start-screen-DyyYavfM.js +1 -0
  151. package/dist/assets/status-badge-pill-BAkXhxwa.js +1 -0
  152. package/dist/assets/stt-language-picker-modal-CpGwbd4g.js +1 -0
  153. package/dist/assets/subagent-detail-panel-330bH7ee.js +4 -0
  154. package/dist/assets/superpowers-page-D6wv3GWO.js +1 -0
  155. package/dist/assets/system-events-page-CFN8tMUJ.js +1 -0
  156. package/dist/assets/system-events-redirect-page-BarOgFkA.js +1 -0
  157. package/dist/assets/text-preview-CZeqyzdw.js +1 -0
  158. package/dist/assets/theme-stage-page-Pcnh0PTQ.js +1 -0
  159. package/dist/assets/{tiptap-document-editor-sg7gdh_H.js → tiptap-document-editor-ZZmtZ799.js} +30 -30
  160. package/dist/assets/tool-detail-panel-BgCSb_m5.js +12 -0
  161. package/dist/assets/trait-cycle-row-BWNJ21g4.js +1 -0
  162. package/dist/assets/upgrade-cancel-page-ByVEWPeH.js +1 -0
  163. package/dist/assets/upgrade-success-page-iAPLJbee.js +1 -0
  164. package/dist/assets/usage-redirect-page-BHd-7in5.js +1 -0
  165. package/dist/assets/use-assistant-identity-details-oVmPdjVe.js +1 -0
  166. package/dist/assets/use-checkout-dismiss-refresh-BO2cN2i8.js +1 -0
  167. package/dist/assets/use-edge-swipe-back-CzESg8qG.js +2 -0
  168. package/dist/assets/use-hotkey-recorder-CY089_4p.js +1 -0
  169. package/dist/assets/use-invite-link-dialog-Ck-LquhT.js +1 -0
  170. package/dist/assets/use-platform-assistant-id-DcVWp7KY.js +1 -0
  171. package/dist/assets/use-return-to-short-circuit-NDSwANeI.js +1 -0
  172. package/dist/assets/use-side-list-room-DQbUPFcU.js +1 -0
  173. package/dist/assets/use-skill-actions-CNBx-WS1.js +1 -0
  174. package/dist/assets/use-skill-detail-files-BGIXJykk.js +1 -0
  175. package/dist/assets/use-supports-credentials-settings-C6S_OHMP.js +1 -0
  176. package/dist/assets/use-transcript-message-by-id-Dqm1PMu3.js +1 -0
  177. package/dist/assets/use-truncated-blob-text-DLF_hf3O.js +1 -0
  178. package/dist/assets/vendor-WUN87CSE.js +385 -0
  179. package/dist/assets/voice-page-nBfEMyWs.js +1 -0
  180. package/dist/assets/weather-forecast-display-B6j-V-yS.js +1 -0
  181. package/dist/assets/web-CE-RjE8i.js +1 -0
  182. package/dist/assets/web-Cv_J7__I.js +1 -0
  183. package/dist/assets/web-Cw24uxYA.js +1 -0
  184. package/dist/assets/web-DDFO9PaS.js +1 -0
  185. package/dist/assets/web-DL2rv-Fb.js +1 -0
  186. package/dist/assets/web-DPEGYPrR.js +1 -0
  187. package/dist/assets/web-Q8lSPj8Z.js +1 -0
  188. package/dist/assets/web-kKGZ0Pbn.js +1 -0
  189. package/dist/assets/web-pwf5Vh3V.js +1 -0
  190. package/dist/assets/welcome-screen-BrwdmDqM.js +1 -0
  191. package/dist/assets/workflow-detail-panel-DcTQSyju.js +1 -0
  192. package/dist/assets/workspace-page-Dwfwnkh5.js +1 -0
  193. package/dist/assets/{xterm-QkObDWKu.js → xterm-DfM4JBPp.js} +1 -1
  194. package/dist/assets/xterm-addon-fit-DuBTfuI9.js +1 -0
  195. package/dist/images/integrations/ATTRIBUTION.md +10 -5
  196. package/dist/images/integrations/calendly.svg +1 -0
  197. package/dist/images/integrations/eventbrite.svg +1 -0
  198. package/dist/images/integrations/monday.svg +1 -0
  199. package/dist/index.html +7 -336
  200. package/package.json +1 -1
  201. package/dist/assets/AnimatePresence-BkWQRluv.js +0 -9
  202. package/dist/assets/Combination-kHxEP36G.js +0 -41
  203. package/dist/assets/QueryClientProvider-BPZM68-A.js +0 -1
  204. package/dist/assets/Trans-CBhhVbOk.js +0 -1
  205. package/dist/assets/about-page-hURQzaZb.js +0 -1
  206. package/dist/assets/account-page-BUHRzIQn.js +0 -1
  207. package/dist/assets/account-shell-Y97PMm-a.js +0 -1
  208. package/dist/assets/acp-run-actions-DznGEBjQ.js +0 -1
  209. package/dist/assets/acp-run-detail-panel-CVPDXyP6.js +0 -5
  210. package/dist/assets/acp-run-store-D8roCscD.js +0 -1
  211. package/dist/assets/activity-steps-panel-BzTDFCQ4.js +0 -1
  212. package/dist/assets/add-credential-modal-aeUdZtSp.js +0 -1
  213. package/dist/assets/add-credits-modal-CtS-PzoH.js +0 -1
  214. package/dist/assets/ai-page-C6zXOVyP.js +0 -1
  215. package/dist/assets/android-billing-handoff-BoSQm4gg.js +0 -1
  216. package/dist/assets/animate-CuPjEtk6.js +0 -1
  217. package/dist/assets/animated-avatar-DAJHVYXE.js +0 -1
  218. package/dist/assets/api-BUuIGDig.js +0 -1
  219. package/dist/assets/api-key-screen-DauZKmq9.js +0 -1
  220. package/dist/assets/app-card-B5AFFdUO.js +0 -1
  221. package/dist/assets/app-info-CBSIGREh.js +0 -1
  222. package/dist/assets/apple-logo-GkgGOZWf.js +0 -1
  223. package/dist/assets/archive-DMKVAVAX.js +0 -1
  224. package/dist/assets/archive-redirect-page-DXqjPmpK.js +0 -1
  225. package/dist/assets/arrow-down-to-line-CJ0OBlcT.js +0 -1
  226. package/dist/assets/arrow-left-DUklm7Fd.js +0 -1
  227. package/dist/assets/arrow-right-De7tYwD7.js +0 -1
  228. package/dist/assets/arrow-up-CijF4S8i.js +0 -1
  229. package/dist/assets/assistant-feature-flag-store-Co_o5uD3.js +0 -1
  230. package/dist/assets/assistant-identity-store-DBkGjqzV.js +0 -1
  231. package/dist/assets/assistant-status-panel-DYkXgK0D.js +0 -1
  232. package/dist/assets/audio-context-YNIG4zMo.js +0 -1
  233. package/dist/assets/auth-store-BVjw4Y6z.js +0 -2
  234. package/dist/assets/auth-welcome-screen-DbDu2DKV.js +0 -1
  235. package/dist/assets/avatar-bundled-components-C1i6ys8w.js +0 -1
  236. package/dist/assets/avatar-random-BOjdaclE.js +0 -1
  237. package/dist/assets/avatar-renderer-CnJd2PqC.js +0 -1
  238. package/dist/assets/avatar-subagent-CdgpbwL0.js +0 -1
  239. package/dist/assets/avatar-svg-compositor-DxBmLeF3.js +0 -1
  240. package/dist/assets/avatar-tone-D_3T6CNS.js +0 -1
  241. package/dist/assets/background-task-actions-Cs3pTNVl.js +0 -1
  242. package/dist/assets/background-task-detail-panel-BWAwy3I3.js +0 -1
  243. package/dist/assets/background-task-store-Ba89lNRi.js +0 -1
  244. package/dist/assets/ban-JFtQ_88n.js +0 -1
  245. package/dist/assets/bell-B3GoRAIC.js +0 -1
  246. package/dist/assets/billing-page-FxI0W3-_.js +0 -3
  247. package/dist/assets/billing-redirect-page-l6nC_qa5.js +0 -1
  248. package/dist/assets/bookmarks-page-6p-UochF.js +0 -1
  249. package/dist/assets/brain-lgsb4JhV.js +0 -1
  250. package/dist/assets/browser-BaGW19xY.js +0 -2
  251. package/dist/assets/browser-timezone-DEQubHhx.js +0 -1
  252. package/dist/assets/bug-DJjWtfUu.js +0 -1
  253. package/dist/assets/build-state-ChDL0BPH.js +0 -1
  254. package/dist/assets/bundle-confirm-page-9jTfMrek.js +0 -1
  255. package/dist/assets/bundle-mjs-CctC_00U.js +0 -1
  256. package/dist/assets/button-B1kEAcLt.js +0 -1
  257. package/dist/assets/by-tool-use-id-index-DOOfRauy.js +0 -1
  258. package/dist/assets/calendar-Bbg9LoLZ.js +0 -1
  259. package/dist/assets/camera-DOhkFhC8.js +0 -1
  260. package/dist/assets/card-B4b9cF6X.js +0 -1
  261. package/dist/assets/channels-DU7UcoR_.js +0 -1
  262. package/dist/assets/channels-P8K1t248.js +0 -1
  263. package/dist/assets/channels-page-route-DBtIRtsL.js +0 -9
  264. package/dist/assets/chart-column-BSXp3tJF.js +0 -1
  265. package/dist/assets/chat-BG7p3zq1.js +0 -3
  266. package/dist/assets/chat-Bfo3dMB3.js +0 -1
  267. package/dist/assets/chat-avatar-DM2DBsml.js +0 -1
  268. package/dist/assets/chat-layout-slots-store-D_NI8Xtw.js +0 -1
  269. package/dist/assets/chat-markdown-message-CTuuKxjN.js +0 -1
  270. package/dist/assets/check-bDVYejGM.js +0 -1
  271. package/dist/assets/checkbox--DYEubRE.js +0 -1
  272. package/dist/assets/checkout-continuation-LLv0HLko.js +0 -1
  273. package/dist/assets/checkout-page-B14XHmIb.js +0 -1
  274. package/dist/assets/checkout-return-target-BX6588K4.js +0 -1
  275. package/dist/assets/chevron-down-D437oaYt.js +0 -1
  276. package/dist/assets/chevron-left-C51UUK4r.js +0 -1
  277. package/dist/assets/chevron-right-D5lPX854.js +0 -1
  278. package/dist/assets/chevron-up-B_I9Uakl.js +0 -1
  279. package/dist/assets/chunk-5KNZJZUH-CPFsMQoz.js +0 -4
  280. package/dist/assets/circle-alert-BaeJJrSp.js +0 -1
  281. package/dist/assets/circle-check-CnoFVsRZ.js +0 -1
  282. package/dist/assets/circle-check-big-CHpJAmSB.js +0 -1
  283. package/dist/assets/circle-minus--pYdZe0n.js +0 -1
  284. package/dist/assets/circle-x-BnqzdPia.js +0 -1
  285. package/dist/assets/client-feature-flag-store-BmjgGl9P.js +0 -1
  286. package/dist/assets/client-perf-CL-Sfpnu.js +0 -1
  287. package/dist/assets/client.gen-D1UKq9QZ.js +0 -6
  288. package/dist/assets/clipboard-copy-BFyCoPu3.js +0 -1
  289. package/dist/assets/clock-HLo0irRS.js +0 -1
  290. package/dist/assets/cloud-6GKvvsQ6.js +0 -1
  291. package/dist/assets/cloud-off-B8SagsfP.js +0 -1
  292. package/dist/assets/cn-naJKasky.js +0 -1
  293. package/dist/assets/code-B7j8vdg9.js +0 -1
  294. package/dist/assets/coins-S_-Fmv_r.js +0 -1
  295. package/dist/assets/command-palette-C0x3z7aQ.js +0 -1
  296. package/dist/assets/command-palette-window-page-BShi7rwo.js +0 -1
  297. package/dist/assets/common-C7YGlfJZ.js +0 -1
  298. package/dist/assets/common-DFfCPRFe.js +0 -1
  299. package/dist/assets/community-page-ChiOX6Op.js +0 -1
  300. package/dist/assets/companion-surface-BYj8yxCS.js +0 -1
  301. package/dist/assets/companion-surface-page-HYtLs0-t.js +0 -1
  302. package/dist/assets/composer-settings-BCehrZgj.js +0 -1
  303. package/dist/assets/confirm-dialog-EPYSBP_B.js +0 -1
  304. package/dist/assets/connect-page-tyHxf7TL.js +0 -1
  305. package/dist/assets/consent-controls-C7U2N-h8.js +0 -1
  306. package/dist/assets/consent-cuDRWUkB.js +0 -1
  307. package/dist/assets/contacts-CotcPejk.js +0 -1
  308. package/dist/assets/contacts-E-8UOrGK.js +0 -1
  309. package/dist/assets/contacts-gateway-BLGKdcif.js +0 -1
  310. package/dist/assets/contacts-page-route-KVjx4fqm.js +0 -1
  311. package/dist/assets/conversation-cache-CrybogTL.js +0 -1
  312. package/dist/assets/conversation-navigation-Ck_iLhjv.js +0 -1
  313. package/dist/assets/conversation-queries-Clrll8jF.js +0 -1
  314. package/dist/assets/conversation-selection-BVLi6RIL.js +0 -1
  315. package/dist/assets/conversation-store-BHWyRtQs.js +0 -1
  316. package/dist/assets/copy-to-clipboard-Blihejp9.js +0 -1
  317. package/dist/assets/cpu-KP1UdyS1.js +0 -1
  318. package/dist/assets/create-selectors-sLdtxUZQ.js +0 -1
  319. package/dist/assets/createLucideIcon-CMfEC_aW.js +0 -1
  320. package/dist/assets/credential-entry-page-Cs6FHnUn.js +0 -1
  321. package/dist/assets/credentials-page-D8G-44GI.js +0 -1
  322. package/dist/assets/danger-zone-redirect-page-Cds_krO3.js +0 -1
  323. package/dist/assets/debug-page-BMqKvkSo.js +0 -4
  324. package/dist/assets/deploy-dialogs-DqkTJUGk.js +0 -1
  325. package/dist/assets/deploy-store-FijtU8HL.js +0 -1
  326. package/dist/assets/desktop-voice-activity-DUGtHbRg.js +0 -1
  327. package/dist/assets/detail-card-D9EAxXI8.js +0 -1
  328. package/dist/assets/detail-drawer-D-CPwyBO.js +0 -1
  329. package/dist/assets/detail-panel-stop-button-ClfJeo-s.js +0 -1
  330. package/dist/assets/detail-shell-CNYbfTO7.js +0 -1
  331. package/dist/assets/developer-page-C7o31rYB.js +0 -1
  332. package/dist/assets/devices-redirect-page-CeKwKvN-.js +0 -1
  333. package/dist/assets/diagnostics-BC7vRbDB.js +0 -1
  334. package/dist/assets/dictation-overlay-C-whP7yL.js +0 -1
  335. package/dist/assets/dictation-overlay-page-sfEwzU14.js +0 -1
  336. package/dist/assets/diff-rows-D_K2ZMJ5.js +0 -1
  337. package/dist/assets/discord-logo-sC02ywjh.js +0 -1
  338. package/dist/assets/dist-BnrwumrD.js +0 -1
  339. package/dist/assets/dist-Cr8OiiXj.js +0 -1
  340. package/dist/assets/dist-Ct3qbbty.js +0 -1
  341. package/dist/assets/dist-Czhl4zX3.js +0 -1
  342. package/dist/assets/dist-D3VsKBK8.js +0 -1
  343. package/dist/assets/dist-DaY2OuMX.js +0 -1
  344. package/dist/assets/doctor-handoff-store-DEirTOZw.js +0 -1
  345. package/dist/assets/document-viewer-container-yyhVIyAB.js +0 -2
  346. package/dist/assets/document-viewer-page-Co_sxuvK.js +0 -1
  347. package/dist/assets/download-BIMKsVBw.js +0 -1
  348. package/dist/assets/edge-swipe-arbiter-store-ByePvbty.js +0 -1
  349. package/dist/assets/edit-chat-session-Cm8kKicc.js +0 -1
  350. package/dist/assets/effective-timezone-BW38Gdmx.js +0 -1
  351. package/dist/assets/ellipsis-DLGzVN7S.js +0 -1
  352. package/dist/assets/ellipsis-vertical-BJaOQqv_.js +0 -1
  353. package/dist/assets/emails-page-a1sfkbkL.js +0 -1
  354. package/dist/assets/environment-store-DKl9RR50.js +0 -1
  355. package/dist/assets/esm-BAE-_6f7.js +0 -1
  356. package/dist/assets/esm-BTQ42Hgz.js +0 -2
  357. package/dist/assets/esm-BnXPDdij.js +0 -2
  358. package/dist/assets/esm-CC077SPL.js +0 -2
  359. package/dist/assets/esm-CbZfwR7m.js +0 -2
  360. package/dist/assets/esm-DA5sciAy.js +0 -2
  361. package/dist/assets/esm-DbODHbQp.js +0 -2
  362. package/dist/assets/esm-Doko4a-G.js +0 -2
  363. package/dist/assets/esm-KUiHjb53.js +0 -1
  364. package/dist/assets/esm-uRwymN1a.js +0 -1
  365. package/dist/assets/event-bus-CN0zipw2.js +0 -1
  366. package/dist/assets/external-anchor-CJ2uCBN2.js +0 -1
  367. package/dist/assets/external-link-cVsOyP-B.js +0 -1
  368. package/dist/assets/external-urls-BE71Yb2T.js +0 -1
  369. package/dist/assets/eye-Bkw-NEUk.js +0 -1
  370. package/dist/assets/eye-bbox-crwIELLL.js +0 -1
  371. package/dist/assets/eye-off-BtRToWVw.js +0 -1
  372. package/dist/assets/feature-flag-catalog-DWnmasL0.js +0 -1
  373. package/dist/assets/feed-item-status-actions-Bw41rlaj.js +0 -1
  374. package/dist/assets/field-quMum4Ij.js +0 -1
  375. package/dist/assets/file-DukGjoT9.js +0 -1
  376. package/dist/assets/file-code-KOdjB_EC.js +0 -1
  377. package/dist/assets/file-editor-Cx3p3Rxf.js +0 -1
  378. package/dist/assets/file-markdown-D43Nsqm2.js +0 -2
  379. package/dist/assets/file-plus-BE5pS64_.js +0 -1
  380. package/dist/assets/file-text-CexzqcsX.js +0 -1
  381. package/dist/assets/first-run-scope-DITgHc6G.js +0 -1
  382. package/dist/assets/folder-BshXYSOQ.js +0 -1
  383. package/dist/assets/folder-open-Dp3CKxO5.js +0 -1
  384. package/dist/assets/format-date-C4mrDYY6.js +0 -1
  385. package/dist/assets/format-usd-Be34KtzB.js +0 -1
  386. package/dist/assets/funnel-events-Dl6Nt7nA.js +0 -1
  387. package/dist/assets/general-page-rg_u_yPE.js +0 -1
  388. package/dist/assets/get-memory-stats-DxspWLxk.js +0 -1
  389. package/dist/assets/globe-DJ3y3hQh.js +0 -1
  390. package/dist/assets/haptics-BS-glrYv.js +0 -2
  391. package/dist/assets/hard-drive-CXysKjuo.js +0 -1
  392. package/dist/assets/hard-navigate-BVv7q79D.js +0 -1
  393. package/dist/assets/hatching-screen-8lXCy9WG.js +0 -1
  394. package/dist/assets/heart-DF_JiyEl.js +0 -1
  395. package/dist/assets/home-page-route-QunjBmtS.js +0 -1
  396. package/dist/assets/hosting-screen-B-5gejYX.js +0 -1
  397. package/dist/assets/i18n-BtV8MCsZ.js +0 -15
  398. package/dist/assets/identity-_6tLszkL.js +0 -1
  399. package/dist/assets/identity-page-route-B0XGpYIE.js +0 -7
  400. package/dist/assets/image-B4sohCAa.js +0 -1
  401. package/dist/assets/inbox-D8dK1dMC.js +0 -1
  402. package/dist/assets/index-C9XKdblY.css +0 -2
  403. package/dist/assets/index-Gjnx86x6.js +0 -11
  404. package/dist/assets/infiniteQueryOptions-DTCCTa10.js +0 -1
  405. package/dist/assets/info-C-HjpKAE.js +0 -1
  406. package/dist/assets/ingest-OJG7HVUh.js +0 -1
  407. package/dist/assets/input-ChbJ2nzd.js +0 -1
  408. package/dist/assets/inspect-page-bs_j1c9j.js +0 -9
  409. package/dist/assets/installed-plugins-query-C8omZZV4.js +0 -1
  410. package/dist/assets/integration-icon-C6Y4VGkv.js +0 -1
  411. package/dist/assets/integrations-page-D7ENik74.js +0 -1
  412. package/dist/assets/intelligence-layout-gaexcakY.js +0 -1
  413. package/dist/assets/interactive-target-h9aYOKy2.js +0 -1
  414. package/dist/assets/internal-thread-actions-DkNfSArh.js +0 -1
  415. package/dist/assets/invalidate-memory-queries-DWuNUXFq.js +0 -1
  416. package/dist/assets/invalidate-plugin-queries-CBgy5O6i.js +0 -1
  417. package/dist/assets/is-electron-D45bjFI8.js +0 -1
  418. package/dist/assets/jsx-runtime-COOF1INC.js +0 -1
  419. package/dist/assets/key-round-BEQmZ4Ji.js +0 -1
  420. package/dist/assets/keyboard-shortcuts-redirect-page-BDuYwofA.js +0 -1
  421. package/dist/assets/laptop-XN6nYvdB.js +0 -1
  422. package/dist/assets/layout-grid-Cyrnt_YU.js +0 -1
  423. package/dist/assets/library-detail-page-DXCZhY4s.js +0 -1
  424. package/dist/assets/library-page-CKAu2a08.js +0 -1
  425. package/dist/assets/lightbulb-BSnKqAOd.js +0 -1
  426. package/dist/assets/link-2-Di62Fo_i.js +0 -1
  427. package/dist/assets/link-CbkkEBEX.js +0 -1
  428. package/dist/assets/list-Dtwz1hOH.js +0 -1
  429. package/dist/assets/list-row-BvCm9O6y.js +0 -1
  430. package/dist/assets/llm-model-catalog-Bk0q_XG4.js +0 -1
  431. package/dist/assets/loader-circle-DZ65N8bz.js +0 -1
  432. package/dist/assets/local-mode-BQ8gp0wB.js +0 -1
  433. package/dist/assets/local-runtime-upgrade-BXc9x-7Y.js +0 -1
  434. package/dist/assets/local-settings-D9SNRv4p.js +0 -1
  435. package/dist/assets/log-in-CGeZfDEs.js +0 -1
  436. package/dist/assets/log-out-DPkGVfNH.js +0 -1
  437. package/dist/assets/login-flow-CrSxmLFE.js +0 -1
  438. package/dist/assets/login-page-uUo0uRmJ.js +0 -1
  439. package/dist/assets/logout-page-BYZfOpa1.js +0 -1
  440. package/dist/assets/logs-layout-B34XKM-k.js +0 -1
  441. package/dist/assets/mail-CqdA6Y_p.js +0 -1
  442. package/dist/assets/markdown-preview-eCDa4paC.js +0 -1
  443. package/dist/assets/media-preview-1xn1SAn9.js +0 -1
  444. package/dist/assets/memory-page-route-DiVaW98S.js +0 -2
  445. package/dist/assets/memory-router-playground-page-DgILWgQu.js +0 -1
  446. package/dist/assets/menu-DPM2p9S5.js +0 -1
  447. package/dist/assets/message-circle-DBYzIjYB.js +0 -1
  448. package/dist/assets/message-content-uWZUlo6D.js +0 -1
  449. package/dist/assets/message-files-panel-Bv-5dvcD.js +0 -1
  450. package/dist/assets/message-square-XpKWNcyv.js +0 -1
  451. package/dist/assets/message-square-text-CvSl10LZ.js +0 -1
  452. package/dist/assets/messages-BXHTKK_v.js +0 -13
  453. package/dist/assets/metric-card-CTonLoYE.js +0 -1
  454. package/dist/assets/mic-DQbnjgmt.js +0 -1
  455. package/dist/assets/middleware-BmAQ4_8P.js +0 -1
  456. package/dist/assets/mime-sniff--WYdEIBE.js +0 -1
  457. package/dist/assets/minimize-2-DzL_lI8t.js +0 -1
  458. package/dist/assets/misc-dA4Wklt2.js +0 -1
  459. package/dist/assets/modal-_49mDK_d.js +0 -1
  460. package/dist/assets/monitor-BKwWxjph.js +0 -1
  461. package/dist/assets/moon-MfogEw5q.js +0 -1
  462. package/dist/assets/native-anchor-CmnMg6B6.js +0 -1
  463. package/dist/assets/native-biometric-DEP8Sr4X.js +0 -6
  464. package/dist/assets/native-deep-link--guFKiPO.js +0 -2
  465. package/dist/assets/native-file-DlQtjxJn.js +0 -2
  466. package/dist/assets/navigation-resolver-CRsrd5gh.js +0 -1
  467. package/dist/assets/not-found-BXR_4Uja.js +0 -1
  468. package/dist/assets/notice-BHeYlKvv.js +0 -1
  469. package/dist/assets/notifications-Dcgkgn8Q.js +0 -1
  470. package/dist/assets/notifications-page-CSH6gHaX.js +0 -1
  471. package/dist/assets/oauth-connection-utils-D_78dCYn.js +0 -1
  472. package/dist/assets/oauth-popup-DEDdbkj2.js +0 -1
  473. package/dist/assets/onboarding-D2bBWpx1.js +0 -1
  474. package/dist/assets/onboarding-DJeJhXd6.js +0 -1
  475. package/dist/assets/onboarding-layout-C9v6Q2QQ.js +0 -1
  476. package/dist/assets/onboarding-navigation-oNFNDeeW.js +0 -1
  477. package/dist/assets/onboarding-store-BhT1z8Wi.js +0 -1
  478. package/dist/assets/open-workspace-file-fIr0qcsc.js +0 -2
  479. package/dist/assets/operational-status-BdcYEcTh.js +0 -1
  480. package/dist/assets/optimistic-lifecycle-BlDyVYIt.js +0 -1
  481. package/dist/assets/page-empty-state-B_nQdAFR.js +0 -1
  482. package/dist/assets/page-shell-BHyGukA1.js +0 -1
  483. package/dist/assets/page-surface-store-D5IgLCtn.js +0 -1
  484. package/dist/assets/pairing-page-fVI54lsD.js +0 -1
  485. package/dist/assets/palette-BlX3XmVL.js +0 -1
  486. package/dist/assets/paperclip-Ce-wbj5L.js +0 -1
  487. package/dist/assets/password-reset-page-ClhMzYsx.js +0 -1
  488. package/dist/assets/pdf-file-preview-BjbSLoD9.js +0 -1
  489. package/dist/assets/pdf-preview-xa07R01f.js +0 -2
  490. package/dist/assets/pencil-1uDrqXvV.js +0 -1
  491. package/dist/assets/personality-page-CK3vkhkl.js +0 -1
  492. package/dist/assets/plans-page-CuZeAQhx.js +0 -1
  493. package/dist/assets/platform-detection-DUeD4WFO.js +0 -1
  494. package/dist/assets/platform-login-notice-B2ZwcEYp.js +0 -1
  495. package/dist/assets/platform-loopback-page-CMnaXj8y.js +0 -1
  496. package/dist/assets/play-D-HSCeZj.js +0 -1
  497. package/dist/assets/plug-AMxPbUcz.js +0 -1
  498. package/dist/assets/plugin-detail-page-D9Qk7GmS.js +0 -1
  499. package/dist/assets/plugins-page-Bm0hcoSf.js +0 -1
  500. package/dist/assets/plugins-surface-DB7dv9Hu.js +0 -1
  501. package/dist/assets/plus-rgqTRjE1.js +0 -1
  502. package/dist/assets/pointer-DktxhCd8.js +0 -1
  503. package/dist/assets/popover-GOTwOlgQ.js +0 -1
  504. package/dist/assets/prechat-Cl2-DnE_.js +0 -1
  505. package/dist/assets/prefs-CAMw44jD.js +0 -1
  506. package/dist/assets/preload-helper-BewR0kVT.js +0 -1
  507. package/dist/assets/preview-error-DW-EUl80.js +0 -1
  508. package/dist/assets/preview-skeleton-CLI9ptyu.js +0 -1
  509. package/dist/assets/privacy-page-D-a7l0YY.js +0 -1
  510. package/dist/assets/privacy-screen-CxwxgE4s.js +0 -1
  511. package/dist/assets/profile-pickers-D8XVv50L.js +0 -1
  512. package/dist/assets/progress-bar-C9zSzt4m.js +0 -1
  513. package/dist/assets/provider-callback-page-65a2DK0l.js +0 -1
  514. package/dist/assets/provider-key-CcPF1Zqp.js +0 -1
  515. package/dist/assets/provider-signup-page-BC86aF7W.js +0 -1
  516. package/dist/assets/proxy-CROyCGs8.js +0 -1
  517. package/dist/assets/public-asset-Dk1mdzbh.js +0 -1
  518. package/dist/assets/push-registration-D0zDMpTx.js +0 -2
  519. package/dist/assets/puzzle-PqInNnOi.js +0 -1
  520. package/dist/assets/queryOptions-DGyQTr3e.js +0 -1
  521. package/dist/assets/quick-input-page-DAf2lbri.js +0 -1
  522. package/dist/assets/react-DJZBPgpf.js +0 -1
  523. package/dist/assets/react-query.gen-C5widOeH.js +0 -1
  524. package/dist/assets/react-query.gen-C_GLKG7m.js +0 -1
  525. package/dist/assets/reduced-motion-B-KLzfs_.js +0 -1
  526. package/dist/assets/refresh-cw-BDh1a2sj.js +0 -1
  527. package/dist/assets/relative-time-COU7Zqre.js +0 -1
  528. package/dist/assets/remote-gateway-session-C3H0Oq0r.js +0 -1
  529. package/dist/assets/remove-from-device-dialog-CXmGFbKk.js +0 -1
  530. package/dist/assets/repeat-6uW-THNc.js +0 -1
  531. package/dist/assets/research-facts-gT4POsZw.js +0 -1
  532. package/dist/assets/research-mock-page-B41v4MzE.js +0 -1
  533. package/dist/assets/research-onboarding-persistence-Bnn7ljSq.js +0 -1
  534. package/dist/assets/research-onboarding-route-CbZ14lCf.js +0 -50
  535. package/dist/assets/research-results-view-BHXLkoKK.js +0 -3
  536. package/dist/assets/resolved-assistants-store-DEtotxhR.js +0 -1
  537. package/dist/assets/retire-confirm-dialog-1nxn6f4M.js +0 -1
  538. package/dist/assets/review-terms-screen-BsDHdmoO.js +0 -1
  539. package/dist/assets/rotate-ccw-BYcZOtjy.js +0 -1
  540. package/dist/assets/routes-C6ueuiMd.js +0 -1
  541. package/dist/assets/routes-Cly3ytK4.js +0 -24
  542. package/dist/assets/runtime-upgrade-banner-DC63rkQ7.js +0 -2
  543. package/dist/assets/sandbox-bridge-DSJSIgUC.js +0 -275
  544. package/dist/assets/schedules-BZzuRuQs.js +0 -1
  545. package/dist/assets/schedules-DVOFbt86.js +0 -1
  546. package/dist/assets/schedules-page-CjqAP78z.js +0 -1
  547. package/dist/assets/schemas-BNPZ_RzM.js +0 -39
  548. package/dist/assets/sdk.gen-BluU0h_N.js +0 -6
  549. package/dist/assets/sdk.gen-BuAyyHNm.js +0 -6
  550. package/dist/assets/sdk.gen-CrcsMCNX.js +0 -1
  551. package/dist/assets/search-DYHr3LM9.js +0 -1
  552. package/dist/assets/section-membership-Bma0R_Bn.js +0 -1
  553. package/dist/assets/security-redirect-page-C3VbbfyM.js +0 -1
  554. package/dist/assets/select-DmdFZj4l.js +0 -1
  555. package/dist/assets/select-assistant-screen-CV_3BKEH.js +0 -1
  556. package/dist/assets/self-hosted-servers-BMPYPayb.js +0 -1
  557. package/dist/assets/semver-CeGQrxWZ.js +0 -1
  558. package/dist/assets/send-1mFY4II3.js +0 -1
  559. package/dist/assets/setting-row-urcByt7n.js +0 -1
  560. package/dist/assets/settings-BggpKBtA.js +0 -3
  561. package/dist/assets/settings-C37vdp_B.js +0 -1
  562. package/dist/assets/settings-DSeJ7uGb.js +0 -3
  563. package/dist/assets/settings-divider-CYam_4yQ.js +0 -1
  564. package/dist/assets/settings-layout-CDRF6b06.js +0 -1
  565. package/dist/assets/settings-navigation-DyFIJJGF.js +0 -1
  566. package/dist/assets/share-feedback-modal-TnZsiNw9.js +0 -2
  567. package/dist/assets/shield-OLSnLaN7.js +0 -1
  568. package/dist/assets/shield-check-BuRfLkGi.js +0 -1
  569. package/dist/assets/sidebar-tree-Y1RDeJ9E.js +0 -1
  570. package/dist/assets/signup-page-DRzsOblS.js +0 -1
  571. package/dist/assets/signup-shell-DH0qR_2b.js +0 -1
  572. package/dist/assets/site-favicon-DLf2W4xi.js +0 -1
  573. package/dist/assets/skeleton-BV6nOVEl.js +0 -1
  574. package/dist/assets/skill-detail-page-3Wiz9A7q.js +0 -2
  575. package/dist/assets/skill-detail-panel-DbLFuSyn.js +0 -1
  576. package/dist/assets/skill-icon-D52BIuW4.js +0 -1
  577. package/dist/assets/skills-DASSBxT-.js +0 -1
  578. package/dist/assets/skills-page-DhKl7Mti.js +0 -1
  579. package/dist/assets/sliders-horizontal-BPa-_UE6.js +0 -1
  580. package/dist/assets/smartphone-P7vq0dcA.js +0 -1
  581. package/dist/assets/sound-manager-D8p3_c3W.js +0 -1
  582. package/dist/assets/sounds-page-CWBPL1YA.js +0 -1
  583. package/dist/assets/sparkles-D6kBPNlr.js +0 -1
  584. package/dist/assets/square-sQS2OW8v.js +0 -1
  585. package/dist/assets/src-BKET5Cno.js +0 -293
  586. package/dist/assets/star-C4JuiUip.js +0 -1
  587. package/dist/assets/start-screen-OMf-yHG3.js +0 -1
  588. package/dist/assets/status-badge-pill-MTA2Lfk-.js +0 -1
  589. package/dist/assets/stt-language-picker-modal-CmeO8yxD.js +0 -1
  590. package/dist/assets/subagent-detail-panel-CUW2rBET.js +0 -4
  591. package/dist/assets/subagent-store-BcbcFnS8.js +0 -3
  592. package/dist/assets/sun-Dtr03Yty.js +0 -1
  593. package/dist/assets/superpowers-page-CuvXfGPO.js +0 -1
  594. package/dist/assets/surface-parse-helpers-f-hT9LIR.js +0 -1
  595. package/dist/assets/swipe-action-reveal-BhA-hrfj.js +0 -1
  596. package/dist/assets/system-events-page-tEAEdDzA.js +0 -1
  597. package/dist/assets/system-events-redirect-page-BMSQQBAs.js +0 -1
  598. package/dist/assets/tag-DAsImP7W.js +0 -1
  599. package/dist/assets/target-zLlNzjMl.js +0 -1
  600. package/dist/assets/telegram-setup-wizard-BT6u6vcb.js +0 -1
  601. package/dist/assets/terminal-Bw8gHw-v.js +0 -1
  602. package/dist/assets/text-preview-qkra1xEh.js +0 -1
  603. package/dist/assets/theme-preferences-ysFQ1QCN.js +0 -1
  604. package/dist/assets/theme-stage-page-DiqUiOmJ.js +0 -1
  605. package/dist/assets/three-dot-indicator-rcDwZDFG.js +0 -1
  606. package/dist/assets/threshold-presets-DF7FTTlD.js +0 -1
  607. package/dist/assets/toast-BKrDuNtu.js +0 -1
  608. package/dist/assets/toggle-CdhdS_iC.js +0 -1
  609. package/dist/assets/tool-detail-panel-BR3PsmdK.js +0 -12
  610. package/dist/assets/transcript-message-body-shared-DWzxxSaD.js +0 -1
  611. package/dist/assets/trash-2-CVpEwOYZ.js +0 -1
  612. package/dist/assets/triangle-alert-B6J57Xfo.js +0 -1
  613. package/dist/assets/trust-rules-api-eZhPplXW.js +0 -1
  614. package/dist/assets/typed-storage-Bw4gW_Pk.js +0 -1
  615. package/dist/assets/typography-SdxpXI_m.js +0 -1
  616. package/dist/assets/upgrade-cancel-page-pljx8YOz.js +0 -1
  617. package/dist/assets/upgrade-success-page-CJUETwIe.js +0 -1
  618. package/dist/assets/upload-8ENnMpW_.js +0 -1
  619. package/dist/assets/usage-redirect-page-DBkOdl41.js +0 -1
  620. package/dist/assets/use-active-assistant-id-lxYJu99R.js +0 -1
  621. package/dist/assets/use-app-theme-CaWLhQW_.js +0 -1
  622. package/dist/assets/use-assistant-avatar-C2TgszRj.js +0 -1
  623. package/dist/assets/use-assistant-capability-De-35T6E.js +0 -1
  624. package/dist/assets/use-assistant-identity-details-rXIIiXr1.js +0 -1
  625. package/dist/assets/use-attachment-preview-BAX_ivri.js +0 -2
  626. package/dist/assets/use-attachment-squares-rU9s8st8.js +0 -1
  627. package/dist/assets/use-body-scroll-lock-8ObBdX00.js +0 -1
  628. package/dist/assets/use-bookmarks-BrjNq3T_.js +0 -1
  629. package/dist/assets/use-bundled-avatar-components-C6-AuQ2I.js +0 -2
  630. package/dist/assets/use-bus-subscription-DfxTm1-Q.js +0 -1
  631. package/dist/assets/use-checkout-dismiss-refresh-CjgC7Pck.js +0 -1
  632. package/dist/assets/use-command-palette-sections-tRUwMswg.js +0 -1
  633. package/dist/assets/use-copy-to-clipboard-B4c7SAc-.js +0 -1
  634. package/dist/assets/use-discord-nudge-BkpFjoOQ.js +0 -1
  635. package/dist/assets/use-edge-swipe-CCn4_Vm3.js +0 -1
  636. package/dist/assets/use-edge-swipe-back-xU9GuipH.js +0 -2
  637. package/dist/assets/use-edit-app-DDA6_WrI.js +0 -1
  638. package/dist/assets/use-effective-timezone-BfyKw5_H.js +0 -1
  639. package/dist/assets/use-element-size-CVF6o81H.js +0 -1
  640. package/dist/assets/use-hotkey-recorder-IMOc7G5D.js +0 -1
  641. package/dist/assets/use-invite-link-dialog-CvA_-72H.js +0 -1
  642. package/dist/assets/use-is-mobile-DYVRtRin.js +0 -1
  643. package/dist/assets/use-is-org-ready-B6oCKWeF.js +0 -1
  644. package/dist/assets/use-local-file-info-CSgzMBYt.js +0 -1
  645. package/dist/assets/use-media-query-BMHGif0t.js +0 -1
  646. package/dist/assets/use-obscure-credits-flag-CWxw1xHq.js +0 -1
  647. package/dist/assets/use-onboarding-login-CJ6HY3Pk.js +0 -1
  648. package/dist/assets/use-platform-assistant-id-DwSyMaOn.js +0 -1
  649. package/dist/assets/use-platform-gate-s29eeyq-.js +0 -1
  650. package/dist/assets/use-reduced-motion-CVyEdyEe.js +0 -1
  651. package/dist/assets/use-return-to-short-circuit-Bx5s2Syg.js +0 -1
  652. package/dist/assets/use-save-twilio-credentials-Zjhi1c0P.js +0 -1
  653. package/dist/assets/use-side-list-room-BT-2EM5d.js +0 -1
  654. package/dist/assets/use-skill-actions-BtnAACsE.js +0 -1
  655. package/dist/assets/use-skill-detail-files-B_E6xY9x.js +0 -1
  656. package/dist/assets/use-sticky-profiles-DpkWeMmN.js +0 -1
  657. package/dist/assets/use-stt-language-selection-BWJdaCRu.js +0 -1
  658. package/dist/assets/use-subagent-card-data-CfuRPesp.js +0 -1
  659. package/dist/assets/use-supports-bookmarks-Qhc5HpKD.js +0 -1
  660. package/dist/assets/use-supports-credentials-settings-BD0GXxL7.js +0 -1
  661. package/dist/assets/use-supports-inference-profiles-DS2ZLoNc.js +0 -1
  662. package/dist/assets/use-swipe-horizontal-B9YOWcB6.js +0 -1
  663. package/dist/assets/use-touch-mobile-hfZPfT1P.js +0 -1
  664. package/dist/assets/use-transcript-message-by-id-DfWH7JRN.js +0 -1
  665. package/dist/assets/use-transcript-messages-CFkvE46_.js +0 -3
  666. package/dist/assets/use-truncated-blob-text-DmnckNwK.js +0 -1
  667. package/dist/assets/use-voice-sample-preview-B8HUywXz.js +0 -1
  668. package/dist/assets/useInfiniteQuery-Dz6qbDTQ.js +0 -1
  669. package/dist/assets/useMutation-Cl7cazkm.js +0 -1
  670. package/dist/assets/useQueries-RuiDsyUH.js +0 -1
  671. package/dist/assets/useQuery-BtL9k7Sh.js +0 -1
  672. package/dist/assets/user-DqmJs6-I.js +0 -1
  673. package/dist/assets/user-plus-Bg01QRAF.js +0 -1
  674. package/dist/assets/users-DLjK4Ffo.js +0 -1
  675. package/dist/assets/utils-CAI1IDgW.js +0 -1
  676. package/dist/assets/viewer-store-CHptQmkY.js +0 -1
  677. package/dist/assets/voice-input-device-DsSHVzmw.js +0 -1
  678. package/dist/assets/voice-page-Dgcf5OOp.js +0 -1
  679. package/dist/assets/voice-providers-note-nJKW4coW.js +0 -1
  680. package/dist/assets/volume-2-DQKLkySB.js +0 -1
  681. package/dist/assets/weather-forecast-display-_NYO0wBC.js +0 -1
  682. package/dist/assets/web-8Dh87AZ1.js +0 -1
  683. package/dist/assets/web-BAQ66WKm.js +0 -1
  684. package/dist/assets/web-BFD28UZm.js +0 -1
  685. package/dist/assets/web-BcIK5wrq.js +0 -1
  686. package/dist/assets/web-C_sL6qhW.js +0 -1
  687. package/dist/assets/web-D0e5_5xl.js +0 -1
  688. package/dist/assets/web-D4Rr20FV.js +0 -1
  689. package/dist/assets/web-iI5WHtNC.js +0 -1
  690. package/dist/assets/web-qqG-3jDd.js +0 -1
  691. package/dist/assets/welcome-screen-DK4_01J3.js +0 -1
  692. package/dist/assets/widget-snapshot-OH8xHYY2.js +0 -1
  693. package/dist/assets/workflow-detail-panel-TqYAg0bB.js +0 -1
  694. package/dist/assets/workflow-kvRB4Mc5.js +0 -1
  695. package/dist/assets/workflow-status-B_zEZCnR.js +0 -1
  696. package/dist/assets/workflow-store-DH4q15s9.js +0 -1
  697. package/dist/assets/workspace-page-Dbwb2RCx.js +0 -1
  698. package/dist/assets/workspace-path-links-Y-WgBhhL.js +0 -1
  699. package/dist/assets/workspace-theme-tokens-DmrDqHwx.js +0 -1
  700. package/dist/assets/workspace-tree-query-DnEMWZ1K.js +0 -1
  701. package/dist/assets/wrench-ajjC5omI.js +0 -1
  702. package/dist/assets/x-nhRPd-Mz.js +0 -1
  703. package/dist/assets/xterm-addon-fit-DIrY4yvs.js +0 -1
  704. package/dist/assets/zap-Db0KA7N4.js +0 -1
  705. /package/dist/assets/{account-Cs9SXbU1.js → account-B6zEi6O8.js} +0 -0
  706. /package/dist/assets/{account-DWeaNEN6.js → account-WSklJ2-s.js} +0 -0
  707. /package/dist/assets/{app-types-CpnkPGh8.js → app-types-BSxLQFrc.js} +0 -0
  708. /package/dist/assets/{credential-requests-D74qo-et.js → credential-requests-DQ9WS6Rl.js} +0 -0
  709. /package/dist/assets/{credential-requests-BsHMMFoG.js → credential-requests-DUwvVpZo.js} +0 -0
  710. /package/dist/assets/{definitions-BKQ6A5IV.js → definitions-BTBjNf1i.js} +0 -0
  711. /package/dist/assets/{definitions-Bi8Nex3B.js → definitions-Dz0UVs0Z.js} +0 -0
  712. /package/dist/assets/{emoji-catalog-data-81v3IYMV.js → emoji-catalog-data-a3DXKyhe.js} +0 -0
  713. /package/dist/assets/{format-file-size-gDJ7ppQ0.js → format-file-size-BCpFMv3k.js} +0 -0
  714. /package/dist/assets/{home-C5CVL0Ta.js → home-BWUNWNMl.js} +0 -0
  715. /package/dist/assets/{home-QpGM3cDE.js → home-DJ6q91Qp.js} +0 -0
  716. /package/dist/assets/{library-mD_34-zu.js → library-Bu_eLt14.js} +0 -0
  717. /package/dist/assets/{library-a7r2rPRX.js → library-Diqzwx-J.js} +0 -0
  718. /package/dist/assets/{link-click-LjKsC7uu.js → link-click-DpfLT-iQ.js} +0 -0
  719. /package/dist/assets/{logs-DYhiKdQ8.js → logs-Bs19Ze4Q.js} +0 -0
  720. /package/dist/assets/{logs-CwEMxFk_.js → logs-FJQpRVDW.js} +0 -0
  721. /package/dist/assets/{machine-sizes-DOMlCbKb.js → machine-sizes-C3ptouhz.js} +0 -0
  722. /package/dist/assets/{onboarding-step-layout-_Fbi43YU.js → onboarding-step-layout-BlSoa02H.js} +0 -0
  723. /package/dist/assets/{plugin-attribution-7tkVwdle.js → plugin-attribution-c6x0DrZM.js} +0 -0
  724. /package/dist/assets/{profile-metadata-BPGeIeNj.js → profile-metadata-Bk4pj7o_.js} +0 -0
  725. /package/dist/assets/{radio-card-nav-C67JvVkE.js → radio-card-nav-DlRweN3g.js} +0 -0
  726. /package/dist/assets/{remote-web-Btj-E-og.js → remote-web-9YsnKwue.js} +0 -0
  727. /package/dist/assets/{remote-web-yAGitwPt.js → remote-web-bapYzahN.js} +0 -0
  728. /package/dist/assets/{chunk-jRWAZmH_.js → rolldown-runtime-BM3Ffeng.js} +0 -0
  729. /package/dist/assets/{schedules-K8jULmC8.js → schedules-CYD1CzCP.js} +0 -0
  730. /package/dist/assets/{schedules-Dd44UKOx.js → schedules-DhwNRBkz.js} +0 -0
  731. /package/dist/assets/{terminal-CazBoirG.js → terminal-7pMYRiby.js} +0 -0
  732. /package/dist/assets/{terminal-DP646Xj3.js → terminal-BMbpDjYx.js} +0 -0
  733. /package/dist/assets/{src-CfUWwwYf.css → vendor-CfUWwwYf.css} +0 -0
  734. /package/dist/assets/{workspace-Dva7bu2g.js → workspace-BAHtR2RN.js} +0 -0
  735. /package/dist/assets/{workspace-xgS4oaDo.js → workspace-BnkQd2SU.js} +0 -0
@@ -1,4 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./preload-helper-BewR0kVT.js";var r=e(t(),1),i=e=>{throw TypeError(e)},a=(e,t,n)=>t.has(e)||i(`Cannot `+n),o=(e,t,n)=>(a(e,t,`read from private field`),n?n.call(e):t.get(e)),s=(e,t,n)=>t.has(e)?i(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),c=(e,t,n,r)=>(a(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),l=`popstate`;function u(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function d(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return g(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:_(t)}return y(t,n,null,e)}function f(e,t){if(e===!1||e==null)throw Error(t)}function p(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function m(){return Math.random().toString(36).substring(2,10)}function h(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function g(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?v(t):t,state:n,key:t&&t.key||r||m(),mask:i}}function _({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function v(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function y(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,d=f();d??(d=0,o.replaceState({...o.state,idx:d},``));function f(){return(o.state||{idx:null}).idx}function p(){s=`POP`;let e=f(),t=e==null?null:e-d;d=e,c&&c({action:s,location:y.location,delta:t})}function m(e,t){s=`PUSH`;let r=u(e)?e:g(y.location,e,t);n&&n(r,e),d=f()+1;let l=h(r,d),p=y.createHref(r.mask||r);try{o.pushState(l,``,p)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(p)}a&&c&&c({action:s,location:y.location,delta:1})}function _(e,t){s=`REPLACE`;let r=u(e)?e:g(y.location,e,t);n&&n(r,e),d=f();let i=h(r,d),l=y.createHref(r.mask||r);o.replaceState(i,``,l),a&&c&&c({action:s,location:y.location,delta:0})}function v(e){return b(e)}let y={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(l,p),c=e,()=>{i.removeEventListener(l,p),c=null}},createHref(e){return t(i,e)},createURL:v,encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:m,replace:_,go(e){return o.go(e)}};return y}function b(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),f(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:_(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function x(e){return{defaultValue:e}}var S,C=class{constructor(e){if(s(this,S,new Map),e)for(let[t,n]of e)this.set(t,n)}get(e){if(o(this,S).has(e))return o(this,S).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){o(this,S).set(e,t)}};S=new WeakMap;var w=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function T(e){return w.has(e)}var E=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function D(e){return E.has(e)}function O(e){return e.index===!0}function k(e,t,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(f(e.index!==!0||!e.children,`Cannot specify children on an index route`),f(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),O(e)){let n={...e,id:s};return r[s]=A(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=A(n,t(n)),e.children&&(n.children=k(e.children,t,o,r,i)),n}})}function A(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function j(e,t,n=`/`){return M(e,t,n,!1)}function M(e,t,n,r,i){let a=z((typeof t==`string`?v(t):t).pathname||`/`,n);if(a==null)return null;let o=i??N(e),s=null,c=R(a);for(let e=0;s==null&&e<o.length;++e)s=L(o[e],c,r);return s}function ee(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function N(e){let t=te(e);return ne(t),t}function te(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;f(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=H([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(f(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),te(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:ce(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of P(e.path))a(e,t,!0,n)}),t}function P(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=P(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function ne(e){e.sort((e,t)=>e.score===t.score?le(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var re=/^:[\w-]+$/,F=3,ie=2,ae=1,oe=10,I=-2,se=e=>e===`*`;function ce(e,t){let n=e.split(`/`),r=n.length;return n.some(se)&&(r+=I),t&&(r+=ie),n.filter(e=>!se(e)).reduce((e,t)=>e+(re.test(t)?F:t===``?ae:oe),r)}function le(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function L(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=ue({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=ue({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:H([a,u.pathname]),pathnameBase:be(H([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=H([a,u.pathnameBase]))}return o}function ue(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=de(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function de(e,t=!1,n=!0){p(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function R(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return p(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function z(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function fe({basename:e,pathname:t}){return t===`/`?e:H([e,t])}var pe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,me=e=>pe.test(e);function he(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?v(e):e,a;return n?(n=ye(n),a=n.startsWith(`/`)?ge(n.substring(1),`/`):ge(n,t)):a=t,{pathname:a,search:xe(r),hash:Se(i)}}function ge(e,t){let n=U(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function _e(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function ve(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function B(e){let t=ve(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function V(e,t,n,r=!1){let i;typeof e==`string`?i=v(e):(i={...e},f(!i.pathname||!i.pathname.includes(`?`),_e(`?`,`pathname`,`search`,i)),f(!i.pathname||!i.pathname.includes(`#`),_e(`#`,`pathname`,`hash`,i)),f(!i.search||!i.search.includes(`#`),_e(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=he(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var ye=e=>e.replace(/\/\/+/g,`/`),H=e=>ye(e.join(`/`)),U=e=>e.replace(/\/+$/,``),be=e=>U(e).replace(/^\/*/,`/`),xe=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Se=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ce=(e,t=302)=>{let n=t;typeof n==`number`?n={status:n}:n.status===void 0&&(n.status=302);let r=new Headers(n.headers);return r.set(`Location`,e),new Response(null,{...n,headers:r})},we=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Te(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Ee(e){return H(e.map(e=>e.route.path).filter(Boolean))||`/`}var De=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Oe(e,t){let n=e;if(typeof n!=`string`||!pe.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(De)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=z(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{p(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var W=Symbol(`Uninstrumented`);function ke(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=je(n.lazy,t.lazy,()=>void 0);e&&(r.lazy=e)}if(typeof t.lazy==`object`){let e=t.lazy;[`middleware`,`loader`,`action`].forEach(t=>{let i=e[t],a=n[`lazy.${t}`];if(typeof i==`function`&&a.length>0){let e=je(a,i,()=>void 0);e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return[`loader`,`action`].forEach(e=>{let i=t[e];if(typeof i==`function`&&n[e].length>0){let t=i[W]??i,a=je(n[e],t,(...e)=>G(e[0]));a&&(e===`loader`&&t.hydrate===!0&&(a.hydrate=!0),a[W]=t,r[e]=a)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[W]??e,r=je(n.middleware,t,(...e)=>G(e[0]));return r?(r[W]=t,r):e})),r}function Ae(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[W]??e.navigate,r=je(n.navigate,t,(...t)=>{let[n,r]=t;return{to:typeof n==`number`||typeof n==`string`?n:n?_(n):`.`,...K(e,r??{})}});r&&(r[W]=t,e.navigate=r)}if(n.fetch.length>0){let t=e.fetch[W]??e.fetch,r=je(n.fetch,t,(...t)=>{let[n,,r,i]=t;return{href:r??`.`,fetcherKey:n,...K(e,i??{})}});r&&(r[W]=t,e.fetch=r)}return e}function je(e,t,n){return e.length===0?null:async(...r)=>{let i=await Me(e,n(...r),()=>t(...r),e.length-1);if(i.type===`error`)throw i.value;return i.value}}async function Me(e,t,n,r){let i=e[r],a;if(i){let o,s=async()=>(o?console.error(`You cannot call instrumented handlers more than once`):o=Me(e,t,n,r-1),a=await o,f(a,`Expected a result`),a.type===`error`&&a.value instanceof Error?{status:`error`,error:a.value}:{status:`success`,error:void 0});try{await i(s,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}o||await s(),await o}else try{a={type:`success`,value:await n()}}catch(e){a={type:`error`,value:e}}return a||{type:`error`,value:Error(`No result assigned in instrumentation chain.`)}}function G(e){let{request:t,context:n,params:r,pattern:i}=e;return{request:Ne(t),params:{...r},pattern:i,context:Pe(n)}}function K(e,t){return{currentUrl:_(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function Ne(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Pe(e){if(Ie(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Fe=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Ie(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Fe}var q=[`POST`,`PUT`,`PATCH`,`DELETE`],Le=new Set(q),Re=[`GET`,...q],ze=new Set(Re),Be=new Set([301,302,303,307,308]),Ve=new Set([307,308]),He={state:`idle`,location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ue={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},We={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},Ge=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Ke=`remix-router-transitions`,qe=Symbol(`ResetLoaderData`),Je,Ye,Xe,Ze,Qe=class{constructor(e){s(this,Je),s(this,Ye),s(this,Xe),s(this,Ze),c(this,Je,e),c(this,Ye,N(e))}get stableRoutes(){return o(this,Je)}get activeRoutes(){return o(this,Xe)??o(this,Je)}get branches(){return o(this,Ze)??o(this,Ye)}get hasHMRRoutes(){return o(this,Xe)!=null}setRoutes(e){c(this,Je,e),c(this,Ye,N(e))}setHmrRoutes(e){c(this,Xe,e),c(this,Ze,N(e))}commitHmrRoutes(){o(this,Xe)&&(c(this,Je,o(this,Xe)),c(this,Ye,o(this,Ze)),c(this,Xe,void 0),c(this,Ze,void 0))}};Je=new WeakMap,Ye=new WeakMap,Xe=new WeakMap,Ze=new WeakMap;function $e(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;f(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties||Ge,a=i;if(e.instrumentations){let t=e.instrumentations;a=e=>({...i(e),...ke(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new Qe(k(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||gt,u={...e.future},d=null,m=new Set,h=null,_=null,y=null,x=e.hydrationData!=null,S=M(s.activeRoutes,e.history.location,c,!1,s.branches),w=!1,T=null,E,D;if(S==null&&!e.patchRoutesOnNavigation){let t=J(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=zt(s.activeRoutes);E=!0,D=!E,S=n,T={[r.id]:t}}else if(S&&!e.hydrationData&&ot(S,s.activeRoutes,e.history.location.pathname).active&&(S=null),!S){E=!1,D=!E,S=[];let t=ot(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(w=!0,S=t.matches)}else if(S.some(e=>e.route.lazy))E=!1,D=!E;else if(!S.some(e=>it(e.route)))E=!0,D=!E;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=S;if(n){let e=S.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}D=!1,E=!0,r.forEach(e=>{let r=at(e.route,t,n);D||=r.renderFallback,E&&=!r.shouldLoad})}let O,A={historyAction:e.history.action,location:e.history.location,matches:S,initialized:E,renderFallback:D,navigation:He,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||T,fetchers:new Map,blockers:new Map},j=`POP`,N=null,te=!1,P,ne=!1,re=new Map,F=null,ie=!1,ae=!1,oe=new Set,I=new Map,se=0,ce=-1,le=new Map,L=new Set,ue=new Map,de=new Map,R=new Set,fe=new Map,pe,he=null;function ge(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(pe){pe(),pe=void 0;return}p(fe.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=Je({currentLocation:A.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{pe=e});e.history.go(r*-1),qe(i,{state:`blocked`,location:n,proceed(){qe(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(A.blockers);e.set(i,We),B({blockers:e})}}),N?.resolve(),N=null;return}return U(t,n)}),n){cn(t,re);let e=()=>ln(t,re);t.addEventListener(`pagehide`,e),F=()=>t.removeEventListener(`pagehide`,e)}return A.initialized||U(`POP`,A.location,{initialHydration:!0}),O}function _e(){d&&d(),F&&F(),m.clear(),P&&P.abort(),A.fetchers.forEach((e,t)=>Fe(t)),A.blockers.forEach((e,t)=>Ke(t))}function ve(e){return m.add(e),()=>m.delete(e)}function B(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),A={...A,...e};let n=[],r=[];A.fetchers.forEach((e,t)=>{e.state===`idle`&&(R.has(t)?n.push(t):r.push(t))}),R.forEach(e=>{!A.fetchers.has(e)&&!I.has(e)&&n.push(e)}),[...m].forEach(r=>r(A,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Fe(e)),r.forEach(e=>A.fetchers.delete(e))}function V(t,n,{flushSync:r}={}){let i=A.actionData!=null&&A.navigation.formMethod!=null&&X(A.navigation.formMethod)&&A.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?A.actionData:null;let o=n.loaderData?It(A.loaderData,n.loaderData,n.matches||[],n.errors):A.loaderData,c=A.blockers;c.size>0&&(c=new Map(c),c.forEach((e,t)=>c.set(t,We)));let l=ie?!1:et(t,n.matches||A.matches),u=te===!0||A.navigation.formMethod!=null&&X(A.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),ie||j===`POP`||(j===`PUSH`?e.history.push(t,t.state):j===`REPLACE`&&e.history.replace(t,t.state));let d;if(j===`POP`){let e=re.get(A.location.pathname);e&&e.has(t.pathname)?d={currentLocation:A.location,nextLocation:t}:re.has(t.pathname)&&(d={currentLocation:t,nextLocation:A.location})}else if(ne){let e=re.get(A.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),re.set(A.location.pathname,e)),d={currentLocation:A.location,nextLocation:t}}B({...n,actionData:a,loaderData:o,historyAction:j,location:t,initialized:!0,renderFallback:!1,navigation:He,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),j=`POP`,te=!1,ne=!1,ie=!1,ae=!1,N?.resolve(),N=null,he?.resolve(),he=null}async function ye(t,n){if(N?.resolve(),N=null,typeof t==`number`){N||=un();let n=N.promise;return e.history.go(t),n}let{path:r,submission:i,error:a}=nt(!1,tt(A.location,A.matches,c,t,n?.fromRouteId,n?.relative),n),o;n?.mask&&(o={pathname:``,search:``,hash:``,...typeof n.mask==`string`?v(n.mask):{...A.location.mask,...n.mask}});let s=A.location,l=g(s,r,n&&n.state,void 0,o);l={...l,...e.history.encodeLocation(l)};let u=n&&n.replace!=null?n.replace:void 0,d=`PUSH`;u===!0?d=`REPLACE`:u===!1||i!=null&&X(i.formMethod)&&i.formAction===A.location.pathname+A.location.search&&(d=`REPLACE`);let f=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,p=(n&&n.flushSync)===!0,m=Je({currentLocation:s,nextLocation:l,historyAction:d});if(m){qe(m,{state:`blocked`,location:l,proceed(){qe(m,{state:`proceeding`,proceed:void 0,reset:void 0,location:l}),ye(t,n)},reset(){let e=new Map(A.blockers);e.set(m,We),B({blockers:e})}});return}await U(d,l,{submission:i,pendingError:a,preventScrollReset:f,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:p,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate})}function H(){he||=un(),Me(),B({revalidation:`loading`});let e=he.promise;return A.navigation.state===`submitting`?e:A.navigation.state===`idle`?(U(A.historyAction,A.location,{startUninterruptedRevalidation:!0}),e):(U(j||A.historyAction,A.navigation.location,{overrideNavigation:A.navigation,enableViewTransition:ne===!0}),e)}async function U(t,n,r){P&&P.abort(),P=null,j=t,ie=(r&&r.startUninterruptedRevalidation)===!0,$e(A.location,A.matches),te=(r&&r.preventScrollReset)===!0,ne=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r&&r.overrideNavigation,o=r?.initialHydration&&A.matches&&A.matches.length>0&&!w?A.matches:M(i,n,c,!1,s.branches),l=(r&&r.flushSync)===!0;if(o&&A.initialized&&!ae&&Ht(A.location,n)&&!(r&&r.submission&&X(r.submission.formMethod))){V(n,{matches:o},{flushSync:l});return}let u=ot(o,i,n.pathname);if(u.active&&u.matches&&(o=u.matches),!o){let{error:e,notFoundMatches:t,route:r}=Ye(n.pathname);V(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:l});return}P=new AbortController;let d=At(e.history,n,P.signal,r&&r.submission),f=e.getContext?await e.getContext():new C,p;if(r&&r.pendingError)p=[Rt(o).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&X(r.submission.formMethod)){let t=await be(d,n,r.submission,o,f,u.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:l});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(Y(r)&&Te(r.error)&&r.error.status===404){P=null,V(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}o=t.matches||o,p=t.pendingActionResult,a=nn(n,r.submission),l=!1,u.active=!1,d=At(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_}=await xe(d,n,o,f,u.active,a,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,l,p,r&&r.callSiteDefaultShouldRevalidate);m||(P=null,V(n,{matches:h||o,...Lt(p),loaderData:g,errors:_}))}async function be(t,n,i,l,u,d,f,p={}){if(Me(),B({navigation:rn(n,i)},{flushSync:p.flushSync===!0}),d){let e=await st(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=zt(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=Rt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Ye(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let m,h=en(l,n);if(!h.route.action&&!h.route.lazy)m={type:`error`,error:J(405,{method:t.method,pathname:n.pathname,routeId:h.route.id})};else{let e=await W(t,n,St(a,o,t,n,l,h,f?[]:r,u),u,null);if(m=e[h.route.id],!m){for(let t of l)if(e[t.route.id]){m=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(qt(m)){let n;return n=p&&p.replace!=null?p.replace:kt(m.response.headers.get(`Location`),new URL(t.url),c,e.history)===A.location.pathname+A.location.search,await Oe(t,m,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(Y(m)){let e=Rt(l,h.route.id);return(p&&p.replace)!==!0&&(j=`PUSH`),{matches:l,pendingActionResult:[e.route.id,m,h.route.id]}}return{matches:l,pendingActionResult:[h.route.id,m]}}async function xe(t,n,i,l,u,d,f,p,m,h,g,_,v){let y=d||nn(n,f),b=f||p||tn(y),x=!ie&&!h;if(u){if(x){let e=Se(_);B({navigation:y,...e===void 0?{}:{actionData:e}},{flushSync:g})}let e=await st(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=zt(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=Rt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Ye(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let S=s.activeRoutes,{dsMatches:C,revalidatingFetchers:w}=rt(t,l,a,o,e.history,A,i,b,n,h?[]:r,h===!0,ae,oe,R,ue,L,S,c,e.patchRoutesOnNavigation!=null,s.branches,_,v);if(ce=++se,!e.dataStrategy&&!C.some(e=>e.shouldLoad)&&!C.some(e=>e.route.middleware&&e.route.middleware.length>0)&&w.length===0){let e=Re();return V(n,{matches:i,loaderData:{},errors:_&&Y(_[1])?{[_[0]]:_[1].error}:null,...Lt(_),...e?{fetchers:new Map(A.fetchers)}:{}},{flushSync:g}),{shortCircuited:!0}}if(x){let e={};if(!u){e.navigation=y;let t=Se(_);t!==void 0&&(e.actionData=t)}w.length>0&&(e.fetchers=Ce(w)),B(e,{flushSync:g})}w.forEach(e=>{q(e.key),e.controller&&I.set(e.key,e.controller)});let T=()=>w.forEach(e=>q(e.key));P&&P.signal.addEventListener(`abort`,T);let{loaderResults:E,fetcherResults:D}=await je(C,w,t,n,l);if(t.signal.aborted)return{shortCircuited:!0};P&&P.signal.removeEventListener(`abort`,T),w.forEach(e=>I.delete(e.key));let O=Bt(E);if(O)return await Oe(t,O.result,!0,{replace:m}),{shortCircuited:!0};if(O=Bt(D),O)return L.add(O.key),await Oe(t,O.result,!0,{replace:m}),{shortCircuited:!0};let{loaderData:k,errors:j}=Ft(A,i,E,_,w,D);h&&A.errors&&(j={...A.errors,...j});let M=Re(),ee=ze(ce),N=M||ee||w.length>0;return{matches:i,loaderData:k,errors:j,...N?{fetchers:new Map(A.fetchers)}:{}}}function Se(e){if(e&&!Y(e[1]))return{[e[0]]:e[1].data};if(A.actionData)return Object.keys(A.actionData).length===0?null:A.actionData}function Ce(e){return e.forEach(e=>{let t=A.fetchers.get(e.key),n=an(void 0,t?t.data:void 0);A.fetchers.set(e.key,n)}),new Map(A.fetchers)}async function we(t,n,r,i){q(t);let a=(i&&i.flushSync)===!0,o=s.activeRoutes,l=tt(A.location,A.matches,c,r,n,i?.relative),u=M(o,l,c,!1,s.branches),d=ot(u,o,l);if(d.active&&d.matches&&(u=d.matches),!u){K(t,n,J(404,{pathname:l}),{flushSync:a});return}let{path:f,submission:p,error:m}=nt(!0,l,i);if(m){K(t,n,m,{flushSync:a});return}let h=e.getContext?await e.getContext():new C,g=(i&&i.preventScrollReset)===!0;if(p&&X(p.formMethod)){await Ee(t,n,f,u,h,d.active,a,g,p,i&&i.defaultShouldRevalidate);return}ue.set(t,{routeId:n,path:f}),await De(t,n,f,u,h,d.active,a,g,p)}async function Ee(t,n,i,l,u,d,p,m,h,g){Me(),ue.delete(t),G(t,on(h,A.fetchers.get(t)),{flushSync:p});let _=new AbortController,v=At(e.history,i,_.signal,h);if(d){let e=await st(l,new URL(v.url).pathname,v.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){K(t,n,e.error,{flushSync:p});return}else if(e.matches)l=e.matches;else{K(t,n,J(404,{pathname:i}),{flushSync:p});return}}let y=en(l,i);if(!y.route.action&&!y.route.lazy){K(t,n,J(405,{method:h.formMethod,pathname:i,routeId:n}),{flushSync:p});return}I.set(t,_);let b=se,x=St(a,o,v,i,l,y,r,u),S=await W(v,i,x,u,t),C=S[y.route.id];if(!C){for(let e of x)if(S[e.route.id]){C=S[e.route.id];break}}if(v.signal.aborted){I.get(t)===_&&I.delete(t);return}if(R.has(t)){if(qt(C)||Y(C)){G(t,sn(void 0));return}}else{if(qt(C))if(I.delete(t),ce>b){G(t,sn(void 0));return}else return L.add(t),G(t,an(h)),Oe(v,C,!1,{fetcherSubmission:h,preventScrollReset:m});if(Y(C)){K(t,n,C.error);return}}let w=A.navigation.location||A.location,T=At(e.history,w,_.signal),E=s.activeRoutes,D=A.navigation.state===`idle`?A.matches:M(E,A.navigation.location,c,!1,s.branches);f(D,`Didn't find any matches after fetcher action`);let O=++se;le.set(t,O);let k=an(h,C.data);A.fetchers.set(t,k);let{dsMatches:ee,revalidatingFetchers:N}=rt(T,u,a,o,e.history,A,D,h,w,r,!1,ae,oe,R,ue,L,E,c,e.patchRoutesOnNavigation!=null,s.branches,[y.route.id,C],g);N.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=A.fetchers.get(t),r=an(void 0,n?n.data:void 0);A.fetchers.set(t,r),q(t),e.controller&&I.set(t,e.controller)}),B({fetchers:new Map(A.fetchers)});let te=()=>N.forEach(e=>q(e.key));_.signal.addEventListener(`abort`,te);let{loaderResults:ne,fetcherResults:re}=await je(ee,N,T,w,u);if(_.signal.aborted)return;if(_.signal.removeEventListener(`abort`,te),le.delete(t),I.delete(t),N.forEach(e=>I.delete(e.key)),A.fetchers.has(t)){let e=sn(C.data);A.fetchers.set(t,e)}let F=Bt(ne);if(F)return Oe(T,F.result,!1,{preventScrollReset:m});if(F=Bt(re),F)return L.add(F.key),Oe(T,F.result,!1,{preventScrollReset:m});let{loaderData:ie,errors:de}=Ft(A,D,ne,void 0,N,re);ze(O),A.navigation.state===`loading`&&O>ce?(f(j,`Expected pending action`),P&&P.abort(),V(A.navigation.location,{matches:D,loaderData:ie,errors:de,fetchers:new Map(A.fetchers)})):(B({errors:de,loaderData:It(A.loaderData,ie,D,de),fetchers:new Map(A.fetchers)}),ae=!1)}async function De(t,n,i,s,c,l,u,d,f){let p=A.fetchers.get(t);G(t,an(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=At(e.history,i,m.signal);if(l){let e=await st(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){K(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{K(t,n,J(404,{pathname:i}),{flushSync:u});return}}let g=en(s,i);I.set(t,m);let _=se,v=await W(h,i,St(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(I.get(t)===m&&I.delete(t),!h.signal.aborted){if(R.has(t)){G(t,sn(void 0));return}if(qt(y))if(ce>_){G(t,sn(void 0));return}else{L.add(t),await Oe(h,y,!1,{preventScrollReset:d});return}if(Y(y)){K(t,n,y.error);return}G(t,sn(y.data))}}async function Oe(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(N?.resolve(),N=null),i.response.headers.has(`X-Remix-Revalidate`)&&(ae=!0);let d=i.response.headers.get(`Location`);f(d,`Expected a Location header on the redirect Response`),d=kt(d,new URL(r.url),c,e.history);let p=g(A.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(me(d)){let n=b(d,!0);e=n.origin!==t.location.origin||z(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}P=null;let m=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:h,formAction:_,formEncType:v}=A.navigation;!o&&!s&&h&&_&&v&&(o=tn(A.navigation));let y=o||s;Ve.has(i.response.status)&&y&&X(y.formMethod)?await U(m,p,{submission:{...y,formAction:d},preventScrollReset:l||te,enableViewTransition:a?ne:void 0}):await U(m,p,{overrideNavigation:nn(p,o),fetcherSubmission:s,preventScrollReset:l||te,enableViewTransition:a?ne:void 0})}async function W(e,t,n,r,i){let a,o={};try{a=await Ct(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!X(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!A.loaderData.hasOwnProperty(e.route.id)&&(!A.errors||!A.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(Kt(r)){let i=r.result;o[t]={type:`redirect`,response:Dt(i,e,t,n,c)}}else o[t]=await Et(r);return o}async function je(e,t,n,r,i){let a=W(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await W(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:J(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Me(){ae=!0,ue.forEach((e,t)=>{I.has(t)&&oe.add(t),q(t)})}function G(e,t,n={}){A.fetchers.set(e,t),B({fetchers:new Map(A.fetchers)},{flushSync:(n&&n.flushSync)===!0})}function K(e,t,n,r={}){let i=Rt(A.matches,t);Fe(e),B({errors:{[i.route.id]:n},fetchers:new Map(A.fetchers)},{flushSync:(r&&r.flushSync)===!0})}function Ne(e){return de.set(e,(de.get(e)||0)+1),R.has(e)&&R.delete(e),A.fetchers.get(e)||Ue}function Pe(e,t){q(e,t?.reason),G(e,sn(null))}function Fe(e){let t=A.fetchers.get(e);I.has(e)&&!(t&&t.state===`loading`&&le.has(e))&&q(e),ue.delete(e),le.delete(e),L.delete(e),R.delete(e),oe.delete(e),A.fetchers.delete(e)}function Ie(e){let t=(de.get(e)||0)-1;t<=0?(de.delete(e),R.add(e)):de.set(e,t),B({fetchers:new Map(A.fetchers)})}function q(e,t){let n=I.get(e);n&&(n.abort(t),I.delete(e))}function Le(e){for(let t of e){let e=sn(Ne(t).data);A.fetchers.set(t,e)}}function Re(){let e=[],t=!1;for(let n of L){let r=A.fetchers.get(n);f(r,`Expected fetcher: ${n}`),r.state===`loading`&&(L.delete(n),e.push(n),t=!0)}return Le(e),t}function ze(e){let t=[];for(let[n,r]of le)if(r<e){let e=A.fetchers.get(n);f(e,`Expected fetcher: ${n}`),e.state===`loading`&&(q(n),le.delete(n),t.push(n))}return Le(t),t.length>0}function Be(e,t){let n=A.blockers.get(e)||We;return fe.get(e)!==t&&fe.set(e,t),n}function Ke(e){A.blockers.delete(e),fe.delete(e)}function qe(e,t){let n=A.blockers.get(e)||We;f(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(A.blockers);r.set(e,t),B({blockers:r})}function Je({currentLocation:e,nextLocation:t,historyAction:n}){if(fe.size===0)return;fe.size>1&&p(!1,`A router only supports one blocker at a time`);let r=Array.from(fe.entries()),[i,a]=r[r.length-1],o=A.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Ye(e){let t=J(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=zt(n);return{notFoundMatches:r,route:i,error:t}}function Xe(e,t,n){if(h=e,y=t,_=n||null,!x&&A.navigation===He){x=!0;let e=et(A.location,A.matches);e!=null&&B({restoreScrollPosition:e})}return()=>{h=null,y=null,_=null}}function Ze(e,t){return _&&_(e,t.map(e=>ee(e,A.loaderData)))||e.key}function $e(e,t){if(h&&y){let n=Ze(e,t);h[n]=y()}}function et(e,t){if(h){let n=Ze(e,t),r=h[n];if(typeof r==`number`)return r}return null}function ot(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:M(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:M(n,r,c,!0,e)}}return{active:!1,matches:null}}async function st(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||lt(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=M(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=M(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&ct(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=M(s.activeRoutes,n,c,!0,u),!f||ct(l,f))return{type:`success`,matches:null};l=f}}function ct(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function ut(e){o={},s.setHmrRoutes(k(e,a,void 0,o))}function dt(e,t,n=!1){lt(e,t,s,o,a,n),s.hasHMRRoutes||B({})}return O={get basename(){return c},get future(){return u},get state(){return A},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:ge,subscribe:ve,enableScrollRestoration:Xe,navigate:ye,fetch:we,revalidate:H,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Ne,resetFetcher:Pe,deleteFetcher:Ie,dispose:_e,getBlocker:Be,deleteBlocker:Ke,patchRoutes:dt,_internalFetchControllers:I,_internalSetRoutes:ut,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){B(e)}},e.instrumentations&&(O=Ae(O,e.instrumentations.map(e=>e.router).filter(Boolean))),O}function et(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function tt(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=V(r||`.`,B(o),z(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=$t(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=fe({basename:n,pathname:c.pathname})),_(c)}function nt(e,t,n){if(!n||!et(n))return{path:t};if(n.formMethod&&!Qt(n.formMethod))return{path:t,error:J(405,{method:n.formMethod})};let r=()=>({path:t,error:J(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=Vt(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!X(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}
2
- `,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!X(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}f(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=Mt(n.formData),s=n.formData;else if(n.body instanceof FormData)o=Mt(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=Nt(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=Nt(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(X(c.formMethod))return{path:t,submission:c};let l=v(t);return e&&l.search&&$t(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:_(l),submission:c}}function rt(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?Y(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&Y(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=Ee(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!it(s))f=!1;else if(u){let{shouldLoad:e}=at(s,a.loaderData,a.errors);f=e}else ot(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return xt(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?st(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p};return xt(n,r,e,c,k,i,l,t,ct(i,m),m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=M(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=en(b,e.path),C=new AbortController,w=At(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=St(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=St(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:D?!1:d;let a={...O,defaultShouldRevalidate:i};ct(S,a)&&(T=St(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function it(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function at(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!it(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function ot(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function st(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function ct(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function lt(e,t,n,r,i,a){let o;if(e){let t=r[e];f(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>ut(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=k(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=k([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function ut(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>ut(e,t)))??!1:!1}var dt=new WeakMap,ft=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(f(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=dt.get(i);o||(o={},dt.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=T(e),n=i[e]!==void 0&&e!==`hasErrorBoundary`;if(t)p(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)p(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},pt=new WeakMap;function mt(e,t,n,r,i){let a=n[e.id];if(f(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=pt.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{f(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=D(e),o=a[e]!==void 0&&e!==`hasErrorBoundary`;i?p(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?p(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return pt.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=ft({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function ht(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function gt(e){return e.matches.some(e=>e.route.middleware)?_t(e,()=>ht(e)):ht(e)}function _t(e,t){return vt(e,t,e=>{if(Zt(e))throw e;return e},Wt,n);function n(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:`error`,result:t}}));{let{matches:r}=e,i=Rt(r,r[Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0))].route.id).route.id;return Promise.resolve({[i]:{type:`error`,result:t}})}}}async function vt(e,t,n,r,i){let{matches:a,...o}=e;return await yt(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function yt(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await yt(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function bt(e,t,n,r,i){let a=ft({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=mt(r.route,X(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function xt(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=bt(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?ct(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?ct(a,{...l,defaultShouldRevalidate:e}):ct(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!X(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(X(n.method)||!p)?wt({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function St(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?xt(e,t,n,r,Ee(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:bt(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function Ct(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:jt(t,n),pattern:Ee(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return _t(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function wt({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=X(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:jt(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw J(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw J(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function Tt(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Et(e){let{result:t,type:n}=e;if(Yt(t)){let e;try{e=await Tt(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new we(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?Jt(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:Ut(t),statusCode:Te(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:Te(t)?t.status:void 0}:Jt(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function Dt(e,t,n,r,i){let a=e.headers.get(`Location`);if(f(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!me(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=tt(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var Ot=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function kt(e,t,n,r){if(me(e)){let r=e,i=r.startsWith(`//`)?new URL(t.protocol+r):new URL(r);if(Ot.includes(i.protocol))throw Error(`Invalid redirect location`);let a=z(i.pathname,n)!=null;if(i.origin===t.origin&&a)return ye(i.pathname)+i.search+i.hash}try{let t=r.createURL(e);if(Ot.includes(t.protocol))throw Error(`Invalid redirect location`)}catch{}return e}function At(e,t,n,r){let i=e.createURL(Vt(t)).toString(),a={signal:n};if(r&&X(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=Mt(r.formData):a.body=r.formData}return new Request(i,a)}function jt(e,t){let n=new URL(e.url),r=typeof t==`string`?v(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);n.search=e.size?`?${e.toString()}`:``}else n.search=``;return n.hash=r.hash||``,n}function Mt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function Nt(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Pt(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&Y(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,p=t[d];if(f(!qt(p),`Cannot handle redirect results in processLoaderData`),Y(p)){let t=p.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=Rt(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=qe),c||(c=!0,s=Te(p.error)?p.error.status:500),p.headers&&(l[d]=p.headers)}else a[d]=p.data,p.statusCode&&p.statusCode!==200&&!c&&(s=p.statusCode),p.headers&&(l[d]=p.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function Ft(e,t,n,r,i,a){let{loaderData:o,errors:s}=Pt(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let o=a[n];if(f(o,`Did not find corresponding fetcher result`),Y(o)){let t=Rt(e.matches,r?.route.id);s&&s[t.route.id]||(s={...s,[t.route.id]:o.error}),e.fetchers.delete(n)}else if(qt(o))f(!1,`Unhandled fetcher revalidation redirect`);else{let t=sn(o.data);e.fetchers.set(n,t)}}),{loaderData:o,errors:s}}function It(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==qe).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function Lt(e){return e?Y(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Rt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.hasErrorBoundary===!0)||e[0]}function zt(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function J(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new we(e||500,o,Error(s),!0)}function Bt(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(qt(r))return{key:n,result:r}}}function Vt(e){return _({...typeof e==`string`?v(e):e,hash:``})}function Ht(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function Ut(e){return new we(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function Wt(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Gt(t))}function Gt(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function Kt(e){return Yt(e.result)&&Be.has(e.result.status)}function Y(e){return e.type===`error`}function qt(e){return(e&&e.type)===`redirect`}function Jt(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function Yt(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function Xt(e){return Be.has(e)}function Zt(e){return Yt(e)&&Xt(e.status)&&e.headers.has(`Location`)}function Qt(e){return ze.has(e.toUpperCase())}function X(e){return Le.has(e.toUpperCase())}function $t(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function en(e,t){let n=typeof t==`string`?v(t).search:t.search;if(e[e.length-1].route.index&&$t(n||``))return e[e.length-1];let r=ve(e);return r[r.length-1]}function tn(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function nn(e,t){return t?{state:`loading`,location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:`loading`,location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function rn(e,t){return{state:`submitting`,location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function an(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function on(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function sn(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function cn(e,t){try{let n=e.sessionStorage.getItem(Ke);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function ln(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Ke,JSON.stringify(n))}catch(e){p(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function un(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var dn=r.createContext(null);dn.displayName=`DataRouter`;var fn=r.createContext(null);fn.displayName=`DataRouterState`;var pn=r.createContext(!1);function mn(){return r.useContext(pn)}var hn=r.createContext({isTransitioning:!1});hn.displayName=`ViewTransition`;var gn=r.createContext(new Map);gn.displayName=`Fetchers`;var _n=r.createContext(null);_n.displayName=`Await`;var Z=r.createContext(null);Z.displayName=`Navigation`;var vn=r.createContext(null);vn.displayName=`Location`;var Q=r.createContext({outlet:null,matches:[],isDataRoute:!1});Q.displayName=`Route`;var yn=r.createContext(null);yn.displayName=`RouteError`;var bn=`REACT_ROUTER_ERROR`,xn=`REDIRECT`,Sn=`ROUTE_ERROR_RESPONSE`;function Cn(e){if(e.startsWith(`${bn}:${xn}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function wn(e){if(e.startsWith(`${bn}:${Sn}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new we(t.status,t.statusText,t.data)}catch{}}function Tn(e,{relative:t}={}){f(En(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:i}=r.useContext(Z),{hash:a,pathname:o,search:s}=Fn(e,{relative:t}),c=o;return n!==`/`&&(c=o===`/`?n:H([n,o])),i.createHref({pathname:c,search:s,hash:a})}function En(){return r.useContext(vn)!=null}function $(){return f(En(),`useLocation() may be used only in the context of a <Router> component.`),r.useContext(vn).location}function Dn(){return r.useContext(vn).navigationType}var On=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function kn(e){r.useContext(Z).static||r.useLayoutEffect(e)}function An(){let{isDataRoute:e}=r.useContext(Q);return e?$n():jn()}function jn(){f(En(),`useNavigate() may be used only in the context of a <Router> component.`);let e=r.useContext(dn),{basename:t,navigator:n}=r.useContext(Z),{matches:i}=r.useContext(Q),{pathname:a}=$(),o=JSON.stringify(B(i)),s=r.useRef(!1);return kn(()=>{s.current=!0}),r.useCallback((r,i={})=>{if(p(s.current,On),!s.current)return;if(typeof r==`number`){n.go(r);return}let c=V(r,JSON.parse(o),a,i.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:H([t,c.pathname])),(i.replace?n.replace:n.push)(c,i.state,i)},[t,n,o,a,e])}var Mn=r.createContext(null);function Nn(e){let t=r.useContext(Q).outlet;return r.useMemo(()=>t&&r.createElement(Mn.Provider,{value:e},t),[t,e])}function Pn(){let{matches:e}=r.useContext(Q);return e[e.length-1]?.params??{}}function Fn(e,{relative:t}={}){let{matches:n}=r.useContext(Q),{pathname:i}=$(),a=JSON.stringify(B(n));return r.useMemo(()=>V(e,JSON.parse(a),i,t===`path`),[e,a,i,t])}function In(e,t,n){f(En(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:i}=r.useContext(Z),{matches:a}=r.useContext(Q),o=a[a.length-1],s=o?o.params:{},c=o?o.pathname:`/`,l=o?o.pathnameBase:`/`,u=o&&o.route;{let e=u&&u.path||``;tr(c,!u||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
3
-
4
- Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let d=$(),m;if(t){let e=typeof t==`string`?v(t):t;f(l===`/`||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),m=e}else m=d;let h=m.pathname||`/`,g=h;if(l!==`/`){let e=l.replace(/^\//,``).split(`/`);g=`/`+h.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let _=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):j(e,{pathname:g});p(u||_!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),p(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let y=Un(_&&_.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:H([l,i.encodeLocation?i.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?l:H([l,i.encodeLocation?i.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),a,n);return t&&y?r.createElement(vn.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...m},navigationType:`POP`}},y):y}function Ln(){let e=Qn(),t=Te(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i=`rgba(200,200,200, 0.5)`,a={padding:`0.5rem`,backgroundColor:i},o={padding:`2px 4px`,backgroundColor:i},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=r.createElement(r.Fragment,null,r.createElement(`p`,null,`💿 Hey developer 👋`),r.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,r.createElement(`code`,{style:o},`ErrorBoundary`),` or`,` `,r.createElement(`code`,{style:o},`errorElement`),` prop on your route.`)),r.createElement(r.Fragment,null,r.createElement(`h2`,null,`Unexpected Application Error!`),r.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?r.createElement(`pre`,{style:a},n):null,s)}var Rn=r.createElement(Ln,null),zn=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=wn(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:r.createElement(Q.Provider,{value:this.props.routeContext},r.createElement(yn.Provider,{value:e,children:this.props.component}));return this.context?r.createElement(Vn,{error:e},t):t}};zn.contextType=pn;var Bn=new WeakMap;function Vn({children:e,error:t}){let{basename:n}=r.useContext(Z);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Cn(t.digest);if(e){let i=Bn.get(t);if(i)throw i;let a=Oe(e.location,n);if(De&&!Bn.get(t))if(a.isExternal||e.reloadDocument)window.location.href=a.absoluteURL||a.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw Bn.set(t,n),n}return r.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a.absoluteURL||a.to}`})}}return e}function Hn({routeContext:e,match:t,children:n}){let i=r.useContext(dn);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(Q.Provider,{value:e},n)}function Un(e,t=[],n){let i=n?.state;if(e==null){if(!i)return null;if(i.errors)e=i.matches;else if(t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let a=e,o=i?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);f(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(n&&i){s=i.renderFallback;for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:r}=i,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||r[t.route.id]===void 0);if(t.route.lazy||o){n.isStatic&&(s=!0),a=c>=0?a.slice(0,c+1):[a[0]];break}}}}let l=n?.onError,u=i&&l?(e,t)=>{l(e,{location:i.location,params:i.matches?.[0]?.params??{},pattern:Ee(i.matches),errorInfo:t})}:void 0;return a.reduceRight((e,n,l)=>{let d,f=!1,p=null,m=null;i&&(d=o&&n.route.id?o[n.route.id]:void 0,p=n.route.errorElement||Rn,s&&(c<0&&l===0?(tr(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===l&&(f=!0,m=n.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,l+1)),g=()=>{let t;return t=d?p:f?m:n.route.Component?r.createElement(n.route.Component,null):n.route.element?n.route.element:e,r.createElement(Hn,{match:n,routeContext:{outlet:e,matches:h,isDataRoute:i!=null},children:t})};return i&&(n.route.ErrorBoundary||n.route.errorElement||l===0)?r.createElement(zn,{location:i.location,revalidation:i.revalidation,component:p,error:d,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:u}):g()},null)}function Wn(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Gn(e){let t=r.useContext(dn);return f(t,Wn(e)),t}function Kn(e){let t=r.useContext(fn);return f(t,Wn(e)),t}function qn(e){let t=r.useContext(Q);return f(t,Wn(e)),t}function Jn(e){let t=qn(e),n=t.matches[t.matches.length-1];return f(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Yn(){return Jn(`useRouteId`)}function Xn(){return Kn(`useNavigation`).navigation}function Zn(){let{matches:e,loaderData:t}=Kn(`useMatches`);return r.useMemo(()=>e.map(e=>ee(e,t)),[e,t])}function Qn(){let e=r.useContext(yn),t=Kn(`useRouteError`),n=Jn(`useRouteError`);return e===void 0?t.errors?.[n]:e}function $n(){let{router:e}=Gn(`useNavigate`),t=Jn(`useNavigate`),n=r.useRef(!1);return kn(()=>{n.current=!0}),r.useCallback(async(r,i={})=>{p(n.current,On),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var er={};function tr(e,t,n){!t&&!er[e]&&(er[e]=!0,p(!1,n))}var nr={};function rr(e,t){!e&&!nr[t]&&(nr[t]=!0,console.warn(t))}var ir=r.useOptimistic,ar=()=>void 0;function or(e){return ir?ir(e):[e,ar]}function sr(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&p(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:r.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&p(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:r.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&p(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:r.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var cr=[`HydrateFallback`,`hydrateFallbackElement`],lr=class{constructor(){this.status=`pending`,this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function ur({router:e,flushSync:t,onError:n,useTransitions:i}){i=mn()||i;let[a,o]=r.useState(e.state),[s,c]=or(a),[l,u]=r.useState(),[d,f]=r.useState({isTransitioning:!1}),[p,m]=r.useState(),[h,g]=r.useState(),[_,v]=r.useState(),y=r.useRef(new Map),b=r.useCallback((a,{deletedFetchers:s,newErrors:l,flushSync:d,viewTransitionOpts:_})=>{l&&n&&Object.values(l).forEach(e=>n(e,{location:a.location,params:a.matches[0]?.params??{},pattern:Ee(a.matches)})),a.fetchers.forEach((e,t)=>{e.data!==void 0&&y.current.set(t,e.data)}),s.forEach(e=>y.current.delete(e)),rr(d===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let b=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(rr(_==null||b,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!_||!b){t&&d?t(()=>o(a)):i===!1?o(a):r.startTransition(()=>{i===!0&&c(e=>dr(e,a)),o(a)});return}if(t&&d){t(()=>{h&&(p?.resolve(),h.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:_.currentLocation,nextLocation:_.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>o(a))});n.finished.finally(()=>{t(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})})}),t(()=>g(n));return}h?(p?.resolve(),h.skipTransition(),v({state:a,currentLocation:_.currentLocation,nextLocation:_.nextLocation})):(u(a),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}))},[e.window,t,h,p,i,c,n]);r.useLayoutEffect(()=>e.subscribe(b),[e,b]);let x=s.initialized;r.useLayoutEffect(()=>{!x&&e.state.initialized&&b(e.state,{deletedFetchers:[],flushSync:!1,newErrors:null})},[x,b,e.state]),r.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new lr)},[d]),r.useEffect(()=>{if(p&&l&&e.window){let t=l,n=p.promise,a=e.window.document.startViewTransition(async()=>{i===!1?o(t):r.startTransition(()=>{i===!0&&c(e=>dr(e,t)),o(t)}),await n});a.finished.finally(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})}),g(a)}},[l,p,e.window,i,c]),r.useEffect(()=>{p&&l&&s.location.key===l.location.key&&p.resolve()},[p,h,s.location,l]),r.useEffect(()=>{!d.isTransitioning&&_&&(u(_.state),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}),v(void 0))},[d.isTransitioning,_]);let S=r.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),C=e.basename||`/`,w=r.useMemo(()=>({router:e,navigator:S,static:!1,basename:C,onError:n}),[e,S,C,n]);return r.createElement(r.Fragment,null,r.createElement(dn.Provider,{value:w},r.createElement(fn.Provider,{value:s},r.createElement(gn.Provider,{value:y.current},r.createElement(hn.Provider,{value:d},r.createElement(gr,{basename:C,location:s.location,navigationType:s.historyAction,navigator:S,useTransitions:i},r.createElement(fr,{routes:e.routes,manifest:e.manifest,future:e.future,state:s,isStatic:!1,onError:n})))))),null)}function dr(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var fr=r.memo(pr);function pr({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return In(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function mr({to:e,replace:t,state:n,relative:i}){f(En(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:a}=r.useContext(Z);p(!a,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:o}=r.useContext(Q),{pathname:s}=$(),c=An(),l=V(e,B(o),s,i===`path`),u=JSON.stringify(l);return r.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:i})},[c,u,i,t,n]),null}function hr(e){return Nn(e.context)}function gr({basename:e=`/`,children:t=null,location:n,navigationType:i=`POP`,navigator:a,static:o=!1,useTransitions:s}){f(!En(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let c=e.replace(/^\/*/,`/`),l=r.useMemo(()=>({basename:c,navigator:a,static:o,useTransitions:s,future:{}}),[c,a,o,s]);typeof n==`string`&&(n=v(n));let{pathname:u=`/`,search:d=``,hash:m=``,state:h=null,key:g=`default`,mask:_}=n,y=r.useMemo(()=>{let e=z(u,c);return e==null?null:{location:{pathname:e,search:d,hash:m,state:h,key:g,mask:_},navigationType:i}},[c,u,d,m,h,g,i,_]);return p(y!=null,`<Router basename="${c}"> is not able to match the URL "${u}${d}${m}" because it does not start with the basename, so the <Router> won't render anything.`),y==null?null:r.createElement(Z.Provider,{value:l},r.createElement(vn.Provider,{children:t,value:y}))}r.Component;var _r=`get`,vr=`application/x-www-form-urlencoded`;function yr(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function br(e){return yr(e)&&e.tagName.toLowerCase()===`button`}function xr(e){return yr(e)&&e.tagName.toLowerCase()===`form`}function Sr(e){return yr(e)&&e.tagName.toLowerCase()===`input`}function Cr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function wr(e,t){return e.button===0&&(!t||t===`_self`)&&!Cr(e)}function Tr(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function Er(e,t){let n=Tr(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Dr=null;function Or(){if(Dr===null)try{new FormData(document.createElement(`form`),0),Dr=!1}catch{Dr=!0}return Dr}var kr=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Ar(e){return e!=null&&!kr.has(e)?(p(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${vr}"`),null):e}function jr(e,t){let n,r,i,a,o;if(xr(e)){let o=e.getAttribute(`action`);r=o?z(o,t):null,n=e.getAttribute(`method`)||_r,i=Ar(e.getAttribute(`enctype`))||vr,a=new FormData(e)}else if(br(e)||Sr(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?z(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||_r,i=Ar(e.getAttribute(`formenctype`))||Ar(o.getAttribute(`enctype`))||vr,a=new FormData(o,e),!Or()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(yr(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=_r,r=null,i=vr,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Mr={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Nr=/[&><\u2028\u2029]/g;function Pr(e){return e.replace(Nr,e=>Mr[e])}function Fr(e,t){if(e===!1||e==null)throw Error(t)}function Ir(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&z(i.pathname,t)===`/`?i.pathname=`${U(t)}/_root.${r}`:i.pathname=`${U(i.pathname)}.${r}`,i}async function Lr(e,t){if(e.id in t)return t[e.id];try{let r=await n(()=>import(e.module),[]);return t[e.id]=r,r}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Rr(e){return e!=null&&typeof e.page==`string`}function zr(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Br(e,t,n){return Gr((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Lr(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(zr).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Vr(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Hr(e,t,{includeHydrateFallback:n}={}){return Ur(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Ur(e){return[...new Set(e)]}function Wr(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Gr(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Rr(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Wr(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Kr(){let e=r.useContext(dn);return Fr(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function qr(){let e=r.useContext(fn);return Fr(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Jr=r.createContext(void 0);Jr.displayName=`FrameworkContext`;function Yr(){let e=r.useContext(Jr);return Fr(e,`You must render this element inside a <HydratedRouter> element`),e}function Xr(e,t){let n=r.useContext(Jr),[i,a]=r.useState(!1),[o,s]=r.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=r.useRef(null);r.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(i){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[i]);let m=()=>{a(!0)},h=()=>{a(!1),s(!1)};return n?e===`intent`?[o,p,{onFocus:Zr(c,m),onBlur:Zr(l,h),onMouseEnter:Zr(u,m),onMouseLeave:Zr(d,h),onTouchStart:Zr(f,m)}]:[o,p,{}]:[!1,p,{}]}function Zr(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Qr({page:e,...t}){let n=mn(),{router:i}=Kr(),a=r.useMemo(()=>j(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?n?r.createElement(ei,{page:e,matches:a,...t}):r.createElement(ti,{page:e,matches:a,...t}):null}function $r(e){let{manifest:t,routeModules:n}=Yr(),[i,a]=r.useState([]);return r.useEffect(()=>{let r=!1;return Br(e,t,n).then(e=>{r||a(e)}),()=>{r=!0}},[e,t,n]),i}function ei({page:e,matches:t,...n}){let i=$(),{future:a}=Yr(),{basename:o}=Kr(),s=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=Ir(e,o,a.unstable_trailingSlashAwareDataRequests,`rsc`),r=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?r=!0:s.push(e.route.id);return r&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[o,a.unstable_trailingSlashAwareDataRequests,e,i,t]);return r.createElement(r.Fragment,null,s.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function ti({page:e,matches:t,...n}){let i=$(),{future:a,manifest:o,routeModules:s}=Yr(),{basename:c}=Kr(),{loaderData:l,matches:u}=qr(),d=r.useMemo(()=>Vr(e,t,u,o,i,`data`),[e,t,u,o,i]),f=r.useMemo(()=>Vr(e,t,u,o,i,`assets`),[e,t,u,o,i]),p=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),n.size===0)return[];let u=Ir(e,c,a.unstable_trailingSlashAwareDataRequests,`data`);return r&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,a.unstable_trailingSlashAwareDataRequests,l,i,o,d,t,e,s]),m=r.useMemo(()=>Hr(f,o),[f,o]),h=$r(f);return r.createElement(r.Fragment,null,p.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),m.map(e=>r.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),h.map(({key:e,link:t})=>r.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function ni(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}r.Component;var ri=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{ri&&(window.__reactRouterVersion=`7.15.0`)}catch{}function ii(e,t){return $e({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:d({window:t?.window}),hydrationData:t?.hydrationData||ai(),routes:e,mapRouteProperties:sr,hydrationRouteProperties:cr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function ai(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:oi(e.errors)}),e}function oi(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new we(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(r.__subType){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}function si({basename:e,children:t,history:n,useTransitions:i}){let[a,o]=r.useState({action:n.action,location:n.location}),s=r.useCallback(e=>{i===!1?o(e):r.startTransition(()=>o(e))},[i]);return r.useLayoutEffect(()=>n.listen(s),[n,s]),r.createElement(gr,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:n,useTransitions:i})}si.displayName=`unstable_HistoryRouter`;var ci=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,li=r.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:i,reloadDocument:a,replace:o,mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,useTransitions:v}=r.useContext(Z),y=typeof u==`string`&&ci.test(u),b=Oe(u,g);u=b.to;let x=Tn(u,{relative:i}),S=$(),C=null;if(s){let e=V(s,[],S.mask?S.mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:H([g,e.pathname])),C=_.createHref(e)}let[w,T,E]=Xr(n,m),D=gi(u,{replace:o,mask:s,state:c,target:l,preventScrollReset:d,relative:i,viewTransition:f,defaultShouldRevalidate:p,useTransitions:v});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||a),A=r.createElement(`a`,{...m,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:ni(h,T),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?r.createElement(r.Fragment,null,A,r.createElement(Qr,{page:x})):A});li.displayName=`Link`;var ui=r.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:i=!1,style:a,to:o,viewTransition:s,children:c,...l},u){let d=Fn(o,{relative:l.relative}),f=$(),p=r.useContext(fn),{navigator:m,basename:h}=r.useContext(Z),g=p!=null&&Di(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=z(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!i&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!i&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let E=typeof a==`function`?a(C):a;return r.createElement(li,{...l,"aria-current":w,className:T,ref:u,style:E,to:o,viewTransition:s},typeof c==`function`?c(C):c)});ui.displayName=`NavLink`;var di=r.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:i,replace:a,state:o,method:s=_r,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h)=>{let{useTransitions:g}=r.useContext(Z),_=bi(),v=xi(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&ci.test(c);return r.createElement(`form`,{ref:h,method:y,action:v,onSubmit:i?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let i=e.nativeEvent.submitter,c=i?.getAttribute(`formmethod`)||s,m=()=>_(i||e.currentTarget,{fetcherKey:t,method:c,navigate:n,replace:a,state:o,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p});g&&n!==!1?r.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});di.displayName=`Form`;function fi({getKey:e,storageKey:t,...n}){let i=r.useContext(Jr),{basename:a}=r.useContext(Z),o=$(),s=Zn();Ti({getKey:e,storageKey:t});let c=r.useMemo(()=>{if(!i||!e)return null;let t=wi(o,s,a,e);return t===o.key?null:t},[]);if(!i||i.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return r.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${Pr(JSON.stringify(t||Si))}, ${Pr(JSON.stringify(c))})`}})}fi.displayName=`ScrollRestoration`;function pi(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function mi(e){let t=r.useContext(dn);return f(t,pi(e)),t}function hi(e){let t=r.useContext(fn);return f(t,pi(e)),t}function gi(e,{target:t,replace:n,mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l,useTransitions:u}={}){let d=An(),f=$(),p=Fn(e,{relative:s});return r.useCallback(m=>{if(wr(m,t)){m.preventDefault();let t=n===void 0?_(f)===_(p):n,h=()=>d(e,{replace:t,mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l});u?r.startTransition(()=>h()):h()}},[f,d,p,n,i,a,t,e,o,s,c,l,u])}function _i(e){p(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=r.useRef(Tr(e)),n=r.useRef(!1),i=$(),a=r.useMemo(()=>Er(i.search,n.current?null:t.current),[i.search]),o=An();return[a,r.useCallback((e,t)=>{let r=Tr(typeof e==`function`?e(new URLSearchParams(a)):e);n.current=!0,o(`?`+r,t)},[o,a])]}var vi=0,yi=()=>`__${String(++vi)}__`;function bi(){let{router:e}=mi(`useSubmit`),{basename:t}=r.useContext(Z),n=Yn(),i=e.fetch,a=e.navigate;return r.useCallback(async(e,r={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=jr(e,t);r.navigate===!1?await i(r.fetcherKey||yi(),n,r.action||o,{defaultShouldRevalidate:r.defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,flushSync:r.flushSync}):await a(r.action||o,{defaultShouldRevalidate:r.defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,replace:r.replace,state:r.state,fromRouteId:n,flushSync:r.flushSync,viewTransition:r.viewTransition})},[i,a,t,n])}function xi(e,{relative:t}={}){let{basename:n}=r.useContext(Z),i=r.useContext(Q);f(i,`useFormAction must be used inside a RouteContext`);let[a]=i.matches.slice(-1),o={...Fn(e||`.`,{relative:t})},s=$();if(e==null){o.search=s.search;let e=new URLSearchParams(o.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();o.search=n?`?${n}`:``}}return(!e||e===`.`)&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(o.pathname=o.pathname===`/`?n:H([n,o.pathname])),_(o)}var Si=`react-router-scroll-positions`,Ci={};function wi(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:z(e.pathname,n)||e.pathname},t)),i??=e.key,i}function Ti({getKey:e,storageKey:t}={}){let{router:n}=mi(`useScrollRestoration`),{restoreScrollPosition:i,preventScrollReset:a}=hi(`useScrollRestoration`),{basename:o}=r.useContext(Z),s=$(),c=Zn(),l=Xn();r.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),Ei(r.useCallback(()=>{if(l.state===`idle`){let t=wi(s,c,o,e);Ci[t]=window.scrollY}try{sessionStorage.setItem(t||Si,JSON.stringify(Ci))}catch(e){p(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[l.state,e,o,s,c,t])),typeof document<`u`&&(r.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||Si);e&&(Ci=JSON.parse(e))}catch{}},[t]),r.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(Ci,()=>window.scrollY,e?(t,n)=>wi(t,n,o,e):void 0);return()=>t&&t()},[n,o,e]),r.useLayoutEffect(()=>{if(i!==!1){if(typeof i==`number`){window.scrollTo(0,i);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{p(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[s,i,a]))}function Ei(e,t){let{capture:n}=t||{};r.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function Di(e,{relative:t}={}){let n=r.useContext(hn);f(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=mi(`useViewTransitionState`),a=Fn(e,{relative:t});if(!n.isTransitioning)return!1;let o=z(n.currentLocation.pathname,i)||n.currentLocation.pathname,s=z(n.nextLocation.pathname,i)||n.nextLocation.pathname;return ue(a.pathname,s)!=null||ue(a.pathname,o)!=null}export{ii as a,j as c,An as d,Dn as f,_i as h,ur as i,Ce as l,Qn as m,mr as n,x as o,Pn as p,hr as r,Te as s,li as t,$ as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`circle-minus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]);export{t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./create-selectors-sLdtxUZQ.js";import{i as n,r,s as i}from"./feature-flag-catalog-DWnmasL0.js";var a=`vellum:ff:`,o=`vellum:ff-str:`;function s(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(r)){let n=localStorage.getItem(a+t);n!==null&&(e[t]=n===`true`)}}catch{}return e}function c(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(n)){let n=localStorage.getItem(o+t);n!==null&&(e[t]=n)}}catch{}return e}var l=s(),u=c(),d=i(`client`);function f(){return{...r,...s(),...d.bool}}function p(){return{...n,...c(),...d.str}}function m(e,t){return e===null||t===null||e===t}var h=t(e()(e=>{let t=e;return{...r,...l,...d.bool,stringFlags:{...n,...u,...d.str},hydrated:!1,scopeKey:null,setFlags:(t,n)=>e(e=>{if(!m(e.scopeKey,n))return e;let r=s(),i={...t,...r,...d.bool};return Object.keys(i).some(t=>i[t]!==e[t])?{...i,hydrated:!0}:e.hydrated?e:{hydrated:!0}}),beginScope:e=>t(t=>t.scopeKey===e?t:{...f(),stringFlags:p(),hydrated:!1,scopeKey:e}),settleWithoutServerValues:t=>e(e=>e.hydrated||!m(e.scopeKey,t)?e:{...f(),hydrated:!0}),setFlag:(t,n)=>{try{localStorage.setItem(a+t,String(n))}catch{}e({[t]:d.bool[t]??n})},clearOverride:t=>{try{localStorage.removeItem(a+t)}catch{}let n=d.bool[t]??r[t];n!==void 0&&e({[t]:n})},setStringFlags:(e,n)=>t(t=>{if(!m(t.scopeKey,n))return t;let r=c(),i={...e,...r,...d.str},a=t.stringFlags;return Object.keys(i).some(e=>i[e]!==a[e])?{stringFlags:i}:t}),setStringFlag:(e,n)=>{try{localStorage.setItem(o+e,n)}catch{}t(t=>({stringFlags:{...t.stringFlags,[e]:d.str[e]??n}}))},clearStringOverride:e=>{try{localStorage.removeItem(o+e)}catch{}let r=d.str[e]??n[e];t(t=>({stringFlags:{...t.stringFlags,[e]:r??``}}))}}}));export{h as t};
@@ -1 +0,0 @@
1
- import{c as e,l as t,r as n}from"./platform-detection-DUeD4WFO.js";import{t as r}from"./consent-cuDRWUkB.js";import{i,t as a}from"./ingest-OJG7HVUh.js";var o=null;function s(){return o??=i(),o}var c=null;function l(e){c=e}function u(){return t()?`ios_native`:e()?`android_native`:`web`}function d(e,t,o){if(!(typeof window>`u`))try{if(!r())return;a([{type:`watchdog`,daemon_event_id:i(),recorded_at:Date.now(),check_name:e,value:Math.round(t),detail:{page_load_id:s(),surface:u(),os:n(),...c===null?{}:{boot_id:c},...o}}])}catch{}}export{l as n,d as t};
@@ -1,6 +0,0 @@
1
- var e={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function t({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
2
- `);let a=p.split(`
3
-
4
- `);p=a.pop()??``;for(let e of a){let t=e.split(`
5
- `),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
6
- `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var n=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},r=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},i=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},a=({allowReserved:e,explode:t,name:i,style:a,value:s})=>{if(!t){let t=(e?s:s.map(e=>encodeURIComponent(e))).join(r(a));switch(a){case`label`:return`.${t}`;case`matrix`:return`;${i}=${t}`;case`simple`:return t;default:return`${i}=${t}`}}let c=n(a),l=s.map(t=>a===`label`||a===`simple`?e?t:encodeURIComponent(t):o({allowReserved:e,name:i,value:t})).join(c);return a===`label`||a===`matrix`?c+l:l},o=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},s=({allowReserved:e,explode:t,name:n,style:r,value:a,valueOnly:s})=>{if(a instanceof Date)return s?a.toISOString():`${n}=${a.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(a).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let i=t.join(`,`);switch(r){case`form`:return`${n}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${n}=${i}`;default:return i}}let c=i(r),l=Object.entries(a).map(([t,i])=>o({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(c);return r===`label`||r===`matrix`?c+l:l},c=/\{[^{}]+\}/g,l=({path:e,url:t})=>{let n=t,r=t.match(c);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),c=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),c=`label`):i.startsWith(`;`)&&(i=i.substring(1),c=`matrix`);let l=e[i];if(l==null)continue;if(Array.isArray(l)){n=n.replace(t,a({explode:r,name:i,style:c,value:l}));continue}if(typeof l==`object`){n=n.replace(t,s({explode:r,name:i,style:c,value:l,valueOnly:!0}));continue}if(c===`matrix`){n=n.replace(t,`;${o({name:i,value:l})}`);continue}let u=encodeURIComponent(c===`label`?`.${l}`:l);n=n.replace(t,u)}return n},u=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=l({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function d(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var f=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},p=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let c=n[i];if(c==null)continue;let l=e[i]||t;if(Array.isArray(c)){let e=a({allowReserved:l.allowReserved,explode:!0,name:i,style:`form`,value:c,...l.array});e&&r.push(e)}else if(typeof c==`object`){let e=s({allowReserved:l.allowReserved,explode:!0,name:i,style:`deepObject`,value:c,...l.object});e&&r.push(e)}else{let e=o({allowReserved:l.allowReserved,name:i,value:c});e&&r.push(e)}}return r.join(`&`)},m=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},h=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,g=async({security:e,...t})=>{for(let n of e){if(h(t,n.name))continue;let e=await f(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},_=e=>u({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:p(e.querySerializer),url:e.url}),v=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=b(e.headers,t.headers),n},y=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},b=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?y(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},x=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},S=()=>({error:new x,request:new x,response:new x}),C=p({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),w={"Content-Type":`application/json`},T=(t={})=>({...e,headers:w,parseAs:`auto`,querySerializer:C,...t}),E=((e={})=>{let n=v(T(),e),r=()=>({...n}),i=e=>(n=v(n,e),r()),a=S(),o=async e=>{let t={...n,...e,fetch:e.fetch??n.fetch??globalThis.fetch,headers:b(n.headers,e.headers),serializedBody:void 0};t.security&&await g({...t,security:t.security}),t.requestValidator&&await t.requestValidator(t),t.body!==void 0&&t.bodySerializer&&(t.serializedBody=t.bodySerializer(t.body)),(t.body===void 0||t.serializedBody===``)&&t.headers.delete(`Content-Type`);let r=t;return{opts:r,url:_(r)}},s=async e=>{let t=e.throwOnError??n.throwOnError,r=e.responseStyle??n.responseStyle,i,s;try{let{opts:t,url:n}=await o(e),r={redirect:`follow`,...t,body:d(t)};i=new Request(n,r);for(let e of a.request.fns)e&&(i=await e(i,t));let c=t.fetch;s=await c(i);for(let e of a.response.fns)e&&(s=await e(s,i,t));let l={request:i,response:s};if(s.ok){let e=(t.parseAs===`auto`?m(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),f;try{f=JSON.parse(u)}catch{}throw f??u}catch(n){let o=n;for(let t of a.error.fns)t&&(o=await t(o,s,i,e));if(o||={},t)throw o;return r===`data`?void 0:{error:o,request:i,response:s}}},c=e=>t=>s({...t,method:e}),l=e=>async n=>{let{opts:r,url:i}=await o(n);return t({...r,body:r.body,method:e,onRequest:async(e,t)=>{let n=new Request(e,t);for(let e of a.request.fns)e&&(n=await e(n,r));return n},serializedBody:d(r),url:i})};return{buildUrl:e=>_({...n,...e}),connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),getConfig:r,head:c(`HEAD`),interceptors:a,options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),request:s,setConfig:i,sse:{connect:l(`CONNECT`),delete:l(`DELETE`),get:l(`GET`),head:l(`HEAD`),options:l(`OPTIONS`),patch:l(`PATCH`),post:l(`POST`),put:l(`PUT`),trace:l(`TRACE`)},trace:c(`TRACE`)}})(T());export{E as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`clipboard-copy`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`,key:`4jdomd`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`,key:`3hqy98`}],[`path`,{d:`M21 14H11`,key:`1bme5i`}],[`path`,{d:`m15 10-4 4 4 4`,key:`5dvupr`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`cloud-off`,[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]);export{t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./bundle-mjs-CctC_00U.js";var n=t({extend:{classGroups:{"font-size":[{text:[`title-large`,`title-medium`,`title-small`,`body-large-default`,`body-large-lighter`,`body-medium-default`,`body-medium-lighter`,`body-small-lighter`,`body-small-default`,`body-small-emphasised`,`label-medium-default`,`label-small-default`,`chat`]}]}}});function r(...t){return n(e(t))}export{r as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CMfEC_aW.js";var t=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]);export{t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{G as r,t as i}from"./button-B1kEAcLt.js";import{t as a}from"./jsx-runtime-COOF1INC.js";import{t as o}from"./typography-SdxpXI_m.js";import{n as s}from"./list-row-BvCm9O6y.js";import{t as c}from"./loader-circle-DZ65N8bz.js";import{t as l}from"./search-DYHr3LM9.js";import{t as u}from"./x-nhRPd-Mz.js";import"./src-BKET5Cno.js";import{g as d}from"./platform-detection-DUeD4WFO.js";import{n as f}from"./use-is-mobile-DYVRtRin.js";import{n as p}from"./pointer-DktxhCd8.js";import{n as m,t as h}from"./proxy-CROyCGs8.js";import{t as g}from"./AnimatePresence-BkWQRluv.js";import{t as _}from"./use-reduced-motion-CVyEdyEe.js";var v=e(n(),1),y=e(r(),1),b=a();function x(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function S(e,t){let n=[...new Set(t??[])].filter(e=>e.length>0).sort((e,t)=>t.length-e.length);if(n.length===0)return e;let r=n.map(x).join(`|`),i=RegExp(`(?<![\\p{L}\\p{N}])(?:${r})(?![\\p{L}\\p{N}])`,`giu`),a=[],o=0;for(let t of e.matchAll(i))a.push(e.slice(o,t.index)),a.push((0,b.jsx)(`span`,{className:`font-medium text-[var(--content-default)]`,children:t[0]},t.index)),o=t.index+t[0].length;return a.length===0?e:(a.push(e.slice(o)),(0,b.jsx)(b.Fragment,{children:a}))}function C({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcutHint:a,isSelected:o,onClick:c,surface:l=`overlay`}){let u=e;return l===`window`?(0,b.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":o?`page`:void 0,"aria-selected":o,onClick:c,className:[`flex w-full items-center gap-3 rounded-md px-3 text-left text-sm font-medium outline-none transition-colors`,r?`py-1.5`:`h-10`,o?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[u?(0,b.jsx)(u,{size:16,"aria-hidden":!0,className:o?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,b.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`truncate`,children:t}),n?(0,b.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,b.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-[var(--content-tertiary)]`,children:a}):null]}),r?(0,b.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:S(r,i)}):null]})]}):(0,b.jsx)(s,{icon:e,label:(0,b.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`truncate`,children:t}),n?(0,b.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,b.jsx)(`span`,{className:`ml-auto shrink-0 text-[var(--content-tertiary)] text-body-small-default`,children:a}):null]}),r?(0,b.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:S(r,i)}):null]}),active:o,onSelect:c,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var w=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,T={paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},E={...T,pointerEvents:`none`},D=({onKeyDown:e,children:n})=>{let{t:r}=t(),i=m(),a=_(),o=(0,v.useRef)(null);return(0,v.useLayoutEffect)(()=>{if(i)return;let e=document.activeElement;e instanceof HTMLElement&&o.current?.contains(e)&&e.blur()},[i]),(0,b.jsx)(h.div,{ref:o,className:w,style:i?T:E,role:`dialog`,"aria-modal":i?!0:void 0,"aria-hidden":i?void 0:!0,"aria-label":r(`commandPalette.searchAriaLabel`),onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:a?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:n})},O=({isOpen:e,onClose:n,query:r,onQueryChange:a,highlightTokens:s,selectedIndex:m,sections:h,isSearching:_=!1,onItemSelect:x,onKeyDown:S,surface:E=`overlay`})=>{let{t:O}=t(),k=f(),A=d(),j=p(),M=(0,v.useRef)(null),N=(0,v.useRef)(null),P=(0,v.useRef)(null);(0,v.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{N.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,v.useEffect)(()=>{if(!e||!P.current)return;let t=P.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,m]);let F=(0,v.useCallback)(e=>{e.target===M.current&&n()},[n]),I=E===`window`,L=k&&!I,R=!j,z=A&&L;if(!e&&!z)return null;let B=0,V=(0,b.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[_?(0,b.jsx)(c,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,b.jsx)(l,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,b.jsx)(`input`,{ref:N,type:`text`,value:r,onChange:e=>a(e.target.value),placeholder:O(`commandPalette.placeholder`),className:I?`min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`:`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`,"aria-label":O(`commandPalette.searchAriaLabel`)}),r?L?(0,b.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>a(``),"aria-label":O(`commandPalette.clearSearch`),children:O(`commandPalette.clear`)}):I?(0,b.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`,"aria-label":O(`commandPalette.clearSearch`),onClick:()=>a(``),children:(0,b.jsx)(u,{size:16,"aria-hidden":!0})}):(0,b.jsx)(i,{variant:`ghost`,size:`compact`,iconOnly:(0,b.jsx)(u,{}),"aria-label":O(`commandPalette.clearSearch`),onClick:()=>a(``),tintColor:`var(--content-tertiary)`}):R?(0,b.jsx)(`kbd`,{className:I?`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-xs font-medium text-[var(--content-secondary)]`:`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-label-small-default text-[var(--content-tertiary)]`,children:O(`commandPalette.shortcutHint`)}):null,L?(0,b.jsx)(i,{variant:`ghost`,size:`compact`,iconOnly:(0,b.jsx)(u,{}),expandOnMobile:!1,"aria-label":O(`commandPalette.closeSearch`),onClick:n,tintColor:`var(--content-tertiary)`}):null]}),H=(0,b.jsx)(`div`,{ref:P,className:L?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:h.length===0?(0,b.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,b.jsx)(o,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:O(_?`commandPalette.searching`:`commandPalette.noResults`)})}):h.map(e=>(0,b.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,b.jsx)(o,{variant:`label-small-default`,as:`div`,className:I?`px-3 pb-1 pt-2 text-xs font-semibold text-[var(--content-tertiary)]`:`px-3 pb-1 pt-2 text-[var(--content-tertiary)] max-md:text-body-small-default`,children:e.label}),e.items.map(e=>{let t=B++;return(0,b.jsx)(C,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:s,shortcutHint:R?e.shortcutHint:void 0,isSelected:t===m,onClick:()=>x?.(e,t),surface:E},e.id)})]},e.id))});if(z)return(0,b.jsx)(g,{children:e?(0,b.jsxs)(D,{onKeyDown:S,children:[V,H]},`command-palette-sheet`):null});if(L)return(0,b.jsxs)(`div`,{className:w,role:`dialog`,"aria-modal":`true`,"aria-label":O(`commandPalette.searchAriaLabel`),onKeyDown:S,style:T,children:[V,H]});let U=(0,b.jsx)(`div`,{ref:M,role:`dialog`,"aria-modal":`true`,"aria-label":O(`commandPalette.ariaLabel`),className:E===`window`?`flex h-full w-full items-start justify-center bg-transparent p-3`:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[15vh]`,onClick:F,onKeyDown:S,children:(0,b.jsxs)(`div`,{className:`flex w-full max-w-[560px] flex-col overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] shadow-xl`,children:[V,H]})});return E===`window`?U:(0,y.createPortal)(U,document.body)};export{O as CommandPalette};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-COOF1INC.js";import{a as r,l as i,r as a,s as o,t as s}from"./use-command-palette-sections-tRUwMswg.js";import{r as c}from"./resolved-assistants-store-DEtotxhR.js";import{Q as l,i as u,n as d,s as f}from"./auth-store-BVjw4Y6z.js";import{t as p}from"./use-app-theme-CaWLhQW_.js";import{a as m}from"./conversation-queries-Clrll8jF.js";import{CommandPalette as h}from"./command-palette-C0x3z7aQ.js";var g=e(t(),1),_=n(),v=()=>void 0,y=e=>void 0,b=e=>{switch(e.id){case`action-new-conversation`:return{kind:`newConversation`};case`action-current-conversation`:return{kind:`currentConversation`};case`action-settings`:return{kind:`openSettings`};case`action-library`:return{kind:`openLibrary`};case`action-intelligence`:return{kind:`openIdentity`};default:return e.id.startsWith(`conv-`)?{kind:`openConversation`,conversationId:e.id.slice(5)}:e.id.startsWith(`search-conv-`)?{kind:`openConversation`,conversationId:e.id.slice(12)}:e.id.startsWith(`search-schedule-`)||e.id.startsWith(`search-contact-`)?{kind:`openIdentity`}:null}};function x(){let e=d.use.sessionStatus(),t=f(),n=u();p(),o(!t),i({sessionStatus:e,hasPlatformSession:n});let x=c.use.assistants(),S=c.use.activeAssistantId(),C=l(),w=(0,g.useMemo)(()=>{let e=C??S;if(!e)return null;let t=x.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[C,S,x]),T=w?.id??null,{conversations:E}=m(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&r(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=s({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{a()},onItemSelect:D});return(0,_.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,_.jsx)(h,{isOpen:!0,surface:`window`,onClose:O.close,query:O.query,onQueryChange:O.setQuery,highlightTokens:O.searchTokens,selectedIndex:O.selectedIndex,sections:k,isSearching:O.isSearching,onItemSelect:A,onKeyDown:O.handleKeyDown})})}export{x as CommandPaletteWindowPage};
@@ -1 +0,0 @@
1
- var e={configureAutoReload:`Настроить автопополнение`},t={ariaLabel:`Знакомство с компаньоном`,meet:{title:`Это я`,titleNamed:`Я {name}`,body:`Я остаюсь на рабочем столе, даже когда Vellum не видно.`},talk:{title:`Голос`,body:`Начало голосового диалога.`},type:{title:`Текст`,body:`Отправка сообщения отсюда и чтение ответа здесь же.`},menu:{title:`Правый щелчок по компаньону`,body:`Там можно меня спрятать или изменить размер.`},skip:`Пропустить`,next:`Далее`,done:`Понятно`},n={tooltip:`Стоп`},r={badge:`Ошибка 404`,title:`Страница не найдена`,body:`Этой страницы нет или её могли перенести.`,backToAssistant:`Вернуться к ассистенту`,goBack:`Назад`},i={title:`Нагрузка на ресурсы высокая`,body:`Ассистент уже давно работает с повышенной нагрузкой. Обновление плана даёт больше мощности.`,bodyNoUpgrade:`Ассистент уже давно работает с повышенной нагрузкой.`,upgrade:`Обновить план`,dontShowAgain:`Больше не показывать`},a={ariaLabel:`Действия: {name}`},o={windowsNativeDisplayName:`Windows Native Dictation`,windowsNativeSubtitle:`Распознавание речи Windows на устройстве, локально через вспомогательную программу Windows. Работает без сети и не требует API-ключа.`,windowsNativeSetupWarning:`Нужно базовое распознавание речи для языка интерфейса Windows: Параметры > Время и язык > Язык и регион, три точки рядом с языком интерфейса, Параметры языка, в разделе Возможности языка: Базовое распознавание речи.`},s={failed:`Не удалось подключить Claude. Повторите попытку.`,timedOut:`Время ожидания подключения Claude истекло. Повторите попытку.`,startFailed:`Не удалось запустить Connect Claude. Повторите попытку.`,popupBlocked:`Браузер заблокировал вкладку входа. Разрешение всплывающих окон для этого сайта, затем снова Подключить.`,pasteEmpty:`Вставка кода со страницы Claude.`,notStarted:`Сначала запуск сценария Connect Claude.`,exchangeFailed:`Проверьте вставленный ключ и повторите попытку.`},c={file:`Файл`,view:`Вид`,developer:`Разработчик`,help:`Справка`},l={addCreditsModal:e,companionIntro:t,detailPanelStopButton:n,notFound:r,resourcePressureBanner:i,sectionActionsButton:a,sttProviderForm:o,useConnectClaude:s,windowsMenuBar:c};export{e as addCreditsModal,t as companionIntro,l as default,n as detailPanelStopButton,r as notFound,i as resourcePressureBanner,a as sectionActionsButton,o as sttProviderForm,s as useConnectClaude,c as windowsMenuBar};
@@ -1 +0,0 @@
1
- var e={build:`Compilación`,tagline:`Asistente de IA para tu Mac`,version:`Versión`},t={connecting:`Conectando con tu asistente…`,logIn:`Iniciar sesión`,logOut:`Cerrar sesión`},n={cancel:`Cancelar`,credentialSaved:`Credencial guardada.`,description:`Añade una clave API o un token para que las herramientas e integraciones lo usen.`,fieldLabel:`Campo`,fieldPlaceholder:`p. ej. api_token`,labelOptional:`Etiqueta (opcional)`,labelPlaceholder:`p. ej. token de acceso personal de GitHub`,save:`Guardar`,saveFailed:`No se pudo guardar la credencial`,serviceLabel:`Servicio`,servicePlaceholder:`p. ej. github`,title:`Añadir credencial`,valueLabel:`Valor`,valuePlaceholder:`Introduce el valor secreto`},r={amount:`Importe`,cancel:`Cancelar`,configureAutoReload:`Configurar la recarga automática`,continue:`Continuar`,description:`Se te redirigirá a Stripe para completar el pago.`,title:`Añadir créditos`},i={openApp:`Abrir app`,pin:`Fijar`,previewTitle:`Vista previa de {name}`,unpin:`Desfijar`},a={close:`Cerrar`,copyLink:`Copiar enlace`,deploy:`Desplegar`,deployToVercel:`Desplegar en Vercel`,deployToVercelSubtitle:`Publicar como página estática`,deployedCopyLinkAria:`Desplegada en Vercel, copiar enlace`,deployedCopyLinkTooltip:`Desplegada: copiar enlace`,deployedToVercel:`Desplegada en Vercel`,deploying:`Desplegando…`,edit:`Editar`,expandApp:`Expandir app`,fullscreen:`Pantalla completa`,openApp:`Abrir app`,redeploy:`Volver a desplegar`,redeploySubtitle:`Publicar la versión actual`,share:`Compartir`,shareAndDeploy:`Compartir y desplegar`,shareExportSubtitle:`Exportar como archivo .vellum`,sharing:`Compartiendo…`},o={exitFullscreen:`Salir de pantalla completa`},s={body:`Cuerpo`,color:`Color`,eyes:`Ojos`,keepUploadedDescription:`Guardar el personaje la reemplaza`,keepUploadedLabel:`Conservar tu imagen subida`,loadError:`No se pudieron cargar los componentes del avatar. Asegúrate de que tu asistente esté en ejecución.`,name:`Nombre`,next:`Siguiente {label}`,previous:`Anterior {label}`,randomize:`Aleatorio`,save:`Guardar`,saving:`Guardando…`,title:`Actualizar avatar`,uploadImage:`Subir imagen`,uploadedAlt:`Avatar subido`,useCharacterDescription:`Elige entre nuestros avatares integrados`,useCharacterLabel:`Usar un personaje en su lugar`},c={bySigner:`por {name}`,cancel:`Cancelar`,capabilities:`Capacidades`,createdBy:`Creado por`,hideWarnings:`Ocultar advertencias ({count})`,install:`Instalar`,installAnyway:`Instalar de todos modos`,loading:`Cargando...`,showWarnings:`Mostrar advertencias ({count})`,size:`Tamaño`},l={body:`Tu asistente habla a través de un proveedor que configuraste tú. Define su voz en <settingsLink>Modelos y servicios</settingsLink>.`},u={alt:`Avatar del asistente`,fallbackLetter:`V`},d={actionsTitle:`Acciones de {title}`},f={ariaLabel:`Paleta de comandos`,clear:`Borrar`,clearSearch:`Borrar búsqueda`,closeSearch:`Cerrar búsqueda`,noResults:`Sin resultados`,placeholder:`Buscar conversaciones, recuerdos…`,searchAriaLabel:`Buscar`,searching:`Buscando…`,shortcutHint:`⌘K`},p={ariaLabel:`Te presento a tu compañero`,done:`Entendido`,meet:{body:`Me quedo en tu escritorio, aunque Vellum no esté a la vista.`,title:`Este soy yo`,titleNamed:`Soy {name}`},menu:{body:`Ahí puedes ocultarme o cambiar mi tamaño.`,title:`Haz clic derecho sobre mí`},next:`Siguiente`,skip:`Omitir`,talk:{body:`Inicia una conversación por voz.`,title:`Talk`},type:{body:`Envía un mensaje desde aquí y lee la respuesta aquí también.`,title:`Type`}},m={allow:`Permitir`,deny:`Denegar`,endSession:`Finalizar sesión`,goBack:`Volver`,messagePlaceholder:`Mensaje a {name}`,muteAssistant:`Silenciar asistente`,muteMicrophone:`Silenciar micrófono`,notNow:`Ahora no`,send:`Enviar`,showSummary:`Mostrar resumen`,stopTeaching:`Dejar de enseñar`,summarizing:`Resumiendo`,talk:`Hablar`,teach:`Enseñar`,type:`Escribir`,unmuteAssistant:`Activar sonido del asistente`,unmuteMicrophone:`Activar micrófono`},h={copiedAria:`Copiado`,copyFailed:`No se pudo copiar el contenido del archivo.`,copyFileContentsAria:`Copiar contenido del archivo`,downloadFileAria:`Descargar archivo`,editFileAria:`Editar archivo`},g={cancel:`Cancelar`,create:`Crear`,description:`Provisiona un asistente nuevo. Se iniciará en segundo plano.`,namePlaceholder:`Nombre del asistente (opcional)`,title:`Nuevo asistente`,toastSuccess:`Nuevo asistente creado.`},_={ariaLabel:`Rango de fechas`,lastDays:`{days, plural, one {Último # día} other {Últimos # días}}`},v={delete:`Eliminar`,deleting:`Eliminando…`,message:`"{name}" se eliminará de forma permanente.`,title:`Eliminar app`},y={confirmLabel:`Deja que tu asistente se encargue`,confirmLabelNamed:`Deja que {assistantName} se encargue`,message:`"{appName}" usa servicios de backend que no funcionarán en una página estática de Vercel. Tu asistente puede desplegarla correctamente con funciones serverless.`,messageNamed:`"{appName}" usa servicios de backend que no funcionarán en una página estática de Vercel. {assistantName} puede desplegarla correctamente con funciones serverless.`,title:`Esta app necesita un despliegue completo`},b={tooltip:`Detener`},x={copied:`Copiado`,copy:`Copiar`},S={stopRecording:`Detener grabación`},C={ariaLabel:`Únete a la comunidad de Discord de Vellum`,ctaLong:`Unirse a Discord`,ctaShort:`Unirse`,subtitleLong:`Habla con el equipo: comparte comentarios, solicita funciones y obtén respuestas más rápido`,subtitleShort:`Comparte comentarios, solicita funciones y obtén respuestas más rápido`,title:`¡Únete a nuestra comunidad!`},w={acknowledge:`Reconocer`,acknowledging:`Reconociendo...`,cleanupBody:`Pide a tu asistente que libere espacio antes de que se agote y entre en un estado bloqueado.`,cleanupTitle:`El modo de limpieza está activo`,criticalBody:`Tu asistente entrará en un estado bloqueado si se queda sin almacenamiento.`,criticalModalDescription:`Tu asistente entrará en un estado bloqueado si se queda sin almacenamiento. Debes pedir a tu asistente que libere espacio o aumentar tu almacenamiento.`,criticalTitle:`El almacenamiento está críticamente bajo`,dontShowAgain:`No mostrar de nuevo`,manageStorage:`Gestionar almacenamiento`,review:`Revisar`,upgrade:`Mejorar plan`,warningBody:`Libera espacio para evitar interrupciones.`,warningBodyWithUpgrade:`Libera espacio o añade más almacenamiento para evitar interrupciones.`,warningTitle:`Tu almacenamiento está casi lleno`},T={discard:`Descartar`,save:`Guardar`,saving:`Guardando…`},E={copyAriaLabel:`Copiar enlace de invitación`,createFailed:`No se pudo crear el enlace de invitación. Asegúrate de que A2A esté habilitado para tu asistente.`,creating:`Creando enlace de invitación…`,done:`Listo`,shareHint:`Comparte este enlace con otro propietario de asistente para establecer una conexión.`,title:`Compartir enlace de conexión`,tryAgain:`Reintentar`},D={ariaLabel:`Vellum es de código abierto en GitHub`,ctaAriaLabel:`Dar una estrella a Vellum en GitHub`,ctaLabel:`Danos una estrella`,subtitle:`Danos una estrella en GitHub o contribuye`,title:`Vellum es de código abierto`},O={loadError:`Esta sección no se pudo cargar. Recarga la página para intentarlo de nuevo.`},k={ariaLabel:`Descargar la app de macOS`,ctaAriaLabel:`Descargar la app de macOS`,ctaLabel:`Descargar`,subtitle:`Uso del ordenador · acceso a terminal · automatización nativa`,title:`Consigue la app de macOS`},A={bannerAria:`Descargar la app de {appName}`,download:`Descargar`,downloadAppAria:`Descargar la app de {appName}`,subtitle:`Notificaciones push · inicio biométrico · háptica`,title:`Obtén la app de {appName}`},j={logoAlt:`Vellum`},M={backToAssistant:`Volver a tu asistente`,badge:`Error 404`,body:`La página que buscas no existe o puede haberse movido.`,goBack:`Atrás`,title:`Página no encontrada`},N={dismissAria:`Descartar`},P={back:`Atrás`},F={cancel:`Cancelar`,logIn:`Iniciar sesión`},I={assistantHandleIdleEmpty:`Tu asistente aún no tiene identificador; reclama uno para poder mencionarlo.`,assistantHandleLabel:`Identificador del asistente`,assistantHandleUpdated:`Identificador del asistente actualizado.`,available:`Disponible`,availableHelper:`Disponible.`,checkAvailabilityFailed:`No se pudo comprobar la disponibilidad.`,checkingAvailability:`Comprobando disponibilidad…`,chooseDifferentHandle:`Elige un identificador diferente.`,emailLabel:`Correo electrónico`,handleHelper:`Letras minúsculas, dígitos, guiones y guiones bajos. De 3 a 30 caracteres.`,handleLocked:`El identificador de tu asistente está bloqueado porque se usa como su subdominio de correo. Para cambiarlo, <releaseLink>libera el subdominio</releaseLink> primero.`,loading:`Cargando tu perfil…`,notAvailable:`No disponible`,profileUpdated:`Perfil actualizado.`,save:`Guardar`,saved:`Guardado`,saving:`Guardando…`,subtitle:`Gestiona los detalles y las preferencias de tu cuenta.`,title:`Perfil`,userHandleIdleAutoGenerated:`Tu identificador se generó automáticamente al registrarte; elige uno que te guste.`,userHandleLabel:`Identificador de usuario`},L={created:`Perfil "{name}" creado`},R={logoAlt:`Vellum`,placeholder:`Pregunta lo que quieras a Vellum...`},z={confirm:`Eliminar`,messageOrigin:`Esto no afectará a {assistantName} ni cerrará tu sesión allí. Solo olvida la entrada en este dispositivo. Puedes añadirla de nuevo cuando quieras.`,messagePaired:`Esto no afectará a {assistantName} en su máquina anfitriona. Solo olvida el emparejamiento en este dispositivo. Puedes emparejarlo de nuevo cuando quieras con vellum connect import.`,messagePlatform:`Esto no eliminará a {assistantName}. Solo lo quita de este dispositivo. Al iniciar sesión volverá a estar disponible.`,title:`¿Eliminar de este dispositivo?`},B={body:`Tu asistente ha estado usando recursos elevados durante un periodo prolongado; mejora tu plan para potenciar tu asistente.`,bodyNoUpgrade:`Tu asistente ha estado usando recursos elevados durante un periodo prolongado.`,dontShowAgain:`No mostrar de nuevo`,title:`La utilización de recursos es alta`,upgrade:`Mejorar plan`},V={confirmLabel:`Retirar`,message:`Esto retirará de forma permanente este asistente y todos sus datos. Tendrás que volver a completar el flujo de incorporación para crear uno nuevo. Esta acción no se puede deshacer.`,title:`Retirar asistente`},H={loadingAria:`Cargando`},U={chunkFailBody:`Esta sección no se pudo cargar. Probablemente un fallo de red o una versión antigua. Recarga la página para intentarlo de nuevo.`,reload:`Recargar`},W={confirmMessage:`¿Actualizar a la versión {version}? El asistente no estará disponible brevemente durante la actualización.`,confirmTitle:`Actualizar el runtime del asistente`,later:`Más tarde`,title:`Nueva versión del asistente disponible: {version}`,toastComplete:`Actualización completa. Tu asistente está en buen estado.`,toastFailed:`No se pudo iniciar la actualización. Inténtalo de nuevo.`,update:`Actualizar`},G={ariaLabel:`Acciones de {name}`},K={reset:`Restablecer`,save:`Guardar`},q={label:`Compartir enlace de conexión`},J={aboutDiagnosticsAria:`Acerca de los diagnósticos`,addFiles:`Añadir archivos`,adminOnlyHint:`Solo para administradores: crea el archivo de diagnósticos en local y lo descarga en lugar de enviar comentarios o notificar a Slack.`,attachments:`Adjuntos`,bugTip:`Consejo: obtén soporte más rápido publicando en nuestra <discordLink>comunidad de Discord</discordLink>`,cancel:`Cancelar`,category:`Categoría`,closeAria:`Cerrar`,diagnosticsTooltip:`Los diagnósticos incluyen el contexto del navegador, los registros del asistente y marcas de tiempo; nunca contraseñas ni credenciales.`,downloadDiagnostics:`Descargar diagnósticos directamente`,downloadDiagnosticsAria:`Descargar diagnósticos directamente`,downloadDiagnosticsButton:`Descargar diagnósticos`,dropFiles:`Suelta archivos para adjuntarlos…`,email:`Correo electrónico`,featureTip:`Consejo: vota funciones en nuestro <roadmapLink>roadmap público</roadmapLink>`,includeConversation:`Incluir la conversación más reciente`,includeConversationAria:`Incluir la conversación más reciente`,includeDiagnostics:`Incluir diagnósticos`,includeDiagnosticsAria:`Incluir diagnósticos del navegador`,messageLabelBug:`¿Qué salió mal?`,messageLabelFeature:`Describe tu idea`,messageLabelOther:`¿Qué tienes en mente?`,messagePlaceholderBug:`¿Qué esperabas que ocurriera y qué ocurrió en su lugar?`,messagePlaceholderFeature:`¿Qué problema te resolvería esto?`,messagePlaceholderOther:`Comparte tus pensamientos...`,preparingDiagnostics:`Preparando diagnósticos…`,reasonBugReport:`Informe de error`,reasonFeatureRequest:`Solicitud de función`,reasonOther:`Otro`,removeAttachmentAria:`Eliminar {name}`,sendingFeedback:`Enviando comentarios…`,submit:`Enviar`,timeRange:`Intervalo de tiempo`,timeRangeAllTime:`Todo el tiempo`,timeRangeAria:`Intervalo de tiempo de diagnósticos`,timeRangePast24Hours:`Últimas 24 horas`,timeRangePastHour:`Última hora`,title:`Compartir comentarios`},Y={loadingAria:`Cargando el formulario de comentarios`},X={close:`Cerrar`,message:`No se pudo cargar el formulario de comentarios.`,retry:`Reintentar`},Z={closeAria:`Cerrar`,closeSidebarAria:`Cerrar barra lateral`,openSidebarAria:`Abrir barra lateral`},Q={backFrom:`Volver desde {title}`,backToMenu:`Volver al menú de {title}`,navigationAria:`Navegación de {title}`},$={ariaLabel:`Navegación de la barra lateral`},ee={label:`Aprendido de esta conversación`},te={message:`¿Quitar "{name}" de este asistente?`,remove:`Quitar`,title:`Quitar skill`},ne={approvalNotice:`Si Slack muestra “Request approval” en lugar de <strong>Install</strong>, un administrador del espacio de trabajo debe aprobar la app primero.`,createdApp:`He creado la app`,inSlack:`En Slack:`,stepManifest:`En <strong>Or start your own way</strong>, elige <strong>From a manifest</strong> y luego <strong>Continue</strong>`,stepPaste:`Elige tu espacio de trabajo y pega el manifiesto`,stepReview:`Revisa los permisos y haz clic en <strong>Create and Install</strong>`},re={appName:`Nombre de la app`,appNamePlaceholder:`Mi asistente`,copied:`¡Copiado!`,copyManifest:`Copiar manifiesto`,description:`Descripción (opcional)`,descriptionHelper:`Se muestra en el perfil de Slack de la app.`,descriptionPlaceholder:`En qué ayuda este asistente`,intro:`Ponle nombre a tu app de Slack y copia su manifiesto. Todos los permisos y ajustes vienen preconfigurados.`,next:`Siguiente`},ie={body:`Abre Slack en una pestaña nueva para crear la app y vuelve aquí para los pasos siguientes.`,copied:`¡Copiado!`,copyManifest:`Copiar manifiesto`,manifestCopiedNotice:`Copiaste el manifiesto de esta app aquí. Si has copiado algo desde entonces, cópialo de nuevo antes de pegar.`,manifestNotCopiedNotice:`Aún no has copiado el manifiesto de esta app. El modal de crear app de Slack no tiene otra forma de obtenerlo, así que cópialo antes de pegar.`,next:`Siguiente`,openSlack:`Abrir Slack`},ae={appTokenLabel:`Token de la app`,botTokenLabel:`Token del bot`,connectSlack:`Conectar Slack`,connecting:`Conectando…`,credentialsSaved:`Credenciales guardadas.`,instructions:`En la pantalla de confirmación de Slack, expande <credentials>Your app credentials</credentials> y copia ambos tokens.`,skipNotice:`Esa pantalla también ofrece una guía por línea de comandos y un botón <download>Download app files</download>. Omite ambos. Configuran una app local aparte, y este asistente solo necesita los dos tokens.`},oe={channelLabel:`Slack`,copyError:`No se pudo copiar el manifiesto. Cópialo de nuevo antes de continuar.`,stepConnect:`Conectar`,stepCreate:`Crear`,stepName:`Nombre`,stepOpen:`Abrir`},se={total:`Total: {value}`},ce={reloadApp:`Recargar app`},le={dismiss:`Descartar`,goToDoctor:`Ir a Doctor`,resumeAssistant:`Reanudar asistente`,retryNow:`Reintentar ahora`,wakeUp:`Despertar`},ue={allLanguages:`Todos los idiomas`,featured:`Destacados`,languagesAriaLabel:`Idiomas`,noMatch:`Ningún idioma coincide.`,searchAriaLabel:`Buscar idiomas`,searchPlaceholder:`Buscar idiomas`,suggested:`Sugerido`},de={description:`Se aplica desde tu próximo turno hablado.`},fe={apiKeyLabel:`Clave de API`,apiKeyPlaceholderReplace:`•••••••• (Introduce una clave nueva para reemplazarla)`,providerAriaLabel:`Proveedor de STT`,providerLabel:`Proveedor`,saveFailed:`No se pudieron guardar los ajustes de voz a texto`,saveSuccess:`Ajustes de voz a texto guardados`,spokenLanguage:`Idioma hablado`,spokenLanguageApplies:`Se aplica a partir de tu próximo turno hablado.`,vellumTranscription:`La transcripción se realiza a través de tu cuenta de Vellum.`,windowsNativeDisplayName:`Dictado nativo de Windows`,windowsNativeSetupWarning:`Requiere Reconocimiento de voz básico para el idioma de visualización de Windows: abre Configuración > Hora e idioma > Idioma y región, selecciona los tres puntos junto al idioma de visualización, elige Opciones de idioma y, en Características de idioma, descarga Reconocimiento de voz básico.`,windowsNativeSubtitle:`Reconocimiento de voz integrado de Windows, ejecutado localmente mediante el asistente nativo de Windows. Funciona sin conexión y no necesita una clave de API.`},pe={ariaLabel:`Subagente {subagentId}`},me={accessibilityDescription:`Permite que tu asistente haga clic, escriba y controle apps en tu nombre.`,accessibilityLabel:`Accesibilidad`,checking:`Comprobando permisos...`,dockIcon:`icono del Dock`,microphoneDescription:`Permite que tu asistente capture audio para entrada de voz y grabaciones.`,microphoneLabel:`Micrófono`,notificationBadgesDescription:`Permite que tu asistente muestre el recuento de conversaciones no vistas en el {surface}.`,notificationBadgesLabel:`Insignias de notificación`,notificationsDescription:`Permite que tu asistente envíe alertas de macOS para aprobaciones, mensajes y actualizaciones de tareas.`,notificationsLabel:`Notificaciones`,notificationsWindowsDescription:`Permite que tu asistente muestre notificaciones de Windows para aprobaciones, mensajes y actualizaciones de tareas.`,screenDescription:`Permite que tu asistente capture el contexto de la pantalla durante tareas de uso del ordenador.`,screenLabel:`Grabación de pantalla`,speechRecognitionDescription:`Permite que tu asistente transcriba tu voz a texto en el dispositivo.`,speechRecognitionLabel:`Reconocimiento de voz`,speechRecognitionWindowsDescription:`Permite que tu asistente transcriba tu voz a texto con el reconocimiento de voz de Windows.`,taskbarIcon:`icono de la barra de tareas`,title:`Permisos del sistema`},he={botTokenLabel:`Token del bot`,connectTelegram:`Conectar Telegram`,instructions:`Pega el token de la respuesta de BotFather. Es la línea completa después de <tokenLine>Use this token to access the HTTP API</tokenLine>.`,saving:`Guardando…`,successNotice:`Token guardado. El resto termina solo. Tu asistente confirmará que Telegram entrega la próxima vez que chatees, y se asegurará de poder alcanzarte.`},ge={copied:`¡Copiado!`,copyName:`Copiar nombre`,displayNameHint:`Para el nombre visible, <strong>{suggestedName}</strong> mantiene este bot alineado con tu asistente. El nombre de usuario es independiente y no tiene que coincidir.`,inBotFather:`En BotFather:`,intro:`Los bots de Telegram se crean enviando un mensaje a <strong>@BotFather</strong>. Ábrelo, sigue las indicaciones y vuelve con el token que te dé.`,next:`Siguiente`,openBotFather:`Abrir BotFather`,stepDisplayName:`Dale un nombre visible, que es lo que la gente ve en el chat`,stepSendNewBot:`Envía <strong>/newbot</strong>`,stepTokenReply:`BotFather responde con un token después de <strong>Use this token to access the HTTP API</strong>`,stepUsername:`Dale un nombre de usuario, que debe ser único y terminar en <strong>bot</strong>`},_e={channelLabel:`Telegram`,copyError:`No se pudo copiar el nombre. Escríbelo en BotFather en su lugar.`,stepConnect:`Conectar`,stepCreate:`Crear bot`},ve={recoveryModeBanner:`Modo de recuperación activo: esta sesión está conectada al terminal de depuración.`},ye={accentFill:`Relleno de acento`,activeBorder:`Borde activo`,activeSurface:`Superficie activa`,assistantBubble:`Una respuesta del asistente, a ancho completo sobre la superficie de la página.`,buttonDisabled:`Deshabilitado`,buttonPrimary:`Principal`,buttonSecondary:`Secundario`,chatAssistant1:`Listo. El resumen está preparado. Los ingresos crecieron de forma constante, los dos riesgos señalados del trimestre pasado están resueltos y reuní en una página aparte los tres gráficos que conviene mostrar.`,chatAssistant2:`Programado para las 9:00. Incluiré los gráficos y una versión de un párrafo para quien lo revise en el teléfono.`,chatUser1:`¿Puedes resumir el informe trimestral antes de la reunión de mañana?`,chatUser2:`Perfecto. Envíalo al equipo por la mañana.`,composerPlaceholder:`Escribe a tu asistente`,faintText:`Texto tenue: el último escalón legible de la rampa.`,inputFilled:`Texto que alguien ya ha escrito en un campo.`,inputPlaceholder:`Un marcador de posición en un campo vacío`,newConversation:`Nueva conversación`,overlaySurface:`Superficie de superposición`,primaryText:`Texto principal: la superficie de lectura principal de la app.`,quietText:`Texto discreto: metadatos y marcas de tiempo.`,raisedCard:`Tarjeta elevada`,raisedCardBody:`Las superficies elevadas se sitúan por encima de los paneles y del fondo de la página.`,samplerTitle:`Muestreador de tema`,secondaryText:`Texto secundario: textos de apoyo y descripciones.`,sectionAccent:`Acento`,sectionButtons:`Botones`,sectionInputs:`Campos`,sectionMessages:`Mensajes`,sectionSurfaces:`Superficies y bordes`,sectionText:`Texto`,send:`Enviar`,subtleDivider:`Divisor sutil encima de esta línea.`,tertiaryText:`Texto terciario: pies de foto, etiquetas y marcadores de posición.`,userBubble:`Un mensaje del usuario, en su burbuja.`},be={dark:`Oscuro`,label:`Tema`,light:`Claro`,system:`Sistema`,velvet:`Velvet`},xe={dismiss:`Descartar`,nextTip:`Consejo siguiente`,previousTip:`Consejo anterior`},Se={apiKey:`Clave de API`,apiKeyRequired:`Guarda una clave de API para este proveedor antes de probar.`,chooseFromCatalog:`Elegir del catálogo`,customVoiceIdAriaLabel:`ID de voz personalizado`,noManagedVoices:`No hay voces gestionadas disponibles en este momento.`,provider:`Proveedor`,providerAriaLabel:`Proveedor de TTS`,saveFailed:`No se pudieron guardar los ajustes de texto a voz`,saved:`Ajustes de texto a voz guardados`,test:`Probar`,testing:`Probando…`,voice:`Voz`,voiceId:`ID de voz`,voiceIdPlaceholder:`Introduce un ID de voz`},Ce={available:`Actualización disponible. Iniciando descarga…`,closeAriaLabel:`Cerrar`,downloading:`Descargando actualización…`,ready:`Vellum {version} está listo.`,restartToInstall:`Reiniciar para instalar`,versionFallback:`actualización`},we={exchangeFailed:`Comprueba la clave pegada e inténtalo de nuevo.`,failed:`No se pudo conectar Claude. Inténtalo de nuevo.`,notStarted:`Primero inicia el flujo de Connect Claude.`,pasteEmpty:`Pega el código que se muestra en la página de Claude.`,popupBlocked:`Tu navegador bloqueó la pestaña de inicio de sesión. Permite las ventanas emergentes para este sitio y vuelve a hacer clic en Conectar.`,startFailed:`No se pudo iniciar Connect Claude. Inténtalo de nuevo.`,timedOut:`Se agotó el tiempo de espera para conectar Claude. Inténtalo de nuevo.`},Te={playFailed:`No se pudo reproducir la muestra de voz.`},Ee={body:`Introduce tu token de API de Vercel para publicar apps como páginas estáticas.`,cancel:`Cancelar`,createToken:`Crear un token en Vercel →`,save:`Guardar`,saveFailed:`No se pudo guardar el token de Vercel.`,saving:`Guardando…`,title:`Conectar Vercel`,tokenLabel:`Token de API`,tokenPlaceholder:`Token de API de Vercel`},De={assistantVoiceAriaLabel:`Voz del asistente`,defaultSuffix:`(predeterminada)`,previewVoice:`Vista previa de {description}`,providerAriaLabel:`Proveedor de voz`,stopPreview:`Detener vista previa`},Oe={ariaLabel:`Voz`,selectVoice:`Selecciona una voz`},ke={done:`Listo`,title:`Voces`},Ae={body:`Los proveedores de voz, la transcripción y las claves de API están en <modelsLink>Modelos y servicios</modelsLink>.`},je={recommendedOff:`Recomendado desactivado`},Me={developer:`Desarrollador`,file:`Archivo`,help:`Ayuda`,view:`Ver`},Ne={aboutPage:e,activeAssistantGate:t,addCredentialModal:n,addCreditsModal:r,appCard:i,appNavBar:a,appViewerContainer:o,avatarManagementModal:s,bundleConfirmPage:c,byoVoiceNote:l,chatAvatar:u,collapsibleNavSection:d,commandPalette:f,companionIntro:p,companionSurface:m,contentActionBar:h,createAssistantDialog:g,dateRangeSelect:_,deleteAppDialog:v,deployDialogs:y,detailPanelStopButton:b,detailPrimitives:x,dictationOverlayPage:S,discordNudgeBanner:C,diskPressureBanner:w,editFooter:T,generateInviteLinkDialog:E,githubNudgeBanner:D,lazyBoundary:O,macosAppBanner:k,nativeAppBanner:A,nativeSplash:j,notFound:M,nudgeChatBanner:N,onboardingBackButton:P,platformLoginNotice:F,profileCard:I,profileQuickAddProvider:L,quickInputPage:R,removeFromDeviceDialog:z,resourcePressureBanner:B,retireConfirmDialog:V,rootHydrateFallback:H,routeErrorBoundary:U,runtimeUpgradeBanner:W,sectionActionsButton:G,serviceFormControls:K,shareConnectionLinkButton:q,shareFeedbackModal:J,shareFeedbackModalFallback:Y,shareFeedbackModalLoadError:X,sideListDrawer:Z,sidebarShell:Q,sidebarTree:$,skillLineageLink:ee,skillRemovalDialog:te,slackSetupCreateStep:ne,slackSetupNameStep:re,slackSetupOpenStep:ie,slackSetupTokensStep:ae,slackSetupWizard:oe,stackedBarTooltip:se,startupFailure:ce,statusBanner:le,sttLanguagePicker:ue,sttLanguagePickerModal:de,sttProviderForm:fe,subagentAvatarChip:pe,systemPermissionsCard:me,telegramSetupConnectStep:he,telegramSetupCreateStep:ge,telegramSetupWizard:_e,terminalPanel:ve,themeStagePage:ye,themeToggle:be,tipCard:xe,ttsProviderForm:Se,updateToast:Ce,useConnectClaude:we,useVoiceSamplePreview:Te,vercelTokenDialog:Ee,voiceList:De,voicePickerField:Oe,voicePickerModal:ke,voiceProvidersNote:Ae,voiceTranscriptToggles:je,windowsMenuBar:Me};export{e as aboutPage,t as activeAssistantGate,n as addCredentialModal,r as addCreditsModal,i as appCard,a as appNavBar,o as appViewerContainer,s as avatarManagementModal,c as bundleConfirmPage,l as byoVoiceNote,u as chatAvatar,d as collapsibleNavSection,f as commandPalette,p as companionIntro,m as companionSurface,h as contentActionBar,g as createAssistantDialog,_ as dateRangeSelect,Ne as default,v as deleteAppDialog,y as deployDialogs,b as detailPanelStopButton,x as detailPrimitives,S as dictationOverlayPage,C as discordNudgeBanner,w as diskPressureBanner,T as editFooter,E as generateInviteLinkDialog,D as githubNudgeBanner,O as lazyBoundary,k as macosAppBanner,A as nativeAppBanner,j as nativeSplash,M as notFound,N as nudgeChatBanner,P as onboardingBackButton,F as platformLoginNotice,I as profileCard,L as profileQuickAddProvider,R as quickInputPage,z as removeFromDeviceDialog,B as resourcePressureBanner,V as retireConfirmDialog,H as rootHydrateFallback,U as routeErrorBoundary,W as runtimeUpgradeBanner,G as sectionActionsButton,K as serviceFormControls,q as shareConnectionLinkButton,J as shareFeedbackModal,Y as shareFeedbackModalFallback,X as shareFeedbackModalLoadError,Z as sideListDrawer,Q as sidebarShell,$ as sidebarTree,ee as skillLineageLink,te as skillRemovalDialog,ne as slackSetupCreateStep,re as slackSetupNameStep,ie as slackSetupOpenStep,ae as slackSetupTokensStep,oe as slackSetupWizard,se as stackedBarTooltip,ce as startupFailure,le as statusBanner,ue as sttLanguagePicker,de as sttLanguagePickerModal,fe as sttProviderForm,pe as subagentAvatarChip,me as systemPermissionsCard,he as telegramSetupConnectStep,ge as telegramSetupCreateStep,_e as telegramSetupWizard,ve as terminalPanel,ye as themeStagePage,be as themeToggle,xe as tipCard,Se as ttsProviderForm,Ce as updateToast,we as useConnectClaude,Te as useVoiceSamplePreview,Ee as vercelTokenDialog,De as voiceList,Oe as voicePickerField,ke as voicePickerModal,Ae as voiceProvidersNote,je as voiceTranscriptToggles,Me as windowsMenuBar};
@@ -1 +0,0 @@
1
- import{v as e}from"./i18n-BtV8MCsZ.js";import{t}from"./button-B1kEAcLt.js";import{t as n}from"./jsx-runtime-COOF1INC.js";import{t as r}from"./card-B4b9cF6X.js";import{t as i}from"./createLucideIcon-CMfEC_aW.js";import{r as a}from"./middleware-BmAQ4_8P.js";import{t as o}from"./bug-DJjWtfUu.js";import{t as s}from"./external-link-cVsOyP-B.js";import{t as c}from"./globe-DJ3y3hQh.js";import{t as l}from"./heart-DF_JiyEl.js";import{t as u}from"./play-D-HSCeZj.js";import{t as d}from"./sparkles-D6kBPNlr.js";import{t as f}from"./star-C4JuiUip.js";import{t as p}from"./users-DLjK4Ffo.js";import{t as m}from"./tag-DAsImP7W.js";import{t as h}from"./external-urls-BE71Yb2T.js";import{t as g}from"./discord-logo-sC02ywjh.js";import{c as _,i as v,n as y}from"./use-discord-nudge-BkpFjoOQ.js";var b=i(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),x=n();function S({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function C({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}function w({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z`})})}function T({t:e}){return(0,x.jsx)(r,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(`div`,{className:`pointer-events-none absolute -right-16 -top-16 h-64 w-64 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, var(--system-mid-weak) 0%, transparent 70%)`},"aria-hidden":!0}),(0,x.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,x.jsxs)(m,{tone:`neutral`,children:[(0,x.jsx)(u,{className:`h-3.5 w-3.5`}),e(`communityPage.heroTag`)]}),(0,x.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:e(`communityPage.heroTitle`)}),(0,x.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:e(`communityPage.heroDescription`)})]})]})})}function E({icon:e,text:t}){return(0,x.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,x.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,x.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,x.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function D({accentColor:e,iconColor:n=`var(--aux-white)`,label:i,icon:o,title:s,subtitle:c,benefits:l,primaryAction:u,secondaryAction:d}){return(0,x.jsx)(r,{padding:`lg`,className:`flex-1`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:e,color:n},children:o}),(0,x.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:i})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:s}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:c})]}),(0,x.jsx)(`ul`,{className:`flex flex-col gap-3`,children:l.map(({icon:e,text:t})=>(0,x.jsx)(E,{icon:e,text:t},t))}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(t,{onClick:u.onClick,children:[u.icon,u.label]}),d&&(0,x.jsxs)(t,{variant:`ghost`,onClick:()=>window.open(d.href,`_blank`,`noopener,noreferrer`),children:[d.label,(0,x.jsx)(a,{className:`h-3.5 w-3.5`})]})]})]})})}function O({icon:e,iconBg:t,iconColor:n=`white`,title:i,description:a,href:o}){return(0,x.jsx)(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,x.jsx)(r,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:n},children:e}),(0,x.jsx)(s,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,x.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:a})]})]})})})}function k(){let{t}=e(`settings`),{handleStar:n}=_();return(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(T,{t}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,x.jsx)(D,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:t(`communityPage.openSourceLabel`),icon:(0,x.jsx)(S,{size:20}),title:t(`communityPage.openSourceTitle`),subtitle:t(`communityPage.openSourceSubtitle`),benefits:[{icon:f,text:t(`communityPage.openSourceBenefitStar`)},{icon:o,text:t(`communityPage.openSourceBenefitIssues`)},{icon:b,text:t(`communityPage.openSourceBenefitContribute`)}],primaryAction:{label:t(`communityPage.starOnGitHub`),icon:(0,x.jsx)(f,{size:16}),onClick:n},secondaryAction:{label:t(`communityPage.viewSource`),href:v}}),(0,x.jsx)(D,{accentColor:`#5865F2`,label:t(`communityPage.discordLabel`),icon:(0,x.jsx)(g,{size:20}),title:t(`communityPage.discordTitle`),subtitle:t(`communityPage.discordSubtitle`),benefits:[{icon:l,text:t(`communityPage.discordBenefitTeam`)},{icon:d,text:t(`communityPage.discordBenefitFeedback`)},{icon:p,text:t(`communityPage.discordBenefitAnswers`)}],primaryAction:{label:t(`communityPage.joinDiscord`),icon:(0,x.jsx)(g,{size:16,style:{color:`currentColor`}}),onClick:y}})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:t(`communityPage.moreFromVellum`)}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,x.jsx)(O,{icon:(0,x.jsx)(c,{size:20}),iconBg:`#22c55e`,title:t(`communityPage.communityHubTitle`),description:t(`communityPage.communityHubDescription`),href:h}),(0,x.jsx)(O,{icon:(0,x.jsx)(C,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:t(`communityPage.followOnXTitle`),description:t(`communityPage.followOnXDescription`),href:`https://x.com/vellum_ai`}),(0,x.jsx)(O,{icon:(0,x.jsx)(w,{size:20}),iconBg:`#ef4444`,title:t(`communityPage.youtubeChannelTitle`),description:t(`communityPage.youtubeChannelDescription`),href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{k as CommunityPage};
@@ -1 +0,0 @@
1
- import{t as e}from"./is-electron-D45bjFI8.js";var t=()=>{if(e())return window.vellum?.companion};function n(){let e=t();return e?e.getState().catch(()=>null):Promise.resolve(null)}function r(e){let n=t();return n?n.onState(e):()=>{}}function i(e){t()?.setInteractive?.(e)}function a(e,n){t()?.moveBy?.(e,n)}function o(){t()?.startVoice?.()}function s(){t()?.toggleWatch?.()}function c(e){t()?.answerWatchRetro?.(e)}function l(){t()?.activate?.()}function u(e){t()?.setComposing?.(e)}function d(e,n){t()?.submit?.(e,n)}function f(e){p=e,t()?.setContext?.(e)}var p=null;function m(){p===null||!p.working||f({...p,working:!1})}function h(e){t()?.advanceIntro?.(e)}function g(){t()?.showContextMenu?.()}function _(e){t()?.openLink?.(e)}export{n as a,u as c,g as d,o as f,s as h,m as i,f as l,r as m,h as n,a as o,d as p,c as r,_ as s,l as t,i as u};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./jsx-runtime-COOF1INC.js";import{t as i}from"./arrow-up-CijF4S8i.js";import{d as a,f as o,l as s,n as c,o as l,p as u,s as d,u as f}from"./desktop-voice-activity-DUGtHbRg.js";import{t as p}from"./check-bDVYejGM.js";import{t as m}from"./eye-off-BtRToWVw.js";import{t as h}from"./eye-Bkw-NEUk.js";import{t as g}from"./mic-DQbnjgmt.js";import{t as _}from"./volume-2-DQKLkySB.js";import{t as v}from"./x-nhRPd-Mz.js";import{p as y}from"./src-BKET5Cno.js";import{a as ee,c as b,d as te,f as ne,h as x,m as S,n as re,o as ie,p as ae,r as C,s as w,t as oe,u as T}from"./companion-surface-BYj8yxCS.js";import{t as E}from"./avatar-bundled-components-C1i6ys8w.js";import{t as D}from"./animated-avatar-DAJHVYXE.js";var O=e(n(),1),k=r(),A=12,j=44,M=244,N={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},type:{title:`companionIntro.type.title`,body:`companionIntro.type.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},se=e=>e===`talk`||e===`type`?e:void 0,ce=e=>e===null||e===`meet`?null:`hover`;function le({beat:e,growth:n=`right`,cardGrowth:r=`up`,accentHex:i,assistantName:a,cardRef:o,onAdvance:s}){let{t:c}=t(),u=l.indexOf(e),f=u===l.length-1,p=N[e],m=n===`left`?{right:`50%`,marginRight:-(j/2)}:{left:`50%`,marginLeft:-(j/2)},h=r===`up`?{top:`calc(100% - ${d}px)`,transform:`translateY(calc(-100% - ${j/2+A}px))`}:{top:d,transform:`translateY(${j/2+A}px)`};return(0,k.jsxs)(`div`,{ref:o,role:`group`,"aria-label":c(`companionIntro.ariaLabel`),className:`absolute flex flex-col gap-2 rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:M,...m,...h},onMouseDown:e=>{e.stopPropagation()},children:[(0,k.jsx)(`p`,{className:`line-clamp-2 text-[13px] leading-tight font-medium text-white`,children:e===`meet`&&a!==void 0?c(`companionIntro.meet.titleNamed`,{name:a}):c(p.title)}),(0,k.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:c(p.body)}),(0,k.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,k.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:l.map((e,t)=>(0,k.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===u?i??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,k.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!f&&(0,k.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/55 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>s?.(`dismiss`),children:c(`companionIntro.skip`)}),(0,k.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>s?.(`next`),children:c(f?`companionIntro.done`:`companionIntro.next`)})]})]})]})}var P=`#5eead4`,F=new Set([`transcribing`,`thinking`,`speaking`]),I=`#ff9f45`,L=44,R=28,z=8,B={resting:L,hover:272,watching:272,summary:264,call:332,typing:360},V=360,H=220;function U(e,t){let n=(0,O.useRef)({captureCount:e,watching:t}),[r,i]=(0,O.useState)(0);return(0,O.useEffect)(()=>{let r=n.current;if(n.current={captureCount:e,watching:t},!t){i(0);return}r.watching&&e>r.captureCount&&i(e=>e+1)},[e,t]),r}function ue({phase:e,turns:t=[],assistantName:n=`your assistant`,glow:r=!0,accentHex:i=P,avatarSrc:a,character:o,hovered:s=!1,onHoverStart:c,onHoverEnd:l,growth:u=`right`,cardGrowth:f=`up`,rootRef:p,onSurfaceMouseDown:m,onSurfaceContextMenu:h,spotlight:g,onTalk:_,onType:v,onWatch:y,onSubmit:ee,onCancelTyping:b,onAvatarClick:te,working:ne=!1,watching:x=!1,watchRetro:S,onWatchRetro:re,captureCount:ie=0,watchEnabled:ae=!1,call:C,onControl:w,intro:oe}){let T=e!==`resting`,E=e===`typing`,D=S===`pending`,A=ne||C!==void 0&&F.has(C.phase),j=U(ie,x),M=(0,O.useRef)(null),[N,se]=(0,O.useState)(null);(0,O.useLayoutEffect)(()=>{let e=M.current;if(!e)return;let t=()=>{se(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let ce=E?V:L+(T?(N??B[e]-L)+z:0),le=u===`left`?{right:`50%`,marginRight:-(L/2)}:{left:`50%`,marginLeft:-(L/2)},R=f===`up`?{top:`calc(100% - ${d}px)`}:{top:d},H={width:ce,...le,...R,transform:E?f===`up`?`translateY(calc(-100% + ${L/2}px))`:`translateY(-${L/2}px)`:`translateY(-50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,"--accent":i};return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(`div`,{className:`absolute cursor-grab transition-[width] duration-300 select-none will-change-[width] active:cursor-grabbing ${E?`flex rounded-[22px] ${f===`up`?`flex-col`:`flex-col-reverse`}`:`flex h-11 items-center rounded-full`} ${u===`left`&&!E?`flex-row-reverse`:``}`,style:H,onMouseLeave:l,onMouseDown:m,onContextMenu:h,ref:p,children:[(0,k.jsx)(`span`,{className:`absolute inset-0 border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200 ${E?`rounded-[22px]`:`rounded-full`}`,style:{opacity:+!!T},"aria-hidden":!0}),(A||x||D)&&(0,k.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 ${E?`rounded-[24px]`:`rounded-full`}`,style:{"--companion-ring-accent":x?I:i},"aria-hidden":!0}),x&&j>0&&(0,k.jsx)(`span`,{className:`companion-capture-pulse pointer-events-none absolute -inset-0.5 ${E?`rounded-[24px]`:`rounded-full`}`,style:{"--companion-ring-accent":I},"aria-hidden":!0},j),E&&t.length>0&&(0,k.jsx)(K,{turns:t}),(0,k.jsxs)(`div`,{className:`relative flex h-11 shrink-0 items-center ${u===`left`?`flex-row-reverse`:``}`,children:[(0,k.jsx)(J,{glow:r&&!T,accentHex:i,avatarSrc:a,character:o,attentive:s,busy:A,onMouseEnter:c,onClick:te}),E?(0,k.jsx)(q,{assistantName:n,growth:u,watching:x,onSubmit:ee,onCancel:b,onWatch:y}):(0,k.jsx)(`div`,{className:`relative flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:M,inert:!T,style:{opacity:+!!T,transitionDelay:T?`120ms`:`0ms`},children:e===`call`?(0,k.jsx)(de,{call:C,watching:x,onControl:w,onWatch:y}):e===`summary`&&S!==void 0?(0,k.jsx)(X,{retro:S,onWatchRetro:re}):(0,k.jsx)(Y,{spotlight:g,watching:x,watchEnabled:ae,onTalk:_,onType:v,onWatch:y})})]})]}),oe]})}function W({href:e,children:t}){return(0,k.jsx)(`a`,{href:e,className:`underline decoration-white/30 underline-offset-2 hover:decoration-white/60`,onClick:t=>{t.preventDefault(),e!==void 0&&w(e)},onMouseDown:e=>{e.stopPropagation()},children:t})}var G=W;function K({turns:e}){let t=(0,O.useRef)(null);return(0,O.useEffect)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[e]),(0,k.jsx)(`div`,{ref:t,className:`relative flex flex-col gap-1.5 overflow-y-auto px-3 pt-3 pb-1 select-text`,style:{maxHeight:H},children:e.map((e,t)=>{let n=e.role===`user`;return(0,k.jsx)(`div`,{className:`flex shrink-0 ${n?`justify-end`:`justify-start`}`,children:n?(0,k.jsx)(`p`,{className:`max-w-[80%] rounded-lg bg-white/[0.08] px-2.5 py-1.5 text-[12px] leading-[1.45] whitespace-pre-wrap text-white/75`,children:e.text}):(0,k.jsx)(`div`,{"data-theme":`dark`,className:`companion-markdown min-w-0 text-[12px] leading-[1.45] text-white/85`,children:(0,k.jsx)(y,{content:e.text,linkComponent:G})})},`${e.role}-${t}`)})})}function q({assistantName:e,growth:n=`right`,watching:r,onSubmit:a,onCancel:o,onWatch:s}){let{t:c}=t(),[l,u]=(0,O.useState)(``),d=(0,O.useRef)(null),f=l.trim();(0,O.useEffect)(()=>{d.current?.focus()},[]);let p=()=>{f!==``&&(u(``),a?.(f))};return(0,k.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1 ${n===`left`?`pl-2`:`pr-2`}`,children:[(0,k.jsx)(`input`,{ref:d,type:`text`,value:l,placeholder:c(`companionSurface.messagePlaceholder`,{name:e}),onChange:e=>{u(e.target.value)},onKeyDown:e=>{if(e.key===`Enter`){e.preventDefault(),p();return}e.key===`Escape`&&(e.preventDefault(),o?.())},onMouseDown:e=>{e.stopPropagation()},className:`min-w-0 flex-1 bg-transparent text-[12px] text-white/85 select-text placeholder:text-white/40 focus:outline-none`}),r&&(0,k.jsx)(Z,{onWatch:s}),(0,k.jsx)(`button`,{type:`button`,"aria-label":c(f===``?`companionSurface.goBack`:`companionSurface.send`),title:c(f===``?`companionSurface.goBack`:`companionSurface.send`),onClick:f===``?o:p,onMouseDown:e=>{e.stopPropagation()},className:`grid size-7 shrink-0 place-items-center rounded-full bg-white/10 text-white/85 transition-colors hover:bg-white/20`,children:f===``?(0,k.jsx)(v,{className:`size-3.5`,"aria-hidden":!0}):(0,k.jsx)(i,{className:`size-3.5`,"aria-hidden":!0})})]})}function J({glow:e,accentHex:t,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,onMouseEnter:o,onClick:s}){return(0,k.jsxs)(`div`,{className:`relative grid size-11 shrink-0 place-items-center`,onMouseEnter:o,onClick:s,children:[e&&(0,k.jsx)(`span`,{className:`absolute size-10 animate-pulse rounded-full blur-lg`,style:{background:t,opacity:.4},"aria-hidden":!0}),r===void 0?n===void 0?(0,k.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:t},"aria-hidden":!0}):(0,k.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)] [-webkit-user-drag:none]`}):(0,k.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,k.jsx)(D,{components:E,traits:r,size:R,isAssistantBusy:i,attentive:a})})]})}function Y({spotlight:e,watching:n=!1,watchEnabled:r=!1,onTalk:i,onType:a,onWatch:s}){let{t:c}=t();return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Q,{icon:(0,k.jsx)(u,{className:`size-4`}),label:c(`companionSurface.talk`),showLabel:!0,active:e===`talk`,onClick:i}),(0,k.jsx)(Q,{icon:(0,k.jsx)(o,{className:`size-4`}),label:c(`companionSurface.type`),showLabel:!0,active:e===`type`,onClick:a}),r?(0,k.jsx)(Q,{icon:(0,k.jsx)(h,{className:`size-4`}),label:c(`companionSurface.teach`),showLabel:!0,pressed:n,onClick:s}):n&&(0,k.jsx)(Z,{onWatch:s})]})}function X({retro:e,onWatchRetro:n}){let{t:r}=t();return e===`pending`?(0,k.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:r(`companionSurface.summarizing`)}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Q,{icon:(0,k.jsx)(f,{className:`size-4`}),label:r(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{n?.(!0)}}),(0,k.jsx)(Q,{icon:(0,k.jsx)(v,{className:`size-4`}),label:r(`companionSurface.notNow`),showLabel:!0,onClick:()=>{n?.(!1)}})]})}function de({call:e,watching:n,onControl:r,onWatch:i}){let{t:o}=t();if(e!==void 0&&e.approvalRequestId!==``)return(0,k.jsx)(fe,{detail:e.detail,requestId:e.approvalRequestId,onControl:r});let c=e===void 0?`Listening`:e.detail||e.label,l=e?.muted??!1,u=e?.outputMuted??!1;return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:c}),n&&(0,k.jsx)(Z,{onWatch:i}),(0,k.jsx)(Q,{icon:l?(0,k.jsx)(a,{className:`size-4`}):(0,k.jsx)(g,{className:`size-4`}),label:o(l?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{r?.(l?`unmuteMicrophone`:`muteMicrophone`)}}),(0,k.jsx)(Q,{icon:u?(0,k.jsx)(s,{className:`size-4`}):(0,k.jsx)(_,{className:`size-4`}),label:o(u?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{r?.(u?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,k.jsx)(Q,{icon:(0,k.jsx)(v,{className:`size-4`,strokeWidth:2.5}),label:o(`companionSurface.endSession`),tone:`negative`,onClick:()=>{r?.(`endSession`)}})]})}function fe({detail:e,requestId:n,onControl:r}){let{t:i}=t();return(0,k.jsxs)(k.Fragment,{children:[e!==``&&(0,k.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,k.jsx)(Q,{icon:(0,k.jsx)(p,{className:`size-4`}),label:i(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{r?.(`approveRequest`,n)}}),(0,k.jsx)(Q,{icon:(0,k.jsx)(v,{className:`size-4`}),label:i(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{r?.(`denyRequest`,n)}})]})}function Z({onWatch:e}){let{t:n}=t();return(0,k.jsx)(Q,{icon:(0,k.jsx)(m,{className:`size-4`}),label:n(`companionSurface.stopTeaching`),onClick:e})}function Q({icon:e,label:t,tone:n,showLabel:r=!1,active:i=!1,pressed:a,onClick:o}){return(0,k.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":a,title:t,onClick:o,onMouseDown:e=>{e.stopPropagation()},className:`flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${i||a===!0?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r&&(0,k.jsx)(`span`,{children:t})]})}var pe=3,$=44;function me(){let[e,t]=(0,O.useState)(`right`),[n,r]=(0,O.useState)(`up`),[i,a]=(0,O.useState)($),[o,s]=(0,O.useState)(),[l,u]=(0,O.useState)(),[d,f]=(0,O.useState)(null),[p,m]=(0,O.useState)([]),[h,g]=(0,O.useState)(``),[_,v]=(0,O.useState)(!1),[y,w]=(0,O.useState)(!1),[E,D]=(0,O.useState)(void 0),[A,j]=(0,O.useState)(0),[M,N]=(0,O.useState)(!1),[P,F]=(0,O.useState)(!1),[I,L]=(0,O.useState)(null),[R,z]=(0,O.useState)(!1),[B,V]=(0,O.useState)(!1),H=(0,O.useRef)(!1),U=(0,O.useRef)(null),W=(0,O.useRef)(null),G=(0,O.useRef)(null),K=(0,O.useRef)(null),q=(0,O.useRef)(!1);(0,O.useEffect)(()=>{let e=e=>{t(e.growth),r(e.cardGrowth),a(e.avatarBox),s(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),u(e.character),f(e.call),m(e.turns),g(e.assistantName),v(e.working),w(e.watching===!0),D(e.watchRetro),j(e.captureCount??0),N(e.watchEnabled===!0),L(e.intro)},n=S(e);return ee().then(t=>{t&&e(t)}),n},[]),(0,O.useEffect)(()=>()=>{T(!1),b(!1)},[]),(0,O.useEffect)(()=>{b(R)},[R]);let J=e=>{H.current!==e&&(H.current=e,T(e))},Y=I!==null&&!R&&d===null,X=(0,O.useRef)(Y);(0,O.useEffect)(()=>{X.current&&!Y&&(F(!1),J(!1)),X.current=Y},[Y]);let de=()=>{z(!1),F(!1),J(!1),V(!1)},fe=e=>{if(G.current!==null&&e.buttons===0&&(G.current=null),G.current!==null){let{x:t,y:n}=G.current;ie(e.screenX-t,e.screenY-n),G.current={x:e.screenX,y:e.screenY};let r=K.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>pe&&(q.current=!0);return}let t=U.current;if(!t)return;let n=t=>{if(!t)return!1;let n=t.getBoundingClientRect();return e.clientX>=n.left&&e.clientX<=n.right&&e.clientY>=n.top&&e.clientY<=n.bottom},r=n(t),i=n(W.current);F(r),J(r||i)},Z=ce(I),Q=R?`typing`:d===null?y?`watching`:E===void 0?Z??(P?`hover`:`resting`):`summary`:`call`,me=d!==null&&/^#[0-9a-f]{6}$/i.test(d.accentHex)?d.accentHex:void 0;return(0,k.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:fe,onMouseUp:()=>{G.current=null},onMouseLeave:()=>{G.current=null,F(!1),J(!1)},children:(0,k.jsx)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100*$/i}%`,height:`${100*$/i}%`,transform:`scale(${i/$})`},children:(0,k.jsx)(ue,{phase:Q,growth:e,cardGrowth:n,avatarSrc:o,character:l,hovered:P,accentHex:me,turns:B?p:[],assistantName:h===``?void 0:h,call:d??void 0,working:_,watching:y,watchRetro:E,onWatchRetro:C,captureCount:A,watchEnabled:M,spotlight:se(I),intro:!Y||I===null?null:(0,k.jsx)(le,{beat:I,growth:e,cardGrowth:n,accentHex:me,assistantName:h===``?void 0:h,cardRef:W,onAdvance:re}),rootRef:U,onSurfaceMouseDown:e=>{e.button===0&&(G.current={x:e.screenX,y:e.screenY},K.current={x:e.screenX,y:e.screenY},q.current=!1)},onSurfaceContextMenu:e=>{let t=e.target?.closest(`input, textarea, [contenteditable='true']`)!==null,n=(window.getSelection()?.toString().trim().length??0)>0;t||n||(e.preventDefault(),te())},onAvatarClick:()=>{q.current||oe()},onTalk:ne,onWatch:x,onType:()=>{z(!0)},onSubmit:e=>{B||(m([]),V(!0)),ae(e,!B)},onCancelTyping:de,onControl:(e,t)=>{c(t===void 0?{action:e}:{action:e,requestId:t})}})})})}export{me as CompanionSurfacePage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{c as t,l as n,v as r}from"./i18n-BtV8MCsZ.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-B1kEAcLt.js";import{t as o}from"./jsx-runtime-COOF1INC.js";import{t as s}from"./createLucideIcon-CMfEC_aW.js";import{t as c}from"./checkbox--DYEubRE.js";import{t as l}from"./triangle-alert-B6J57Xfo.js";import{t as u}from"./notice-BHeYlKvv.js";import"./src-BKET5Cno.js";import{t as d}from"./modal-_49mDK_d.js";import{c as f,r as p,s as m,t as h}from"./local-settings-D9SNRv4p.js";import{f as g,l as _}from"./use-assistant-avatar-C2TgszRj.js";import{i as v,t as y}from"./dist-Cr8OiiXj.js";import{a as b,i as x}from"./typed-storage-Bw4gW_Pk.js";import{n as S,r as C,t as w}from"./theme-preferences-ysFQ1QCN.js";import{t as T}from"./client-feature-flag-store-BmjgGl9P.js";import{t as E}from"./use-bus-subscription-DfxTm1-Q.js";import{o as ee}from"./funnel-events-Dl6Nt7nA.js";var D=s(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),O=e(i(),1),k=`NativeLaunchScreen`,A=v(k);function j(e){return e===`velvet`?`dark`:e}function M(){return y.isNativePlatform()&&y.getPlatform()===`android`&&y.isPluginAvailable(k)}async function te(e){if(M())try{await A.ready({theme:j(e)})}catch(e){n(e,{context:`native_launch_screen_ready`,bestEffort:!0})}}async function ne(e){if(M())try{await A.setTheme({theme:j(e)})}catch(e){n(e,{context:`native_launch_screen_theme_sync`,bestEffort:!0})}}function re(){return T.use.stringFlags().proactiveTips??`off`}function ie(e){return e===`on`}function N(e){return e===void 0||typeof e==`number`&&Number.isFinite(e)}function ae(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.shownCount==`number`&&Number.isFinite(t.shownCount)&&N(t.dismissedAt)&&N(t.lastShownAt)}function P(e){let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t))ae(r)&&(n[e]=r);return n}function oe(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}var F=x({key:`device:tips:records`,scope:`device`,parse:P,serialize:JSON.stringify,fallback:{}}),se=x({key:`device:tips:enabled`,scope:`device`,parse:b,serialize:String,fallback:!0}),I=x({key:`device:tips:first_seen_at`,scope:`device`,parse:oe,serialize:String,fallback:0});function ce(){I.load()===0&&I.save(Date.now())}function le(e,t){let n=F.load(),r=n[e];F.save({...n,[e]:{...r,lastShownAt:t,shownCount:(r?.shownCount??0)+1}})}function ue(e,t){let n=F.load(),r=n[e];F.save({...n,[e]:{...r,dismissedAt:t,shownCount:r?.shownCount??0}})}var de=`proactive-tips-v1`,fe={impression:0,learn_more:1,dismiss:2,dont_show_again:3,click:4,completion:5};function pe(e,t,n){ee({stepName:t,stepIndex:fe[t]},{funnelVersion:de,screen:e,variant:n})}function L(){let e=T.use.velvet(),[n,r]=(0,O.useState)(()=>S({velvetEnabled:e}));return(0,O.useEffect)(()=>{r(S({velvetEnabled:e}))},[e]),(0,O.useEffect)(()=>t(`theme`,()=>{r(S({velvetEnabled:e}))}),[e]),(0,O.useEffect)(()=>{w(n)},[n]),{theme:n,setThemePreference:e=>{r(e),C(e),ne(e)}}}var R=6e4;function z(e){return!!(e?.enabled&&e.effectivelyLocked)}function B(e){return z(e)?e.acknowledged&&!e.overrideActive:!1}function V(e){return!!(e&&z(e)&&!e.acknowledged&&!e.overrideActive)}function me(e){return!!(e?.enabled&&e.state===`warning`)}function he(e){return V(e)?`acknowledgement-required`:B(e)?`cleanup`:me(e)?`warning`:`inactive`}function ge({monitorEnabled:e,hasResolvedStatus:t,status:n}){return!e||!t?null:V(n)?`acknowledgement-required`:null}function _e(e){return`Storage cleanup mode must be acknowledged before sending messages.`}function H(e,t){return e===t?!0:!e||!t?!1:e.enabled===t.enabled&&e.state===t.state&&e.locked===t.locked&&e.acknowledged===t.acknowledged&&e.overrideActive===t.overrideActive&&e.effectivelyLocked===t.effectivelyLocked&&e.lockId===t.lockId&&e.usagePercent===t.usagePercent&&e.thresholdPercent===t.thresholdPercent&&e.path===t.path&&e.lastCheckedAt===t.lastCheckedAt&&e.error===t.error&&e.blockedCapabilities.length===t.blockedCapabilities.length&&e.blockedCapabilities.every((e,n)=>e===t.blockedCapabilities[n])}function ve(e){return e?.usagePercent==null||!Number.isFinite(e.usagePercent)?`Unknown`:`${Math.round(e.usagePercent)}%`}var U={assistantId:null,status:null,hasResolvedStatus:!1};function W({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r,fetchStatus:i,areStatusesEqual:a,deriveMode:o,extractSseStatus:s,onStatusEvent:c}){let[l,u]=(0,O.useState)(U),d=(0,O.useRef)(e),f=(0,O.useRef)(t),p=(0,O.useRef)(0),m=(0,O.useRef)(0),h=(0,O.useRef)(i),g=(0,O.useRef)(a),_=(0,O.useRef)(c);(0,O.useLayoutEffect)(()=>{d.current=e,f.current=t,h.current=i,g.current=a,_.current=c}),(0,O.useEffect)(()=>{p.current+=1,u(U)},[e,t]);let v=(0,O.useCallback)(()=>(p.current+=1,p.current),[]),y=(0,O.useCallback)((e,t)=>f.current&&d.current===e&&p.current===t,[]),b=(0,O.useCallback)((e,t,n,r)=>{y(e,r)&&u(r=>r.assistantId===e&&r.hasResolvedStatus===n&&g.current(r.status,t)?r:{assistantId:e,status:t,hasResolvedStatus:n})},[y]),x=(0,O.useCallback)(()=>{p.current+=1,u(U)},[]),S=(0,O.useCallback)(async()=>{let n=e;if(!t||!n){x();return}let r=p.current,i=m.current+1;m.current=i;try{let e=await h.current(n);if(m.current!==i)return;if(!e.ok){b(n,null,!1,r);return}b(n,e.data.status,!0,r)}catch{if(m.current!==i)return;b(n,null,!1,r)}},[e,b,x,t]);(0,O.useEffect)(()=>{if(!t||!e)return;S();let n=window.setInterval(()=>{S()},r);return()=>{window.clearInterval(n)}},[e,r,t,S,n]),E(`app.resume`,()=>{S()});let C=(0,O.useCallback)(n=>{if(!t||!e){x();return}let r=v();_.current?.(),b(e,n,!0,r)},[e,b,v,x,t]);E(`sse.event`,e=>{let t=s(e.message);t!==void 0&&C(t)});let w=t&&l.assistantId===e?l.status:null,T=!!(t&&e&&l.assistantId===e&&l.hasResolvedStatus);return{status:w,mode:(0,O.useMemo)(()=>o(w),[o,w]),hasResolvedStatus:T,applyStatusEvent:C,refresh:S,bumpGeneration:v,isCurrentRequest:y,applyStatusForAssistant:b,clearStatus:x}}var G=`Failed to acknowledge assistant disk pressure.`;function ye(e,t){return e instanceof Error?e:Error(t)}function be({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r=R}){let[i,a]=(0,O.useState)(!1),[o,s]=(0,O.useState)(null),c=(0,O.useCallback)(()=>{a(!1),s(null)},[]),l=W({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r,fetchStatus:g,areStatusesEqual:H,deriveMode:he,extractSseStatus:e=>e.type===`disk_pressure_status_changed`?e.status:void 0,onStatusEvent:c}),{applyStatusForAssistant:u,bumpGeneration:d,clearStatus:f,isCurrentRequest:p}=l;(0,O.useEffect)(()=>{c()},[e,t,c]);let m=(0,O.useCallback)(async()=>{let n=e;if(!t||!n){f();return}let r=d();a(!0),s(null);try{let e=await _(n);if(!e.ok)throw Error(G);if(!p(n,r))return;u(n,e.data.status,!0,d()),a(!1)}catch(e){p(n,r)&&s(ye(e,G))}finally{p(n,r)&&a(!1)}},[e,u,d,f,t,p]);return{status:l.status,mode:l.mode,hasResolvedStatus:l.hasResolvedStatus,isAcknowledging:i,acknowledgeError:o,acknowledge:m,applyStatusEvent:l.applyStatusEvent,refresh:l.refresh}}var K=o();function xe(e){let{status:t,mode:n,isAcknowledging:i=!1,acknowledgeError:o,onAcknowledge:s,onDismissWarning:f,onReviewWorkspaceData:p,onUpgradeStorage:m}=e,{t:h}=r(),[g,_]=(0,O.useState)(!1),[v,y]=(0,O.useState)(!1),b=ve(t);if(n===`warning`){let e=t.usagePercent??0;return(0,K.jsx)(u,{tone:`warning`,title:h(`diskPressureBanner.warningTitle`),icon:(0,K.jsx)(D,{className:`h-4 w-4`,"aria-hidden":`true`}),onDismiss:f?()=>f(v):void 0,className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:b})]}),(0,K.jsx)(`p`,{className:`m-0`,children:h(m?`diskPressureBanner.warningBodyWithUpgrade`:`diskPressureBanner.warningBody`)}),(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p&&(0,K.jsx)(a,{variant:`outlined`,size:`compact`,onClick:p,children:h(`diskPressureBanner.manageStorage`)}),m&&(0,K.jsx)(a,{variant:`outlined`,size:`compact`,onClick:m,children:h(`diskPressureBanner.upgrade`)}),f?(0,K.jsx)(c,{className:`ml-auto`,checked:v,onCheckedChange:e=>y(e===!0),label:h(`diskPressureBanner.dontShowAgain`),"data-testid":`disk-pressure-banner-dont-show-again`}):null]})]})})}if(n===`cleanup`){let e=t.usagePercent??0;return(0,K.jsx)(u,{tone:`warning`,title:h(`diskPressureBanner.cleanupTitle`),icon:(0,K.jsx)(D,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:b})]}),(0,K.jsx)(`p`,{className:`m-0`,children:h(`diskPressureBanner.cleanupBody`)}),(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[p&&(0,K.jsx)(a,{variant:`outlined`,size:`compact`,onClick:p,children:h(`diskPressureBanner.manageStorage`)}),m&&(0,K.jsx)(a,{variant:`outlined`,size:`compact`,onClick:m,children:h(`diskPressureBanner.upgrade`)})]})]})})}let x=t.usagePercent??0;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(u,{tone:`error`,title:h(`diskPressureBanner.criticalTitle`),icon:(0,K.jsx)(D,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${x}%`,backgroundColor:`var(--system-negative-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-negative-strong)]`,children:b})]}),(0,K.jsx)(`p`,{className:`m-0`,children:h(`diskPressureBanner.criticalBody`)}),o?(0,K.jsx)(`span`,{className:`text-[var(--system-negative-strong)]`,role:`alert`,children:o}):null,(0,K.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,K.jsx)(a,{variant:`primary`,size:`compact`,onClick:()=>_(!0),children:h(`diskPressureBanner.review`)})})]})}),(0,K.jsx)(d.Root,{open:g,onOpenChange:e=>{e||_(!1)},children:(0,K.jsxs)(d.Content,{size:`sm`,children:[(0,K.jsx)(d.Header,{icon:l,children:(0,K.jsx)(d.Title,{children:h(`diskPressureBanner.criticalTitle`)})}),(0,K.jsx)(d.Body,{children:(0,K.jsx)(d.Description,{children:h(`diskPressureBanner.criticalModalDescription`)})}),(0,K.jsxs)(d.Footer,{children:[m&&(0,K.jsx)(a,{variant:`outlined`,onClick:()=>{_(!1),m()},children:h(`diskPressureBanner.upgrade`)}),(0,K.jsx)(a,{variant:`primary`,disabled:i,onClick:()=>{s(),_(!1)},children:h(i?`diskPressureBanner.acknowledging`:`diskPressureBanner.acknowledge`)})]})]})})]})}var Se=`https://apps.apple.com/us/app/vellum-assistant/id6759934423`,q=`ai.vellum.assistant`,Ce=`https://play.google.com/store/apps/details?id=${q}`,J={ios:{downloaded:`app.iosNudge.downloaded`,bannerDismissed:`app.iosNudge.bannerDismissed`,assistantTurnsSeen:`app.iosNudge.assistantTurnsSeen`},android:{downloaded:`app.androidNudge.downloaded`,bannerDismissed:`app.androidNudge.bannerDismissed`,assistantTurnsSeen:`app.androidNudge.assistantTurnsSeen`}};function we(){let e=(void 0)?.trim();if(!e)return null;try{let t=new URL(e);return t.protocol===`https:`&&t.hostname===`play.google.com`&&t.pathname===`/store/apps/details`&&t.searchParams.get(`id`)===q?Ce:null}catch(e){if(e instanceof TypeError)return null;throw e}}function Y(e){return e===`ios`?`iOS`:`Android`}function X(e){if(e===`ios`)return{platform:e,appName:Y(e),storeUrl:Se};let t=we();return t?{platform:e,appName:Y(e),storeUrl:t}:null}function Te(e){return h(J[e].downloaded,!1)}function Z(e){m(J[e].downloaded,!0)}function Ee(e){return h(J[e].bannerDismissed,!1)}function De(e){m(J[e].bannerDismissed,!0)}function Q(e){return Math.max(0,p(J[e].assistantTurnsSeen,0))}function Oe(e,t=1){t<=0||f(J[e].assistantTurnsSeen,Q(e)+t)}function $(e){let t=X(e);return t?(window.open(t.storeUrl,`_blank`,`noopener,noreferrer`),!0):!1}function ke(e){let[t,n]=(0,O.useState)(!1),[r,i]=(0,O.useState)(!1),a=X(e)!==null;(0,O.useEffect)(()=>{n(Te(e)),i(Ee(e))},[e]);let o=(0,O.useCallback)(()=>{$(e)&&(Z(e),n(!0))},[e]),s=(0,O.useCallback)(()=>{De(e),i(!0)},[e]);return(0,O.useMemo)(()=>({bannerShouldShow:a&&!t&&!r,handleDownload:o,handleBannerDismiss:s}),[a,t,r,o,s])}var Ae=x({key:`device:cmd_enter_to_send`,scope:`device`,parse:b,serialize:String,fallback:!1}),je=x({key:`device:show_context_window_indicator`,scope:`device`,parse:b,serialize:String,fallback:!1});export{ie as C,D as E,I as S,te as T,ce as _,Oe as a,F as b,ke as c,be as d,W as f,pe as g,L as h,X as i,Z as l,ge as m,je as n,$ as o,_e as p,Y as r,Q as s,Ae as t,xe as u,ue as v,re as w,se as x,le as y};
@@ -1 +0,0 @@
1
- import{t as e}from"./button-B1kEAcLt.js";import{t}from"./jsx-runtime-COOF1INC.js";import{t as n}from"./loader-circle-DZ65N8bz.js";import{t as r}from"./triangle-alert-B6J57Xfo.js";import{t as i}from"./notice-BHeYlKvv.js";import{t as a}from"./modal-_49mDK_d.js";var o=t(),s=`data-confirm-dialog-confirm`;function c({open:t,title:c,message:l,error:u,confirmLabel:d=`Confirm`,cancelLabel:f=`Cancel`,destructive:p=!1,isPending:m=!1,onConfirm:h,onCancel:g}){return(0,o.jsx)(a.Root,{open:t,onOpenChange:e=>{!e&&!m&&g()},children:(0,o.jsxs)(a.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{let t=e.currentTarget?.querySelector(`[${s}]`);t&&(e.preventDefault(),t.focus())},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),m||g()},children:[(0,o.jsx)(a.Header,{icon:p?r:void 0,children:(0,o.jsx)(a.Title,{children:c})}),(0,o.jsxs)(a.Body,{children:[(0,o.jsx)(a.Description,{children:l}),u==null?null:(0,o.jsx)(`div`,{className:`mt-3`,children:(0,o.jsx)(i,{tone:`error`,children:u})})]}),(0,o.jsxs)(a.Footer,{children:[(0,o.jsx)(e,{variant:`outlined`,onClick:g,disabled:m,children:f}),(0,o.jsx)(e,{variant:p?`danger`:`primary`,onClick:h,disabled:m,leftIcon:m?(0,o.jsx)(n,{className:`animate-spin`}):void 0,[s]:``,children:d})]})]})})}export{c as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-B1kEAcLt.js";import{d as i,h as a}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{n as o}from"./QueryClientProvider-BPZM68-A.js";import{t as s}from"./useMutation-Cl7cazkm.js";import{t as c}from"./jsx-runtime-COOF1INC.js";import{t as l}from"./typography-SdxpXI_m.js";import{t as u}from"./card-B4b9cF6X.js";import{t as d}from"./link-2-Di62Fo_i.js";import{t as f}from"./loader-circle-DZ65N8bz.js";import{t as p}from"./triangle-alert-B6J57Xfo.js";import{n as m}from"./toast-BKrDuNtu.js";import{f as h}from"./routes-C6ueuiMd.js";import{t as g}from"./use-active-assistant-id-lxYJu99R.js";import{n as _}from"./a2a-invite-Dcxf1Lse.js";import{r as v}from"./contacts-gateway-BLGKdcif.js";var y=e(n(),1),b=c();function x(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function S(e){switch(e){case`expired`:case`not_found`:return`connectPage.errorExpired`;case`already_redeemed_by_other`:return`connectPage.errorAlreadyRedeemed`;case`sender_not_found`:return`connectPage.errorSenderNotFound`;case`not_platform_managed`:return`connectPage.errorNotPlatformManaged`;default:return null}}function C(){return(0,b.jsx)(w,{assistantId:g()})}function w({assistantId:e}){let{t:n}=t(`contacts`),c=i(),g=o(),[C]=a(),w=(0,y.useMemo)(()=>_(C),[C]),T=s({mutationFn:()=>{if(!w)throw Error(`Invalid invite link`);return v(e,{senderAssistantId:w.senderAssistantId,token:w.token})},onSuccess:e=>{e.success&&(g.invalidateQueries({predicate:e=>x(e.queryKey)}),e.alreadyConnected?m(n(`connectPage.alreadyConnected`)):m(n(`connectPage.connected`)),c(h.contacts.root))}}),E=(0,y.useCallback)(()=>{c(h.contacts.root)},[c]),D=(0,y.useCallback)(()=>{T.mutate()},[T]),O=(0,y.useMemo)(()=>{if(T.isError)return T.error instanceof Error?T.error.message:n(`connectPage.errorGeneric`);if(T.data&&!T.data.success){let e=S(T.data.errorCode);return e?n(e):T.data.error||n(`connectPage.errorGeneric`)}return null},[T.isError,T.error,T.data,n]);return w?(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(u,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(d,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,b.jsx)(l,{variant:`title-small`,children:n(`connectPage.title`)})]}),(0,b.jsx)(l,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:n(`connectPage.body`)}),O&&(0,b.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,b.jsx)(p,{className:`h-4 w-4 shrink-0`}),(0,b.jsx)(l,{variant:`body-small-default`,children:O})]}),(0,b.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,b.jsx)(r,{variant:`primary`,onClick:D,disabled:T.isPending,children:T.isPending?(0,b.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(f,{className:`h-4 w-4 animate-spin`}),n(`actions.connecting`)]}):n(`actions.connect`)}),(0,b.jsx)(r,{variant:`outlined`,onClick:E,disabled:T.isPending,children:n(`actions.cancel`)})]})]})})}):(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(u,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(p,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,b.jsx)(l,{variant:`title-small`,children:n(`connectPage.invalidTitle`)})]}),(0,b.jsx)(l,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:n(`connectPage.invalidBody`)}),(0,b.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,b.jsx)(r,{variant:`primary`,onClick:E,children:n(`connectPage.goToContacts`)})})]})})})}export{C as ConnectPage};
@@ -1 +0,0 @@
1
- import{v as e}from"./i18n-BtV8MCsZ.js";import{t}from"./jsx-runtime-COOF1INC.js";import{t as n}from"./card-B4b9cF6X.js";import{t as r}from"./checkbox--DYEubRE.js";import{t as i}from"./Trans-CBhhVbOk.js";import{d as a,f as o}from"./routes-C6ueuiMd.js";import{t as s}from"./setting-row-urcByt7n.js";var c=t(),l=[`[&_button[data-state=checked]]:bg-[var(--primary-base)]`,`[&_svg]:text-[var(--content-inset)]`,`[&_button[data-state=unchecked]]:bg-[var(--surface-base)]`,`[&_button[data-state=unchecked]]:border-[var(--border-element)]`].join(` `),u=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,d={privacy:{href:o.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:o.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function f({kind:e,checked:t,onChange:n}){let o=d[e];return(0,c.jsx)(r,{checked:t,onCheckedChange:e=>n(e===!0),label:(0,c.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,c.jsx)(i,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:o.text},components:{link:(0,c.jsx)(`a`,{href:a(o.href),target:`_blank`,rel:`noreferrer`,className:`underline`})}})}),"aria-label":o.aria,className:l})}function p(){return(0,c.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function m({notes:t}){let{t:n}=e(`onboarding`);return!t||t.length===0?null:(0,c.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,c.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:n(`consentControls.whatsChanged`)}),t.length===1?(0,c.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:t[0]}):(0,c.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:t.map(e=>(0,c.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,c.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,c.jsx)(`span`,{children:e})]},e))})]})}function h({electron:t,showAnalytics:r=!0,showDiagnostics:i=!0,shareAnalytics:a,shareDiagnostics:o,onShareAnalyticsChange:l,onShareDiagnosticsChange:d,className:f,style:m}){let{t:h}=e(`onboarding`);return(0,c.jsxs)(`section`,{className:f,style:m,children:[(0,c.jsx)(`p`,{className:u,children:h(`consentControls.privacyPreferences`)}),(0,c.jsx)(n,{padding:t?`sm`:`md`,className:`w-full`,children:(0,c.jsxs)(`div`,{className:`flex flex-col ${t?`gap-3`:`gap-4`}`,children:[r&&(0,c.jsx)(s,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:a,onChange:l}),r&&i&&(0,c.jsx)(p,{}),i&&(0,c.jsx)(s,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:d})]})})]})}function g({electron:t,showPrivacy:r=!0,showTos:i=!0,privacyConsent:a,tosAccepted:o,onPrivacyChange:s,onTosChange:l,privacyNotes:d,tosNotes:p,className:h,style:g}){let{t:_}=e(`onboarding`);return(0,c.jsxs)(`section`,{className:h,style:g,children:[(0,c.jsx)(`p`,{className:u,children:_(`consentControls.agreements`)}),(0,c.jsx)(n,{padding:t?`sm`:`md`,className:`w-full`,children:(0,c.jsxs)(`div`,{className:`flex flex-col ${t?`gap-3.5`:`gap-4`}`,children:[r&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:d}),(0,c.jsx)(f,{kind:`privacy`,checked:a,onChange:s})]}),i&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:p}),(0,c.jsx)(f,{kind:`tos`,checked:o,onChange:l})]})]})})]})}export{h as n,g as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./onboarding-store-BhT1z8Wi.js";function t(){let{shareAnalytics:t,serverAnalyticsEffective:n,pendingAnalyticsOptIn:r}=e.getState();return t===!1?!1:r?!0:n??!0}export{t};