@vellumai/web 0.12.2 → 0.12.3-staging.1

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 (448) hide show
  1. package/dist/assets/{a2a-invite-BOdHy8O9.js → a2a-invite-DBlDzShH.js} +1 -1
  2. package/dist/assets/{about-page-COxmu2oQ.js → about-page-DdLu4gin.js} +1 -1
  3. package/dist/assets/{account-page-CYNbvuWs.js → account-page-CRCayJE1.js} +1 -1
  4. package/dist/assets/{account-shell-CbiWTAQP.js → account-shell-CIfUqVu1.js} +1 -1
  5. package/dist/assets/acp-run-detail-panel-Be03WYUS.js +3 -0
  6. package/dist/assets/activation-list-route-BiHOPkuW.js +1 -0
  7. package/dist/assets/{activity-redirect-page-BWj7yOid.js → activity-redirect-page-DM_5_I_D.js} +1 -1
  8. package/dist/assets/activity-steps-panel-BXkDyFqw.js +1 -0
  9. package/dist/assets/add-credits-modal-Bjj5IcfD.js +1 -0
  10. package/dist/assets/{add-credits-modal-B0DI6Rs_.js → add-credits-modal-CzEGqiQb.js} +1 -1
  11. package/dist/assets/ai-page-BhWTbyQ2.js +1 -0
  12. package/dist/assets/android-billing-handoff-Cbg8fsR3.js +1 -0
  13. package/dist/assets/{api-key-screen-fY9JjhTe.js → api-key-screen-VGgQ3yZn.js} +1 -1
  14. package/dist/assets/app-BFMKh-Wt.css +2 -0
  15. package/dist/assets/{app-info-B8Mqmeak.js → app-info-Clahy-Wt.js} +1 -1
  16. package/dist/assets/app-n7D5Q-HS.js +392 -0
  17. package/dist/assets/archive-redirect-page-DebwOmzE.js +1 -0
  18. package/dist/assets/{assistant-status-panel-BALzwsAc.js → assistant-status-panel-B1FR7MM1.js} +1 -1
  19. package/dist/assets/auth-store-C6J2aPKg.js +1 -0
  20. package/dist/assets/{auth-welcome-screen-D2mxoZEG.js → auth-welcome-screen-BeA5CpIk.js} +1 -1
  21. package/dist/assets/avatar-bundled-components-L3rXWeWJ.js +1 -0
  22. package/dist/assets/avatar-random-CWz7C9rs.js +2 -0
  23. package/dist/assets/{await-org-header-settled-CYxBtSPa.js → await-org-header-settled-BOJkVf_1.js} +1 -1
  24. package/dist/assets/background-task-detail-panel-t9FRp_-Z.js +1 -0
  25. package/dist/assets/billing-page-CL0Pdh_3.js +3 -0
  26. package/dist/assets/{billing-redirect-page-nGTPWHMN.js → billing-redirect-page-DDf6m-FK.js} +1 -1
  27. package/dist/assets/{bookmarks-page-CGd4Okx8.js → bookmarks-page-UXQyS5kQ.js} +1 -1
  28. package/dist/assets/{bundle-confirm-page-BuQ9wfYw.js → bundle-confirm-page-Wg-3XwhK.js} +1 -1
  29. package/dist/assets/channel-transcript-panel-HxUNeT8p.js +1 -0
  30. package/dist/assets/channels-page-route-Cz5m59Qi.js +1 -0
  31. package/dist/assets/chat-CBbKX2hh.js +3 -0
  32. package/dist/assets/chat-CVcAmb4G.js +3 -0
  33. package/dist/assets/chat-Cp6r9FuL.js +3 -0
  34. package/dist/assets/chat-DaQ9msXY.js +3 -0
  35. package/dist/assets/chat-info-panel-DEanOgSg.js +1 -0
  36. package/dist/assets/{checkout-continuation-ATko7N-k.js → checkout-continuation-BKsgghES.js} +1 -1
  37. package/dist/assets/{checkout-page-CVp2T6mP.js → checkout-page-C73ixDgx.js} +1 -1
  38. package/dist/assets/checkout-return-target-DDDp8tMv.js +1 -0
  39. package/dist/assets/command-palette-Bqkpugfw.js +1 -0
  40. package/dist/assets/{command-palette-BuaJlwlj.js → command-palette-DvhQJQSH.js} +1 -1
  41. package/dist/assets/{command-palette-window-page-UeoQHE-2.js → command-palette-window-page-DGDhA-B4.js} +1 -1
  42. package/dist/assets/common-B9fnih0e.js +1 -0
  43. package/dist/assets/common-DbDGhUk1.js +1 -0
  44. package/dist/assets/common-twS-Xtq8.js +1 -0
  45. package/dist/assets/common-ue46KSet.js +1 -0
  46. package/dist/assets/{community-page-rNFPZE2f.js → community-page-Dob0FV5_.js} +1 -1
  47. package/dist/assets/{companion-accent-C3xBrXHO.js → companion-accent-la8ZJ6IC.js} +1 -1
  48. package/dist/assets/{companion-dock-zones-page-plFxxNVK.js → companion-dock-zones-page-CFJTproC.js} +1 -1
  49. package/dist/assets/{companion-layout-Cu_j-nKV.js → companion-layout-BuxIBkh-.js} +1 -1
  50. package/dist/assets/{companion-popover-STvrRaku.js → companion-popover-BBqEGBTZ.js} +1 -1
  51. package/dist/assets/{companion-popover-page-Dvft1iSc.js → companion-popover-page-Ck2zhqqG.js} +1 -1
  52. package/dist/assets/companion-surface-page-D7cjO06j.js +1 -0
  53. package/dist/assets/{companion-watch-frame-page-DLTwthiI.js → companion-watch-frame-page-pWwGxOZY.js} +1 -1
  54. package/dist/assets/{connect-page-BtvEUJj6.js → connect-page-lW4ZEcOf.js} +1 -1
  55. package/dist/assets/{consent-controls-CjyXQ2Ju.js → consent-controls--WNBdiwt.js} +1 -1
  56. package/dist/assets/contacts-gateway-CWKximoP.js +1 -0
  57. package/dist/assets/contacts-page-route-8Nysvlx4.js +1 -0
  58. package/dist/assets/copy-button-DPlyOF7A.js +1 -0
  59. package/dist/assets/{credential-entry-page-CvXfQZPl.js → credential-entry-page-CRLQ3v95.js} +1 -1
  60. package/dist/assets/credentials-page-CcY2zM5u.js +1 -0
  61. package/dist/assets/{csv-preview-TFV8b1Dq.js → csv-preview-Cx1awfot.js} +1 -1
  62. package/dist/assets/danger-zone-redirect-page-CduOjFC8.js +1 -0
  63. package/dist/assets/debug-page-B5rdWQOa.js +4 -0
  64. package/dist/assets/deploy-dialogs-Bcjd9rq0.js +1 -0
  65. package/dist/assets/deploy-dialogs-CoLI4cjl.js +1 -0
  66. package/dist/assets/desktop-preview-content-V-sOQVf4.js +2 -0
  67. package/dist/assets/{desktop-status-CPR10G_B.js → desktop-status-Br7Q6i6P.js} +1 -1
  68. package/dist/assets/{desktop-viewer-Cm09cFMg.js → desktop-viewer-DffX_ioO.js} +2 -2
  69. package/dist/assets/{detail-card-pT0agbKq.js → detail-card-BkqRteiy.js} +1 -1
  70. package/dist/assets/{detail-panel-stop-button-DWoO-nJN.js → detail-panel-stop-button-B-4csyQj.js} +1 -1
  71. package/dist/assets/detail-primitives-ChhRyu-L.js +1 -0
  72. package/dist/assets/developer-page-BHH-G3vb.js +1 -0
  73. package/dist/assets/devices-redirect-page-Ci4S4x-o.js +1 -0
  74. package/dist/assets/{dictation-overlay-page-CG8S4p0x.js → dictation-overlay-page-DFWMmpSF.js} +1 -1
  75. package/dist/assets/{document-load-DShQChFM.js → document-load-BK4EO7RZ.js} +1 -1
  76. package/dist/assets/document-load-BRhCAhb0.js +1 -0
  77. package/dist/assets/document-viewer-page-8sDnK841.js +1 -0
  78. package/dist/assets/{ellipsis-vertical-Dbz00Lo-.js → ellipsis-vertical-DWDUOGRm.js} +1 -1
  79. package/dist/assets/{emails-page-BlP1KP70.js → emails-page-DO9ZE3jU.js} +1 -1
  80. package/dist/assets/environment-store-BeKdNCDQ.js +1 -0
  81. package/dist/assets/esm-BGKIdtva.js +2 -0
  82. package/dist/assets/esm-CeA0xUzc.js +2 -0
  83. package/dist/assets/{esm-BRap8C09.js → esm-CkWCRmp8.js} +1 -1
  84. package/dist/assets/esm-CskPvois.js +2 -0
  85. package/dist/assets/esm-DC5Xk3B0.js +2 -0
  86. package/dist/assets/esm-DbCpCgyJ.js +1 -0
  87. package/dist/assets/{esm-C8i-Nf3-.js → esm-DcW4PisK.js} +1 -1
  88. package/dist/assets/esm-DtH_yADh.js +1 -0
  89. package/dist/assets/esm-hhBjqEXz.js +2 -0
  90. package/dist/assets/{esm-BfMa-HX2.js → esm-hzkaqWNK.js} +2 -2
  91. package/dist/assets/{file-diff-view-CO2QJdSQ.js → file-diff-view-C9bCfhOV.js} +1 -1
  92. package/dist/assets/file-editor-CfRnh-Mo.js +1 -0
  93. package/dist/assets/general-page-DjjeWAtL.js +2 -0
  94. package/dist/assets/hatching-screen-B9jbVOd6.js +1 -0
  95. package/dist/assets/home-BVIzMQck.js +1 -0
  96. package/dist/assets/home-CCaaP5mz.js +1 -0
  97. package/dist/assets/home-Dn0m9kBd.js +1 -0
  98. package/dist/assets/home-DpWJt0sR.js +1 -0
  99. package/dist/assets/{hosting-screen-nVYKldkt.js → hosting-screen-CGLHzAHy.js} +1 -1
  100. package/dist/assets/icons-DxrLl-Dj.js +1 -0
  101. package/dist/assets/identity-page-route-BuLKelGC.js +7 -0
  102. package/dist/assets/inspect-page-DKNTTk-0.js +9 -0
  103. package/dist/assets/integrations-page-DyiqZ_kn.js +1 -0
  104. package/dist/assets/{intelligence-layout-BUGM35jP.js → intelligence-layout-SSf_CqAg.js} +1 -1
  105. package/dist/assets/intelligence-layout-slots-store-DqHNLKm3.js +1 -0
  106. package/dist/assets/keyboard-shortcuts-redirect-page-CO4tE0_q.js +1 -0
  107. package/dist/assets/{latest-assistant-text-CaZrfk6l.js → latest-assistant-text-dvDZFw6m.js} +1 -1
  108. package/dist/assets/library-detail-page-B7-d8yHD.js +1 -0
  109. package/dist/assets/library-page-D2GjaHzY.js +1 -0
  110. package/dist/assets/local-mode-CMLuHoSn.js +1 -0
  111. package/dist/assets/login-page-CFgNabXb.js +1 -0
  112. package/dist/assets/{logout-page-DpNGL-t4.js → logout-page-DwDFjp0Z.js} +1 -1
  113. package/dist/assets/{logs-layout-BqrW_P--.js → logs-layout-BBZ9RAjZ.js} +1 -1
  114. package/dist/assets/markdown-preview-CaBuvjCf.js +1 -0
  115. package/dist/assets/{media-preview-DvdWd4rA.js → media-preview-BoHSPjgq.js} +1 -1
  116. package/dist/assets/memory-page-route-BYhuTazu.js +2 -0
  117. package/dist/assets/{memory-router-playground-page-BmST7_Kw.js → memory-router-playground-page-0MqBO297.js} +1 -1
  118. package/dist/assets/message-files-panel-DQG3vRZi.js +1 -0
  119. package/dist/assets/{metric-card-BLErTI6M.js → metric-card-CfWDowxR.js} +1 -1
  120. package/dist/assets/native-attachment-pickers-Ck3NxYSR.js +1 -0
  121. package/dist/assets/native-file-D0OMqAkq.js +1 -0
  122. package/dist/assets/{notifications-page-wjJIxJdC.js → notifications-page-DKf_7eYc.js} +1 -1
  123. package/dist/assets/{oauth-complete-page-DMvGhbPg.js → oauth-complete-page-cDoKH693.js} +1 -1
  124. package/dist/assets/{oauth-popup-complete-page-BjtYXKTi.js → oauth-popup-complete-page-Cp0vjEmH.js} +1 -1
  125. package/dist/assets/paired-platform-identity-DskZXcWX.js +1 -0
  126. package/dist/assets/{pairing-page-BfrUX_YA.js → pairing-page-skO554fH.js} +1 -1
  127. package/dist/assets/password-reset-page-Dr8OrlGm.js +1 -0
  128. package/dist/assets/{pdf-file-preview-Cv30v3e_.js → pdf-file-preview-DC5vOcs5.js} +1 -1
  129. package/dist/assets/{peeking-eyes-DJkKQl-G.js → peeking-eyes-C795qorf.js} +1 -1
  130. package/dist/assets/{personality-page-D03UdQms.js → personality-page-BkCqu5OB.js} +1 -1
  131. package/dist/assets/{personality-page-CUwdmzId.js → personality-page-fO74T0hs.js} +1 -1
  132. package/dist/assets/personality-sliders-sAKu2C74.js +1 -0
  133. package/dist/assets/plans-page-C5BxyaZO.js +1 -0
  134. package/dist/assets/{platform-loopback-page-C3a-am1y.js → platform-loopback-page-CrowCjnc.js} +1 -1
  135. package/dist/assets/{plugin-detail-page-D52frrTx.js → plugin-detail-page-DdUXGKxQ.js} +1 -1
  136. package/dist/assets/{plugins-page-RrhNT7og.js → plugins-page-DfMdsxPx.js} +1 -1
  137. package/dist/assets/plugins-surface-BL69ztAA.js +1 -0
  138. package/dist/assets/{preview-error-BlHGLqgj.js → preview-error-vi2B-l2a.js} +1 -1
  139. package/dist/assets/privacy-page-znT2Mvu5.js +1 -0
  140. package/dist/assets/{privacy-screen-Bkjr2dIv.js → privacy-screen-Dofd5Mz8.js} +1 -1
  141. package/dist/assets/{provider-callback-page-DGAy5DvE.js → provider-callback-page-BjwoQL8R.js} +1 -1
  142. package/dist/assets/{provider-key-CHOBBf9E.js → provider-key-CFsemHfe.js} +1 -1
  143. package/dist/assets/{provider-signup-page-BG1mhVYr.js → provider-signup-page-Cqs--Pss.js} +1 -1
  144. package/dist/assets/{provisioning-targets-B5flnyHy.js → provisioning-targets-DdPIF4Aj.js} +1 -1
  145. package/dist/assets/{quick-input-page-CCDzeBSI.js → quick-input-page-RhvkuA-a.js} +1 -1
  146. package/dist/assets/referral-modal-D3YmuUji.js +1 -0
  147. package/dist/assets/referral-modal-WPGRXuLA.js +1 -0
  148. package/dist/assets/{rehype-katex-Bp74Wkmo.js → rehype-katex-Cj-PIKJ4.js} +1 -1
  149. package/dist/assets/{research-mock-page-CHfDwifi.js → research-mock-page-DtY0W-jo.js} +1 -1
  150. package/dist/assets/research-onboarding-route-8bvvxnvF.js +50 -0
  151. package/dist/assets/{review-terms-screen-C2vdbHvu.js → review-terms-screen-DlpazHw3.js} +1 -1
  152. package/dist/assets/routes-DaWUVprK.js +1 -0
  153. package/dist/assets/schedules-DzyEr3no.js +1 -0
  154. package/dist/assets/schedules-page-CR1ee93h.js +1 -0
  155. package/dist/assets/security-redirect-page-C3bkYPpB.js +1 -0
  156. package/dist/assets/select-assistant-screen-Dzrgh4-3.js +1 -0
  157. package/dist/assets/{self-hosted-servers-CsZVedz3.js → self-hosted-servers-C9NSM8gD.js} +1 -1
  158. package/dist/assets/{service-form-controls-DTfO4j3O.js → service-form-controls-BtX2YnjY.js} +1 -1
  159. package/dist/assets/{setting-row-B9yebbEq.js → setting-row-Dhzhn9MB.js} +1 -1
  160. package/dist/assets/settings-BaBLTX_4.js +3 -0
  161. package/dist/assets/settings-DYkeeCDS.js +3 -0
  162. package/dist/assets/settings-DrC1YWLC.js +3 -0
  163. package/dist/assets/settings-divider-D9PQS5sY.js +1 -0
  164. package/dist/assets/{settings-layout-D6972VFH.js → settings-layout-DgPLIzdo.js} +1 -1
  165. package/dist/assets/settings-zLCbPrgt.js +3 -0
  166. package/dist/assets/share-feedback-modal-8OzEECo-.js +1 -0
  167. package/dist/assets/share-feedback-modal-B7VbR0v7.js +2 -0
  168. package/dist/assets/{sidebar-tree-C-XVAOgc.js → sidebar-tree-J3jVmAh0.js} +1 -1
  169. package/dist/assets/{signup-page-DdiJpBz3.js → signup-page-26zBZOTJ.js} +1 -1
  170. package/dist/assets/{signup-shell-_mEn5UNl.js → signup-shell-BqsMKj0N.js} +1 -1
  171. package/dist/assets/skill-detail-page-xDrQtE_K.js +2 -0
  172. package/dist/assets/skill-detail-panel-CbQ0z2ls.js +1 -0
  173. package/dist/assets/{skill-removal-dialog-CWQDV20Q.js → skill-removal-dialog-CTrw0VTo.js} +1 -1
  174. package/dist/assets/{skills-page-CkHlkDe4.js → skills-page-DyoAyL-Y.js} +1 -1
  175. package/dist/assets/{sounds-page-DZ9H_Uhf.js → sounds-page-DN6yTY9n.js} +1 -1
  176. package/dist/assets/{start-screen-CPuK_kcL.js → start-screen-hgI5Ztmj.js} +1 -1
  177. package/dist/assets/{stt-language-picker-modal-vTox8Zp8.js → stt-language-picker-modal-5mPezSwB.js} +1 -1
  178. package/dist/assets/subagent-detail-panel-Dq6cXS-i.js +1 -0
  179. package/dist/assets/superpowers-page-B9eA7_2A.js +1 -0
  180. package/dist/assets/{system-events-page-CxJryFCX.js → system-events-page-B2JPqyrn.js} +1 -1
  181. package/dist/assets/system-events-redirect-page-C3FW7lke.js +1 -0
  182. package/dist/assets/{text-preview-BZ7GgUAU.js → text-preview-cPzlZljx.js} +1 -1
  183. package/dist/assets/{theme-stage-page-BBUhsE2D.js → theme-stage-page-l6bxpzmD.js} +1 -1
  184. package/dist/assets/{tiptap-document-editor-DR6f403A.js → tiptap-document-editor-DZcFWtPf.js} +2 -2
  185. package/dist/assets/tool-detail-panel-Mme2rbul.js +1 -0
  186. package/dist/assets/tool-detail-panel-dCPxQfT2.js +15 -0
  187. package/dist/assets/{trait-cycle-row-BRsd1qDW.js → trait-cycle-row-CEqSGPz2.js} +1 -1
  188. package/dist/assets/upgrade-cancel-page-B-D_oeBx.js +1 -0
  189. package/dist/assets/upgrade-success-page-DCwSI4N0.js +1 -0
  190. package/dist/assets/{usage-redirect-page-DmacFGtX.js → usage-redirect-page-DKaEQTLK.js} +1 -1
  191. package/dist/assets/use-app-delete-Cl7y_3Ka.js +1 -0
  192. package/dist/assets/{use-assistant-identity-details-BqNoC_Po.js → use-assistant-identity-details-DBNlc3LO.js} +1 -1
  193. package/dist/assets/use-checkout-dismiss-refresh-D13I69hb.js +1 -0
  194. package/dist/assets/use-debounced-value-Da0RJeae.js +1 -0
  195. package/dist/assets/{use-edge-swipe-back-DMaMp9xI.js → use-edge-swipe-back-DW3HRHcT.js} +1 -1
  196. package/dist/assets/{use-hotkey-recorder-CVYKioKK.js → use-hotkey-recorder-Di3iXQJb.js} +1 -1
  197. package/dist/assets/use-invite-link-dialog-BSufG3vr.js +1 -0
  198. package/dist/assets/{use-platform-assistant-id-CPNM_Svc.js → use-platform-assistant-id-CKhExZPC.js} +1 -1
  199. package/dist/assets/use-plugins-list-BTPeAWTb.js +1 -0
  200. package/dist/assets/use-return-to-short-circuit-BIecKROR.js +1 -0
  201. package/dist/assets/{use-side-list-room-XknEC6_F.js → use-side-list-room-C4-lrJ7T.js} +1 -1
  202. package/dist/assets/{use-skill-actions-B7qsFEjO.js → use-skill-actions-B3-h8aTL.js} +1 -1
  203. package/dist/assets/{use-skill-detail-files-Caa0kAOC.js → use-skill-detail-files-Bp1ZrmrD.js} +1 -1
  204. package/dist/assets/use-supports-credentials-settings-D1R1OKic.js +1 -0
  205. package/dist/assets/use-transcript-message-by-id-CWtKMTjb.js +1 -0
  206. package/dist/assets/{vendor-DYOeoIwg.js → vendor-DUzxlXbu.js} +17 -17
  207. package/dist/assets/voice-page-CUbLB1IH.js +1 -0
  208. package/dist/assets/{wake-detail-panel-JG7TyKGn.js → wake-detail-panel-DXNbDu7k.js} +1 -1
  209. package/dist/assets/{weather-forecast-display-CZYQX4n1.js → weather-forecast-display-Dx_JDnVC.js} +1 -1
  210. package/dist/assets/{web-CkN0uo01.js → web-8nc1FdUf.js} +1 -1
  211. package/dist/assets/{web-Bb3bM_rE.js → web-BIq0eRiB.js} +1 -1
  212. package/dist/assets/{web-ZV0_2EZ9.js → web-BMzfWFM-.js} +1 -1
  213. package/dist/assets/{web-CQyztjRg.js → web-BgEkRgce.js} +1 -1
  214. package/dist/assets/{web-B_ZkQa17.js → web-DGjg0P8a.js} +1 -1
  215. package/dist/assets/{web-7w3Y8MVH.js → web-DaIUYGHw.js} +1 -1
  216. package/dist/assets/{web-ocPGQzbv.js → web-Dq2IVkFl.js} +1 -1
  217. package/dist/assets/{web-DZd0e2iR.js → web-SBJYIwk0.js} +1 -1
  218. package/dist/assets/{web-DpFmNxr1.js → web-nBaaP7qv.js} +1 -1
  219. package/dist/assets/welcome-screen-bgD2LcV9.js +1 -0
  220. package/dist/assets/workflow-detail-panel-CTOW3eOK.js +1 -0
  221. package/dist/assets/workspace-9CiV_W5c.js +1 -0
  222. package/dist/assets/{workspace-DOerIby3.js → workspace-DWS-BW9d.js} +1 -1
  223. package/dist/assets/workspace-hqnPWewF.js +1 -0
  224. package/dist/assets/workspace-page-DBWsGAaO.js +1 -0
  225. package/dist/assets/workspace-uAp0lLvq.js +1 -0
  226. package/dist/images/integrations/ATTRIBUTION.md +12 -0
  227. package/dist/images/integrations/amplemarket-mcp.png +0 -0
  228. package/dist/images/integrations/ashby-mcp.png +0 -0
  229. package/dist/images/integrations/atlassian-mcp.png +0 -0
  230. package/dist/images/integrations/attio-mcp.png +0 -0
  231. package/dist/images/integrations/brex-mcp.png +0 -0
  232. package/dist/images/integrations/calendly-mcp.png +0 -0
  233. package/dist/images/integrations/circleback-mcp.png +0 -0
  234. package/dist/images/integrations/clay-mcp.png +0 -0
  235. package/dist/images/integrations/craft-mcp.png +0 -0
  236. package/dist/images/integrations/customer-io-mcp.png +0 -0
  237. package/dist/images/integrations/fathom-mcp.png +0 -0
  238. package/dist/images/integrations/fireflies-mcp.png +0 -0
  239. package/dist/images/integrations/gamma-mcp.png +0 -0
  240. package/dist/images/integrations/guru-mcp.png +0 -0
  241. package/dist/images/integrations/interactive-brokers-mcp.png +0 -0
  242. package/dist/images/integrations/intercom-mcp.png +0 -0
  243. package/dist/images/integrations/jotform-mcp.png +0 -0
  244. package/dist/images/integrations/juicebox-mcp.png +0 -0
  245. package/dist/images/integrations/klaviyo-mcp.png +0 -0
  246. package/dist/images/integrations/linear-mcp.png +0 -0
  247. package/dist/images/integrations/mailerlite-mcp.png +0 -0
  248. package/dist/images/integrations/meltwater-mcp.png +0 -0
  249. package/dist/images/integrations/mem-mcp.png +0 -0
  250. package/dist/images/integrations/mercury-mcp.png +0 -0
  251. package/dist/images/integrations/navan-mcp.png +0 -0
  252. package/dist/images/integrations/notion-mcp.png +0 -0
  253. package/dist/images/integrations/otter-mcp.png +0 -0
  254. package/dist/images/integrations/profound-mcp.png +0 -0
  255. package/dist/images/integrations/ramp-mcp.png +0 -0
  256. package/dist/images/integrations/readwise-mcp.png +0 -0
  257. package/dist/images/integrations/semrush-mcp.png +0 -0
  258. package/dist/images/integrations/sentry-mcp.png +0 -0
  259. package/dist/images/integrations/stripe-mcp.png +0 -0
  260. package/dist/images/integrations/todoist-mcp.png +0 -0
  261. package/dist/images/integrations/typeform-mcp.png +0 -0
  262. package/dist/images/integrations/upwork-mcp.png +0 -0
  263. package/dist/images/integrations/webull-mcp.png +0 -0
  264. package/dist/index.html +4 -4
  265. package/package.json +1 -1
  266. package/dist/assets/acp-run-detail-panel-B5vKfWQN.js +0 -3
  267. package/dist/assets/activation-list-route-BOb-rtBa.js +0 -1
  268. package/dist/assets/activity-steps-panel-DmC1H7g8.js +0 -1
  269. package/dist/assets/add-credits-modal-Clg9vuy6.js +0 -1
  270. package/dist/assets/ai-page-CUKc_nmb.js +0 -1
  271. package/dist/assets/android-billing-handoff-CpzR7JDr.js +0 -1
  272. package/dist/assets/app-BNL3dwNm.css +0 -2
  273. package/dist/assets/app-Tg6YU_tZ.js +0 -392
  274. package/dist/assets/archive-redirect-page-De-Keegk.js +0 -1
  275. package/dist/assets/auth-store-D-6LI7o_.js +0 -1
  276. package/dist/assets/avatar-bundled-components-Bo-wVBBE.js +0 -1
  277. package/dist/assets/avatar-random-ZUs-wFAP.js +0 -2
  278. package/dist/assets/background-task-detail-panel-D4CYPLDN.js +0 -1
  279. package/dist/assets/billing-page-CqDMGSHe.js +0 -3
  280. package/dist/assets/channel-transcript-panel-Ca2IqSxd.js +0 -1
  281. package/dist/assets/channels-page-route-BrkM9cD0.js +0 -1
  282. package/dist/assets/chat-8C19KXOV.js +0 -3
  283. package/dist/assets/chat-B8bCjQZ1.js +0 -3
  284. package/dist/assets/chat-BMyAegHU.js +0 -3
  285. package/dist/assets/chat-info-panel-CFHg5G5C.js +0 -1
  286. package/dist/assets/chat-k0ASlCf6.js +0 -3
  287. package/dist/assets/checkout-return-target-BM6j8E5w.js +0 -1
  288. package/dist/assets/command-palette-DkTYuZU8.js +0 -1
  289. package/dist/assets/common-Bj2G8_g5.js +0 -1
  290. package/dist/assets/common-CaTw6iFT.js +0 -1
  291. package/dist/assets/common-DvY3wB2D.js +0 -1
  292. package/dist/assets/common-HddDknEB.js +0 -1
  293. package/dist/assets/companion-surface-page-DHxOTQOL.js +0 -1
  294. package/dist/assets/contacts-gateway-CZ3fJfK5.js +0 -1
  295. package/dist/assets/contacts-page-route-CNXEHOrf.js +0 -1
  296. package/dist/assets/credentials-page-DsxuB0Ui.js +0 -1
  297. package/dist/assets/danger-zone-redirect-page-C23hsdDS.js +0 -1
  298. package/dist/assets/debug-page-6PKrAjce.js +0 -4
  299. package/dist/assets/deploy-dialogs-BXYdSkVL.js +0 -1
  300. package/dist/assets/deploy-dialogs-C0gFbHA2.js +0 -1
  301. package/dist/assets/desktop-preview-content-Cc9hlQ4Q.js +0 -2
  302. package/dist/assets/detail-primitives-ue4wzzCx.js +0 -1
  303. package/dist/assets/developer-page-DcZbWcLH.js +0 -1
  304. package/dist/assets/devices-redirect-page-Bxu6ZvQb.js +0 -1
  305. package/dist/assets/document-load-B8iTfjYL.js +0 -1
  306. package/dist/assets/document-viewer-page-BStfu3jJ.js +0 -1
  307. package/dist/assets/environment-store-rH-YdiqT.js +0 -1
  308. package/dist/assets/esm-BarLUlPV.js +0 -2
  309. package/dist/assets/esm-C19uvbek.js +0 -2
  310. package/dist/assets/esm-CI79f_VT.js +0 -2
  311. package/dist/assets/esm-CtAM062C.js +0 -1
  312. package/dist/assets/esm-DGqMBGum.js +0 -1
  313. package/dist/assets/esm-DYrMpsGJ.js +0 -2
  314. package/dist/assets/esm-Y7e1KRCK.js +0 -2
  315. package/dist/assets/file-editor-EZsnOrB1.js +0 -1
  316. package/dist/assets/general-page-DjmqGNEh.js +0 -2
  317. package/dist/assets/hatching-screen-Vx631ARz.js +0 -1
  318. package/dist/assets/home-CQRYKQ5-.js +0 -1
  319. package/dist/assets/home-DQz-gw5J.js +0 -1
  320. package/dist/assets/home-jvtY7w4T.js +0 -1
  321. package/dist/assets/home-uZ5Qvj6E.js +0 -1
  322. package/dist/assets/icons-QG1KAFmx.js +0 -1
  323. package/dist/assets/identity-page-route-B4R5hI3l.js +0 -7
  324. package/dist/assets/inspect-page-CYYIbGHx.js +0 -9
  325. package/dist/assets/integrations-page-BjXxWGKz.js +0 -1
  326. package/dist/assets/intelligence-layout-slots-store-nrEU1pdD.js +0 -1
  327. package/dist/assets/keyboard-shortcuts-redirect-page-UFsztRh3.js +0 -1
  328. package/dist/assets/library-detail-page-BcqVyl-x.js +0 -1
  329. package/dist/assets/library-page-CK7LA8to.js +0 -1
  330. package/dist/assets/local-mode-B63ogN2h.js +0 -1
  331. package/dist/assets/login-page-Cw14hc03.js +0 -1
  332. package/dist/assets/markdown-preview-DsAfiAyB.js +0 -1
  333. package/dist/assets/memory-page-route-B98b_k6V.js +0 -2
  334. package/dist/assets/message-files-panel-B4KcGaTu.js +0 -1
  335. package/dist/assets/native-attachment-pickers-DXW2YF-J.js +0 -1
  336. package/dist/assets/native-file-DIYnpRix.js +0 -1
  337. package/dist/assets/paired-platform-identity-DyA-oZ1a.js +0 -1
  338. package/dist/assets/password-reset-page-DyCdaLlT.js +0 -1
  339. package/dist/assets/personality-sliders-BZ5p3Svp.js +0 -1
  340. package/dist/assets/plans-page-Bt7rWPBi.js +0 -1
  341. package/dist/assets/plugins-surface-f4dAI31U.js +0 -1
  342. package/dist/assets/privacy-page-CKEUMx1C.js +0 -1
  343. package/dist/assets/referral-modal-BTG7IbD5.js +0 -1
  344. package/dist/assets/referral-modal-BWGbrPeD.js +0 -1
  345. package/dist/assets/research-onboarding-route-DvnsATHR.js +0 -50
  346. package/dist/assets/routes-64wTPHX3.js +0 -1
  347. package/dist/assets/schedules-AMG6VEfS.js +0 -1
  348. package/dist/assets/schedules-page-DQ0p71wD.js +0 -1
  349. package/dist/assets/security-redirect-page-C8sxzPnV.js +0 -1
  350. package/dist/assets/select-assistant-screen-B57uDK4U.js +0 -1
  351. package/dist/assets/settings-C-QPO0as.js +0 -3
  352. package/dist/assets/settings-D9OIWncF.js +0 -3
  353. package/dist/assets/settings-DGQfZ51D.js +0 -3
  354. package/dist/assets/settings-divider-BkQcvD1N.js +0 -1
  355. package/dist/assets/settings-gxBTr-j9.js +0 -3
  356. package/dist/assets/share-feedback-modal-CYWA8ArT.js +0 -1
  357. package/dist/assets/share-feedback-modal-DwmVNIDD.js +0 -2
  358. package/dist/assets/skill-detail-page-bMQCOgEU.js +0 -2
  359. package/dist/assets/skill-detail-panel-jkm8mNzk.js +0 -1
  360. package/dist/assets/subagent-detail-panel-p9ahsacR.js +0 -1
  361. package/dist/assets/superpowers-page-BiVUrsDa.js +0 -1
  362. package/dist/assets/system-events-redirect-page-CORiS4Xr.js +0 -1
  363. package/dist/assets/tool-detail-panel-Bia85tXo.js +0 -15
  364. package/dist/assets/tool-detail-panel-CEtClwDC.js +0 -1
  365. package/dist/assets/upgrade-cancel-page-Cb2Knf6m.js +0 -1
  366. package/dist/assets/upgrade-success-page-5FOrQc3B.js +0 -1
  367. package/dist/assets/use-app-delete-C6E5CTp4.js +0 -1
  368. package/dist/assets/use-checkout-dismiss-refresh-DFYkYYpp.js +0 -1
  369. package/dist/assets/use-invite-link-dialog-ChgRhNyN.js +0 -1
  370. package/dist/assets/use-return-to-short-circuit-dsa2YMci.js +0 -1
  371. package/dist/assets/use-supports-credentials-settings-CxEHVJ-e.js +0 -1
  372. package/dist/assets/use-transcript-message-by-id-Bnbe06RA.js +0 -1
  373. package/dist/assets/voice-page-D237ka3h.js +0 -1
  374. package/dist/assets/welcome-screen-CQo-_cIi.js +0 -1
  375. package/dist/assets/workflow-detail-panel-rYCgZeUb.js +0 -1
  376. package/dist/assets/workspace-CrT6IjXz.js +0 -1
  377. package/dist/assets/workspace-D-j7Q1o1.js +0 -1
  378. package/dist/assets/workspace-Db-P5zkL.js +0 -1
  379. package/dist/assets/workspace-page-Bx0l3azH.js +0 -1
  380. /package/dist/assets/{account-n9xXc949.js → account-C8xg8kR6.js} +0 -0
  381. /package/dist/assets/{account-1POZPT9m.js → account-Cb-DyELI.js} +0 -0
  382. /package/dist/assets/{account-BBvlSFcW.js → account-RgxzlOwE.js} +0 -0
  383. /package/dist/assets/{account-DV-tB0oh.js → account-sUEgVZyw.js} +0 -0
  384. /package/dist/assets/{activation-B2g-Oe-r.js → activation-Bgezxtsd.js} +0 -0
  385. /package/dist/assets/{activation-BtZhlZ_s.js → activation-BzQVC8-5.js} +0 -0
  386. /package/dist/assets/{activation-dc_gRGWQ.js → activation-Dq1qihrb.js} +0 -0
  387. /package/dist/assets/{activation-CaYos65l.js → activation-fQ2w8k-_.js} +0 -0
  388. /package/dist/assets/{activation-tasks-CvYLTc0s.js → activation-tasks-BOXaCIAc.js} +0 -0
  389. /package/dist/assets/{activation-tasks-CzjUeEj1.js → activation-tasks-Crm7xZCE.js} +0 -0
  390. /package/dist/assets/{activation-tasks-C5NV7wu7.js → activation-tasks-DDUN5H65.js} +0 -0
  391. /package/dist/assets/{activation-tasks-D057dozu.js → activation-tasks-v6hBb3kp.js} +0 -0
  392. /package/dist/assets/{app-types-2kvircdH.js → app-types-BHZZ2-T8.js} +0 -0
  393. /package/dist/assets/{build.umd-BWfbInTw.js → build.umd-B4nySx9q.js} +0 -0
  394. /package/dist/assets/{channels-BnJWh26Z.js → channels-1fPalZ3Q.js} +0 -0
  395. /package/dist/assets/{channels-LgPH3TQp.js → channels-Bp6785EE.js} +0 -0
  396. /package/dist/assets/{channels-itxMVi8q.js → channels-DUGt-c_s.js} +0 -0
  397. /package/dist/assets/{channels-QZtdATsC.js → channels-zwQvxHhS.js} +0 -0
  398. /package/dist/assets/{contacts-X4REeAsN.js → contacts-7s5uUt1u.js} +0 -0
  399. /package/dist/assets/{contacts-D6N3gRLL.js → contacts-Bb43JJJN.js} +0 -0
  400. /package/dist/assets/{contacts-DP3Crat5.js → contacts-CNaEZ-fL.js} +0 -0
  401. /package/dist/assets/{contacts-yIhQlpq2.js → contacts-CwnIjST-.js} +0 -0
  402. /package/dist/assets/{credential-requests-DrJdsdeJ.js → credential-requests-BOCpSsQ3.js} +0 -0
  403. /package/dist/assets/{credential-requests-1WDcifE6.js → credential-requests-BXKQ_K8b.js} +0 -0
  404. /package/dist/assets/{credential-requests-DKbR-6qV.js → credential-requests-CoE9Lb8S.js} +0 -0
  405. /package/dist/assets/{credential-requests-D6SU6G2Z.js → credential-requests-J6rR1d8i.js} +0 -0
  406. /package/dist/assets/{definitions-DhwHuMC5.js → definitions-BfnfKapN.js} +0 -0
  407. /package/dist/assets/{definitions-Qg1-j0J7.js → definitions-C8lsOLos.js} +0 -0
  408. /package/dist/assets/{emoji-catalog-data-Yyjk_IDu.js → emoji-catalog-data-DMFEL5YE.js} +0 -0
  409. /package/dist/assets/{format-countdown-BEyU91h0.js → format-countdown-Dceq8qd-.js} +0 -0
  410. /package/dist/assets/{intelligence-DFMbHITq.js → intelligence-2OGzDFvC.js} +0 -0
  411. /package/dist/assets/{intelligence-dNqws_vC.js → intelligence-CoqqSgFj.js} +0 -0
  412. /package/dist/assets/{intelligence-C2fySq4l.js → intelligence-DGasqUYG.js} +0 -0
  413. /package/dist/assets/{intelligence-8J0ZD9Ph.js → intelligence-DsAUVOAd.js} +0 -0
  414. /package/dist/assets/{library-gTJv7Oz7.js → library-BfKxaPf0.js} +0 -0
  415. /package/dist/assets/{library-BXLScXI1.js → library-DO9JsNSy.js} +0 -0
  416. /package/dist/assets/{library-D7tisF9R.js → library-DrPeM0_h.js} +0 -0
  417. /package/dist/assets/{library-IMXA70AZ.js → library-t0vQjS7N.js} +0 -0
  418. /package/dist/assets/{link-click-BYgcUBN3.js → link-click-Bzv2fph0.js} +0 -0
  419. /package/dist/assets/{logs-gUmqmCAe.js → logs-BuCPf34Y.js} +0 -0
  420. /package/dist/assets/{logs-ji3E1A5W.js → logs-C5iN-fuK.js} +0 -0
  421. /package/dist/assets/{logs-itULWBC4.js → logs-M2b1TrMN.js} +0 -0
  422. /package/dist/assets/{logs-DV_rbeyU.js → logs-oZIjcpgE.js} +0 -0
  423. /package/dist/assets/{machine-sizes-Cyr9sICv.js → machine-sizes--PLzvcMG.js} +0 -0
  424. /package/dist/assets/{onboarding-CFxxcqra.js → onboarding-By9JR2qu.js} +0 -0
  425. /package/dist/assets/{onboarding-4AB8OdqK.js → onboarding-Bz72aOnk.js} +0 -0
  426. /package/dist/assets/{onboarding-C9uVVsD1.js → onboarding-Ce_CYrXg.js} +0 -0
  427. /package/dist/assets/{onboarding-Bv6Vw7rT.js → onboarding-DIUBmWBM.js} +0 -0
  428. /package/dist/assets/{onboarding-step-layout-XiwLE8P3.js → onboarding-step-layout-D1cb8TW9.js} +0 -0
  429. /package/dist/assets/{pdf-DZqed7HH.js → pdf-BKWEs79u.js} +0 -0
  430. /package/dist/assets/{plugin-attribution-B2jD5Q1N.js → plugin-attribution-DtahcNMf.js} +0 -0
  431. /package/dist/assets/{radio-card-nav-BtZq6gZp.js → radio-card-nav-CZkUYNJ9.js} +0 -0
  432. /package/dist/assets/{remote-web-BqE5HtVx.js → remote-web-CdqK_lTu.js} +0 -0
  433. /package/dist/assets/{remote-web-BTqxQIZY.js → remote-web-D_8aBk2_.js} +0 -0
  434. /package/dist/assets/{remote-web-BClKYDvU.js → remote-web-DlydCzEK.js} +0 -0
  435. /package/dist/assets/{remote-web-Cy9y7nTE.js → remote-web-yIqbgeYo.js} +0 -0
  436. /package/dist/assets/{schedules-DDJ36QQM.js → schedules-Bny8l_CP.js} +0 -0
  437. /package/dist/assets/{schedules-Capmqn71.js → schedules-KPfLvypq.js} +0 -0
  438. /package/dist/assets/{schedules-BZCt6hXe.js → schedules-cg2MRom9.js} +0 -0
  439. /package/dist/assets/{schedules-DO26F1mH.js → schedules-uSjJ_EjR.js} +0 -0
  440. /package/dist/assets/{skill-icon-DLqnaRMf.js → skill-icon-B7ALU8Ca.js} +0 -0
  441. /package/dist/assets/{terminal-1uiH9Lk0.js → terminal-CM_nhgrt.js} +0 -0
  442. /package/dist/assets/{terminal-CWSI_cvE.js → terminal-CacAJB1i.js} +0 -0
  443. /package/dist/assets/{terminal-DHtM2WSE.js → terminal-CmV3W_IT.js} +0 -0
  444. /package/dist/assets/{terminal-BKHabeoN.js → terminal-DgXT91mg.js} +0 -0
  445. /package/dist/assets/{usage-window-DA_JAjjs.js → usage-window-za0Cf2tq.js} +0 -0
  446. /package/dist/assets/{use-truncated-blob-text-BArL-keL.js → use-truncated-blob-text-BnZS-VRC.js} +0 -0
  447. /package/dist/assets/{xterm-DuUTQzS6.js → xterm-DdbteOXE.js} +0 -0
  448. /package/dist/assets/{xterm-addon-fit-DuSb5pvT.js → xterm-addon-fit-LbAazlGK.js} +0 -0
