@mycadet/web 0.12.7 → 0.12.8

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 (421) hide show
  1. package/dist/assets/{a2a-invite-Dy_-_EJu.js → a2a-invite-S74k5mzP.js} +1 -1
  2. package/dist/assets/{about-page-BIJfjthi.js → about-page-DyXvah3b.js} +1 -1
  3. package/dist/assets/{account-page-BGhpxkdO.js → account-page-Bto5XueR.js} +1 -1
  4. package/dist/assets/{account-shell-C16ZEkR-.js → account-shell-CcrYy1Gi.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-LJIVIPVX.js → acp-run-detail-panel-6rMAmeGf.js} +3 -3
  6. package/dist/assets/activation-list-route-DEc7Nydy.js +1 -0
  7. package/dist/assets/{activity-redirect-page-DgjUj4JW.js → activity-redirect-page-Fj-SvRGq.js} +1 -1
  8. package/dist/assets/{activity-steps-panel-BJsU5yRo.js → activity-steps-panel-CPMerTsn.js} +1 -1
  9. package/dist/assets/add-credits-modal-DD_BJhmr.js +1 -0
  10. package/dist/assets/{add-credits-modal-VxmEbPrZ.js → add-credits-modal-zPPHPAJC.js} +1 -1
  11. package/dist/assets/ai-page-DpOLL1Cf.js +1 -0
  12. package/dist/assets/all-chats-page-route-C-XHiLQy.js +1 -0
  13. package/dist/assets/{android-billing-handoff-C7UYsPiM.js → android-billing-handoff-DKLezn_S.js} +1 -1
  14. package/dist/assets/{animated-stat-square-DMsQUXPs.js → animated-stat-square-BU2cZ2yE.js} +1 -1
  15. package/dist/assets/{api-key-screen-C6g7k9c2.js → api-key-screen-DjKTR4Wr.js} +1 -1
  16. package/dist/assets/app-CGffgaON.js +401 -0
  17. package/dist/assets/{app-info-CLuEVQl-.js → app-info-Dzir1MF3.js} +1 -1
  18. package/dist/assets/archive-redirect-page-B35h0qMl.js +1 -0
  19. package/dist/assets/assistant-handle-modal-CCjfVewp.js +1 -0
  20. package/dist/assets/assistant-inbox-page-route-gDwC5zAt.js +8 -0
  21. package/dist/assets/{assistant-status-panel-C8N9hzMO.js → assistant-status-panel-B4KyLsgX.js} +1 -1
  22. package/dist/assets/auth-store-BVApYFfc.js +1 -0
  23. package/dist/assets/{auth-welcome-screen-B8aQmTIq.js → auth-welcome-screen-D3ES6d_K.js} +1 -1
  24. package/dist/assets/avatar-bundled-components-Drkl7JyC.js +1 -0
  25. package/dist/assets/avatar-random-GdFF3KT1.js +1 -0
  26. package/dist/assets/{await-org-header-settled-DJeX3ijn.js → await-org-header-settled-B8OULI5x.js} +1 -1
  27. package/dist/assets/background-task-detail-panel-D-gfV8cA.js +1 -0
  28. package/dist/assets/billing-page-DpBwQzdt.js +3 -0
  29. package/dist/assets/{billing-redirect-page-DYXZdQ52.js → billing-redirect-page-eAiiFN78.js} +1 -1
  30. package/dist/assets/bookmarks-page-CSlXo0sR.js +1 -0
  31. package/dist/assets/{bundle-confirm-page-CImMlQsd.js → bundle-confirm-page-Bcm9pKNZ.js} +1 -1
  32. package/dist/assets/camera-capture-overlay-BF2ncbf2.js +1 -0
  33. package/dist/assets/channel-transcript-panel-DPuZkTwm.js +1 -0
  34. package/dist/assets/{channels-sEfiHxRS.js → channels-C72WFU3d.js} +1 -1
  35. package/dist/assets/{channels-C18A3Iw6.js → channels-CbCJT0ZB.js} +1 -1
  36. package/dist/assets/{channels-sGi9IEhE.js → channels-D-bIT7yY.js} +1 -1
  37. package/dist/assets/{channels-D4i2mR2R.js → channels-Di5zRCeZ.js} +1 -1
  38. package/dist/assets/channels-page-route-Cny62l_j.js +1 -0
  39. package/dist/assets/{chat-ue8nDBE0.js → chat-DIpP7Ral.js} +1 -1
  40. package/dist/assets/{chat-DtCHoDDd.js → chat-Fwu9E2dv.js} +1 -1
  41. package/dist/assets/{chat-NNaM8MVU.js → chat-iVufWu4u.js} +1 -1
  42. package/dist/assets/chat-info-panel-D17faG13.js +1 -0
  43. package/dist/assets/{chat-BdJJuvUD.js → chat-tE54oJur.js} +1 -1
  44. package/dist/assets/{checkout-continuation-C165OlOR.js → checkout-continuation-7dEznmik.js} +1 -1
  45. package/dist/assets/{checkout-page-Cl3gKX5M.js → checkout-page-p7LdgQze.js} +1 -1
  46. package/dist/assets/checkout-return-target-CSJF-o8i.js +1 -0
  47. package/dist/assets/cloud-export-97vA7Pm2.js +1 -0
  48. package/dist/assets/cloud-loopback-page-D2BotkZe.js +1 -0
  49. package/dist/assets/command-palette-2v-4uw_p.js +1 -0
  50. package/dist/assets/{command-palette-C5-1ScXi.js → command-palette-BT_juy2T.js} +1 -1
  51. package/dist/assets/command-palette-window-page-BEOnIIIB.js +1 -0
  52. package/dist/assets/{common-B2OzMKuu.js → common-0XkPqpqK.js} +1 -1
  53. package/dist/assets/{common-BRcIoHdX.js → common-CdtDaW_F.js} +1 -1
  54. package/dist/assets/{common-BcylES0w.js → common-Clg2Dw3n.js} +1 -1
  55. package/dist/assets/{community-page-D4gW9H0b.js → community-page-DSFCzNlP.js} +1 -1
  56. package/dist/assets/{companion-accent-DeN7YIfl.js → companion-accent-BnQ_HHAs.js} +1 -1
  57. package/dist/assets/{companion-dock-zones-page-CC3en_w0.js → companion-dock-zones-page-Cwk-m5lx.js} +1 -1
  58. package/dist/assets/{companion-layout-C4onEUYK.js → companion-layout-C8BAml92.js} +1 -1
  59. package/dist/assets/{companion-popover-BY9dsTkK.js → companion-popover-9C2r1GyG.js} +1 -1
  60. package/dist/assets/{companion-popover-page-DtttiULS.js → companion-popover-page-Slqq_QRZ.js} +1 -1
  61. package/dist/assets/companion-surface-2FTY6hzz.js +1 -0
  62. package/dist/assets/companion-surface-page-BCDuCzpC.js +1 -0
  63. package/dist/assets/{companion-tour-entry-DMe04oGv.js → companion-tour-entry-BdZ_ZZY5.js} +1 -1
  64. package/dist/assets/{companion-watch-frame-page-Vyo7Qhrs.js → companion-watch-frame-page-BXLCktNV.js} +1 -1
  65. package/dist/assets/connect-page-DqXNWB3e.js +1 -0
  66. package/dist/assets/{consent-controls-ChXAokI4.js → consent-controls-VUQpPjpF.js} +1 -1
  67. package/dist/assets/contacts-gateway-M0SEA0Ls.js +1 -0
  68. package/dist/assets/contacts-page-route-ciiisSbk.js +1 -0
  69. package/dist/assets/{copy-button-VtuhId4f.js → copy-button-06ZBxF-g.js} +1 -1
  70. package/dist/assets/{credential-entry-page-CSMf6-gH.js → credential-entry-page-CZTFQmW3.js} +1 -1
  71. package/dist/assets/credentials-page-bcb6LbyX.js +1 -0
  72. package/dist/assets/csv-preview-B8vxTOAh.js +1 -0
  73. package/dist/assets/danger-zone-redirect-page-C-53yyHV.js +1 -0
  74. package/dist/assets/debug-page-2DthUX8Q.js +4 -0
  75. package/dist/assets/deploy-dialogs-BXmWQL7g.js +1 -0
  76. package/dist/assets/deploy-dialogs-CaZCOLcW.js +1 -0
  77. package/dist/assets/{desktop-preview-content-0PPPJXKb.js → desktop-preview-content-Bx5_gQqm.js} +2 -2
  78. package/dist/assets/{desktop-status-LMVnpw_i.js → desktop-status-L9sA78zU.js} +1 -1
  79. package/dist/assets/{desktop-viewer-BvmmSS3q.js → desktop-viewer-Gsp9ciNF.js} +2 -2
  80. package/dist/assets/{detail-card-6rKFaFAS.js → detail-card-DXYh92lS.js} +1 -1
  81. package/dist/assets/{detail-panel-stop-button-EtbIbCMU.js → detail-panel-stop-button-JQH92FSa.js} +1 -1
  82. package/dist/assets/{detail-primitives-DYFVgm7V.js → detail-primitives-PCZSBjkS.js} +1 -1
  83. package/dist/assets/developer-page-f8SdDLWI.js +1 -0
  84. package/dist/assets/devices-redirect-page-rOcV02dL.js +1 -0
  85. package/dist/assets/{dictation-overlay-page-Dk4SF30D.js → dictation-overlay-page-BPYJcuF5.js} +1 -1
  86. package/dist/assets/{document-load-Dg7AFxco.js → document-load-Cx6SmMsX.js} +1 -1
  87. package/dist/assets/document-load-dMbILFST.js +1 -0
  88. package/dist/assets/document-viewer-page-buw3L7Qh.js +1 -0
  89. package/dist/assets/{emails-page-CdWuX5e8.js → emails-page-CRcIGJMH.js} +1 -1
  90. package/dist/assets/esm-3p9EjCxv.js +1 -0
  91. package/dist/assets/esm-81hjkY91.js +2 -0
  92. package/dist/assets/{esm-Dd2zUPvj.js → esm-B7eDjVec.js} +1 -1
  93. package/dist/assets/esm-Bg5pAsee.js +2 -0
  94. package/dist/assets/{esm-lj_-qzY6.js → esm-Bo2YRP0H.js} +2 -2
  95. package/dist/assets/esm-CFXydoBW.js +1 -0
  96. package/dist/assets/{esm-CAnWEw9F.js → esm-OhpYdKED.js} +1 -1
  97. package/dist/assets/esm-Qn-Ugt7M.js +2 -0
  98. package/dist/assets/esm-p-XTJuu2.js +2 -0
  99. package/dist/assets/esm-zzDLmzCb.js +2 -0
  100. package/dist/assets/{file-diff-view-DMPBN50t.js → file-diff-view-BPGy665x.js} +1 -1
  101. package/dist/assets/{file-view-mode-Cjq3b9c7.js → file-view-mode-BjICMrIT.js} +2 -2
  102. package/dist/assets/general-page-CtS_CU7C.js +2 -0
  103. package/dist/assets/hatching-screen-SRp857Tl.js +1 -0
  104. package/dist/assets/hosting-screen-BBK1bOi2.js +1 -0
  105. package/dist/assets/identity-page-route-BjuOZBNC.js +7 -0
  106. package/dist/assets/inspect-page-yQXS977E.js +8 -0
  107. package/dist/assets/integrations-page-8saNghxG.js +1 -0
  108. package/dist/assets/intelligence-layout-C4fUSmw1.js +1 -0
  109. package/dist/assets/intelligence-layout-slots-store-CdCFMdty.js +1 -0
  110. package/dist/assets/keyboard-shortcuts-redirect-page-6vmXYM08.js +1 -0
  111. package/dist/assets/{latest-assistant-text-NX8b-PTU.js → latest-assistant-text-Dp8nFLYg.js} +1 -1
  112. package/dist/assets/{library-detail-page-ydt47xy5.js → library-detail-page-BHsng9gW.js} +1 -1
  113. package/dist/assets/{library-page-CuR1I6_u.js → library-page-EGcuUr9r.js} +1 -1
  114. package/dist/assets/login-page-CjFFBEfP.js +1 -0
  115. package/dist/assets/logout-page-CTk1D8H1.js +1 -0
  116. package/dist/assets/logs-layout-DcUsHX4i.js +1 -0
  117. package/dist/assets/{markdown-preview-DZxeW7zP.js → markdown-preview-BVK8h-Vm.js} +1 -1
  118. package/dist/assets/{media-preview-XLlQ1U25.js → media-preview-DMvBX4tR.js} +1 -1
  119. package/dist/assets/memory-page-route-DmcTly3j.js +2 -0
  120. package/dist/assets/{memory-router-playground-page-DdqpfMXX.js → memory-router-playground-page-BKIKjicw.js} +1 -1
  121. package/dist/assets/{message-files-panel-HmSeOj-c.js → message-files-panel-ffUSMnCt.js} +1 -1
  122. package/dist/assets/mutation-error-oXzAul2s.js +1 -0
  123. package/dist/assets/native-attachment-pickers-D94Qe9-T.js +1 -0
  124. package/dist/assets/native-file-BAJbUfaG.js +1 -0
  125. package/dist/assets/{notifications-page-BTVuLqLX.js → notifications-page-uL-24dgJ.js} +1 -1
  126. package/dist/assets/{oauth-complete-page-B1U_lIbS.js → oauth-complete-page-CeSrrc5l.js} +1 -1
  127. package/dist/assets/{oauth-popup-complete-page-CKl1xiuA.js → oauth-popup-complete-page-B2YWDBhK.js} +1 -1
  128. package/dist/assets/paired-cloud-identity-B45tIpgK.js +1 -0
  129. package/dist/assets/pairing-page-BKpPzHgF.js +1 -0
  130. package/dist/assets/password-reset-page-B9xxvNOh.js +1 -0
  131. package/dist/assets/{pdf-file-preview-BjwxYlB0.js → pdf-file-preview-yZHctfTY.js} +1 -1
  132. package/dist/assets/{peeking-eyes-iuHxzGZA.js → peeking-eyes-CYWm-sDJ.js} +1 -1
  133. package/dist/assets/{permission-guide-page-CNoNoSR3.js → permission-guide-page-BiIbMRw2.js} +1 -1
  134. package/dist/assets/{permission-setup-aNFAgq7H.js → permission-setup-C3D0R4tU.js} +1 -1
  135. package/dist/assets/{personality-page-BJ0W1gTK.js → personality-page-B0t7PCzh.js} +1 -1
  136. package/dist/assets/{personality-page-BTQWpq-E.js → personality-page-C9zAoDC4.js} +1 -1
  137. package/dist/assets/{personality-sliders-ZBDf-Baw.js → personality-sliders-Cz11kvVy.js} +1 -1
  138. package/dist/assets/plans-page-Cyy_VAfs.js +1 -0
  139. package/dist/assets/plugin-detail-page-MHjzhIjU.js +1 -0
  140. package/dist/assets/{plugins-page-D0PHx5_k.js → plugins-page-CGd4eA0h.js} +1 -1
  141. package/dist/assets/plugins-surface-CxIHR2Dv.js +1 -0
  142. package/dist/assets/{preview-error-BVZTE_Gq.js → preview-error-B_SkKxgl.js} +1 -1
  143. package/dist/assets/privacy-page-BH7VrzNO.js +1 -0
  144. package/dist/assets/privacy-screen-DRUImDBf.js +1 -0
  145. package/dist/assets/profile-card-eeDPrAqN.js +1 -0
  146. package/dist/assets/provider-callback-page-C25nZdj2.js +1 -0
  147. package/dist/assets/{provider-key-ac0GCyQW.js → provider-key-DCXewaJg.js} +1 -1
  148. package/dist/assets/{provider-signup-page-DGmdVrLa.js → provider-signup-page-BFYxSU4D.js} +1 -1
  149. package/dist/assets/{provisioning-targets-CQDeumSG.js → provisioning-targets-DKc5ORwj.js} +1 -1
  150. package/dist/assets/{quick-input-page-C4Iw_XJg.js → quick-input-page-BWyYCc6N.js} +1 -1
  151. package/dist/assets/{rehype-katex-Tw37BDOZ.js → rehype-katex-CzhvmWzz.js} +1 -1
  152. package/dist/assets/{research-mock-page-BnPVD3II.js → research-mock-page-DT6p-Af5.js} +1 -1
  153. package/dist/assets/research-onboarding-route-B3KTgEuk.js +50 -0
  154. package/dist/assets/review-terms-screen-CBbhXbba.js +1 -0
  155. package/dist/assets/routes-D5cM5I_f.js +1 -0
  156. package/dist/assets/schedules-BklxG5oV.js +1 -0
  157. package/dist/assets/schedules-page-D_2A6U2f.js +1 -0
  158. package/dist/assets/security-redirect-page-424yJDDE.js +1 -0
  159. package/dist/assets/select-assistant-screen-B2waFR5c.js +1 -0
  160. package/dist/assets/{self-hosted-servers-BfhtAs6X.js → self-hosted-servers-Du7ejILs.js} +1 -1
  161. package/dist/assets/service-form-controls-BzzepR1w.js +1 -0
  162. package/dist/assets/{setting-row-BP3qssay.js → setting-row-Har-4ZuZ.js} +1 -1
  163. package/dist/assets/settings-BHi3Ex7d.js +5 -0
  164. package/dist/assets/settings-CsVOMHUb.js +5 -0
  165. package/dist/assets/settings-DZXnR1wA.js +5 -0
  166. package/dist/assets/settings-DiShwji2.js +5 -0
  167. package/dist/assets/settings-divider-fXUzEDBM.js +1 -0
  168. package/dist/assets/{settings-layout-Br7UDHeY.js → settings-layout-Bh6Tfq82.js} +1 -1
  169. package/dist/assets/share-feedback-modal-B12QCt5f.js +1 -0
  170. package/dist/assets/share-feedback-modal-q27kCbAf.js +2 -0
  171. package/dist/assets/{sidebar-tree-HQg9GmqO.js → sidebar-tree-DpyD-Fdr.js} +1 -1
  172. package/dist/assets/{signup-page-CugeXM02.js → signup-page-B2QNQ-OW.js} +1 -1
  173. package/dist/assets/{signup-shell-ys4gi58w.js → signup-shell-BJfIr9N8.js} +1 -1
  174. package/dist/assets/{skill-detail-page-DBAq5Bn0.js → skill-detail-page-DWc5Pj07.js} +2 -2
  175. package/dist/assets/skill-detail-panel-DOpFqxJk.js +1 -0
  176. package/dist/assets/{skill-removal-dialog-1pTs7_fK.js → skill-removal-dialog-B-Hb8zf4.js} +1 -1
  177. package/dist/assets/{skills-page-ByRkByh4.js → skills-page-COVvjwYi.js} +1 -1
  178. package/dist/assets/{sounds-page-BqH9NcU1.js → sounds-page-DB5YcVc4.js} +1 -1
  179. package/dist/assets/{start-screen-QdPolVqs.js → start-screen-FL2Ia1Ar.js} +1 -1
  180. package/dist/assets/{step-detail-header-BuPH_i5-.js → step-detail-header-CuTbSKtU.js} +1 -1
  181. package/dist/assets/stt-language-picker-modal-BjXK4fmX.js +1 -0
  182. package/dist/assets/subagent-detail-panel-DLgSr_E8.js +1 -0
  183. package/dist/assets/superpowers-page-CscgKzE0.js +1 -0
  184. package/dist/assets/{system-events-page-BT1OLy4k.js → system-events-page-CNdWB8DB.js} +1 -1
  185. package/dist/assets/system-events-redirect-page-CRcNF9hG.js +1 -0
  186. package/dist/assets/{tabular-grid-OOn2S_C5.js → tabular-grid-CejyLbWr.js} +1 -1
  187. package/dist/assets/{teleport-gateway-client-CbFuQSt0.js → teleport-gateway-client-CnEsY6jD.js} +1 -1
  188. package/dist/assets/{text-preview-sXXhDNUX.js → text-preview-CNTf9DBr.js} +1 -1
  189. package/dist/assets/{theme-stage-page-D5R8P8hx.js → theme-stage-page-CYKLJ4g7.js} +1 -1
  190. package/dist/assets/{tiptap-document-editor-DJxCQreS.js → tiptap-document-editor-B7WZaMjw.js} +2 -2
  191. package/dist/assets/tool-detail-panel-DlHI8dvX.js +16 -0
  192. package/dist/assets/tool-detail-panel-uk4Ie38C.js +1 -0
  193. package/dist/assets/{trait-cycle-row-CptuY2rL.js → trait-cycle-row-BctewJVE.js} +1 -1
  194. package/dist/assets/upgrade-cancel-page-jDoqH3zX.js +1 -0
  195. package/dist/assets/upgrade-success-page-CaUf2wkq.js +1 -0
  196. package/dist/assets/{usage-redirect-page-BWdqE2yR.js → usage-redirect-page-BAgziC1P.js} +1 -1
  197. package/dist/assets/use-app-delete-DeDK3zNm.js +1 -0
  198. package/dist/assets/use-assistant-identity-details-Ku8Yexur.js +1 -0
  199. package/dist/assets/use-channel-trust-floors-Dw7093F3.js +1 -0
  200. package/dist/assets/use-checkout-dismiss-refresh-D-DceYdb.js +1 -0
  201. package/dist/assets/{use-edge-swipe-back-CtH4IJQV.js → use-edge-swipe-back-C9BhPjNd.js} +1 -1
  202. package/dist/assets/{use-hotkey-recorder-TqrRpvTU.js → use-hotkey-recorder-CaKGUrs_.js} +1 -1
  203. package/dist/assets/{use-invite-link-dialog-BIai7wEJ.js → use-invite-link-dialog-DwZSXJdy.js} +1 -1
  204. package/dist/assets/{use-plugins-list-BEHmXwlp.js → use-plugins-list-PsghpbJo.js} +1 -1
  205. package/dist/assets/use-return-to-short-circuit-oXJVLQ5r.js +1 -0
  206. package/dist/assets/{use-side-list-room-BJ5IwZkh.js → use-side-list-room-BPMo-0-m.js} +1 -1
  207. package/dist/assets/{use-skill-actions-D98yjthR.js → use-skill-actions-DdykFGoL.js} +1 -1
  208. package/dist/assets/use-skill-detail-files-Cx9IY9kI.js +1 -0
  209. package/dist/assets/use-supports-credentials-settings-CaBKQ60M.js +1 -0
  210. package/dist/assets/{use-truncated-blob-text-CAbJEijr.js → use-truncated-blob-text-D16QRG1n.js} +1 -1
  211. package/dist/assets/{vendor-D-45vVY0.js → vendor-CezcraPH.js} +2 -2
  212. package/dist/assets/voice-page-DUXZHnnu.js +1 -0
  213. package/dist/assets/{wake-detail-panel--GpIl1Pf.js → wake-detail-panel-qrpIcnpA.js} +1 -1
  214. package/dist/assets/{weather-forecast-display-Dozuotk6.js → weather-forecast-display-Bjrjg54J.js} +1 -1
  215. package/dist/assets/{web-DyQHXFg3.js → web-BA_SEIKY.js} +1 -1
  216. package/dist/assets/{web-DPM50-rm.js → web-BGBSTUE5.js} +1 -1
  217. package/dist/assets/{web-DIwvBx1l.js → web-BOoSclHV.js} +1 -1
  218. package/dist/assets/{web-BuDXNMls.js → web-Cnoc-36d.js} +1 -1
  219. package/dist/assets/{web-MgDBcJz1.js → web-D36IPmll.js} +1 -1
  220. package/dist/assets/{web-CqZ4lPzV.js → web-DaDJItvE.js} +1 -1
  221. package/dist/assets/{web-GduBYCpB.js → web-GjGo6RCY.js} +1 -1
  222. package/dist/assets/{web-Bm6v7mdW.js → web-ZoqYnuKe.js} +1 -1
  223. package/dist/assets/{web-WDOUgeol.js → web-mirSqNWL.js} +1 -1
  224. package/dist/assets/welcome-screen-C-7GbST1.js +1 -0
  225. package/dist/assets/{workflow-detail-panel-DnKvBE9t.js → workflow-detail-panel-BAeI7O0P.js} +1 -1
  226. package/dist/assets/workspace-page-WKaE0JcI.js +1 -0
  227. package/dist/assets/{xlsx-preview-nQSldHCi.js → xlsx-preview-HzWjwDAj.js} +1 -1
  228. package/dist/index.html +3 -3
  229. package/package.json +1 -1
  230. package/dist/assets/activation-list-route-DsNAUaWs.js +0 -1
  231. package/dist/assets/add-credits-modal-BbRv34X8.js +0 -1
  232. package/dist/assets/ai-page-CXPC9t0F.js +0 -1
  233. package/dist/assets/all-chats-page-route-CXfMd547.js +0 -1
  234. package/dist/assets/app-CPkqAi_4.js +0 -401
  235. package/dist/assets/archive-redirect-page-BipIW_n7.js +0 -1
  236. package/dist/assets/assistant-handle-modal-BkIX52b6.js +0 -1
  237. package/dist/assets/assistant-inbox-page-route-gy60plfi.js +0 -8
  238. package/dist/assets/auth-store-c6dqzt4x.js +0 -1
  239. package/dist/assets/avatar-bundled-components-C7heB9xP.js +0 -1
  240. package/dist/assets/avatar-random-B8fJqzb-.js +0 -2
  241. package/dist/assets/background-task-detail-panel-Cu72J5mx.js +0 -1
  242. package/dist/assets/billing-page-CgQpnTUo.js +0 -3
  243. package/dist/assets/bookmarks-page-pO4mLMfc.js +0 -1
  244. package/dist/assets/camera-capture-overlay-CzsGEOve.js +0 -1
  245. package/dist/assets/channel-transcript-panel-DaBGSuMi.js +0 -1
  246. package/dist/assets/channels-page-route-DNtLd_hv.js +0 -1
  247. package/dist/assets/chat-info-panel-Cp0StHk_.js +0 -1
  248. package/dist/assets/checkout-return-target-BskCWo4q.js +0 -1
  249. package/dist/assets/command-palette-DQxkn194.js +0 -1
  250. package/dist/assets/command-palette-window-page-Bm2eduH2.js +0 -1
  251. package/dist/assets/companion-surface-page-DqFzY5ai.js +0 -1
  252. package/dist/assets/companion-surface-s_z14fFe.js +0 -1
  253. package/dist/assets/connect-page-Bqqeu7px.js +0 -1
  254. package/dist/assets/contacts-gateway-CjXsMIf5.js +0 -1
  255. package/dist/assets/contacts-page-route-jhQ6zm79.js +0 -1
  256. package/dist/assets/credentials-page-CFEC74Wl.js +0 -1
  257. package/dist/assets/csv-preview-BYaPBX5Y.js +0 -1
  258. package/dist/assets/danger-zone-redirect-page-nDGkxOH5.js +0 -1
  259. package/dist/assets/debug-page-BgsSPZYq.js +0 -4
  260. package/dist/assets/deploy-dialogs-CGCI-YQR.js +0 -1
  261. package/dist/assets/deploy-dialogs-TtlGsmui.js +0 -1
  262. package/dist/assets/developer-page-DvF8-ZqQ.js +0 -1
  263. package/dist/assets/devices-redirect-page-DPj7rsiz.js +0 -1
  264. package/dist/assets/document-load-bHqC_QnQ.js +0 -1
  265. package/dist/assets/document-viewer-page-02YOTCJb.js +0 -1
  266. package/dist/assets/esm-Ba0eCQsV.js +0 -2
  267. package/dist/assets/esm-Br-MT6II.js +0 -2
  268. package/dist/assets/esm-Bz1DsDh-.js +0 -2
  269. package/dist/assets/esm-DIMIqvli.js +0 -2
  270. package/dist/assets/esm-Mv3KtaQ6.js +0 -1
  271. package/dist/assets/esm-dvAliocw.js +0 -1
  272. package/dist/assets/esm-xz6_eoYC.js +0 -2
  273. package/dist/assets/general-page-B3LWDnII.js +0 -2
  274. package/dist/assets/hatching-screen-Bz1rVnuU.js +0 -1
  275. package/dist/assets/hosting-screen-DjelWQN4.js +0 -1
  276. package/dist/assets/identity-page-route-Bfit3ZAL.js +0 -7
  277. package/dist/assets/inspect-page-DrzPnXTu.js +0 -8
  278. package/dist/assets/integrations-page-D1jUq3jA.js +0 -1
  279. package/dist/assets/intelligence-layout-D-ux-wB-.js +0 -1
  280. package/dist/assets/intelligence-layout-slots-store-CG-bJbCv.js +0 -1
  281. package/dist/assets/keyboard-shortcuts-redirect-page-Hc4YzlJe.js +0 -1
  282. package/dist/assets/local-mode-jIpWvO_O.js +0 -1
  283. package/dist/assets/login-page-BDZCTowZ.js +0 -1
  284. package/dist/assets/logout-page-C92xzZ-e.js +0 -1
  285. package/dist/assets/logs-layout-P9r4D1NB.js +0 -1
  286. package/dist/assets/managed-export-gcnDno7p.js +0 -1
  287. package/dist/assets/memory-page-route-BSnGfHWx.js +0 -2
  288. package/dist/assets/mutation-error-B0xRAwtR.js +0 -1
  289. package/dist/assets/native-attachment-pickers-BCXzpwWi.js +0 -1
  290. package/dist/assets/native-file-sedyTNMI.js +0 -1
  291. package/dist/assets/paired-platform-identity-DVaKRZrM.js +0 -1
  292. package/dist/assets/pairing-page-CRV8b0I5.js +0 -1
  293. package/dist/assets/password-reset-page-BWEjhNyR.js +0 -1
  294. package/dist/assets/plans-page-hRm6v6LW.js +0 -1
  295. package/dist/assets/platform-loopback-page-DZ6HYIt6.js +0 -1
  296. package/dist/assets/plugin-detail-page-C7Nvkx9h.js +0 -1
  297. package/dist/assets/plugins-surface-DlAulnxS.js +0 -1
  298. package/dist/assets/privacy-page-CENU2Slx.js +0 -1
  299. package/dist/assets/privacy-screen-BhfsBIN1.js +0 -1
  300. package/dist/assets/profile-card-CS9g1deW.js +0 -1
  301. package/dist/assets/provider-callback-page-C2Tcz390.js +0 -1
  302. package/dist/assets/research-onboarding-route-BzkZiS-h.js +0 -50
  303. package/dist/assets/review-terms-screen-FqiYdY0P.js +0 -1
  304. package/dist/assets/routes-DmeNA6If.js +0 -1
  305. package/dist/assets/schedules-_0jiWipo.js +0 -1
  306. package/dist/assets/schedules-page-YYRCjsPX.js +0 -1
  307. package/dist/assets/security-redirect-page-DrztWSNp.js +0 -1
  308. package/dist/assets/select-assistant-screen-CHRyv7xW.js +0 -1
  309. package/dist/assets/service-form-controls-DEbGvmzt.js +0 -1
  310. package/dist/assets/settings-B6KQ8dfx.js +0 -5
  311. package/dist/assets/settings-BiE94ezQ.js +0 -5
  312. package/dist/assets/settings-Chcj3AOF.js +0 -5
  313. package/dist/assets/settings-divider-B756HDoF.js +0 -1
  314. package/dist/assets/settings-pGxTqXuM.js +0 -5
  315. package/dist/assets/share-feedback-modal-D0yLvDE-.js +0 -1
  316. package/dist/assets/share-feedback-modal-D3cwFoqQ.js +0 -2
  317. package/dist/assets/skill-detail-panel-Drwq4W_A.js +0 -1
  318. package/dist/assets/stt-language-picker-modal-DBimk9bU.js +0 -1
  319. package/dist/assets/subagent-detail-panel-DBV1nIEq.js +0 -1
  320. package/dist/assets/superpowers-page-Cyjc104e.js +0 -1
  321. package/dist/assets/system-events-redirect-page-Bn1Mlmrx.js +0 -1
  322. package/dist/assets/tool-detail-panel-C2W_9tyR.js +0 -16
  323. package/dist/assets/tool-detail-panel-CCaS1KuN.js +0 -1
  324. package/dist/assets/upgrade-cancel-page-CZcjnTkF.js +0 -1
  325. package/dist/assets/upgrade-success-page-DOWiDkOG.js +0 -1
  326. package/dist/assets/use-app-delete-DsCLfjVk.js +0 -1
  327. package/dist/assets/use-assistant-identity-details-DWDjVqbF.js +0 -1
  328. package/dist/assets/use-channel-trust-floors-BpA8XrEX.js +0 -1
  329. package/dist/assets/use-checkout-dismiss-refresh-AAMt1w79.js +0 -1
  330. package/dist/assets/use-return-to-short-circuit-CEjprwJ6.js +0 -1
  331. package/dist/assets/use-skill-detail-files-XJ3Mq-uM.js +0 -1
  332. package/dist/assets/use-supports-credentials-settings-5kwj4xAE.js +0 -1
  333. package/dist/assets/voice-page-BLDxl5d8.js +0 -1
  334. package/dist/assets/welcome-screen-8lsoSWQi.js +0 -1
  335. package/dist/assets/workspace-page-gxt87pPu.js +0 -1
  336. /package/dist/assets/{account-MJjOug_m.js → account-9ifOctCs.js} +0 -0
  337. /package/dist/assets/{account-u8ssGyAD.js → account-C59_ZVEY.js} +0 -0
  338. /package/dist/assets/{account-hi01tHTN.js → account-CnqVfERR.js} +0 -0
  339. /package/dist/assets/{account-BrkDQ2EC.js → account-DVdolNcP.js} +0 -0
  340. /package/dist/assets/{activation-C60mWyf6.js → activation-C91KPzrh.js} +0 -0
  341. /package/dist/assets/{activation-CaYos65l.js → activation-Dd7eAIHs.js} +0 -0
  342. /package/dist/assets/{activation-Bu-fuIiq.js → activation-ReimSfhn.js} +0 -0
  343. /package/dist/assets/{activation-tasks-CpU4QWIJ.js → activation-tasks-CcT0Rqfx.js} +0 -0
  344. /package/dist/assets/{activation-tasks-LyVhtkqv.js → activation-tasks-CjUCWfbQ.js} +0 -0
  345. /package/dist/assets/{activation-nBeJqOMa.js → activation-tasks-rViOqW7C.js} +0 -0
  346. /package/dist/assets/{activation-tasks-6iX4PrEF.js → activation-tasks-wtMwJ0EV.js} +0 -0
  347. /package/dist/assets/{activation-tasks-D057dozu.js → activation-yoBQ36AY.js} +0 -0
  348. /package/dist/assets/{app-types-D4ttHTjj.js → app-types-DLSc4FO-.js} +0 -0
  349. /package/dist/assets/{assistant-inbox-BjveeFJS.js → assistant-inbox-CAvCHzi9.js} +0 -0
  350. /package/dist/assets/{assistant-inbox-Bc1eriLy.js → assistant-inbox-CQdSXLLi.js} +0 -0
  351. /package/dist/assets/{assistant-inbox-CjlA9ExA.js → assistant-inbox-DslyrhIn.js} +0 -0
  352. /package/dist/assets/{assistant-inbox-DZEctkiU.js → assistant-inbox-qWeVmA1L.js} +0 -0
  353. /package/dist/assets/{build.umd-BQNORWVu.js → build.umd-B0ATW5UM.js} +0 -0
  354. /package/dist/assets/{common-DVvO5aE9.js → common-DFAGeqca.js} +0 -0
  355. /package/dist/assets/{contacts-BcjP6yTq.js → contacts-BTmOfEVL.js} +0 -0
  356. /package/dist/assets/{contacts-DwPTzNNu.js → contacts-Cxz-DyYF.js} +0 -0
  357. /package/dist/assets/{contacts-B-21ZJz4.js → contacts-DgC-8PHB.js} +0 -0
  358. /package/dist/assets/{contacts-atF1S3IK.js → contacts-mijLgegD.js} +0 -0
  359. /package/dist/assets/{credential-requests-AF-aeT3D.js → credential-requests-CmFaXPwz.js} +0 -0
  360. /package/dist/assets/{credential-requests-CwIA8bBS.js → credential-requests-D3J3i5oa.js} +0 -0
  361. /package/dist/assets/{credential-requests-Z5RDxt8x.js → credential-requests-gl4lfjL4.js} +0 -0
  362. /package/dist/assets/{credential-requests-D1YLTxiK.js → credential-requests-h908NRpv.js} +0 -0
  363. /package/dist/assets/{definitions-DOIX6IPo.js → definitions-BUCExH-9.js} +0 -0
  364. /package/dist/assets/{definitions-Bqz3c8F6.js → definitions-DpZNNWA7.js} +0 -0
  365. /package/dist/assets/{diff-rows-K13N_h7I.js → diff-rows-DD2i4Iv8.js} +0 -0
  366. /package/dist/assets/{emoji-catalog-data-CbgEbTGg.js → emoji-catalog-data-jMbpElmp.js} +0 -0
  367. /package/dist/assets/{format-countdown-DCe32PhB.js → format-countdown-jXi9FZ2J.js} +0 -0
  368. /package/dist/assets/{format-file-size-BLcTYLUV.js → format-file-size-zh148z6P.js} +0 -0
  369. /package/dist/assets/{home-fLFytpjt.js → home-BI-fzzA0.js} +0 -0
  370. /package/dist/assets/{home-BDUOreXL.js → home-BZGFmZ0D.js} +0 -0
  371. /package/dist/assets/{home-X7gNxY7e.js → home-CM9kRnjx.js} +0 -0
  372. /package/dist/assets/{home-BEjkPdJp.js → home-D4Knhe9B.js} +0 -0
  373. /package/dist/assets/{intelligence-CQpR434Z.js → intelligence-BzXuH7C3.js} +0 -0
  374. /package/dist/assets/{intelligence-DyBrOJ0A.js → intelligence-CRQIvpoS.js} +0 -0
  375. /package/dist/assets/{intelligence-BidrWQpj.js → intelligence-D6JLt55y.js} +0 -0
  376. /package/dist/assets/{intelligence-DC4uazgZ.js → intelligence-EUWmzIF9.js} +0 -0
  377. /package/dist/assets/{is-record-LnKkvLTP.js → is-record-VoZP3nYK.js} +0 -0
  378. /package/dist/assets/{jszip.min-c5TAu4nn.js → jszip.min-4SBnqRxq.js} +0 -0
  379. /package/dist/assets/{library-DqG1EtL5.js → library-B5UBdwOv.js} +0 -0
  380. /package/dist/assets/{library-teunjgKo.js → library-CGTnSkcA.js} +0 -0
  381. /package/dist/assets/{library-4geYyJ8S.js → library-DEPrqINm.js} +0 -0
  382. /package/dist/assets/{library-BFdgofAq.js → library-DNEpT1eD.js} +0 -0
  383. /package/dist/assets/{link-click-Dizbvw1H.js → link-click-BJkFvMTf.js} +0 -0
  384. /package/dist/assets/{list-detail-navigation-ChFNCRwF.js → list-detail-navigation-Bc3JpBO4.js} +0 -0
  385. /package/dist/assets/{logs-BRx5q__N.js → logs-BKfLoluH.js} +0 -0
  386. /package/dist/assets/{logs-Djz0FHd-.js → logs-BufZKV9C.js} +0 -0
  387. /package/dist/assets/{logs-BbmigxfM.js → logs-CAOgfUOH.js} +0 -0
  388. /package/dist/assets/{logs-DqcVH8T6.js → logs-CW8mXm9O.js} +0 -0
  389. /package/dist/assets/{machine-sizes-DkgYVvyU.js → machine-sizes-DZLd-6DF.js} +0 -0
  390. /package/dist/assets/{onboarding-CKXWGL__.js → onboarding-BnvKZweH.js} +0 -0
  391. /package/dist/assets/{onboarding-DdQfkNL9.js → onboarding-ClaQ9TbS.js} +0 -0
  392. /package/dist/assets/{onboarding-BgGUy9e_.js → onboarding-D5ZYk-vE.js} +0 -0
  393. /package/dist/assets/{onboarding-DSXxrrNI.js → onboarding-DmjIVIBS.js} +0 -0
  394. /package/dist/assets/{onboarding-step-layout-NeKjwNyJ.js → onboarding-step-layout-Vb0tyqKa.js} +0 -0
  395. /package/dist/assets/{pdf--x650muR.js → pdf-C1Mi1b5E.js} +0 -0
  396. /package/dist/assets/{plugin-attribution-CS85_NdB.js → plugin-attribution-CTeP_GNV.js} +0 -0
  397. /package/dist/assets/{radio-card-nav-DMoAtJEF.js → radio-card-nav-d-b41vKg.js} +0 -0
  398. /package/dist/assets/{remote-web-BT_zhr9C.js → remote-web-B4U_dWd7.js} +0 -0
  399. /package/dist/assets/{remote-web-DenJqlzO.js → remote-web-BDCxnZ9y.js} +0 -0
  400. /package/dist/assets/{remote-web-CFnafhkO.js → remote-web-CVtBV7uq.js} +0 -0
  401. /package/dist/assets/{remote-web-ncKDx-rR.js → remote-web-N0Odpq2-.js} +0 -0
  402. /package/dist/assets/{schedules-BFWqVQQr.js → schedules-Bk7XGnqS.js} +0 -0
  403. /package/dist/assets/{schedules-B-eoXB0u.js → schedules-CGU7CKaM.js} +0 -0
  404. /package/dist/assets/{schedules-jmj6ULCh.js → schedules-J687h0Fh.js} +0 -0
  405. /package/dist/assets/{schedules-CxUabbOG.js → schedules-JnprnWDo.js} +0 -0
  406. /package/dist/assets/{signup-onboarding-handoff-BIo7lFvP.js → signup-onboarding-handoff-aEYZuuHr.js} +0 -0
  407. /package/dist/assets/{skill-icon-Bu6SaLo9.js → skill-icon-H-0SEc1H.js} +0 -0
  408. /package/dist/assets/{status-badge-pill-Ceff-8Fw.js → status-badge-pill-CND5rJPR.js} +0 -0
  409. /package/dist/assets/{terminal-Dl9KkSzg.js → terminal-BV6xg9ZA.js} +0 -0
  410. /package/dist/assets/{terminal-BQY82QZm.js → terminal-BjOF3LBT.js} +0 -0
  411. /package/dist/assets/{terminal-BUWeG_vt.js → terminal-CYHsl1AH.js} +0 -0
  412. /package/dist/assets/{terminal-CAR3C4xs.js → terminal-Cxm0NKaj.js} +0 -0
  413. /package/dist/assets/{usage-window-DmMnJ1Wj.js → usage-window-Dk_XVv4Y.js} +0 -0
  414. /package/dist/assets/{use-async-read-DlWfyJPq.js → use-async-read-deCq0DBg.js} +0 -0
  415. /package/dist/assets/{use-debounced-value-CwdWFc4Z.js → use-debounced-value-CPLEzsNt.js} +0 -0
  416. /package/dist/assets/{workspace-CNtNlLWm.js → workspace-Bcvg2VfS.js} +0 -0
  417. /package/dist/assets/{workspace-Bnpq8Dqv.js → workspace-BscXtFFU.js} +0 -0
  418. /package/dist/assets/{workspace-C9vNSPtQ.js → workspace-C-huZiu_.js} +0 -0
  419. /package/dist/assets/{workspace-u8O2g3J6.js → workspace-P8HaFDdu.js} +0 -0
  420. /package/dist/assets/{xterm-DVw0Odgw.js → xterm-Pyzkt_-B.js} +0 -0
  421. /package/dist/assets/{xterm-addon-fit-BQeaKmRy.js → xterm-addon-fit-HaY_WHvm.js} +0 -0