@@ -1,3 +0,0 @@
1
- var e={saveFailed:`无法保存文档。你的消息仍在这里。请重新发送。`,viewConversation:`查看对话`,reopenDocument:`重新打开文档`},t={plan:`计划`},n={atTime:`在 {time}`,cancelled:`已取消`,completed:`已完成`,refused:`已拒绝`,runFailed:`运行失败`,stoppedLimitReached:`已停止:达到限制`},r={hideRaw:`隐藏原始输入/输出`,rawInput:`原始输入`,rawOutput:`原始输出`,showRaw:`显示原始输入/输出`},i={connectButton:`连接`,dismissButton:`忽略`,errorFallback:`连接 Claude 失败。请重试。`,pastePlaceholder:`粘贴您的密钥`,saveButton:`保存`,subtitleConnected:`Claude Code 已连接,正在继续...`,subtitleExchanging:`正在完成登录...`,subtitleIdle:`使用您的 Claude Code 订阅`,subtitlePaste:`从打开的标签页粘贴密钥`,subtitleStarting:`正在开始登录...`,subtitleWaiting:`正在等待 Claude 登录...`,title:`连接 Claude Code`},a={backToConversationAria:`返回对话`,backTooltip:`返回`,closeRunDetail:`关闭运行详情`,goToNewest:`前往最新`,inputLabel:`输入`,modelLabel:`模型`,objective:`目标`,outputLabel:`输出`,sendSteerAria:`发送引导指令`,steerAria:`引导指令`,steerPlaceholder:`引导运行…`,stopRunAria:`停止运行`},o={retryConfirm:`重试`,retryMessage:`最新回复将被丢弃并重新生成。此操作无法撤销。`,retryTitle:`重试此回复?`,startingFirst:`正在开始您的首次对话…`,stillWorking:`您的助手仍在工作中…`,summarizeConfirm:`总结`,summarizeMessage:`助手将总结此前的对话,并仅在工作记忆中保留摘要。消息将保持可见,永不删除。`,summarizeTitle:`总结到此处?`,takingLonger:`您的助手响应时间超出预期。`,tryAgain:`重试`},s={backAria:`返回所有步骤`,backTooltip:`所有步骤`,closeSteps:`关闭步骤`,thinkingTitle:`思考中`,viewThinkingAria:`查看思考过程`},c={camera:`相机`,closeAriaLabel:`关闭`,files:`文件`,gallery:`照片图库`,pickFailed:`无法添加该文件。请重试。`,pickFull:`{count, plural, other {# 个文件不适合此批次。请单独添加。}}`,title:`添加到聊天`,tooLarge:`{count, plural, other {# 个文件过大,无法附加}}`},l={allowAndCreateRule:`允许并创建规则`,trigger:`更多允许选项`},u={appExported:`应用已导出`,shareFailed:`分享应用失败`},d={confirm:`全部归档`,message:`{count, plural, other {归档“{groupName}”中的所有 {count} 个对话?归档的对话将从侧边栏移除。您可以通过搜索“is:archived”稍后找到它们。}}`,title:`全部归档`},f={earlierActivity:`更早的活动`},p={fitView:`适应屏幕`,panView:`平移`,controlView:`控制`,panHint:`拖动以平移,轻点以单击。`,hideAria:`隐藏虚拟桌面`,closeAria:`关闭虚拟桌面预览`,moveAria:`移动虚拟桌面预览(方向键)`,expandAria:`展开虚拟桌面`,busy:`虚拟桌面正在被其他用户使用。`,connecting:`正在连接虚拟桌面…`,failed:`虚拟桌面无法启动。`,lost:`与虚拟桌面的连接已断开。`,openAria:`打开 {name} 的虚拟桌面`,openUnnamedAria:`打开虚拟桌面`,reconnectButton:`重新连接`,title:`桌面`,unavailable:`此助理不支持虚拟桌面。`,installButton:`安装虚拟桌面`,checkingSetup:`正在检查虚拟桌面设置…`,installingPackages:`正在安装虚拟桌面组件…`,installingChrome:`正在安装 Google Chrome…`,checkingInstall:`正在检查安装…`,installFailed:`安装失败。请重试以完成设置。`,setupRequestFailed:`无法检查虚拟桌面设置。请重新连接后重试。`,setupUnsupported:`虚拟桌面安装需要具有管理员权限的 Linux x64 或 ARM64 容器。`},m={newChat:`新建聊天`},h={bulkActionMembersFailed:`无法加载此部分的所有对话。请重试。`,closeNavAria:`关闭导航`,navAria:`助手导航`,searchShortcut:`搜索 ({shortcut})`,search:`搜索`},g={dismissLabel:`隐藏休眠画面`,sleeping:`您的助手正在休眠`,sleepingNamed:`{name} 正在休眠`,waking:`您的助手正在唤醒…`,wakingNamed:`{name} 正在唤醒…`,woke:`您的助手刚刚醒来`,wokeNamed:`{name} 刚刚醒来`},_={collapse:`隐藏助手`,currentAssistant:`{name},当前助手`,expand:`切换助手`,switchFailed:`无法切换助手。请重试。`,switchTo:`切换到 {name}`,unnamedAssistant:`未命名助手`},v={removeAria:`移除 {filename}`},y={download:`下载`,downloadAria:`下载 {filename}`},b={cancelUploadAria:`取消上传 {filename}`,uploadingTitle:`正在上传 {filename}`},x={moreTitle:`{count} 更多`,showAllAria:`显示所有文件({count} 更多)`},S={closePreviewAria:`关闭预览`,downloadAria:`下载 {filename}`,downloadLabel:`下载`,legacyUnavailable:`预览不可用。文件内容未保存在聊天记录中。`,loadFailed:`无法加载预览。`,nextAttachmentAria:`下一个附件`,pdfLoadFailed:`无法显示此 PDF`,previewAria:`{filename} 的预览`,previousAttachmentAria:`上一个附件`},C={cancelUpload:`取消上传 {filename}`,preview:`预览 {filename}`,remove:`移除 {filename}`,uploading:`正在上传 {filename}`},w={closeDetail:`关闭任务详情`,command:`命令`,exitCode:`退出代码:{code}`,output:`输出`,stopCommandAria:`停止命令`},T={dismiss:`忽略`},E={description:`此请求的前缀中,{count, plural, other {# 个缓存断点}} 的分布位置,以及哪些段是从缓存读取的,哪些是重新创建的。`,estimatedTokens:`≈ {count} 个 Token`,fullMissBody:`此轮中每个段都已重新创建。请与上方缓存差异中的上一轮进行比较,以找到发生变化的块。`,fullMissTitle:`完整缓存未命中`,loadError:`无法加载请求负载以映射缓存断点。`,loading:`正在加载请求负载以映射缓存断点…`,noBreakpoints:`此请求没有缓存断点 - 此调用已禁用提示缓存。`,splitEstimatedNote:` 读取/创建的划分是根据段大小归因的;提供商仅报告总计。`,statusCreated:`已重新创建`,statusRead:`从缓存读取`,statusUnknown:`已缓存`,title:`缓存断点`,tokenEstimateNote:`Token 计数是根据文本长度估算的。`},D={changedLabel:`已更改`,changedMessageFallback:`一条消息`,chipMessages:`消息`,chipModel:`模型`,chipSettings:`设置`,chipSystem:`系统`,chipTools:`工具`,currentModelFallback:`此模型`,description:`自上一轮请求以来发生了什么变化 - 重新创建提示缓存的块。`,diffAnyway:`仍要比较({lineCount} 行)`,diffLabel:`{label} 差异`,diffLargeDefault:`更改的文本过大,因此默认不进行比较。`,diffStillTooLarge:`仍然太大无法在此处比较(超过 {maxLines} 行)- 请打开“原始”选项卡查看完整负载。`,diffTooLarge:`更改的文本过大无法在此处比较 - 请打开“原始”选项卡查看完整负载。`,loadPreviousCallError:`无法加载上一个调用进行比较。`,loadingPreviousCall:`正在加载上一个调用进行比较…`,messageStatsAppended:`已追加 {count} 条`,messageStatsLeading:`前导消息:{parts}`,messageStatsRemoved:`已移除 {count} 条`,messageStatsShared:`已共享 {count} 条`,previousModelFallback:`上一个模型`,previousPromptUnavailable:`上一个调用的提示不可用,无法比较。`,showLess:`显示更少`,showMoreDiffLines:`显示 {count} 更多差异行`,statusMessagesEarlierBody:`{label} #{index} 与上一轮不同,因此其后所有缓存内容都将在本轮重新处理。`,statusMessagesEarlierTitle:`较早的消息已更改`,statusMessagesHistoryBody:`本轮中 {removedCount} 条较早的消息已消失(可能是历史记录压缩),因此缓存的消息前缀不再匹配。`,statusMessagesHistoryTitle:`消息历史记录已更改`,statusModelBody:`本轮使用了 {current},但上一轮使用了 {previous}。不同的模型无法重用之前的提示缓存,因此整个提示都将重新创建。`,statusModelTitle:`模型已更改`,statusPrefixUnchangedBodyAppended:`缓存的前缀与上一轮匹配,并追加了 {count} 条新消息。此处的缓存未命中表明是缓存 TTL 过期,而非内容更改。`,statusPrefixUnchangedBodyIdentical:`缓存的前缀与上一轮完全相同。此处的缓存未命中表明是缓存 TTL 过期,而非内容更改。`,statusPrefixUnchangedTitle:`提示前缀未更改`,statusSettingsBody:`只有请求设置(例如温度)与上一轮不同。对于大多数提供商而言,仅此一项不会破坏提示缓存。`,statusSettingsTitle:`请求设置已更改`,statusSystemBody:`自上一轮以来,系统提示的一部分已更改。此处的易变内容(时间戳、内存或每轮块)会使缓存每轮都重新创建。`,statusSystemTitle:`系统提示已更改`,statusToolsBody:`工具集或其定义与上一轮不同。工具位于缓存前缀的前面,因此此处的任何更改都会在到达系统提示和消息之前重新创建缓存。`,statusToolsTitle:`工具定义已更改`,title:`缓存差异`,unchangedLines:`⋯ {count} 行未更改`},O={barAriaLabel:`提示词缓存细分:{total} 个 Token,其中 {segments}({percent} 已缓存)。`,barSegment:`{count} {label}`,cached:`已缓存`,description:`此调用的提示词有多少来自提示词缓存。`,segmentCreated:`重新创建`,segmentFresh:`新鲜输入`,segmentRead:`从缓存读取`,statusFullMissBody:`此调用的提示词均未从缓存中读取。`,statusFullMissReCreatedSuffix:` 本轮有 {count} 个 Token写入缓存,但均未被重用 - 这通常意味着自上一轮以来缓存的前缀已更改。`,statusFullMissTitle:`完全缓存未命中`,statusHealthyBody:`此调用的提示词有 {percent}({count} 个 Token)来自缓存。`,statusHealthyTitle:`健康的缓存重用`,statusPartialBody:`此调用的提示词有 {percent}({count} 个 Token)来自缓存;其余部分在本轮重新处理。`,statusPartialTitle:`部分缓存重用`,title:`缓存健康状况`,unavailableNote:`此调用未报告提示词缓存使用情况。`,unavailableNoteForProvider:`此调用未报告 {provider} 的提示词缓存使用情况。`},k={callCount:`{count, plural, other {# 次 LLM 调用}}`,callLabel:`调用 {number}`,compaction:`压缩`,cost:`成本`,empty:`未记录 LLM 调用。`,failed:`失败`,latest:`最新`,navAriaLabel:`LLM 调用`,syntheticAgentLoopError:`代理循环错误`,syntheticAgentLoopErrorWithReason:`代理循环错误 · {reason}`,syntheticYield:`让步 · 压缩无法适应下一步`,unrecognizedCall:`无法识别的调用`},A={eventsRecorded:`{count, plural, one {# 条事件已记录。} other {# 条事件已记录。}}`},j={captureFailed:`无法拍摄照片。请重试。`,close:`关闭相机`,flip:`切换摄像头`,openFailed:`无法打开相机。`,shutter:`拍照`,title:`拍照`},M={captureFailed:`无法拍摄该照片。`,deviceInUse:`另一个应用程序正在使用相机。`,noDevice:`未找到相机。`,notDelivered:`正在重新连接。请重新拍摄。`,permissionDenied:`Vellum 未获得相机访问权限。`,refused:`您的助手目前无法接收照片。`,storeFailed:`无法将该照片添加到对话中。`,unknown:`无法打开相机。`,unsupported:`此设备无法打开相机。`,uploadFailed:`无法发送该照片。`},N={live:`实时 · 轻点停止`,liveDescription:`轻点停止实时视频。`,photo:`轻点拍照 · 长按开启实时`,photoDescription:`长按开启实时视频。`},P={announceLive:`实时。{status}`,announceLiveMuted:`实时。已静音。{status}`,announceLiveMutedSpeaking:`实时。已静音。{name} 正在说话`,announceLiveSpeaking:`实时。{name} 正在说话`,announcePhoto:`照片。{status}`,announcePhotoMuted:`照片。已静音。{status}`,announcePhotoMutedSpeaking:`照片。已静音。{name} 正在说话`,announcePhotoSpeaking:`照片。{name} 正在说话`,live:`实时`,photo:`照片`,yourAssistant:`您的助手`},F={buttonAria:`相机显示选项`,gateHudDescription:`用于调整实时模式保留哪些画面的面板。`,gateHudTitle:`帧筛选读数`,keptFrameDescription:`实时模式发送的最近一帧,显示在照片旁边。无论是否显示,都会继续发送。`,keptFrameTitle:`最近一帧`,title:`显示`},I={tasksProgress:`已完成 {completed} / 共 {total} 个任务`,viewDetails:`查看详情`},L={heading:`引用 {channel} 消息`,headingWithSender:`引用 {channel} 上的 {sender}`,removeAria:`移除引用的消息`},R={accountSid:`账户 SID`,accountSidPlaceholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,authToken:`身份验证令牌`,authTokenPlaceholder:`Twilio 身份验证令牌`,close:`关闭`,closeSetupAria:`关闭设置面板`,connectedHeading:`{channel} 已连接`,credentialsSaved:`凭据已保存。返回聊天以完成设置。`,phoneConnected:`您的助手已准备好通过 Twilio 接听电话。`,phoneLabel:`电话`,save:`保存`,saving:`正在保存…`,settingsTitle:`{channel} 设置`,setupTitle:`{channel} 设置`,slackConnected:`您的助手已准备好在 Slack 上接收消息。`,telegramConnected:`您的助手已准备好在 Telegram 上接收消息。`,twilioIntro:`从 <consoleLink>Twilio 控制台</consoleLink> 输入您的 Twilio 凭据。保存后,返回聊天。您的助手将完成电话号码和 Webhook 的配置。`,discordConnected:`Discord 已连接。将机器人添加到服务器后,它将开始在那里回复。`},z={closeAria:`关闭 {channel} 线程`,label:`{channel} 线程`,openAria:`打开 {channel} 线程`},B={assistantSender:`助手`,closeAria:`关闭渠道线程`,closeTooltip:`关闭`,emptyNoMessageDetail:`{channel} 不会向 Vellum 发送此视图所需的每条消息详细信息,因此此处没有可列出的内容。请在 {channel} 中打开对话以阅读完整内容。`,emptyThread:`此对话中尚无 {channel} 消息。`,namedTitle:`{channel} · {thread}`,noText:`无文本内容`,openInChannel:`在 {channel} 中打开`,reactionAdded:`使用 {emoji} 表情回应`,reactionRemoved:`移除了 {emoji} 表情回应`,readOnly:`只读`,readOnlyNote:`这是 {channel} 中的对话现状。Vellum 的编辑器是您唯一可以写入的地方。`,reference:`在 Vellum 中引用`,referenceAria:`在 Vellum 中引用此 {channel} 消息`,referenced:`已引用`,removeReferenceAria:`从 Vellum 编辑器中移除此引用`,title:`{channel} 线程`,unknownSender:`未知发件人`},V={attachFileAria:`附加文件`,dismiss:`关闭`,removeAria:`移除 {filename}`},H={dropFiles:`拖放文件以附加`},U={addToChat:`添加到聊天`,askAssistantPlaceholder:`询问 {assistantName}`,configureVoice:`配置语音`,endOtherVoiceSession:`结束当前会话并在此开始`,goToVoiceSession:`前往会话`,recording:`正在录音`,sendMessage:`发送消息`,stopGenerating:`停止生成`,transcribing:`正在转录`,transcribingEllipsis:`正在转录…`,typeToSend:`输入消息以发送`,uploadingAttachments:`正在上传附件…`},W={archived:`[已归档]`,newChat:`新建聊天`},G={appsTitle:`应用`,backAria:`返回聊天信息`,backTooltip:`聊天信息`,closeAria:`关闭聊天信息`,empty:`此聊天中还没有内容`,filesTitle:`文档与图片`,framesTitle:`相机帧`,loadFailed:`无法加载内容`,loadMore:`加载更多`,openAppAria:`打开 {name}`,openDocumentAria:`打开 {name}`,previewAttachmentAria:`预览 {filename}`,previewFrameAria:`预览相机帧`,seeAll:`查看全部`,seeAllAppsAria:`查看全部应用`,seeAllFilesAria:`查看全部文档与图片`,seeAllFramesAria:`查看全部相机帧`,title:`聊天信息`},K={navigationAria:`导航`},q={backAria:`后退 (Ctrl+[)`,forwardAria:`前进 (Ctrl+])`,openNavigationAria:`打开导航`,searchAria:`搜索 (Ctrl+K)`,toggleSidebarAria:`切换侧边栏`},J={expandImageAria:`展开图片`,expandImageAriaWithAlt:`展开图片:{alt}`,imageFailed:`图片加载失败`,imageFailedWithAlt:`图片加载失败 ({alt})`,loadingImage:`正在加载图片…`,loadingImageWithAlt:`正在加载图片… ({alt})`},Y={connecting:`正在连接…`,connectingStuck:`仍在连接到您的助手 - 似乎卡住了。请重试,如果此问题持续发生,请刷新页面。`,retryNow:`立即重试`,selfHostedUnreachable:`无法连接到您的自托管助手。请确保您的助手正在运行,然后重试。`,tryAgain:`重试`},X={askTheDoctor:`询问 Doctor`,goToDoctor:`前往 Doctor`,openPage:`打开页面`,suggestionFallback:`建议`,copyCliFix:`复制 CLI 修复命令`},Z={applyTo:`应用于`,cancel:`取消`,createTitle:`创建信任规则`,description:`匹配的工具调用将采用此规则的风险级别,因此您的审批容忍度可以自动批准它们。`,editTitle:`编辑信任规则`,narrowerScopeAria:`更窄的范围`,orNarrowScope:`或缩小范围:`,save:`保存`,saveAsNew:`另存为新规则`,saveRule:`保存规则`,saving:`正在保存…`,suggested:`建议:{risk}`,treatAs:`视为`},Q={continue:`继续`,recommended:`推荐`},$={broomAria:`扫帚`,hatchHint:`完成后,您将能够孵化一个新的助手。`,hintAlmostDone:`即将完成…`,hintCleaning:`正在清理您的助手…`,hintWrapping:`正在收尾…`,timeoutBody:`尝试运行 Vellum Doctor 以诊断问题,或<communityLink>向社区寻求帮助</communityLink>。`,timeoutTitle:`清理时间超出预期`,title:`正在清理您的助手…`,warningAria:`警告`},ee={noConversations:`无对话`},te={ariaLabel:`自动压缩已暂停`,message:`自动压缩已暂停 - 长对话可能会溢出。使用 /compact 手动压缩。`},ne={compactedMessages:`{count} 已压缩`,compactedPreserved:`已压缩 / 已保留`,contextTokens:`上下文 Token`,duration:`持续时间`,durationMs:`{count} 毫秒`,emptyBody:`压缩归因于紧随其后运行的调用。如果您在此处预期有压缩,请检查对话是否在此调用之前超出了其上下文预算。`,emptyTitle:`此调用未关联任何压缩`,eventIndex:` · {index} / {totalCount}`,hideSummaryText:`隐藏摘要文本`,loadFailedDefault:`加载压缩失败。`,loadFailedTitle:`加载失败`,loading:`正在加载压缩…`,messageRange:`{before} → {after}`,messages:`消息`,outcomeCompacted:`已压缩`,outcomeFailed:`压缩失败`,outcomeFailedDetail:`摘要器调用出错,因此上下文保持不变。`,outcomeNoChange:`无更改`,outcomeUnavailable:`结果不可用`,outcomeUnavailableDetail:`未记录此压缩的详细前后指标。`,preservedMessages:`{count} 已保留`,reductionRatio:`缩小 {ratio} 倍`,retry:`重试`,showSummaryText:`显示摘要文本`,summarizerUsage:`{input} 输入 / {output} 输出`,summaryCost:`摘要成本`,summaryModel:`摘要模型`,tokenRange:`{before} → {after}`,tokenRangeWithReduction:`{before} → {after} ({reduction})`,trigger:`触发器`},re={draftRestored:`草稿已从您之前的会话中恢复。`,waitingUpload:`{count, plural, other {正在等待 # 个附件上传完成,然后发送。}}`},ie={allowMicrophone:`允许麦克风`,openSettings:`打开设置`},ae={blockedTitle:`消息未发送。它似乎包含一个 API 密钥。`,body:`在聊天中发送的凭据在聊天记录中可见。请改为安全存储。`,dismiss:`忽略`,sendAnyway:`仍然发送`,storeSecurely:`安全存储`,warningTitle:`这看起来像一个 API 密钥`},oe={accessAria:`助手访问权限:{label}`,assistantAccess:`助手访问权限`,assistantAccessTitle:`助手访问权限`,compactAria:`助手访问权限和模型配置文件`,compactAriaWithSummary:`助手访问权限和模型配置文件:{summary}`,defaultLabel:`{label} (默认)`,defaultSuffix:`(默认)`,loadingProfiles:`正在加载配置文件…`,modelProfile:`模型配置文件`,modelProfileTitle:`模型配置文件`,profileAria:`模型配置文件:{label}`,profileAriaFallback:`模型配置文件`,profileSwitchFailed:`配置文件已创建,但无法切换到它`,profileSwitchFallback:`切换配置文件失败。请重试。`,quickAdd:`新建模型`},se={submitFailed:`提交确认失败。请重试。`,submitFailedRuleAvailable:`提交确认失败,但您仍然可以创建规则。`},ce={allow:`允许`,deny:`拒绝`,hideDetails:`隐藏详情`,showDetails:`显示详情`,titleFallback:`需要确认`,toolLabel:`工具:`},le={saveFailed:`保存联系人失败。请重试。`,cancelFailed:`关闭表单失败,请重试。`,recordCancelFailed:`关闭表单失败,请重试。`,recordSaveFailed:`保存联系人失败,请重试。`},ue={addContact:`添加联系人`,addingToContact:`正在为 {name} 添加渠道`,cancel:`取消`,contactSaved:`联系人已保存`,enterAddress:`输入 {channel} 地址`,namePlaceholder:`名称`,notesLabel:`备注`,save:`保存`,saving:`正在保存…`,markVerified:`将此地址标记为已验证`,markVerifiedHelp:`已验证的地址可以向您的助手发送消息。`},de={channelType:`{channel}:`,contactMerged:`联系人已合并`,merge:`合并`,mergeDonorChannels:`从 {name} 转移`,mergeSurvivorChannels:`已属于 {name}`,mergeTitle:`将 {donor} 合并到 {survivor}?`,mergeWarning:`这些渠道将转移到 {survivor},并删除 {donor} 的记录。`,nameLabel:`姓名`,notesLabel:`备注`,notesPlaceholder:`添加备注`,cancel:`取消`,contactDeleted:`联系人已删除`,contactSaved:`联系人已保存`,createTitle:`添加联系人`,delete:`删除`,deleteTitle:`删除 {name}?`,deleteWarning:`这也将移除其所有渠道,对方将无法再联系到您的助手。`,namePlaceholder:`姓名`,noChannels:`该联系人暂无渠道。`,save:`保存`,saving:`正在保存…`,updateTitle:`更新 {name}`},fe={clearContext:`清除上下文`,compactsHint:`{name} 自动<br></br>压缩其上下文。`,compactsHintInline:`{name} 自动压缩上下文`,defaultAssistantName:`您的助手`,label:`上下文窗口:`,percentFull:`已使用 {percentage}%`,ringAria:`上下文窗口已使用 {percentage}%`,title:`上下文窗口`,tokensUsed:`已使用 {used} / {max} Token`},pe={archive:`归档`,copyConversation:`复制完整对话`,copyConversationId:`复制对话ID`,delete:`删除`,forkConversation:`派生对话`,inspect:`分析对话`,markRead:`标记为已读`,markUnread:`标记为未读`,moveToGroup:`移动到群组`,newGroup:`新建群组…`,openInNewWindow:`在新窗口中打开`,pin:`置顶`,refresh:`刷新`,removeFromGroup:`从群组中移除`,rename:`重命名`,shareFeedback:`分享反馈`,triggerAriaLabel:`对话操作`,unarchive:`取消归档`,unpin:`取消置顶`},me={closeAriaLabel:`关闭`,title:`对话操作`},he={delete:`删除`,downloadPdf:`下载PDF`,exportAsVellum:`导出为.vellum文件`,open:`打开`,optionsFor:`{name}的选项`,pin:`置顶`,share:`分享`,unpin:`取消置顶`},ge={ariaLabel:`对话资产,{count, plural, one {# 个项目} other {# 个项目}}`,ariaLabelUnavailable:`对话资产,无法加载`,ariaLabelUnseen:`对话资产,{count, plural, one {# 个项目} other {# 个项目}}(未查看的更改)`,label:`{count, plural, one {# 个资产} other {# 个资产}}`,labelUnavailable:`无法加载资产`},_e={caption:`尝试以下建议:`},ve={sendAria:`发送:{label}`},ye={copied:`已复制`,copy:`复制`},be={copied:`已复制`,copyFailed:`无法复制到剪贴板。`},xe={conversationCopied:`对话ID已复制到剪贴板。`,conversationFailed:`无法复制对话ID。`,groupCopied:`群组ID已复制到剪贴板。`,groupFailed:`无法复制群组ID。`},Se={balanceAria:`{balance} 积分`,balanceShort:`{balance} 积分`,credits:`积分`},Ce={loginToAddCredits:`登录Vellum平台以添加积分。`},we={emptyFile:`此文件为空`,summary:`{rows} 行 x {columns} 列`,summaryTruncated:`{rows} 行 x {columns} 列(已截断)`},Te={skipConfirmTitle:`跳过今日积分限制?`,skipError:`无法跳过今日限制。请重试。`,skipForToday:`今日跳过`,subtitle:`Vellum积分消费已暂停,直到您的限制在{resetPhrase}重置。`,title:`已达到每日积分限制`},Ee={acknowledgment:`我理解相关资产和记忆可能仍会保留`,cancel:`取消`,confirm:`删除`,message:`删除“{title}”?这将永久删除对话及其消息。相关资产和记忆可能仍会保留。此操作无法撤消。`,title:`删除对话`},De={label:`此消息已被删除`},Oe={pdfDownloadFailed:`下载PDF失败`},ke={send:`发送`,sending:`正在发送…`},Ae={addCommentPlaceholder:`添加评论…`,closeAria:`关闭评论面板`,empty:`暂无评论`,loading:`正在加载评论…`,submitFeedback:`提交反馈`,title:`评论`},je={assistantMonogram:`V`,authorAssistant:`助手`,authorYou:`您`,deleteCommentAria:`删除评论`,jumpToHighlight:`跳转到高亮文本`,open:`打开`,reopen:`重新打开`,reply:`回复`,replyPlaceholder:`撰写回复…`,resolve:`解决`,resolved:`已解决`},Me={openAria:`打开 {name}`},Ne={openAria:`打开 {name}`},Pe={close:`关闭`,closeDocumentAria:`关闭文档`,comments:`评论`,export:`导出`,hideComments:`隐藏评论`,menuAria:`文档选项`,rename:`重命名`,renameFailed:`无法重命名文档。`,renameSave:`保存`,renameTitle:`重命名文档`,saved:`已保存`,saving:`正在保存…`,wordCount:`{count, plural, other {# 个字}}`},Fe={unavailable:`无法打开文档对话。请重试。`,updateRequired:`请更新助手以开始关联对话。`,prepareFailed:`无法准备文档对话。你的编辑仍然保留。`,feedbackPrompt:`请查看并处理我对“{title}”的评论。`,missing:`此文档的对话不可用。你可以继续编辑或开始新的关联对话。`,start:`开始关联对话`,retry:`重试`,back:`返回`},Ie={exportFailed:`导出 PDF 失败`,notFound:`未找到文档。`},Le={titleFallback:`动态内容`},Re={cancel:`取消`,close:`关闭`,defaultError:`导出检查器数据失败。`,descriptionDone:`您的下载应该已自动开始。`,descriptionError:`收集导出数据时发生错误。`,descriptionRunning:`正在收集提供程序负载和标准化上下文。对于长对话,这可能需要一些时间。`,done:`完成`,progressAriaLabel:`导出进度`,retry:`重试`,statusDone:`完成`,statusPackaging:`正在打包 ZIP…`,statusProgress:`已完成 {completed} / {total} 次调用`,titleDone:`导出完成`,titleError:`导出失败`,titleRunning:`正在导出检查器数据`},ze={diffForAria:`{path} 的差异`},Be={failed:`文件下载失败`},Ve={closePreviewAria:`关闭预览`,closeTooltip:`关闭`,download:`下载`,downloadAria:`下载 {name}`,loadError:`无法加载此文件`,overLimit:`{size},超出 {limit} 预览限制`,tooLarge:`此文件过大,无法预览`,tryAgain:`重试`},He={accepted:`接受:{types}`,dropHint:`将文件拖放到此处,或点击浏览`,maxSize:`最大大小:{size}`,upload:`上传`,uploading:`正在上传...`},Ue={secureHint:`此值将安全发送,不会存储在您的浏览器中。`,selectPlaceholder:`选择...`},We={collapse:`隐藏帧筛选读数`,expand:`显示帧筛选读数`,decisionOrder:`决策顺序`,detailLabel:`细节度 (亮度标准差)`,keep:`保留`,keptFrameAlt:`已保留画面`,maxIntervalLabel:`心跳间隔`,minDetailLabel:`最低细节度`,motionLabel:`与前一帧运动量`,noKeeps:`尚未保留任何画面。`,noveltyLabel:`与上次保留的新颖度`,noveltyThresholdLabel:`新颖度阈值`,overridden:`已偏离默认值`,reasonFeatureless:`细节过少,无法比较。`,reasonFirst:`尚未保留画面,画面已稳定。`,reasonForced:`为当前提出的问题保留。`,reasonHeartbeat:`画面未发生变化,但上一张照片时间已过久。`,reasonMoving:`画面仍在晃动中。`,reasonNovel:`与上一张照片相比发生了足够的变化。`,reasonUnchanged:`画面稳定、采集时间近且与上一张照片基本一致。`,reasonWarmup:`仍处于曝光预热阶段。`,recentFrames:`最近画面帧`,recentKeeps:`最近保留帧`,reset:`重置`,settleThresholdLabel:`稳定阈值`,skip:`跳过`,stepFeatureless:`最低细节度`,stepFirst:`首帧保留`,stepForced:`用户请求`,stepHeartbeat:`心跳`,stepMoving:`画面稳定`,stepNovel:`新颖度`,stepUnchanged:`未变更`,stepWarmup:`预热`,surfaceVoice:`语音通话摄像头`,thresholds:`阈值`,valueAbsent:`无`,forcedNoveltyThresholdLabel:`主动请求阈值`,reasonAnswered:`已请求,但上一张照片已包含该内容。`,reasonSettling:`已停止移动,但静止时间尚不足。`,stepAnswered:`已显示`,stepSettling:`保持静止`},Ge={archiveAll:`全部归档…`,copyGroupId:`复制群组 ID`,deleteGroup:`删除群组`,deleteGroupWithConversations:`删除群组…`,groupByChannel:`按渠道分组`,markAllRead:`全部标记为已读`,moveSectionDown:`下移分区`,moveSectionUp:`上移分区`,rename:`重命名`,ungroup:`取消分组`},Ke={title:`{name} 操作`},qe={create:`创建`,newTitle:`新建群组`,renameTitle:`重命名群组`,save:`保存`},Je={next:`下一步`,showMeAround:`带我看看`,skipTour:`跳过导览`},Ye={ariaLabel:`聊天插件,{count} 个活跃`,costCaption:`更改插件设置可能会产生高额费用。`,countLabel:`{count, plural, other {# 个插件}}`,manage:`管理`,plugins:`插件`},Xe={stop:`停止`},Ze={accessDenied:`当“内部线程操作”功能标志启用时,检查器可用。`,allMessages:`所有消息`,back:`返回`,backToConversationAria:`返回对话`,chooseCall:`从侧边栏选择一个调用以检查其上下文。`,conversationScopeSubtitle:`显示此对话中记录的所有 LLM 调用。`,detailLoadFailed:`加载此调用的标准化上下文失败。`,emptyBodyConversation:`此对话中没有消息是由 LLM 调用生成的,或者请求日志因保留策略而被截断。`,emptyBodyMessage:`此消息不是由 LLM 调用生成的,或者其请求日志因保留策略而被截断。`,emptyTitleConversation:`此对话没有记录 LLM 调用。`,emptyTitleMessage:`此消息没有记录 LLM 调用。`,enableLogging:`启用日志记录`,enableLoggingFailed:`启用日志记录失败`,enableLoggingFailedWithMessage:`启用日志记录失败 ({message})`,enabling:`正在启用…`,exportFailed:`导出检查器数据失败`,exportZip:`导出 ZIP`,exportZipAria:`将检查器数据导出为 ZIP`,exporting:`正在导出…`,filterToMessage:`筛选到消息:`,llmCallCount:`{count, plural, other {# 个 LLM 调用}}`,loadContextFailed:`加载 LLM 上下文失败。`,loadFailedTitle:`加载失败`,loading:`正在加载…`,loggingDisabledBody:`请求和响应负载未被记录,因此无可检查内容。请启用日志记录以捕获未来的 LLM 调用。`,loggingDisabledTitle:`LLM 请求日志记录已关闭`,loggingEnabledToast:`LLM 请求日志记录已启用`,messageOptionDeepLink:`消息 {messageId}`,messageOptionNoText:`{index}. (无文本)`,messageOptionWithPreview:`{index}. {preview}`,retry:`重试`,scopedToOneMessage:`范围限定为一条消息 · `,scopedToTurn:`范围限定为第 {index} 个回合(共 {count} 个) · `,title:`LLM 上下文检查器`},Qe={android:`语音已在 Android 应用中激活。`,ios:`语音已在 iOS 应用中激活。`,macos:`语音已在 Mac 应用中激活。`,unknown:`语音已在其他地方激活。`,web:`语音已在其他浏览器标签页中激活。`,windows:`语音已在 Windows 应用中激活。`},$e={startVoiceMode:`启动语音模式`,tooltip:`用语音模式开口交谈`},et={connecting:`正在连接…`,ending:`正在结束…`,listening:`正在聆听…`,muted:`已静音`,reconnecting:`正在重新连接…`,speaking:`正在说话…`,thinking:`正在思考…`,askUnsupported:`该助手尚不支持以这种方式提问。请更新后重试。`},tt={chipCode:`代码`,chipProvider:`提供商`,chipRequestId:`请求 ID`,chipStatus:`状态`,chipType:`类型`,chipUpstreamCode:`上游代码`,chipUpstreamParam:`上游参数`,chipUpstreamType:`上游类型`,noResponse:`提供商拒绝了此调用且未返回任何响应。`,title:`调用失败`},nt={loadingAria:`正在加载 {label}`,pictureInPictureUnavailable:`画中画不可用`},rt={unavailable:`此文件在此处不可用`},it={download:`下载`,fileActionsAria:`文件操作`,goToFile:`转到文件`,pictureInPicture:`画中画`},at={addCredits:`添加点数`,ariaLabel:`您的点数不足。{detail}`,subtitle:`添加点数以避免中断。`,title:`您的点数不足`},ot={body:`您的助手工作区当前已连接到调试终端。在恢复模式下,聊天不可用。`,loginHint:`登录 Vellum 平台以退出恢复模式。`,resume:`恢复助手`,title:`助手处于恢复模式`},st={body:`维护期间,聊天不可用。`,goToDebug:`转到调试设置`,title:`助手处于恢复模式`},ct={addOlderPairButton:`+ 添加更早的对话对`,assistantReplyLabel:`[助手]: 回复`,assistantReplyPlaceholder:`助手在下方用户消息之前给出的回复。`,configTitle:`配置 {paneId}`,conversationalContextTitle:`对话上下文(两窗格共享)`,customPromptPlaceholder:`自定义路由器系统提示词。可用占位符:
2
- '{ASSISTANT_NAME}, {USER_NAME}, {PAGE_INDEX}'
3
- 留空以使用捆绑模板。“加载默认”会将捆绑内容填充到文本区域以供编辑。`,description:`使用自定义层/批次覆盖来试运行 v4 路由器。只读模式 - 不会向 <code>memory_v2_injection_events</code> 或 <code>memory_v2_activation_logs</code> 写入任何行,也不会修改任何激活状态。将覆盖项留空以继承实时配置值;输入 <code>null</code> 以明确禁用某个层。`,diffLabel:`差异`,diffValue:`{shared} 共享 · {unique} 此窗格独有`,effectiveConfig:`生效配置`,emaScore:`EMA {score}`,empty:`(空)`,emptySelectionHint:`路由器返回了空选择。请尝试更具体的查询,或放宽覆盖值。`,failedToRunSimulation:`运行模拟失败`,firstTurnAssistantPlaceholder:`首次对话场景请留空。`,inheritActive:`继承活动`,inheritActiveWithProfile:`继承活动 ({profile})`,inheritPlaceholder:`继承`,invalidOverrideInput:`无效的覆盖输入`,justArrivedUserLabel:`刚到达的 [用户]: 消息`,lastUserPlaceholder:`例如,我们接下来应该发布什么`,legendAOnly:`仅 A`,legendBOnly:`仅 B`,legendInBoth:`两者都有`,llmProfilesOverride:`llm.profiles 覆盖`,loadDefault:`加载默认`,loading:`加载中…`,noPagesSelected:`未选择页面`,notAvailable:`内存路由器演练场不可用。`,nowBlockLabel:`'<now>' 块`,nowDefaultPlaceholder:`预填充实时 NOW.md。编辑以测试其他状态。`,nowLoadingPlaceholder:`正在加载当前 NOW.md…`,nullValue:`null`,overrideMustBePositiveInteger:`{fieldName} 必须是正整数或 'null'(得到 "{value}")`,overrideSuffix:` (覆盖)`,pageCount:`{count, plural, other {# 页}}`,pairLabel:`第 {index} 对,共 {total} 对`,pairMostRecentSuffix:` · 最新`,paneTitle:`窗格 {paneId}`,promptModeBundled:`捆绑`,promptModeCustom:`自定义`,rawApiExchange:`原始 API 交换`,recentPairsLabel:`最近的(助手,用户)对话对 · 最旧的在前`,reloadNowButton:`重新加载实时 NOW.md`,removeButton:`移除`,requestLabel:`请求(窗格 {paneId})`,reset:`重置`,responseLabel:`响应(窗格 {paneId})`,routerFailure:`路由器故障:{reason}`,runBoth:`运行两者`,runPane:`运行 {paneId}`,running:`运行中…`,selectedLabel:`已选择`,selectedValue:`{count} (实时 max_page_ids: {maxPageIds})`,summary:`摘要`,summaryUserMessageLabel:`用户消息`,systemPrompt:`系统提示词`,systemPromptConfigLabel:`系统提示词`,tier1Label:`层级 1`,tier2Label:`层级 2`,tier3Label:`层级 3 · b{batch}`,title:`内存路由器演练场`,totalCandidatePagesLabel:`总候选页面`,userMessageLabel:`[用户]: 消息`,userMessagePlaceholder:`用户的消息。`},lt={afterMergeLabel:`合并后`,breakdownCAssistantRerank:`c_助手 · 重新排序 Δ_a`,breakdownCAssistantSim:`c_助手 · sim_a`,breakdownCNowSim:`c_当前 · sim_n`,breakdownCUserRerank:`c_用户 · 重新排序 Δ_u`,breakdownCUserSim:`c_用户 · sim_u`,breakdownOwnActivation:`A_o (自身)`,breakdownPriorActivation:`先前 · d`,breakdownRerankScaledRaw:`+{scaled} (原始 {raw})`,breakdownScaledRaw:`{scaled} (原始 {raw})`,breakdownSource:`来源`,breakdownSpreadDelta:`传播 Δ`,breakdownStatus:`状态`,candidatePoolChosenChip:`已选择`,candidatePoolNoneBody:`本轮未记录候选池。`,candidatePoolPassthroughSubtitle:`{poolSize, plural, other {# 个候选未经选择器评判直接通过}} · 选择器已禁用`,candidatePoolSelectorNotRunBody:`本轮未运行选择器。`,candidatePoolSubtitle:`{poolSize, plural, other {已向选择器展示 # 个候选}} · {selectedCount, plural, other {已选择 # 个页面}}`,candidatePoolTitle:`候选池`,candidateScores:`语义 {semantic} · 近期 {recency}`,carriedPill:`携带: {count}`,conceptActivationsSubtitle:"按最终激活排序。技能条目以 `skills/` 前缀显示;展开一行可查看激活明细。",conceptActivationsTitle:`概念激活 ({count})`,configCAssistant:`c_助手`,configCNow:`c_当前`,configCUser:`c_用户`,configDDecay:`d (衰减)`,configEpsilon:`epsilon`,configHops:`跳数`,configKSharpening:`k (锐化)`,configSubtitle:`激活权重和选择阈值。`,configTitle:`配置`,configTopK:`top_k`,copyAriaLabel:`复制到剪贴板`,copyAriaLabelCopied:`已复制`,copyButtonCopied:`已复制`,copyButtonCopy:`复制`,copyErrorMessage:`无法复制到剪贴板。`,copyTitle:`复制`,copyTitleCopied:`已复制!`,corePill:`核心: {count}`,degradationTitle:`降级`,fallbackSourcesLabel:`备用来源`,hybridSearchLabel:`混合搜索`,inContextPill:`在上下文中: {count}`,injectedMemoryContextTitle:`注入的记忆上下文`,injectedPill:`已注入: {count}`,injectedTokensLabel:`注入的 Token`,latencyMs:`{ms} 毫秒`,loading:`加载中…`,loggedMemorySelectionSubtitle:`根据 v3 选择渲染,本轮未注入。`,loggedMemorySelectionTitle:`已记录的记忆选择`,memoryDisabledDefaultReason:`本轮已禁用记忆召回。`,memoryDisabledTitle:`记忆已禁用`,missingValue:`-`,modelLabel:`模型`,no:`否`,noDataBody:`此消息的记忆召回信息不可用。`,noDataTitle:`无记忆数据`,noEntriesRanked:`无条目排名。`,noPagesSelected:`未选择任何页面。`,notInjectedPill:`未注入: {count}`,pageContentLabel:`页面内容`,pageNotFound:`磁盘上未找到页面。Slug 可能引用了过时的 Qdrant 条目。`,pillMemoryV2:`记忆 V2`,pillMemoryV3:`记忆 V3`,pillRecallV1:`召回 (v1)`,providerLabel:`提供者`,queryContextSubtitle:`作为语义检索搜索向量嵌入的文本。`,queryContextTitle:`查询上下文`,reasonLabel:`原因`,retrievalFunnelSubtitle:`记忆如何从语义搜索筛选到注入的过程。`,retrievalFunnelTitle:`检索漏斗`,searchDetailsTitle:`搜索详情`,selectedLabel:`已选择`,selectedPagesSubtitle:`已选择的 v3 页面,按显示它们的通道和匹配的部分(当查找器通道显示时)进行标记。`,selectedPagesTitle:`已选择页面 ({count})`,selectedPill:`已选择: {count}`,semanticHitsLabel:`语义命中`,semanticUnavailableLabel:`语义不可用`,sparseDenseOnly:`仅密集`,sparseUsed:`已使用`,sparseVectorsLabel:`稀疏向量`,statusActive:`活跃`,statusDegraded:`已降级`,statusLabel:`状态`,statusSubtitle:`此召回的提供者、模型和延迟。`,statusTitle:`状态`,tier1Label:`层级 1`,tier2Label:`层级 2`,topCandidatesSubtitle:`{count, plural, other {# 个候选按最终得分排名。}}`,topCandidatesTitle:`热门候选`,totalLatencyLabel:`总延迟`,turnLevelRecallBody:`记忆召回每轮运行一次。此数据适用于此消息的所有 LLM 调用。`,turnLevelRecallTitle:`轮级召回`,turnPill:`轮次 {turn}`,unavailable:`不可用`,unknown:`未知`,v2StatusInContext:`在上下文中`,v2StatusInjected:`已注入`,v2StatusNotInjected:`未注入`,v2StatusPageMissing:`页面缺失`,v2TurnBody:`传播激活记忆过程,用于对本轮的概念和技能进行排名。`,v2TurnTitle:`记忆 - 轮次 {turn} ({mode})`,v3LiveInjectionBody:`v3 是本轮的实时记忆来源:下面的块已注入到上下文中(v2 已抑制)。`,v3LiveInjectionTitle:`记忆 V3 - 实时注入`,v3LoggedSelectionBody:`v3 不是此助手的实时记忆来源:这些选择已记录但本轮未注入;本轮的记忆来自 v2。`,v3LoggedSelectionTitle:`记忆 V3 - 已记录选择(未注入)`,v3SourceCarried:`携带`,v3SourceCore:`核心`,v3SourceL1L2:`L1+L2`,v3SourceNeedle:`针`,yes:`是`},ut={closeAria:`关闭文件`,empty:`此消息没有文件`,title:`文件`},dt={bookmark:`书签`,copied:`已复制`,copy:`复制`,copyFailed:`无法复制这条消息。`,forkFromHere:`从此分叉`,inspect:`检查`,loading:`朗读中…`,openInSlack:`在 Slack 中打开`,playFailed:`无法朗读这条消息。`,readAloud:`朗读`,removeBookmark:`移除书签`,retry:`重试`,stop:`停止`,summarizeUpToHere:`总结到此处`},ft={bookmark:`书签`,copied:`已复制`,copy:`复制`,copyFailed:`无法复制这条消息。`,forkFromHere:`从此分叉`,inspect:`检查`,openInSlack:`在 Slack 中打开`,readAloud:`朗读`,removeBookmark:`移除书签`,stop:`停止`,summarizeUpToHere:`总结到此处`,title:`消息操作`},pt={cancel:`取消`,continue:`继续`,description:`语音输入需要麦克风访问权限。音频将由您配置的语音转文本提供商转录,如果未设置提供商,则由您设备的内置听写功能转录。`,title:`麦克风访问权限`},mt={ariaLabel:`需要 API 密钥`,body:`请在“设置”→“模型与服务”中添加 API 密钥以开始聊天。`,dismiss:`忽略`,dismissAria:`忽略需要 API 密钥的提醒`,openSettings:`打开设置`,title:`需要 API 密钥`},ht={callOfTotal:`第 {number} 个调用,共 {total} 个`,llmCallCount:`{count, plural, other {# 个 LLM 调用}}`,selectCallAria:`选择一个 LLM 调用进行检查`,sheetTitle:`选择一个调用`},gt={dismissAria:`忽略`,unknownCommandNudge:`此命令无法识别。<ruleLink>创建规则</ruleLink>以便下次分类。`,viewSteps:`查看步骤`},_t={cancel:`取消`,icon:`图标`,name:`名称`,noIcon:`无图标`},vt={heading:`为新聊天添加插件`,managePlugins:`管理插件`,showAll:`显示全部 (+{count})`,showLess:`显示更少`,tooltip:`选择此聊天可使用的插件。您的选择将在您发送第一条消息时应用,并保留在此对话中。`},yt={managePlugins:`管理插件`},bt={approvalAria:`关于助手批准`,approvalTooltip:`未经您的批准,{name} 绝不会代表您行事`,connect:`连接`,connectTitle:`连接 {name}`,connected:`已连接`,defaultDescription:`连接 {name},以便我能将其用于此任务。`,dismiss:`忽略`,missingDetails:`缺少助手或提供商详细信息。`,tenantHostInvalid:`请输入有效的{label},例如 {placeholder}`,thisAccount:`此账户`,waiting:`等待中...`,yourAssistant:`您的助手`},xt={continue:`继续`,helpWithHeading:`我能帮您什么?`,letsChat:`我们来聊聊`,other:`其他`,otherPlaceholder:`您需要什么帮助?`,selectAll:`选择所有适用项`,somethingElse:`其他事项`,specific:`我有一个具体事项`},St={message:`此对话分支所源自的对话已被删除,因此分支点之前的消息已丢失。此后发送的所有内容均完好无损。`},Ct={cacheTokensLabel:`缓存 Token`,conversationSubtitle:`迄今为止所有计费LLM调用的累计总额。`,conversationTitle:`对话`,createdLabel:`创建时间`,durationLabel:`持续时间`,estimatedCostLabel:`预估费用`,failedStatus:`失败`,firstTokenKindLabel:`首个 Token类型`,firstTokenLatencySubtitle:`此轮次首个 Token响应时间去向,由助手测量。`,firstTokenLatencyTitle:`首个 Token延迟`,inputTokensLabel:`输入 Token`,latencyMs:`{ms} 毫秒`,loopExitReasonLabel:`循环退出原因`,modelLabel:`模型`,normalizedMetadataSubtitle:`提供商、模型、时间戳和使用计数。`,normalizedMetadataTitle:`标准化元数据`,normalizedSummaryUnavailableSubtitle:`此调用仍包含原始请求和响应负载。`,normalizedSummaryUnavailableTitle:`标准化摘要不可用`,otherLabel:`其他`,outputTokensLabel:`输出 Token`,providerLabel:`提供商`,requestMessagesLabel:`请求消息`,statusLabel:`状态`,stopReasonLabel:`停止原因`,toolCallsLabel:`工具调用`,toolsAvailableLabel:`可用工具`,totalCostSoFarLabel:`迄今总费用`,totalToFirstTokenLabel:`至首个 Token总计`,usageSubtitle:`由助手路由标准化的Token 和调用计数。`,usageTitle:`用量`},wt={formStepsAria:`表单步骤`},Tt={loadingPdf:`正在加载PDF`},Et={pageCapNotice:`{count, plural, one {显示第一页} other {显示前 # 页}}`},Dt={startedAt:`开始于 {time}`},Ot={colors:{green:`绿色`,orange:`橙色`,pink:`粉色`,purple:`紫色`,teal:`青色`,yellow:`黄色`},noColor:`无颜色`},kt={unpin:`取消固定`,unpinAria:`取消固定 {name}`},At={disableAria:`为此聊天禁用 {name}`,enableAria:`为此聊天启用 {name}`},jt={admin:`管理`,earnCredits:`赚取免费积分`,preferences:`偏好设置`,settings:`设置`,shareFeedback:`分享反馈`},Mt={addCreditsAriaLabel:`添加额度`,exhausted:`添加额度以继续。`,extraCredits:`正在使用额外用量额度`,pctUsed:`已使用 {pct}%`,settingsAriaLabel:`用量和账单设置`,title:`用量`},Nt={cannotPreview:`无法预览此文件`},Pt={download:`下载`,downloadAria:`下载 {filename}`},Ft={loadingPreview:`正在加载预览`},It={markdown:`显示前 512 KB`,text:`显示前 2 MB`},Lt={downloadFile:`下载文件`,goToFile:`前往文件`,noPreviewForType:`此文件类型无预览`},Rt={agentsLabel:`代理`,agentsToggleAria:`代理:{running, plural, =0 {无运行中} other {# 个运行中}},{completed, plural, =0 {无已完成} other {# 个已完成}}`,railAria:`进度`,stepCounter:`第 {current} 步,共 {total} 步`,title:`进度`,titleFinished:`已完成`,titleStopped:`已停止`},zt={noActiveSession:`无活动会话。请重试。`},Bt={availableTools:`可用工具`,bannerNoSections:`此调用尚无标准化提示词部分。`,bannerSectionsCount:`{count, plural, other {显示由助手路由返回的 # 个标准化请求部分。}}`,collapseAll:`全部折叠`,copyAriaLabel:`复制 {title}`,emptyBody:`此调用无标准化提示词部分。请使用“原始”选项卡检查完整的请求负载。`,emptyTitle:`无标准化提示词部分`,expandAll:`全部展开`,formatJavaScript:`JavaScript`,formatJson:`JSON`,formatMarkdown:`Markdown`,formatTypeScript:`TypeScript`,noContentAvailable:`无可用内容。`,promptSectionsTitle:`提示词部分`},Vt={body:`向您的提供商充值或降低模型Token 限制。`,title:`您的 API 密钥需要充值`},Ht={refreshing:`正在刷新`},Ut={submitFailed:`提交回复失败。请重试。`},Wt={expandAria:`重新打开问题`,minimizeAria:`最小化问题`,nextQuestionAria:`下一个问题`,optionAria:`选项 {number}:{label}`,previousQuestionAria:`上一个问题`,position:`{current} / {total}`,sendResponseAria:`发送回复`,skip:`跳过`,skipAria:`跳过此问题`,skipped:`已跳过`,skippedHint:`已跳过 - 选择一个选项以覆盖`,typeDifferentAnswerAria:`输入不同的答案`,typeSomethingElsePlaceholder:`输入其他内容`},Gt={cancelAll:`取消全部`,cancelAllAria:`取消所有排队消息`,cancelAria:`取消排队消息`,editAria:`编辑排队消息`,pushToAgentAria:`推送给助手`,queueHeading:`队列 · {count}`,showActionsAria:`显示排队消息操作`},Kt={addToChat:`添加到聊天`,ariaLabel:`引用并回复`,cancel:`取消`,placeholder:`输入您的回复…`},qt={copyRequestPayloadAriaLabel:`复制请求负载`,copyResponsePayloadAriaLabel:`复制响应负载`,downloadFailedToast:`下载负载失败。`,downloadRequestPayloadAriaLabel:`下载请求负载`,downloadResponsePayloadAriaLabel:`下载响应负载`,loadErrorTitle:`无法加载原始负载`,loading:`正在加载原始负载…`,payloadRequestFailed:`负载请求失败。请重试。`,request:`请求`,requestPayload:`请求负载`,response:`响应`,responsePayload:`响应负载`,retry:`重试`},Jt={clickToReveal:`点击显示`,clickToRevealTitle:`{label} · 点击显示`,copyValue:`复制值`,copyValueAria:`复制 {name} 的值`,hideValue:`隐藏值`,hideValueAria:`隐藏 {name} 的值`,redacted:`已遮盖`,redactedTitle:`已遮盖 - 此值未链接到存储的凭据`,redactionMarkerTitle:`遮盖标记 - 未经助手验证`,revealFailed:`无法显示 {name}。`,revealValueAria:`显示 {name} 的值`},Yt={retryAria:`重试刷新`},Xt={save:`保存`,title:`重命名对话`},Zt={defaultStatus:`正在搜索网页以了解您。`,heading:`正在了解您…`,reading:`正在阅读 <title>{title}</title><domain> · {domain}</domain>`,searchingFor:`正在搜索 <query>“{query}”</query>`,warmingUp:`正在预热搜索…`},Qt={editRemovalAria:`编辑移除`,keepIt:`保留`,removeAria:`移除`,sources:`来源`,whyRemove:`为何移除此项?`},$t={heading:`正在了解您…`,mockNote:`(模拟 - 实时流程在此处显示搜索活动源)`,resultsTitle:`这是我了解到的关于您的信息。您可以移除任何不真实的内容:`},en={body:`这是我了解到的关于您的信息。您可以移除任何不真实的内容:`,loading:`正在了解您…`},tn={continue:`继续`,emptyBody:`这次我无法整理出清晰的个人资料。我们可以在后续交流中互相了解。`,emptyTitle:`我们直接开始吧。`},nn={heading:`以下是我可以如何帮助您开始:`},rn={argumentsPreview:`参数预览`,copySectionAria:`复制章节内容`,kindAssistantText:`助手文本`,kindFunctionResponse:`函数响应`,kindReasoning:`推理`,kindToolCall:`工具调用`,kindToolResult:`工具结果`,modeResultOnly:`仅结果响应`,modeTextOnly:`仅文本响应`,modeToolCalling:`工具调用响应`,noArgumentsPreview:`此工具调用没有可用的结构化参数预览。`,noAssistantText:`此章节未捕获到助手文本。`,noSectionsFallback:`此响应没有渲染的章节。原始负载在“原始数据”选项卡中仍然可用,并且任何规范化的响应元数据(如果存在)仍将显示。`,rawTabHint:`需要完整的提供者负载?打开“原始数据”选项卡查看请求和响应 JSON。`,responseMetadata:`响应元数据`,sectionTitle:`章节 {number}`,sectionUnavailable:`章节渲染不可用`,stopReasonChip:`停止原因:{reason}`,toolChip:`工具:{name}`},an={saveFailed:`保存信任规则失败。请重试。`},on={aria:`前往最新消息`,label:`前往最新`},sn={submitFailed:`提交密钥失败。请重试。`},cn={cancel:`取消`,domains:`域:{list}`,placeholder:`输入密钥值...`,save:`保存`,savedSecurely:`已安全保存`,saving:`正在保存...`,secretValueFallback:`密钥值`,sendOnce:`发送一次(不保存)`,sending:`正在发送...`,storedSecurelyNote:`此信息安全地存储在您的设备上,不会发送到任何服务器。AI 永远不会看到此值。`,title:`安全凭据`,tools:`工具:{list}`},ln={body:`自托管助手的对话尚未在网页端提供。请从设置中管理您的助手。`,openSettings:`打开设置`,title:`自托管助手`},un={settingUp:`正在设置您的助手…`},dn={yourAssistant:`您的助手`},fn={newChat:`新建聊天`},pn={label:`返回顶部`},mn={message:`您的对话加载失败。`,retry:`重试`},hn={loadingAria:`正在加载对话`},gn={newGroup:`新建群组…`},_n={webSearch:`网页搜索`},vn={actionsAria:`技能操作`,closeDetails:`关闭技能详情`,goToSkill:`前往技能`,loadError:`此技能无法加载。它可能已被移除。`,moreTooltip:`更多`,removeSkill:`移除技能`,titleFallback:`技能`},yn={parameters:`参数`,rawInput:`原始输入`,runningSuffix:` · 正在运行`},bn={view:`查看`},xn={loadingAria:`正在加载技能`,provides:`提供`,usedSkill:`已用技能`},Sn={output:`输出`,outputFormatAria:`输出格式`},Cn={fromSkill:`来自 {name}`},wn={callLink:`调用 {number}`,emptyBody:`此选项卡列出了对话中所有的 <code>skill_load</code> 工具调用。在捕获的 LLM 调用中未检测到任何此类调用。`,emptyTitle:`此对话中未加载任何技能`,loadCount:`{count, plural, other {# 次加载}}`,summaryStats:`{uniqueCount, plural, other {# 个独特技能}} · {totalLoads, plural, other {# 次加载调用}}`,summaryTitle:`此对话中加载的技能`},Tn={editReplyAria:`编辑回复`,removeQuoteAria:`移除引用`,typeReplyPlaceholder:`输入您的回复…`},En={successToast:`已安全存储。密钥从未进入聊天。`},Dn={backToTimelineAria:`返回时间线`,backTooltip:`返回`,closeDetail:`关闭子代理详情`,input:`输入`,noEventsYet:`暂无事件`,objective:`目标`,output:`输出`,showLess:`收起`,showMore:`显示更多`,stopSubagentAria:`停止子代理`,timeline:`时间线`},On={viewReasoning:`查看推理过程`,viewSearchDetails:`查看搜索详情`,viewSearchError:`查看搜索错误`,viewToolDetails:`查看工具详情`,workedFor:`运行了 {duration}`},kn={stopSubagentAria:`停止子代理`},An={openAria:`打开建议:{title}`},jn={closeAria:`关闭`,letsDoIt:`开始吧!`,thingsWeCanDo:`我们可以做:`,whatWellNeed:`我们需要:`},Mn={scrollForMore:`向下滚动查看更多`},Nn={submitFailed:`提交失败。请重试。`},Pn={cancelled:`已取消`,displayFailed:`无法显示此内容。`,displayFailedNamed:`无法显示“{title}”。`,done:`完成`,unknownSurface:`未知界面`,unsupportedType:`不支持的界面类型:{type}`},Fn={copied:`已复制`,copy:`复制`,copyAria:`将表格复制为 Markdown`},In={continue:`继续`,defaultTitle:`我能帮您什么?`,other:`其他`,otherPlaceholder:`描述您需要什么帮助...`,selectAll:`选择所有适用项`,somethingElse:`完全是其他事情`},Ln={loadFailed:`加载预览失败。`,tooLarge:`文件过大,无法内联预览。`},Rn={reply:`回复`},zn={adding:`正在添加…`,comment:`评论`,feedbackPlaceholder:`添加您的反馈…`},Bn={allow:`允许`,confirmationRequired:`需要确认`,copyOutput:`复制输出`,deny:`拒绝`,hideDetails:`隐藏详情`,output:`输出`,showDetails:`显示详情`,technicalDetails:`技术详情`,toolLatency:`工具延迟:`,toolName:`工具名称`},Vn={defaultValue:`默认值:{value}`,inputSchema:`输入架构`,intro:`{count, plural, other {# 个工具}}随此请求发送。展开工具可查看其定义和输入架构。`,noInputSchema:`无输入架构 - 此工具不接受结构化输入。`,required:`必填`,settings:`设置`},Hn={changes:`更改`,closeAria:`关闭工具详情`,command:`命令`,denied:`此工具调用未获批准,因此没有运行。`,emptyOutput:`该工具没有返回任何输出。`,input:`输入`,output:`输出`,requestedChanges:`请求的更改`,running:`正在运行…`},Un={openAria:`打开 {label}`,viewDetailsAria:`查看详情:{label}`},Wn={fileUnavailable:`文件不可下载`,fileUnavailableHostTimeout:`文件不可下载(主机文件审批可能已超时)`,stopCommand:`停止命令`,stopRun:`停止运行`,stopWorkflow:`停止工作流`},Gn={thinking:`思考中`,working:`处理中`},Kn={authFailed:`用户身份验证失败。`},qn={assistantBusy:`您的助手正忙。请在回复完成后重试。`,retryFailed:`无法重试响应`,summarizeFailed:`无法总结对话`},Jn={commandFailed:`无法运行该命令。请重试。`,doctorUnavailable:`此助手上无法使用医生功能。`},Yn={downloadFile:`下载文件`,goToFile:`前往文件`},Xn={sketching:`正在绘制视觉效果...`},Zn={visual:`视觉效果`},Qn={ariaLabel:`语音会话`,endSession:`结束语音会话`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,muted:`已静音`,openVoiceRoom:`打开语音房间`,unmuteAssistant:`取消静音助手`,unmuteMicrophone:`取消静音麦克风`},$n={seed:`嘿,我刚和你开始了语音对话。此消息是自动发送的。请用一句话问候我,然后问我想做什么。`},er={nativeSttNoTranscript:`{clientName} 原生听写未返回转录文本。请检查系统设置中的原生语音识别,然后重试。`,askUnavailable:`助手当前无法接收语音提问。`},tr={backAria:`返回`,description:`与 {name} 进行免提语音对话。`,listeningLanguage:`识别语言`,listeningLanguageApplies:`从您的下一次语音轮次开始生效。`,liveCaptions:`随时开启实时字幕。`,muteMic:`静音麦克风,但不结束会话。`,speakNaturally:`自然说话,{name} 会大声回复。`,startTalking:`开始说话`,title:`语音模式`,voiceSettings:`语音设置`,yourAssistant:`您的助手`},nr={unavailable:`此助手目前无法选择语音。`},rr={ariaLabel:`语音会话`,closeCamera:`关闭摄像头`,endSessionAria:`结束语音会话`,endSessionTooltip:`结束会话`,flashAuto:`自动闪光灯`,flashAutoBadge:`A`,flashOff:`关闭闪光灯`,flashOn:`开启闪光灯`,flipCamera:`翻转摄像头`,lightOff:`关闭补光灯`,lightOn:`开启补光灯`,minimizeAria:`最小化语音房间`,minimizeTooltip:`最小化(会话仍在进行)`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,mutedState:`已静音。{state}`,showCamera:`显示摄像头`,stopLive:`停止实时`,takePhoto:`拍照`,unmuteAssistant:`取消静音助手`,unmuteMicrophone:`取消静音麦克风`},ir={dismiss:`关闭`,endSession:`结束语音会话`,goToThreadAria:`前往语音会话线程`,groupAria:`语音会话`,muteAssistant:`静音助手`,muteMic:`静音麦克风`,unmuteAssistant:`取消静音助手`,unmuteMic:`取消静音麦克风`},ar={muted:`已静音`},or={commandFinished:`后台命令已完成`,incomingEvent:`收到事件`,memoryReview:`记忆回顾`,ranOnItsOwn:`自动运行`,resumed:`中断后已恢复`,scheduledRun:`定时运行`,watchReview:`观察会话回顾`,workflowFinished:`工作流已完成`},sr={close:`关闭`,details:`详细信息`,result:`结果`,runStatus:`运行状态`,title:`对话已唤醒`,workflow:`工作流`},cr={celsius:`°C`,fahrenheit:`°F`,feelsLike:`体感 {temp}°`,highLow:`高:{high}° 低:{low}°`,now:`现在`},lr={content:`内容`,fetchFailed:`获取失败。`,fetching:`正在获取…`,noContent:`未提取到内容。`,rawResult:`原始结果`,viewExtracted:`查看已提取内容`,viewRaw:`查看原始内容`},ur={noSources:`未找到来源。`,query:`查询`,sources:`来源`,sourcesWithCount:`来源 ({count})`},dr={moreCount:`另有 {count} 项`},fr={after:`之后`,before:`之前`,notSet:`未设置`,removed:`已移除`},pr={agents:`代理`,back:`返回`,backToSubagentsAria:`返回子代理`,closeDetail:`关闭工作流详情`,input:`输入`,noSubagentsYet:`暂无子代理`,output:`输出`,stopWorkflow:`停止工作流`,subagents:`子代理`},mr={input:`输入`,noPromptSummary:`暂无提示词摘要`,noResultSummary:`暂无结果摘要`,output:`输出`,prompt:`提示词`,result:`结果`,running:`运行中…`},hr={cancelledAria:`已取消`,openDetailsAria:`打开 {title} 详情`},gr={openTitle:`打开 {path}`},_r={noResponse:`决定不回复`,reactionAddedSelf:`已用 {emoji} 回应`,reactionRemovedSelf:`已移除 {emoji} 回应`,reactionAdded:`{name} 用 {emoji} 回应`,reactionRemoved:`{name} 移除了 {emoji} 回应`,reactionSomeone:`有人`},vr={doneDiscarded:`未保存`,doneNotRight:`已标记为有误`,doneSaved:`技能已保存`,recommended:`推荐`,back:`上一步`,dontSave:`不保存`,looksRight:`确认无误`,next:`下一步`,save:`保存技能`,skip:`跳过`,somethingOff:`有地方不对`,stepCount:`{count, plural, one {# 个步骤} other {# 个步骤}}`,stepQuestion:`问题 {number}`,stepRecap:`回顾`,stepSummary:`保存`,summarySay:`提示词`,summarySteps:`步骤`,summaryTitle:`已准备好保存`,summaryUnanswered:`未设置`,untitledTask:`观察到的操作`},yr={restore:`恢复访问`,restoring:`正在恢复...`,restored:`已恢复。由 Vellum 托管的模型重新可用。`,failedNoAssistant:`请选择一个助手,然后重试。`,failedCannotActHere:`此应用无法为该助手恢复凭据。请在运行该助手的电脑上打开它。`,failedReplacementRejected:`Vellum 拒绝了新的凭据。请登录 Vellum 平台后重试。`,failedUnconfirmed:`新凭据已保存,但无法与 Vellum 确认。它可能很快就会生效。`,failedGeneric:`无法恢复访问。请稍后重试。`},br={emptyBody:`我随时都在思考。当有值得您关注的事情时,我会在这里发起对话。`,emptyTitle:`目前还没有任何想法。`},xr={expand:`展开`,collapse:`收起`},Sr={hide:`隐藏来自 {name} 的对话`,show:`显示来自 {name} 的对话`},Cr={turn:`我点击了 {label}。接下来呢?`},wr={count:`{count, plural, other {# 个摄像头画面}}`,timeRange:`保存时间:{first} 至 {last}`,savedTime:`保存于 {time}`,pendingAria:`摄像头画面,图像仍在加载。{time}`,timeUnavailable:`时间不可用`},Tr={documentChat:e,acpChatPlanBlock:t,acpChatTerminalBlock:n,acpChatToolCard:r,acpConnectAffordance:i,acpRunChatView:a,activeChatView:o,activityStepsPanel:s,addToChatSheet:c,allowOptionsMenu:l,appAssetActions:u,archiveAllConfirmDialog:d,assistantContentDisclosure:f,assistantDesktop:p,assistantNavItem:m,assistantSideMenu:h,assistantSleepStage:g,assistantSwitcher:_,attachmentChip:v,attachmentDownloadOverlay:y,attachmentLoadingChip:b,attachmentOverflowSquare:x,attachmentPreviewModal:S,attachmentTile:C,backgroundTaskDetailPanel:w,billingErrorBanner:T,cacheBreakpointMapCard:E,cacheDiffCard:D,cacheHealthCard:O,callRail:k,callSummarySurface:A,cameraDeepLink:j,cameraError:M,cameraShutterHint:N,cameraStatusPill:P,cameraViewOptions:F,cardSurface:I,channelReferenceChip:L,channelSetupPanel:R,channelThreadControl:z,channelTranscriptPanel:B,chatAttachments:V,chatBody:H,chatComposer:U,chatConversationHeader:W,chatInfoPanel:G,chatLayout:K,chatLayoutHeader:q,chatMarkdownMessage:J,chatPage:Y,chatRouteContent:X,chatRuleEditorModal:Z,choiceSurface:Q,cleanupScreen:$,collapsedGroupIcon:ee,compactionCircuitOpenBanner:te,compactionTab:ne,composerDraftNotices:re,composerNotices:ie,composerSecretNotice:ae,composerSettingsMenu:oe,confirmationActions:se,confirmationPromptCard:ce,contactActions:le,contactPromptCard:ue,contactRecordCard:de,contextWindowIndicator:fe,conversationActions:pe,conversationActionsSheet:me,conversationAssetActions:he,conversationAssets:ge,conversationStarterDock:_e,conversationStarterGrid:ve,copyBlockSurface:ye,copyButton:be,copyIdToClipboard:xe,creditsCard:Se,creditsUpsellCard:Ce,csvPreview:we,dailyLimitBanner:Te,deleteConversationConfirmDialog:Ee,deletedMessageRow:De,documentAssetActions:Oe,documentCommentForm:ke,documentCommentPanel:Ae,documentCommentThread:je,documentPreviewSurface:Me,documentReopenLink:Ne,documentViewerContainer:Pe,documentConversation:Fe,documentViewerPage:Ie,dynamicPageSurface:Le,exportProgressModal:Re,fileDiffView:ze,fileDownload:Be,filePreviewContainer:Ve,fileUploadSurface:He,formSurface:Ue,frameGateHud:We,groupActions:Ge,groupActionsSheet:Ke,groupNameDialogFromStore:qe,inChatOnboardingController:Je,inChatPluginPill:Ye,inlineProcessCard:Xe,inspectPage:Ze,liveVoiceBusy:Qe,liveVoiceButton:$e,liveVoiceStatus:et,llmCallErrorCard:tt,localFileEmbed:nt,localFileLink:rt,localFileMenu:it,lowBalanceBanner:at,maintenanceModeBanner:ot,maintenanceRecoveryCard:st,memoryRouterPlaygroundPage:ct,memoryTab:lt,messageFilesPanel:ut,messageHoverActions:dt,messageLongPressActions:ft,micPermissionPrimer:pt,missingApiKeyBanner:mt,mobileCallSelector:ht,multiActivityGroup:gt,nameInputDialog:_t,newChatPluginsPicker:vt,newChatPluginsSection:yt,oauthConnectSurface:bt,onboardingChoiceCard:xt,orphanedHistoryNotice:St,overviewTab:Ct,pageTabs:wt,pdfPageSkeleton:Tt,pdfPreview:Et,phaseGroupedStepList:Dt,pinnedAppColorSwatches:Ot,pinnedAppNavItem:kt,pluginPill:At,preferencesMenu:jt,preferencesUsagePanel:Mt,previewError:Nt,previewMessageCard:Pt,previewSkeleton:Ft,previewTruncationNotice:It,previewUnsupported:Lt,progressRail:Rt,promptSubmission:zt,promptTab:Bt,providerBillingBanner:Vt,pullRefreshSpinner:Ht,questionActions:Ut,questionPromptCard:Wt,queuedMessagesDrawer:Gt,quoteReplyBubble:Kt,rawTab:qt,redactedCredentialChip:Jt,refreshFeedbackPill:Yt,renameDialogFromStore:Xt,researchActivityFeed:Zt,researchFactsCard:Qt,researchMockPage:$t,researchResultsOverlay:en,researchResultsView:tn,researchSuggestions:nn,responseTab:rn,ruleEditorActions:an,scrollToLatestButton:on,secretActions:sn,secretPromptCard:cn,selfHostedScreen:ln,setupScreen:un,sideMenuBuiltInNav:dn,sideMenuOverlayBottomColumn:fn,sidebarBackToTop:pn,sidebarConversationError:mn,sidebarConversationSkeleton:hn,sidebarListContextMenu:gn,singleActivity:_n,skillDetailPanel:vn,skillExecuteDetail:yn,skillLoadCard:bn,skillLoadDetail:xn,skillLoadOutput:Sn,skillToolList:Cn,skillsTab:wn,stagedQuotesStrip:Tn,storeCredentialDialog:En,subagentDetailPanel:Dn,subagentPhaseTimeline:On,subagentSpawnGroup:kn,suggestionCard:An,suggestionDetailPanel:jn,suggestionLibrary:Mn,surfaceActions:Nn,surfaceRouter:Pn,tableSurface:Fn,taskPreferencesSurface:In,textPreview:Ln,textSelectionPopover:Rn,tiptapDocumentEditor:zn,toolCallChip:Bn,toolDefinitionsContent:Vn,toolDetailPanel:Hn,toolStepPill:Un,transcriptMessageBody:Wn,transcriptRow:Gn,useConversationLoader:Kn,useConversationSecondaryActions:qn,useSendMessage:Jn,vellumFileActionModal:Yn,visualPlaceholder:Xn,visualSurface:Zn,voiceComposerBar:Qn,voiceEntryGreeting:$n,voiceErrors:er,voiceFirstRunCard:tr,voicePickerSurface:nr,voiceRoom:rr,voiceSessionPill:ir,voiceSessionPillHost:ar,wakeCard:or,wakeDetailPanel:sr,weatherForecastDisplay:cr,webFetchDetailView:lr,webSearchDetailView:ur,webSearchStepRow:dr,workResultSurface:fr,workflowDetailPanel:pr,workflowLeafDetail:mr,workflowSubagentRow:hr,workspacePathLink:gr,transcript:_r,watchRetroSurface:vr,restoreManagedCredentialButton:yr,assistantSection:br,sidebarExpandRow:xr,assistantSectionToggle:Sr,coachmarkPress:Cr,cameraFrameGrid:wr};export{t as acpChatPlanBlock,n as acpChatTerminalBlock,r as acpChatToolCard,i as acpConnectAffordance,a as acpRunChatView,o as activeChatView,s as activityStepsPanel,c as addToChatSheet,l as allowOptionsMenu,u as appAssetActions,d as archiveAllConfirmDialog,f as assistantContentDisclosure,p as assistantDesktop,m as assistantNavItem,br as assistantSection,Sr as assistantSectionToggle,h as assistantSideMenu,g as assistantSleepStage,_ as assistantSwitcher,v as attachmentChip,y as attachmentDownloadOverlay,b as attachmentLoadingChip,x as attachmentOverflowSquare,S as attachmentPreviewModal,C as attachmentTile,w as backgroundTaskDetailPanel,T as billingErrorBanner,E as cacheBreakpointMapCard,D as cacheDiffCard,O as cacheHealthCard,k as callRail,A as callSummarySurface,j as cameraDeepLink,M as cameraError,wr as cameraFrameGrid,N as cameraShutterHint,P as cameraStatusPill,F as cameraViewOptions,I as cardSurface,L as channelReferenceChip,R as channelSetupPanel,z as channelThreadControl,B as channelTranscriptPanel,V as chatAttachments,H as chatBody,U as chatComposer,W as chatConversationHeader,G as chatInfoPanel,K as chatLayout,q as chatLayoutHeader,J as chatMarkdownMessage,Y as chatPage,X as chatRouteContent,Z as chatRuleEditorModal,Q as choiceSurface,$ as cleanupScreen,Cr as coachmarkPress,ee as collapsedGroupIcon,te as compactionCircuitOpenBanner,ne as compactionTab,re as composerDraftNotices,ie as composerNotices,ae as composerSecretNotice,oe as composerSettingsMenu,se as confirmationActions,ce as confirmationPromptCard,le as contactActions,ue as contactPromptCard,de as contactRecordCard,fe as contextWindowIndicator,pe as conversationActions,me as conversationActionsSheet,he as conversationAssetActions,ge as conversationAssets,_e as conversationStarterDock,ve as conversationStarterGrid,ye as copyBlockSurface,be as copyButton,xe as copyIdToClipboard,Se as creditsCard,Ce as creditsUpsellCard,we as csvPreview,Te as dailyLimitBanner,Tr as default,Ee as deleteConversationConfirmDialog,De as deletedMessageRow,Oe as documentAssetActions,e as documentChat,ke as documentCommentForm,Ae as documentCommentPanel,je as documentCommentThread,Fe as documentConversation,Me as documentPreviewSurface,Ne as documentReopenLink,Pe as documentViewerContainer,Ie as documentViewerPage,Le as dynamicPageSurface,Re as exportProgressModal,ze as fileDiffView,Be as fileDownload,Ve as filePreviewContainer,He as fileUploadSurface,Ue as formSurface,We as frameGateHud,Ge as groupActions,Ke as groupActionsSheet,qe as groupNameDialogFromStore,Je as inChatOnboardingController,Ye as inChatPluginPill,Xe as inlineProcessCard,Ze as inspectPage,Qe as liveVoiceBusy,$e as liveVoiceButton,et as liveVoiceStatus,tt as llmCallErrorCard,nt as localFileEmbed,rt as localFileLink,it as localFileMenu,at as lowBalanceBanner,ot as maintenanceModeBanner,st as maintenanceRecoveryCard,ct as memoryRouterPlaygroundPage,lt as memoryTab,ut as messageFilesPanel,dt as messageHoverActions,ft as messageLongPressActions,pt as micPermissionPrimer,mt as missingApiKeyBanner,ht as mobileCallSelector,gt as multiActivityGroup,_t as nameInputDialog,vt as newChatPluginsPicker,yt as newChatPluginsSection,bt as oauthConnectSurface,xt as onboardingChoiceCard,St as orphanedHistoryNotice,Ct as overviewTab,wt as pageTabs,Tt as pdfPageSkeleton,Et as pdfPreview,Dt as phaseGroupedStepList,Ot as pinnedAppColorSwatches,kt as pinnedAppNavItem,At as pluginPill,jt as preferencesMenu,Mt as preferencesUsagePanel,Nt as previewError,Pt as previewMessageCard,Ft as previewSkeleton,It as previewTruncationNotice,Lt as previewUnsupported,Rt as progressRail,zt as promptSubmission,Bt as promptTab,Vt as providerBillingBanner,Ht as pullRefreshSpinner,Ut as questionActions,Wt as questionPromptCard,Gt as queuedMessagesDrawer,Kt as quoteReplyBubble,qt as rawTab,Jt as redactedCredentialChip,Yt as refreshFeedbackPill,Xt as renameDialogFromStore,Zt as researchActivityFeed,Qt as researchFactsCard,$t as researchMockPage,en as researchResultsOverlay,tn as researchResultsView,nn as researchSuggestions,rn as responseTab,yr as restoreManagedCredentialButton,an as ruleEditorActions,on as scrollToLatestButton,sn as secretActions,cn as secretPromptCard,ln as selfHostedScreen,un as setupScreen,dn as sideMenuBuiltInNav,fn as sideMenuOverlayBottomColumn,pn as sidebarBackToTop,mn as sidebarConversationError,hn as sidebarConversationSkeleton,xr as sidebarExpandRow,gn as sidebarListContextMenu,_n as singleActivity,vn as skillDetailPanel,yn as skillExecuteDetail,bn as skillLoadCard,xn as skillLoadDetail,Sn as skillLoadOutput,Cn as skillToolList,wn as skillsTab,Tn as stagedQuotesStrip,En as storeCredentialDialog,Dn as subagentDetailPanel,On as subagentPhaseTimeline,kn as subagentSpawnGroup,An as suggestionCard,jn as suggestionDetailPanel,Mn as suggestionLibrary,Nn as surfaceActions,Pn as surfaceRouter,Fn as tableSurface,In as taskPreferencesSurface,Ln as textPreview,Rn as textSelectionPopover,zn as tiptapDocumentEditor,Bn as toolCallChip,Vn as toolDefinitionsContent,Hn as toolDetailPanel,Un as toolStepPill,_r as transcript,Wn as transcriptMessageBody,Gn as transcriptRow,Kn as useConversationLoader,qn as useConversationSecondaryActions,Jn as useSendMessage,Yn as vellumFileActionModal,Xn as visualPlaceholder,Zn as visualSurface,Qn as voiceComposerBar,$n as voiceEntryGreeting,er as voiceErrors,tr as voiceFirstRunCard,nr as voicePickerSurface,rr as voiceRoom,ir as voiceSessionPill,ar as voiceSessionPillHost,or as wakeCard,sr as wakeDetailPanel,vr as watchRetroSurface,cr as weatherForecastDisplay,lr as webFetchDetailView,ur as webSearchDetailView,dr as webSearchStepRow,fr as workResultSurface,pr as workflowDetailPanel,mr as workflowLeafDetail,hr as workflowSubagentRow,gr as workspacePathLink};
@@ -1 +0,0 @@
1
- import{Hm as e}from"./app-Tg6YU_tZ.js";import{E as t}from"./vendor-DYOeoIwg.js";function n(){return e()!==null||t.isNativePlatform()?`native`:`web`}export{n as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./command-palette-BuaJlwlj.js";export{e as CommandPalette};
@@ -1 +0,0 @@
1
- var e={build:`Compilación`,taglineMacOS:`Asistente de IA para tu Mac`,taglineWindows:`Asistente de IA para tu PC`,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={failed:`No se pudo conectar con el asistente.`},c={updateFailed:`No se pudo actualizar "{label}". Se revirtió el cambio.`},l={accent:`Acento`,accentAutomatic:`Automático`,accentPickerLabel:`Color de acento`,accentReset:`Restablecer`,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`},u={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`},d={body:`Tu asistente habla a través de un proveedor que configuraste tú. Define su voz en <settingsLink>Modelos y servicios</settingsLink>.`},f={verifyTitle:`Último paso: confirma que eres tú`,verifyAction:`Verificarme`,verifyBody:`Tu asistente aún no sabe cuál cuenta de {channel} es la tuya, así que no te responderá. Di "verifícame en {channel}" en el chat para terminar.`,verifyActionBody:`Tu asistente aún no sabe cuál cuenta de {channel} es la tuya, así que no te responderá. Lo termina contigo en el chat.`,verifiedTitle:`Identidad verificada`,verifiedBody:`Tu asistente conoce tu cuenta de {channel} y te responderá. Todo listo.`},p={alt:`Avatar del asistente`,fallbackLetter:`V`},m={alt:`Avatar del asistente`},h={actionsTitle:`Acciones de {title}`},g={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…`},_={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`}},v={allow:`Permitir`,confirm:`Confirmar`,credentialLabel:`Credencial`,defaultSuffix:`(predeterminada)`,deny:`Denegar`,dismiss:`Descartar`,enter:`Introducir`,microphoneFallback:`Micrófono {index}`,microphonePermissionHint:`Permite el acceso al micrófono para ver cada micrófono por su nombre.`,microphoneTitle:`Micrófono`,needsCredentials:`Necesito una credencial`,needsCredentialsFor:`Necesito credenciales para {service}`,needsOkCount:`{count, plural, one {Necesito tu aprobación para # cosa} other {Necesito tu aprobación para # cosas}}`,notNow:`Ahora no`,openApp:`Abrir Vellum`,pendingBadge:`{count, plural, one {# cosa necesita tu aprobación} other {# cosas necesitan tu aprobación}}`,previewVoice:`Escuchar {voice}`,review:`Revisar`,savedMicrophone:`Micrófono guardado`,savedMicrophoneNotConnected:`Micrófono guardado (no conectado)`,stopPreview:`Detener`,surfaceFallback:`Algo para ver`,systemDefault:`Predeterminado del sistema`,voiceTitle:`Voz`},y={calling:`Llamando…`,callingNamed:`Llamando a {name}…`,captureKind:`Tipo de fuente`,captureNothing:`Nada que mostrar`,capturePicker:`Qué enseñar`,captureScreen:`Pantalla {n}`,captureScreenRecordingOff:`La grabación de pantalla está desactivada`,captureScreens:`Pantallas`,captureTabs:`Pestañas de Chrome`,captureTurnOnScreenRecording:`Activar`,captureWindows:`Ventanas`,draw:`Dibujar`,clearMarks:`Borrar marcas`,drawTools:`Herramienta de dibujo`,drawFreehand:`Mano alzada`,drawLine:`Línea`,drawBox:`Recuadro`,drawCircle:`Círculo`,endSession:`Finalizar sesión`,muteAssistant:`Silenciar asistente`,muteMicrophone:`Silenciar micrófono`,notNow:`Ahora no`,offerCopy:`Copiar`,offerDiscard:`Descartar`,offerHeard:`{app} pegó eso`,offerNowhere:`No hay dónde ponerlas`,offerQuit:`Salir de {app}`,offerUse:`Usar la de Vellum`,offerVersion:`Vellum oyó`,openVellum:`Abrir Vellum`,share:`Compartir`,sharePicker:`Qué compartir`,showSummary:`Mostrar resumen`,stopTeaching:`Dejar de enseñar`,summarizing:`Resumiendo`,talk:`Hablar`,teach:`Enseñar`,unmuteAssistant:`Activar sonido del asistente`,unmuteMicrophone:`Activar micrófono`,chooseMicrophone:`Elegir micrófono`,chooseVoice:`Elegir voz`},b={sharingScreen:`Compartiendo tu pantalla`,sharingScreenNamed:`Compartiendo tu pantalla con {name}`,sharingWindow:`Compartiendo una ventana`,sharingWindowNamed:`Compartiendo una ventana con {name}`,teaching:`Enseñando`,teachingNamed:`Enseñando a {name}`},x={copiedAria:`Copiado`,copyFailed:`No se pudo copiar el contenido del archivo.`,copyFileContentsAria:`Copiar contenido del archivo`,downloadFileAria:`Descargar archivo`,editFileAria:`Editar archivo`},S={untitled:`Sin título`},C={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.`},w={ariaLabel:`Rango de fechas`,lastDays:`{days, plural, one {Último # día} other {Últimos # días}}`},T={delete:`Eliminar`,deleting:`Eliminando…`,message:`"{name}" se eliminará de forma permanente.`,title:`Eliminar app`},E={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`},D={appExported:`Aplicación exportada`,deployFailed:`No se pudo desplegar`,deployedToVercel:`Desplegada en Vercel`,open:`Abrir`,shareFailed:`No se pudo compartir la aplicación`},O={tooltip:`Detener`},k={copied:`Copiado`,copy:`Copiar`,showLess:`Mostrar menos`,showMore:`Mostrar más`},A={stopRecording:`Detener grabación`},j={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!`},M={instructions:`Pega el token del bot que copiaste de la página Bot.`,verificationNoticeTitle:`Ignora la página "Verify your App"`,verificationNoticeBody:`Discord la muestra a cada app nueva. Solo importa a partir de 100 servidores.`,botTokenLabel:`Token del bot`,save:`Conectar`,saving:`Conectando...`,saved:`Conectado. Ahora añade el bot a un servidor.`,botTokenPlaceholder:`MTk4NjIyNDgzNzAyNDU0...`},N={inPortal:`En el portal de desarrolladores de Discord:`,stepCreateApp:`Pulsa <strong>New Application</strong> y ponle a la app el nombre de tu asistente:`,copyName:`Copiar nombre`,copied:`¡Copiado!`,stepAppIcon:`Opcional: descarga el avatar y súbelo en <strong>General Information</strong> como icono de la app.`,stepResetToken:`Ve a la página <strong>Bot</strong> en el menú de la app, pulsa <strong>Reset Token</strong> y copia el token de inmediato. Discord solo lo muestra una vez.`,stepIntentsOff:`En la misma página, deja apagados los tres interruptores de <strong>Privileged Gateway Intents</strong>. Tu asistente no los necesita: solo lee mensajes directos y mensajes que lo mencionan.`,openPortal:`Abrir el portal de Discord`,continue:`Ya tengo mi token`},P={connectedTitle:`Bot añadido`,connectedBody:`El token está guardado y el bot ya está en tu servidor. La parte de Discord está lista.`},F={instructions:`Tu bot no puede ver ni responder nada hasta que entre en un servidor. Abre el enlace, elige tu servidor y aprueba.`,openInvite:`Añadir a un servidor`,confirmJoined:`Ya añadí el bot`,noAppId:`Conecta primero un token del bot y vuelve para añadirlo a un servidor.`},I={channelLabel:`Discord`,stepCreate:`Crear app`,stepConnect:`Conectar`,stepInvite:`Añadir al servidor`,stepFinish:`Finalizar`,copyError:`No se pudo copiar el nombre. Escríbelo en Discord en su lugar.`},L={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`},R={failed:`No se pudo descargar el archivo`,revealMac:`Mostrar en Finder`,revealWindows:`Mostrar en el Explorador de archivos`,saved:`Guardado en Descargas`,started:`Descarga iniciada`,startedDescription:`Busca {filename} en las descargas de tu navegador.`},z={discard:`Descartar`,save:`Guardar`,saving:`Guardando…`},B={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`},V={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`},H={loadError:`Esta sección no se pudo cargar. Recarga la página para intentarlo de nuevo.`},U={goToConversation:`Ir a la conversación`},W={ariaLabelMacOS:`Descargar la app de macOS`,ariaLabelWindows:`Descargar la app de Windows`,ctaAriaLabelMacOS:`Descargar la app de macOS`,ctaAriaLabelWindows:`Descargar la app de Windows`,ctaLabel:`Descargar`,subtitle:`Uso del ordenador · acceso a terminal · automatización nativa`,titleMacOS:`Consigue la app de macOS`,titleWindows:`Consigue la app de Windows`},G={bannerAria:`Descargar la app de {appName}`,bannerAriaGeneric:`Descargar la app móvil de Vellum`,download:`Descargar`,downloadAppAria:`Descargar la app de {appName}`,downloadAppAriaGeneric:`Descargar la app móvil de Vellum`,subtitle:`Notificaciones push · inicio biométrico · háptica`,title:`Obtén la app de {appName}`,titleGeneric:`Obtén la app de Vellum`},K={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`},q={dismissAria:`Descartar`},J={back:`Atrás`},Y={cancel:`Cancelar`,logIn:`Iniciar sesión`},X={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`},Z={created:`Perfil "{name}" creado`},Q={logoAlt:`Vellum`,placeholder:`Pregunta lo que quieras a Vellum...`},$={copied:`¡Copiado!`,copyError:`No se pudo copiar el enlace de referido.`,copySuccess:`¡Copiado al portapapeles!`,creditsEarned:`Créditos ganados`,friendsReferred:`Amigos referidos`,gatedTooltip:`¡Suscríbete o compra créditos para empezar a ganar!`,loadError:`No se pudo cargar la información de referidos.`,loading:`Cargando...`,shareLink:`Compartir enlace`,subtitleDefault:`Comparte Vellum con amigos y gana créditos por cada registro.`,subtitleWithAmounts:`Comparte Vellum con amigos - cada uno ganará {creditAmount} créditos cuando se registren, hasta {earningCap} en total.`},ee={title:`Gana créditos gratis`},te={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?`},ne={body:`Tu asistente está trabajando duro y está alcanzando sus límites de recursos actuales. Mejora tu plan para que siga funcionando sin problemas.`,bodyNoUpgrade:`Tu asistente está trabajando duro y está alcanzando sus límites de recursos actuales.`,dontShowAgain:`No mostrar de nuevo`,title:`Tu asistente necesita más potencia`,titleNamed:`{assistantName} necesita más potencia`,upgrade:`Mejorar plan`},re={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`},ie={loadingAria:`Cargando`},ae={loadingAria:`Cargando`},oe={unnamedAssistant:`el asistente`},se={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`},ce={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`},le={ariaLabel:`Acciones de {name}`},ue={reset:`Restablecer`,save:`Guardar`},de={label:`Compartir enlace de conexión`},fe={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`},pe={loadingAria:`Cargando el formulario de comentarios`},me={close:`Cerrar`,message:`No se pudo cargar el formulario de comentarios.`,retry:`Reintentar`},he={closeAria:`Cerrar`,closeSidebarAria:`Cerrar barra lateral`,openSidebarAria:`Abrir barra lateral`},ge={backFrom:`Volver desde {title}`,backToMenu:`Volver al menú de {title}`,navigationAria:`Navegación de {title}`},_e={ariaLabel:`Navegación de la barra lateral`},ve={label:`Aprendido de esta conversación`},ye={message:`¿Quitar "{name}" de este asistente?`,remove:`Quitar`,title:`Quitar skill`},be={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>`},xe={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`},Se={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`},Ce={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.`,savedBody:`Ambos tokens están guardados. La parte de Slack está lista.`},we={channelLabel:`Slack`,copyError:`No se pudo copiar el manifiesto. Cópialo de nuevo antes de continuar.`,stepConnect:`Conectar`,stepCreate:`Crear`,stepName:`Nombre`,stepOpen:`Abrir`},Te={total:`Total: {value}`},Ee={reloadApp:`Recargar app`},De={reconnecting:`Reconectando con tu asistente…`,dismiss:`Descartar`,goToDoctor:`Ir a Doctor`,resumeAssistant:`Reanudar asistente`,retryNow:`Reintentar ahora`,wakeUp:`Despertar`},Oe={allLanguages:`Todos los idiomas`,featured:`Destacados`,languagesAriaLabel:`Idiomas`,noMatch:`Ningún idioma coincide.`,searchAriaLabel:`Buscar idiomas`,searchPlaceholder:`Buscar idiomas`,suggested:`Sugerido`},ke={description:`Se aplica desde tu próximo turno hablado.`},Ae={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.`},je={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`},Ne={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…`,savedTitle:`Token guardado`,savedBody:`El token del bot está guardado. La parte de Telegram está lista.`},Pe={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.`,dmOnlyNotice:`Los chats privados sí están admitidos. Los mensajes y las pulsaciones de botones en grupos, supergrupos y canales aún no están admitidos.`,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>`},Fe={channelLabel:`Telegram`,copyError:`No se pudo copiar el nombre. Escríbelo en BotFather en su lugar.`,stepConnect:`Conectar`,stepCreate:`Crear bot`},Ie={shopifyLabel:`Dominio de la tienda`,shopifyPlaceholder:`tu-tienda.myshopify.com`},Le={recoveryModeBanner:`Modo de recuperación activo: esta sesión está conectada al terminal de depuración.`},Re={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.`},ze={dark:`Oscuro`,label:`Tema`,light:`Claro`,system:`Sistema`,velvet:`Velvet`},Be={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`},Ve={available:`Actualización disponible. Iniciando descarga…`,closeAriaLabel:`Cerrar`,downloading:`Descargando actualización…`,ready:`Vellum {version} está listo.`,restartToInstall:`Reiniciar para instalar`,versionFallback:`actualización`},He={deleteFailed:`No se pudo eliminar la app`},Ue={copyFailed:`No se pudo copiar el enlace. Ábrelo en {url}`,linkCopied:`Enlace copiado`,open:`Abrir`},We={setupPrompt:{slack:`Quiero comunicarme contigo por Slack. Vamos a configurarlo.`,telegram:`Quiero comunicarme contigo por Telegram. Vamos a configurarlo.`,discord:`Quiero comunicarme contigo por Discord. Vamos a configurarlo.`,email:`Quiero enviarte correos. Vamos a configurar tu dirección de correo.`,phone:`Quiero poder llamarte. Vamos a conseguirte un número de teléfono.`},finishPrompt:{slack:`Slack está configurado pero no funciona. ¿Puedes terminarlo?`,telegram:`Telegram está configurado pero no funciona. ¿Puedes terminarlo?`,discord:`Discord está configurado pero no funciona. ¿Puedes terminarlo?`,email:`Mi dirección de correo está configurada pero no funciona. ¿Puedes terminarla?`,phone:`Mi número de teléfono está configurado pero no funciona. ¿Puedes terminarlo?`}},Ge={addFailed:`No se pudo marcar el mensaje.`,removeFailed:`No se pudo quitar el marcador.`},Ke={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.`},qe={accountConnected:`Cuenta de {name} conectada.`,authorizationError:`Error de {name}: {code}`,authorizationFailed:`La autorización de {name} falló`,popupBlocked:`Ventana emergente bloqueada. Permite las ventanas emergentes e inténtalo de nuevo.`,startFailed:`No se pudo iniciar la autorización de {name}.`,startFailedWithReason:`No se pudo iniciar la autorización de {name}: {reason}`},Je={blocked:`Tu navegador bloqueó una página que el asistente intentó abrir.`,openPage:`Abrir página`},Ye={playFailed:`No se pudo reproducir la muestra de voz.`},Xe={updated:`Tema actualizado`},Ze={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`},Qe={assistantVoiceAriaLabel:`Voz del asistente`,defaultSuffix:`(predeterminada)`,previewVoice:`Vista previa de {description}`,providerAriaLabel:`Proveedor de voz`,stopPreview:`Detener vista previa`},$e={ariaLabel:`Voz`,selectVoice:`Selecciona una voz`},et={done:`Listo`,title:`Voces`},tt={body:`Los proveedores de voz, la transcripción y las claves de API están en <modelsLink>Modelos y servicios</modelsLink>.`},nt={recommendedOff:`Recomendado desactivado`},rt={developer:`Desarrollador`,file:`Archivo`,help:`Ayuda`,view:`Ver`},it={checkingDomain:`Comprobando dominio…`,domainVerified:`Dominio verificado`,failedTitle:`La verificación del dominio falló. Es posible que los registros DNS no se hayan propagado correctamente. Puedes intentar liberar y volver a registrar el dominio.`,unknownStatus:`Estado desconocido`,unknownStatusTitle:`No se pudo obtener el estado de verificación del dominio.`,verificationFailed:`Verificación fallida`,verifiedTitle:`Los registros DNS se han verificado. Tu dominio está listo para enviar y recibir correo.`,verifyingDomain:`Verificando dominio…`,verifyingTitle:`Los registros DNS se han aprovisionado. Esperando a que el proveedor de correo los verifique; esto suele tardar unos minutos.`,setupRequired:`Configuración del dominio requerida`,setupRequiredTitle:`Este dominio no se ha aprovisionado con el proveedor de correo. No puede enviar ni recibir correo hasta completar la configuración.`},at={body:`Los servicios administrados se miden y se deducen del saldo de tu cuenta de Vellum. <link>Ver precios</link>`},ot={managedLabel:`Administrado`,modeToggleAriaLabel:`Modo de servicio`,yourOwnLabel:`Propio`},st={aboutPage:e,activeAssistantGate:t,addCredentialModal:n,addCreditsModal:r,appCard:i,appNavBar:a,appViewerContainer:o,assistantConnect:s,assistantFeatureFlagStore:c,avatarManagementModal:l,bundleConfirmPage:u,byoVoiceNote:d,channelSetupCompleteNotice:f,chatAvatar:p,chooserAvatarChip:m,collapsibleNavSection:h,commandPalette:g,companionIntro:_,companionPopover:v,companionSurface:y,companionWatchFramePage:b,contentActionBar:x,conversationTitle:S,createAssistantDialog:C,dateRangeSelect:w,deleteAppDialog:T,deployDialogs:E,deployStore:D,detailPanelStopButton:O,detailPrimitives:k,dictationOverlayPage:A,discordNudgeBanner:j,discordSetupConnectStep:M,discordSetupCreateStep:N,discordSetupFinishStep:P,discordSetupInviteStep:F,discordSetupWizard:I,diskPressureBanner:L,downloadFeedback:R,editFooter:z,generateInviteLinkDialog:B,githubNudgeBanner:V,lazyBoundary:H,localNotification:U,desktopAppBanner:W,nativeAppBanner:G,notFound:K,nudgeChatBanner:q,onboardingBackButton:J,platformLoginNotice:Y,profileCard:X,profileQuickAddProvider:Z,quickInputPage:Q,referralContent:$,referralModal:ee,removeFromDeviceDialog:te,resourcePressureBanner:ne,retireConfirmDialog:re,rootHydrateFallback:ie,routePendingIndicator:ae,rootLayout:oe,routeErrorBoundary:se,runtimeUpgradeBanner:ce,sectionActionsButton:le,serviceFormControls:ue,shareConnectionLinkButton:de,shareFeedbackModal:fe,shareFeedbackModalFallback:pe,shareFeedbackModalLoadError:me,sideListDrawer:he,sidebarShell:ge,sidebarTree:_e,skillLineageLink:ve,skillRemovalDialog:ye,slackSetupCreateStep:be,slackSetupNameStep:xe,slackSetupOpenStep:Se,slackSetupTokensStep:Ce,slackSetupWizard:we,stackedBarTooltip:Te,startupFailure:Ee,statusBanner:De,sttLanguagePicker:Oe,sttLanguagePickerModal:ke,sttProviderForm:Ae,subagentAvatarChip:je,systemPermissionsCard:Me,telegramSetupConnectStep:Ne,telegramSetupCreateStep:Pe,telegramSetupWizard:Fe,tenantHost:Ie,terminalPanel:Le,themeStagePage:Re,themeToggle:ze,ttsProviderForm:Be,updateToast:Ve,useAppDelete:He,useAppDeployment:Ue,useAssistantChannels:We,useBookmarks:Ge,useConnectClaude:Ke,useOauthConnect:qe,useOpenUrlDirectives:Je,useVoiceSamplePreview:Ye,useWorkspaceTheme:Xe,vercelTokenDialog:Ze,voiceList:Qe,voicePickerField:$e,voicePickerModal:et,voiceProvidersNote:tt,voiceTranscriptToggles:nt,windowsMenuBar:rt,domainVerificationChip:it,managedServicesBanner:at,serviceCard:ot};export{e as aboutPage,t as activeAssistantGate,n as addCredentialModal,r as addCreditsModal,i as appCard,a as appNavBar,o as appViewerContainer,s as assistantConnect,c as assistantFeatureFlagStore,l as avatarManagementModal,u as bundleConfirmPage,d as byoVoiceNote,f as channelSetupCompleteNotice,p as chatAvatar,m as chooserAvatarChip,h as collapsibleNavSection,g as commandPalette,_ as companionIntro,v as companionPopover,y as companionSurface,b as companionWatchFramePage,x as contentActionBar,S as conversationTitle,C as createAssistantDialog,w as dateRangeSelect,st as default,T as deleteAppDialog,E as deployDialogs,D as deployStore,W as desktopAppBanner,O as detailPanelStopButton,k as detailPrimitives,A as dictationOverlayPage,j as discordNudgeBanner,M as discordSetupConnectStep,N as discordSetupCreateStep,P as discordSetupFinishStep,F as discordSetupInviteStep,I as discordSetupWizard,L as diskPressureBanner,it as domainVerificationChip,R as downloadFeedback,z as editFooter,B as generateInviteLinkDialog,V as githubNudgeBanner,H as lazyBoundary,U as localNotification,at as managedServicesBanner,G as nativeAppBanner,K as notFound,q as nudgeChatBanner,J as onboardingBackButton,Y as platformLoginNotice,X as profileCard,Z as profileQuickAddProvider,Q as quickInputPage,$ as referralContent,ee as referralModal,te as removeFromDeviceDialog,ne as resourcePressureBanner,re as retireConfirmDialog,ie as rootHydrateFallback,oe as rootLayout,se as routeErrorBoundary,ae as routePendingIndicator,ce as runtimeUpgradeBanner,le as sectionActionsButton,ot as serviceCard,ue as serviceFormControls,de as shareConnectionLinkButton,fe as shareFeedbackModal,pe as shareFeedbackModalFallback,me as shareFeedbackModalLoadError,he as sideListDrawer,ge as sidebarShell,_e as sidebarTree,ve as skillLineageLink,ye as skillRemovalDialog,be as slackSetupCreateStep,xe as slackSetupNameStep,Se as slackSetupOpenStep,Ce as slackSetupTokensStep,we as slackSetupWizard,Te as stackedBarTooltip,Ee as startupFailure,De as statusBanner,Oe as sttLanguagePicker,ke as sttLanguagePickerModal,Ae as sttProviderForm,je as subagentAvatarChip,Me as systemPermissionsCard,Ne as telegramSetupConnectStep,Pe as telegramSetupCreateStep,Fe as telegramSetupWizard,Ie as tenantHost,Le as terminalPanel,Re as themeStagePage,ze as themeToggle,Be as ttsProviderForm,Ve as updateToast,He as useAppDelete,Ue as useAppDeployment,We as useAssistantChannels,Ge as useBookmarks,Ke as useConnectClaude,qe as useOauthConnect,Je as useOpenUrlDirectives,Ye as useVoiceSamplePreview,Xe as useWorkspaceTheme,Ze as vercelTokenDialog,Qe as voiceList,$e as voicePickerField,et as voicePickerModal,tt as voiceProvidersNote,nt as voiceTranscriptToggles,rt as windowsMenuBar};
@@ -1 +0,0 @@
1
- var e={build:`构建`,taglineMacOS:`您的 Mac AI 助手`,taglineWindows:`您的 Windows PC AI 助手`,version:`版本`},t={connecting:`正在连接到您的助手…`,logIn:`登录`,logOut:`注销`},n={cancel:`取消`,credentialSaved:`凭据已保存。`,description:`添加 API 密钥或令牌,以便工具和集成可以使用它。`,fieldLabel:`字段`,fieldPlaceholder:`例如 api_token`,labelOptional:`标签(可选)`,labelPlaceholder:`例如 GitHub 个人访问令牌`,save:`保存`,saveFailed:`保存凭据失败`,serviceLabel:`服务`,servicePlaceholder:`例如 github`,title:`添加凭据`,valueLabel:`值`,valuePlaceholder:`输入秘密值`},r={amount:`金额`,cancel:`取消`,configureAutoReload:`配置自动充值`,continue:`继续`,description:`您将被重定向到 Stripe 完成支付。`,title:`添加点数`},i={openApp:`打开应用`,pin:`置顶`,previewTitle:`{name} 预览`,unpin:`取消置顶`},a={close:`关闭`,copyLink:`复制链接`,deploy:`部署`,deployToVercel:`部署到 Vercel`,deployToVercelSubtitle:`发布为静态页面`,deployedCopyLinkAria:`已部署到 Vercel,复制链接`,deployedCopyLinkTooltip:`已部署:复制链接`,deployedToVercel:`已部署到 Vercel`,deploying:`正在部署…`,edit:`编辑`,expandApp:`展开应用`,fullscreen:`全屏`,openApp:`打开应用`,redeploy:`重新部署`,redeploySubtitle:`发布当前版本`,share:`分享`,shareAndDeploy:`分享并部署`,shareExportSubtitle:`导出为 .vellum 文件`,sharing:`正在分享…`},o={exitFullscreen:`退出全屏`},s={failed:`连接助手失败。`},c={updateFailed:`无法更新“{label}”。您的更改已恢复。`},l={accent:`强调色`,accentAutomatic:`自动`,accentPickerLabel:`强调色`,accentReset:`重置`,body:`身体`,color:`颜色`,eyes:`眼睛`,keepUploadedDescription:`保存角色会替换它`,keepUploadedLabel:`保留您上传的图片`,loadError:`无法加载头像组件。请确保您的助手正在运行。`,name:`名称`,next:`下一个 {label}`,previous:`上一个 {label}`,randomize:`随机化`,save:`保存`,saving:`正在保存…`,title:`更新头像`,uploadImage:`上传图片`,uploadedAlt:`已上传头像`,useCharacterDescription:`从我们内置的头像中选择`,useCharacterLabel:`改用角色`},u={bySigner:`由 {name}`,cancel:`取消`,capabilities:`功能`,createdBy:`创建者`,hideWarnings:`隐藏警告 ({count})`,install:`安装`,installAnyway:`仍然安装`,loading:`正在加载...`,showWarnings:`显示警告 ({count})`,size:`大小`},d={body:`您的助手通过您自己配置的提供商进行语音交互。请在<settingsLink>模型与服务</settingsLink>中设置其语音。`},f={verifyTitle:`最后一步:确认您的身份`,verifyAction:`验证我`,verifyBody:`您的助手还不知道哪个 {channel} 账号是您的,所以暂时不会回复您。在聊天中说“在 {channel} 上验证我”即可完成。`,verifyActionBody:`您的助手还不知道哪个 {channel} 账号是您的,所以暂时不会回复您。它会在聊天中陪您完成。`,verifiedTitle:`身份已验证`,verifiedBody:`您的助手已识别您的 {channel} 账号,会回复您。一切就绪。`},p={alt:`助手头像`,fallbackLetter:`V`},m={alt:`助手头像`},h={actionsTitle:`{title} 操作`},g={ariaLabel:`命令面板`,clear:`清除`,clearSearch:`清除搜索`,closeSearch:`关闭搜索`,noResults:`无结果`,placeholder:`搜索对话、记忆…`,searchAriaLabel:`搜索`,searching:`正在搜索…`},_={ariaLabel:`介绍您的助手`,done:`知道了`,meet:{body:`我会在您的桌面上,即使 Vellum 不可见。`,title:`这就是我`,titleNamed:`我是 {name}`},menu:{body:`您可以在这里隐藏我或更改我的大小。`,title:`右键点击我`},next:`下一步`,skip:`跳过`,talk:{body:`开始语音对话。`,title:`交谈`}},v={allow:`允许`,confirm:`确认`,credentialLabel:`凭据`,defaultSuffix:`(默认)`,deny:`拒绝`,dismiss:`关闭`,enter:`输入`,microphoneFallback:`麦克风 {index}`,microphonePermissionHint:`允许访问麦克风后即可按名称查看每个麦克风。`,microphoneTitle:`麦克风`,needsCredentials:`需要凭据`,needsCredentialsFor:`需要 {service} 的凭据`,needsOkCount:`{count, plural, other {有 # 项需要你的同意}}`,notNow:`暂不`,openApp:`打开 Vellum`,pendingBadge:`{count, plural, other {有 # 项需要你的同意}}`,previewVoice:`试听 {voice}`,review:`查看`,savedMicrophone:`已保存的麦克风`,savedMicrophoneNotConnected:`已保存的麦克风(未连接)`,stopPreview:`停止试听`,surfaceFallback:`有内容要给你看`,systemDefault:`系统默认`,voiceTitle:`声音`},y={calling:`正在呼叫…`,callingNamed:`正在呼叫 {name}…`,captureKind:`来源类型`,captureNothing:`没有可显示的内容`,capturePicker:`教学来源`,captureScreen:`屏幕 {n}`,captureScreens:`屏幕`,captureTabs:`Chrome 标签页`,captureWindows:`窗口`,draw:`绘制`,clearMarks:`清除标记`,drawTools:`绘图工具`,drawFreehand:`自由绘制`,drawLine:`直线`,drawBox:`方框`,drawCircle:`圆形`,endSession:`结束会话`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,notNow:`暂不`,offerCopy:`复制`,offerDiscard:`丢弃`,offerHeard:`{app} 已粘贴了那段`,offerNowhere:`没有地方可以放`,offerQuit:`退出 {app}`,offerUse:`使用 Vellum 的版本`,offerVersion:`Vellum 听到的是`,openVellum:`打开 Vellum`,share:`共享`,sharePicker:`共享来源`,showSummary:`显示摘要`,stopTeaching:`停止教学`,summarizing:`正在摘要`,talk:`交谈`,teach:`教学`,unmuteAssistant:`取消助手静音`,unmuteMicrophone:`取消麦克风静音`,dictating:`正在聆听`,dictatingTranscribing:`正在思考`,chooseMicrophone:`选择麦克风`,chooseVoice:`选择声音`},b={sharingScreen:`正在分享你的屏幕`,sharingScreenNamed:`正在与 {name} 分享你的屏幕`,sharingWindow:`正在分享一个窗口`,sharingWindowNamed:`正在与 {name} 分享一个窗口`,teaching:`正在教学`,teachingNamed:`正在教 {name}`},x={copiedAria:`已复制`,copyFailed:`无法复制文件内容。`,copyFileContentsAria:`复制文件内容`,downloadFileAria:`下载文件`,editFileAria:`编辑文件`},S={untitled:`无标题`},C={cancel:`取消`,create:`创建`,description:`配置一个新助手。它将在后台启动。`,namePlaceholder:`助手名称(可选)`,title:`新助手`,toastSuccess:`新助手已创建。`},w={ariaLabel:`日期范围`,lastDays:`{days, plural, other {过去 # 天}}`},T={delete:`删除`,deleting:`正在删除…`,message:`"{name}" 将被永久删除。`,title:`删除应用`},E={confirmLabel:`让您的助手处理`,confirmLabelNamed:`让 {assistantName} 处理`,message:`"{appName}" 使用后端服务,这些服务无法在静态 Vercel 页面上运行。您的助手可以使用无服务器函数正确部署它。`,messageNamed:`"{appName}" 使用后端服务,这些服务无法在静态 Vercel 页面上运行。{assistantName} 可以使用无服务器函数正确部署它。`,title:`此应用需要完整部署`},D={appExported:`应用已导出`,deployFailed:`部署失败`,deployedToVercel:`已部署到 Vercel`,open:`打开`,shareFailed:`分享应用失败`},O={tooltip:`停止`},k={copied:`已复制`,copy:`复制`,showLess:`显示更少`,showMore:`显示更多`},A={stopRecording:`停止录音`},j={ariaLabel:`加入 Vellum Discord 社区`,ctaLong:`加入 Discord`,ctaShort:`加入`,subtitleLong:`与团队交流 - 分享反馈、请求功能、更快获得答案`,subtitleShort:`分享反馈、请求功能、更快获得答案`,title:`加入我们的社区!`},M={instructions:`粘贴您从“机器人”页面复制的机器人令牌。`,verificationNoticeTitle:`请忽略“验证您的应用”页面`,verificationNoticeBody:`Discord 对每个新应用都会显示它。只有超过 100 个服务器时才有意义。`,botTokenLabel:`机器人令牌`,save:`连接`,saving:`正在连接...`,saved:`已连接。接下来,将机器人添加到服务器。`,botTokenPlaceholder:`MTk4NjIyNDgzNzAyNDU0...`},N={inPortal:`在 Discord 开发者门户中:`,stepCreateApp:`点击<strong>New Application</strong>,并用您助手的名字命名应用:`,copyName:`复制名称`,copied:`已复制!`,stepAppIcon:`可选:下载头像,然后在<strong>一般信息</strong>页面上传为应用图标。`,stepResetToken:`前往应用菜单中的<strong>机器人</strong>页面,点击<strong>重置令牌</strong>并立即复制令牌。Discord 只显示一次。`,stepIntentsOff:`在同一页面,保持三个<strong>特权网关意图</strong>开关全部关闭。您的助手不需要它们:它只读取私信和提及它的消息。`,openPortal:`打开 Discord 门户`,continue:`我已拥有令牌`},P={connectedTitle:`机器人已添加`,connectedBody:`令牌已保存,机器人已加入您的服务器。Discord 这边已完成。`},F={instructions:`机器人加入服务器前什么都看不到、也无法回复。打开链接,选择您的服务器并批准。`,openInvite:`添加到服务器`,confirmJoined:`我已添加机器人`,noAppId:`请先连接机器人令牌,然后返回此处将其添加到服务器。`},I={channelLabel:`Discord`,stepCreate:`创建应用`,stepConnect:`连接`,stepInvite:`添加到服务器`,stepFinish:`完成`,copyError:`无法复制名称。请改为在 Discord 中输入。`},L={acknowledge:`确认`,acknowledging:`正在确认...`,cleanupBody:`提示您的助手释放空间,以免空间耗尽并进入锁定状态。`,cleanupTitle:`清理模式已激活`,criticalBody:`如果存储空间耗尽,您的助手将进入锁定状态。`,criticalModalDescription:`如果存储空间耗尽,您的助手将进入锁定状态。您应该提示您的助手释放空间或增加存储空间。`,criticalTitle:`存储空间严重不足`,dontShowAgain:`不再显示`,manageStorage:`管理存储`,review:`查看`,upgrade:`升级`,warningBody:`释放空间以避免中断。`,warningBodyWithUpgrade:`释放空间或增加更多存储空间以避免中断。`,warningTitle:`您的存储空间即将耗尽`},R={failed:`下载失败`,revealMac:`在访达中显示`,revealWindows:`在文件资源管理器中显示`,saved:`已保存到“下载”`,started:`下载已开始`,startedDescription:`请在浏览器的下载内容中查找 {filename}。`},z={discard:`放弃`,save:`保存`,saving:`正在保存…`},B={copyAriaLabel:`复制邀请链接`,createFailed:`创建邀请链接失败。请确保您的助手已启用 A2A。`,creating:`正在创建邀请链接…`,done:`完成`,shareHint:`与另一位助手所有者分享此链接以建立连接。`,title:`分享连接链接`,tryAgain:`重试`},V={ariaLabel:`Vellum 在 GitHub 上开源`,ctaAriaLabel:`在 GitHub 上为 Vellum 点赞`,ctaLabel:`为我们点赞`,subtitle:`在 GitHub 上为我们点赞或贡献代码`,title:`Vellum 是开源的`},H={loadError:`此部分无法加载。请重新加载页面重试。`},U={goToConversation:`前往对话`},W={ariaLabelMacOS:`下载 macOS 应用`,ariaLabelWindows:`下载 Windows 应用`,ctaAriaLabelMacOS:`下载 macOS 应用`,ctaAriaLabelWindows:`下载 Windows 应用`,ctaLabel:`下载`,subtitle:`电脑使用 · 终端访问 · 原生自动化`,titleMacOS:`获取 macOS 应用`,titleWindows:`获取 Windows 应用`},G={bannerAria:`下载 {appName} 应用`,bannerAriaGeneric:`下载 Vellum 移动应用`,download:`下载`,downloadAppAria:`下载 {appName} 应用`,downloadAppAriaGeneric:`下载 Vellum 移动应用`,subtitle:`推送通知 · 生物识别登录 · 触觉反馈`,title:`获取 {appName} 应用`,titleGeneric:`获取 Vellum 应用`},K={backToAssistant:`返回您的助手`,badge:`错误 404`,body:`您要查找的页面不存在或可能已移动。`,goBack:`返回`,title:`页面未找到`},q={dismissAria:`关闭`},J={back:`返回`},Y={cancel:`取消`,logIn:`登录`},X={assistantHandleIdleEmpty:`您的助手尚未设置句柄,请设置一个以便提及。`,assistantHandleLabel:`助手句柄`,assistantHandleUpdated:`助手句柄已更新。`,available:`可用`,availableHelper:`可用。`,checkAvailabilityFailed:`无法检查可用性。`,checkingAvailability:`正在检查可用性…`,chooseDifferentHandle:`请选择一个不同的句柄。`,emailLabel:`电子邮件`,handleHelper:`小写字母、数字、连字符和下划线。3–30个字符。`,handleLocked:`您的助手句柄已锁定,因为它被用作其电子邮件子域名。要更改它,请先<releaseLink>释放子域名</releaseLink>。`,loading:`正在加载您的个人资料…`,notAvailable:`不可用`,profileUpdated:`个人资料已更新。`,save:`保存`,saved:`已保存`,saving:`正在保存…`,subtitle:`管理您的账户详情和偏好设置。`,title:`个人资料`,userHandleIdleAutoGenerated:`您的句柄是在注册时自动生成的 - 请选择一个您喜欢的。`,userHandleLabel:`用户句柄`},Z={created:`个人资料“{name}”已创建`},Q={logoAlt:`Vellum`,placeholder:`向 Vellum 提问...`},$={copied:`已复制!`,copyError:`无法复制推荐链接。`,copySuccess:`已复制到剪贴板!`,creditsEarned:`已赚取积分`,friendsReferred:`已推荐好友`,gatedTooltip:`订阅或购买积分以开始赚取!`,loadError:`加载推荐信息失败。`,loading:`加载中...`,shareLink:`分享链接`,subtitleDefault:`与好友分享 Vellum,每次注册均可赚取积分。`,subtitleWithAmounts:`与好友分享 Vellum - 他们注册后,您和好友将各获得 {creditAmount} 积分,总计最高可达 {earningCap}。`},ee={title:`赚取免费积分`},te={confirm:`移除`,messageOrigin:`这不会影响 {assistantName} 或让您在那里退出登录。它只会忘记此设备上的条目。您可以随时再次添加。`,messagePaired:`这不会影响 {assistantName} 在其主机上的状态。它只会忘记此设备上的配对。您可以随时使用 vellum connect import 再次配对。`,messagePlatform:`这不会删除 {assistantName}。它只会将其从此设备中移除。登录后它将再次可用。`,title:`从该设备移除?`},ne={body:`您的助手正在努力工作,并已达到其当前资源限制。请升级以确保其平稳运行。`,bodyNoUpgrade:`您的助手正在努力工作,并已达到其当前资源限制。`,dontShowAgain:`不再显示`,title:`您的助手需要更多算力`,titleNamed:`{assistantName} 需要更多算力`,upgrade:`升级`},re={confirmLabel:`停用`,message:`这将永久停用此助手及其所有数据。您需要重新完成引导流程才能创建新助手。此操作无法撤销。`,title:`停用助手`},ie={loadingAria:`正在加载`},ae={loadingAria:`正在加载`},oe={unnamedAssistant:`该助手`},se={chunkFailBody:`此部分无法加载。可能是网络故障或版本过旧。请重新加载页面重试。`,reload:`重新加载`},ce={confirmMessage:`更新到版本 {version}?更新期间助手将暂时不可用。`,confirmTitle:`更新助手运行时`,later:`稍后`,title:`有新的助手版本可用:{version}`,toastComplete:`更新完成。您的助手运行正常。`,toastFailed:`未能触发更新。请重试。`,update:`更新`},le={ariaLabel:`{name} 操作`},ue={reset:`重置`,save:`保存`},de={label:`分享连接链接`},fe={aboutDiagnosticsAria:`关于诊断信息`,addFiles:`添加文件`,adminOnlyHint:`仅限管理员 - 在本地构建诊断存档并下载,而不是提交反馈或通知 Slack。`,attachments:`附件`,bugTip:`提示:在我们的 <discordLink>Discord 社区</discordLink> 发布问题可获得更快的支持`,cancel:`取消`,category:`类别`,closeAria:`关闭`,diagnosticsTooltip:`诊断信息包括浏览器上下文、助手日志和时间戳,绝不包含密码或凭据。`,downloadDiagnostics:`直接下载诊断信息`,downloadDiagnosticsAria:`直接下载诊断信息`,downloadDiagnosticsButton:`下载诊断信息`,dropFiles:`拖放文件以附加…`,email:`电子邮件`,featureTip:`提示:在我们的 <roadmapLink>公开路线图</roadmapLink> 上为功能投票`,includeConversation:`包含最近的对话`,includeConversationAria:`包含最近的对话`,includeDiagnostics:`包含诊断信息`,includeDiagnosticsAria:`包含浏览器诊断信息`,messageLabelBug:`哪里出错了?`,messageLabelFeature:`描述您的想法`,messageLabelOther:`您有什么想法?`,messagePlaceholderBug:`您预期会发生什么,实际发生了什么?`,messagePlaceholderFeature:`这将为您解决什么问题?`,messagePlaceholderOther:`分享您的想法...`,preparingDiagnostics:`正在准备诊断信息…`,reasonBugReport:`错误报告`,reasonFeatureRequest:`功能请求`,reasonOther:`其他`,removeAttachmentAria:`移除 {name}`,sendingFeedback:`正在发送反馈…`,submit:`提交`,timeRange:`时间范围`,timeRangeAllTime:`所有时间`,timeRangeAria:`诊断信息时间范围`,timeRangePast24Hours:`过去 24 小时`,timeRangePastHour:`过去一小时`,title:`分享反馈`},pe={loadingAria:`正在加载反馈表单`},me={close:`关闭`,message:`无法加载反馈表单。`,retry:`重试`},he={closeAria:`关闭`,closeSidebarAria:`关闭侧边栏`,openSidebarAria:`打开侧边栏`},ge={backFrom:`从 {title} 返回`,backToMenu:`返回 {title} 菜单`,navigationAria:`{title} 导航`},_e={ariaLabel:`侧边栏导航`},ve={label:`从本次对话中学习`},ye={message:`从该助手移除“{name}”?`,remove:`移除`,title:`移除技能`},be={approvalNotice:`如果 Slack 显示“请求批准”而不是<strong>安装</strong>,则工作区管理员需要先批准该应用。`,createdApp:`我已创建应用`,inSlack:`在 Slack 中:`,stepManifest:`在<strong>或以您自己的方式开始</strong>下,选择<strong>从清单</strong>,然后选择<strong>继续</strong>`,stepPaste:`选择您的工作区并粘贴清单`,stepReview:`审查权限,然后点击<strong>创建并安装</strong>`},xe={appName:`应用名称`,appNamePlaceholder:`我的助手`,copied:`已复制!`,copyManifest:`复制清单`,description:`描述(可选)`,descriptionHelper:`显示在应用的 Slack 个人资料中。`,descriptionPlaceholder:`此助手提供哪些帮助`,intro:`命名您的 Slack 应用并复制其清单。所有权限和设置均已预配置。`,next:`下一步`},Se={body:`在新标签页中打开 Slack 以创建应用,然后返回此处查看后续步骤。`,copied:`已复制!`,copyManifest:`复制清单`,manifestCopiedNotice:`您已在此处复制此应用的清单。如果您在此之后复制了其他内容,请在粘贴前再次复制。`,manifestNotCopiedNotice:`您尚未复制此应用的清单。Slack 的创建应用模态框没有其他方式获取它,因此请在粘贴前复制它。`,next:`下一步`,openSlack:`打开 Slack`},Ce={appTokenLabel:`应用令牌`,botTokenLabel:`机器人令牌`,connectSlack:`连接 Slack`,connecting:`正在连接…`,credentialsSaved:`凭据已保存`,instructions:`在 Slack 的确认屏幕上,展开 <credentials>您的应用凭据</credentials> 并复制两个 Token。`,skipNotice:`该屏幕还提供命令行演练和 <download>下载应用文件</download> 按钮。请跳过这两项。它们会设置一个独立的本地应用,而此助手只需要这两个 Token。`,savedBody:`两个 Token都已保存。Slack 这边已完成。`},we={channelLabel:`Slack`,copyError:`无法复制清单。请在继续之前重新复制。`,stepConnect:`连接`,stepCreate:`创建`,stepName:`名称`,stepOpen:`打开`},Te={total:`总计:{value}`},Ee={reloadApp:`重新加载应用`},De={reconnecting:`正在重新连接到你的助手…`,dismiss:`忽略`,goToDoctor:`前往诊断`,resumeAssistant:`恢复助手`,retryNow:`立即重试`,wakeUp:`唤醒`},Oe={allLanguages:`所有语言`,featured:`精选`,languagesAriaLabel:`语言`,noMatch:`无匹配语言。`,searchAriaLabel:`搜索语言`,searchPlaceholder:`搜索语言`,suggested:`建议`},ke={description:`从您下次语音输入开始生效。`},Ae={apiKeyLabel:`API 密钥`,apiKeyPlaceholderReplace:`•••••••• (输入新密钥以替换)`,providerAriaLabel:`语音转文本提供商`,providerLabel:`提供商`,saveFailed:`保存语音转文本设置失败`,saveSuccess:`语音转文本设置已保存`,spokenLanguage:`口语语言`,spokenLanguageApplies:`从您下次语音输入开始生效。`,vellumTranscription:`转录通过您的 Vellum 账户运行。`,windowsNativeDisplayName:`Windows 本机听写`,windowsNativeSetupWarning:`需要为您的 Windows 显示语言启用基本语音识别:打开“设置”>“时间和语言”>“语言和区域”,选择显示语言旁边的三个点,选择“语言选项”,然后在“语言功能”下下载“基本语音识别”。`,windowsNativeSubtitle:`Windows 设备上的语音识别,通过 Windows 助手在本地运行。可离线工作,无需 API 密钥。`},je={ariaLabel:`子代理 {subagentId}`},Me={accessibilityDescription:`允许您的助手代表您点击、输入和控制应用程序。`,accessibilityLabel:`辅助功能`,checking:`正在检查权限...`,dockIcon:`程序坞图标`,microphoneDescription:`允许您的助手捕获音频用于语音输入和录音。`,microphoneLabel:`麦克风`,notificationBadgesDescription:`允许您的助手在 {surface} 上显示未读对话计数。`,notificationBadgesLabel:`通知标记`,notificationsDescription:`允许您的助手发送 macOS 提醒,用于审批、消息和任务更新。`,notificationsLabel:`通知`,notificationsWindowsDescription:`允许您的助手显示 Windows 通知,用于审批、消息和任务更新。`,screenDescription:`允许您的助手在计算机使用任务期间捕获屏幕上下文。`,screenLabel:`屏幕录制`,speechRecognitionDescription:`允许您的助手在设备上将您的语音转录为文本。`,speechRecognitionLabel:`语音识别`,speechRecognitionWindowsDescription:`允许您的助手使用 Windows 语音识别将您的语音转录为文本。`,taskbarIcon:`任务栏图标`,title:`系统权限`},Ne={botTokenLabel:`机器人令牌`,connectTelegram:`连接 Telegram`,instructions:`粘贴 BotFather 回复中的令牌。它是 <tokenLine>Use this token to access the HTTP API</tokenLine> 之后的整行内容。`,saving:`正在保存…`,savedTitle:`令牌已保存`,savedBody:`机器人令牌已保存。Telegram 这边已完成。`},Pe={copied:`已复制!`,copyName:`复制名称`,displayNameHint:`对于显示名称,<strong>{suggestedName}</strong> 可使此机器人与您的助手匹配。用户名是独立的,不必匹配。`,dmOnlyNotice:`目前仅支持私聊。群组、超级群组和频道中的消息与按钮点击暂不支持。`,inBotFather:`在 BotFather 中:`,intro:`Telegram 机器人通过向 <strong>@BotFather</strong> 发送消息来创建。打开它,按照提示操作,然后带着它给您的令牌回来。`,next:`下一步`,openBotFather:`打开 BotFather`,stepDisplayName:`给它一个显示名称,这是人们在聊天中看到的名称`,stepSendNewBot:`发送 <strong>/newbot</strong>`,stepTokenReply:`BotFather 会在 <strong>Use this token to access the HTTP API</strong> 之后回复一个 Token`,stepUsername:`给它一个用户名,该用户名必须是唯一的,并以 <strong>bot</strong> 结尾`},Fe={channelLabel:`Telegram`,copyError:`无法复制名称。请改为在 BotFather 中输入。`,stepConnect:`连接`,stepCreate:`创建机器人`},Ie={shopifyLabel:`店铺域名`,shopifyPlaceholder:`your-store.myshopify.com`},Le={recoveryModeBanner:`恢复模式已激活:此会话已连接到调试终端。`},Re={accentFill:`强调色填充`,activeBorder:`活动边框`,activeSurface:`活动表面`,assistantBubble:`助手回复,在页面表面全宽渲染。`,buttonDisabled:`禁用`,buttonPrimary:`主要`,buttonSecondary:`次要`,chatAssistant1:`完成。摘要已准备就绪。收入稳步增长,上季度标记的两个风险已解决,我已将值得展示的三张图表提取到单独的页面中。`,chatAssistant2:`已安排在上午9点。我将包含图表和一个段落版本,供在手机上快速浏览的人查看。`,chatUser1:`你能在明天的会议前总结一下季度报告吗?`,chatUser2:`太好了。早上发给团队。`,composerPlaceholder:`给你的助手发消息`,faintText:`淡文本 - 斜坡上最后一个清晰可见的步骤。`,inputFilled:`已输入到字段中的文本。`,inputPlaceholder:`空字段中的占位符`,newConversation:`新对话`,overlaySurface:`叠加表面`,primaryText:`主要文本 - 应用的主要阅读表面。`,quietText:`安静文本 - 元数据和时间戳。`,raisedCard:`凸起卡片`,raisedCardBody:`凸起表面位于面板和页面背景之上。`,samplerTitle:`主题样本`,secondaryText:`次要文本 - 辅助文案和描述。`,sectionAccent:`强调色`,sectionButtons:`按钮`,sectionInputs:`输入`,sectionMessages:`消息`,sectionSurfaces:`表面和边框`,sectionText:`文本`,send:`发送`,subtleDivider:`此线上方的细分隔线。`,tertiaryText:`三级文本 - 字幕、标签和占位符。`,userBubble:`用户在其气泡中的消息。`},ze={dark:`深色`,label:`主题`,light:`浅色`,system:`系统`,velvet:`丝绒`},Be={apiKey:`API 密钥`,apiKeyRequired:`测试前请为此提供商保存 API 密钥。`,chooseFromCatalog:`从目录中选择`,customVoiceIdAriaLabel:`自定义语音 ID`,noManagedVoices:`目前没有可用的托管语音。`,provider:`提供商`,providerAriaLabel:`TTS 提供商`,saveFailed:`保存文本转语音设置失败`,saved:`文本转语音设置已保存`,test:`测试`,testing:`正在测试…`,voice:`语音`,voiceId:`语音 ID`,voiceIdPlaceholder:`输入语音 ID`},Ve={available:`有可用更新。正在开始下载…`,closeAriaLabel:`关闭`,downloading:`正在下载更新…`,ready:`Vellum {version} 已准备就绪。`,restartToInstall:`重启以安装`,versionFallback:`更新`},He={deleteFailed:`删除应用失败`},Ue={copyFailed:`无法复制链接。请在 {url} 打开。`,linkCopied:`链接已复制`,open:`打开`},We={setupPrompt:{slack:`我想在 Slack 上联系你。我们来设置一下。`,telegram:`我想在 Telegram 上联系你。我们来设置一下。`,discord:`我想在 Discord 上联系你。我们来设置一下。`,email:`我想给你发邮件。我们来设置你的电子邮件地址。`,phone:`我想能够给你打电话。我们来设置你的电话号码。`},finishPrompt:{slack:`Slack 已设置但无法工作。你能完成它吗?`,telegram:`Telegram 已设置但无法工作。你能完成它吗?`,discord:`Discord 已设置但无法工作。你能完成它吗?`,email:`我的电子邮件地址已设置但无法工作。你能完成它吗?`,phone:`我的电话号码已设置但无法工作。你能完成它吗?`}},Ge={addFailed:`收藏消息失败。`,removeFailed:`移除收藏失败。`},Ke={exchangeFailed:`请检查粘贴的密钥并重试。`,failed:`连接 Claude 失败。请重试。`,notStarted:`请先启动连接 Claude 流程。`,pasteEmpty:`请粘贴 Claude 页面上显示的代码。`,popupBlocked:`您的浏览器阻止了登录标签页。请允许此站点的弹窗,然后再次点击连接。`,startFailed:`无法启动连接 Claude。请重试。`,timedOut:`等待 Claude 连接超时。请重试。`},qe={accountConnected:`{name} 账户已连接。`,authorizationError:`{name} 错误:{code}`,authorizationFailed:`{name} 授权失败`,popupBlocked:`弹窗被阻止。请启用弹窗并重试。`,startFailed:`启动 {name} 授权失败。`,startFailedWithReason:`启动 {name} 授权失败:{reason}`},Je={blocked:`您的浏览器阻止了助手尝试打开的页面。`,openPage:`打开页面`},Ye={playFailed:`无法播放语音样本。`},Xe={updated:`主题已更新`},Ze={body:`输入您的 Vercel API 令牌,将应用程序部署为静态页面。`,cancel:`取消`,createToken:`在 Vercel 上创建令牌 →`,save:`保存`,saveFailed:`保存 Vercel 令牌失败。`,saving:`正在保存…`,title:`连接 Vercel`,tokenLabel:`API 令牌`,tokenPlaceholder:`Vercel API 令牌`},Qe={assistantVoiceAriaLabel:`助手语音`,defaultSuffix:`(默认)`,previewVoice:`预览 {description}`,providerAriaLabel:`语音提供商`,stopPreview:`停止预览`},$e={ariaLabel:`语音`,selectVoice:`选择语音`},et={done:`完成`,title:`语音`},tt={body:`语音提供商、转录和 API 密钥位于<modelsLink>模型与服务</modelsLink>中。`},nt={recommendedOff:`建议关闭`,userTranscriptLabel:`显示你说的话`,userTranscriptDescription:`在你说话时实时转录文字。`,assistantTranscriptLabel:`显示助手说的话`,assistantTranscriptDescription:`在语音回复旁同步显示文本。`},rt={developer:`开发者`,file:`文件`,help:`帮助`,view:`视图`},it={checkingDomain:`正在检查域名…`,domainVerified:`域名已验证`,failedTitle:`域名验证失败。DNS 记录可能未正确传播。您可以尝试释放并重新注册该域名。`,unknownStatus:`未知状态`,unknownStatusTitle:`无法检索域名验证状态。`,verificationFailed:`验证失败`,verifiedTitle:`DNS 记录已验证。您的域名已准备好发送和接收电子邮件。`,verifyingDomain:`正在验证域名…`,verifyingTitle:`DNS 记录已配置。正在等待电子邮件提供商验证它们 - 这通常需要几分钟。`,setupRequired:`需要设置域名`,setupRequiredTitle:`此域名尚未在电子邮件提供商处完成配置。在完成设置前,它无法发送或接收电子邮件。`},at={body:`托管服务按量计费,并从您的 Vellum 账户余额中扣除。<link>查看定价</link>`},ot={managedLabel:`托管`,modeToggleAriaLabel:`服务模式`,yourOwnLabel:`自托管`},st={previewAlt:`您的助手头像`,download:`下载头像`,prompt:{slack:`下载您的助手头像以上传为应用图标。`,discord:`下载您的助手头像以上传为机器人图标。`,telegram:`下载您的助手头像,然后使用 /setuserpic 发送给 BotFather。`}},ct={strict:{label:`严格`,description:`执行任何操作前均需确认。不自动批准任何操作。`},conservative:{label:`保守`,description:`自动批准低风险操作,例如网络搜索以及在其自身工作区中读写文件。`},relaxed:{label:`宽松`,description:`自动批准低风险与中等风险操作,例如修改其工作区之外的文件。`},fullAccess:{label:`完全访问`,description:`自动批准所有操作,包括高风险和无法识别的命令。助手将绝不请求权限确认。`}},lt={everyHours:`每 {count} 小时`,everyMinutes:`每 {count} 分钟`,retrospectiveSubtitle:`在对话活动后触发`},ut={aboutPage:e,activeAssistantGate:t,addCredentialModal:n,addCreditsModal:r,appCard:i,appNavBar:a,appViewerContainer:o,assistantConnect:s,assistantFeatureFlagStore:c,avatarManagementModal:l,bundleConfirmPage:u,byoVoiceNote:d,channelSetupCompleteNotice:f,chatAvatar:p,chooserAvatarChip:m,collapsibleNavSection:h,commandPalette:g,companionIntro:_,companionPopover:v,companionSurface:y,companionWatchFramePage:b,contentActionBar:x,conversationTitle:S,createAssistantDialog:C,dateRangeSelect:w,deleteAppDialog:T,deployDialogs:E,deployStore:D,detailPanelStopButton:O,detailPrimitives:k,dictationOverlayPage:A,discordNudgeBanner:j,discordSetupConnectStep:M,discordSetupCreateStep:N,discordSetupFinishStep:P,discordSetupInviteStep:F,discordSetupWizard:I,diskPressureBanner:L,downloadFeedback:R,editFooter:z,generateInviteLinkDialog:B,githubNudgeBanner:V,lazyBoundary:H,localNotification:U,desktopAppBanner:W,nativeAppBanner:G,notFound:K,nudgeChatBanner:q,onboardingBackButton:J,platformLoginNotice:Y,profileCard:X,profileQuickAddProvider:Z,quickInputPage:Q,referralContent:$,referralModal:ee,removeFromDeviceDialog:te,resourcePressureBanner:ne,retireConfirmDialog:re,rootHydrateFallback:ie,routePendingIndicator:ae,rootLayout:oe,routeErrorBoundary:se,runtimeUpgradeBanner:ce,sectionActionsButton:le,serviceFormControls:ue,shareConnectionLinkButton:de,shareFeedbackModal:fe,shareFeedbackModalFallback:pe,shareFeedbackModalLoadError:me,sideListDrawer:he,sidebarShell:ge,sidebarTree:_e,skillLineageLink:ve,skillRemovalDialog:ye,slackSetupCreateStep:be,slackSetupNameStep:xe,slackSetupOpenStep:Se,slackSetupTokensStep:Ce,slackSetupWizard:we,stackedBarTooltip:Te,startupFailure:Ee,statusBanner:De,sttLanguagePicker:Oe,sttLanguagePickerModal:ke,sttProviderForm:Ae,subagentAvatarChip:je,systemPermissionsCard:Me,telegramSetupConnectStep:Ne,telegramSetupCreateStep:Pe,telegramSetupWizard:Fe,tenantHost:Ie,terminalPanel:Le,themeStagePage:Re,themeToggle:ze,ttsProviderForm:Be,updateToast:Ve,useAppDelete:He,useAppDeployment:Ue,useAssistantChannels:We,useBookmarks:Ge,useConnectClaude:Ke,useOauthConnect:qe,useOpenUrlDirectives:Je,useVoiceSamplePreview:Ye,useWorkspaceTheme:Xe,vercelTokenDialog:Ze,voiceList:Qe,voicePickerField:$e,voicePickerModal:et,voiceProvidersNote:tt,voiceTranscriptToggles:nt,windowsMenuBar:rt,domainVerificationChip:it,managedServicesBanner:at,serviceCard:ot,channelAvatarDownload:st,thresholdPresets:ct,scheduleFormatters:lt};export{e as aboutPage,t as activeAssistantGate,n as addCredentialModal,r as addCreditsModal,i as appCard,a as appNavBar,o as appViewerContainer,s as assistantConnect,c as assistantFeatureFlagStore,l as avatarManagementModal,u as bundleConfirmPage,d as byoVoiceNote,st as channelAvatarDownload,f as channelSetupCompleteNotice,p as chatAvatar,m as chooserAvatarChip,h as collapsibleNavSection,g as commandPalette,_ as companionIntro,v as companionPopover,y as companionSurface,b as companionWatchFramePage,x as contentActionBar,S as conversationTitle,C as createAssistantDialog,w as dateRangeSelect,ut as default,T as deleteAppDialog,E as deployDialogs,D as deployStore,W as desktopAppBanner,O as detailPanelStopButton,k as detailPrimitives,A as dictationOverlayPage,j as discordNudgeBanner,M as discordSetupConnectStep,N as discordSetupCreateStep,P as discordSetupFinishStep,F as discordSetupInviteStep,I as discordSetupWizard,L as diskPressureBanner,it as domainVerificationChip,R as downloadFeedback,z as editFooter,B as generateInviteLinkDialog,V as githubNudgeBanner,H as lazyBoundary,U as localNotification,at as managedServicesBanner,G as nativeAppBanner,K as notFound,q as nudgeChatBanner,J as onboardingBackButton,Y as platformLoginNotice,X as profileCard,Z as profileQuickAddProvider,Q as quickInputPage,$ as referralContent,ee as referralModal,te as removeFromDeviceDialog,ne as resourcePressureBanner,re as retireConfirmDialog,ie as rootHydrateFallback,oe as rootLayout,se as routeErrorBoundary,ae as routePendingIndicator,ce as runtimeUpgradeBanner,lt as scheduleFormatters,le as sectionActionsButton,ot as serviceCard,ue as serviceFormControls,de as shareConnectionLinkButton,fe as shareFeedbackModal,pe as shareFeedbackModalFallback,me as shareFeedbackModalLoadError,he as sideListDrawer,ge as sidebarShell,_e as sidebarTree,ve as skillLineageLink,ye as skillRemovalDialog,be as slackSetupCreateStep,xe as slackSetupNameStep,Se as slackSetupOpenStep,Ce as slackSetupTokensStep,we as slackSetupWizard,Te as stackedBarTooltip,Ee as startupFailure,De as statusBanner,Oe as sttLanguagePicker,ke as sttLanguagePickerModal,Ae as sttProviderForm,je as subagentAvatarChip,Me as systemPermissionsCard,Ne as telegramSetupConnectStep,Pe as telegramSetupCreateStep,Fe as telegramSetupWizard,Ie as tenantHost,Le as terminalPanel,Re as themeStagePage,ze as themeToggle,ct as thresholdPresets,Be as ttsProviderForm,Ve as updateToast,He as useAppDelete,Ue as useAppDeployment,We as useAssistantChannels,Ge as useBookmarks,Ke as useConnectClaude,qe as useOauthConnect,Je as useOpenUrlDirectives,Ye as useVoiceSamplePreview,Xe as useWorkspaceTheme,Ze as vercelTokenDialog,Qe as voiceList,$e as voicePickerField,et as voicePickerModal,tt as voiceProvidersNote,nt as voiceTranscriptToggles,rt as windowsMenuBar};
@@ -1 +0,0 @@
1
- var e={build:`建置`,taglineMacOS:`您 Mac 的 AI 助理`,taglineWindows:`您 Windows PC 的 AI 助理`,version:`版本`},t={connecting:`正在連線至您的助理…`,logIn:`登入`,logOut:`登出`},n={cancel:`取消`,credentialSaved:`憑證已儲存。`,description:`新增 API 金鑰或權杖,讓工具和整合功能可以使用它。`,fieldLabel:`欄位`,fieldPlaceholder:`例如 api_token`,labelOptional:`標籤 (選填)`,labelPlaceholder:`例如 GitHub 個人存取權杖`,save:`儲存`,saveFailed:`儲存憑證失敗`,serviceLabel:`服務`,servicePlaceholder:`例如 github`,title:`新增憑證`,valueLabel:`值`,valuePlaceholder:`輸入密碼值`},r={amount:`金額`,cancel:`取消`,configureAutoReload:`設定自動儲值`,continue:`繼續`,description:`您將被重新導向至 Stripe 以完成付款。`,title:`新增點數`},i={openApp:`開啟應用程式`,pin:`釘選`,previewTitle:`{name} 預覽`,unpin:`取消釘選`},a={close:`關閉`,copyLink:`複製連結`,deploy:`部署`,deployToVercel:`部署至 Vercel`,deployToVercelSubtitle:`發佈為靜態頁面`,deployedCopyLinkAria:`已部署至 Vercel,複製連結`,deployedCopyLinkTooltip:`已部署:複製連結`,deployedToVercel:`已部署至 Vercel`,deploying:`正在部署…`,edit:`編輯`,expandApp:`展開應用程式`,fullscreen:`全螢幕`,openApp:`開啟應用程式`,redeploy:`重新部署`,redeploySubtitle:`發佈目前版本`,share:`分享`,shareAndDeploy:`分享並部署`,shareExportSubtitle:`匯出為 .vellum 檔案`,sharing:`正在分享…`},o={exitFullscreen:`結束全螢幕`},s={failed:`連線至助理失敗。`},c={updateFailed:`無法更新「{label}」。您的變更已還原。`},l={accent:`強調色`,accentAutomatic:`自動`,accentPickerLabel:`強調色`,accentReset:`重設`,body:`身體`,color:`顏色`,eyes:`眼睛`,keepUploadedDescription:`儲存角色將會取代它`,keepUploadedLabel:`保留您上傳的圖片`,loadError:`無法載入虛擬替身元件。請確認您的助理正在執行。`,name:`名稱`,next:`下一個 {label}`,previous:`上一個 {label}`,randomize:`隨機化`,save:`儲存`,saving:`正在儲存…`,title:`更新虛擬替身`,uploadImage:`上傳圖片`,uploadedAlt:`已上傳的虛擬替身`,useCharacterDescription:`從我們內建的虛擬替身中選擇`,useCharacterLabel:`改用角色`},u={bySigner:`由 {name}`,cancel:`取消`,capabilities:`功能`,createdBy:`建立者`,hideWarnings:`隱藏警告 ({count})`,install:`安裝`,installAnyway:`仍要安裝`,loading:`正在載入...`,showWarnings:`顯示警告 ({count})`,size:`大小`},d={body:`您的助理透過您自行設定的供應商發聲。請在<settingsLink>模型與服務</settingsLink>中設定其語音。`},f={verifyTitle:`最後一步:確認您的身分`,verifyAction:`驗證我`,verifyBody:`您的助理還不知道哪個 {channel} 帳號是您的,所以暫時不會回覆您。在聊天中說「在 {channel} 上驗證我」即可完成。`,verifyActionBody:`您的助理還不知道哪個 {channel} 帳號是您的,所以暫時不會回覆您。它會在聊天中陪您完成。`,verifiedTitle:`身分已驗證`,verifiedBody:`您的助理已識別您的 {channel} 帳號,會回覆您。一切就緒。`},p={alt:`助理頭像`,fallbackLetter:`V`},m={alt:`助理頭像`},h={actionsTitle:`{title} 動作`},g={ariaLabel:`指令面板`,clear:`清除`,clearSearch:`清除搜尋`,closeSearch:`關閉搜尋`,noResults:`沒有結果`,placeholder:`搜尋對話、記憶…`,searchAriaLabel:`搜尋`,searching:`正在搜尋…`},_={ariaLabel:`介紹您的助理`,done:`知道了`,meet:{body:`我會留在您的桌面上,即使 Vellum 沒有顯示。`,title:`這就是我`,titleNamed:`我是 {name}`},menu:{body:`您可以在這裡隱藏我或變更我的大小。`,title:`右鍵點擊我`},next:`下一步`,skip:`跳過`,talk:{body:`開始語音對話。`,title:`交談`}},v={allow:`允許`,confirm:`確認`,credentialLabel:`憑證`,defaultSuffix:`(預設)`,deny:`拒絕`,dismiss:`關閉`,enter:`輸入`,microphoneFallback:`麥克風 {index}`,microphonePermissionHint:`允許存取麥克風後即可依名稱查看每個麥克風。`,microphoneTitle:`麥克風`,needsCredentials:`需要憑證`,needsCredentialsFor:`需要 {service} 的憑證`,needsOkCount:`{count, plural, other {有 # 項需要你的同意}}`,notNow:`暫不`,openApp:`開啟 Vellum`,pendingBadge:`{count, plural, other {有 # 項需要你的同意}}`,previewVoice:`試聽 {voice}`,review:`檢視`,savedMicrophone:`已儲存的麥克風`,savedMicrophoneNotConnected:`已儲存的麥克風(未連接)`,stopPreview:`停止試聽`,surfaceFallback:`有內容要給你看`,systemDefault:`系統預設`,voiceTitle:`聲音`},y={calling:`正在呼叫…`,callingNamed:`正在呼叫 {name}…`,captureKind:`來源類型`,captureNothing:`沒有可顯示的內容`,capturePicker:`教學來源`,captureScreen:`螢幕 {n}`,captureScreens:`螢幕`,captureTabs:`Chrome 分頁`,captureWindows:`視窗`,endSession:`結束會話`,muteAssistant:`將助理靜音`,muteMicrophone:`將麥克風靜音`,notNow:`暫不`,offerCopy:`複製`,offerDiscard:`捨棄`,offerHeard:`{app} 已貼上那段`,offerNowhere:`沒有地方可以放`,offerQuit:`結束 {app}`,offerUse:`使用 Vellum 的版本`,offerVersion:`Vellum 聽到的是`,openVellum:`開啟 Vellum`,share:`共享`,sharePicker:`共享來源`,showSummary:`顯示摘要`,stopTeaching:`停止教學`,summarizing:`正在摘要`,talk:`交談`,teach:`教學`,unmuteAssistant:`解除助理靜音`,unmuteMicrophone:`解除麥克風靜音`,dictating:`正在聆聽`,dictatingTranscribing:`正在思考`,draw:`繪製`,clearMarks:`清除標記`,drawTools:`繪圖工具`,drawFreehand:`自由繪製`,drawLine:`直線`,drawBox:`方框`,drawCircle:`圓形`,chooseMicrophone:`選擇麥克風`,chooseVoice:`選擇聲音`},b={sharingScreen:`正在分享你的螢幕`,sharingScreenNamed:`正在與 {name} 分享你的螢幕`,sharingWindow:`正在分享一個視窗`,sharingWindowNamed:`正在與 {name} 分享一個視窗`,teaching:`正在教學`,teachingNamed:`正在教 {name}`},x={copiedAria:`已複製`,copyFailed:`無法複製檔案內容。`,copyFileContentsAria:`複製檔案內容`,downloadFileAria:`下載檔案`,editFileAria:`編輯檔案`},S={untitled:`未命名`},C={cancel:`取消`,create:`建立`,description:`佈建一個新助理。它將在背景啟動。`,namePlaceholder:`助理名稱(選填)`,title:`新助理`,toastSuccess:`新助理已建立。`},w={ariaLabel:`日期範圍`,lastDays:`{days, plural, other {過去 # 天}}`},T={delete:`刪除`,deleting:`正在刪除…`,message:`"{name}" 將會被永久移除。`,title:`刪除應用程式`},E={confirmLabel:`讓您的助理處理`,confirmLabelNamed:`讓 {assistantName} 處理`,message:`"{appName}" 使用後端服務,這些服務無法在靜態 Vercel 頁面上運作。您的助理可以使用無伺服器函式正確部署它。`,messageNamed:`"{appName}" 使用後端服務,這些服務無法在靜態 Vercel 頁面上運作。{assistantName} 可以使用無伺服器函式正確部署它。`,title:`此應用程式需要完整部署`},D={appExported:`應用程式已匯出`,deployFailed:`部署失敗`,deployedToVercel:`已部署至 Vercel`,open:`開啟`,shareFailed:`分享應用程式失敗`},O={tooltip:`停止`},k={copied:`已複製`,copy:`複製`,showLess:`顯示較少`,showMore:`顯示更多`},A={stopRecording:`停止錄音`},j={ariaLabel:`加入 Vellum Discord 社群`,ctaLong:`加入 Discord`,ctaShort:`加入`,subtitleLong:`與團隊交流 - 分享意見回饋、提出功能需求、更快獲得解答`,subtitleShort:`分享意見回饋、提出功能需求、更快獲得解答`,title:`加入我們的社群!`},M={instructions:`貼上您從「機器人」頁面複製的機器人金鑰。`,verificationNoticeTitle:`請忽略「驗證您的應用程式」頁面`,verificationNoticeBody:`Discord 對每個新應用程式都會顯示它。只有超過 100 個伺服器時才有意義。`,botTokenLabel:`機器人金鑰`,save:`連線`,saving:`正在連線...`,saved:`已連線。接下來,將機器人新增至伺服器。`,botTokenPlaceholder:`MTk4NjIyNDgzNzAyNDU0...`},N={inPortal:`在 Discord 開發者入口網站中:`,stepCreateApp:`點擊<strong>New Application</strong>,並用您助理的名字命名應用程式:`,copyName:`複製名稱`,copied:`已複製!`,stepAppIcon:`可選:下載頭像,然後在<strong>一般資訊</strong>頁面上傳為應用程式圖示。`,stepResetToken:`前往應用程式選單中的<strong>機器人</strong>頁面,點擊<strong>重設金鑰</strong>並立即複製金鑰。Discord 只會顯示一次。`,stepIntentsOff:`在同一頁面,保持三個<strong>特權閘道意圖</strong>開關全部關閉。您的助理不需要它們:它只會讀取私訊和提及它的訊息。`,openPortal:`開啟 Discord 入口網站`,continue:`我已擁有金鑰`},P={connectedTitle:`機器人已新增`,connectedBody:`金鑰已儲存,機器人已加入您的伺服器。Discord 這邊已完成。`},F={instructions:`機器人加入伺服器前什麼都看不到、也無法回覆。開啟連結,選擇您的伺服器並核准。`,openInvite:`新增至伺服器`,confirmJoined:`我已新增機器人`,noAppId:`請先連線機器人金鑰,然後再回來將其新增至伺服器。`},I={channelLabel:`Discord`,stepCreate:`建立應用程式`,stepConnect:`連線`,stepInvite:`新增至伺服器`,stepFinish:`完成`,copyError:`無法複製名稱。請改為在 Discord 中輸入。`},L={acknowledge:`確認`,acknowledging:`正在確認...`,cleanupBody:`提示您的助理釋出空間,以免空間用盡並進入鎖定狀態。`,cleanupTitle:`清理模式已啟用`,criticalBody:`如果儲存空間用盡,您的助理將進入鎖定狀態。`,criticalModalDescription:`如果儲存空間用盡,您的助理將進入鎖定狀態。您應該提示您的助理釋出空間或增加儲存空間。`,criticalTitle:`儲存空間嚴重不足`,dontShowAgain:`不再顯示`,manageStorage:`管理儲存空間`,review:`檢閱`,upgrade:`升級`,warningBody:`釋出空間以避免中斷。`,warningBodyWithUpgrade:`釋出空間或增加更多儲存空間以避免中斷。`,warningTitle:`您的儲存空間即將用盡`},R={failed:`下載失敗`,revealMac:`在 Finder 中顯示`,revealWindows:`在檔案總管中顯示`,saved:`已儲存至「下載」`,started:`下載已開始`,startedDescription:`請在瀏覽器的下載內容中尋找 {filename}。`},z={discard:`捨棄`,save:`儲存`,saving:`正在儲存…`},B={copyAriaLabel:`複製邀請連結`,createFailed:`建立邀請連結失敗。請確認您的助理已啟用 A2A。`,creating:`正在建立邀請連結…`,done:`完成`,shareHint:`與另一位助理擁有者分享此連結以建立連線。`,title:`分享連線連結`,tryAgain:`再試一次`},V={ariaLabel:`Vellum 在 GitHub 上是開放原始碼`,ctaAriaLabel:`在 GitHub 上為 Vellum 加星`,ctaLabel:`為我們加星`,subtitle:`在 GitHub 上為我們加星或貢獻`,title:`Vellum 是開放原始碼`},H={loadError:`此區段無法載入。請重新載入頁面再試一次。`},U={goToConversation:`前往對話`},W={ariaLabelMacOS:`下載 macOS 應用程式`,ariaLabelWindows:`下載 Windows 應用程式`,ctaAriaLabelMacOS:`下載 macOS 應用程式`,ctaAriaLabelWindows:`下載 Windows 應用程式`,ctaLabel:`下載`,subtitle:`電腦使用 · 終端機存取 · 原生自動化`,titleMacOS:`取得 macOS 應用程式`,titleWindows:`取得 Windows 應用程式`},G={bannerAria:`下載 {appName} 應用程式`,bannerAriaGeneric:`下載 Vellum 行動應用程式`,download:`下載`,downloadAppAria:`下載 {appName} 應用程式`,downloadAppAriaGeneric:`下載 Vellum 行動應用程式`,subtitle:`推播通知 · 生物辨識登入 · 觸覺回饋`,title:`取得 {appName} 應用程式`,titleGeneric:`取得 Vellum 應用程式`},K={backToAssistant:`返回您的助理`,badge:`錯誤 404`,body:`您要尋找的頁面不存在或可能已移動。`,goBack:`返回`,title:`找不到頁面`},q={dismissAria:`關閉`},J={back:`返回`},Y={cancel:`取消`,logIn:`登入`},X={assistantHandleIdleEmpty:`您的助理尚未設定識別名稱,請設定一個以便提及。`,assistantHandleLabel:`助理識別名稱`,assistantHandleUpdated:`助理識別名稱已更新。`,available:`可用`,availableHelper:`可用。`,checkAvailabilityFailed:`無法檢查可用性。`,checkingAvailability:`正在檢查可用性…`,chooseDifferentHandle:`請選擇不同的識別名稱。`,emailLabel:`電子郵件`,handleHelper:`小寫字母、數字、連字號和底線。3–30 個字元。`,handleLocked:`您的助理識別名稱已鎖定,因為它被用作電子郵件子網域。若要變更,請先<releaseLink>釋放子網域</releaseLink>。`,loading:`正在載入您的個人資料…`,notAvailable:`不可用`,profileUpdated:`個人資料已更新。`,save:`儲存`,saved:`已儲存`,saving:`正在儲存…`,subtitle:`管理您的帳號詳細資料和偏好設定。`,title:`個人資料`,userHandleIdleAutoGenerated:`您的識別名稱是在註冊時自動產生的 - 請選擇一個您喜歡的。`,userHandleLabel:`使用者識別名稱`},Z={created:`已建立個人資料「{name}」`},Q={logoAlt:`Vellum`,placeholder:`詢問 Vellum 任何問題…`},$={copied:`已複製!`,copyError:`無法複製推薦連結。`,copySuccess:`已複製到剪貼簿!`,creditsEarned:`已賺取點數`,friendsReferred:`已推薦好友`,gatedTooltip:`訂閱或購買點數以開始賺取!`,loadError:`載入推薦資訊失敗。`,loading:`載入中...`,shareLink:`分享連結`,subtitleDefault:`與好友分享 Vellum,每次註冊均可賺取點數。`,subtitleWithAmounts:`與好友分享 Vellum - 他們註冊後,您和好友將各獲得 {creditAmount} 點數,總計最高可達 {earningCap}。`},ee={title:`賺取免費點數`},te={confirm:`移除`,messageOrigin:`這不會影響 {assistantName} 或讓您在那裡登出。它只會忘記此裝置上的項目。您可以隨時再次新增。`,messagePaired:`這不會影響 {assistantName} 在其主機上的狀態。它只會忘記此裝置上的配對。您可以隨時使用 vellum connect import 再次配對。`,messagePlatform:`這不會刪除 {assistantName}。它只會將其從此裝置移除。登入後它將再次可用。`,title:`從此裝置移除?`},ne={body:`您的助理正在努力工作並達到其目前的資源限制。請升級以確保其順暢執行。`,bodyNoUpgrade:`您的助理正在努力工作並達到其目前的資源限制。`,dontShowAgain:`不再顯示`,title:`您的助理需要更多資源`,titleNamed:`{assistantName} 需要更多資源`,upgrade:`升級`},re={confirmLabel:`停用`,message:`這將永久停用此助理及其所有資料。您需要再次完成引導流程才能建立新的助理。此動作無法復原。`,title:`停用助理`},ie={loadingAria:`正在載入`},ae={loadingAria:`正在載入`},oe={unnamedAssistant:`該助理`},se={chunkFailBody:`此區段無法載入。可能是網路瞬斷或版本過舊。請重新載入頁面再試一次。`,reload:`重新載入`},ce={confirmMessage:`更新至版本 {version}?更新期間助理將暫時無法使用。`,confirmTitle:`更新助理執行環境`,later:`稍後`,title:`有新的助理版本可用:{version}`,toastComplete:`更新完成。您的助理運作正常。`,toastFailed:`無法觸發更新。請再試一次。`,update:`更新`},le={ariaLabel:`{name} 動作`},ue={reset:`重設`,save:`儲存`},de={label:`分享連線連結`},fe={aboutDiagnosticsAria:`關於診斷資訊`,addFiles:`新增檔案`,adminOnlyHint:`僅限管理員 - 在本機建立診斷封存檔並下載,而非提交意見回饋或通知 Slack。`,attachments:`附件`,bugTip:`提示:在我們的 <discordLink>Discord 社群</discordLink> 發文可獲得更快的支援`,cancel:`取消`,category:`類別`,closeAria:`關閉`,diagnosticsTooltip:`診斷資訊包含瀏覽器內容、助理日誌和時間戳記 - 絕不包含密碼或憑證。`,downloadDiagnostics:`直接下載診斷資訊`,downloadDiagnosticsAria:`直接下載診斷資訊`,downloadDiagnosticsButton:`下載診斷資訊`,dropFiles:`拖曳檔案以附加…`,email:`電子郵件`,featureTip:`提示:在我們的 <roadmapLink>公開藍圖</roadmapLink> 上為功能投票`,includeConversation:`包含最近的對話`,includeConversationAria:`包含最近的對話`,includeDiagnostics:`包含診斷資訊`,includeDiagnosticsAria:`包含瀏覽器診斷資訊`,messageLabelBug:`哪裡出錯了?`,messageLabelFeature:`描述您的想法`,messageLabelOther:`您有什麼想法?`,messagePlaceholderBug:`您預期會發生什麼,而實際發生了什麼?`,messagePlaceholderFeature:`這將為您解決什麼問題?`,messagePlaceholderOther:`分享您的想法...`,preparingDiagnostics:`正在準備診斷資訊…`,reasonBugReport:`錯誤報告`,reasonFeatureRequest:`功能請求`,reasonOther:`其他`,removeAttachmentAria:`移除 {name}`,sendingFeedback:`正在傳送意見回饋…`,submit:`提交`,timeRange:`時間範圍`,timeRangeAllTime:`所有時間`,timeRangeAria:`診斷資訊時間範圍`,timeRangePast24Hours:`過去 24 小時`,timeRangePastHour:`過去一小時`,title:`分享意見回饋`},pe={loadingAria:`正在載入意見回饋表單`},me={close:`關閉`,message:`無法載入意見回饋表單。`,retry:`再試一次`},he={closeAria:`關閉`,closeSidebarAria:`關閉側邊欄`,openSidebarAria:`開啟側邊欄`},ge={backFrom:`從 {title} 返回`,backToMenu:`返回 {title} 選單`,navigationAria:`{title} 導覽`},_e={ariaLabel:`側邊欄導覽`},ve={label:`從此對話中學習`},ye={message:`從此助理中移除「{name}」?`,remove:`移除`,title:`移除技能`},be={approvalNotice:`如果 Slack 顯示「請求核准」而非 <strong>安裝</strong>,則工作區管理員需要先核准此應用程式。`,createdApp:`我已建立應用程式`,inSlack:`在 Slack 中:`,stepManifest:`在<strong>或以您自己的方式開始</strong>下方,選擇<strong>從資訊清單</strong>,然後<strong>繼續</strong>`,stepPaste:`選擇您的工作區並貼上資訊清單`,stepReview:`檢閱權限,然後點擊<strong>建立並安裝</strong>`},xe={appName:`應用程式名稱`,appNamePlaceholder:`我的助理`,copied:`已複製!`,copyManifest:`複製資訊清單`,description:`描述 (選填)`,descriptionHelper:`顯示在應用程式的 Slack 個人資料中。`,descriptionPlaceholder:`此助理提供哪些協助`,intro:`為您的 Slack 應用程式命名並複製其資訊清單。所有權限和設定皆已預先配置。`,next:`下一步`},Se={body:`在新分頁中開啟 Slack 以建立應用程式,然後返回此處查看後續步驟。`,copied:`已複製!`,copyManifest:`複製資訊清單`,manifestCopiedNotice:`您已在此處複製此應用程式的資訊清單。如果您之後有複製任何其他內容,請在貼上前再次複製。`,manifestNotCopiedNotice:`您尚未複製此應用程式的資訊清單。Slack 的建立應用程式彈出視窗沒有其他方式可以取得,因此請在貼上前複製它。`,next:`下一步`,openSlack:`開啟 Slack`},Ce={appTokenLabel:`應用程式權杖`,botTokenLabel:`機器人權杖`,connectSlack:`連接 Slack`,connecting:`正在連接…`,credentialsSaved:`憑證已儲存`,instructions:`在 Slack 的確認畫面中,展開 <credentials>您的應用程式憑證</credentials> 並複製兩個權杖。`,skipNotice:`該畫面也提供命令列逐步說明和一個 <download>下載應用程式檔案</download> 按鈕。請跳過這兩項。它們會設定一個獨立的本機應用程式,而此助理只需要這兩個權杖。`,savedBody:`兩個金鑰都已儲存。Slack 這邊已完成。`},we={channelLabel:`Slack`,copyError:`無法複製清單。請在繼續之前重新複製。`,stepConnect:`連接`,stepCreate:`建立`,stepName:`名稱`,stepOpen:`開啟`},Te={total:`總計:{value}`},Ee={reloadApp:`重新載入應用程式`},De={reconnecting:`正在重新連線至你的助理…`,dismiss:`關閉`,goToDoctor:`前往診斷`,resumeAssistant:`恢復助理`,retryNow:`立即重試`,wakeUp:`喚醒`},Oe={allLanguages:`所有語言`,featured:`精選`,languagesAriaLabel:`語言`,noMatch:`無符合的語言。`,searchAriaLabel:`搜尋語言`,searchPlaceholder:`搜尋語言`,suggested:`建議`},ke={description:`從您下次語音輸入開始生效。`},Ae={apiKeyLabel:`API 金鑰`,apiKeyPlaceholderReplace:`•••••••• (輸入新金鑰以取代)`,providerAriaLabel:`語音轉文字提供者`,providerLabel:`提供者`,saveFailed:`儲存語音轉文字設定失敗`,saveSuccess:`語音轉文字設定已儲存`,spokenLanguage:`口說語言`,spokenLanguageApplies:`從您下次語音輸入開始生效。`,vellumTranscription:`轉錄會透過您的 Vellum 帳戶執行。`,windowsNativeDisplayName:`Windows 原生聽寫`,windowsNativeSetupWarning:`需要為您的 Windows 顯示語言啟用基本語音辨識:開啟「設定」>「時間與語言」>「語言與區域」,選取顯示語言旁邊的三個點,選擇「語言選項」,然後在「語言功能」下下載「基本語音辨識」。`,windowsNativeSubtitle:`Windows 裝置上的語音辨識,透過 Windows 輔助程式在本機執行。可離線運作且不需要 API 金鑰。`},je={ariaLabel:`子助理 {subagentId}`},Me={accessibilityDescription:`允許您的助理代表您點擊、輸入和控制應用程式。`,accessibilityLabel:`輔助使用`,checking:`正在檢查權限...`,dockIcon:`Dock 圖示`,microphoneDescription:`允許您的助理擷取音訊以進行語音輸入和錄音。`,microphoneLabel:`麥克風`,notificationBadgesDescription:`允許您的助理在 {surface} 上顯示未讀對話計數。`,notificationBadgesLabel:`通知標記`,notificationsDescription:`允許您的助理傳送 macOS 警示以進行核准、訊息和任務更新。`,notificationsLabel:`通知`,notificationsWindowsDescription:`允許您的助理顯示 Windows 通知以進行核准、訊息和任務更新。`,screenDescription:`允許您的助理在電腦使用任務期間擷取螢幕內容。`,screenLabel:`螢幕錄影`,speechRecognitionDescription:`允許您的助理在裝置上將您的語音轉錄為文字。`,speechRecognitionLabel:`語音辨識`,speechRecognitionWindowsDescription:`允許您的助理使用 Windows 語音辨識將您的語音轉錄為文字。`,taskbarIcon:`工作列圖示`,title:`系統權限`},Ne={botTokenLabel:`機器人權杖`,connectTelegram:`連接 Telegram`,instructions:`貼上 BotFather 回覆中的權杖。它是 <tokenLine>Use this token to access the HTTP API</tokenLine> 之後的整行內容。`,saving:`正在儲存…`,savedTitle:`權杖已儲存`,savedBody:`機器人金鑰已儲存。Telegram 這邊已完成。`},Pe={copied:`已複製!`,copyName:`複製名稱`,displayNameHint:`對於顯示名稱,<strong>{suggestedName}</strong> 可讓此機器人與您的助理相符。使用者名稱是獨立的,不一定要相符。`,dmOnlyNotice:`目前僅支援私人聊天。群組、超級群組與頻道中的訊息與按鈕點擊尚不支援。`,inBotFather:`在 BotFather 中:`,intro:`Telegram 機器人是透過傳送訊息給 <strong>@BotFather</strong> 來建立的。開啟它,按照提示操作,然後帶著它給您的權杖回來。`,next:`下一步`,openBotFather:`開啟 BotFather`,stepDisplayName:`給它一個顯示名稱,這是人們在聊天中看到的名稱`,stepSendNewBot:`傳送 <strong>/newbot</strong>`,stepTokenReply:`BotFather 會在 <strong>Use this token to access the HTTP API</strong> 之後回覆一個權杖`,stepUsername:`給它一個使用者名稱,該名稱必須是唯一的並以 <strong>bot</strong> 結尾`},Fe={channelLabel:`Telegram`,copyError:`無法複製名稱。請改為在 BotFather 中輸入。`,stepConnect:`連接`,stepCreate:`建立機器人`},Ie={shopifyLabel:`商店網域`,shopifyPlaceholder:`your-store.myshopify.com`},Le={recoveryModeBanner:`復原模式已啟用:此工作階段已連接到偵錯終端機。`},Re={accentFill:`強調色填充`,activeBorder:`啟用邊框`,activeSurface:`啟用表面`,assistantBubble:`助理的回覆,以全寬顯示在頁面表面上。`,buttonDisabled:`已停用`,buttonPrimary:`主要`,buttonSecondary:`次要`,chatAssistant1:`完成。摘要已備妥。營收穩定成長,上季標記的兩個風險已解決,我已將值得展示的三張圖表匯出到獨立頁面。`,chatAssistant2:`已排定上午 9 點。我會附上圖表和一段式版本,供手機快速瀏覽者參考。`,chatUser1:`你能在明天的會議前總結季度報告嗎?`,chatUser2:`太好了。早上發送給團隊。`,composerPlaceholder:`傳訊息給你的助理`,faintText:`淡色文字 - 漸層中最後一個清晰可辨的步驟。`,inputFilled:`已輸入到欄位中的文字。`,inputPlaceholder:`空白欄位中的預留位置`,newConversation:`新對話`,overlaySurface:`疊加表面`,primaryText:`主要文字 - 應用程式的主要閱讀表面。`,quietText:`靜態文字 - 中繼資料和時間戳記。`,raisedCard:`凸起卡片`,raisedCardBody:`凸起表面位於面板和頁面背景上方。`,samplerTitle:`主題範例`,secondaryText:`次要文字 - 輔助文案和說明。`,sectionAccent:`強調`,sectionButtons:`按鈕`,sectionInputs:`輸入`,sectionMessages:`訊息`,sectionSurfaces:`表面和邊框`,sectionText:`文字`,send:`傳送`,subtleDivider:`此行上方的細分隔線。`,tertiaryText:`第三層文字 - 標題、標籤和預留位置。`,userBubble:`使用者在其對話框中的訊息。`},ze={dark:`深色`,label:`主題`,light:`淺色`,system:`系統`,velvet:`絲絨`},Be={apiKey:`API 金鑰`,apiKeyRequired:`測試前請為此供應商儲存 API 金鑰。`,chooseFromCatalog:`從目錄中選擇`,customVoiceIdAriaLabel:`自訂語音 ID`,noManagedVoices:`目前沒有可用的受管理語音。`,provider:`供應商`,providerAriaLabel:`TTS 供應商`,saveFailed:`儲存語音轉文字設定失敗`,saved:`語音轉文字設定已儲存`,test:`測試`,testing:`正在測試…`,voice:`語音`,voiceId:`語音 ID`,voiceIdPlaceholder:`輸入語音 ID`},Ve={available:`有可用的更新。正在開始下載…`,closeAriaLabel:`關閉`,downloading:`正在下載更新…`,ready:`Vellum {version} 已備妥。`,restartToInstall:`重新啟動以安裝`,versionFallback:`更新`},He={deleteFailed:`刪除應用程式失敗`},Ue={copyFailed:`無法複製連結。請在 {url} 開啟。`,linkCopied:`連結已複製`,open:`開啟`},We={setupPrompt:{slack:`我想在 Slack 上聯絡你。我們來設定吧。`,telegram:`我想在 Telegram 上聯絡你。我們來設定吧。`,discord:`我想在 Discord 上聯絡你。我們來設定吧。`,email:`我想寄電子郵件給你。我們來設定你的電子郵件地址。`,phone:`我希望能打電話給你。我們來設定你的電話號碼。`},finishPrompt:{slack:`Slack 已設定但無法運作。你能完成它嗎?`,telegram:`Telegram 已設定但無法運作。你能完成它嗎?`,discord:`Discord 已設定但無法運作。你能完成它嗎?`,email:`我的電子郵件地址已設定但無法運作。你能完成它嗎?`,phone:`我的電話號碼已設定但無法運作。你能完成它嗎?`}},Ge={addFailed:`加入書籤失敗。`,removeFailed:`移除書籤失敗。`},Ke={exchangeFailed:`檢查貼上的金鑰,然後再試一次。`,failed:`連線 Claude 失敗。請再試一次。`,notStarted:`請先啟動連線 Claude 流程。`,pasteEmpty:`請貼上 Claude 頁面上顯示的程式碼。`,popupBlocked:`您的瀏覽器阻擋了登入分頁。請允許此網站的彈出視窗,然後再按一下「連線」。`,startFailed:`無法啟動連線 Claude。請再試一次。`,timedOut:`等待 Claude 連線逾時。請再試一次。`},qe={accountConnected:`{name} 帳號已連線。`,authorizationError:`{name} 錯誤:{code}`,authorizationFailed:`{name} 授權失敗`,popupBlocked:`彈出視窗已阻擋。請啟用彈出視窗,然後再試一次。`,startFailed:`無法啟動 {name} 授權。`,startFailedWithReason:`無法啟動 {name} 授權:{reason}`},Je={blocked:`您的瀏覽器阻擋了助理嘗試開啟的頁面。`,openPage:`開啟頁面`},Ye={playFailed:`無法播放語音樣本。`},Xe={updated:`主題已更新`},Ze={body:`輸入您的 Vercel API 金鑰,以將應用程式部署為靜態頁面。`,cancel:`取消`,createToken:`在 Vercel 上建立金鑰 →`,save:`儲存`,saveFailed:`無法儲存 Vercel 金鑰。`,saving:`正在儲存…`,title:`連線 Vercel`,tokenLabel:`API 金鑰`,tokenPlaceholder:`Vercel API 金鑰`},Qe={assistantVoiceAriaLabel:`助理語音`,defaultSuffix:`(預設)`,previewVoice:`預覽 {description}`,providerAriaLabel:`語音提供者`,stopPreview:`停止預覽`},$e={ariaLabel:`語音`,selectVoice:`選取語音`},et={done:`完成`,title:`語音`},tt={body:`語音提供者、轉錄和 API 金鑰位於<modelsLink>模型與服務</modelsLink>中。`},nt={recommendedOff:`建議關閉`,userTranscriptLabel:`顯示你說的話`,userTranscriptDescription:`在你說話時即時轉錄文字。`,assistantTranscriptLabel:`顯示助手說的話`,assistantTranscriptDescription:`在語音回覆旁同步顯示文字。`},rt={developer:`開發人員`,file:`檔案`,help:`說明`,view:`檢視`},it={checkingDomain:`正在檢查網域…`,domainVerified:`網域已驗證`,failedTitle:`網域驗證失敗。DNS 記錄可能未正確傳播。您可以嘗試釋放並重新註冊網域。`,unknownStatus:`未知狀態`,unknownStatusTitle:`無法擷取網域驗證狀態。`,verificationFailed:`驗證失敗`,verifiedTitle:`DNS 記錄已驗證。您的網域已準備好傳送和接收電子郵件。`,verifyingDomain:`正在驗證網域…`,verifyingTitle:`DNS 記錄已佈建。正在等待電子郵件提供者驗證它們 - 這通常需要幾分鐘。`,setupRequired:`需要設定網域`,setupRequiredTitle:`此網域尚未在電子郵件提供者完成佈建。在完成設定前,它無法傳送或接收電子郵件。`},at={body:`受管服務按用量計費,並從您的 Vellum 帳戶餘額中扣除。<link>檢視定價</link>`},ot={managedLabel:`受管`,modeToggleAriaLabel:`服務模式`,yourOwnLabel:`自有`},st={previewAlt:`您的助理頭像`,download:`下載頭像`,prompt:{slack:`下載您的助理頭像,以上傳為應用程式圖示。`,discord:`下載您的助理頭像,以上傳為機器人圖示。`,telegram:`下載您的助理頭像,然後透過 /setuserpic 傳送給 BotFather。`}},ct={strict:{label:`嚴格`,description:`執行任何操作前均需確認。不自動批准任何操作。`},conservative:{label:`保守`,description:`自動批准低風險操作,例如網路搜尋以及在其自身工作區中讀寫檔案。`},relaxed:{label:`寬鬆`,description:`自動批准低風險與中等風險操作,例如修改其工作區之外的檔案。`},fullAccess:{label:`完全存取`,description:`自動批准所有操作,包括高風險和無法識別的指令。助手將絕不請求權限確認。`}},lt={everyHours:`每 {count} 小時`,everyMinutes:`每 {count} 分鐘`,retrospectiveSubtitle:`在對話活動後觸發`},ut={aboutPage:e,activeAssistantGate:t,addCredentialModal:n,addCreditsModal:r,appCard:i,appNavBar:a,appViewerContainer:o,assistantConnect:s,assistantFeatureFlagStore:c,avatarManagementModal:l,bundleConfirmPage:u,byoVoiceNote:d,channelSetupCompleteNotice:f,chatAvatar:p,chooserAvatarChip:m,collapsibleNavSection:h,commandPalette:g,companionIntro:_,companionPopover:v,companionSurface:y,companionWatchFramePage:b,contentActionBar:x,conversationTitle:S,createAssistantDialog:C,dateRangeSelect:w,deleteAppDialog:T,deployDialogs:E,deployStore:D,detailPanelStopButton:O,detailPrimitives:k,dictationOverlayPage:A,discordNudgeBanner:j,discordSetupConnectStep:M,discordSetupCreateStep:N,discordSetupFinishStep:P,discordSetupInviteStep:F,discordSetupWizard:I,diskPressureBanner:L,downloadFeedback:R,editFooter:z,generateInviteLinkDialog:B,githubNudgeBanner:V,lazyBoundary:H,localNotification:U,desktopAppBanner:W,nativeAppBanner:G,notFound:K,nudgeChatBanner:q,onboardingBackButton:J,platformLoginNotice:Y,profileCard:X,profileQuickAddProvider:Z,quickInputPage:Q,referralContent:$,referralModal:ee,removeFromDeviceDialog:te,resourcePressureBanner:ne,retireConfirmDialog:re,rootHydrateFallback:ie,routePendingIndicator:ae,rootLayout:oe,routeErrorBoundary:se,runtimeUpgradeBanner:ce,sectionActionsButton:le,serviceFormControls:ue,shareConnectionLinkButton:de,shareFeedbackModal:fe,shareFeedbackModalFallback:pe,shareFeedbackModalLoadError:me,sideListDrawer:he,sidebarShell:ge,sidebarTree:_e,skillLineageLink:ve,skillRemovalDialog:ye,slackSetupCreateStep:be,slackSetupNameStep:xe,slackSetupOpenStep:Se,slackSetupTokensStep:Ce,slackSetupWizard:we,stackedBarTooltip:Te,startupFailure:Ee,statusBanner:De,sttLanguagePicker:Oe,sttLanguagePickerModal:ke,sttProviderForm:Ae,subagentAvatarChip:je,systemPermissionsCard:Me,telegramSetupConnectStep:Ne,telegramSetupCreateStep:Pe,telegramSetupWizard:Fe,tenantHost:Ie,terminalPanel:Le,themeStagePage:Re,themeToggle:ze,ttsProviderForm:Be,updateToast:Ve,useAppDelete:He,useAppDeployment:Ue,useAssistantChannels:We,useBookmarks:Ge,useConnectClaude:Ke,useOauthConnect:qe,useOpenUrlDirectives:Je,useVoiceSamplePreview:Ye,useWorkspaceTheme:Xe,vercelTokenDialog:Ze,voiceList:Qe,voicePickerField:$e,voicePickerModal:et,voiceProvidersNote:tt,voiceTranscriptToggles:nt,windowsMenuBar:rt,domainVerificationChip:it,managedServicesBanner:at,serviceCard:ot,channelAvatarDownload:st,thresholdPresets:ct,scheduleFormatters:lt};export{e as aboutPage,t as activeAssistantGate,n as addCredentialModal,r as addCreditsModal,i as appCard,a as appNavBar,o as appViewerContainer,s as assistantConnect,c as assistantFeatureFlagStore,l as avatarManagementModal,u as bundleConfirmPage,d as byoVoiceNote,st as channelAvatarDownload,f as channelSetupCompleteNotice,p as chatAvatar,m as chooserAvatarChip,h as collapsibleNavSection,g as commandPalette,_ as companionIntro,v as companionPopover,y as companionSurface,b as companionWatchFramePage,x as contentActionBar,S as conversationTitle,C as createAssistantDialog,w as dateRangeSelect,ut as default,T as deleteAppDialog,E as deployDialogs,D as deployStore,W as desktopAppBanner,O as detailPanelStopButton,k as detailPrimitives,A as dictationOverlayPage,j as discordNudgeBanner,M as discordSetupConnectStep,N as discordSetupCreateStep,P as discordSetupFinishStep,F as discordSetupInviteStep,I as discordSetupWizard,L as diskPressureBanner,it as domainVerificationChip,R as downloadFeedback,z as editFooter,B as generateInviteLinkDialog,V as githubNudgeBanner,H as lazyBoundary,U as localNotification,at as managedServicesBanner,G as nativeAppBanner,K as notFound,q as nudgeChatBanner,J as onboardingBackButton,Y as platformLoginNotice,X as profileCard,Z as profileQuickAddProvider,Q as quickInputPage,$ as referralContent,ee as referralModal,te as removeFromDeviceDialog,ne as resourcePressureBanner,re as retireConfirmDialog,ie as rootHydrateFallback,oe as rootLayout,se as routeErrorBoundary,ae as routePendingIndicator,ce as runtimeUpgradeBanner,lt as scheduleFormatters,le as sectionActionsButton,ot as serviceCard,ue as serviceFormControls,de as shareConnectionLinkButton,fe as shareFeedbackModal,pe as shareFeedbackModalFallback,me as shareFeedbackModalLoadError,he as sideListDrawer,ge as sidebarShell,_e as sidebarTree,ve as skillLineageLink,ye as skillRemovalDialog,be as slackSetupCreateStep,xe as slackSetupNameStep,Se as slackSetupOpenStep,Ce as slackSetupTokensStep,we as slackSetupWizard,Te as stackedBarTooltip,Ee as startupFailure,De as statusBanner,Oe as sttLanguagePicker,ke as sttLanguagePickerModal,Ae as sttProviderForm,je as subagentAvatarChip,Me as systemPermissionsCard,Ne as telegramSetupConnectStep,Pe as telegramSetupCreateStep,Fe as telegramSetupWizard,Ie as tenantHost,Le as terminalPanel,Re as themeStagePage,ze as themeToggle,ct as thresholdPresets,Be as ttsProviderForm,Ve as updateToast,He as useAppDelete,Ue as useAppDeployment,We as useAssistantChannels,Ge as useBookmarks,Ke as useConnectClaude,qe as useOauthConnect,Je as useOpenUrlDirectives,Ye as useVoiceSamplePreview,Xe as useWorkspaceTheme,Ze as vercelTokenDialog,Qe as voiceList,$e as voicePickerField,et as voicePickerModal,tt as voiceProvidersNote,nt as voiceTranscriptToggles,rt as windowsMenuBar};
@@ -1 +0,0 @@
1
- var e={build:`Сборка`,taglineMacOS:`ИИ-ассистент для вашего Mac`,taglineWindows:`ИИ-ассистент для вашего ПК`,version:`Версия`},t={reconnecting:`Восстанавливаем соединение с вашим ассистентом…`},n={configureAutoReload:`Настроить автопополнение`},r={failed:`Не удалось подключиться к ассистенту.`},i={updateFailed:`Не удалось обновить «{label}». Изменение отменено.`},a={verifyTitle:`Последний шаг: подтвердите, что это вы`,verifyAction:`Подтвердить меня`,verifyBody:`Ассистент ещё не знает, какой аккаунт {channel} ваш, поэтому не будет вам отвечать. Скажите в чате «подтверди меня в {channel}», чтобы закончить.`,verifyActionBody:`Ассистент ещё не знает, какой аккаунт {channel} ваш, поэтому не будет вам отвечать. Он завершит это с вами в чате.`,verifiedTitle:`Личность подтверждена`,verifiedBody:`Ассистент знает ваш аккаунт {channel} и будет вам отвечать. Всё готово.`},o={ariaLabel:`Знакомство с компаньоном`,meet:{title:`Это я`,titleNamed:`Я {name}`,body:`Я остаюсь на рабочем столе, даже когда Vellum не видно.`},talk:{title:`Голос`,body:`Начало голосового диалога.`},menu:{title:`Правый щелчок по компаньону`,body:`Там можно меня спрятать или изменить размер.`},skip:`Пропустить`,next:`Далее`,done:`Понятно`},s={sharingScreen:`Показываем ваш экран`,sharingScreenNamed:`Показываем ваш экран {name}`,sharingWindow:`Показываем окно`,sharingWindowNamed:`Показываем окно {name}`,teaching:`Обучаем`,teachingNamed:`Обучаем {name}`},c={untitled:`Без названия`},l={appExported:`Приложение экспортировано`,deployFailed:`Не удалось опубликовать`,deployedToVercel:`Опубликовано на Vercel`,open:`Открыть`,shareFailed:`Не удалось поделиться приложением`},u={tooltip:`Стоп`},d={ariaLabelMacOS:`Скачать приложение для macOS`,ariaLabelWindows:`Скачать приложение для Windows`,ctaAriaLabelMacOS:`Скачать приложение для macOS`,ctaAriaLabelWindows:`Скачать приложение для Windows`,ctaLabel:`Скачать`,subtitle:`Работа с компьютером · доступ к терминалу · нативная автоматизация`,titleMacOS:`Установите приложение для macOS`,titleWindows:`Установите приложение для Windows`},f={instructions:`Вставьте токен бота, скопированный со страницы Bot.`,verificationNoticeTitle:`Игнорируйте страницу «Verify your App»`,verificationNoticeBody:`Discord показывает её каждому новому приложению. Она важна только после 100 серверов.`,botTokenLabel:`Токен бота`,save:`Подключить`,saving:`Подключение...`,saved:`Подключено. Теперь добавьте бота на сервер.`,botTokenPlaceholder:`MTk4NjIyNDgzNzAyNDU0...`},p={inPortal:`На портале разработчиков Discord:`,stepCreateApp:`Нажмите <strong>New Application</strong> и назовите приложение именем ассистента:`,copyName:`Скопировать имя`,copied:`Скопировано!`,stepAppIcon:`Необязательно: скачайте аватар и загрузите его на странице <strong>General Information</strong> как значок приложения.`,stepResetToken:`Перейдите на страницу <strong>Bot</strong> в меню приложения, нажмите <strong>Reset Token</strong> и сразу скопируйте токен. Discord показывает его только один раз.`,stepIntentsOff:`На той же странице оставьте все три переключателя <strong>Privileged Gateway Intents</strong> выключенными. Ассистенту они не нужны: он читает только личные сообщения и сообщения с упоминанием.`,openPortal:`Открыть портал Discord`,continue:`Токен у меня есть`},m={connectedTitle:`Бот добавлен`,connectedBody:`Токен сохранён, бот на вашем сервере. Со стороны Discord всё готово.`},h={instructions:`Бот ничего не видит и не отвечает, пока не войдёт на сервер. Откройте ссылку, выберите свой сервер и подтвердите.`,openInvite:`Добавить на сервер`,confirmJoined:`Бот уже на сервере`,noAppId:`Сначала подключите токен бота, затем вернитесь, чтобы добавить его на сервер.`},g={channelLabel:`Discord`,stepCreate:`Создать приложение`,stepConnect:`Подключить`,stepInvite:`Добавить на сервер`,stepFinish:`Завершение`,copyError:`Не удалось скопировать имя. Введите его в Discord вручную.`},_={checkingDomain:`Проверка домена…`,domainVerified:`Домен подтверждён`,failedTitle:`Не удалось подтвердить домен. Записи DNS могли ещё не распространиться. Освободите домен и зарегистрируйте его снова.`,unknownStatus:`Неизвестный статус`,unknownStatusTitle:`Не удалось получить статус проверки домена.`,verificationFailed:`Проверка не прошла`,verifiedTitle:`Записи DNS подтверждены. Домен готов отправлять и получать почту.`,verifyingDomain:`Проверка домена…`,verifyingTitle:`Записи DNS подготовлены. Ждём, пока почтовый провайдер их подтвердит: обычно это несколько минут.`,setupRequired:`Требуется настройка домена`,setupRequiredTitle:`Этот домен не подготовлен у почтового провайдера. Он не может отправлять или получать почту, пока настройка не будет завершена.`},v={failed:`Не удалось скачать файл`,revealMac:`Показать в Finder`,revealWindows:`Показать в проводнике`,saved:`Сохранено в папку «Загрузки»`,started:`Скачивание началось`,startedDescription:`Файл {filename} появится в загрузках браузера.`},y={goToConversation:`Перейти к диалогу`},b={body:`Управляемые сервисы тарифицируются и списываются с баланса аккаунта Vellum. <link>Смотреть цены</link>`},x={bannerAria:`Скачать приложение {appName}`,bannerAriaGeneric:`Скачать приложение Vellum`,download:`Скачать`,downloadAppAria:`Скачать приложение {appName}`,downloadAppAriaGeneric:`Скачать приложение Vellum`,subtitle:`Push-уведомления · биометрический вход · тактильная отдача`,title:`Приложение {appName}`,titleGeneric:`Приложение Vellum`},S={badge:`Ошибка 404`,title:`Страница не найдена`,body:`Этой страницы нет или её могли перенести.`,backToAssistant:`Вернуться к ассистенту`,goBack:`Назад`},C={copied:`Скопировано!`,copyError:`Не удалось скопировать реферальную ссылку.`,copySuccess:`Скопировано в буфер обмена!`,creditsEarned:`Заработано кредитов`,friendsReferred:`Приглашено друзей`,gatedTooltip:`Оформи подписку или купи кредиты, чтобы начать зарабатывать!`,loadError:`Не удалось загрузить сведения о реферальной программе.`,loading:`Загрузка...`,shareLink:`Поделиться ссылкой`,subtitleDefault:`Расскажи друзьям о Vellum и получай кредиты за каждую регистрацию.`,subtitleWithAmounts:`Расскажи друзьям о Vellum: вы оба получите {creditAmount} кредитов после их регистрации, всего до {earningCap}.`},w={title:`Заработать бесплатные кредиты`},T={title:`Ассистенту нужно больше мощности`,titleNamed:`{assistantName} нуждается в большей мощности`,body:`Ассистент усердно работает и приближается к пределу доступных ресурсов. Обновите план, чтобы он продолжал работать без сбоев.`,bodyNoUpgrade:`Ассистент усердно работает и приближается к пределу доступных ресурсов.`,upgrade:`Обновить план`,dontShowAgain:`Больше не показывать`},E={unnamedAssistant:`ассистент`},D={ariaLabel:`Действия: {name}`},O={managedLabel:`Управляемые`,modeToggleAriaLabel:`Режим сервиса`,yourOwnLabel:`Свои`},k={windowsNativeDisplayName:`Windows Native Dictation`,windowsNativeSubtitle:`Распознавание речи Windows на устройстве, локально через вспомогательную программу Windows. Работает без сети и не требует API-ключа.`,windowsNativeSetupWarning:`Нужно базовое распознавание речи для языка интерфейса Windows: Параметры > Время и язык > Язык и регион, три точки рядом с языком интерфейса, Параметры языка, в разделе Возможности языка: Базовое распознавание речи.`},A={deleteFailed:`Не удалось удалить приложение`},j={copyFailed:`Не удалось скопировать ссылку. Откройте её: {url}`,linkCopied:`Ссылка скопирована`,open:`Открыть`},M={setupPrompt:{slack:`Я хочу связываться с тобой в Slack. Давай настроим.`,telegram:`Я хочу связываться с тобой в Telegram. Давай настроим.`,discord:`Я хочу связываться с тобой в Discord. Давай настроим.`,email:`Я хочу писать тебе по электронной почте. Давай настроим твой адрес.`,phone:`Я хочу иметь возможность звонить тебе. Давай настроим тебе номер телефона.`},finishPrompt:{slack:`Slack настроен, но не работает. Можешь доделать?`,telegram:`Telegram настроен, но не работает. Можешь доделать?`,discord:`Discord настроен, но не работает. Можешь доделать?`,email:`Мой адрес электронной почты настроен, но не работает. Можешь доделать?`,phone:`Мой номер телефона настроен, но не работает. Можешь доделать?`}},N={addFailed:`Не удалось добавить закладку.`,removeFailed:`Не удалось удалить закладку.`},P={exchangeFailed:`Проверьте вставленный ключ и повторите попытку.`,failed:`Не удалось подключить Claude. Повторите попытку.`,notStarted:`Сначала запуск сценария Connect Claude.`,pasteEmpty:`Вставка кода со страницы Claude.`,popupBlocked:`Браузер заблокировал вкладку входа. Разрешение всплывающих окон для этого сайта, затем снова Подключить.`,startFailed:`Не удалось запустить Connect Claude. Повторите попытку.`,timedOut:`Время ожидания подключения Claude истекло. Повторите попытку.`},F={accountConnected:`Аккаунт {name} подключён.`,authorizationError:`Ошибка {name}: {code}`,authorizationFailed:`Авторизация {name} не удалась`,popupBlocked:`Всплывающее окно заблокировано. Разрешите всплывающие окна и повторите попытку.`,startFailed:`Не удалось начать авторизацию {name}.`,startFailedWithReason:`Не удалось начать авторизацию {name}: {reason}`},I={blocked:`Браузер заблокировал страницу, которую ассистент пытался открыть.`,openPage:`Открыть страницу`},L={updated:`Тема обновлена`},R={file:`Файл`,view:`Вид`,developer:`Разработчик`,help:`Справка`},z={showLess:`Показать меньше`,showMore:`Показать больше`},B={aboutPage:e,statusBanner:t,addCreditsModal:n,assistantConnect:r,assistantFeatureFlagStore:i,channelSetupCompleteNotice:a,companionIntro:o,companionWatchFramePage:s,conversationTitle:c,deployStore:l,detailPanelStopButton:u,desktopAppBanner:d,discordSetupConnectStep:f,discordSetupCreateStep:p,discordSetupFinishStep:m,discordSetupInviteStep:h,discordSetupWizard:g,domainVerificationChip:_,downloadFeedback:v,localNotification:y,managedServicesBanner:b,nativeAppBanner:x,notFound:S,referralContent:C,referralModal:w,resourcePressureBanner:T,rootLayout:E,sectionActionsButton:D,serviceCard:O,sttProviderForm:k,useAppDelete:A,useAppDeployment:j,useAssistantChannels:M,useBookmarks:N,useConnectClaude:P,useOauthConnect:F,useOpenUrlDirectives:I,useWorkspaceTheme:L,windowsMenuBar:R,detailPrimitives:z};export{e as aboutPage,n as addCreditsModal,r as assistantConnect,i as assistantFeatureFlagStore,a as channelSetupCompleteNotice,o as companionIntro,s as companionWatchFramePage,c as conversationTitle,B as default,l as deployStore,d as desktopAppBanner,u as detailPanelStopButton,z as detailPrimitives,f as discordSetupConnectStep,p as discordSetupCreateStep,m as discordSetupFinishStep,h as discordSetupInviteStep,g as discordSetupWizard,_ as domainVerificationChip,v as downloadFeedback,y as localNotification,b as managedServicesBanner,x as nativeAppBanner,S as notFound,C as referralContent,w as referralModal,T as resourcePressureBanner,E as rootLayout,D as sectionActionsButton,O as serviceCard,t as statusBanner,k as sttProviderForm,A as useAppDelete,j as useAppDeployment,M as useAssistantChannels,N as useBookmarks,P as useConnectClaude,F as useOauthConnect,I as useOpenUrlDirectives,L as useWorkspaceTheme,R as windowsMenuBar};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$s as t,Bs as n,Gs as r,Hs as i,Js as a,Ks as o,Ls as s,Ox as c,Qs as l,Rx as u,Si as d,Us as f,Ws as p,Wx as m,Xs as h,Ys as g,Zs as _,ac as v,cc as y,dc as b,dn as x,ec as S,fc as ee,gh as C,gu as te,lc as w,li as T,mc as ne,mh as E,oc as D,qs as re,rc as O,sc as k,tc as ie,uc as ae,vu as oe,zs as se}from"./app-Tg6YU_tZ.js";import{f as ce,g as A,j}from"./vendor-DYOeoIwg.js";import{t as le,x as ue}from"./react-B9IgSVeK.js";import{Cn as de,Ga as fe,Gi as pe,Ja as me,Jr as he,Ki as M,Pa as ge,Sn as N,Ui as _e,W as ve,Wi as ye,Xt as be,Yr as xe,_n as Se,i as Ce,ki as we,m as P,p as Te,yt as Ee}from"./icons-QG1KAFmx.js";import{n as De}from"./companion-accent-C3xBrXHO.js";import{n as Oe,t as ke}from"./companion-popover-STvrRaku.js";import{n as F,r as Ae,t as je}from"./companion-layout-Cu_j-nKV.js";var Me=me(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),I=me(`screen-share`,[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`,key:`i8wdob`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m17 8 5-5`,key:`fqif7o`}],[`path`,{d:`M17 3h5v5`,key:`1o3tu8`}]]),Ne=me(`slash`,[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]),L=e(ue(),1),R=le(),z=460,Pe=3,B=88,Fe=3,V=[`screens`,`tabs`,`windows`],H=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,Ie=e=>V.find(t=>H(e,t)>0)??`screens`,Le=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function U({sources:e,captureThumbnail:t,cardGrowth:n=`up`,avatarBox:r=E,optionsBox:i=E,cardRef:a,label:o,onPick:s,onAllowScreenRecording:l}){let{t:d}=j(),{inUnits:f,lineAt:p,introStepOff:h}=je(r,i),g=f(h(n)),_={left:`50%`,top:p(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${g}px))`:`translate(-50%, ${g}px)`},v=e!==null&&e.screenRecordingGranted===!1,y=v?null:e,b=y===null?[]:V.filter(e=>H(y,e)>0),x=y!==null&&b.length===0,[S,ee]=(0,L.useState)(null),C=y===null?`screens`:S!==null&&b.includes(S)?S:Ie(y),te=(0,L.useMemo)(()=>y===null?[]:C===`screens`?y.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:Le(t),target:t}}):C===`windows`?y.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:Le(t),target:t}}):[],[C,y]),[w,T]=(0,L.useState)(new Map),ne=(0,L.useRef)(new Set),D=(0,L.useRef)(0),re=(0,L.useRef)(!1);(0,L.useEffect)(()=>(re.current=!0,()=>{re.current=!1}),[]),(0,L.useEffect)(()=>{ne.current=new Set,D.current+=1,T(new Map),ee(null)},[e]);let O=(0,L.useRef)(null);(0,L.useEffect)(()=>{O.current!==null&&(O.current.scrollTop=0)},[C]),(0,L.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of te){if(ne.current.has(e))continue;ne.current.add(e);let r=D.current,i=t=>{!re.current||r!==D.current||T(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,te]);let k=e=>t===void 0?null:w.get(e),ie=e=>d(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,R.jsxs)(`div`,{ref:a,role:`group`,"aria-label":o??d(`companionSurface.capturePicker`),"data-companion-capture-picker":!0,"data-theme":`dark`,className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 p-1.5 shadow-lg shadow-black/40`,style:{width:z,..._},onPointerDown:e=>{e.stopPropagation()},children:[b.length>1&&(0,R.jsx)(c,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:b.map(e=>({value:e,label:ie(e)})),value:C,ariaLabel:d(`companionSurface.captureKind`),onChange:ee}),(0,R.jsx)(u,{ref:O,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,R.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,R.jsx)(G,{}),v&&(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 py-2`,"data-slot":`capture-needs-grant`,children:[(0,R.jsx)(`span`,{className:`text-[12px] text-white/70`,children:d(`companionSurface.captureScreenRecordingOff`)}),(0,R.jsx)(m,{variant:`primary`,size:`compact`,className:`shrink-0`,onClick:l,children:d(`companionSurface.captureTurnOnScreenRecording`)})]}),y!==null&&C===`screens`&&(0,R.jsx)(W,{children:y.displays.map(e=>{let t=d(`companionSurface.captureScreen`,{n:e.index+1}),n=Le({kind:`display`,displayId:e.displayId});return(0,R.jsx)(Re,{title:t,ariaLabel:t,answer:k(n),fallback:(0,R.jsx)(Se,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{s?.({kind:`display`,displayId:e.displayId})}},n)})}),y!==null&&C===`windows`&&(0,R.jsx)(W,{children:y.windows.map(e=>{let t=Le({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,R.jsx)(Re,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:k(t),fallback:(0,R.jsx)(Be,{icon:e.icon,large:!0}),icon:(0,R.jsx)(Be,{icon:e.icon}),onClick:()=>{s?.({kind:`window`,windowId:e.windowId})}},t)})}),y!==null&&C===`tabs`&&(0,R.jsx)(`div`,{className:`flex flex-col`,children:y.tabs.map(e=>(0,R.jsx)(ze,{icon:(0,R.jsx)(Be,{icon:e.icon}),title:e.title,onClick:()=>{s?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),x&&(0,R.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:d(`companionSurface.captureNothing`)})]})})]})}function W({children:e}){return(0,R.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${Pe}, minmax(0, 1fr))`},children:e})}function Re({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,R.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`group flex min-w-0 flex-col gap-1 rounded-lg p-1 text-left transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:a,children:[(0,R.jsx)(`span`,{"data-slot":`capture-preview`,className:`flex items-center justify-center overflow-hidden rounded-md bg-black/40 ring-1 ring-white/10 ${n===void 0?`animate-pulse`:``}`,style:{height:B},children:n==null?r:(0,R.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function ze({icon:e,title:t,onClick:n}){return(0,R.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`flex h-8 w-full shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[12px] text-white/85 transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:n,children:[e,(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function Be({icon:e,large:t=!1}){return(0,R.jsx)(`span`,{className:`flex shrink-0 items-center justify-center overflow-hidden ring-1 ring-white/10 ${t?`size-7 rounded-lg`:`size-3.5 rounded-[4px]`}`,children:e===void 0?(0,R.jsx)(fe,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,R.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function G(){return(0,R.jsx)(W,{children:Array.from({length:Fe},(e,t)=>(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,R.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:B}}),(0,R.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var Ve=260;function He({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=E,optionsBox:i=E,cardRef:a,onAnswer:o}){let{t:s}=j(),c=e.reason===`claimed`?s(`companionSurface.offerVersion`):s(`companionSurface.offerNowhere`),{inUnits:l,avatarHalf:d,lineAt:f,edgeAt:p,introStepOff:m}=je(r,i),h=l(m(n)),g=p(t,-d),_={top:f(n,0),transform:n===`up`?`translateY(calc(-100% - ${h}px))`:`translateY(${h}px)`};return(0,R.jsxs)(`div`,{ref:a,role:`group`,"aria-label":c,"data-companion-dictation-offer":!0,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:Ve,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,R.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:c}),(0,R.jsx)(u,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,R.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,R.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:()=>o?.(`dismiss`),children:e.reason===`claimed`?s(`companionSurface.notNow`):s(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,R.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/70 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>o?.(`quit`),children:s(`companionSurface.offerQuit`,{app:e.app})}):null,(0,R.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:()=>o?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?s(`companionSurface.offerUse`):s(`companionSurface.offerCopy`)})]})]})}var Ue=244,We={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},Ge=e=>e===`talk`?e:void 0,Ke=e=>e===null||e===`meet`?null:`hover`;function qe({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=E,optionsBox:i=E,accentHex:a,assistantName:o,cardRef:s,onAdvance:c}){let{t:l}=j(),u=C.indexOf(e),d=u===C.length-1,f=We[e],{inUnits:p,avatarHalf:m,lineAt:h,edgeAt:g,introStepOff:_}=je(r,i),v=p(_(n)),y=g(t,-m),b={top:h(n,0),transform:n===`up`?`translateY(calc(-100% - ${v}px))`:`translateY(${v}px)`};return(0,R.jsxs)(`div`,{ref:s,role:`group`,"aria-label":l(`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:Ue,...y,...b},onPointerDown:e=>{e.stopPropagation()},children:[(0,R.jsx)(`p`,{className:`line-clamp-2 text-[13px] leading-tight font-medium text-white`,children:e===`meet`&&o!==void 0?l(`companionIntro.meet.titleNamed`,{name:o}):l(f.title)}),(0,R.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:l(f.body)}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,R.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:C.map((e,t)=>(0,R.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===u?a??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!d&&(0,R.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:()=>c?.(`dismiss`),children:l(`companionIntro.skip`)}),(0,R.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:()=>c?.(`next`),children:l(d?`companionIntro.done`:`companionIntro.next`)})]})]})]})}var Je={min:3,max:10},Ye=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},Xe=1600,Ze=.22,Qe=.04,$e=4,K=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+Qe)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*$e,height:i+$e},rest:i+2}},q=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function J(e,t=Je){let[n,r]=(0,L.useState)(0),{min:i,max:a}=t;return(0,L.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},q({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var et=(e,t,n={width:0,height:0})=>{let r=e===`topLeft`?n.width/4:e===`topRight`?n.width*3/4:n.width/2;return{slot:{width:t.width,height:t.height,bottom:`100%`,left:r-t.width/2}}};function tt({character:e,capsule:t,enabled:n,held:r=!1,edge:i,interval:a=Je,className:o,style:s}){let c=ce(),l=(0,L.useMemo)(()=>x(d,e),[e]),u=J(n&&!r&&!c&&l!==null,a),[f,p]=(0,L.useState)(!1),[m,h]=(0,L.useState)(`top`);if((0,L.useEffect)(()=>{if(u===0)return;h(Ye()),p(!0);let e=setTimeout(()=>{p(!1)},Xe);return()=>{clearTimeout(e)}},[u]),l===null||c)return null;let g=K(l,t.width),_=r||f,v=i??m,y=et(v,g.clip,t);return(0,R.jsx)(`div`,{className:`companion-peek ${o??``}`,style:{width:t.width,height:t.height,...s},"data-risen":_,"data-edge":v,"aria-hidden":!0,children:(0,R.jsx)(`div`,{className:`absolute`,style:y.slot,children:(0,R.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,R.jsx)(A.div,{className:`absolute left-1/2`,style:{width:g.size,height:g.size,marginLeft:-g.size/2,top:g.clip.height-g.exposed},initial:{y:g.rest},animate:{y:_?0:g.rest},transition:r?{duration:0}:_?{type:`spring`,stiffness:280,damping:14}:{duration:Ze,ease:`easeIn`},children:(0,R.jsx)(T,{components:d,traits:e,size:g.size})})})})})}var nt=(0,L.createContext)(`above`),Y=`#5eead4`,rt=new Set([`transcribing`,`thinking`,`speaking`]),it=28,X={idle:{width:64,height:14},closing:it,rim:2,bloom:4},at=X.idle,Z=(e,t,n)=>[`inset 0 0 0 ${t}px color-mix(in srgb, ${e} 78%, transparent)`,`0 0 ${n}px color-mix(in srgb, ${e} 85%, transparent)`,`0 0 ${n*4}px color-mix(in srgb, ${e} 42%, transparent)`,`0 8px 24px rgba(0, 0, 0, 0.45)`].join(`, `),ot=244,st=200,ct=120,lt={watching:40,summary:220,dictating:ot+32,offer:st+32,call:4+ct+180},ut=84,dt={width:28,height:ut+140+20};function ft({phase:e,assistantName:t=``,accentHex:n=Y,avatarSrc:r,character:i,hovered:a=!1,growth:o=`right`,avatarBox:s=E,optionsBox:c=E,cardGrowth:l=`up`,dock:u=`bottom`,rootRef:d,restingPillRef:f,avatarRef:p,onSurfacePointerDown:m,onSurfaceContextMenu:h,spotlight:g,onWatch:_,onTeach:v,picking:y=!1,sharing:b=!1,shareEnabled:x=!1,sharePicking:S=!1,onShare:ee,onStopShare:C,annotating:te=!1,annotationTool:w,onAnnotationTool:T,drawToolsRef:ne,onAnnotate:D,marked:re=!1,onClearMarks:O,openPicker:k,voicesPickable:ie=!1,onPicker:ae,shortcuts:oe,onAvatarClick:se,working:A=!1,watching:le=!1,watchRetro:ue,onWatchRetro:de,dictationOffer:fe,offer:pe,watchEnabled:me=!1,dictating:he,dictationText:M=``,call:ge,onControl:N,intro:_e,picker:ve,prompt:ye,promptRef:be,promptsDeferred:xe=0,onReviewPrompts:Se}){let{t:Ce}=j(),we=e!==`resting`,P=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,[Te,Ee]=(0,L.useState)(!1);(0,L.useEffect)(()=>{if(e!==`hover`){Ee(!1);return}let t=setTimeout(()=>{Ee(!0)},500);return()=>{clearTimeout(t)}},[e]);let De=g===`talk`||e===`hover`&&Te,Oe=ue===`pending`,ke=A||ge!==void 0&&rt.has(ge.phase),F=ce(),Ae=(0,L.useRef)(null),[Me,I]=(0,L.useState)(null),Ne=(0,L.useRef)(0);(0,L.useLayoutEffect)(()=>{let e=Ae.current;if(!e)return;let t=()=>{I({width:e.scrollWidth-Ne.current,height:e.scrollHeight})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:z,avatarRel:Pe,avatarHalf:B,baseline:Fe,gap:V,inUnits:H,lineAt:Ie,edgeAt:Le}=je(s,c),U=e===`call`,W=U&&(u===`left`||u===`right`),Re=W?u===`left`?`right`:`left`:`above`,ze=P?W?(Me?.width??dt.width)+16:(Me?.width??lt[e])+16:0,Be=P?(Me?.height??dt.height)+16:0,G=U&&!W&&ye!=null,Ve=(0,L.useRef)(null),[He,Ue]=(0,L.useState)(0);(0,L.useLayoutEffect)(()=>{let e=Ve.current;if(!G||e===null)return;let t=()=>{Ue(Math.ceil(e.getBoundingClientRect().width/z))};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[G,ye,z]);let We=G?Math.max(ze,He):ze,Ge=We-ze;(0,L.useLayoutEffect)(()=>{Ne.current=Ge},[Ge]);let Ke=W?`50%`:Ie(l,0),qe=Le(o,B+V),Je=s/E,Ye=we?{width:X.closing*Je,height:X.closing*Je}:X.idle,Xe=_e!=null,Ze=U?{width:We,...W?{height:Be}:{},left:`50%`,top:Ke,transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:ze,...qe,top:Ie(l,Fe),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},Qe=U&&!W?`calc(50% - ${We/2+H(B+V)}px)`:`50%`,$e=W?`calc(50% - ${Be/2+H(B+V)}px)`:Ke;return(0,R.jsxs)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/z}%`,height:`${100/z}%`,transform:`scale(${z})`},children:[G?(0,R.jsx)(xt,{dock:u,top:Ke,width:We,accentHex:n,lit:P,promptRef:be,children:ye}):null,G?(0,R.jsx)(`div`,{ref:Ve,inert:!0,"aria-hidden":!0,"data-theme":`dark`,className:`pointer-events-none invisible absolute top-0 left-0 w-max max-w-[640px]`,children:ye}):null,(0,R.jsxs)(`div`,{className:`absolute flex cursor-grab items-center rounded-full duration-300 select-none active:cursor-grabbing ${W?`flex-col transition-[width,height] will-change-[width,height]`:`h-11 transition-[width] will-change-[width]`} ${!U&&o===`left`?`justify-end`:``}`,style:Ze,onPointerDown:m,onContextMenu:h,ref:d,children:[(0,R.jsx)(`span`,{className:`absolute inset-0 rounded-full transition-opacity duration-200 ${G?`bg-[#17181b]`:`border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40`}`,style:{opacity:+!!P},"aria-hidden":!0}),U&&(0,R.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:P&&!G?1:0,"--companion-ring-accent":n},"aria-hidden":!0}),(0,R.jsx)(`div`,{className:`relative flex shrink-0 items-center ${W?`flex-col`:`h-11`}`,style:W?{paddingBlock:8,paddingInline:8}:{paddingInline:8},children:(0,R.jsx)(`div`,{className:`flex items-center gap-1 overflow-hidden transition-opacity duration-200 ${W?`min-h-0 flex-col`:`min-w-0`}`,ref:Ae,inert:!P,style:{opacity:+!!P,transitionDelay:P?`120ms`:`0ms`},children:e===`call`?(0,R.jsx)(nt.Provider,{value:Re,children:(0,R.jsx)(St,{call:ge,assistantName:t,watching:le,watchEnabled:me,picking:y,sharing:b,shareEnabled:x,sharePicking:S,annotating:te,marked:re,annotationTool:w,vertical:W,drawToolsPlacement:W?u===`left`?`right`:`left`:l===`up`?`above`:`below`,drawToolsRef:ne,onAnnotationTool:T,onControl:N,onWatch:_,onTeach:v,onShare:ee,onStopShare:C,onAnnotate:D,onClearMarks:O,openPicker:k,voicesPickable:ie,onPicker:ae,pickerSide:W?u===`left`?`right`:`left`:u===`top`?`below`:`above`,shortcuts:oe,promptsDeferred:xe,lineExtra:Ge,onReviewPrompts:Se})}):e===`dictating`&&he!==void 0?(0,R.jsx)(Q,{dictating:he,dictationText:M}):e===`summary`&&ue!==void 0?(0,R.jsx)(bt,{retro:ue,onWatchRetro:de}):e===`offer`&&fe!==void 0?(0,R.jsx)(_t,{offer:fe}):(0,R.jsx)(vt,{watching:le,onWatch:_})})})]}),(0,R.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:H(X.idle.width),height:H(X.idle.height),pointerEvents:we?`none`:void 0,left:`50%`,top:Ke,transform:`translate(-50%, -50%)`},onPointerDown:m,onContextMenu:h,ref:f,"aria-hidden":!0,children:(0,R.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:H(Ye.width),height:H(Ye.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:F?`opacity`:void 0,boxShadow:Z(n,H(X.rim),H(X.bloom)),opacity:+!we}})}),(0,R.jsx)(ht,{className:De?`opacity-100`:`opacity-0`,"data-companion-name":De?`shown`:`hidden`,style:{left:`50%`,top:Ke,transform:`translate(-50%, calc(-100% - ${H(B)}px - 4px))`},label:Ce(`companionSurface.talk`)}),(0,R.jsx)(gt,{label:Ce(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:n,avatarSrc:r,character:i,attentive:a,busy:ke||le||Oe,collapsed:!we&&!Xe,restingScale:E/s,style:{left:Qe,top:$e,transform:`translate(-50%, -50%)${Pe===1?``:` scale(${Pe})`}`,transition:F?void 0:`left 300ms cubic-bezier(.2,.8,.2,1), top 300ms cubic-bezier(.2,.8,.2,1)`},elementRef:p,onPointerDown:m,onContextMenu:h,onClick:se}),_e,ve,pe]})}var pt=`rgba(28, 28, 30, 0.55)`,mt=`backdrop-blur-md backdrop-saturate-150`;function ht({className:e,style:t,label:n,shortcut:r,beak:i=`down`,...a}){return(0,R.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${mt} ${e}`,style:{...t,backgroundColor:pt},"aria-hidden":!0,...a,children:[n,r===void 0?null:(0,R.jsx)(`span`,{className:`ml-1.5 font-normal text-white/60`,"data-shortcut":!0,children:r}),(0,R.jsx)(`span`,{className:`absolute ${i===`down`?`top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2`:i===`left`?`top-1/2 right-full h-2.5 w-1.5 -translate-y-1/2`:`top-1/2 left-full h-2.5 w-1.5 -translate-y-1/2`} ${mt}`,style:{backgroundColor:pt,clipPath:i===`down`?`polygon(0 0, 100% 0, 50% 100%)`:i===`left`?`polygon(100% 0, 100% 100%, 0 50%)`:`polygon(0 0, 0 100%, 100% 50%)`},"aria-hidden":!0})]})}function gt({accentHex:e,avatarSrc:t,character:n,busy:r=!1,attentive:i=!1,collapsed:a=!1,restingScale:o=1,label:s,style:c,elementRef:l,onPointerDown:u,onContextMenu:f,onClick:p}){let m=ce();return(0,R.jsxs)(`div`,{role:`button`,"aria-label":s,className:`absolute grid size-11 cursor-grab place-items-center active:cursor-grabbing`,style:c,ref:l,onPointerDown:u,onContextMenu:f,onClick:p,children:[n===void 0?null:(0,R.jsx)(tt,{character:n,capsule:at,enabled:a&&!r,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${o})`,opacity:+!!a}}),(0,R.jsx)(`div`,{className:`transition-[opacity,transform] duration-300`,style:{opacity:+!a,transform:a?`scale(0.35)`:`scale(1)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:m?`opacity`:void 0},children:(0,R.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:n===void 0?t===void 0?(0,R.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:e},"aria-hidden":!0}):(0,R.jsx)(`img`,{src:t,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,R.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,R.jsx)(T,{components:d,traits:n,size:it,isAssistantBusy:r,attentive:i})})})})]})}function Q({dictating:e,dictationText:t}){let{t:n}=j(),r=t.trim();return(0,R.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,R.jsx)(ge,{className:`size-4 shrink-0`,"aria-hidden":!0}),r?(0,R.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:ot},children:(0,R.jsx)(`span`,{className:`shrink-0`,children:r})}):(0,R.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:ot},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function _t({offer:e}){let{t}=j();return(0,R.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,R.jsx)(ge,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:st},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(`companionSurface.offerNowhere`)})]})}function vt({watching:e=!1,onWatch:t}){return(0,R.jsx)(R.Fragment,{children:e&&(0,R.jsx)(kt,{onWatch:t})})}function yt({watching:e,watchEnabled:t,picking:n,onWatch:r,onTeach:i}){let{t:a}=j();return t?(0,R.jsx)($,{icon:(0,R.jsx)(he,{className:`size-4`}),label:a(`companionSurface.teach`),pressed:e||n,onClick:e?r:i??r}):e?(0,R.jsx)(kt,{onWatch:r}):null}function bt({retro:e,onWatchRetro:t}){let{t:n}=j();return e===`pending`?(0,R.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)($,{icon:(0,R.jsx)(Ee,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,R.jsx)($,{icon:(0,R.jsx)(Ce,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function xt({dock:e,top:t,width:n,accentHex:r,lit:i,promptRef:a,children:o}){let s=e===`top`;return(0,R.jsxs)(`div`,{ref:a,"data-theme":`dark`,className:`absolute`,style:{left:`50%`,top:t,width:n,transform:s?`translate(-50%, 0)`:`translate(-50%, -100%)`,[s?`paddingTop`:`paddingBottom`]:22},onPointerDown:e=>{e.stopPropagation()},children:[(0,R.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 bg-[#17181b] shadow-lg shadow-black/40 ${s?`rounded-b-[22px]`:`rounded-t-[22px]`}`}),(0,R.jsx)(`span`,{"aria-hidden":!0,className:`absolute right-4 left-4 h-px bg-white/10`,style:s?{top:22}:{bottom:22}}),(0,R.jsx)(`span`,{"aria-hidden":!0,className:`companion-working-ring pointer-events-none absolute transition-opacity duration-200`,style:{left:-2,right:-2,top:s?-24:-2,bottom:s?-2:-24,borderRadius:24,opacity:+!!i,"--companion-ring-accent":r}}),(0,R.jsx)(`div`,{className:`relative`,children:o})]})}function St({call:e,assistantName:t,watching:n,watchEnabled:r,picking:i,sharing:a,shareEnabled:o,sharePicking:s,annotating:c,marked:l,annotationTool:u,vertical:d,drawToolsPlacement:f,drawToolsRef:p,onAnnotationTool:m,onControl:h,onWatch:g,onTeach:_,onShare:v,onStopShare:y,onAnnotate:b,onClearMarks:x,openPicker:S,voicesPickable:ee,onPicker:C,pickerSide:te,shortcuts:w,promptsDeferred:T=0,onReviewPrompts:ne,lineExtra:E=0}){let{t:D}=j();if(e===void 0)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ct,{vertical:d,extra:E,text:t===``?D(`companionSurface.calling`):D(`companionSurface.callingNamed`,{name:t})}),(0,R.jsx)(yt,{watching:n,watchEnabled:r,picking:i,onWatch:g,onTeach:_}),(0,R.jsx)(Ot,{onControl:h})]});let re=e.detail||e.label,{muted:O,outputMuted:k}=e;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ct,{vertical:d,extra:E,text:re}),T>0?(0,R.jsx)(`button`,{type:`button`,"data-theme":`dark`,"aria-label":D(`companionPopover.pendingBadge`,{count:T}),className:`flex size-7 shrink-0 items-center justify-center rounded-full bg-[var(--system-negative-weak)] text-[13px] text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-hover)] hover:text-white`,onPointerDown:e=>{e.stopPropagation()},onClick:()=>{ne?.()},children:T}):null,(0,R.jsx)(yt,{watching:n,watchEnabled:r,picking:i,onWatch:g,onTeach:_}),(0,R.jsx)(wt,{sharing:a,shareEnabled:o,sharePicking:s,shortcut:o?w?.share:void 0,onShare:v,onStopShare:y}),(0,R.jsx)(Tt,{sharing:a,annotating:c,shortcut:o?w?.draw:void 0,tool:u,placement:f,toolsRef:p,onAnnotate:b,onTool:m}),(0,R.jsx)(Dt,{sharing:a,marked:l,onClearMarks:x}),(0,R.jsx)($,{icon:O?(0,R.jsx)(de,{className:`size-4`}):(0,R.jsx)(N,{className:`size-4`}),label:D(O?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),shortcut:w?.muteMicrophone,onClick:()=>{h?.(O?`unmuteMicrophone`:`muteMicrophone`)}}),(0,R.jsx)(Pt,{picker:`microphones`,label:D(`companionSurface.chooseMicrophone`),side:te,open:S===`microphones`,onPicker:C}),(0,R.jsx)($,{icon:k?(0,R.jsx)(Te,{className:`size-4`}):(0,R.jsx)(P,{className:`size-4`}),label:D(k?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),shortcut:w?.muteAssistant,onClick:()=>{h?.(k?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),ee?(0,R.jsx)(Pt,{picker:`voices`,label:D(`companionSurface.chooseVoice`),side:te,open:S===`voices`,onPicker:C}):null,(0,R.jsx)(Ot,{onControl:h})]})}function Ct({vertical:e,text:t,extra:n=0}){return e?(0,R.jsx)(`span`,{className:`mt-1 shrink-0 truncate text-[12px] text-white/85`,style:{height:ut,writingMode:`vertical-rl`},"data-label":`line`,children:t}):(0,R.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:ct+n},"data-label":`line`,children:t})}function wt({sharing:e,shareEnabled:t,sharePicking:n,shortcut:r,onShare:i,onStopShare:a}){let{t:o}=j();return!t&&!e?null:(0,R.jsx)($,{icon:(0,R.jsx)(I,{className:`size-4`}),label:o(`companionSurface.share`),shortcut:r,pressed:e||n,onClick:e?a:i})}function Tt({sharing:e,annotating:t,shortcut:n,tool:r,placement:i,toolsRef:a,onAnnotate:o,onTool:s}){let{t:c}=j();return e?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)($,{icon:(0,R.jsx)(be,{className:`size-4`}),label:c(`companionSurface.draw`),shortcut:n,pressed:t,className:`companion-draw-anchor`,onClick:()=>{o?.(!t)}}),t&&r!==void 0&&(0,R.jsx)(Et,{tool:r,placement:i,toolsRef:a,onTool:s})]}):null}function Et({tool:e,placement:t,toolsRef:n,onTool:r}){let{t:i}=j(),a=[{tool:`freehand`,icon:(0,R.jsx)(be,{className:`size-4`}),label:i(`companionSurface.drawFreehand`)},{tool:`line`,icon:(0,R.jsx)(Ne,{className:`size-4`}),label:i(`companionSurface.drawLine`)},{tool:`box`,icon:(0,R.jsx)(ve,{className:`size-4`}),label:i(`companionSurface.drawBox`)},{tool:`circle`,icon:(0,R.jsx)(we,{className:`size-4`}),label:i(`companionSurface.drawCircle`)}];return(0,R.jsx)(`div`,{className:`companion-draw-tools absolute flex items-center gap-0.5 rounded-full border border-white/10 bg-[#17181b]/95 p-0.5 shadow-lg shadow-black/40 companion-draw-tools-${t} ${t===`left`||t===`right`?`flex-col`:``}`,role:`group`,"aria-label":i(`companionSurface.drawTools`),"data-testid":`companion-draw-tools`,ref:n,onPointerDown:e=>{e.stopPropagation()},children:a.map(t=>(0,R.jsx)($,{icon:t.icon,label:t.label,pressed:e===t.tool,onClick:()=>{r?.(t.tool)}},t.tool))})}function Dt({sharing:e,marked:t,onClearMarks:n}){let{t:r}=j();return!e||!t?null:(0,R.jsx)($,{icon:(0,R.jsx)(Me,{className:`size-4`}),label:r(`companionSurface.clearMarks`),onClick:()=>{n?.()}})}function Ot({onControl:e}){let{t}=j();return(0,R.jsx)($,{icon:(0,R.jsx)(Ce,{className:`size-4`,strokeWidth:2.5}),label:t(`companionSurface.endSession`),tone:`negative`,onClick:()=>{e?.(`endSession`)}})}function kt({onWatch:e}){let{t}=j();return(0,R.jsx)($,{icon:(0,R.jsx)(xe,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var At=`-translate-y-[calc(50%+22px)]`,jt={right:`translate-x-[calc(50%+22px)]`,left:`-translate-x-[calc(50%+22px)]`},Mt=e=>e===`above`?{className:At,beak:`down`}:{className:jt[e],beak:e===`right`?`left`:`right`},Nt={above:_e,below:M,left:pe,right:ye};function Pt({picker:e,label:t,side:n,open:r,onPicker:i}){if(i===void 0)return null;let a=Nt[n];return(0,R.jsx)($,{icon:(0,R.jsx)(a,{className:`size-3.5`,strokeWidth:2.25}),label:t,pressed:r,narrow:!0,onClick:()=>{i(e)}})}function $({icon:e,label:t,shortcut:n,tone:r,showLabel:i=!1,pressed:a,narrow:o=!1,className:s=``,onClick:c}){let l=Mt((0,L.useContext)(nt));return(0,R.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":a,onClick:c,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full text-[12px] transition-colors hover:bg-white/15 ${o?`-mx-1 px-0.5`:`px-2`} ${s} ${a===!0?`bg-white/15`:``} ${r===`negative`?`text-[#ff6b6b]`:r===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,i?(0,R.jsx)(`span`,{children:t}):(0,R.jsx)(ht,{label:t,shortcut:n,className:`opacity-0 group-hover:opacity-100 ${l.className}`,beak:l.beak,"data-label":`hover`})]})}var Ft=3,It=440;function Lt(){let{t:e}=j(),[c,u]=(0,L.useState)(`right`),[d,m]=(0,L.useState)(`up`),[x,C]=(0,L.useState)(`bottom`),[T,ce]=(0,L.useState)(E),[A,le]=(0,L.useState)(E),[ue,de]=(0,L.useState)(),[fe,pe]=(0,L.useState)(),[me,he]=(0,L.useState)(),[M,ge]=(0,L.useState)(null),[N,_e]=(0,L.useState)(!1),[ve,ye]=(0,L.useState)(void 0),[be,xe]=(0,L.useState)(``),[Se,Ce]=(0,L.useState)(``),[we,P]=(0,L.useState)(!1),[Te,Ee]=(0,L.useState)(!1),[je,Me]=(0,L.useState)(void 0),[I,Ne]=(0,L.useState)(void 0),[z,Pe]=(0,L.useState)(!1),[B,Fe]=(0,L.useState)(void 0),[V,H]=(0,L.useState)(void 0),[Ie,Le]=(0,L.useState)(!1),[W,Re]=(0,L.useState)(!1),[ze,Be]=(0,L.useState)(void 0),[G,Ve]=(0,L.useState)(!1),[Ue,We]=(0,L.useState)(!1),[Je,Ye]=(0,L.useState)(!1),[Xe,Ze]=(0,L.useState)(!1),[Qe,$e]=(0,L.useState)(void 0),[K,q]=(0,L.useState)(!1),[J,et]=(0,L.useState)(`teach`),[tt,nt]=(0,L.useState)(null),Y=(0,L.useRef)(0),[rt,it]=(0,L.useState)(!1),[X,at]=(0,L.useState)(null),Z=(0,L.useRef)(!1),ot=(0,L.useRef)(null),st=(0,L.useRef)(null),ct=(0,L.useRef)(null),lt=(0,L.useRef)(null),ut=(0,L.useRef)(null),dt=(0,L.useRef)(null),pt=(0,L.useRef)(null),mt=(0,L.useRef)(null),ht=(0,L.useRef)(!1),gt=(0,L.useCallback)(e=>{mt.current=e,e===null&&ht.current&&(ht.current=!1,Z.current=!1,O(!1))},[]),Q=(0,L.useRef)(null),_t=(0,L.useRef)(null),vt=(0,L.useRef)(!1);(0,L.useEffect)(()=>{let e=e=>{u(e.growth),m(e.cardGrowth),C(e.dock??`bottom`),ce(e.avatarBox),le(e.optionsBox??e.avatarBox),de(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),pe(e.character),he(e.accentHex),ge(e.call),_e(e.dialing===!0),Ce(e.assistantName),P(e.working),Ee(e.watching===!0),ye(e.dictating),xe(e.dictationText??``),Me(e.watchRetro),Ne(e.dictationOffer),Fe(e.popover),Pe(e.voicesPickable===!0),H(e.popoverView),Le(e.watchEnabled===!0),Re(e.watchTargets===!0),Be(e.screenShare),Ve(e.screenShareEnabled===!0),We(e.annotating===!0),Ye((e.coachmarks?.length??0)>0),Ze(e.marksCleared!==void 0),$e(e.annotationTool),at(e.intro)},t=w(e);return a().then(t=>{t&&e(t)}),t},[]),(0,L.useEffect)(()=>()=>{O(!1)},[]);let yt=M!==null||N,bt=ze!==void 0,xt=(0,L.useMemo)(()=>s()?ee():void 0,[]);(0,L.useEffect)(()=>{yt||(Y.current+=1,q(!1))},[yt]),(0,L.useEffect)(()=>{Te&&J===`teach`&&(Y.current+=1,q(!1))},[Te,J]),(0,L.useEffect)(()=>{bt&&J===`share`&&(Y.current+=1,q(!1))},[bt,J]);let St=(e,t)=>{nt(null),et(e),q(!0);let n=++Y.current;g().then(e=>{if(n===Y.current){if(e!==null){nt(e);return}q(!1),t()}})},Ct=K&&tt?.screenRecordingGranted===!1;(0,L.useEffect)(()=>{if(Ct)return oe(e=>{if(e.screen?.status!==`granted`)return;let t=++Y.current;g().then(e=>{t!==Y.current||e===null||nt(e)})})},[Ct]);let wt=()=>{if(!W){b();return}if(K&&J===`teach`){Y.current+=1,q(!1);return}St(`teach`,b)},Tt=()=>{if(K&&J===`share`){Y.current+=1,q(!1);return}St(`share`,()=>void 0)};(0,L.useEffect)(()=>{!K&&Z.current&&(Z.current=!1,O(!1))},[K]),(0,L.useEffect)(()=>{I===void 0&&Z.current&&(Z.current=!1,O(!1))},[I]);let Et=(0,L.useRef)(!1),Dt=B!==void 0&&V!==void 0&&V!==`deferred`&&(M!==null||N)&&x!==`left`&&x!==`right`,Ot=Dt?B?.id:void 0;(0,L.useLayoutEffect)(()=>{let e=pt.current;if(Ot===void 0||e===null)return;let t=()=>{ie(Ot,e.getBoundingClientRect().height)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Ot,V]),(0,L.useEffect)(()=>{!Dt&&Et.current&&(Et.current=!1,Z.current=!1,O(!1))},[Dt]);let kt=e=>{if(Y.current+=1,q(!1),J===`share`){D(e);return}b(e)},At=e=>{Z.current!==e&&(Z.current=e,O(e))},jt=X!==null&&M===null&&!N,Mt=(0,L.useRef)(jt);(0,L.useEffect)(()=>{Mt.current&&!jt&&(it(!1),At(!1)),Mt.current=jt},[jt]);let Nt=Ke(X),Pt=M!==null||N?`call`:ve===void 0?I===void 0?Te?`watching`:je===void 0?Nt??(rt?`hover`:`resting`):`summary`:`offer`:`dictating`,$=e=>{if(Q.current!==null&&e.buttons===0&&(Q.current=null,l()),Q.current!==null){let{x:t,y:n}=Q.current;h(e.screenX-t,e.screenY-n),Q.current={x:e.screenX,y:e.screenY};let r=_t.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>Ft&&(vt.current=!0);return}let t=ct.current;if(!t)return;let n=ot.current?.getBoundingClientRect()??null,r=st.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=Ae({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=lt.current,s=o!==null&&F(o.getBoundingClientRect(),e.clientX,e.clientY),c=dt.current,u=c!==null&&F(c.getBoundingClientRect(),e.clientX,e.clientY),d=ut.current,f=d!==null&&F(d.getBoundingClientRect(),e.clientX,e.clientY),p=pt.current,m=p!==null&&F(p.getBoundingClientRect(),e.clientX,e.clientY),g=mt.current,_=g!==null&&F(g.getBoundingClientRect(),e.clientX,e.clientY);it(a),ht.current=_,Et.current=m,At(a||s||f||u||_||m)},Lt=De(M,me,fe),Rt=B===void 0||V!==`deferred`?0:B.kind===`approvals`?B.items.length:1;return(0,R.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:$,onMouseUp:()=>{Q.current!==null&&(Q.current=null,l())},onPointerCancel:()=>{Q.current!==null&&(Q.current=null,l()),it(!1),At(!1)},onMouseLeave:()=>{Q.current===null&&(it(!1),At(!1))},children:(0,R.jsx)(ft,{phase:Pt,growth:c,cardGrowth:d,dock:x,avatarBox:T,optionsBox:A,avatarSrc:ue,character:fe,hovered:rt,accentHex:Lt,call:M??void 0,assistantName:Se,dictating:ve,dictationText:be,working:we,watching:Te,watchRetro:je,onWatchRetro:p,dictationOffer:I,offer:I===void 0?null:(0,R.jsx)(He,{offer:I,growth:c,cardGrowth:d,avatarBox:T,optionsBox:A,cardRef:dt,onAnswer:e=>{i(e,I.id)}}),watchEnabled:Ie,spotlight:Ge(X),intro:!jt||X===null?null:(0,R.jsx)(qe,{beat:X,growth:c,cardGrowth:d,avatarBox:T,optionsBox:A,accentHex:Lt,assistantName:Se===``?void 0:Se,cardRef:lt,onAdvance:n}),rootRef:ot,restingPillRef:st,avatarRef:ct,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Q.current={x:e.screenX,y:e.screenY},_t.current={x:e.screenX,y:e.screenY},vt.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),k())},onAvatarClick:()=>{if(!vt.current){if(M!==null||N){se();return}y()}},onWatch:()=>{b()},onTeach:wt,picking:K&&J===`teach`,sharing:bt,shareEnabled:G,sharePicking:K&&J===`share`,onShare:Tt,onStopShare:()=>{D()},annotating:Ue,onAnnotate:e=>{t(e)},marked:Xe&&(Je||Ue),onClearMarks:()=>{o()},openPicker:B?.kind===`microphones`||B?.kind===`voices`?B.kind:void 0,voicesPickable:z,onPicker:re()?e=>{ae(e)}:void 0,annotationTool:Qe,onAnnotationTool:e=>{S(e)},drawToolsRef:gt,shortcuts:xt,picker:K?(0,R.jsx)(U,{sources:tt,captureThumbnail:r,cardGrowth:d,avatarBox:T,optionsBox:A,cardRef:ut,label:J===`share`?e(`companionSurface.sharePicker`):void 0,onPick:kt,onAllowScreenRecording:()=>{te(`screen`).catch(()=>void 0)}}):null,prompt:!Dt||B===void 0?null:V===`row`&&(B.kind===`approvals`||B.kind===`secret`)?(0,R.jsx)(Oe,{popover:B,onAnswer:e=>{f(e,B.id)},onView:e=>{v(B.id,e)}}):(0,R.jsx)(ke,{attached:!0,popover:B,view:V??`expanded`,style:{maxHeight:It},onAnswer:e=>{f(e,B.id)},onView:e=>{v(B.id,e)},onOpenLink:e=>{_(e)}},B.id),promptRef:pt,promptsDeferred:Rt,onReviewPrompts:()=>{B!==void 0&&v(B.id,`expanded`)},onControl:(e,t)=>{ne(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{Lt as CompanionSurfacePage};
@@ -1 +0,0 @@
1
- import{Bb as e,Hb as t,dd as n,ld as r,ud as i,wg as a,zb as o}from"./app-Tg6YU_tZ.js";async function s(r,i){let{data:a,error:s,response:c}=await n({path:{assistant_id:r},body:i,throwOnError:!1});if(e(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new o(c.status,t(s,c,`Failed to save contact`));return a.contact}async function c(n,r){let{error:a,response:s}=await i({path:{assistant_id:n,contact_id:r},throwOnError:!1});if(e(s,a,`Failed to delete contact`),!s.ok&&s.status!==204)throw new o(s.status,t(a,s,`Failed to delete contact`))}async function l(n,i){let{error:a,response:s}=await r({path:{assistant_id:n,channel_id:i},throwOnError:!1});if(e(s,a,`Failed to verify channel`),!s.ok)throw new o(s.status,t(a,s,`Failed to verify channel`))}async function u(e,t,n){let r=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:n.type,address:n.address}]})).channels.find(e=>e.type===n.type&&e.address.toLowerCase()===n.address.toLowerCase());if(!r)throw new o(409,`That account is already linked to another contact.`);if(r.status===`blocked`)throw new o(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,r.id)}async function d(n,r){let{data:i,error:s,response:c}=await a.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:n},body:{sender_assistant_id:r.senderAssistantId,token:r.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(e(c,s,`Failed to redeem A2A invite`),!c.ok)throw new o(c.status,t(s,c,`Failed to redeem A2A invite`));return{success:i?.success??!0,alreadyConnected:i?.already_connected,error:i?.error,errorCode:i?.error_code}}export{l as a,s as i,u as n,d as r,c as t};