@@ -6,4 +6,4 @@ var e={drawerTitle:`渠道`,disconnectTitle:`断开 {channel} 的连接?`,disc
6
6
 
7
7
  这样做可能会给您带来经济损失,并使您面临安全和隐私漏洞。
8
8
 
9
- 请务必谨慎启用。`,confirmAction:`允许陌生人`}},s={heading:`默认访问权限`,subtitle:`{assistant}根据对话类型自行执行操作的程度。单个频道可以在下方覆盖此设置,<trustRules>信任规则</trustRules>则会微调何时进行询问。`,bucketAria:`{bucket}的默认助手访问权限`},c={defaultSuffix:`默认`,defaultPlaceholder:`默认`},l={defaultMarker:`· 默认`},u={overridesLoadFailed:`无法加载访问设置。这些控件在加载完成前将保持禁用状态。请尝试重新打开此页面。`,perChannelOverrides:`频道级覆盖设置`},d={heading:`线程行为`,selectAria:`Slack 线程行为`,mentionsOnly:`仅提及`,mentionsOnlyHelp:`机器人仅在被 @提及 时响应。`,followThreads:`首次提及后跟踪线程`,followThreadsHelp:`在线程中被 @提及后,机器人会监听该线程的其余部分。`},f={presenceHint:`在该 Slack 频道中,使用 <invite>/invite {handle}</invite> 添加,或使用 <remove>/remove {handle}</remove> 移除。此处仅显示 {assistant} 所在的频道。`,loading:`正在加载…`,loadFailed:`无法加载频道。请尝试重新打开此页面。`,emptyTitle:`暂无频道`,searchPlaceholder:`搜索频道`,searchAria:`搜索频道`,filterGroupAria:`按类型筛选频道`,noMatches:`无匹配频道。`,accessAria:`{channel} 中的助手访问权限`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公开 (#)}}`,filterPrivate:`{count, plural, other {私有 (#)}}`},p={accountSid:`账户 SID`,authToken:`身份验证令牌`,authTokenPlaceholder:`Twilio 身份验证令牌`,saving:`正在保存…`,save:`保存`},m={slack:{label:`Slack`,disconnectMessage:`这将清除此助手存储的 Slack 机器人和应用令牌。您可以稍后重新连接。`},telegram:{label:`Telegram`,disconnectMessage:`这将清除此助手存储的 Telegram 机器人令牌。您可以稍后重新连接。`,disconnectedPitch:`连接 Telegram 机器人,以便 {assistant} 可以在 Telegram 上发送和接收消息。`},discord:{label:`Discord`,disconnectedPitch:`连接 Discord 机器人,以便 {assistant} 可以在您的服务器中阅读和回复消息。`,disconnectMessage:`这将清除此助手存储的 Discord 机器人令牌,并且机器人将停止接收消息。您的服务器将保留该机器人,直到您从服务器中将其移除。`},email:{label:`电子邮件`},phone:{label:`电话呼叫`,disconnectMessage:`这将清除此助手存储的 Twilio 凭据。您可以稍后重新连接。`,disconnectedPitch:`连接您的 Twilio 账户,以便 {assistant} 可以拨打和接听电话。`}},h={apiKeyConfigured:`{providerName} API 密钥已配置。要重新配置,请运行 <code>{setupSkill}</code> 技能。`,connecting:`正在连接到 Cadet 平台…`,openProvider:`打开 {providerName}`,platformLoginNotice:`登录 Cadet 平台以管理电子邮件设置。`,providerLabel:`提供商`,saveSuccessToast:`电子邮件设置已保存。`,setupInstructions:`通过助手 CLI 配置 {providerName}:要求助手运行 <code>{setupSkill}</code> 技能。它将引导您存储 API 密钥、检测域并(可选)连接入站 Webhook。`,subtitle:`配置您的助手如何发送和接收电子邮件`,title:`电子邮件`},g={addressLabel:`地址`,checkingSubscription:`正在检查订阅…`,completeSetup:`完成域名设置`,completingSetup:`正在完成设置…`,copiedAddress:`已复制`,copyAddressAriaLabel:`复制地址`,copyAddressFailed:`无法复制地址。`,domainLabel:`域名`,domainReleaseFailedToast:`释放域名失败。`,domainReleasedToast:`域名已释放。`,emailRemoveFailedToast:`删除电子邮件地址失败。`,emailRemovedToast:`电子邮件地址已删除。`,inboxSetupBody:`助手的地址在助手收件箱中创建,其邮件也在那里阅读。打开收件箱以选择地址。`,inboxSetupButton:`打开助手收件箱`,inboxSetupTitle:`在助手收件箱中设置电子邮件`,releaseConfirm:`释放`,releaseDomainAriaLabel:`释放域名`,releaseDomainConfirmMessage:`您确定要释放 <code>{domain}</code> 吗?该子域名将可供其他人认领。`,releaseDomainTitle:`释放域名`,removeAddressFirstToast:`请先删除电子邮件地址。`,removeConfirm:`删除`,removeEmailAriaLabel:`删除电子邮件地址`,removeEmailConfirmMessage:`您确定要删除 <code>{address}</code> 吗?您的助手将无法再通过此地址发送或接收电子邮件。`,removeEmailTitle:`删除电子邮件地址`,repairConfirmMessage:`将保留您现有的电子邮件地址。设置会为 <code>{domain}</code> 联系电子邮件提供商和 DNS。`,repairConfirmTitle:`完成域名设置?`,repairFailedFallback:`无法开始域名设置。请稍后再试。`,repairNoticeBody:`您的电子邮件地址已就绪,但此域名尚未在电子邮件提供商处设置。完成设置后即可开始发送和接收邮件。`,repairNoticeTitle:`需要设置域名`,repairStartedToast:`已开始域名设置。验证通常需要几分钟。`,retry:`重试`,subscriptionWarningBody:`我们无法连接到计费服务。以下表单假定您的组织已启用托管电子邮件。如果未启用,注册域名将失败。`,subscriptionWarningTitle:`无法验证订阅状态`,usageSummary:`今日发送 {sent} / {limit} · 收到 {received}`},_={title:`邮件设置`,description:`助手的地址以及谁可以给它发消息。`},v={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g,emailSettingsModal:_};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,v as default,h as emailChannelSection,g as emailManagedContent,_ as emailSettingsModal,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
9
+ 请务必谨慎启用。`,confirmAction:`允许陌生人`}},s={heading:`默认访问权限`,subtitle:`{assistant}根据对话类型自行执行操作的程度。单个频道可以在下方覆盖此设置,<trustRules>信任规则</trustRules>则会微调何时进行询问。`,bucketAria:`{bucket}的默认助手访问权限`},c={defaultSuffix:`默认`,defaultPlaceholder:`默认`},l={defaultMarker:`· 默认`},u={overridesLoadFailed:`无法加载访问设置。这些控件在加载完成前将保持禁用状态。请尝试重新打开此页面。`,perChannelOverrides:`频道级覆盖设置`},d={heading:`线程行为`,selectAria:`Slack 线程行为`,mentionsOnly:`仅提及`,mentionsOnlyHelp:`机器人仅在被 @提及 时响应。`,followThreads:`首次提及后跟踪线程`,followThreadsHelp:`在线程中被 @提及后,机器人会监听该线程的其余部分。`},f={presenceHint:`在该 Slack 频道中,使用 <invite>/invite {handle}</invite> 添加,或使用 <remove>/remove {handle}</remove> 移除。此处仅显示 {assistant} 所在的频道。`,loading:`正在加载…`,loadFailed:`无法加载频道。请尝试重新打开此页面。`,emptyTitle:`暂无频道`,searchPlaceholder:`搜索频道`,searchAria:`搜索频道`,filterGroupAria:`按类型筛选频道`,noMatches:`无匹配频道。`,accessAria:`{channel} 中的助手访问权限`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公开 (#)}}`,filterPrivate:`{count, plural, other {私有 (#)}}`},p={accountSid:`账户 SID`,authToken:`身份验证令牌`,authTokenPlaceholder:`Twilio 身份验证令牌`,saving:`正在保存…`,save:`保存`},m={slack:{label:`Slack`,disconnectMessage:`这将清除此助手存储的 Slack 机器人和应用令牌。您可以稍后重新连接。`},telegram:{label:`Telegram`,disconnectMessage:`这将清除此助手存储的 Telegram 机器人令牌。您可以稍后重新连接。`,disconnectedPitch:`连接 Telegram 机器人,以便 {assistant} 可以在 Telegram 上发送和接收消息。`},discord:{label:`Discord`,disconnectedPitch:`连接 Discord 机器人,以便 {assistant} 可以在您的服务器中阅读和回复消息。`,disconnectMessage:`这将清除此助手存储的 Discord 机器人令牌,并且机器人将停止接收消息。您的服务器将保留该机器人,直到您从服务器中将其移除。`},email:{label:`电子邮件`},phone:{label:`电话呼叫`,disconnectMessage:`这将清除此助手存储的 Twilio 凭据。您可以稍后重新连接。`,disconnectedPitch:`连接您的 Twilio 账户,以便 {assistant} 可以拨打和接听电话。`}},h={apiKeyConfigured:`{providerName} API 密钥已配置。要重新配置,请运行 <code>{setupSkill}</code> 技能。`,connecting:`正在连接到 Cadet 平台…`,openProvider:`打开 {providerName}`,platformLoginNotice:`登录 Cadet 平台以管理电子邮件设置。`,providerLabel:`提供商`,saveSuccessToast:`电子邮件设置已保存。`,setupInstructions:`通过助手 CLI 配置 {providerName}:要求助手运行 <code>{setupSkill}</code> 技能。它将引导您存储 API 密钥、检测域并(可选)连接入站 Webhook。`,subtitle:`配置您的助手如何发送和接收电子邮件`,title:`电子邮件`},g={addressLabel:`地址`,checkingSubscription:`正在检查订阅…`,completeSetup:`完成域名设置`,completingSetup:`正在完成设置…`,copiedAddress:`已复制`,copyAddressAriaLabel:`复制地址`,copyAddressFailed:`无法复制地址。`,domainLabel:`域名`,domainReleaseFailedToast:`释放域名失败。`,domainReleasedToast:`域名已释放。`,emailRemoveFailedToast:`删除电子邮件地址失败。`,emailRemovedToast:`电子邮件地址已删除。`,inboxSetupBody:`助手的地址在助手收件箱中创建,其邮件也在那里阅读。打开收件箱以选择地址。`,inboxSetupButton:`打开助手收件箱`,inboxSetupTitle:`在助手收件箱中设置电子邮件`,releaseConfirm:`释放`,releaseDomainAriaLabel:`释放域名`,releaseDomainConfirmMessage:`您确定要释放 <code>{domain}</code> 吗?该子域名将可供其他人认领。`,releaseDomainTitle:`释放域名`,removeAddressFirstToast:`请先删除电子邮件地址。`,removeConfirm:`删除`,removeEmailAriaLabel:`删除电子邮件地址`,removeEmailConfirmMessage:`您确定要删除 <code>{address}</code> 吗?您的助手将无法再通过此地址发送或接收电子邮件。`,removeEmailTitle:`删除电子邮件地址`,repairConfirmMessage:`将保留您现有的电子邮件地址。设置会为 <code>{domain}</code> 联系电子邮件提供商和 DNS。`,repairConfirmTitle:`完成域名设置?`,repairFailedFallback:`无法开始域名设置。请稍后再试。`,repairNoticeBody:`您的电子邮件地址已就绪,但此域名尚未在电子邮件提供商处设置。完成设置后即可开始发送和接收邮件。`,repairNoticeTitle:`需要设置域名`,repairStartedToast:`已开始域名设置。验证通常需要几分钟。`,retry:`重试`,subscriptionWarningBody:`我们无法连接到计费服务。以下表单假定您的组织已启用托管电子邮件。如果未启用,注册域名将失败。`,subscriptionWarningTitle:`无法验证订阅状态`,usageSummary:`今日发送 {sent} / {limit} · 收到 {received}`},_={title:`邮件设置`,description:`助手的地址以及谁可以给它发消息。`},v={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailCloudContent:g,emailSettingsModal:_};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,v as default,h as emailChannelSection,g as emailCloudContent,_ as emailSettingsModal,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
@@ -6,4 +6,4 @@ var e={drawerTitle:`Каналы`,disconnectTitle:`Отключить {channel}?
6
6
 
7
7
  Это может стоить вам денег и открыть уязвимости безопасности и приватности.
8
8
 
9
- Включайте с крайней осторожностью.`,confirmAction:`Разрешить незнакомцев`}},s={heading:`Доступ по умолчанию`,subtitle:`Насколько самостоятельно действует {assistant} в зависимости от типа диалога. Отдельные каналы могут переопределить это ниже, а <trustRules>правила доверия</trustRules> уточняют, когда спрашивать.`,bucketAria:`Доступ ассистента по умолчанию для {bucket}`},c={defaultSuffix:`по умолчанию`,defaultPlaceholder:`По умолчанию`},l={defaultMarker:`· по умолчанию`},u={overridesLoadFailed:`Не удалось загрузить настройки доступа. Эти элементы останутся недоступны, пока данные не загрузятся. Повторите открытие страницы.`,perChannelOverrides:`Переопределения по каналам`},d={heading:`Поведение в ветках`,selectAria:`Поведение Slack в ветках`,mentionsOnly:`Только упоминания`,mentionsOnlyHelp:`Бот отвечает только когда его @упоминают.`,followThreads:`Следить за веткой после первого упоминания`,followThreadsHelp:`После @упоминания в ветке бот слушает остальную ветку.`},f={presenceHint:`Добавление через <invite>/invite {handle}</invite> или удаление через <remove>/remove {handle}</remove> в этом канале Slack. Здесь видны только каналы, в которых есть {assistant}.`,loading:`Загрузка…`,loadFailed:`Не удалось загрузить каналы. Повторите открытие страницы.`,emptyTitle:`Каналов пока нет`,searchPlaceholder:`Поиск каналов`,searchAria:`Поиск каналов`,filterGroupAria:`Фильтр каналов по типу`,noMatches:`Нет подходящих каналов.`,accessAria:`Доступ ассистента в {channel}`,filterAll:`{count, plural, one {Все (#)} few {Все (#)} many {Все (#)} other {Все (#)}}`,filterPublic:`{count, plural, one {Открытые (#)} few {Открытые (#)} many {Открытые (#)} other {Открытые (#)}}`,filterPrivate:`{count, plural, one {Закрытые (#)} few {Закрытые (#)} many {Закрытые (#)} other {Закрытые (#)}}`},p={accountSid:`Account SID`,authToken:`Auth Token`,authTokenPlaceholder:`Auth-токен Twilio`,saving:`Сохранение…`,save:`Сохранить`},m={slack:{label:`Slack`,disconnectMessage:`Это удалит сохранённые токены бота и приложения Slack для этого ассистента. Потом можно подключить снова.`},telegram:{label:`Telegram`,disconnectMessage:`Это удалит сохранённый токен бота Telegram для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение бота Telegram, чтобы {assistant} мог отправлять и получать сообщения в Telegram.`},discord:{label:`Discord`,disconnectedPitch:`Подключите бота Discord, чтобы {assistant} мог читать и отвечать на вашем сервере.`,disconnectMessage:`Это удалит сохранённый токен бота Discord, и бот перестанет получать сообщения. На сервере бот останется, пока вы не удалите его там.`},email:{label:`Почта`},phone:{label:`Телефонные звонки`,disconnectMessage:`Это удалит сохранённые учётные данные Twilio для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение аккаунта Twilio, чтобы {assistant} мог звонить и отвечать на звонки.`}},h={apiKeyConfigured:`API-ключ {providerName} настроен. Повторная настройка: запуск навыка <code>{setupSkill}</code>.`,connecting:`Подключение к платформе Cadet…`,openProvider:`Открыть {providerName}`,platformLoginNotice:`Вход на платформу Cadet для управления настройками почты.`,providerLabel:`Провайдер`,saveSuccessToast:`Настройки почты сохранены.`,setupInstructions:`Настройка {providerName} через CLI ассистента: запрос ассистенту запустить навык <code>{setupSkill}</code>. Он поможет сохранить API-ключ, определить домен и (по желанию) подключить входящий webhook.`,subtitle:`Настройка отправки и получения почты ассистентом`,title:`Почта`},g={addressLabel:`Адрес`,checkingSubscription:`Проверка подписки…`,completeSetup:`Завершить настройку домена`,completingSetup:`Завершение настройки…`,copiedAddress:`Скопировано`,copyAddressAriaLabel:`Скопировать адрес`,copyAddressFailed:`Не удалось скопировать адрес.`,domainLabel:`Домен`,domainReleaseFailedToast:`Не удалось освободить домен.`,domainReleasedToast:`Домен освобождён.`,emailRemoveFailedToast:`Не удалось удалить адрес почты.`,emailRemovedToast:`Адрес почты удалён.`,inboxSetupBody:`Адрес ассистента создаётся в разделе «Почта ассистента», где читается его почта. Откройте его, чтобы выбрать адрес.`,inboxSetupButton:`Открыть почту ассистента`,inboxSetupTitle:`Настройте почту в разделе «Почта ассистента»`,releaseConfirm:`Освободить`,releaseDomainAriaLabel:`Освободить домен`,releaseDomainConfirmMessage:`Точно освободить <code>{domain}</code>? Поддомен станет доступен другим.`,releaseDomainTitle:`Освободить домен`,removeAddressFirstToast:`Сначала удаление адреса почты.`,removeConfirm:`Удалить`,removeEmailAriaLabel:`Удалить адрес почты`,removeEmailConfirmMessage:`Точно удалить <code>{address}</code>? Ассистент больше не сможет отправлять и получать почту на этот адрес.`,removeEmailTitle:`Удалить адрес почты`,repairConfirmMessage:`Текущий адрес почты сохранится. Настройка обратится к почтовому провайдеру и DNS для <code>{domain}</code>.`,repairConfirmTitle:`Завершить настройку домена?`,repairFailedFallback:`Не удалось начать настройку домена. Повторите попытку через минуту.`,repairNoticeBody:`Адрес почты уже есть, но домен ещё не настроен у почтового провайдера. Завершите настройку, чтобы отправлять и получать письма.`,repairNoticeTitle:`Нужна настройка домена`,repairStartedToast:`Настройка домена начата. Проверка обычно занимает несколько минут.`,retry:`Повторить`,subscriptionWarningBody:`Не удалось связаться со службой оплаты. Форма ниже считает, что управляемая почта включена для организации. Если это не так, регистрация домена не сработает.`,subscriptionWarningTitle:`Не удалось проверить статус подписки`,usageSummary:`сегодня отправлено {sent} / {limit} · получено {received}`},_={title:`Настройки почты`,description:`Адрес ассистента и кто может ему писать.`},v={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g,emailSettingsModal:_};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,v as default,h as emailChannelSection,g as emailManagedContent,_ as emailSettingsModal,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
9
+ Включайте с крайней осторожностью.`,confirmAction:`Разрешить незнакомцев`}},s={heading:`Доступ по умолчанию`,subtitle:`Насколько самостоятельно действует {assistant} в зависимости от типа диалога. Отдельные каналы могут переопределить это ниже, а <trustRules>правила доверия</trustRules> уточняют, когда спрашивать.`,bucketAria:`Доступ ассистента по умолчанию для {bucket}`},c={defaultSuffix:`по умолчанию`,defaultPlaceholder:`По умолчанию`},l={defaultMarker:`· по умолчанию`},u={overridesLoadFailed:`Не удалось загрузить настройки доступа. Эти элементы останутся недоступны, пока данные не загрузятся. Повторите открытие страницы.`,perChannelOverrides:`Переопределения по каналам`},d={heading:`Поведение в ветках`,selectAria:`Поведение Slack в ветках`,mentionsOnly:`Только упоминания`,mentionsOnlyHelp:`Бот отвечает только когда его @упоминают.`,followThreads:`Следить за веткой после первого упоминания`,followThreadsHelp:`После @упоминания в ветке бот слушает остальную ветку.`},f={presenceHint:`Добавление через <invite>/invite {handle}</invite> или удаление через <remove>/remove {handle}</remove> в этом канале Slack. Здесь видны только каналы, в которых есть {assistant}.`,loading:`Загрузка…`,loadFailed:`Не удалось загрузить каналы. Повторите открытие страницы.`,emptyTitle:`Каналов пока нет`,searchPlaceholder:`Поиск каналов`,searchAria:`Поиск каналов`,filterGroupAria:`Фильтр каналов по типу`,noMatches:`Нет подходящих каналов.`,accessAria:`Доступ ассистента в {channel}`,filterAll:`{count, plural, one {Все (#)} few {Все (#)} many {Все (#)} other {Все (#)}}`,filterPublic:`{count, plural, one {Открытые (#)} few {Открытые (#)} many {Открытые (#)} other {Открытые (#)}}`,filterPrivate:`{count, plural, one {Закрытые (#)} few {Закрытые (#)} many {Закрытые (#)} other {Закрытые (#)}}`},p={accountSid:`Account SID`,authToken:`Auth Token`,authTokenPlaceholder:`Auth-токен Twilio`,saving:`Сохранение…`,save:`Сохранить`},m={slack:{label:`Slack`,disconnectMessage:`Это удалит сохранённые токены бота и приложения Slack для этого ассистента. Потом можно подключить снова.`},telegram:{label:`Telegram`,disconnectMessage:`Это удалит сохранённый токен бота Telegram для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение бота Telegram, чтобы {assistant} мог отправлять и получать сообщения в Telegram.`},discord:{label:`Discord`,disconnectedPitch:`Подключите бота Discord, чтобы {assistant} мог читать и отвечать на вашем сервере.`,disconnectMessage:`Это удалит сохранённый токен бота Discord, и бот перестанет получать сообщения. На сервере бот останется, пока вы не удалите его там.`},email:{label:`Почта`},phone:{label:`Телефонные звонки`,disconnectMessage:`Это удалит сохранённые учётные данные Twilio для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение аккаунта Twilio, чтобы {assistant} мог звонить и отвечать на звонки.`}},h={apiKeyConfigured:`API-ключ {providerName} настроен. Повторная настройка: запуск навыка <code>{setupSkill}</code>.`,connecting:`Подключение к платформе Cadet…`,openProvider:`Открыть {providerName}`,platformLoginNotice:`Вход на платформу Cadet для управления настройками почты.`,providerLabel:`Провайдер`,saveSuccessToast:`Настройки почты сохранены.`,setupInstructions:`Настройка {providerName} через CLI ассистента: запрос ассистенту запустить навык <code>{setupSkill}</code>. Он поможет сохранить API-ключ, определить домен и (по желанию) подключить входящий webhook.`,subtitle:`Настройка отправки и получения почты ассистентом`,title:`Почта`},g={addressLabel:`Адрес`,checkingSubscription:`Проверка подписки…`,completeSetup:`Завершить настройку домена`,completingSetup:`Завершение настройки…`,copiedAddress:`Скопировано`,copyAddressAriaLabel:`Скопировать адрес`,copyAddressFailed:`Не удалось скопировать адрес.`,domainLabel:`Домен`,domainReleaseFailedToast:`Не удалось освободить домен.`,domainReleasedToast:`Домен освобождён.`,emailRemoveFailedToast:`Не удалось удалить адрес почты.`,emailRemovedToast:`Адрес почты удалён.`,inboxSetupBody:`Адрес ассистента создаётся в разделе «Почта ассистента», где читается его почта. Откройте его, чтобы выбрать адрес.`,inboxSetupButton:`Открыть почту ассистента`,inboxSetupTitle:`Настройте почту в разделе «Почта ассистента»`,releaseConfirm:`Освободить`,releaseDomainAriaLabel:`Освободить домен`,releaseDomainConfirmMessage:`Точно освободить <code>{domain}</code>? Поддомен станет доступен другим.`,releaseDomainTitle:`Освободить домен`,removeAddressFirstToast:`Сначала удаление адреса почты.`,removeConfirm:`Удалить`,removeEmailAriaLabel:`Удалить адрес почты`,removeEmailConfirmMessage:`Точно удалить <code>{address}</code>? Ассистент больше не сможет отправлять и получать почту на этот адрес.`,removeEmailTitle:`Удалить адрес почты`,repairConfirmMessage:`Текущий адрес почты сохранится. Настройка обратится к почтовому провайдеру и DNS для <code>{domain}</code>.`,repairConfirmTitle:`Завершить настройку домена?`,repairFailedFallback:`Не удалось начать настройку домена. Повторите попытку через минуту.`,repairNoticeBody:`Адрес почты уже есть, но домен ещё не настроен у почтового провайдера. Завершите настройку, чтобы отправлять и получать письма.`,repairNoticeTitle:`Нужна настройка домена`,repairStartedToast:`Настройка домена начата. Проверка обычно занимает несколько минут.`,retry:`Повторить`,subscriptionWarningBody:`Не удалось связаться со службой оплаты. Форма ниже считает, что управляемая почта включена для организации. Если это не так, регистрация домена не сработает.`,subscriptionWarningTitle:`Не удалось проверить статус подписки`,usageSummary:`сегодня отправлено {sent} / {limit} · получено {received}`},_={title:`Настройки почты`,description:`Адрес ассистента и кто может ему писать.`},v={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailCloudContent:g,emailSettingsModal:_};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,v as default,h as emailChannelSection,g as emailCloudContent,_ as emailSettingsModal,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
@@ -6,4 +6,4 @@ var e={drawerTitle:`頻道`,disconnectTitle:`中斷 {channel} 的連線?`,disc
6
6
 
7
7
  這樣做可能會讓您蒙受金錢損失,並使您面臨安全和隱私漏洞。
8
8
 
9
- 請務必謹慎啟用。`,confirmAction:`允許陌生人`}},s={heading:`預設存取權`,subtitle:`{assistant} 根據對話類型自行執行的程度。個別頻道可以在下方覆寫此設定,而 <trustRules>信任規則</trustRules> 則會微調何時進行詢問。`,bucketAria:`{bucket} 的預設助理存取權`},c={defaultSuffix:`預設`,defaultPlaceholder:`預設`},l={defaultMarker:`· 預設`},u={overridesLoadFailed:`無法載入存取設定。這些控制項在載入完成前將保持停用狀態。請嘗試重新開啟此頁面。`,perChannelOverrides:`每個頻道的覆寫設定`},d={heading:`執行緒行為`,selectAria:`Slack 執行緒行為`,mentionsOnly:`僅提及`,mentionsOnlyHelp:`機器人僅在被 @提及時回應。`,followThreads:`首次提及後追蹤執行緒`,followThreadsHelp:`在執行緒中被 @提及後,機器人會監聽該執行緒的其餘部分。`},f={presenceHint:`在該 Slack 頻道中,使用 <invite>/invite {handle}</invite> 新增,或使用 <remove>/remove {handle}</remove> 移除。此處僅顯示 {assistant} 所在的頻道。`,loading:`正在載入…`,loadFailed:`無法載入頻道。請嘗試重新開啟此頁面。`,emptyTitle:`尚未有頻道`,searchPlaceholder:`搜尋頻道`,searchAria:`搜尋頻道`,filterGroupAria:`依類型篩選頻道`,noMatches:`無符合的頻道。`,accessAria:`{channel} 中的助理存取權`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公開 (#)}}`,filterPrivate:`{count, plural, other {私人 (#)}}`},p={accountSid:`帳號 SID`,authToken:`驗證權杖`,authTokenPlaceholder:`Twilio 驗證權杖`,saving:`正在儲存…`,save:`儲存`},m={slack:{label:`Slack`,disconnectMessage:`這會清除此助理儲存的 Slack 機器人與應用程式權杖。您可以稍後重新連線。`},telegram:{label:`Telegram`,disconnectMessage:`這會清除此助理儲存的 Telegram 機器人權杖。您可以稍後重新連線。`,disconnectedPitch:`連線 Telegram 機器人,讓 {assistant} 可以在 Telegram 上傳送及接收訊息。`},discord:{label:`Discord`,disconnectedPitch:`連線 Discord 機器人,讓 {assistant} 可以在您的伺服器中讀取及回覆。`,disconnectMessage:`這會清除此助理儲存的 Discord 機器人權杖,且機器人將停止接收訊息。您的伺服器會保留該機器人,直到您從伺服器中移除為止。`},email:{label:`電子郵件`},phone:{label:`電話通話`,disconnectMessage:`這會清除此助理儲存的 Twilio 憑證。您可以稍後重新連線。`,disconnectedPitch:`連線您的 Twilio 帳號,讓 {assistant} 可以撥打及接聽電話。`}},h={apiKeyConfigured:`{providerName} API 金鑰已設定。若要重新設定,請執行 <code>{setupSkill}</code> 技能。`,connecting:`正在連線至 Cadet 平台…`,openProvider:`開啟 {providerName}`,platformLoginNotice:`登入 Cadet 平台以管理電子郵件設定。`,providerLabel:`供應商`,saveSuccessToast:`電子郵件設定已儲存。`,setupInstructions:`透過助理 CLI 設定 {providerName}:要求助理執行 <code>{setupSkill}</code> 技能。它會引導您儲存 API 金鑰、偵測網域,以及 (選用) 設定傳入 Webhook。`,subtitle:`設定您的助理如何傳送及接收電子郵件`,title:`電子郵件`},g={addressLabel:`地址`,checkingSubscription:`正在檢查訂閱…`,completeSetup:`完成網域設定`,completingSetup:`正在完成設定…`,copiedAddress:`已複製`,copyAddressAriaLabel:`複製地址`,copyAddressFailed:`無法複製地址。`,domainLabel:`網域`,domainReleaseFailedToast:`釋出網域失敗。`,domainReleasedToast:`網域已釋出。`,emailRemoveFailedToast:`移除電子郵件地址失敗。`,emailRemovedToast:`電子郵件地址已移除。`,inboxSetupBody:`助理的地址在助理收件匣中建立,其郵件也在那裡閱讀。開啟收件匣以選擇地址。`,inboxSetupButton:`開啟助理收件匣`,inboxSetupTitle:`在助理收件匣中設定電子郵件`,releaseConfirm:`釋出`,releaseDomainAriaLabel:`釋出網域`,releaseDomainConfirmMessage:`您確定要釋出 <code>{domain}</code> 嗎?此子網域將可供其他人認領。`,releaseDomainTitle:`釋出網域`,removeAddressFirstToast:`請先移除電子郵件地址。`,removeConfirm:`移除`,removeEmailAriaLabel:`移除電子郵件地址`,removeEmailConfirmMessage:`您確定要移除 <code>{address}</code> 嗎?您的助理將無法再透過此地址傳送或接收電子郵件。`,removeEmailTitle:`移除電子郵件地址`,repairConfirmMessage:`將保留您現有的電子郵件地址。設定會為 <code>{domain}</code> 聯絡電子郵件供應商和 DNS。`,repairConfirmTitle:`完成網域設定?`,repairFailedFallback:`無法開始網域設定。請稍後再試。`,repairNoticeBody:`您的電子郵件地址已就緒,但此網域尚未在電子郵件供應商處設定。完成設定後即可開始傳送和接收郵件。`,repairNoticeTitle:`需要設定網域`,repairStartedToast:`已開始網域設定。驗證通常需要幾分鐘。`,retry:`重試`,subscriptionWarningBody:`我們無法連線至帳務服務。以下表單假設您的組織已啟用受管理的電子郵件。如果未啟用,註冊網域將會失敗。`,subscriptionWarningTitle:`無法驗證訂閱狀態`,usageSummary:`今日已傳送 {sent} / {limit} · 已接收 {received}`},_={title:`郵件設定`,description:`助理的地址以及誰可以傳訊息給它。`},v={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g,emailSettingsModal:_};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,v as default,h as emailChannelSection,g as emailManagedContent,_ as emailSettingsModal,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
9
+ 請務必謹慎啟用。`,confirmAction:`允許陌生人`}},s={heading:`預設存取權`,subtitle:`{assistant} 根據對話類型自行執行的程度。個別頻道可以在下方覆寫此設定,而 <trustRules>信任規則</trustRules> 則會微調何時進行詢問。`,bucketAria:`{bucket} 的預設助理存取權`},c={defaultSuffix:`預設`,defaultPlaceholder:`預設`},l={defaultMarker:`· 預設`},u={overridesLoadFailed:`無法載入存取設定。這些控制項在載入完成前將保持停用狀態。請嘗試重新開啟此頁面。`,perChannelOverrides:`每個頻道的覆寫設定`},d={heading:`執行緒行為`,selectAria:`Slack 執行緒行為`,mentionsOnly:`僅提及`,mentionsOnlyHelp:`機器人僅在被 @提及時回應。`,followThreads:`首次提及後追蹤執行緒`,followThreadsHelp:`在執行緒中被 @提及後,機器人會監聽該執行緒的其餘部分。`},f={presenceHint:`在該 Slack 頻道中,使用 <invite>/invite {handle}</invite> 新增,或使用 <remove>/remove {handle}</remove> 移除。此處僅顯示 {assistant} 所在的頻道。`,loading:`正在載入…`,loadFailed:`無法載入頻道。請嘗試重新開啟此頁面。`,emptyTitle:`尚未有頻道`,searchPlaceholder:`搜尋頻道`,searchAria:`搜尋頻道`,filterGroupAria:`依類型篩選頻道`,noMatches:`無符合的頻道。`,accessAria:`{channel} 中的助理存取權`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公開 (#)}}`,filterPrivate:`{count, plural, other {私人 (#)}}`},p={accountSid:`帳號 SID`,authToken:`驗證權杖`,authTokenPlaceholder:`Twilio 驗證權杖`,saving:`正在儲存…`,save:`儲存`},m={slack:{label:`Slack`,disconnectMessage:`這會清除此助理儲存的 Slack 機器人與應用程式權杖。您可以稍後重新連線。`},telegram:{label:`Telegram`,disconnectMessage:`這會清除此助理儲存的 Telegram 機器人權杖。您可以稍後重新連線。`,disconnectedPitch:`連線 Telegram 機器人,讓 {assistant} 可以在 Telegram 上傳送及接收訊息。`},discord:{label:`Discord`,disconnectedPitch:`連線 Discord 機器人,讓 {assistant} 可以在您的伺服器中讀取及回覆。`,disconnectMessage:`這會清除此助理儲存的 Discord 機器人權杖,且機器人將停止接收訊息。您的伺服器會保留該機器人,直到您從伺服器中移除為止。`},email:{label:`電子郵件`},phone:{label:`電話通話`,disconnectMessage:`這會清除此助理儲存的 Twilio 憑證。您可以稍後重新連線。`,disconnectedPitch:`連線您的 Twilio 帳號,讓 {assistant} 可以撥打及接聽電話。`}},h={apiKeyConfigured:`{providerName} API 金鑰已設定。若要重新設定,請執行 <code>{setupSkill}</code> 技能。`,connecting:`正在連線至 Cadet 平台…`,openProvider:`開啟 {providerName}`,platformLoginNotice:`登入 Cadet 平台以管理電子郵件設定。`,providerLabel:`供應商`,saveSuccessToast:`電子郵件設定已儲存。`,setupInstructions:`透過助理 CLI 設定 {providerName}:要求助理執行 <code>{setupSkill}</code> 技能。它會引導您儲存 API 金鑰、偵測網域,以及 (選用) 設定傳入 Webhook。`,subtitle:`設定您的助理如何傳送及接收電子郵件`,title:`電子郵件`},g={addressLabel:`地址`,checkingSubscription:`正在檢查訂閱…`,completeSetup:`完成網域設定`,completingSetup:`正在完成設定…`,copiedAddress:`已複製`,copyAddressAriaLabel:`複製地址`,copyAddressFailed:`無法複製地址。`,domainLabel:`網域`,domainReleaseFailedToast:`釋出網域失敗。`,domainReleasedToast:`網域已釋出。`,emailRemoveFailedToast:`移除電子郵件地址失敗。`,emailRemovedToast:`電子郵件地址已移除。`,inboxSetupBody:`助理的地址在助理收件匣中建立,其郵件也在那裡閱讀。開啟收件匣以選擇地址。`,inboxSetupButton:`開啟助理收件匣`,inboxSetupTitle:`在助理收件匣中設定電子郵件`,releaseConfirm:`釋出`,releaseDomainAriaLabel:`釋出網域`,releaseDomainConfirmMessage:`您確定要釋出 <code>{domain}</code> 嗎?此子網域將可供其他人認領。`,releaseDomainTitle:`釋出網域`,removeAddressFirstToast:`請先移除電子郵件地址。`,removeConfirm:`移除`,removeEmailAriaLabel:`移除電子郵件地址`,removeEmailConfirmMessage:`您確定要移除 <code>{address}</code> 嗎?您的助理將無法再透過此地址傳送或接收電子郵件。`,removeEmailTitle:`移除電子郵件地址`,repairConfirmMessage:`將保留您現有的電子郵件地址。設定會為 <code>{domain}</code> 聯絡電子郵件供應商和 DNS。`,repairConfirmTitle:`完成網域設定?`,repairFailedFallback:`無法開始網域設定。請稍後再試。`,repairNoticeBody:`您的電子郵件地址已就緒,但此網域尚未在電子郵件供應商處設定。完成設定後即可開始傳送和接收郵件。`,repairNoticeTitle:`需要設定網域`,repairStartedToast:`已開始網域設定。驗證通常需要幾分鐘。`,retry:`重試`,subscriptionWarningBody:`我們無法連線至帳務服務。以下表單假設您的組織已啟用受管理的電子郵件。如果未啟用,註冊網域將會失敗。`,subscriptionWarningTitle:`無法驗證訂閱狀態`,usageSummary:`今日已傳送 {sent} / {limit} · 已接收 {received}`},_={title:`郵件設定`,description:`助理的地址以及誰可以傳訊息給它。`},v={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailCloudContent:g,emailSettingsModal:_};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,v as default,h as emailChannelSection,g as emailCloudContent,_ as emailSettingsModal,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{C as t,CC as n,D as r,E as i,Fd as a,Ff as o,Fg as s,Fi as c,Fy as l,G as u,Gp as d,Gv as f,Gx as p,HS as m,IS as h,Ii as g,Is as _,JS as v,Jh as y,Ju as b,Kh as x,Kp as S,Kv as C,Mi as w,Nv as T,O as E,OC as D,OS as O,Pf as k,Q as A,QS as j,RS as M,S as N,T as P,TC as F,Ti as I,Ts as L,Up as R,Uv as ee,Wv as z,Xf as B,Xh as te,YS as V,Yf as H,Yh as U,Z as ne,Zf as re,_c as ie,b as ae,ca as oe,da as se,dc as ce,dp as le,eS as ue,fC as W,fa as de,fc as fe,gC as pe,gc as me,gh as he,hc as ge,iC as _e,kS as ve,kx as ye,lC as be,la as xe,lp as Se,mS as Ce,mc as we,mn as Te,nC as Ee,nS as De,pc as Oe,qf as ke,qh as Ae,qp as je,rc as Me,th as Ne,tu as Pe,uC as G,uS as Fe,up as Ie,vc as Le,wS as Re,ws as ze,x as Be,y as Ve,yr as He,zS as Ue}from"./app-CGffgaON.js";import{_ as We,d as Ge,f as Ke,h as qe,n as Je,t as Ye,x as Xe}from"./react-BJ4PZBJN.js";import{E as Ze,Jn as K,Zn as q,er as Qe,w as J}from"./vendor-CezcraPH.js";import{Dn as $e,Rt as et,Yn as tt,Zr as nt,br as rt,fr as it,qi as at,qn as ot,vt as st,zi as ct}from"./icons-Dwi7aA1Y.js";import{t as lt}from"./detail-card-DXYh92lS.js";import{a as ut,i as dt,n as ft,o as pt,r as mt,t as ht}from"./use-channel-trust-floors-Dw7093F3.js";import{t as Y}from"./mutation-error-oXzAul2s.js";import{a as gt,i as _t,n as vt,r as yt,t as bt}from"./use-invite-link-dialog-DwZSXJdy.js";import{t as xt}from"./use-side-list-room-BPMo-0-m.js";import{i as St,r as Ct}from"./service-form-controls-BzzepR1w.js";var X=e(Xe(),1);function wt(){let{channelId:e}=qe(),t=Ke(),{search:n}=Ge();return{selected:e,select:(0,X.useCallback)(e=>{t({pathname:`/assistant/channels/${encodeURIComponent(e)}`,search:n},{replace:!0})},[t,n])}}var Z=Ye();function Tt({channels:e,pluginChannels:t=[],selectedKey:n,onSelect:r}){return(0,Z.jsx)(G.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Z.jsx)(G.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.map(e=>(0,Z.jsx)(Et,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key)),t.map(e=>(0,Z.jsx)(Dt,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key))]})})})}function Et({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=se(e.key),a=r?`Connected`:`Not connected`;return(0,Z.jsx)(pe,{asChild:!0,active:t,"aria-label":`${i}, ${a}`,children:(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Z.jsx)(oe,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,Z.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,Z.jsx)(_e,{tone:r?`positive`:`neutral`,children:a})})]})})}function Dt({channel:e,selected:t,onClick:n}){let{t:r}=J(`channels`);return(0,Z.jsx)(pe,{asChild:!0,active:t,"aria-label":r(`channelAdapterList.pluginChannelAria`,{channel:e.label}),children:(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Z.jsx)(xe,{icon:e.icon,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:e.label}),(0,Z.jsx)(et,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`})]})})}function Ot({icon:e,title:t,description:n,action:r,className:i}){return(0,Z.jsxs)(`div`,{className:D(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,Z.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,Z.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,Z.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function kt({mode:e,onChange:t}){let{t:n}=J(`common`);return(0,Z.jsx)(`div`,{className:`max-w-[280px]`,children:(0,Z.jsx)(m,{ariaLabel:n(`serviceCard.modeToggleAriaLabel`),value:e,onChange:t,items:[{value:`managed`,label:n(`serviceCard.managedLabel`)},{value:`your-own`,label:n(`serviceCard.yourOwnLabel`)}]})})}function At({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,Z.jsxs)(lt,{id:e,title:t,subtitle:n,accessory:(0,Z.jsx)(kt,{mode:r,onChange:i}),children:[(0,Z.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Z.jsx)(`div`,{className:`mt-4`,children:a})]})}function jt(e,t){return e===`managed`||e===`your-own`?e:t}function Mt(){let{t:e}=J(`channels`),t=u(),n=Ne(),{data:r}=q({...b(),enabled:n}),i=r?.results?.[0]?.handle,o=c.use.emailRootDomain(),s=he(),[d,f]=(0,X.useState)(()=>s===`gated`?`your-own`:jt(Fe(L,`managed`),`managed`)),[p,m]=(0,X.useState)(()=>{let e=Fe(ze,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{cloudAssistantId:v,error:y}=g(t,s===`full`&&d===`managed`),x=v??(y?t:null),S=q({queryKey:[`byoEmailCredential`,t,p],queryFn:async()=>{let{data:e}=await T({path:{assistant_id:t},body:{service:p,field:`api_key`},throwOnError:!0});return e},enabled:d===`your-own`||s===`gated`,staleTime:6e4,retry:De,meta:{errorContext:`byo_email_credential_check`}});(0,X.useEffect)(()=>{S.error&&ue(S.error,{context:`byo_email_credential_check`,bestEffort:!0})},[S.error]);let C=S.data?.hasSecret===!0,E=w(ye.use.name()??``),{data:D}=q({...a(),enabled:n&&s===`full`}),O=s===`full`&&d===`managed`&&x!==null&&!!D?.entitlements&&D.entitlements.managed_email!==!0,k=(0,X.useCallback)(e=>{f(e),Ce(L,e)},[]),A=(0,X.useCallback)(()=>{Ce(ze,p),Ue.success(e(`emailChannelSection.saveSuccessToast`))},[p,e]),j=(0,X.useMemo)(()=>_.find(e=>e.id===p)??_[0],[p]),M=(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(it,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:(0,Z.jsx)(Ze,{i18nKey:`emailChannelSection.setupInstructions`,ns:`channels`,values:{providerName:j.displayName,setupSkill:j.setupSkill},components:{code:(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})}),(0,Z.jsxs)(l,{href:j.docsUrl,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[e(`emailChannelSection.openProvider`,{providerName:j.displayName}),(0,Z.jsx)(nt,{className:`h-3 w-3`})]})]})]}),N=(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`emailChannelSection.providerLabel`)}),(0,Z.jsx)(h,{value:p,onChange:e=>{(e===`mailgun`||e===`resend`)&&m(e)},options:_.map(e=>({value:e.id,label:e.displayName}))})]}),C?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-weak)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,Z.jsx)(ct,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Z.jsx)(`span`,{children:(0,Z.jsx)(Ze,{i18nKey:`emailChannelSection.apiKeyConfigured`,ns:`channels`,values:{providerName:j.displayName,setupSkill:j.setupSkill},components:{code:(0,Z.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})})]}),(0,Z.jsxs)(l,{href:j.docsUrl,tone:`default`,className:`inline-flex items-center gap-1 text-body-small-default`,glyph:!1,children:[e(`emailChannelSection.openProvider`,{providerName:j.displayName}),(0,Z.jsx)(nt,{className:`h-3 w-3`})]})]}):M,(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Z.jsx)(Ct,{onClick:A,disabled:!1})})]});return s===`gated`?(0,Z.jsx)(St,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),children:N}):(0,Z.jsx)(At,{id:`email`,title:O?E.title:e(`emailChannelSection.title`),subtitle:O?E.subtitle:e(`emailChannelSection.subtitle`),mode:d,onModeChange:k,children:d===`managed`?(0,Z.jsx)(`div`,{className:`space-y-4`,children:s===`disabled`?(0,Z.jsx)(Te,{children:e(`emailChannelSection.platformLoginNotice`)}):x===null?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(tt,{className:`h-4 w-4 animate-spin`}),e(`emailChannelSection.connecting`)]}):(0,Z.jsx)(ut,{assistantId:x,assistantHandle:i,emailRootDomain:o})}):N})}function Nt({health:e}){let{Icon:t,label:n,tone:r}=de(e);return(0,Z.jsx)(_e,{tone:r,leftIcon:(0,Z.jsx)(t,{}),children:n})}function Pt({address:e,health:t,pending:r,onDisconnect:i}){let{t:a}=J(`channels`);return(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(Nt,{health:t}),e?(0,Z.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,Z.jsx)(`div`,{className:`ml-auto`,children:(0,Z.jsx)(n,{type:`button`,variant:`danger`,onClick:i,disabled:!i||r,children:a(r?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}function Ft({children:e}){let{t}=J(`channels`);return(0,Z.jsxs)(G.Root,{children:[(0,Z.jsx)(G.Header,{children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`img`,{src:I(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,Z.jsx)(W,{as:`span`,variant:`body-medium-default`,children:t(`slackChannelCard.setupHeading`)})]})}),(0,Z.jsx)(G.Body,{children:e})]})}ne.map(e=>e.riskThreshold);var It=[`none`,`low`];function Lt(e){if(e!==void 0)return e===`none`?`none`:`low`}var Rt={none:{label:A(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:A(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:A(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:A(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Q=[`trusted_contact`,`unverified_contact`,`unknown`];function zt(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Bt(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Vt(e,t,n){let r;for(let i of e)Bt(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var Ht=`__default__`;function Ut({color:e}){return(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Wt({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let{t:o}=J(`channels`),s=Lt(e??t??void 0),c=Lt(t??void 0)??null,l=It.map(e=>({value:e,label:Rt[e].label,icon:(0,Z.jsx)(Ut,{color:Rt[e].dotColor}),suffix:e===c?(0,Z.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:o(`tierPicker.defaultSuffix`)}):void 0,tooltip:Rt[e].sublabel}));return l.unshift({value:Ht,label:`Default`,icon:(0,Z.jsx)(Ut,{color:`transparent`}),tooltip:`follows the default level`}),(0,Z.jsx)(h,{value:s??``,onChange:e=>{e===Ht||e===c?i():r(e)},options:l,placeholder:o(`tierPicker.defaultPlaceholder`),disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Gt(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Kt(e){return e.filter(e=>Gt(e)!==`dm`)}function qt(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Gt(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Jt(e){let t={public:0,private:0,dm:0};for(let n of e)t[Gt(n)]+=1;return t}function Yt(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Xt=[{value:null,labelKey:`slackChannelList.filterAll`},{value:`public`,labelKey:`slackChannelList.filterPublic`},{value:`private`,labelKey:`slackChannelList.filterPrivate`}],Zt={public:rt,private:ot},Qt=100,$t=new Set;function en({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:u=$t,onTierChange:d,onTierReset:f}){let{t:p}=J(`channels`),[m,h]=(0,X.useState)(``),[g,_]=(0,X.useState)(null),v=(0,X.useMemo)(()=>Kt(n??[]),[n]),y=(0,X.useMemo)(()=>qt(v,m,g),[v,m,g]),b=(0,X.useMemo)(()=>Jt(v),[v]);return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,Z.jsx)(W,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Z.jsx)(Ze,{i18nKey:`slackChannelList.presenceHint`,ns:`channels`,values:{handle:t??`@${e}`,assistant:e},components:{invite:(0,Z.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`}),remove:(0,Z.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`})}})}),r?(0,Z.jsx)(W,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:p(`slackChannelList.loading`)}):i?(0,Z.jsx)(W,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--system-negative-strong)]`,children:p(`slackChannelList.loadFailed`)}):v.length===0?(0,Z.jsx)(Ot,{icon:(0,Z.jsx)(rt,{className:`h-6 w-6`}),title:p(`slackChannelList.emptyTitle`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,Z.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,Z.jsx)(j,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:p(`slackChannelList.searchPlaceholder`),"aria-label":p(`slackChannelList.searchAria`),leftIcon:(0,Z.jsx)(st,{className:`h-4 w-4`}),fullWidth:!0})}),(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":p(`slackChannelList.filterGroupAria`),children:Xt.map(({value:e,labelKey:t})=>{let n=g===e,r=e===null?v.length:b[e];return(0,Z.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>_(e),className:D(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:p(t,{count:r})},e??`all`)})})]}),y.length===0?(0,Z.jsx)(W,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:p(`slackChannelList.noMatches`)}):y.length>Qt?(0,Z.jsx)(`div`,{className:`h-96`,children:(0,Z.jsx)(ve,{items:y,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,Z.jsx)(tn,{channel:t,pending:u.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>d?.(t.id,e),onReset:()=>f?.(t.id)}),className:`h-full`})}):(0,Z.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:y.map(e=>(0,Z.jsx)(tn,{channel:e,pending:u.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>d?.(e.id,t),onReset:()=>f?.(e.id)},e.id))})]})]})}function tn({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let{t:l}=J(`channels`),u=Gt(e);if(u===`dm`)return null;let d=Zt[u],f=Yt(e),p=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,Z.jsx)(Re,{className:p,leading:(0,Z.jsx)(d,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:f??void 0,trailing:(0,Z.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Z.jsx)(Wt,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":l(`slackChannelList.accessAria`,{channel:e.name})})})}):(0,Z.jsx)(Re,{className:p,leading:(0,Z.jsx)(d,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:f==null?void 0:(0,Z.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:f})})}function nn(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function rn({defaultTier:e}){let{t}=J(`channels`),n=Lt(e??void 0)??null;return(0,Z.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,Z.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...It].reverse().map(e=>{let r=Rt[e];return(0,Z.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(Ut,{color:r.dotColor}),(0,Z.jsx)(W,{as:`span`,variant:`body-small-emphasised`,children:r.label}),e===n?(0,Z.jsx)(W,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:t(`slackChannelTierLegend.defaultMarker`)}):null]}),(0,Z.jsx)(W,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:nn(e)})]},e)})})})}var an=[{bucket:`channels`,icon:rt,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:$e,title:`Direct messages`,description:`One-on-one DMs`}];function on({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:i,pendingBuckets:a,onBucketChange:o,onBucketReset:s}){let{t:c}=J(`channels`);return(0,Z.jsxs)(G.Root,{children:[(0,Z.jsx)(G.Header,{children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[c(`slackChannelTypeDefaults.heading`),(0,Z.jsx)(W,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Z.jsx)(Ze,{i18nKey:`slackChannelTypeDefaults.subtitle`,ns:`channels`,values:{assistant:e},components:{trustRules:(0,Z.jsx)(Je,{to:p.settings.privacy,className:Ee()})}})})]})}),(0,Z.jsx)(G.Body,{className:`py-1`,children:an.map(({bucket:e,icon:l,title:u,description:d})=>{let f=e===`dm`?n?.channels??t:t;return(0,Z.jsx)(Re,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,Z.jsx)(l,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:u,subtitle:d,trailing:(0,Z.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Z.jsx)(Wt,{tier:n?.[e],defaultTier:f,disabled:r||i||a.has(e),onTierChange:t=>o(e,t),onReset:()=>s(e),"aria-label":c(`slackChannelTypeDefaults.bucketAria`,{bucket:u})})})},e)})}),(0,Z.jsx)(G.Footer,{className:`p-0`,children:(0,Z.jsx)(rn,{defaultTier:t})})]})}var sn=`0.11.0`;function cn(){return s(sn)}var ln=new Set([404,501]);function un(e){let t=k(e);return t!==void 0&&ln.has(t)}function dn(e,t,n){return Q.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function fn(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function pn(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function mn(e,t,n){let r=pn(e,t);return Q.map(e=>({selector:r,contactType:e,threshold:n}))}function hn({assistantId:e,adapter:t}){let n=Qe(),r=cn()&&!!e,i=(0,X.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,X.useMemo)(()=>Le(i),[i]),o=(0,X.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),s=q({...ie(i),enabled:r}),c=s.data?.cells,l=(0,X.useMemo)(()=>c?zt(c,t):void 0,[c,t]),u=(0,X.useMemo)(()=>c?{channels:Vt(c,t,`channels`),dm:Vt(c,t,`dm`)}:void 0,[c,t]),d=q({queryKey:o,queryFn:async()=>{let{data:e}=await re({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),f=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},p=K({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(dn(t,e,n).map(e=>B({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>f(n=>fn(n,t,e),dn(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),Y(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),m=K({mutationFn:async({channelExternalId:e})=>{await Promise.all(Q.map(n=>H({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>f(n=>fn(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),Y(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),h=K({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(mn(t,e,n).map(e=>B({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>f(n=>Bt(n,t,e),mn(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),Y(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:o})}}),g=K({mutationFn:async({bucket:e})=>{let n=pn(t,e);await Promise.all(Q.map(e=>H({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>f(n=>Bt(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),Y(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:o})}}),_=(0,X.useMemo)(()=>{let e=new Set;return p.isPending&&p.variables&&e.add(p.variables.channelExternalId),m.isPending&&m.variables&&e.add(m.variables.channelExternalId),e},[p.isPending,p.variables,m.isPending,m.variables]),v=(0,X.useMemo)(()=>{let e=new Set;return h.isPending&&h.variables&&e.add(h.variables.bucket),g.isPending&&g.variables&&e.add(g.variables.bucket),e},[h.isPending,h.variables,g.isPending,g.variables]);return!r||s.isError&&un(s.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:l,defaultCellTier:d.data,bucketTiers:u,pendingChannelIds:_,pendingBuckets:v,isLoading:s.isPending,isError:s.isError,onTierChange:(e,t)=>p.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{l?.[e]!==void 0&&m.mutate({channelExternalId:e})},onBucketChange:(e,t)=>h.mutate({bucket:e,tier:t}),onBucketReset:e=>{u?.[e]!==void 0&&g.mutate({bucket:e})}}}function gn({assistantId:e,assistantDisplayName:t,slackHandle:n}){let{t:r}=J(`channels`),i=q({...P(e),enabled:!!e,select:e=>e.channels}),a=hn({assistantId:e,adapter:`slack`}),o=q({queryKey:[`thresholds`,e],queryFn:()=>He(e),enabled:a.supported&&!!e,staleTime:3e4}).data?.interactive??null,s=a.defaultCellTier===void 0?null:a.defaultCellTier??o,c=(0,Z.jsx)(en,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:a.supported,defaultTier:s,channels:i.data,loading:i.isPending,error:i.isError,tierOverrides:a.tierOverrides,tierOverridesLoading:a.isLoading,tierOverridesError:a.isError,pendingChannelIds:a.pendingChannelIds,onTierChange:a.onTierChange,onTierReset:a.onTierReset});return!a.supported||!a.onBucketChange||!a.onBucketReset?(0,Z.jsx)(G.Root,{noPadding:!0,clipContents:!0,children:c}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[a.isError?(0,Z.jsx)(be,{tone:`error`,children:r(`slackChannelSection.overridesLoadFailed`)}):null,(0,Z.jsx)(on,{assistantName:t,globalDefaultTier:o,bucketTiers:a.bucketTiers,loading:a.isLoading,error:a.isError,pendingBuckets:a.pendingBuckets,onBucketChange:a.onBucketChange,onBucketReset:a.onBucketReset}),(0,Z.jsx)(G.Root,{noPadding:!0,clipContents:!0,children:(0,Z.jsx)(O.Root,{type:`single`,collapsible:!0,children:(0,Z.jsxs)(O.Item,{value:`per-channel-overrides`,children:[(0,Z.jsxs)(O.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,Z.jsx)(W,{as:`span`,variant:`body-small-emphasised`,children:r(`slackChannelSection.perChannelOverrides`)}),(0,Z.jsx)(at,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(O.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:c})]})})})]})}function _n({slackHandle:e,health:t,disconnectPending:r=!1,onDisconnect:i,children:a}){let{t:o}=J(`channels`);return(0,Z.jsxs)(G.Root,{children:[(0,Z.jsx)(G.Header,{children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`img`,{src:I(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,Z.jsx)(W,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,Z.jsx)(Nt,{health:t}),(0,Z.jsx)(`div`,{className:`ml-auto`,children:(0,Z.jsx)(n,{type:`button`,variant:`ghost`,onClick:i,disabled:!i||r,children:o(r?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}),(0,Z.jsx)(G.Body,{children:a})]})}function vn({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){let{t:r}=J(`channels`);return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Z.jsx)(W,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:r(`slackThreadBehavior.heading`)}),(0,Z.jsxs)(V,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":r(`slackThreadBehavior.selectAria`),children:[(0,Z.jsx)(v,{value:`mention_only`,label:r(`slackThreadBehavior.mentionsOnly`),helperText:r(`slackThreadBehavior.mentionsOnlyHelp`)}),(0,Z.jsx)(v,{value:`mention_then_thread`,label:r(`slackThreadBehavior.followThreads`),helperText:r(`slackThreadBehavior.followThreadsHelp`)})]})]})}function yn({onSave:e}){let{t}=J(`channels`),[r,i]=(0,X.useState)(``),[a,o]=(0,X.useState)(``),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(null),d=r.trim().length>0&&a.trim().length>0&&!s;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Z.jsx)(j,{label:t(`twilioCredentialEntry.accountSid`),type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:s,fullWidth:!0}),(0,Z.jsx)(j,{label:t(`twilioCredentialEntry.authToken`),type:`password`,value:a,onChange:e=>o(e.target.value),placeholder:t(`twilioCredentialEntry.authTokenPlaceholder`),disabled:s,fullWidth:!0}),l?(0,Z.jsx)(`p`,{className:`text-label-small-default`,style:{color:`var(--system-negative-strong)`},children:l}):null,(0,Z.jsx)(`div`,{children:(0,Z.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!d)){c(!0),u(null);try{await e(r.trim(),a.trim()),i(``),o(``)}catch(e){u(e instanceof Error?e.message:`Failed to save`)}finally{c(!1)}}},disabled:!d,children:t(s?`twilioCredentialEntry.saving`:`twilioCredentialEntry.save`)})})]})}function bn({channel:e,assistantId:t,assistantName:a,assistantDisplayName:o,pending:s,initialManualEntry:c=!1,onSetup:l,onDisconnect:u,onSaveTelegramToken:d,telegramSaveStatus:f,telegramSaveError:p,onSaveDiscordToken:m,discordSaveStatus:h,discordSaveError:g=null,discordInviteUrl:_,onSaveSlackConfig:v,slackSaveStatus:y,slackSaveError:b,slackThreadMode:x,slackThreadModePending:S=!1,onSlackThreadModeChange:C,onSaveTwilioCredentials:w,policy:T,policySaving:D=!1,policyLoading:O=!1,policyError:k=!1,onPolicyChange:A}){let{t:j}=J(`channels`),M=e.status===`incomplete`,[N,P]=(0,X.useState)(c),F=e.key===`discord`&&N&&h===`success`,I=e.configured&&!F;if(e.key===`email`)return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(Mt,{}),I&&A?(0,Z.jsx)(lt,{children:(0,Z.jsx)(pt,{assistantDisplayName:o,policy:T,saving:D,loading:O,error:k,onChange:A})}):null]});if(e.key===`slack`)return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[I?(0,Z.jsx)(_n,{slackHandle:e.address,health:e.health,disconnectPending:s,onDisconnect:u,children:(0,Z.jsx)(vn,{threadMode:x,threadModePending:S,onThreadModeChange:C})}):(0,Z.jsx)(Ft,{children:(0,Z.jsx)(E,{assistantId:t,assistantName:a,onSave:v,saveStatus:y,saveError:b})}),I?(0,Z.jsx)(gn,{assistantId:t,assistantDisplayName:o,slackHandle:e.address}):null]});let L=te[e.key];return(0,Z.jsx)(`div`,{className:`flex flex-col gap-4`,children:I?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Pt,{health:e.health,address:e.address,pending:s,onDisconnect:u}),L.hasTrustFloorControl&&A?(0,Z.jsx)(pt,{assistantDisplayName:o,policy:T,saving:D,loading:O,error:k,onChange:A}):null]}):N&&e.canManualEntry&&L.credentialForm?(e=>{switch(e){case`slack-wizard`:return null;case`telegram-token`:return(0,Z.jsx)(i,{assistantId:t,assistantName:a,saveStatus:f,saveError:p,onSave:d});case`discord-token`:return(0,Z.jsx)(r,{assistantId:t,assistantName:a,saveStatus:h,saveError:g,onSave:m,..._?{inviteUrl:_}:{}});case`twilio-credentials`:return(0,Z.jsx)(yn,{onSave:w});default:return e}})(L.credentialForm):(0,Z.jsx)(Ot,{icon:(0,Z.jsx)(oe,{channelId:e.key,className:`h-6 w-6`}),title:j(M?`channelPanel.incompleteTitle`:`channelPanel.disconnectedTitle`,{channel:se(e.key)}),description:M?e.warning??j(`channelPanel.incompleteDescription`,{channel:se(e.key)}):L.disconnectedPitchKey?j(L.disconnectedPitchKey,{assistant:o}):void 0,action:(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,Z.jsx)(n,{type:`button`,variant:`outlined`,onClick:l,disabled:!l||s,children:j(s?`channelPanel.opening`:M?`channelPanel.finishSetup`:`channelPanel.setUp`)}),e.canManualEntry&&L.credentialForm?(0,Z.jsx)(n,{type:`button`,variant:`link`,onClick:()=>P(!0),children:j(`channelPanel.connectManually`)}):null]})})})}var xn=new Set([404,501]),Sn=new Set([401,403]);function Cn(e){let t=k(e);return t!==void 0&&xn.has(t)?`unsupported`:t!==void 0&&Sn.has(t)?`forbidden`:`unreadable`}function wn(e,t,n){let r=e===`unreadable`?t:n;return r?r instanceof Error&&r.message?r.message:`Something went wrong`:null}function Tn(e,t){let n=Qe(),r={assistant_id:e},i=q({...we({path:r}),enabled:!!e,retry:o}),a=()=>n.invalidateQueries({queryKey:ge({path:r})}),s=K({...Oe(),onSuccess:a}),c=K({...me(),onSuccess:a}),l=i.data?.sources?.find(e=>e.source===t),u;u=i.isError?Cn(i.error):i.isPending?`loading`:l?l.state:`none`;let d=wn(u,i.error,s.error??c.error);return{status:u,paths:l?.routes?.map(e=>({path:e.publicPath,approvalGoverned:e.signer!==`cadet`,deliversInbound:e.deliversInbound===!0}))??[],deciding:s.isPending||c.isPending,approve:()=>{l?.digest&&s.mutate({path:{...r,source:t},body:{digest:l.digest}})},revoke:()=>c.mutate({path:{...r,source:t}}),error:d}}var En=`plugin`;function Dn(e){let t=Qe(),n=ft(),r=(0,X.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,X.useMemo)(()=>fe(r),[r]),a=q({...ce(r),enabled:n&&!!e,select:dt}),o=K({mutationFn:t=>mt(e,En,t),onSuccess:()=>t.invalidateQueries({queryKey:i}),onError:Y(`Failed to save channel policy`)}),s=(0,X.useCallback)(e=>{o.mutate(e)},[o]);return n?{policy:a.data?.find(e=>e.channelType===En)?.policy,isLoading:a.isPending,isError:a.isError,isSaving:o.isPending,onChange:s}:{policy:void 0,isLoading:!1,isError:!1,isSaving:!1,onChange:void 0}}function On({channel:e,assistantId:t,assistantDisplayName:r}){let{t:i}=J(`channels`),a=Ke(),o=Tn(t,e.plugin),s=Dn(t);return(0,Z.jsxs)(`div`,{className:`relative flex flex-col items-center gap-3 py-10 text-center`,children:[(0,Z.jsx)(n,{className:`absolute top-0 right-0`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(et,{}),tooltip:i(`pluginChannelPanel.navigateToPluginPage`),"aria-label":i(`pluginChannelPanel.navigateToPluginPage`),onClick:()=>a(`/assistant/plugins/${e.plugin}`)}),(0,Z.jsx)(xe,{icon:e.icon,className:`h-8 w-8 text-[color:var(--content-secondary)]`}),(0,Z.jsx)(`h3`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e.label}),e.description?(0,Z.jsx)(`p`,{className:`max-w-[420px] text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e.description}):null,(0,Z.jsx)(kn,{channel:e,ingress:o}),s.onChange?(0,Z.jsx)(`div`,{className:`w-full max-w-[420px] text-left`,children:(0,Z.jsx)(pt,{assistantDisplayName:r,policy:s.policy,saving:s.isSaving,loading:s.isLoading,error:s.isError,onChange:s.onChange})}):null]})}function kn({channel:e,ingress:t}){let{t:n}=J(`channels`);switch(t.status){case`loading`:return(0,Z.jsx)($,{children:n(`pluginChannelPanel.ingressLoading`,{channel:e.label})});case`unsupported`:return(0,Z.jsx)($,{children:n(`pluginChannelPanel.ingressUnsupported`)});case`forbidden`:return(0,Z.jsx)($,{children:n(`pluginChannelPanel.ingressForbidden`)});case`unreadable`:return(0,Z.jsxs)($,{children:[n(`pluginChannelPanel.ingressUnreadable`,{channel:e.label}),t.error?` ${t.error}`:``]});case`none`:return(0,Z.jsx)($,{children:n(`pluginChannelPanel.ingressNone`,{channel:e.label})});case`pending`:case`approved`:return(0,Z.jsx)(An,{ingress:t})}}function An({ingress:e}){let{t}=J(`channels`),r=e.status===`approved`;return(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,Z.jsx)(_e,{tone:r?`positive`:`neutral`,children:t(r?`pluginChannelPanel.ingressApprovedTag`:`pluginChannelPanel.ingressPendingTag`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(n,{onClick:r?e.revoke:e.approve,disabled:e.deciding,variant:r?`outlined`:`primary`,children:t(r?`pluginChannelPanel.revokeChannel`:`pluginChannelPanel.approveChannel`)}),(0,Z.jsx)(F,{content:t(`pluginChannelPanel.approveChannelInfo`),children:(0,Z.jsx)(`span`,{tabIndex:0,className:`inline-flex cursor-default p-0.5 text-[color:var(--content-secondary)]`,"aria-label":t(`pluginChannelPanel.approveChannelInfo`),children:(0,Z.jsx)(it,{className:`h-4 w-4`,"aria-hidden":`true`})})})]}),e.error?(0,Z.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:e.error}):null]})}function $({children:e}){return(0,Z.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}function jn({assistantId:e,assistantName:t,channels:n,pluginChannels:r=[],pendingChannelKey:i=null,slackThreadMode:a,slackThreadModePending:o=!1,channelPolicies:s,policySavingKey:c=null,policiesLoading:l=!1,policiesError:u=!1,onChannelPolicyChange:d,onSetup:f,onDisconnect:p,onSaveTelegramToken:m,telegramSaveStatus:h,onSaveDiscordToken:g,discordSaveStatus:_,discordSaveError:v=null,discordInviteUrl:y,telegramSaveError:b,onSaveSlackConfig:x,slackSaveStatus:S,slackSaveError:C,onSlackThreadModeChange:w,onSaveTwilioCredentials:T,initialChannel:E=null}){let{t:D}=J(`channels`),{selected:O,select:k}=wt(),[A,j]=(0,X.useState)(null),{paneRef:N,hasRoomForList:P,drawerOpen:F,openDrawer:I,closeDrawer:L}=xt(),[R]=(0,X.useState)(E);(0,X.useEffect)(()=>{R&&k(R)},[R,k]);let ee=Me(t),z=A?te[A]:null,B=e=>{k(e),L()},V=r.find(e=>e.key===O),H=V?void 0:n.find(e=>e.key===O)??n[0];if(!H&&!V)return null;let U=V?V.key:H.key,ne=V?(0,Z.jsx)(On,{channel:V,assistantId:e,assistantDisplayName:ee},V.key):(0,Z.jsx)(bn,{channel:H,assistantId:e,assistantName:t,assistantDisplayName:ee,pending:i===H.key,initialManualEntry:R===H.key,onSetup:f?()=>f(H.key,H.status===`incomplete`):void 0,onDisconnect:p&&H.canDisconnect?()=>j(H.key):void 0,onSaveTelegramToken:m,telegramSaveStatus:h,onSaveDiscordToken:g,discordSaveStatus:_,discordSaveError:v,...y?{discordInviteUrl:y}:{},telegramSaveError:b,onSaveSlackConfig:x,slackSaveStatus:S,slackSaveError:C,slackThreadMode:a,slackThreadModePending:o,onSlackThreadModeChange:w,onSaveTwilioCredentials:T,policy:s?.[H.key],policySaving:c===H.key,policyLoading:l,policyError:u,onPolicyChange:d?e=>d(H.key,e):void 0},H.key);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{ref:N,className:`flex min-h-0 flex-1 overflow-hidden ${P?`flex-row gap-6`:`flex-col gap-4`}`,children:[P?(0,Z.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,Z.jsx)(Tt,{channels:n,pluginChannels:r,selectedKey:U,onSelect:B})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`flex items-center`,children:(0,Z.jsx)(gt,{onClick:I})}),(0,Z.jsx)(_t,{open:F,onClose:L,title:D(`assistantChannelsList.drawerTitle`),children:(0,Z.jsx)(Tt,{channels:n,pluginChannels:r,selectedKey:U,onSelect:B})})]}),(0,Z.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:U===`slack`||U===`email`?ne:(0,Z.jsx)(lt,{children:ne})})]}),(0,Z.jsx)(M,{open:A!==null,title:D(`assistantChannelsList.disconnectTitle`,{channel:z?D(z.labelKey):``}),message:z?.disconnectMessageKey?D(z.disconnectMessageKey):``,confirmLabel:D(`assistantChannelsList.disconnectConfirm`),destructive:!0,onConfirm:()=>{A&&p&&p(A),j(null)},onCancel:()=>j(null)})]})}var Mn=`plugin:`;function Nn(e){let{data:t}=q({...Se({path:{assistant_id:e}}),enabled:!!e,select:e=>e.channels.filter(e=>e.source?.startsWith(Mn)).map(e=>({plugin:e.id,key:U(e.id),label:e.label,description:e.subtitle,icon:e.icon}))});return t??[]}var Pn=`0.11.5-dev.202608242314.38e0513`;function Fn(){return s(Pn)}var In=`0.11.5-dev.202608252008.65007aa`;function Ln(){return s(In)}var Rn={slack:z,telegram:f,discord:ee,email:void 0,phone:C},zn={slack:`useAssistantChannels.setupPrompt.slack`,telegram:`useAssistantChannels.setupPrompt.telegram`,discord:`useAssistantChannels.setupPrompt.discord`,email:`useAssistantChannels.setupPrompt.email`,phone:`useAssistantChannels.setupPrompt.phone`},Bn={slack:`useAssistantChannels.finishPrompt.slack`,telegram:`useAssistantChannels.finishPrompt.telegram`,discord:`useAssistantChannels.finishPrompt.discord`,email:`useAssistantChannels.finishPrompt.email`,phone:`useAssistantChannels.finishPrompt.phone`},Vn=15e3;function Hn({assistantId:e,onStartSetupConversation:n}){let{t:r}=J(`common`),i=Qe(),a=(0,X.useMemo)(()=>({path:{assistant_id:e}}),[e]),o=(0,X.useMemo)(()=>le(a),[a]),s=Fn(),c=Ln(),l=(0,X.useMemo)(()=>Un(s),[s]),u=q({...Ie(a),enabled:!!e,refetchInterval:Vn,select:e=>e.snapshots}),f=(0,X.useMemo)(()=>Wn(u.data??[],l,c),[u.data,l,c]),p=f.some(e=>e.key===`slack`&&e.configured),m=q({...d(a),enabled:p,select:e=>e.threadMode}),h=ht(e),g=(0,X.useCallback)(()=>i.invalidateQueries({queryKey:o}),[i,o]),_=K({mutationFn:async t=>{let n=Rn[t];if(!n)throw Error(`No route clears ${t} credentials.`);await n({path:{assistant_id:e},throwOnError:!0})},onSettled:(n,r,a)=>{g(),a===`slack`&&t(i,e)}}),v=ae({assistantId:e}),y=Be({assistantId:e}),b=q({...R(a),enabled:!!e&&c}),x=N({assistantId:e}),C=Ve({assistantId:e}),w=K({...je(),onSuccess:()=>{i.invalidateQueries({queryKey:S(a)})}}),T=y.mutate,E=(0,X.useCallback)(e=>{T(e)},[T]),D=v.mutate,O=(0,X.useCallback)(e=>{D(e)},[D]),k=x.mutate,A=(0,X.useCallback)((e,t)=>{k({botToken:e,appToken:t})},[k]),j=w.mutate,M=(0,X.useCallback)(t=>{j({path:{assistant_id:e},body:{threadMode:t}})},[j,e]),P=C.mutateAsync,F=(0,X.useCallback)(async(e,t)=>{await P({accountSid:e,authToken:t})},[P]),I=(0,X.useCallback)((e,t=!1)=>{n&&n(r(t?Bn[e]:zn[e]))},[n,r]),L=_.mutate,ee=(0,X.useCallback)(e=>{L(e)},[L]);return{channels:f,pendingChannelKey:_.isPending?_.variables??null:null,slackThreadMode:m.data,slackThreadModePending:w.isPending,channelPolicies:h.policies,policySavingKey:h.savingKey,policiesLoading:h.isLoading,policiesError:h.isError,onChannelPolicyChange:h.onChange,onSetup:n?I:void 0,onDisconnect:ee,onSaveTelegramToken:O,telegramSaveStatus:v.status,telegramSaveError:v.error?.message??null,onSaveDiscordToken:E,discordSaveStatus:y.status,discordSaveError:y.error?.message??null,discordInviteUrl:y.data?.data?.inviteUrl??b.data?.inviteUrl,onSaveSlackConfig:A,slackSaveStatus:x.status,slackSaveError:x.error?.message??null,onSlackThreadModeChange:M,onSaveTwilioCredentials:F}}function Un(e){return e?x:x.filter(e=>e!==`discord`)}function Wn(e,t,n){let r=new Map;for(let t of e)r.set(t.channel,t);return t.map(e=>{let t=r.get(e);return{key:e,status:Gn(t),configured:Ae(t),canDisconnect:Rn[e]!==void 0&&(e!==`discord`||n),canManualEntry:te[e].credentialForm!==void 0&&(e!==`discord`||n),health:t?.health,address:t?.channelHandle??void 0}})}function Gn(e){return e?e.ready?`ready`:e.setupStatus===`not_configured`?`not_configured`:`incomplete`:`not_configured`}function Kn(){let[e,t]=We(),n=e.get(`setup`),r=n&&y(n)?n:null;return(0,X.useEffect)(()=>{r&&t(e=>(e.delete(`setup`),e),{replace:!0})},[r,t]),r}function qn({assistantId:e,onStartSetupConversation:t}){let n=ke.use.a2aChannel(),r=ye.use.name(),i=Kn(),a=bt(e),o=Me(r),s=Hn({assistantId:e,onStartSetupConversation:t});return(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-hidden`,children:[(0,Z.jsx)(jn,{assistantId:e,assistantName:o,initialChannel:i,pluginChannels:Nn(e),...s}),n?(0,Z.jsx)(vt,{onClick:a.open}):null,(0,Z.jsx)(yt,{open:a.isOpen,assistantId:e,onClose:a.close})]})}function Jn(){let e=Ke(),t=u();return(0,Z.jsx)(qn,{assistantId:t,onStartSetupConversation:t=>{Pe(e,{prompt:t})}},t)}export{Jn as ChannelsPageRoute};
@@ -2,4 +2,4 @@ var e={heading:`{count, plural, other {问题}}`},t={saveFailed:`无法保存文
2
2
  {caption}`,removeAria:`移除邮件 {subject}`},Z={noSubject:`(无主题)`,captionReceived:`已接收 · 来自 {name} · {date}`,captionReceivedUndated:`已接收 · 来自 {name}`,captionSent:`已发送 · 发给 {name} · {date}`,captionSentUndated:`已发送 · 发给 {name}`,tooltip:`{subject}
3
3
  {caption}`,openAria:`在收件箱中打开邮件 {subject}`},Q={dropFiles:`拖放文件以附加`},$={addToChat:`添加到聊天`,askAssistantPlaceholder:`询问 {assistantName}`,configureVoice:`配置语音`,endOtherVoiceSession:`结束当前会话并在此开始`,goToVoiceSession:`前往会话`,recording:`正在录音`,sendMessage:`发送消息`,stopGenerating:`停止生成`,transcribing:`正在转录`,transcribingEllipsis:`正在转录…`,typeToSend:`输入消息以发送`,uploadingAttachments:`正在上传附件…`},ee={archived:`[已归档]`,done:`[已完成]`,newChat:`新建聊天`},te={appsTitle:`应用`,backAria:`返回聊天信息`,backTooltip:`聊天信息`,closeAria:`关闭聊天信息`,empty:`此聊天中还没有内容`,filesTitle:`文档与图片`,framesTitle:`相机帧`,loadFailed:`无法加载内容`,loadMore:`加载更多`,openAppAria:`打开 {name}`,openDocumentAria:`打开 {name}`,previewAttachmentAria:`预览 {filename}`,previewFrameAria:`预览相机帧`,seeAll:`查看全部`,seeAllAppsAria:`查看全部应用`,seeAllFilesAria:`查看全部文档与图片`,seeAllFramesAria:`查看全部相机帧`,title:`聊天信息`,retry:`重试`,retrySourceAria:`重试加载{source}`,documentsSource:`文档`,attachmentsSource:`附件`,sourceLoading:`正在加载{source}…`,sourceLoadFailed:`无法加载{source}。`,sourceRefreshFailed:`无法刷新{source}。正在显示已保存的结果。`,sourcePageFailed:`无法加载更多{source}。`,framesUnsupported:`此助手版本不支持摄像头画面分类。`,loadedHistory:`附件仅来自已加载的聊天记录。`},ne={navigationAria:`导航`},re={backAria:`后退 (Ctrl+[)`,forwardAria:`前进 (Ctrl+])`,openNavigationAria:`打开导航`,searchAria:`搜索 (Ctrl+K)`,toggleSidebarAria:`切换侧边栏`},ie={expandImageAria:`展开图片`,expandImageAriaWithAlt:`展开图片:{alt}`,imageFailed:`图片加载失败`,imageFailedWithAlt:`图片加载失败 ({alt})`,loadingImage:`正在加载图片…`,loadingImageWithAlt:`正在加载图片… ({alt})`},ae={connecting:`正在连接…`,connectingStuck:`仍在连接到您的助手 - 似乎卡住了。请重试,如果此问题持续发生,请刷新页面。`,retryNow:`立即重试`,selfHostedUnreachable:`无法连接到您的自托管助手。请确保您的助手正在运行,然后重试。`,tryAgain:`重试`},oe={askTheDoctor:`询问 Doctor`,goToDoctor:`前往 Doctor`,openPage:`打开页面`,suggestionFallback:`建议`,copyCliFix:`复制 CLI 修复命令`},se={applyTo:`应用于`,cancel:`取消`,createTitle:`创建信任规则`,description:`匹配的工具调用将采用此规则的风险级别,因此您的审批容忍度可以自动批准它们。`,editTitle:`编辑信任规则`,narrowerScopeAria:`更窄的范围`,orNarrowScope:`或缩小范围:`,save:`保存`,saveAsNew:`另存为新规则`,saveRule:`保存规则`,saving:`正在保存…`,suggested:`建议:{risk}`,treatAs:`视为`},ce={continue:`继续`,recommended:`推荐`},le={broomAria:`扫帚`,hatchHint:`完成后,您将能够孵化一个新的助手。`,hintAlmostDone:`即将完成…`,hintCleaning:`正在清理您的助手…`,hintWrapping:`正在收尾…`,timeoutBody:`尝试运行 Cadet Doctor 以诊断问题,或<communityLink>向社区寻求帮助</communityLink>。`,timeoutTitle:`清理时间超出预期`,title:`正在清理您的助手…`,warningAria:`警告`},ue={noConversations:`无对话`},de={ariaLabel:`自动压缩已暂停`,message:`自动压缩已暂停 - 长对话可能会溢出。使用 /compact 手动压缩。`},fe={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:`触发器`},pe={draftRestored:`草稿已从您之前的会话中恢复。`,waitingUpload:`{count, plural, other {正在等待 # 个附件上传完成,然后发送。}}`},me={allowMicrophone:`允许麦克风`,openSettings:`打开设置`},he={blockedTitle:`消息未发送。它似乎包含一个 API 密钥。`,body:`在聊天中发送的凭据在聊天记录中可见。请改为安全存储。`,dismiss:`忽略`,sendAnyway:`仍然发送`,storeSecurely:`安全存储`,warningTitle:`这看起来像一个 API 密钥`},ge={submitFailed:`提交确认失败。请重试。`,submitFailedRuleAvailable:`提交确认失败,但您仍然可以创建规则。`},_e={allow:`允许`,deny:`拒绝`,hideDetails:`隐藏详情`,showDetails:`显示详情`,titleFallback:`需要确认`,toolLabel:`工具:`},ve={saveFailed:`保存联系人失败。请重试。`,cancelFailed:`关闭表单失败,请重试。`,recordCancelFailed:`关闭表单失败,请重试。`,recordSaveFailed:`保存联系人失败,请重试。`},ye={addContact:`添加联系人`,addingToContact:`正在为 {name} 添加渠道`,cancel:`取消`,contactSaved:`联系人已保存`,enterAddress:`输入 {channel} 地址`,namePlaceholder:`名称`,notesLabel:`备注`,save:`保存`,saving:`正在保存…`,markVerified:`将此地址标记为已验证`,markVerifiedHelp:`已验证的地址可以向您的助手发送消息。`},be={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}`},xe={clearContext:`清除上下文`,compactsHint:`{name} 自动<br></br>压缩其上下文。`,compactsHintInline:`{name} 自动压缩上下文`,defaultAssistantName:`您的助手`,label:`上下文窗口:`,percentFull:`已使用 {percentage}%`,ringAria:`上下文窗口已使用 {percentage}%`,title:`上下文窗口`,tokensUsed:`已使用 {used} / {max} Token`},Se={archive:`归档`,copyConversation:`复制完整对话`,copyConversationId:`复制对话ID`,delete:`删除`,done:`完成`,forkConversation:`派生对话`,inspect:`分析对话`,markAsDone:`标记为已完成`,markRead:`标记为已读`,markUnread:`标记为未读`,moveToGroup:`移动到群组`,newGroup:`新建群组…`,openInNewWindow:`在新窗口中打开`,pin:`置顶`,refresh:`刷新`,removeFromGroup:`从群组中移除`,rename:`重命名`,reopen:`重新打开`,shareFeedback:`分享反馈`,triggerAriaLabel:`对话操作`,unarchive:`取消归档`,unpin:`取消置顶`},Ce={closeAriaLabel:`关闭`,title:`对话操作`},we={delete:`删除`,downloadPdf:`下载PDF`,exportAsCadet:`导出为.cadet文件`,open:`打开`,optionsFor:`{name}的选项`,pin:`置顶`,share:`分享`,unpin:`取消置顶`},Te={ariaLabel:`对话资产,{count, plural, one {# 个项目} other {# 个项目}}`,ariaLabelUnavailable:`对话资产,无法加载`,ariaLabelUnseen:`对话资产,{count, plural, one {# 个项目} other {# 个项目}}(未查看的更改)`,label:`{count, plural, one {# 个资产} other {# 个资产}}`,labelUnavailable:`无法加载资产`,labelPartial:`部分资源无法加载`,ariaLabelPartial:`对话资源,部分无法加载`,labelLoaded:`{count, plural, other {已加载 # 个资源}}`,ariaLabelLoaded:`对话资源,{count, plural, other {已加载 # 项}}`,ariaLabelLoadedUnseen:`对话资源,{count, plural, other {已加载 # 项}}(有未查看的更改)`},Ee={caption:`尝试以下建议:`},De={sendAria:`发送:{label}`},Oe={copied:`已复制`,copy:`复制`},ke={conversationCopied:`对话ID已复制到剪贴板。`,conversationFailed:`无法复制对话ID。`,groupCopied:`群组ID已复制到剪贴板。`,groupFailed:`无法复制群组ID。`},Ae={balanceAria:`{balance} 积分`,balanceShort:`{balance} 积分`,credits:`积分`},je={loginToAddCredits:`登录Cadet Cloud以添加积分。`},Me={emptyFile:`此文件为空`,summary:`{rows, plural, other {# 行}} x {columns, plural, other {# 列}}`,summaryTruncated:`{rows, plural, other {# 行}} x {columns, plural, other {# 列}}(已截断)`},Ne={skipConfirmTitle:`跳过今日积分限制?`,skipError:`无法跳过今日限制。请重试。`,skipForToday:`今日跳过`,subtitle:`Cadet积分消费已暂停,直到您的限制在{resetPhrase}重置。`,title:`已达到每日积分限制`},Pe={acknowledgment:`我理解相关资产和记忆可能仍会保留`,cancel:`取消`,confirm:`删除`,message:`删除“{title}”?这将永久删除对话及其消息。相关资产和记忆可能仍会保留。此操作无法撤消。`,title:`删除对话`},Fe={label:`此消息已被删除`},Ie={pdfDownloadFailed:`下载PDF失败`},Le={send:`发送`,sending:`正在发送…`},Re={addCommentPlaceholder:`添加评论…`,closeAria:`关闭评论面板`,empty:`暂无评论`,loading:`正在加载评论…`,submitFeedback:`提交反馈`,title:`评论`},ze={assistantMonogram:`V`,authorAssistant:`助手`,authorYou:`您`,deleteCommentAria:`删除评论`,jumpToHighlight:`跳转到高亮文本`,open:`打开`,reopen:`重新打开`,reply:`回复`,replyPlaceholder:`撰写回复…`,resolve:`解决`,resolved:`已解决`},Be={openAria:`打开 {name}`},Ve={openAria:`打开 {name}`},He={close:`关闭`,closeDocumentAria:`关闭文档`,comments:`评论`,commentsWithOpenCount:`{count, plural, other {评论,# 条未解决}}`,export:`导出`,menuAria:`文档选项`,rename:`重命名`,renameFailed:`无法重命名文档。`,renameSave:`保存`,renameTitle:`重命名文档`,saved:`已保存`,saving:`正在保存…`,wordCount:`{count, plural, other {# 个字}}`},Ue={unavailable:`无法打开文档对话。请重试。`,updateRequired:`请更新助手以开始关联对话。`,prepareFailed:`无法准备文档对话。你的编辑仍然保留。`,feedbackPrompt:`请查看并处理我对“{title}”的评论。`,missing:`此文档的对话不可用。你可以继续编辑或开始新的关联对话。`,start:`开始关联对话`,retry:`重试`,back:`返回`},We={exportFailed:`导出 PDF 失败`,notFound:`未找到文档。`},Ge={collapse:`收起`,titleFallback:`动态内容`},Ke={cancel:`取消`,close:`关闭`,defaultError:`导出检查器数据失败。`,descriptionDone:`您的下载应该已自动开始。`,descriptionError:`收集导出数据时发生错误。`,descriptionRunning:`正在收集提供程序负载和标准化上下文。对于长对话,这可能需要一些时间。`,done:`完成`,progressAriaLabel:`导出进度`,retry:`重试`,statusDone:`完成`,statusPackaging:`正在打包 ZIP…`,statusProgress:`已完成 {completed} / {total} 次调用`,titleDone:`导出完成`,titleError:`导出失败`,titleRunning:`正在导出检查器数据`},qe={diffForAria:`{path} 的差异`},Je={failed:`文件下载失败`},Ye={closePreviewAria:`关闭预览`,closeTooltip:`关闭`,download:`下载`,downloadAria:`下载 {name}`,loadError:`无法加载此文件`,overLimit:`{size},超出 {limit} 预览限制`,tooLarge:`此文件过大,无法预览`,tryAgain:`重试`},Xe={accepted:`接受:{types}`,dropHint:`将文件拖放到此处,或点击浏览`,maxSize:`最大大小:{size}`,removeFile:`移除 {name}`,upload:`上传`,uploading:`正在上传...`},Ze={secureHint:`此值将安全发送,不会存储在您的浏览器中。`,selectPlaceholder:`选择...`},Qe={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:`保持静止`},$e={archiveAll:`全部归档…`,copyGroupId:`复制群组 ID`,deleteGroup:`删除群组`,deleteGroupWithConversations:`删除群组…`,groupByChannel:`按渠道分组`,markAllAsDone:`全部标记为已完成…`,markAllRead:`全部标记为已读`,moveSectionDown:`下移分区`,moveSectionUp:`上移分区`,rename:`重命名`,ungroup:`取消分组`},et={title:`{name} 操作`},tt={create:`创建`,newTitle:`新建群组`,renameTitle:`重命名群组`,save:`保存`},nt={next:`下一步`,showMeAround:`带我看看`,skipTour:`跳过导览`},rt={ariaLabel:`聊天插件,{count} 个活跃`,costCaption:`更改插件设置可能会产生高额费用。`,countLabel:`{count, plural, other {# 个插件}}`,manage:`管理`,plugins:`插件`},it={stop:`停止`},at={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 上下文检查器`},ot={android:`语音已在 Android 应用中激活。`,ios:`语音已在 iOS 应用中激活。`,macos:`语音已在 Mac 应用中激活。`,unknown:`语音已在其他地方激活。`,web:`语音已在其他浏览器标签页中激活。`,windows:`语音已在 Windows 应用中激活。`},st={startVoiceMode:`启动语音模式`,tooltip:`用语音模式开口交谈`},ct={connecting:`正在连接…`,ending:`正在结束…`,listening:`正在聆听…`,muted:`已静音`,reconnecting:`正在重新连接…`,speaking:`正在说话…`,thinking:`正在思考…`,working:`正在处理…`,askUnsupported:`该助手尚不支持以这种方式提问。请更新后重试。`},lt={chipCode:`代码`,chipProvider:`提供商`,chipRequestId:`请求 ID`,chipStatus:`状态`,chipType:`类型`,chipUpstreamCode:`上游代码`,chipUpstreamParam:`上游参数`,chipUpstreamType:`上游类型`,noResponse:`提供商拒绝了此调用且未返回任何响应。`,title:`调用失败`},ut={loadingAria:`正在加载 {label}`,pictureInPictureUnavailable:`画中画不可用`},dt={closePreview:`关闭预览:{filename}`,fileOptions:`文件选项:{filename}`,openInWorkspace:`在工作区中打开:{filename}`,openPreview:`打开预览:{filename}`,unavailable:`此文件在此处不可用`,unavailableLabel:`文件不可用:{filename}`,viewImage:`查看图片:{filename}`},ft={download:`下载`,fileActionsAria:`文件操作`,goToFile:`转到文件`,pictureInPicture:`画中画`},pt={addCredits:`添加点数`,ariaLabel:`您的点数不足。{detail}`,subtitle:`添加点数以避免中断。`,title:`您的点数不足`},mt={body:`您的助手工作区当前已连接到调试终端。在恢复模式下,聊天不可用。`,loginHint:`登录 Cadet 平台以退出恢复模式。`,resume:`恢复助手`,title:`助手处于恢复模式`},ht={body:`维护期间,聊天不可用。`,goToDebug:`转到调试设置`,title:`助手处于恢复模式`},gt={addOlderPairButton:`+ 添加更早的对话对`,assistantReplyLabel:`[助手]: 回复`,assistantReplyPlaceholder:`助手在下方用户消息之前给出的回复。`,configTitle:`配置 {paneId}`,conversationalContextTitle:`对话上下文(两窗格共享)`,customPromptPlaceholder:`自定义路由器系统提示词。可用占位符:
4
4
  '{ASSISTANT_NAME}, {USER_NAME}, {PAGE_INDEX}'
5
- 留空以使用捆绑模板。“加载默认”会将捆绑内容填充到文本区域以供编辑。`,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:`用户的消息。`},_t={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:`是`},vt={closeAria:`关闭文件`,empty:`此消息没有文件`,title:`文件`},yt={autoRouted:`自动 · {profile}`,bookmark:`书签`,copied:`已复制`,copy:`复制`,copyFailed:`无法复制这条消息。`,forkFromHere:`从此分叉`,inspect:`检查`,loading:`朗读中…`,openInSlack:`在 Slack 中打开`,playFailed:`无法朗读这条消息。`,readAloud:`朗读`,removeBookmark:`移除书签`,retry:`重试`,stop:`停止`,summarizeUpToHere:`总结到此处`},bt={bookmark:`书签`,copied:`已复制`,copy:`复制`,copyFailed:`无法复制这条消息。`,forkFromHere:`从此分叉`,inspect:`检查`,openInSlack:`在 Slack 中打开`,readAloud:`朗读`,removeBookmark:`移除书签`,stop:`停止`,summarizeUpToHere:`总结到此处`,title:`消息操作`},xt={cancel:`取消`,continue:`继续`,description:`语音输入需要麦克风访问权限。音频将由您配置的语音转文本提供商转录,如果未设置提供商,则由您设备的内置听写功能转录。`,title:`麦克风访问权限`},St={ariaLabel:`需要 API 密钥`,body:`请在“设置”→“模型与服务”中添加 API 密钥以开始聊天。`,dismiss:`忽略`,dismissAria:`忽略需要 API 密钥的提醒`,openSettings:`打开设置`,title:`需要 API 密钥`},Ct={callOfTotal:`第 {number} 个调用,共 {total} 个`,llmCallCount:`{count, plural, other {# 个 LLM 调用}}`,selectCallAria:`选择一个 LLM 调用进行检查`,sheetTitle:`选择一个调用`},wt={dismissAria:`忽略`,runSummary:{completed:`已完成`,failed:`失败`,toolsFailed:`{count, plural, other {# 个工具失败}}`,workedFor:`运行了 {duration}`,workedUnderSecond:`运行了不到 1 秒`,working:`处理中`,workingFor:`处理中,已用时 {duration}`},unknownCommandNudge:`此命令无法识别。<ruleLink>创建规则</ruleLink>以便下次分类。`,viewSteps:`查看步骤`},Tt={checking:`正在查看{place}`,updating:`正在更新{place}`,using:`正在使用{place}`,working:`处理中`,showWorkAria:`查看目前的进展:{label}`,showStepsAria:`查看这条回复的步骤:{summary}`,place:{files:`文件`,terminal:`终端`,memory:`记忆`,web:`网页`,mac:`你的 Mac`}},Et={cancel:`取消`,icon:`图标`,name:`名称`,noIcon:`无图标`},Dt={heading:`为新聊天添加插件`,managePlugins:`管理插件`,showAll:`显示全部 (+{count})`,showLess:`显示更少`,tooltip:`选择此聊天可使用的插件。您的选择将在您发送第一条消息时应用,并保留在此对话中。`},Ot={managePlugins:`管理插件`},kt={approvalAria:`关于助手批准`,approvalTooltip:`未经您的批准,{name} 绝不会代表您行事`,connect:`连接`,connectTitle:`连接 {name}`,connected:`已连接`,defaultDescription:`连接 {name},以便我能将其用于此任务。`,dismiss:`忽略`,missingDetails:`缺少助手或提供商详细信息。`,tenantHostInvalid:`请输入有效的{label},例如 {placeholder}`,thisAccount:`此账户`,waiting:`等待中...`,yourAssistant:`您的助手`},At={continue:`继续`,helpWithHeading:`我能帮您什么?`,letsChat:`我们来聊聊`,other:`其他`,otherPlaceholder:`您需要什么帮助?`,selectAll:`选择所有适用项`,somethingElse:`其他事项`,specific:`我有一个具体事项`},jt={message:`此对话分支所源自的对话已被删除,因此分支点之前的消息已丢失。此后发送的所有内容均完好无损。`},Mt={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:`用量`},Nt={formStepsAria:`表单步骤`},Pt={loadingPdf:`正在加载PDF`},Ft={pageCapNotice:`{count, plural, one {显示第一页} other {显示前 # 页}}`},It={startedAt:`开始于 {time}`},Lt={colors:{green:`绿色`,orange:`橙色`,pink:`粉色`,purple:`紫色`,teal:`青色`,yellow:`黄色`},noColor:`无颜色`},Rt={unpin:`取消固定`,unpinAria:`取消固定 {name}`},zt={disableAria:`为此聊天禁用 {name}`,enableAria:`为此聊天启用 {name}`},Bt={admin:`管理`,preferences:`偏好设置`,settings:`设置`,shareFeedback:`分享反馈`},Vt={addCreditsAriaLabel:`添加额度`,dailyExhausted:`今日用量已用完。添加额度以继续。`,dailyTitle:`每日用量`,exhausted:`添加额度以继续。`,extraCredits:`正在使用额外用量额度`,pctUsed:`已使用 {pct}%`,settingsAriaLabel:`用量和账单设置`,title:`用量`},Ht={cannotPreview:`无法预览此文件`},Ut={download:`下载`,downloadAria:`下载 {filename}`},Wt={loadingPreview:`正在加载预览`},Gt={markdown:`显示前 512 KB`,text:`显示前 2 MB`},Kt={downloadFile:`下载文件`,goToFile:`前往文件`,noPreviewForType:`此文件类型无预览`},qt={agentsLabel:`代理`,agentsToggleAria:`代理:{running, plural, =0 {无运行中} other {# 个运行中}},{completed, plural, =0 {无已完成} other {# 个已完成}}`,railAria:`进度`,stepCounter:`第 {current} 步,共 {total} 步`,title:`进度`,titleFinished:`已完成`,titleStopped:`已停止`},Jt={noActiveSession:`无活动会话。请重试。`},Yt={availableTools:`可用工具`,bannerNoSections:`此调用尚无标准化提示词部分。`,bannerSectionsCount:`{count, plural, other {显示由助手路由返回的 # 个标准化请求部分。}}`,collapseAll:`全部折叠`,copyAriaLabel:`复制 {title}`,emptyBody:`此调用无标准化提示词部分。请使用“原始”选项卡检查完整的请求负载。`,emptyTitle:`无标准化提示词部分`,expandAll:`全部展开`,formatJavaScript:`JavaScript`,formatJson:`JSON`,formatMarkdown:`Markdown`,formatTypeScript:`TypeScript`,noContentAvailable:`无可用内容。`,promptSectionsTitle:`提示词部分`},Xt={body:`向您的提供商充值或降低模型Token 限制。`,title:`您的 API 密钥需要充值`},Zt={refreshing:`正在刷新`},Qt={submitFailed:`提交回复失败。请重试。`},$t={expandAria:`重新打开问题`,minimizeAria:`最小化问题`,nextQuestionAria:`下一个问题`,optionAria:`选项 {number}:{label}`,previousQuestionAria:`上一个问题`,position:`{current} / {total}`,sendResponseAria:`发送回复`,skip:`跳过`,skipAria:`跳过此问题`,skipped:`已跳过`,skippedHint:`已跳过 - 选择一个选项以覆盖`,typeDifferentAnswerAria:`输入不同的答案`,typeSomethingElsePlaceholder:`输入其他内容`},en={cancelAll:`取消全部`,cancelAllAria:`取消所有排队消息`,cancelAria:`取消排队消息`,editAria:`编辑排队消息`,pushToAgentAria:`推送给助手`,queueHeading:`队列 · {count}`,showActionsAria:`显示排队消息操作`},tn={addToChat:`添加到聊天`,ariaLabel:`引用并回复`,cancel:`取消`,placeholder:`输入您的回复…`},nn={input:`原始输入`,output:`原始输出`},rn={copyRequestPayloadAriaLabel:`复制请求负载`,copyResponsePayloadAriaLabel:`复制响应负载`,downloadFailedToast:`下载负载失败。`,downloadRequestPayloadAriaLabel:`下载请求负载`,downloadResponsePayloadAriaLabel:`下载响应负载`,loadErrorTitle:`无法加载原始负载`,loading:`正在加载原始负载…`,payloadRequestFailed:`负载请求失败。请重试。`,request:`请求`,requestPayload:`请求负载`,response:`响应`,responsePayload:`响应负载`,retry:`重试`},an={clickToReveal:`点击显示`,clickToRevealTitle:`{label} · 点击显示`,copyValue:`复制值`,copyValueAria:`复制 {name} 的值`,hideValue:`隐藏值`,hideValueAria:`隐藏 {name} 的值`,redacted:`已遮盖`,redactedTitle:`已遮盖 - 此值未链接到存储的凭据`,redactionMarkerTitle:`遮盖标记 - 未经助手验证`,revealFailed:`无法显示 {name}。`,revealValueAria:`显示 {name} 的值`},on={retryAria:`重试刷新`},sn={save:`保存`,title:`重命名对话`},cn={defaultStatus:`正在搜索网页以了解您。`,heading:`正在了解您…`,reading:`正在阅读 <title>{title}</title><domain> · {domain}</domain>`,searchingFor:`正在搜索 <query>“{query}”</query>`,warmingUp:`正在预热搜索…`},ln={editRemovalAria:`编辑移除`,keepIt:`保留`,removeAria:`移除`,sources:`来源`,whyRemove:`为何移除此项?`},un={heading:`正在了解您…`,mockNote:`(模拟 - 实时流程在此处显示搜索活动源)`,resultsTitle:`这是我了解到的关于您的信息。您可以移除任何不真实的内容:`},dn={body:`这是我了解到的关于您的信息。您可以移除任何不真实的内容:`,loading:`正在了解您…`},fn={continue:`继续`,emptyBody:`这次我无法整理出清晰的个人资料。我们可以在后续交流中互相了解。`,emptyTitle:`我们直接开始吧。`},pn={heading:`以下是我可以如何帮助您开始:`},mn={argumentsPreview:`参数预览`,copySectionAria:`复制章节内容`,kindAssistantText:`助手文本`,kindFunctionResponse:`函数响应`,kindReasoning:`推理`,kindToolCall:`工具调用`,kindToolResult:`工具结果`,modeResultOnly:`仅结果响应`,modeTextOnly:`仅文本响应`,modeToolCalling:`工具调用响应`,noArgumentsPreview:`此工具调用没有可用的结构化参数预览。`,noAssistantText:`此章节未捕获到助手文本。`,noSectionsFallback:`此响应没有渲染的章节。原始负载在“原始数据”选项卡中仍然可用,并且任何规范化的响应元数据(如果存在)仍将显示。`,rawTabHint:`需要完整的提供者负载?打开“原始数据”选项卡查看请求和响应 JSON。`,responseMetadata:`响应元数据`,sectionTitle:`章节 {number}`,sectionUnavailable:`章节渲染不可用`,stopReasonChip:`停止原因:{reason}`,toolChip:`工具:{name}`},hn={saveFailed:`保存信任规则失败。请重试。`},gn={aria:`前往最新消息`,label:`前往最新`},_n={submitFailed:`提交密钥失败。请重试。`},vn={showValue:`显示值`,hideValue:`隐藏值`,cancel:`取消`,domains:`域:{list}`,placeholder:`输入密钥值...`,save:`保存`,savedSecurely:`已安全保存`,saving:`正在保存...`,secretValueFallback:`密钥值`,sendOnce:`发送一次(不保存)`,sending:`正在发送...`,storedSecurelyNote:`此信息安全地存储在您的设备上,不会发送到任何服务器。AI 永远不会看到此值。`,title:`安全凭据`,tools:`工具:{list}`},yn={body:`自托管助手的对话尚未在网页端提供。请从设置中管理您的助手。`,openSettings:`打开设置`,title:`自托管助手`},bn={settingUp:`正在设置您的助手…`},xn={yourAssistant:`您的助手`},Sn={newChat:`新建聊天`},Cn={label:`返回顶部`},wn={message:`您的对话加载失败。`,retry:`重试`},Tn={loadingAria:`正在加载对话`},En={newGroup:`新建群组…`},Dn={label:`查看所有聊天`},On={webSearch:`网页搜索`},kn={actionsAria:`技能操作`,closeDetails:`关闭技能详情`,goToSkill:`前往技能`,loadError:`此技能无法加载。它可能已被移除。`,moreTooltip:`更多`,removeSkill:`移除技能`,titleFallback:`技能`},An={runningSuffix:` · 正在运行`,unnamedTool:`技能工具`},jn={view:`查看`},Mn={failed:`加载失败`,loading:`正在加载技能…`,loadingAria:`正在加载技能`,notApproved:`未获批准`,provides:`提供`,unnamedSkill:`技能`,usedSkill:`已用技能`},Nn={fromSkill:`来自 {name}`},Pn={callLink:`调用 {number}`,emptyBody:`此选项卡列出了对话中所有的 <code>skill_load</code> 工具调用。在捕获的 LLM 调用中未检测到任何此类调用。`,emptyTitle:`此对话中未加载任何技能`,loadCount:`{count, plural, other {# 次加载}}`,summaryStats:`{uniqueCount, plural, other {# 个独特技能}} · {totalLoads, plural, other {# 次加载调用}}`,summaryTitle:`此对话中加载的技能`},Fn={editReplyAria:`编辑回复`,removeQuoteAria:`移除引用`,typeReplyPlaceholder:`输入您的回复…`},In={successToast:`已安全存储。密钥从未进入聊天。`},Ln={backToTimelineAria:`返回时间线`,backTooltip:`返回`,closeDetail:`关闭子代理详情`,input:`输入`,noEventsYet:`暂无事件`,objective:`目标`,output:`输出`,stopSubagentAria:`停止子代理`,timeline:`时间线`},Rn={viewReasoning:`查看推理过程`,viewSearchDetails:`查看搜索详情`,viewSearchError:`查看搜索错误`,viewToolDetails:`查看工具详情`,workedFor:`运行了 {duration}`},zn={stopSubagentAria:`停止子代理`},Bn={openAria:`打开建议:{title}`},Vn={closeAria:`关闭`,letsDoIt:`开始吧!`,thingsWeCanDo:`我们可以做:`,whatWellNeed:`我们需要:`},Hn={scrollForMore:`向下滚动查看更多`},Un={submitFailed:`提交失败。请重试。`},Wn={cancelled:`已取消`,displayFailed:`无法显示此内容。`,displayFailedNamed:`无法显示“{title}”。`,done:`完成`,unknownSurface:`未知界面`,unsupportedType:`不支持的界面类型:{type}`},Gn={copied:`已复制`,copy:`复制`,copyAria:`将表格复制为 Markdown`,copyFailed:`无法复制表格。`,table:`表格`},Kn={continue:`继续`,defaultTitle:`我能帮您什么?`,other:`其他`,otherPlaceholder:`描述您需要什么帮助...`,selectAll:`选择所有适用项`,somethingElse:`完全是其他事情`},qn={loadFailed:`加载预览失败。`,tooLarge:`文件过大,无法内联预览。`},Jn={reply:`回复`},Yn={title:`思考中`},Xn={adding:`正在添加…`,blockquote:`引用`,bold:`粗体`,bulletList:`项目符号列表`,code:`代码`,comment:`评论`,feedbackPlaceholder:`添加您的反馈…`,heading1:`标题 1`,heading2:`标题 2`,heading3:`标题 3`,italic:`斜体`,link:`链接`,linkAddress:`链接地址`,linkApply:`应用链接`,linkInvalid:`请输入网址或电子邮件地址`,linkPlaceholder:`粘贴或输入链接`,linkRemove:`移除链接`,orderedList:`编号列表`,paragraph:`正文`,placeholder:`开始写作…`,remoteEditConflict:`助手修改了您正在编辑的同一段文字,已保留您的修改,因此其部分编辑未被应用。`,strike:`删除线`,textStyle:`文本样式:{style}`,toolbarAria:`格式`},Zn={allow:`允许`,confirmationRequired:`需要确认`,copyOutput:`复制输出`,deny:`拒绝`,hideDetails:`隐藏详情`,output:`输出`,showDetails:`显示详情`,technicalDetails:`技术详情`,toolLatency:`工具延迟:`,toolName:`工具名称`},Qn={defaultValue:`默认值:{value}`,inputSchema:`输入架构`,intro:`{count, plural, other {# 个工具}}随此请求发送。展开工具可查看其定义和输入架构。`,noInputSchema:`无输入架构 - 此工具不接受结构化输入。`,required:`必填`,settings:`设置`},$n={changes:`更改`,closeAria:`关闭工具详情`,command:`命令`,denied:`此工具调用未获批准,因此没有运行。`,emptyOutput:`该工具没有返回任何输出。`,output:`输出`,requestedChanges:`请求的更改`,running:`正在运行…`},er={parameters:`参数`,moreCount:`{count, plural, other {另有 # 项,见“原始输入”}}`},tr={moreCount:`{count, plural, other {另有 # 项,见“原始输出”}}`},nr={copyValue:`复制 {label}`},rr={openAria:`打开 {label}`,viewDetailsAria:`查看详情:{label}`},ir={fileUnavailable:`文件不可下载`,fileUnavailableHostTimeout:`文件不可下载(主机文件审批可能已超时)`,stopCommand:`停止命令`,stopRun:`停止运行`,stopWorkflow:`停止工作流`},ar={thinking:`思考中`,working:`处理中`},or={authFailed:`用户身份验证失败。`},sr={assistantBusy:`您的助手正忙。请在回复完成后重试。`,retryFailed:`无法重试响应`,summarizeFailed:`无法总结对话`},cr={commandFailed:`无法运行该命令。请重试。`,doctorUnavailable:`此助手上无法使用医生功能。`},lr={downloadFile:`下载文件`,goToFile:`前往文件`},ur={sketching:`正在绘制视觉效果...`},dr={visual:`视觉效果`},fr={ariaLabel:`语音会话`,endSession:`结束语音会话`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,muted:`已静音`,openVoiceRoom:`打开语音房间`,unmuteAssistant:`取消静音助手`,unmuteMicrophone:`取消静音麦克风`},pr={seed:`嘿,我刚和你开始了语音对话。此消息是自动发送的。请用一句话问候我,然后问我想做什么。`},mr={selectionUnavailable:`无法读取选中的文本。未粘贴任何内容。请重新选择文本后重试;您所说的内容可供复制。`,nativeSttNoTranscript:`{clientName} 原生听写未返回转录文本。请检查系统设置中的原生语音识别,然后重试。`,askUnavailable:`助手当前无法接收语音提问。`},hr={backAria:`返回`,description:`与 {name} 进行免提语音对话。`,listeningLanguage:`识别语言`,listeningLanguageApplies:`从您的下一次语音轮次开始生效。`,liveCaptions:`随时开启实时字幕。`,muteMic:`静音麦克风,但不结束会话。`,speakNaturally:`自然说话,{name} 会大声回复。`,startTalking:`开始说话`,title:`语音模式`,voiceSettings:`语音设置`,yourAssistant:`您的助手`},gr={unavailable:`此助手目前无法选择语音。`},_r={ariaLabel:`语音会话`,closeCamera:`关闭摄像头`,endSessionAria:`结束语音会话`,endSessionTooltip:`结束会话`,flashAuto:`自动闪光灯`,flashAutoBadge:`A`,flashOff:`关闭闪光灯`,flashOn:`开启闪光灯`,flipCamera:`翻转摄像头`,lightOff:`关闭补光灯`,lightOn:`开启补光灯`,minimizeAria:`最小化语音房间`,minimizeTooltip:`最小化(会话仍在进行)`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,mutedState:`已静音。{state}`,showCamera:`显示摄像头`,stopLive:`停止实时`,takePhoto:`拍照`,unmuteAssistant:`取消静音助手`,unmuteMicrophone:`取消静音麦克风`},vr={dismiss:`关闭`,endSession:`结束语音会话`,goToThreadAria:`前往语音会话线程`,groupAria:`语音会话`,muteAssistant:`静音助手`,muteMic:`静音麦克风`,unmuteAssistant:`取消静音助手`,unmuteMic:`取消静音麦克风`},yr={muted:`已静音`},br={commandFinished:`后台命令已完成`,incomingEvent:`收到事件`,memoryReview:`记忆回顾`,ranOnItsOwn:`自动运行`,resumed:`中断后已恢复`,scheduledRun:`定时运行`,watchReview:`观察会话回顾`,workflowFinished:`工作流已完成`},xr={details:`详细信息`,result:`结果`,runStatus:`运行状态`,title:`对话已唤醒`,workflow:`工作流`,closeAria:`关闭详情`},Sr={celsius:`°C`,fahrenheit:`°F`,feelsLike:`体感 {temp}°`,highLow:`高:{high}° 低:{low}°`,now:`现在`},Cr={fetchFailed:`获取失败。`,mayRequireJavaScript:`此页面可能需要 JavaScript 才能完整显示,因此部分内容可能缺失。`,startIndexPastEnd:`读取起点超出了此页面的末尾,因此没有读取到任何内容。`,truncated:`只读取了此页面的一部分。`},wr={noSources:`未找到来源。`,query:`查询`,sources:`来源`,sourcesWithCount:`来源 ({count})`},Tr={moreCount:`另有 {count} 项`},Er={after:`之后`,before:`之前`,notSet:`未设置`,removed:`已移除`},Dr={agents:`代理`,back:`返回`,backToSubagentsAria:`返回子代理`,closeDetail:`关闭工作流详情`,input:`输入`,noSubagentsYet:`暂无子代理`,output:`输出`,stopWorkflow:`停止工作流`,subagents:`子代理`},Or={input:`输入`,noPromptSummary:`暂无提示词摘要`,noResultSummary:`暂无结果摘要`,output:`输出`,prompt:`提示词`,result:`结果`,running:`运行中…`},kr={cancelledAria:`已取消`,openDetailsAria:`打开 {title} 详情`},Ar={openTitle:`打开 {path}`},jr={beyondPreviewLimit:`此工作表的单元格均超出预览限制`,emptySheet:`此工作表为空`,sheetUnreadable:`无法读取此工作表`,sheetsAria:`工作表`,sheetsOmitted:`{count, plural, other {另有 # 个工作表未显示}}`,summary:`{sheet}:{rows, plural, other {# 行}} x {columns, plural, other {# 列}}`,summaryTruncated:`{sheet}:{rows, plural, other {# 行}} x {columns, plural, other {# 列}}(已截断)`,summaryColumnsCut:`{sheet}:{rows, plural, other {# 行}} x {columns, number} / {total, plural, other {# 列}}`,summaryRowsCut:`{sheet}:{rows, number} / {total, plural, other {# 行}} x {columns, plural, other {# 列}}`,summaryBothCut:`{sheet}:{rows, number} / {totalRows, plural, other {# 行}} x {columns, number} / {totalColumns, plural, other {# 列}}`,countsColumnsCut:`{rows, plural, other {# 行}} x {columns, number} / {total, plural, other {# 列}}`,countsRowsCut:`{rows, number} / {total, plural, other {# 行}} x {columns, plural, other {# 列}}`,countsBothCut:`{rows, number} / {totalRows, plural, other {# 行}} x {columns, number} / {totalColumns, plural, other {# 列}}`},Mr={noResponse:`决定不回复`,reactionAddedSelf:`已用 {emoji} 回应`,reactionRemovedSelf:`已移除 {emoji} 回应`,reactionAdded:`{name} 用 {emoji} 回应`,reactionRemoved:`{name} 移除了 {emoji} 回应`,reactionSomeone:`有人`},Nr={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:`观察到的操作`},Pr={restore:`恢复访问`,restoring:`正在恢复...`,restored:`已恢复。由 Cadet 托管的模型重新可用。`,failedNoAssistant:`请选择一个助手,然后重试。`,failedCannotActHere:`此应用无法为该助手恢复凭据。请在运行该助手的电脑上打开它。`,failedReplacementRejected:`Cadet 拒绝了新的凭据。请登录 Cadet 平台后重试。`,failedUnconfirmed:`新凭据已保存,但无法与 Cadet 确认。它可能很快就会生效。`,failedGeneric:`无法恢复访问。请稍后重试。`},Fr={emptyBody:`我随时都在思考。当有值得您关注的事情时,我会在这里发起对话。`,emptyTitle:`目前还没有任何想法。`},Ir={doneEmptyBody:`标记为已完成的聊天会保留在“所有聊天”中。`,doneEmptyTitle:`全部处理完毕。`,emptyBody:`开始新的聊天后,它会显示在这里。`,emptyTitle:`还没有聊天。`},Lr={expand:`展开`,collapse:`收起`},Rr={hide:`隐藏来自 {name} 的对话`,show:`显示来自 {name} 的对话`},zr={turn:`我点击了 {label}。接下来呢?`},Br={count:`{count, plural, other {# 个摄像头画面}}`,timeRange:`保存时间:{first} 至 {last}`,savedTime:`保存于 {time}`,pendingAria:`摄像头画面,图像仍在加载。{time}`,timeUnavailable:`时间不可用`},Vr={showPreview:`显示实时预览`,needsHelp:`虚拟桌面需要你的帮助。`,stepIn:`接管`,done:`完成`,skip:`跳过`,showMore:`展开`,showLess:`收起`},Hr={saved:`已保存`,saving:`正在保存`,notSaved:`未保存`},Ur={searchedFor:`搜索内容`,scope:`{depth} · {sources}`,answer:`回答`,evidence:`{count, plural, other {# 条结果}}`,noEvidence:`没有找到相关内容。`,degraded:`部分位置未能完整搜索`,degradedSource:`{source}:{error}`},Wr={source:`{source, select, memory {记忆} conversations {对话} workspace {工作区文件} other {{source}}}`,depth:`{depth, select, fast {快速搜索} standard {标准搜索} deep {深度搜索} other {搜索}}`},Gr={addCredits:`添加额度`,subtitle:`您已用完今日的免费用量,将在{resetPhrase}重置。升级或添加额度以继续。`,title:`今日免费用量已用完`,viewPlans:`查看方案`},Kr={title:`聊天设置`,description:`管理此助手在所有设备上的自动完成标记和聊天回复提醒。`,autoArchive:`自动归档聊天`,autoArchiveHelper:`将不活跃的聊天标记为已完成,包括已超过此时限的旧聊天。已完成的聊天仍保留在所有聊天中。`,timeToArchive:`归档时限`,days:`{count, plural, other {# 天}}`,notifications:`聊天回复提醒`,notificationsHelper:`接收当前未查看的聊天中的回复提醒。`,cancel:`取消`,confirm:`确认`,saving:`正在保存…`,loading:`正在加载聊天设置…`,retry:`重试`,loadError:`无法加载聊天设置。请重试。`,saveError:`无法保存聊天设置。你的修改仍保留在此处。点击确认以重试。`,unsupported:`请更新此助手以使用聊天设置。`},qr={label:`邮件`,unpin:`取消固定邮件`},Jr={title:`开始语音聊天?`,detail:`你使用了语音快捷键。麦克风将保持开启,让你与助手交谈,即使你正在使用其他应用。结束通话即可停止收音。`,confirm:`继续`,cancel:`取消`,always:`始终开始`},Yr={title:`附件与设置`,close:`关闭设置`,back:`返回`,allModes:`所有模型 · {count}`,newMode:`新建`,builtIn:`内置`,yours:`自定义`,beta:`测试版`,noModes:`没有可用模型。`,autonomyTitle:`自主程度`,modeTitle:`模型`,loading:`加载中`,more:`更多({count})`,customHint:`自定义 · {model}`,preferencesFailed:`无法保存偏好设置。请重试。`,saveFailed:`无法保存此设置。请重试。`,preferencesUnavailable:`偏好设置暂不可用。连接恢复后请重试。`,updateRequired:`更新助手以同步偏好设置,并在第一条消息前选择自主程度。`,camera:`相机`,photos:`照片`,files:`文件`,attach:`添加附件`,autonomy:{none:{label:`严格`,hint:`操作前先询问。`},low:{label:`谨慎`,hint:`处理低风险任务和编辑。`},medium:{label:`宽松`,hint:`高风险操作前会询问。`},high:{label:`免确认`,hint:`在访问权限范围内自动批准。`}},modes:{auto:{hint:`为每项任务选择模型。`},balanced:{hint:`兼顾速度、深度和费用。`},quality:{hint:`更深入,速度更慢、费用更高。`},fast:{hint:`更快、更便宜,深度较低。`},budget:{hint:`费用最低,可能遗漏细节。`},experimental:{label:`开放测试`,hint:`开源测试版,结果可能不稳定。`}},allModelsLink:`所有模型({count})`,allModelsList:`所有模型`},Xr={askQuestionDetail:e,documentChat:t,acpChatPlanBlock:n,acpChatTerminalBlock:r,acpChatToolCard:i,acpConnectAffordance:a,acpRunChatView:o,activeChatView:s,markAllDoneConfirmDialog:c,mobileDetailSheet:l,activityStepsPanel:u,computerUseScreenshotPreview:d,addToChatSheet:f,allowOptionsMenu:p,appAssetActions:m,archiveAllConfirmDialog:h,assistantContentDisclosure:g,actionDisplay:_,allChatsPage:v,sessionGroupRow:y,assistantDesktop:b,assistantNavItem:x,assistantSideMenu:S,assistantSleepStage:C,assistantSwitcher:w,attachmentChip:T,attachmentDownloadOverlay:E,attachmentLoadingChip:D,attachmentOverflowSquare:O,attachmentPreviewModal:k,attachmentTile:A,backgroundTaskDetailPanel:j,billingErrorBanner:M,cacheBreakpointMapCard:N,cacheDiffCard:P,cacheHealthCard:F,callRail:I,callSummarySurface:L,cameraDeepLink:R,cameraError:z,cameraExplainer:B,cameraShutterHint:V,cameraStatusPill:H,cameraViewOptions:U,cardSurface:W,channelReferenceChip:G,channelSetupPanel:K,channelThreadControl:q,channelTranscriptPanel:J,chatAttachments:Y,emailReferenceChip:X,emailReferenceCard:Z,chatBody:Q,chatComposer:$,chatConversationHeader:ee,chatInfoPanel:te,chatLayout:ne,chatLayoutHeader:re,chatMarkdownMessage:ie,chatPage:ae,chatRouteContent:oe,chatRuleEditorModal:se,choiceSurface:ce,cleanupScreen:le,collapsedGroupIcon:ue,compactionCircuitOpenBanner:de,compactionTab:fe,composerDraftNotices:pe,composerNotices:me,composerSecretNotice:he,confirmationActions:ge,confirmationPromptCard:_e,contactActions:ve,contactPromptCard:ye,contactRecordCard:be,contextWindowIndicator:xe,conversationActions:Se,conversationActionsSheet:Ce,conversationAssetActions:we,conversationAssets:Te,conversationStarterDock:Ee,conversationStarterGrid:De,copyBlockSurface:Oe,copyIdToClipboard:ke,creditsCard:Ae,creditsUpsellCard:je,csvPreview:Me,dailyLimitBanner:Ne,deleteConversationConfirmDialog:Pe,deletedMessageRow:Fe,documentAssetActions:Ie,documentCommentForm:Le,documentCommentPanel:Re,documentCommentThread:ze,documentPreviewSurface:Be,documentReopenLink:Ve,documentViewerContainer:He,documentConversation:Ue,documentViewerPage:We,dynamicPageSurface:Ge,exportProgressModal:Ke,fileDiffView:qe,fileDownload:Je,filePreviewContainer:Ye,fileUploadSurface:Xe,formSurface:Ze,frameGateHud:Qe,groupActions:$e,groupActionsSheet:et,groupNameDialogFromStore:tt,inChatOnboardingController:nt,inChatPluginPill:rt,inlineProcessCard:it,inspectPage:at,liveVoiceBusy:ot,liveVoiceButton:st,liveVoiceStatus:ct,llmCallErrorCard:lt,localFileEmbed:ut,localFileLink:dt,localFileMenu:ft,lowBalanceBanner:pt,maintenanceModeBanner:mt,maintenanceRecoveryCard:ht,memoryRouterPlaygroundPage:gt,memoryTab:_t,messageFilesPanel:vt,messageHoverActions:yt,messageLongPressActions:bt,micPermissionPrimer:xt,missingApiKeyBanner:St,mobileCallSelector:Ct,multiActivityGroup:wt,quietTurnProgress:Tt,nameInputDialog:Et,newChatPluginsPicker:Dt,newChatPluginsSection:Ot,oauthConnectSurface:kt,onboardingChoiceCard:At,orphanedHistoryNotice:jt,overviewTab:Mt,pageTabs:Nt,pdfPageSkeleton:Pt,pdfPreview:Ft,phaseGroupedStepList:It,pinnedAppColorSwatches:Lt,pinnedAppNavItem:Rt,pluginPill:zt,preferencesMenu:Bt,preferencesUsagePanel:Vt,previewError:Ht,previewMessageCard:Ut,previewSkeleton:Wt,previewTruncationNotice:Gt,previewUnsupported:Kt,progressRail:qt,promptSubmission:Jt,promptTab:Yt,providerBillingBanner:Xt,pullRefreshSpinner:Zt,questionActions:Qt,questionPromptCard:$t,queuedMessagesDrawer:en,quoteReplyBubble:tn,rawDisclosure:nn,rawTab:rn,redactedCredentialChip:an,refreshFeedbackPill:on,renameDialogFromStore:sn,researchActivityFeed:cn,researchFactsCard:ln,researchMockPage:un,researchResultsOverlay:dn,researchResultsView:fn,researchSuggestions:pn,responseTab:mn,ruleEditorActions:hn,scrollToLatestButton:gn,secretActions:_n,secretPromptCard:vn,selfHostedScreen:yn,setupScreen:bn,sideMenuBuiltInNav:xn,sideMenuOverlayBottomColumn:Sn,sidebarBackToTop:Cn,sidebarConversationError:wn,sidebarConversationSkeleton:Tn,sidebarListContextMenu:En,sidebarSectionViewAll:Dn,singleActivity:On,skillDetailPanel:kn,skillExecuteDetail:An,skillLoadCard:jn,skillLoadDetail:Mn,skillToolList:Nn,skillsTab:Pn,stagedQuotesStrip:Fn,storeCredentialDialog:In,subagentDetailPanel:Ln,subagentPhaseTimeline:Rn,subagentSpawnGroup:zn,suggestionCard:Bn,suggestionDetailPanel:Vn,suggestionLibrary:Hn,surfaceActions:Un,surfaceRouter:Wn,tableSurface:Gn,taskPreferencesSurface:Kn,textPreview:qn,textSelectionPopover:Jn,thinkingDetail:Yn,tiptapDocumentEditor:Xn,toolCallChip:Zn,toolDefinitionsContent:Qn,toolDetailPanel:$n,toolInputParameters:er,toolOutputSection:tr,valueFields:nr,toolStepPill:rr,transcriptMessageBody:ir,transcriptRow:ar,useConversationLoader:or,useConversationSecondaryActions:sr,useSendMessage:cr,cadetFileActionModal:lr,visualPlaceholder:ur,visualSurface:dr,voiceComposerBar:fr,voiceEntryGreeting:pr,voiceErrors:mr,voiceFirstRunCard:hr,voicePickerSurface:gr,voiceRoom:_r,voiceSessionPill:vr,voiceSessionPillHost:yr,wakeCard:br,wakeDetailPanel:xr,weatherForecastDisplay:Sr,webFetchDetailView:Cr,webSearchDetailView:wr,webSearchStepRow:Tr,workResultSurface:Er,workflowDetailPanel:Dr,workflowLeafDetail:Or,workflowSubagentRow:kr,workspacePathLink:Ar,xlsxPreview:jr,transcript:Mr,watchRetroSurface:Nr,restoreManagedCredentialButton:Pr,assistantSection:Fr,chatsSection:Ir,sidebarExpandRow:Lr,assistantSectionToggle:Rr,coachmarkPress:zr,cameraFrameGrid:Br,desktopHelpCard:Vr,rememberDetail:Hr,recallDetail:Ur,recallLabels:Wr,freeTierDailyLimitBanner:Gr,chatsSettingsModal:Kr,emailNavItem:qr,voiceShortcutConfirmation:Jr,composerConfiguration:Yr};export{n as acpChatPlanBlock,r as acpChatTerminalBlock,i as acpChatToolCard,a as acpConnectAffordance,o as acpRunChatView,_ as actionDisplay,s as activeChatView,u as activityStepsPanel,f as addToChatSheet,v as allChatsPage,p as allowOptionsMenu,m as appAssetActions,h as archiveAllConfirmDialog,e as askQuestionDetail,g as assistantContentDisclosure,b as assistantDesktop,x as assistantNavItem,Fr as assistantSection,Rr as assistantSectionToggle,S as assistantSideMenu,C as assistantSleepStage,w as assistantSwitcher,T as attachmentChip,E as attachmentDownloadOverlay,D as attachmentLoadingChip,O as attachmentOverflowSquare,k as attachmentPreviewModal,A as attachmentTile,j as backgroundTaskDetailPanel,M as billingErrorBanner,N as cacheBreakpointMapCard,P as cacheDiffCard,F as cacheHealthCard,lr as cadetFileActionModal,I as callRail,L as callSummarySurface,R as cameraDeepLink,z as cameraError,B as cameraExplainer,Br as cameraFrameGrid,V as cameraShutterHint,H as cameraStatusPill,U as cameraViewOptions,W as cardSurface,G as channelReferenceChip,K as channelSetupPanel,q as channelThreadControl,J as channelTranscriptPanel,Y as chatAttachments,Q as chatBody,$ as chatComposer,ee as chatConversationHeader,te as chatInfoPanel,ne as chatLayout,re as chatLayoutHeader,ie as chatMarkdownMessage,ae as chatPage,oe as chatRouteContent,se as chatRuleEditorModal,Ir as chatsSection,Kr as chatsSettingsModal,ce as choiceSurface,le as cleanupScreen,zr as coachmarkPress,ue as collapsedGroupIcon,de as compactionCircuitOpenBanner,fe as compactionTab,Yr as composerConfiguration,pe as composerDraftNotices,me as composerNotices,he as composerSecretNotice,d as computerUseScreenshotPreview,ge as confirmationActions,_e as confirmationPromptCard,ve as contactActions,ye as contactPromptCard,be as contactRecordCard,xe as contextWindowIndicator,Se as conversationActions,Ce as conversationActionsSheet,we as conversationAssetActions,Te as conversationAssets,Ee as conversationStarterDock,De as conversationStarterGrid,Oe as copyBlockSurface,ke as copyIdToClipboard,Ae as creditsCard,je as creditsUpsellCard,Me as csvPreview,Ne as dailyLimitBanner,Xr as default,Pe as deleteConversationConfirmDialog,Fe as deletedMessageRow,Vr as desktopHelpCard,Ie as documentAssetActions,t as documentChat,Le as documentCommentForm,Re as documentCommentPanel,ze as documentCommentThread,Ue as documentConversation,Be as documentPreviewSurface,Ve as documentReopenLink,He as documentViewerContainer,We as documentViewerPage,Ge as dynamicPageSurface,qr as emailNavItem,Z as emailReferenceCard,X as emailReferenceChip,Ke as exportProgressModal,qe as fileDiffView,Je as fileDownload,Ye as filePreviewContainer,Xe as fileUploadSurface,Ze as formSurface,Qe as frameGateHud,Gr as freeTierDailyLimitBanner,$e as groupActions,et as groupActionsSheet,tt as groupNameDialogFromStore,nt as inChatOnboardingController,rt as inChatPluginPill,it as inlineProcessCard,at as inspectPage,ot as liveVoiceBusy,st as liveVoiceButton,ct as liveVoiceStatus,lt as llmCallErrorCard,ut as localFileEmbed,dt as localFileLink,ft as localFileMenu,pt as lowBalanceBanner,mt as maintenanceModeBanner,ht as maintenanceRecoveryCard,c as markAllDoneConfirmDialog,gt as memoryRouterPlaygroundPage,_t as memoryTab,vt as messageFilesPanel,yt as messageHoverActions,bt as messageLongPressActions,xt as micPermissionPrimer,St as missingApiKeyBanner,Ct as mobileCallSelector,l as mobileDetailSheet,wt as multiActivityGroup,Et as nameInputDialog,Dt as newChatPluginsPicker,Ot as newChatPluginsSection,kt as oauthConnectSurface,At as onboardingChoiceCard,jt as orphanedHistoryNotice,Mt as overviewTab,Nt as pageTabs,Pt as pdfPageSkeleton,Ft as pdfPreview,It as phaseGroupedStepList,Lt as pinnedAppColorSwatches,Rt as pinnedAppNavItem,zt as pluginPill,Bt as preferencesMenu,Vt as preferencesUsagePanel,Ht as previewError,Ut as previewMessageCard,Wt as previewSkeleton,Gt as previewTruncationNotice,Kt as previewUnsupported,qt as progressRail,Jt as promptSubmission,Yt as promptTab,Xt as providerBillingBanner,Zt as pullRefreshSpinner,Qt as questionActions,$t as questionPromptCard,en as queuedMessagesDrawer,Tt as quietTurnProgress,tn as quoteReplyBubble,nn as rawDisclosure,rn as rawTab,Ur as recallDetail,Wr as recallLabels,an as redactedCredentialChip,on as refreshFeedbackPill,Hr as rememberDetail,sn as renameDialogFromStore,cn as researchActivityFeed,ln as researchFactsCard,un as researchMockPage,dn as researchResultsOverlay,fn as researchResultsView,pn as researchSuggestions,mn as responseTab,Pr as restoreManagedCredentialButton,hn as ruleEditorActions,gn as scrollToLatestButton,_n as secretActions,vn as secretPromptCard,yn as selfHostedScreen,y as sessionGroupRow,bn as setupScreen,xn as sideMenuBuiltInNav,Sn as sideMenuOverlayBottomColumn,Cn as sidebarBackToTop,wn as sidebarConversationError,Tn as sidebarConversationSkeleton,Lr as sidebarExpandRow,En as sidebarListContextMenu,Dn as sidebarSectionViewAll,On as singleActivity,kn as skillDetailPanel,An as skillExecuteDetail,jn as skillLoadCard,Mn as skillLoadDetail,Nn as skillToolList,Pn as skillsTab,Fn as stagedQuotesStrip,In as storeCredentialDialog,Ln as subagentDetailPanel,Rn as subagentPhaseTimeline,zn as subagentSpawnGroup,Bn as suggestionCard,Vn as suggestionDetailPanel,Hn as suggestionLibrary,Un as surfaceActions,Wn as surfaceRouter,Gn as tableSurface,Kn as taskPreferencesSurface,qn as textPreview,Jn as textSelectionPopover,Yn as thinkingDetail,Xn as tiptapDocumentEditor,Zn as toolCallChip,Qn as toolDefinitionsContent,$n as toolDetailPanel,er as toolInputParameters,tr as toolOutputSection,rr as toolStepPill,Mr as transcript,ir as transcriptMessageBody,ar as transcriptRow,or as useConversationLoader,sr as useConversationSecondaryActions,cr as useSendMessage,nr as valueFields,ur as visualPlaceholder,dr as visualSurface,fr as voiceComposerBar,pr as voiceEntryGreeting,mr as voiceErrors,hr as voiceFirstRunCard,gr as voicePickerSurface,_r as voiceRoom,vr as voiceSessionPill,yr as voiceSessionPillHost,Jr as voiceShortcutConfirmation,br as wakeCard,xr as wakeDetailPanel,Nr as watchRetroSurface,Sr as weatherForecastDisplay,Cr as webFetchDetailView,wr as webSearchDetailView,Tr as webSearchStepRow,Er as workResultSurface,Dr as workflowDetailPanel,Or as workflowLeafDetail,kr as workflowSubagentRow,Ar as workspacePathLink,jr as xlsxPreview};
5
+ 留空以使用捆绑模板。“加载默认”会将捆绑内容填充到文本区域以供编辑。`,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:`用户的消息。`},_t={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:`是`},vt={closeAria:`关闭文件`,empty:`此消息没有文件`,title:`文件`},yt={autoRouted:`自动 · {profile}`,bookmark:`书签`,copied:`已复制`,copy:`复制`,copyFailed:`无法复制这条消息。`,forkFromHere:`从此分叉`,inspect:`检查`,loading:`朗读中…`,openInSlack:`在 Slack 中打开`,playFailed:`无法朗读这条消息。`,readAloud:`朗读`,removeBookmark:`移除书签`,retry:`重试`,stop:`停止`,summarizeUpToHere:`总结到此处`},bt={bookmark:`书签`,copied:`已复制`,copy:`复制`,copyFailed:`无法复制这条消息。`,forkFromHere:`从此分叉`,inspect:`检查`,openInSlack:`在 Slack 中打开`,readAloud:`朗读`,removeBookmark:`移除书签`,stop:`停止`,summarizeUpToHere:`总结到此处`,title:`消息操作`},xt={cancel:`取消`,continue:`继续`,description:`语音输入需要麦克风访问权限。音频将由您配置的语音转文本提供商转录,如果未设置提供商,则由您设备的内置听写功能转录。`,title:`麦克风访问权限`},St={ariaLabel:`需要 API 密钥`,body:`请在“设置”→“模型与服务”中添加 API 密钥以开始聊天。`,dismiss:`忽略`,dismissAria:`忽略需要 API 密钥的提醒`,openSettings:`打开设置`,title:`需要 API 密钥`},Ct={callOfTotal:`第 {number} 个调用,共 {total} 个`,llmCallCount:`{count, plural, other {# 个 LLM 调用}}`,selectCallAria:`选择一个 LLM 调用进行检查`,sheetTitle:`选择一个调用`},wt={dismissAria:`忽略`,runSummary:{completed:`已完成`,failed:`失败`,toolsFailed:`{count, plural, other {# 个工具失败}}`,workedFor:`运行了 {duration}`,workedUnderSecond:`运行了不到 1 秒`,working:`处理中`,workingFor:`处理中,已用时 {duration}`},unknownCommandNudge:`此命令无法识别。<ruleLink>创建规则</ruleLink>以便下次分类。`,viewSteps:`查看步骤`},Tt={checking:`正在查看{place}`,updating:`正在更新{place}`,using:`正在使用{place}`,working:`处理中`,showWorkAria:`查看目前的进展:{label}`,showStepsAria:`查看这条回复的步骤:{summary}`,place:{files:`文件`,terminal:`终端`,memory:`记忆`,web:`网页`,mac:`你的 Mac`}},Et={cancel:`取消`,icon:`图标`,name:`名称`,noIcon:`无图标`},Dt={heading:`为新聊天添加插件`,managePlugins:`管理插件`,showAll:`显示全部 (+{count})`,showLess:`显示更少`,tooltip:`选择此聊天可使用的插件。您的选择将在您发送第一条消息时应用,并保留在此对话中。`},Ot={managePlugins:`管理插件`},kt={approvalAria:`关于助手批准`,approvalTooltip:`未经您的批准,{name} 绝不会代表您行事`,connect:`连接`,connectTitle:`连接 {name}`,connected:`已连接`,defaultDescription:`连接 {name},以便我能将其用于此任务。`,dismiss:`忽略`,missingDetails:`缺少助手或提供商详细信息。`,tenantHostInvalid:`请输入有效的{label},例如 {placeholder}`,thisAccount:`此账户`,waiting:`等待中...`,yourAssistant:`您的助手`},At={continue:`继续`,helpWithHeading:`我能帮您什么?`,letsChat:`我们来聊聊`,other:`其他`,otherPlaceholder:`您需要什么帮助?`,selectAll:`选择所有适用项`,somethingElse:`其他事项`,specific:`我有一个具体事项`},jt={message:`此对话分支所源自的对话已被删除,因此分支点之前的消息已丢失。此后发送的所有内容均完好无损。`},Mt={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:`用量`},Nt={formStepsAria:`表单步骤`},Pt={loadingPdf:`正在加载PDF`},Ft={pageCapNotice:`{count, plural, one {显示第一页} other {显示前 # 页}}`},It={startedAt:`开始于 {time}`},Lt={colors:{green:`绿色`,orange:`橙色`,pink:`粉色`,purple:`紫色`,teal:`青色`,yellow:`黄色`},noColor:`无颜色`},Rt={unpin:`取消固定`,unpinAria:`取消固定 {name}`},zt={disableAria:`为此聊天禁用 {name}`,enableAria:`为此聊天启用 {name}`},Bt={admin:`管理`,preferences:`偏好设置`,settings:`设置`,shareFeedback:`分享反馈`},Vt={addCreditsAriaLabel:`添加额度`,dailyExhausted:`今日用量已用完。添加额度以继续。`,dailyTitle:`每日用量`,exhausted:`添加额度以继续。`,extraCredits:`正在使用额外用量额度`,pctUsed:`已使用 {pct}%`,settingsAriaLabel:`用量和账单设置`,title:`用量`},Ht={cannotPreview:`无法预览此文件`},Ut={download:`下载`,downloadAria:`下载 {filename}`},Wt={loadingPreview:`正在加载预览`},Gt={markdown:`显示前 512 KB`,text:`显示前 2 MB`},Kt={downloadFile:`下载文件`,goToFile:`前往文件`,noPreviewForType:`此文件类型无预览`},qt={agentsLabel:`代理`,agentsToggleAria:`代理:{running, plural, =0 {无运行中} other {# 个运行中}},{completed, plural, =0 {无已完成} other {# 个已完成}}`,railAria:`进度`,stepCounter:`第 {current} 步,共 {total} 步`,title:`进度`,titleFinished:`已完成`,titleStopped:`已停止`},Jt={noActiveSession:`无活动会话。请重试。`},Yt={availableTools:`可用工具`,bannerNoSections:`此调用尚无标准化提示词部分。`,bannerSectionsCount:`{count, plural, other {显示由助手路由返回的 # 个标准化请求部分。}}`,collapseAll:`全部折叠`,copyAriaLabel:`复制 {title}`,emptyBody:`此调用无标准化提示词部分。请使用“原始”选项卡检查完整的请求负载。`,emptyTitle:`无标准化提示词部分`,expandAll:`全部展开`,formatJavaScript:`JavaScript`,formatJson:`JSON`,formatMarkdown:`Markdown`,formatTypeScript:`TypeScript`,noContentAvailable:`无可用内容。`,promptSectionsTitle:`提示词部分`},Xt={body:`向您的提供商充值或降低模型Token 限制。`,title:`您的 API 密钥需要充值`},Zt={refreshing:`正在刷新`},Qt={submitFailed:`提交回复失败。请重试。`},$t={expandAria:`重新打开问题`,minimizeAria:`最小化问题`,nextQuestionAria:`下一个问题`,optionAria:`选项 {number}:{label}`,previousQuestionAria:`上一个问题`,position:`{current} / {total}`,sendResponseAria:`发送回复`,skip:`跳过`,skipAria:`跳过此问题`,skipped:`已跳过`,skippedHint:`已跳过 - 选择一个选项以覆盖`,typeDifferentAnswerAria:`输入不同的答案`,typeSomethingElsePlaceholder:`输入其他内容`},en={cancelAll:`取消全部`,cancelAllAria:`取消所有排队消息`,cancelAria:`取消排队消息`,editAria:`编辑排队消息`,pushToAgentAria:`推送给助手`,queueHeading:`队列 · {count}`,showActionsAria:`显示排队消息操作`},tn={addToChat:`添加到聊天`,ariaLabel:`引用并回复`,cancel:`取消`,placeholder:`输入您的回复…`},nn={input:`原始输入`,output:`原始输出`},rn={copyRequestPayloadAriaLabel:`复制请求负载`,copyResponsePayloadAriaLabel:`复制响应负载`,downloadFailedToast:`下载负载失败。`,downloadRequestPayloadAriaLabel:`下载请求负载`,downloadResponsePayloadAriaLabel:`下载响应负载`,loadErrorTitle:`无法加载原始负载`,loading:`正在加载原始负载…`,payloadRequestFailed:`负载请求失败。请重试。`,request:`请求`,requestPayload:`请求负载`,response:`响应`,responsePayload:`响应负载`,retry:`重试`},an={clickToReveal:`点击显示`,clickToRevealTitle:`{label} · 点击显示`,copyValue:`复制值`,copyValueAria:`复制 {name} 的值`,hideValue:`隐藏值`,hideValueAria:`隐藏 {name} 的值`,redacted:`已遮盖`,redactedTitle:`已遮盖 - 此值未链接到存储的凭据`,redactionMarkerTitle:`遮盖标记 - 未经助手验证`,revealFailed:`无法显示 {name}。`,revealValueAria:`显示 {name} 的值`},on={retryAria:`重试刷新`},sn={save:`保存`,title:`重命名对话`},cn={defaultStatus:`正在搜索网页以了解您。`,heading:`正在了解您…`,reading:`正在阅读 <title>{title}</title><domain> · {domain}</domain>`,searchingFor:`正在搜索 <query>“{query}”</query>`,warmingUp:`正在预热搜索…`},ln={editRemovalAria:`编辑移除`,keepIt:`保留`,removeAria:`移除`,sources:`来源`,whyRemove:`为何移除此项?`},un={heading:`正在了解您…`,mockNote:`(模拟 - 实时流程在此处显示搜索活动源)`,resultsTitle:`这是我了解到的关于您的信息。您可以移除任何不真实的内容:`},dn={body:`这是我了解到的关于您的信息。您可以移除任何不真实的内容:`,loading:`正在了解您…`},fn={continue:`继续`,emptyBody:`这次我无法整理出清晰的个人资料。我们可以在后续交流中互相了解。`,emptyTitle:`我们直接开始吧。`},pn={heading:`以下是我可以如何帮助您开始:`},mn={argumentsPreview:`参数预览`,copySectionAria:`复制章节内容`,kindAssistantText:`助手文本`,kindFunctionResponse:`函数响应`,kindReasoning:`推理`,kindToolCall:`工具调用`,kindToolResult:`工具结果`,modeResultOnly:`仅结果响应`,modeTextOnly:`仅文本响应`,modeToolCalling:`工具调用响应`,noArgumentsPreview:`此工具调用没有可用的结构化参数预览。`,noAssistantText:`此章节未捕获到助手文本。`,noSectionsFallback:`此响应没有渲染的章节。原始负载在“原始数据”选项卡中仍然可用,并且任何规范化的响应元数据(如果存在)仍将显示。`,rawTabHint:`需要完整的提供者负载?打开“原始数据”选项卡查看请求和响应 JSON。`,responseMetadata:`响应元数据`,sectionTitle:`章节 {number}`,sectionUnavailable:`章节渲染不可用`,stopReasonChip:`停止原因:{reason}`,toolChip:`工具:{name}`},hn={saveFailed:`保存信任规则失败。请重试。`},gn={aria:`前往最新消息`,label:`前往最新`},_n={submitFailed:`提交密钥失败。请重试。`},vn={showValue:`显示值`,hideValue:`隐藏值`,cancel:`取消`,domains:`域:{list}`,placeholder:`输入密钥值...`,save:`保存`,savedSecurely:`已安全保存`,saving:`正在保存...`,secretValueFallback:`密钥值`,sendOnce:`发送一次(不保存)`,sending:`正在发送...`,storedSecurelyNote:`此信息安全地存储在您的设备上,不会发送到任何服务器。AI 永远不会看到此值。`,title:`安全凭据`,tools:`工具:{list}`},yn={body:`自托管助手的对话尚未在网页端提供。请从设置中管理您的助手。`,openSettings:`打开设置`,title:`自托管助手`},bn={settingUp:`正在设置您的助手…`},xn={yourAssistant:`您的助手`},Sn={newChat:`新建聊天`},Cn={label:`返回顶部`},wn={message:`您的对话加载失败。`,retry:`重试`},Tn={loadingAria:`正在加载对话`},En={newGroup:`新建群组…`},Dn={label:`查看所有聊天`},On={webSearch:`网页搜索`},kn={actionsAria:`技能操作`,closeDetails:`关闭技能详情`,goToSkill:`前往技能`,loadError:`此技能无法加载。它可能已被移除。`,moreTooltip:`更多`,removeSkill:`移除技能`,titleFallback:`技能`},An={runningSuffix:` · 正在运行`,unnamedTool:`技能工具`},jn={view:`查看`},Mn={failed:`加载失败`,loading:`正在加载技能…`,loadingAria:`正在加载技能`,notApproved:`未获批准`,provides:`提供`,unnamedSkill:`技能`,usedSkill:`已用技能`},Nn={fromSkill:`来自 {name}`},Pn={callLink:`调用 {number}`,emptyBody:`此选项卡列出了对话中所有的 <code>skill_load</code> 工具调用。在捕获的 LLM 调用中未检测到任何此类调用。`,emptyTitle:`此对话中未加载任何技能`,loadCount:`{count, plural, other {# 次加载}}`,summaryStats:`{uniqueCount, plural, other {# 个独特技能}} · {totalLoads, plural, other {# 次加载调用}}`,summaryTitle:`此对话中加载的技能`},Fn={editReplyAria:`编辑回复`,removeQuoteAria:`移除引用`,typeReplyPlaceholder:`输入您的回复…`},In={successToast:`已安全存储。密钥从未进入聊天。`},Ln={backToTimelineAria:`返回时间线`,backTooltip:`返回`,closeDetail:`关闭子代理详情`,input:`输入`,noEventsYet:`暂无事件`,objective:`目标`,output:`输出`,stopSubagentAria:`停止子代理`,timeline:`时间线`},Rn={viewReasoning:`查看推理过程`,viewSearchDetails:`查看搜索详情`,viewSearchError:`查看搜索错误`,viewToolDetails:`查看工具详情`,workedFor:`运行了 {duration}`},zn={stopSubagentAria:`停止子代理`},Bn={openAria:`打开建议:{title}`},Vn={closeAria:`关闭`,letsDoIt:`开始吧!`,thingsWeCanDo:`我们可以做:`,whatWellNeed:`我们需要:`},Hn={scrollForMore:`向下滚动查看更多`},Un={submitFailed:`提交失败。请重试。`},Wn={cancelled:`已取消`,displayFailed:`无法显示此内容。`,displayFailedNamed:`无法显示“{title}”。`,done:`完成`,unknownSurface:`未知界面`,unsupportedType:`不支持的界面类型:{type}`},Gn={copied:`已复制`,copy:`复制`,copyAria:`将表格复制为 Markdown`,copyFailed:`无法复制表格。`,table:`表格`},Kn={continue:`继续`,defaultTitle:`我能帮您什么?`,other:`其他`,otherPlaceholder:`描述您需要什么帮助...`,selectAll:`选择所有适用项`,somethingElse:`完全是其他事情`},qn={loadFailed:`加载预览失败。`,tooLarge:`文件过大,无法内联预览。`},Jn={reply:`回复`},Yn={title:`思考中`},Xn={adding:`正在添加…`,blockquote:`引用`,bold:`粗体`,bulletList:`项目符号列表`,code:`代码`,comment:`评论`,feedbackPlaceholder:`添加您的反馈…`,heading1:`标题 1`,heading2:`标题 2`,heading3:`标题 3`,italic:`斜体`,link:`链接`,linkAddress:`链接地址`,linkApply:`应用链接`,linkInvalid:`请输入网址或电子邮件地址`,linkPlaceholder:`粘贴或输入链接`,linkRemove:`移除链接`,orderedList:`编号列表`,paragraph:`正文`,placeholder:`开始写作…`,remoteEditConflict:`助手修改了您正在编辑的同一段文字,已保留您的修改,因此其部分编辑未被应用。`,strike:`删除线`,textStyle:`文本样式:{style}`,toolbarAria:`格式`},Zn={allow:`允许`,confirmationRequired:`需要确认`,copyOutput:`复制输出`,deny:`拒绝`,hideDetails:`隐藏详情`,output:`输出`,showDetails:`显示详情`,technicalDetails:`技术详情`,toolLatency:`工具延迟:`,toolName:`工具名称`},Qn={defaultValue:`默认值:{value}`,inputSchema:`输入架构`,intro:`{count, plural, other {# 个工具}}随此请求发送。展开工具可查看其定义和输入架构。`,noInputSchema:`无输入架构 - 此工具不接受结构化输入。`,required:`必填`,settings:`设置`},$n={changes:`更改`,closeAria:`关闭工具详情`,command:`命令`,denied:`此工具调用未获批准,因此没有运行。`,emptyOutput:`该工具没有返回任何输出。`,output:`输出`,requestedChanges:`请求的更改`,running:`正在运行…`},er={parameters:`参数`,moreCount:`{count, plural, other {另有 # 项,见“原始输入”}}`},tr={moreCount:`{count, plural, other {另有 # 项,见“原始输出”}}`},nr={copyValue:`复制 {label}`},rr={openAria:`打开 {label}`,viewDetailsAria:`查看详情:{label}`},ir={fileUnavailable:`文件不可下载`,fileUnavailableHostTimeout:`文件不可下载(主机文件审批可能已超时)`,stopCommand:`停止命令`,stopRun:`停止运行`,stopWorkflow:`停止工作流`},ar={thinking:`思考中`,working:`处理中`},or={authFailed:`用户身份验证失败。`},sr={assistantBusy:`您的助手正忙。请在回复完成后重试。`,retryFailed:`无法重试响应`,summarizeFailed:`无法总结对话`},cr={commandFailed:`无法运行该命令。请重试。`,doctorUnavailable:`此助手上无法使用医生功能。`},lr={downloadFile:`下载文件`,goToFile:`前往文件`},ur={sketching:`正在绘制视觉效果...`},dr={visual:`视觉效果`},fr={ariaLabel:`语音会话`,endSession:`结束语音会话`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,muted:`已静音`,openVoiceRoom:`打开语音房间`,unmuteAssistant:`取消静音助手`,unmuteMicrophone:`取消静音麦克风`},pr={seed:`嘿,我刚和你开始了语音对话。此消息是自动发送的。请用一句话问候我,然后问我想做什么。`},mr={selectionUnavailable:`无法读取选中的文本。未粘贴任何内容。请重新选择文本后重试;您所说的内容可供复制。`,nativeSttNoTranscript:`{clientName} 原生听写未返回转录文本。请检查系统设置中的原生语音识别,然后重试。`,askUnavailable:`助手当前无法接收语音提问。`},hr={backAria:`返回`,description:`与 {name} 进行免提语音对话。`,listeningLanguage:`识别语言`,listeningLanguageApplies:`从您的下一次语音轮次开始生效。`,liveCaptions:`随时开启实时字幕。`,muteMic:`静音麦克风,但不结束会话。`,speakNaturally:`自然说话,{name} 会大声回复。`,startTalking:`开始说话`,title:`语音模式`,voiceSettings:`语音设置`,yourAssistant:`您的助手`},gr={unavailable:`此助手目前无法选择语音。`},_r={ariaLabel:`语音会话`,closeCamera:`关闭摄像头`,endSessionAria:`结束语音会话`,endSessionTooltip:`结束会话`,flashAuto:`自动闪光灯`,flashAutoBadge:`A`,flashOff:`关闭闪光灯`,flashOn:`开启闪光灯`,flipCamera:`翻转摄像头`,lightOff:`关闭补光灯`,lightOn:`开启补光灯`,minimizeAria:`最小化语音房间`,minimizeTooltip:`最小化(会话仍在进行)`,muteAssistant:`静音助手`,muteMicrophone:`静音麦克风`,mutedState:`已静音。{state}`,showCamera:`显示摄像头`,stopLive:`停止实时`,takePhoto:`拍照`,unmuteAssistant:`取消静音助手`,unmuteMicrophone:`取消静音麦克风`},vr={dismiss:`关闭`,endSession:`结束语音会话`,goToThreadAria:`前往语音会话线程`,groupAria:`语音会话`,muteAssistant:`静音助手`,muteMic:`静音麦克风`,unmuteAssistant:`取消静音助手`,unmuteMic:`取消静音麦克风`},yr={muted:`已静音`},br={commandFinished:`后台命令已完成`,incomingEvent:`收到事件`,memoryReview:`记忆回顾`,ranOnItsOwn:`自动运行`,resumed:`中断后已恢复`,scheduledRun:`定时运行`,watchReview:`观察会话回顾`,workflowFinished:`工作流已完成`},xr={details:`详细信息`,result:`结果`,runStatus:`运行状态`,title:`对话已唤醒`,workflow:`工作流`,closeAria:`关闭详情`},Sr={celsius:`°C`,fahrenheit:`°F`,feelsLike:`体感 {temp}°`,highLow:`高:{high}° 低:{low}°`,now:`现在`},Cr={fetchFailed:`获取失败。`,mayRequireJavaScript:`此页面可能需要 JavaScript 才能完整显示,因此部分内容可能缺失。`,startIndexPastEnd:`读取起点超出了此页面的末尾,因此没有读取到任何内容。`,truncated:`只读取了此页面的一部分。`},wr={noSources:`未找到来源。`,query:`查询`,sources:`来源`,sourcesWithCount:`来源 ({count})`},Tr={moreCount:`另有 {count} 项`},Er={after:`之后`,before:`之前`,notSet:`未设置`,removed:`已移除`},Dr={agents:`代理`,back:`返回`,backToSubagentsAria:`返回子代理`,closeDetail:`关闭工作流详情`,input:`输入`,noSubagentsYet:`暂无子代理`,output:`输出`,stopWorkflow:`停止工作流`,subagents:`子代理`},Or={input:`输入`,noPromptSummary:`暂无提示词摘要`,noResultSummary:`暂无结果摘要`,output:`输出`,prompt:`提示词`,result:`结果`,running:`运行中…`},kr={cancelledAria:`已取消`,openDetailsAria:`打开 {title} 详情`},Ar={openTitle:`打开 {path}`},jr={beyondPreviewLimit:`此工作表的单元格均超出预览限制`,emptySheet:`此工作表为空`,sheetUnreadable:`无法读取此工作表`,sheetsAria:`工作表`,sheetsOmitted:`{count, plural, other {另有 # 个工作表未显示}}`,summary:`{sheet}:{rows, plural, other {# 行}} x {columns, plural, other {# 列}}`,summaryTruncated:`{sheet}:{rows, plural, other {# 行}} x {columns, plural, other {# 列}}(已截断)`,summaryColumnsCut:`{sheet}:{rows, plural, other {# 行}} x {columns, number} / {total, plural, other {# 列}}`,summaryRowsCut:`{sheet}:{rows, number} / {total, plural, other {# 行}} x {columns, plural, other {# 列}}`,summaryBothCut:`{sheet}:{rows, number} / {totalRows, plural, other {# 行}} x {columns, number} / {totalColumns, plural, other {# 列}}`,countsColumnsCut:`{rows, plural, other {# 行}} x {columns, number} / {total, plural, other {# 列}}`,countsRowsCut:`{rows, number} / {total, plural, other {# 行}} x {columns, plural, other {# 列}}`,countsBothCut:`{rows, number} / {totalRows, plural, other {# 行}} x {columns, number} / {totalColumns, plural, other {# 列}}`},Mr={noResponse:`决定不回复`,reactionAddedSelf:`已用 {emoji} 回应`,reactionRemovedSelf:`已移除 {emoji} 回应`,reactionAdded:`{name} 用 {emoji} 回应`,reactionRemoved:`{name} 移除了 {emoji} 回应`,reactionSomeone:`有人`},Nr={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:`观察到的操作`},Pr={restore:`恢复访问`,restoring:`正在恢复...`,restored:`已恢复。由 Cadet 托管的模型重新可用。`,failedNoAssistant:`请选择一个助手,然后重试。`,failedCannotActHere:`此应用无法为该助手恢复凭据。请在运行该助手的电脑上打开它。`,failedReplacementRejected:`Cadet 拒绝了新的凭据。请登录 Cadet 平台后重试。`,failedUnconfirmed:`新凭据已保存,但无法与 Cadet 确认。它可能很快就会生效。`,failedGeneric:`无法恢复访问。请稍后重试。`},Fr={emptyBody:`我随时都在思考。当有值得您关注的事情时,我会在这里发起对话。`,emptyTitle:`目前还没有任何想法。`},Ir={doneEmptyBody:`标记为已完成的聊天会保留在“所有聊天”中。`,doneEmptyTitle:`全部处理完毕。`,emptyBody:`开始新的聊天后,它会显示在这里。`,emptyTitle:`还没有聊天。`},Lr={expand:`展开`,collapse:`收起`},Rr={hide:`隐藏来自 {name} 的对话`,show:`显示来自 {name} 的对话`},zr={turn:`我点击了 {label}。接下来呢?`},Br={count:`{count, plural, other {# 个摄像头画面}}`,timeRange:`保存时间:{first} 至 {last}`,savedTime:`保存于 {time}`,pendingAria:`摄像头画面,图像仍在加载。{time}`,timeUnavailable:`时间不可用`},Vr={showPreview:`显示实时预览`,needsHelp:`虚拟桌面需要你的帮助。`,stepIn:`接管`,done:`完成`,skip:`跳过`,showMore:`展开`,showLess:`收起`},Hr={saved:`已保存`,saving:`正在保存`,notSaved:`未保存`},Ur={searchedFor:`搜索内容`,scope:`{depth} · {sources}`,answer:`回答`,evidence:`{count, plural, other {# 条结果}}`,noEvidence:`没有找到相关内容。`,degraded:`部分位置未能完整搜索`,degradedSource:`{source}:{error}`},Wr={source:`{source, select, memory {记忆} conversations {对话} workspace {工作区文件} other {{source}}}`,depth:`{depth, select, fast {快速搜索} standard {标准搜索} deep {深度搜索} other {搜索}}`},Gr={addCredits:`添加额度`,subtitle:`您已用完今日的免费用量,将在{resetPhrase}重置。升级或添加额度以继续。`,title:`今日免费用量已用完`,viewPlans:`查看方案`},Kr={title:`聊天设置`,description:`管理此助手在所有设备上的自动完成标记和聊天回复提醒。`,autoArchive:`自动归档聊天`,autoArchiveHelper:`将不活跃的聊天标记为已完成,包括已超过此时限的旧聊天。已完成的聊天仍保留在所有聊天中。`,timeToArchive:`归档时限`,days:`{count, plural, other {# 天}}`,notifications:`聊天回复提醒`,notificationsHelper:`接收当前未查看的聊天中的回复提醒。`,cancel:`取消`,confirm:`确认`,saving:`正在保存…`,loading:`正在加载聊天设置…`,retry:`重试`,loadError:`无法加载聊天设置。请重试。`,saveError:`无法保存聊天设置。你的修改仍保留在此处。点击确认以重试。`,unsupported:`请更新此助手以使用聊天设置。`},qr={label:`邮件`,unpin:`取消固定邮件`},Jr={title:`开始语音聊天?`,detail:`你使用了语音快捷键。麦克风将保持开启,让你与助手交谈,即使你正在使用其他应用。结束通话即可停止收音。`,confirm:`继续`,cancel:`取消`,always:`始终开始`},Yr={title:`附件与设置`,close:`关闭设置`,back:`返回`,allModes:`所有模型 · {count}`,newMode:`新建`,builtIn:`内置`,yours:`自定义`,beta:`测试版`,noModes:`没有可用模型。`,autonomyTitle:`自主程度`,modeTitle:`模型`,loading:`加载中`,more:`更多({count})`,customHint:`自定义 · {model}`,preferencesFailed:`无法保存偏好设置。请重试。`,saveFailed:`无法保存此设置。请重试。`,preferencesUnavailable:`偏好设置暂不可用。连接恢复后请重试。`,updateRequired:`更新助手以同步偏好设置,并在第一条消息前选择自主程度。`,camera:`相机`,photos:`照片`,files:`文件`,attach:`添加附件`,autonomy:{none:{label:`严格`,hint:`操作前先询问。`},low:{label:`谨慎`,hint:`处理低风险任务和编辑。`},medium:{label:`宽松`,hint:`高风险操作前会询问。`},high:{label:`免确认`,hint:`在访问权限范围内自动批准。`}},modes:{auto:{hint:`为每项任务选择模型。`},balanced:{hint:`兼顾速度、深度和费用。`},quality:{hint:`更深入,速度更慢、费用更高。`},fast:{hint:`更快、更便宜,深度较低。`},budget:{hint:`费用最低,可能遗漏细节。`},experimental:{label:`开放测试`,hint:`开源测试版,结果可能不稳定。`}},allModelsLink:`所有模型({count})`,allModelsList:`所有模型`},Xr={askQuestionDetail:e,documentChat:t,acpChatPlanBlock:n,acpChatTerminalBlock:r,acpChatToolCard:i,acpConnectAffordance:a,acpRunChatView:o,activeChatView:s,markAllDoneConfirmDialog:c,mobileDetailSheet:l,activityStepsPanel:u,computerUseScreenshotPreview:d,addToChatSheet:f,allowOptionsMenu:p,appAssetActions:m,archiveAllConfirmDialog:h,assistantContentDisclosure:g,actionDisplay:_,allChatsPage:v,sessionGroupRow:y,assistantDesktop:b,assistantNavItem:x,assistantSideMenu:S,assistantSleepStage:C,assistantSwitcher:w,attachmentChip:T,attachmentDownloadOverlay:E,attachmentLoadingChip:D,attachmentOverflowSquare:O,attachmentPreviewModal:k,attachmentTile:A,backgroundTaskDetailPanel:j,billingErrorBanner:M,cacheBreakpointMapCard:N,cacheDiffCard:P,cacheHealthCard:F,callRail:I,callSummarySurface:L,cameraDeepLink:R,cameraError:z,cameraExplainer:B,cameraShutterHint:V,cameraStatusPill:H,cameraViewOptions:U,cardSurface:W,channelReferenceChip:G,channelSetupPanel:K,channelThreadControl:q,channelTranscriptPanel:J,chatAttachments:Y,emailReferenceChip:X,emailReferenceCard:Z,chatBody:Q,chatComposer:$,chatConversationHeader:ee,chatInfoPanel:te,chatLayout:ne,chatLayoutHeader:re,chatMarkdownMessage:ie,chatPage:ae,chatRouteContent:oe,chatRuleEditorModal:se,choiceSurface:ce,cleanupScreen:le,collapsedGroupIcon:ue,compactionCircuitOpenBanner:de,compactionTab:fe,composerDraftNotices:pe,composerNotices:me,composerSecretNotice:he,confirmationActions:ge,confirmationPromptCard:_e,contactActions:ve,contactPromptCard:ye,contactRecordCard:be,contextWindowIndicator:xe,conversationActions:Se,conversationActionsSheet:Ce,conversationAssetActions:we,conversationAssets:Te,conversationStarterDock:Ee,conversationStarterGrid:De,copyBlockSurface:Oe,copyIdToClipboard:ke,creditsCard:Ae,creditsUpsellCard:je,csvPreview:Me,dailyLimitBanner:Ne,deleteConversationConfirmDialog:Pe,deletedMessageRow:Fe,documentAssetActions:Ie,documentCommentForm:Le,documentCommentPanel:Re,documentCommentThread:ze,documentPreviewSurface:Be,documentReopenLink:Ve,documentViewerContainer:He,documentConversation:Ue,documentViewerPage:We,dynamicPageSurface:Ge,exportProgressModal:Ke,fileDiffView:qe,fileDownload:Je,filePreviewContainer:Ye,fileUploadSurface:Xe,formSurface:Ze,frameGateHud:Qe,groupActions:$e,groupActionsSheet:et,groupNameDialogFromStore:tt,inChatOnboardingController:nt,inChatPluginPill:rt,inlineProcessCard:it,inspectPage:at,liveVoiceBusy:ot,liveVoiceButton:st,liveVoiceStatus:ct,llmCallErrorCard:lt,localFileEmbed:ut,localFileLink:dt,localFileMenu:ft,lowBalanceBanner:pt,maintenanceModeBanner:mt,maintenanceRecoveryCard:ht,memoryRouterPlaygroundPage:gt,memoryTab:_t,messageFilesPanel:vt,messageHoverActions:yt,messageLongPressActions:bt,micPermissionPrimer:xt,missingApiKeyBanner:St,mobileCallSelector:Ct,multiActivityGroup:wt,quietTurnProgress:Tt,nameInputDialog:Et,newChatPluginsPicker:Dt,newChatPluginsSection:Ot,oauthConnectSurface:kt,onboardingChoiceCard:At,orphanedHistoryNotice:jt,overviewTab:Mt,pageTabs:Nt,pdfPageSkeleton:Pt,pdfPreview:Ft,phaseGroupedStepList:It,pinnedAppColorSwatches:Lt,pinnedAppNavItem:Rt,pluginPill:zt,preferencesMenu:Bt,preferencesUsagePanel:Vt,previewError:Ht,previewMessageCard:Ut,previewSkeleton:Wt,previewTruncationNotice:Gt,previewUnsupported:Kt,progressRail:qt,promptSubmission:Jt,promptTab:Yt,providerBillingBanner:Xt,pullRefreshSpinner:Zt,questionActions:Qt,questionPromptCard:$t,queuedMessagesDrawer:en,quoteReplyBubble:tn,rawDisclosure:nn,rawTab:rn,redactedCredentialChip:an,refreshFeedbackPill:on,renameDialogFromStore:sn,researchActivityFeed:cn,researchFactsCard:ln,researchMockPage:un,researchResultsOverlay:dn,researchResultsView:fn,researchSuggestions:pn,responseTab:mn,ruleEditorActions:hn,scrollToLatestButton:gn,secretActions:_n,secretPromptCard:vn,selfHostedScreen:yn,setupScreen:bn,sideMenuBuiltInNav:xn,sideMenuOverlayBottomColumn:Sn,sidebarBackToTop:Cn,sidebarConversationError:wn,sidebarConversationSkeleton:Tn,sidebarListContextMenu:En,sidebarSectionViewAll:Dn,singleActivity:On,skillDetailPanel:kn,skillExecuteDetail:An,skillLoadCard:jn,skillLoadDetail:Mn,skillToolList:Nn,skillsTab:Pn,stagedQuotesStrip:Fn,storeCredentialDialog:In,subagentDetailPanel:Ln,subagentPhaseTimeline:Rn,subagentSpawnGroup:zn,suggestionCard:Bn,suggestionDetailPanel:Vn,suggestionLibrary:Hn,surfaceActions:Un,surfaceRouter:Wn,tableSurface:Gn,taskPreferencesSurface:Kn,textPreview:qn,textSelectionPopover:Jn,thinkingDetail:Yn,tiptapDocumentEditor:Xn,toolCallChip:Zn,toolDefinitionsContent:Qn,toolDetailPanel:$n,toolInputParameters:er,toolOutputSection:tr,valueFields:nr,toolStepPill:rr,transcriptMessageBody:ir,transcriptRow:ar,useConversationLoader:or,useConversationSecondaryActions:sr,useSendMessage:cr,cadetFileActionModal:lr,visualPlaceholder:ur,visualSurface:dr,voiceComposerBar:fr,voiceEntryGreeting:pr,voiceErrors:mr,voiceFirstRunCard:hr,voicePickerSurface:gr,voiceRoom:_r,voiceSessionPill:vr,voiceSessionPillHost:yr,wakeCard:br,wakeDetailPanel:xr,weatherForecastDisplay:Sr,webFetchDetailView:Cr,webSearchDetailView:wr,webSearchStepRow:Tr,workResultSurface:Er,workflowDetailPanel:Dr,workflowLeafDetail:Or,workflowSubagentRow:kr,workspacePathLink:Ar,xlsxPreview:jr,transcript:Mr,watchRetroSurface:Nr,restoreCloudCredentialButton:Pr,assistantSection:Fr,chatsSection:Ir,sidebarExpandRow:Lr,assistantSectionToggle:Rr,coachmarkPress:zr,cameraFrameGrid:Br,desktopHelpCard:Vr,rememberDetail:Hr,recallDetail:Ur,recallLabels:Wr,freeTierDailyLimitBanner:Gr,chatsSettingsModal:Kr,emailNavItem:qr,voiceShortcutConfirmation:Jr,composerConfiguration:Yr};export{n as acpChatPlanBlock,r as acpChatTerminalBlock,i as acpChatToolCard,a as acpConnectAffordance,o as acpRunChatView,_ as actionDisplay,s as activeChatView,u as activityStepsPanel,f as addToChatSheet,v as allChatsPage,p as allowOptionsMenu,m as appAssetActions,h as archiveAllConfirmDialog,e as askQuestionDetail,g as assistantContentDisclosure,b as assistantDesktop,x as assistantNavItem,Fr as assistantSection,Rr as assistantSectionToggle,S as assistantSideMenu,C as assistantSleepStage,w as assistantSwitcher,T as attachmentChip,E as attachmentDownloadOverlay,D as attachmentLoadingChip,O as attachmentOverflowSquare,k as attachmentPreviewModal,A as attachmentTile,j as backgroundTaskDetailPanel,M as billingErrorBanner,N as cacheBreakpointMapCard,P as cacheDiffCard,F as cacheHealthCard,lr as cadetFileActionModal,I as callRail,L as callSummarySurface,R as cameraDeepLink,z as cameraError,B as cameraExplainer,Br as cameraFrameGrid,V as cameraShutterHint,H as cameraStatusPill,U as cameraViewOptions,W as cardSurface,G as channelReferenceChip,K as channelSetupPanel,q as channelThreadControl,J as channelTranscriptPanel,Y as chatAttachments,Q as chatBody,$ as chatComposer,ee as chatConversationHeader,te as chatInfoPanel,ne as chatLayout,re as chatLayoutHeader,ie as chatMarkdownMessage,ae as chatPage,oe as chatRouteContent,se as chatRuleEditorModal,Ir as chatsSection,Kr as chatsSettingsModal,ce as choiceSurface,le as cleanupScreen,zr as coachmarkPress,ue as collapsedGroupIcon,de as compactionCircuitOpenBanner,fe as compactionTab,Yr as composerConfiguration,pe as composerDraftNotices,me as composerNotices,he as composerSecretNotice,d as computerUseScreenshotPreview,ge as confirmationActions,_e as confirmationPromptCard,ve as contactActions,ye as contactPromptCard,be as contactRecordCard,xe as contextWindowIndicator,Se as conversationActions,Ce as conversationActionsSheet,we as conversationAssetActions,Te as conversationAssets,Ee as conversationStarterDock,De as conversationStarterGrid,Oe as copyBlockSurface,ke as copyIdToClipboard,Ae as creditsCard,je as creditsUpsellCard,Me as csvPreview,Ne as dailyLimitBanner,Xr as default,Pe as deleteConversationConfirmDialog,Fe as deletedMessageRow,Vr as desktopHelpCard,Ie as documentAssetActions,t as documentChat,Le as documentCommentForm,Re as documentCommentPanel,ze as documentCommentThread,Ue as documentConversation,Be as documentPreviewSurface,Ve as documentReopenLink,He as documentViewerContainer,We as documentViewerPage,Ge as dynamicPageSurface,qr as emailNavItem,Z as emailReferenceCard,X as emailReferenceChip,Ke as exportProgressModal,qe as fileDiffView,Je as fileDownload,Ye as filePreviewContainer,Xe as fileUploadSurface,Ze as formSurface,Qe as frameGateHud,Gr as freeTierDailyLimitBanner,$e as groupActions,et as groupActionsSheet,tt as groupNameDialogFromStore,nt as inChatOnboardingController,rt as inChatPluginPill,it as inlineProcessCard,at as inspectPage,ot as liveVoiceBusy,st as liveVoiceButton,ct as liveVoiceStatus,lt as llmCallErrorCard,ut as localFileEmbed,dt as localFileLink,ft as localFileMenu,pt as lowBalanceBanner,mt as maintenanceModeBanner,ht as maintenanceRecoveryCard,c as markAllDoneConfirmDialog,gt as memoryRouterPlaygroundPage,_t as memoryTab,vt as messageFilesPanel,yt as messageHoverActions,bt as messageLongPressActions,xt as micPermissionPrimer,St as missingApiKeyBanner,Ct as mobileCallSelector,l as mobileDetailSheet,wt as multiActivityGroup,Et as nameInputDialog,Dt as newChatPluginsPicker,Ot as newChatPluginsSection,kt as oauthConnectSurface,At as onboardingChoiceCard,jt as orphanedHistoryNotice,Mt as overviewTab,Nt as pageTabs,Pt as pdfPageSkeleton,Ft as pdfPreview,It as phaseGroupedStepList,Lt as pinnedAppColorSwatches,Rt as pinnedAppNavItem,zt as pluginPill,Bt as preferencesMenu,Vt as preferencesUsagePanel,Ht as previewError,Ut as previewMessageCard,Wt as previewSkeleton,Gt as previewTruncationNotice,Kt as previewUnsupported,qt as progressRail,Jt as promptSubmission,Yt as promptTab,Xt as providerBillingBanner,Zt as pullRefreshSpinner,Qt as questionActions,$t as questionPromptCard,en as queuedMessagesDrawer,Tt as quietTurnProgress,tn as quoteReplyBubble,nn as rawDisclosure,rn as rawTab,Ur as recallDetail,Wr as recallLabels,an as redactedCredentialChip,on as refreshFeedbackPill,Hr as rememberDetail,sn as renameDialogFromStore,cn as researchActivityFeed,ln as researchFactsCard,un as researchMockPage,dn as researchResultsOverlay,fn as researchResultsView,pn as researchSuggestions,mn as responseTab,Pr as restoreCloudCredentialButton,hn as ruleEditorActions,gn as scrollToLatestButton,_n as secretActions,vn as secretPromptCard,yn as selfHostedScreen,y as sessionGroupRow,bn as setupScreen,xn as sideMenuBuiltInNav,Sn as sideMenuOverlayBottomColumn,Cn as sidebarBackToTop,wn as sidebarConversationError,Tn as sidebarConversationSkeleton,Lr as sidebarExpandRow,En as sidebarListContextMenu,Dn as sidebarSectionViewAll,On as singleActivity,kn as skillDetailPanel,An as skillExecuteDetail,jn as skillLoadCard,Mn as skillLoadDetail,Nn as skillToolList,Pn as skillsTab,Fn as stagedQuotesStrip,In as storeCredentialDialog,Ln as subagentDetailPanel,Rn as subagentPhaseTimeline,zn as subagentSpawnGroup,Bn as suggestionCard,Vn as suggestionDetailPanel,Hn as suggestionLibrary,Un as surfaceActions,Wn as surfaceRouter,Gn as tableSurface,Kn as taskPreferencesSurface,qn as textPreview,Jn as textSelectionPopover,Yn as thinkingDetail,Xn as tiptapDocumentEditor,Zn as toolCallChip,Qn as toolDefinitionsContent,$n as toolDetailPanel,er as toolInputParameters,tr as toolOutputSection,rr as toolStepPill,Mr as transcript,ir as transcriptMessageBody,ar as transcriptRow,or as useConversationLoader,sr as useConversationSecondaryActions,cr as useSendMessage,nr as valueFields,ur as visualPlaceholder,dr as visualSurface,fr as voiceComposerBar,pr as voiceEntryGreeting,mr as voiceErrors,hr as voiceFirstRunCard,gr as voicePickerSurface,_r as voiceRoom,vr as voiceSessionPill,yr as voiceSessionPillHost,Jr as voiceShortcutConfirmation,br as wakeCard,xr as wakeDetailPanel,Nr as watchRetroSurface,Sr as weatherForecastDisplay,Cr as webFetchDetailView,wr as webSearchDetailView,Tr as webSearchStepRow,Er as workResultSurface,Dr as workflowDetailPanel,Or as workflowLeafDetail,kr as workflowSubagentRow,Ar as workspacePathLink,jr as xlsxPreview};