@acedatacloud/nexior 3.378.0 → 3.379.0

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 (561) hide show
  1. package/README.md +14 -6
  2. package/dist/assets/ApiCodeButton-BVdwvbqZ.js +1 -0
  3. package/dist/assets/{ApiCodeDialog-KG1ItHyz.js → ApiCodeDialog-DnvWQSux.js} +2 -2
  4. package/dist/assets/Artifacts-DBlRS6V-.js +1 -0
  5. package/dist/assets/{AskUserQuestionCard-SqhjqCix.js → AskUserQuestionCard-BnGXxHXH.js} +1 -1
  6. package/dist/assets/{AudioPreview-Dcxz1qqs.js → AudioPreview-BW-v9N1F.js} +1 -1
  7. package/dist/assets/{Auth-DEb7QXSd.js → Auth-2sHUtbN3.js} +1 -1
  8. package/dist/assets/{Bare-BCIb4Y6O.js → Bare-MY2982fx.js} +1 -1
  9. package/dist/assets/{BotPlaceholder-D7R9yzly.js → BotPlaceholder-BMvZ2r7e.js} +1 -1
  10. package/dist/assets/BottomFooter-BK8fSgo8.js +1 -0
  11. package/dist/assets/BrowseConnectors-BynonX3o.js +1 -0
  12. package/dist/assets/BrowserPairingDialog-BpL_PLZ2.js +1 -0
  13. package/dist/assets/{Callback-C9KP27RQ.js → Callback-CftlVK5U.js} +1 -1
  14. package/dist/assets/{CodeSnippet-BA6kQd5W.js → CodeSnippet-CWKbGbqf.js} +1 -1
  15. package/dist/assets/Console-D5tMRa4O.js +1 -0
  16. package/dist/assets/Conversation-CfGZLMUg.css +1 -0
  17. package/dist/assets/Conversation-Dvzqt09M.js +2 -0
  18. package/dist/assets/{Conversation-d0a9dgit.js → Conversation-DyPJerS9.js} +1 -1
  19. package/dist/assets/CopyToClipboard-BareDE14.css +1 -0
  20. package/dist/assets/{CopyToClipboard-BDuBtP0j.js → CopyToClipboard-DwbsH1C3.js} +1 -1
  21. package/dist/assets/Detail-60SJz85a.js +2 -0
  22. package/dist/assets/Extra-a9kjI6xu.js +1 -0
  23. package/dist/assets/FilePreview-LQggJd0m.js +1 -0
  24. package/dist/assets/{Hailuo-D_XPzMQr.js → Hailuo-wSOJTcJX.js} +1 -1
  25. package/dist/assets/History-BKuvOkpU.css +1 -0
  26. package/dist/assets/History-CotgV_jP.js +1 -0
  27. package/dist/assets/{ImagePreview-BttJauXe.js → ImagePreview-BLcOkAKu.js} +1 -1
  28. package/dist/assets/{ImageWrapper-Cw6T8HnF.js → ImageWrapper-CbWVwZRD.js} +1 -1
  29. package/dist/assets/{Index-DwfM2ZdM.css → Index-B1YAGuTX.css} +1 -1
  30. package/dist/assets/Index-B2iSDu_B.js +2 -0
  31. package/dist/assets/Index-B5eICayB.js +1 -0
  32. package/dist/assets/Index-BEXZOWNw.js +1 -0
  33. package/dist/assets/Index-BTN8UlrZ.js +1 -0
  34. package/dist/assets/Index-BefFog-a.css +1 -0
  35. package/dist/assets/Index-Bi6tCc2m.js +1 -0
  36. package/dist/assets/Index-BiXFhCWk.js +1 -0
  37. package/dist/assets/Index-BkELRl77.js +1 -0
  38. package/dist/assets/Index-BmqhuNpp.js +1 -0
  39. package/dist/assets/Index-BptenMvy.js +1 -0
  40. package/dist/assets/Index-BtYp1mWJ.js +1 -0
  41. package/dist/assets/Index-Bz1tQjLN.js +1 -0
  42. package/dist/assets/Index-C4b0Sbyi.js +1 -0
  43. package/dist/assets/Index-C63AcaAz.js +1 -0
  44. package/dist/assets/Index-C7jnoMyw.js +1 -0
  45. package/dist/assets/Index-C7nNUO1i.js +2 -0
  46. package/dist/assets/Index-CB-LRpKw.js +1 -0
  47. package/dist/assets/Index-CC8t-QBU2.js +1 -0
  48. package/dist/assets/Index-CDo_fKen.js +1 -0
  49. package/dist/assets/Index-CFwbMt9f.js +1 -0
  50. package/dist/assets/Index-CVJaenIO.js +1 -0
  51. package/dist/assets/Index-CYCyIq0c.js +1 -0
  52. package/dist/assets/Index-CYbuu0Uy.js +1 -0
  53. package/dist/assets/Index-CjA_cn01.js +1 -0
  54. package/dist/assets/Index-CljLq_wO.js +1 -0
  55. package/dist/assets/Index-CnfZftjV.js +1 -0
  56. package/dist/assets/Index-CpvCmtSL.js +1 -0
  57. package/dist/assets/Index-CwbJeN2Z.css +1 -0
  58. package/dist/assets/Index-D-Y3090O.js +1 -0
  59. package/dist/assets/Index-DHcNXOjD.js +1 -0
  60. package/dist/assets/{Index-UPfdCR9o.js → Index-DNXXlgZI.js} +1 -1
  61. package/dist/assets/Index-HacBQi5S.js +1 -0
  62. package/dist/assets/Index-InwJndDx.js +1 -0
  63. package/dist/assets/Index-KeKnmleO.js +1 -0
  64. package/dist/assets/Index-LByTkG1R.js +1 -0
  65. package/dist/assets/Index-PWI4LACm.js +2 -0
  66. package/dist/assets/Index-TKC7spBk.css +1 -0
  67. package/dist/assets/{Index-CcIjVVU9.js → Index-f7b3Hnhj.js} +2 -2
  68. package/dist/assets/Index-vUiofO0R.js +1 -0
  69. package/dist/assets/{Invitees-tAnjFHCs.js → Invitees-BG-VxiML.js} +1 -1
  70. package/dist/assets/List-BZZ7J6hV.js +1 -0
  71. package/dist/assets/List-CVQKqACY.js +1 -0
  72. package/dist/assets/List-C_5R7MsB.js +1 -0
  73. package/dist/assets/{LocalTools-DznCFGQH.js → LocalTools-B-v6mWjd.js} +3 -3
  74. package/dist/assets/{LocalTools-CqR-nE9b.js → LocalTools-d_Cpvudx.js} +1 -1
  75. package/dist/assets/{Logo-DBmaDG3J.js → Logo-vsdlOXNx.js} +1 -1
  76. package/dist/assets/Main-z44znHEo.js +1 -0
  77. package/dist/assets/Message-DvXog9lv.js +3 -0
  78. package/dist/assets/Model-CS9NafTK.js +1 -0
  79. package/dist/assets/Navigator-ByU36BlB.js +8 -0
  80. package/dist/assets/Navigator-DzzTUqkr.css +1 -0
  81. package/dist/assets/{NotFound-CHcDxOu0.js → NotFound-B7O570we.js} +1 -1
  82. package/dist/assets/{PageHeader-CHsaVW4e.js → PageHeader-XQ2ZI5oi.js} +1 -1
  83. package/dist/assets/Pay-CJMoRNwf.js +1 -0
  84. package/dist/assets/Player-BjAhlM5i.js +1 -0
  85. package/dist/assets/{Poivelle-C81I6ll_.js → Poivelle-gikHHTGX.js} +1 -1
  86. package/dist/assets/{RealtimeCall-DbG72eA-.js → RealtimeCall-BqLTAntp.js} +3 -3
  87. package/dist/assets/{ReportButton-BhTGM-ns.js → ReportButton-Bzz2CkcM.js} +1 -1
  88. package/dist/assets/ReportDialog-2njW70jE.js +1 -0
  89. package/dist/assets/{ScenarioPaymentMode-OoBCf54I.js → ScenarioPaymentMode-BaLVOrFz.js} +1 -1
  90. package/dist/assets/ScheduledTasks-UXKOx_R9.js +2 -0
  91. package/dist/assets/ServicePricingSummary-CDYYBNdf.js +1 -0
  92. package/dist/assets/{SharedMarkdown-y56eTTaT.js → SharedMarkdown-DgMJ5yS6.js} +1 -1
  93. package/dist/assets/{ShowcaseGrid-DidpygIJ.js → ShowcaseGrid-CQU8y-_p.js} +1 -1
  94. package/dist/assets/ShowcaseResultTabs-BrMvxK_-.js +1 -0
  95. package/dist/assets/{SolanaWalletPickerDialog-Cotj93ij.js → SolanaWalletPickerDialog-ZEJq2-js.js} +1 -1
  96. package/dist/assets/Status-CbijUb1r.js +1 -0
  97. package/dist/assets/Subscribe-CHJXeMK_.js +1 -0
  98. package/dist/assets/{TabSwitcher-Mo-HftGd.js → TabSwitcher-B68j0iog.js} +1 -1
  99. package/dist/assets/Tts-kUJ8t6Tj.js +1 -0
  100. package/dist/assets/{VideoPlayer-D3FCgw3g.js → VideoPlayer-D5QyowLz.js} +1 -1
  101. package/dist/assets/{VideoPreview-CvtGNERs.js → VideoPreview-B3Ge1y5k.js} +1 -1
  102. package/dist/assets/{VueMarkdown-BGpu7jb9.js → VueMarkdown-CnCNB7jR.js} +2 -2
  103. package/dist/assets/WriteSkillDialog-D6u0DtZm.js +1 -0
  104. package/dist/assets/WriteSkillDialog-Dq7Pnanc.css +1 -0
  105. package/dist/assets/_Uint8Array-XQBxN0L-.js +1 -0
  106. package/dist/assets/_baseClone-U7fnZamc.js +1 -0
  107. package/dist/assets/_baseIteratee-DLPcqXeW.js +1 -0
  108. package/dist/assets/_initCloneObject-CSzorZ33.js +1 -0
  109. package/dist/assets/airwallexCheckout-Cxx1AabL.js +1 -0
  110. package/dist/assets/alert-BprQRUmf.js +1 -0
  111. package/dist/assets/arrow-down-CrxnnUzu.js +1 -0
  112. package/dist/assets/{arrow-down-wide-narrow-WPhbTWtA.js → arrow-down-wide-narrow-BlIlUIjt.js} +1 -1
  113. package/dist/assets/arrow-left-Do_3QC8F.js +1 -0
  114. package/dist/assets/arrow-right-BQL1_QMW.js +1 -0
  115. package/dist/assets/arrow-up-BQh_uho_.js +1 -0
  116. package/dist/assets/authorizeFlow-BJdepJ3R.js +1 -0
  117. package/dist/assets/avatar-CGtlW6zU.js +1 -0
  118. package/dist/assets/avatar-DEN_WCPo.js +1 -0
  119. package/dist/assets/{back-navigation-BsIo9H7d.js → back-navigation-BIrHIWJy.js} +1 -1
  120. package/dist/assets/{basic-BunphQR9.js → basic-DFEogfXq.js} +1 -1
  121. package/dist/assets/{book-open-uFinjNuP.js → book-open-_guxQcoA.js} +1 -1
  122. package/dist/assets/{box-B2VZKkyK.js → box-CYBPc1Rz.js} +1 -1
  123. package/dist/assets/{boxes-DVgUjL6i.js → boxes-Dczys5iR.js} +1 -1
  124. package/dist/assets/{brain-othbplrp.js → brain-C3F88E04.js} +1 -1
  125. package/dist/assets/card-IQwqnRJR.js +1 -0
  126. package/dist/assets/castArray-YUixYP4Q.js +1 -0
  127. package/dist/assets/{chart-no-axes-combined-_WHnWpq7.js → chart-no-axes-combined-sr2W-cy-.js} +1 -1
  128. package/dist/assets/chat-KmdJ9Xcn.js +1 -0
  129. package/dist/assets/check-CvzlOh9y.js +1 -0
  130. package/dist/assets/checkbox-DXMDpaxv.js +1 -0
  131. package/dist/assets/chevron-down-B4V8oKg4.js +1 -0
  132. package/dist/assets/chevron-right-BC5ylckn.js +1 -0
  133. package/dist/assets/{circle-alert-Ho2SsJ2g.js → circle-alert-CMUvmX0p.js} +1 -1
  134. package/dist/assets/circle-check-DtG7_-0o.js +1 -0
  135. package/dist/assets/{circle-question-mark-BCfaZnQY.js → circle-question-mark-BXwYW3M_.js} +1 -1
  136. package/dist/assets/click-outside-CzJDhMNh.js +1 -0
  137. package/dist/assets/{clipboard-list-BuEg8NSj.js → clipboard-list-D3Jcr1wW.js} +1 -1
  138. package/dist/assets/clock-IAci-Zzy.js +1 -0
  139. package/dist/assets/code-C0f79oRQ.js +1 -0
  140. package/dist/assets/{codingBridge-DJxa2Ctr.js → codingBridge-BnXqGUk-.js} +1 -1
  141. package/dist/assets/{codingBridge-DNaWsf8h.js → codingBridge-Byj8IN6B.js} +1 -1
  142. package/dist/assets/{codingBridge-C4w0uRt_.js → codingBridge-C3-XZ2S-.js} +1 -1
  143. package/dist/assets/{codingBridge-CWYAzcU4.js → codingBridge-C4S3TQ2O.js} +1 -1
  144. package/dist/assets/codingBridge-CMi6fCj5.js +2 -0
  145. package/dist/assets/{codingBridge-BDEdzBFe.js → codingBridge-CX2T1MoG.js} +1 -1
  146. package/dist/assets/{codingBridge-2jZjSYGT.js → codingBridge-DE8OuFkd.js} +1 -1
  147. package/dist/assets/{codingBridge-B0S_pFNE.js → codingBridge-DNYbt9Wj.js} +1 -1
  148. package/dist/assets/{codingBridge-CmbX76zB.js → codingBridge-DS7LKip0.js} +1 -1
  149. package/dist/assets/{codingBridge-co3msHz2.js → codingBridge-DWX5O1-q.js} +1 -1
  150. package/dist/assets/{codingBridge-C-7r6SDr.js → codingBridge-Dcrg2PjU.js} +1 -1
  151. package/dist/assets/{codingBridge-CmImNHXz.js → codingBridge-DjgK0jYZ.js} +1 -1
  152. package/dist/assets/codingBridge-ybbC8NBB.js +1 -0
  153. package/dist/assets/codingBridgeNotify-Bwf5NQbl.js +2 -0
  154. package/dist/assets/{coins-p5-Ic2hy.js → coins-BQ6zVtEX.js} +1 -1
  155. package/dist/assets/collapse-B0Wi9F4l.js +1 -0
  156. package/dist/assets/common-B0IDRASJ.js +1 -0
  157. package/dist/assets/common-BJ-Az-vA.js +1 -0
  158. package/dist/assets/common-BnGMhmEr.js +1 -0
  159. package/dist/assets/common-CUZl0lkV.js +1 -0
  160. package/dist/assets/common-D8s1fMEF.js +1 -0
  161. package/dist/assets/common-DIFVLaNh.js +1 -0
  162. package/dist/assets/common-DKecTXML.js +1 -0
  163. package/dist/assets/common-DeqClFGz.js +1 -0
  164. package/dist/assets/common-DlE175vL.js +1 -0
  165. package/dist/assets/common-MVvgvCjP.js +1 -0
  166. package/dist/assets/common-RzLnaRJN.js +1 -0
  167. package/dist/assets/common-kO_UBrO5.js +1 -0
  168. package/dist/assets/console-5v8LzR_v.js +1 -0
  169. package/dist/assets/console-BBZn8pM7.js +1 -0
  170. package/dist/assets/console-BuHKYX9X.js +1 -0
  171. package/dist/assets/console-COPzvKke.js +1 -0
  172. package/dist/assets/console-ChRHd4hW.js +1 -0
  173. package/dist/assets/console-CiX-QKAj.js +1 -0
  174. package/dist/assets/console-D-SaYNid.js +1 -0
  175. package/dist/assets/console-D5dQI25O.js +1 -0
  176. package/dist/assets/console-DUCTsjPA.js +1 -0
  177. package/dist/assets/console-DePWpRMI.js +1 -0
  178. package/dist/assets/console-PhNDi1ry.js +1 -0
  179. package/dist/assets/console-YJglHgj3.js +1 -0
  180. package/dist/assets/constants-XMLzMJVJ.js +3 -0
  181. package/dist/assets/{copy-9ru_XEc3.js → copy-VxF2BScc.js} +1 -1
  182. package/dist/assets/createTaskActions-DoijteH6.js +1 -0
  183. package/dist/assets/date-picker-CCvbZlsC.js +1 -0
  184. package/dist/assets/debounce-5xtusvLq.js +1 -0
  185. package/dist/assets/{digitalhuman-KxqLBKiw.js → digitalhuman-COquG9OT.js} +1 -1
  186. package/dist/assets/{distribution-BJg3yUi1.js → distribution-ATagO31u.js} +1 -1
  187. package/dist/assets/{distribution-zXx9jCd8.js → distribution-B6rpEDSh.js} +1 -1
  188. package/dist/assets/{distribution-CLwMNLyT.js → distribution-BD_UlcWf.js} +1 -1
  189. package/dist/assets/{distribution-cVe2gdNN.js → distribution-BUdflwwz.js} +1 -1
  190. package/dist/assets/{distribution-7Fh-IyXM.js → distribution-BuGlQh86.js} +1 -1
  191. package/dist/assets/{distribution-DjBA4MaX.js → distribution-CYbeU4Kx.js} +1 -1
  192. package/dist/assets/{distribution-Ci3qUjd1.js → distribution-D1tzKj8Z.js} +1 -1
  193. package/dist/assets/{distribution-DvTAlUfh.js → distribution-D60ESr4w.js} +1 -1
  194. package/dist/assets/{distribution-BsauWM2Q.js → distribution-D9OF7j8R.js} +1 -1
  195. package/dist/assets/{distribution-CltEcoqH.js → distribution-DYe_3hS7.js} +1 -1
  196. package/dist/assets/{distribution-mxjAGVCN.js → distribution-Dx7f4qch.js} +1 -1
  197. package/dist/assets/{distribution-DG81HykN.js → distribution-ryO3eAPQ.js} +1 -1
  198. package/dist/assets/divider-Du_3kymg.js +1 -0
  199. package/dist/assets/{dollar-sign-BLadFLb3.js → dollar-sign-DUccWNag.js} +1 -1
  200. package/dist/assets/{download-qQkX5Wsm.js → download-e2JcTyyo.js} +1 -1
  201. package/dist/assets/drawer-BVEcNx1I.js +1 -0
  202. package/dist/assets/dropdown-6Dhj8aGv.js +1 -0
  203. package/dist/assets/dropdown-DVWMF6_3.js +1 -0
  204. package/dist/assets/{ellipsis-DX0FZl47.js → ellipsis-BtC3IBcT.js} +1 -1
  205. package/dist/assets/esm-BF1E2FMw.js +2 -0
  206. package/dist/assets/{esm-BaZYFxup.js → esm-BWUcVVKJ.js} +2 -2
  207. package/dist/assets/esm-CoJds8QY.js +1 -0
  208. package/dist/assets/{external-link-xu4LQkgJ.js → external-link-DHAxzeng.js} +1 -1
  209. package/dist/assets/{eye-BWdIdKaw.js → eye-D_qht_hF.js} +1 -1
  210. package/dist/assets/{file-Bmg75wJ2.js → file-DpjGg0Y_.js} +1 -1
  211. package/dist/assets/{file-output-D6hbDRGq.js → file-output-Bi4vq7Ue.js} +1 -1
  212. package/dist/assets/{file-text-BPsKm8Ye.js → file-text-Cy_bvnO7.js} +1 -1
  213. package/dist/assets/{fish-DMO_QK8X.js → fish-DnPwoPWE.js} +1 -1
  214. package/dist/assets/flux-WBOJvTOp.js +1 -0
  215. package/dist/assets/{folder-BDQp5otd.js → folder-mtavbhFP.js} +1 -1
  216. package/dist/assets/form-BdKMEyCR.js +12 -0
  217. package/dist/assets/gauge-Dr0RTbvf.js +1 -0
  218. package/dist/assets/generationInput-ClY8zxHb.js +1 -0
  219. package/dist/assets/{globe-BTP209T8.js → globe-t_hc2uvW.js} +1 -1
  220. package/dist/assets/grokvideo-wIrAkg60.js +1 -0
  221. package/dist/assets/hailuo-CLFyD3vr.js +1 -0
  222. package/dist/assets/{hash-B0rKChrT.js → hash-CGhR3E3W.js} +1 -1
  223. package/dist/assets/{headphones-C9TkhoKW.js → headphones-BGX9rE2z.js} +1 -1
  224. package/dist/assets/{history-l5UP29BL.js → history-BNoxEv4L.js} +1 -1
  225. package/dist/assets/{house-D3UxwZNm.js → house-Cq29AjkF.js} +1 -1
  226. package/dist/assets/icon-CDmWyIgD.js +1 -0
  227. package/dist/assets/{image-wAPgKLi5.js → image-D-Qn2R2s.js} +1 -1
  228. package/dist/assets/{imageRequests-E3qWyxYa.js → imageRequests-Dpxiq1GM.js} +1 -1
  229. package/dist/assets/index-B_mDD17T.js +572 -0
  230. package/dist/assets/index-DKAHKezv.css +1 -0
  231. package/dist/assets/{index.es-Dc2KfvlA.js → index.es-DbG45pQU.js} +1 -1
  232. package/dist/assets/{info-xEqm0IrP.js → info-AarYb6UU.js} +1 -1
  233. package/dist/assets/input-number-BweR5GSS.js +1 -0
  234. package/dist/assets/isArrayLikeObject-VRCqVaiT.js +1 -0
  235. package/dist/assets/isEqual-DeO3PEnJ.js +1 -0
  236. package/dist/assets/isPlainObject-CIQNj6g3.js +1 -0
  237. package/dist/assets/{kling-B_7lSp0w.js → kling-Bu2NuHka.js} +1 -1
  238. package/dist/assets/{languages-DEt6SUgf.js → languages-q4pS3WIA.js} +1 -1
  239. package/dist/assets/{laptop-LAuQGLg1.js → laptop-D3ytrLBJ.js} +1 -1
  240. package/dist/assets/{lightbulb-yyxW5bC7.js → lightbulb-C5S29mMv.js} +1 -1
  241. package/dist/assets/{link-DN2xtc9Z.js → link-CwjIRcQu.js} +1 -1
  242. package/dist/assets/loader-circle-ly_u_IQt.js +1 -0
  243. package/dist/assets/{luma-B2l-nG6s.js → luma-DSTa_ctL.js} +1 -1
  244. package/dist/assets/{maestro-BN7v9lCj.js → maestro-Cgi6iLeE.js} +1 -1
  245. package/dist/assets/{maestroLanguages-DUkYqeZT.js → maestroLanguages-DwLnUjSV.js} +1 -1
  246. package/dist/assets/{mail-CmmtT1Jw.js → mail-VqGM1wzH.js} +1 -1
  247. package/dist/assets/{message-circle-DshO8aqP.js → message-circle-BIELZnpU.js} +1 -1
  248. package/dist/assets/{mic-D-peJBQ2.js → mic-DhjvDuzZ.js} +1 -1
  249. package/dist/assets/midjourney-YlQQ7xGW.js +1 -0
  250. package/dist/assets/{minimax-B2K8qhNE.js → minimax-CYpaxOzz.js} +1 -1
  251. package/dist/assets/mobileLocalExec-BGEH-cVh.js +2 -0
  252. package/dist/assets/{monitor-BbelfMCH.js → monitor-w2z0MlEY.js} +1 -1
  253. package/dist/assets/{mouse-pointer-2-CBG2pJVP.js → mouse-pointer-2-Dktit1x1.js} +1 -1
  254. package/dist/assets/music-2-TpIjRQXw.js +1 -0
  255. package/dist/assets/nanobanana-B5-IKS73.js +1 -0
  256. package/dist/assets/{omni-CHHNqW0-.js → omni-ROlnzeCN.js} +1 -1
  257. package/dist/assets/{openaiimage-DX-HdFO4.js → openaiimage-DoIMIVMy.js} +1 -1
  258. package/dist/assets/{pagination-BlCoWbv1.js → pagination-7tCwz5Wb.js} +1 -1
  259. package/dist/assets/pagination-CVG3qxWX.js +1 -0
  260. package/dist/assets/pagination-CVnl1h3Q.css +1 -0
  261. package/dist/assets/pagination-DkzSLsHS.js +1 -0
  262. package/dist/assets/{palette-CZ3gwnv9.js → palette-B-I3eqTr.js} +1 -1
  263. package/dist/assets/{paperclip-BjGce865.js → paperclip-CiVURlUk.js} +1 -1
  264. package/dist/assets/{pause-BseLLZb_.js → pause-hlQVsPkR.js} +1 -1
  265. package/dist/assets/{pencil-BOXZulA4.js → pencil-B83LjyZM.js} +1 -1
  266. package/dist/assets/{pika-BxK76Uqj.js → pika-CsJCe7Ud.js} +1 -1
  267. package/dist/assets/{pixverse-DwR99W6p.js → pixverse-CdoZ8UDF.js} +1 -1
  268. package/dist/assets/play-BHPb6zRT.js +1 -0
  269. package/dist/assets/{plug-xaHCA3qa.js → plug-BJ2TKjcm.js} +1 -1
  270. package/dist/assets/plus-BgGyj7OG.js +1 -0
  271. package/dist/assets/poivelle-B_KpomXv.js +1 -0
  272. package/dist/assets/popover-BNuza1no.js +1 -0
  273. package/dist/assets/producer-Cftxullw.js +1 -0
  274. package/dist/assets/{progress-Y9u6n3fa.js → progress-BuyYfFZn.js} +2 -2
  275. package/dist/assets/qrart-ggf6-aqL.js +1 -0
  276. package/dist/assets/qwenimage-CbH5cDWi.js +1 -0
  277. package/dist/assets/radio-BNhFzeBO.js +1 -0
  278. package/dist/assets/raf-BbgJq-wu.js +1 -0
  279. package/dist/assets/realtime-C3GP19Ox.js +1 -0
  280. package/dist/assets/{refresh-cw-BCNrgNZO.js → refresh-cw-Bvqf2cXR.js} +1 -1
  281. package/dist/assets/rotate-ccw-B1viIggk.js +1 -0
  282. package/dist/assets/rotate-cw-BFAaVvoq.js +1 -0
  283. package/dist/assets/row-CgEMxZUK.js +1 -0
  284. package/dist/assets/scroll-kDH1KTep.js +1 -0
  285. package/dist/assets/scroll-text-DNioxlF3.js +1 -0
  286. package/dist/assets/scrollbar-3jGyy846.js +1 -0
  287. package/dist/assets/search-D9sS2zks.js +1 -0
  288. package/dist/assets/{seedance-B591L7EA.js → seedance-vjO0LxfY.js} +1 -1
  289. package/dist/assets/seedream-DDubAk0V.js +1 -0
  290. package/dist/assets/segmented-D0zHdf9D.js +1 -0
  291. package/dist/assets/select-BqzezbgS.js +1 -0
  292. package/dist/assets/serp-B9uitIQK.js +1 -0
  293. package/dist/assets/{shield-B2TJw9TW.js → shield-BidAVgcr.js} +1 -1
  294. package/dist/assets/showcase-C-f0cCbc.js +1 -0
  295. package/dist/assets/showcaseRecreateMixin-BWDEj-jO.js +1 -0
  296. package/dist/assets/{shuffle-DPidEAkC.js → shuffle-C-ey6c0w.js} +1 -1
  297. package/dist/assets/{siteHome-CgeNTe5M.js → siteHome-Cm4ERvnr.js} +1 -1
  298. package/dist/assets/skeleton-Dj_a_iIP.js +1 -0
  299. package/dist/assets/{skill-5gP4o8NV.js → skill-0g_luo5R.js} +1 -1
  300. package/dist/assets/{skill-CJNW57N1.js → skill-B07Ijn5i.js} +1 -1
  301. package/dist/assets/{skill-D8LRqjJi.js → skill-BJgaq7OZ.js} +1 -1
  302. package/dist/assets/{skill-wRgUszIb.js → skill-Byo5cYNZ.js} +1 -1
  303. package/dist/assets/{skill-DmG9UgOb.js → skill-CQGW8Q1T.js} +1 -1
  304. package/dist/assets/{skill-DYANzYm8.js → skill-CpCuyQYr.js} +1 -1
  305. package/dist/assets/{skill-BOoRqnxn.js → skill-DH20CjXt.js} +1 -1
  306. package/dist/assets/{skill-BMiuMGjA.js → skill-DIEOWjK5.js} +1 -1
  307. package/dist/assets/{skill-DsMsj3gk.js → skill-Dx9sM0VW.js} +1 -1
  308. package/dist/assets/{skill-oNOc8c8Z.js → skill-iYzmeC7M.js} +1 -1
  309. package/dist/assets/{skill-DUHHh8_i.js → skill-l_jxXvUb.js} +1 -1
  310. package/dist/assets/{skill-AkEOeI8W.js → skill-qbrFbNq8.js} +1 -1
  311. package/dist/assets/slider-fnY2n6px.js +1 -0
  312. package/dist/assets/{solana-wallets-liB4s7eE.js → solana-wallets-BERlGY2O.js} +2 -2
  313. package/dist/assets/{sora-Aj4fOoVE.js → sora-BUctVwZa.js} +1 -1
  314. package/dist/assets/{sparkles-BAojlcx5.js → sparkles-BvDv6ds2.js} +1 -1
  315. package/dist/assets/square-RZDqdJlO.js +1 -0
  316. package/dist/assets/suno-Be9UhEcX.js +1 -0
  317. package/dist/assets/switch-C6gnvMgV.js +1 -0
  318. package/dist/assets/table-dVwxM5TO.js +1 -0
  319. package/dist/assets/tabs-CwdrUb8P.js +1 -0
  320. package/dist/assets/{tag-DDxBi_HB.js → tag-BOA3YC3-.js} +1 -1
  321. package/dist/assets/{taskPolling-yf-YwqyR.js → taskPolling-BRIyWeSm.js} +1 -1
  322. package/dist/assets/terminal-CihWj-P8.js +1 -0
  323. package/dist/assets/time-picker-B7Amze8v.js +1 -0
  324. package/dist/assets/tooltip-BBrV3AZK.js +1 -0
  325. package/dist/assets/{trash-2-BFjVq32N.js → trash-2-BPjzpfWl.js} +1 -1
  326. package/dist/assets/{triangle-alert-C5ZVa5Ls.js → triangle-alert-hVh_-DcV.js} +1 -1
  327. package/dist/assets/{upload-K-LGn2LV.js → upload-Cra0_3dJ.js} +1 -1
  328. package/dist/assets/upload-XUGlysu6.js +1 -0
  329. package/dist/assets/use-aria-DApzlmKf.js +1 -0
  330. package/dist/assets/use-delayed-toggle-CUww_m9H.js +1 -0
  331. package/dist/assets/{use-deprecated-KSZGI37P.js → use-deprecated-BAB4ggjd.js} +2 -2
  332. package/dist/assets/user-BEv2qjci.js +1 -0
  333. package/dist/assets/{vendor-highlight-Dd94xpKT.js → vendor-highlight-PMOaWWrP.js} +4 -4
  334. package/dist/assets/vendor-highlight-XQIgUEMi.css +1 -0
  335. package/dist/assets/{veo-CIJH2Yl1.js → veo-DJ8zjGWr.js} +1 -1
  336. package/dist/assets/{video-wTKBJcCy.js → video-DM7P7XL-.js} +1 -1
  337. package/dist/assets/vnode-B_FEx-YD.js +1 -0
  338. package/dist/assets/{volume-2-BTgXKz-b.js → volume-2-DoGYvPKH.js} +1 -1
  339. package/dist/assets/vuex.esm-bundler-BxNPLO2l.js +1 -0
  340. package/dist/assets/{wallet-Hkzclfjt.js → wallet-DCbr1SCc.js} +1 -1
  341. package/dist/assets/{wan-ClVe_THi.js → wan-CJgJf4gd.js} +1 -1
  342. package/dist/assets/{wand-sparkles-CEv-Lq04.js → wand-sparkles-B3s3EW_F.js} +1 -1
  343. package/dist/assets/{web-jFre7aeM.js → web-B0taMipw.js} +1 -1
  344. package/dist/assets/web-CMCs3BWX.js +1 -0
  345. package/dist/assets/{web-Coh0imfW.js → web-DOauQbLK.js} +1 -1
  346. package/dist/assets/{web-CS6cL6fi.js → web-OTda-796.js} +1 -1
  347. package/dist/assets/{web-9L_MOBuN.js → web-nb5LyGMf.js} +1 -1
  348. package/dist/assets/webextrator-CgBbtaN5.js +1 -0
  349. package/dist/assets/{zap-XeVz862N.js → zap-CLXFE1AD.js} +1 -1
  350. package/dist/index.html +10 -10
  351. package/package.json +2 -2
  352. package/dist/assets/ApiCodeButton-CkntOqa9.js +0 -1
  353. package/dist/assets/Artifacts-DLNEnSNX.js +0 -1
  354. package/dist/assets/BottomFooter-CO0ZE175.js +0 -1
  355. package/dist/assets/BrowseConnectors-BShsPFFx.js +0 -1
  356. package/dist/assets/BrowserPairingDialog-i49YHsUX.js +0 -1
  357. package/dist/assets/Console-CiT1-rhN.js +0 -1
  358. package/dist/assets/Conversation-BegVTuHA.css +0 -1
  359. package/dist/assets/Conversation-CzCvp_L7.js +0 -2
  360. package/dist/assets/CopyToClipboard-B9SD8m8Y.css +0 -1
  361. package/dist/assets/Detail-ON0VcjyS.js +0 -2
  362. package/dist/assets/Extra-CSDY1tah.js +0 -1
  363. package/dist/assets/FilePreview-MmPN4Cv7.js +0 -1
  364. package/dist/assets/History-BwksNUme.css +0 -1
  365. package/dist/assets/History-DU4oLHjt.js +0 -1
  366. package/dist/assets/Index-73oaGK-A.js +0 -1
  367. package/dist/assets/Index-B5q2xiCh.js +0 -2
  368. package/dist/assets/Index-BaB_6SnJ.js +0 -1
  369. package/dist/assets/Index-Bbg8gcRr.js +0 -1
  370. package/dist/assets/Index-Bk5pgWL3.js +0 -1
  371. package/dist/assets/Index-BvL62BkM.js +0 -1
  372. package/dist/assets/Index-C1CerJWh.js +0 -1
  373. package/dist/assets/Index-C2xLdzMv.js +0 -1
  374. package/dist/assets/Index-C7IMz_R4.js +0 -1
  375. package/dist/assets/Index-CHNkHLSz.css +0 -1
  376. package/dist/assets/Index-CeSUfXvP.js +0 -1
  377. package/dist/assets/Index-CniWREMM.js +0 -1
  378. package/dist/assets/Index-CrDlqRLW.js +0 -1
  379. package/dist/assets/Index-Ct9ja3wZ.js +0 -1
  380. package/dist/assets/Index-D3Qqzj1A.js +0 -1
  381. package/dist/assets/Index-D9cv9UKM.js +0 -1
  382. package/dist/assets/Index-DAOd13Sv.js +0 -1
  383. package/dist/assets/Index-DENvYK6d.js +0 -2
  384. package/dist/assets/Index-DLBEktwN.css +0 -1
  385. package/dist/assets/Index-DOTWqbKP.js +0 -1
  386. package/dist/assets/Index-DRKMabL0.js +0 -1
  387. package/dist/assets/Index-Df93aLf9.js +0 -1
  388. package/dist/assets/Index-Di9FU0BB.js +0 -1
  389. package/dist/assets/Index-DpGTnfiS.js +0 -1
  390. package/dist/assets/Index-DpJoB60_.js +0 -1
  391. package/dist/assets/Index-DqllUyi4.js +0 -2
  392. package/dist/assets/Index-G8ebPC9A.js +0 -1
  393. package/dist/assets/Index-TO2KXhk7.css +0 -1
  394. package/dist/assets/Index-TpXgcMSM.js +0 -1
  395. package/dist/assets/Index-YoBcV-xm.js +0 -1
  396. package/dist/assets/Index-ZqQ6To5R.js +0 -1
  397. package/dist/assets/Index-a7Vn4g_M.js +0 -1
  398. package/dist/assets/Index-aKC4NGq-.js +0 -1
  399. package/dist/assets/Index-mdM9vHfS.js +0 -1
  400. package/dist/assets/Index-piNRLtwz.js +0 -1
  401. package/dist/assets/Index-sO3P7vG-.js +0 -1
  402. package/dist/assets/Index-uYybtLIp2.js +0 -1
  403. package/dist/assets/List-4OgXX770.js +0 -1
  404. package/dist/assets/List-C7UaV8dO.js +0 -1
  405. package/dist/assets/List-UCgCR4FX.js +0 -1
  406. package/dist/assets/Main-LhtWm16A.js +0 -1
  407. package/dist/assets/Message-CS0ScapF.js +0 -3
  408. package/dist/assets/Model-D6dSDQbl.js +0 -1
  409. package/dist/assets/Navigator-B_rU5sl5.js +0 -8
  410. package/dist/assets/Navigator-CiVhSyY2.css +0 -1
  411. package/dist/assets/Pay-CaIwSjr3.js +0 -1
  412. package/dist/assets/Player-_OqjXRWY.js +0 -1
  413. package/dist/assets/ReportDialog-DxmpAbWL.js +0 -1
  414. package/dist/assets/ScheduledTasks-Ddfuxcc3.js +0 -2
  415. package/dist/assets/ServicePricingSummary-Ce4YxQTT.js +0 -1
  416. package/dist/assets/ShowcaseResultTabs-Dtod3SQA.js +0 -1
  417. package/dist/assets/Status-CsV2Ja7D.js +0 -1
  418. package/dist/assets/Subscribe-zhwTbYXv.js +0 -1
  419. package/dist/assets/Tts-Dl6kLn5_.js +0 -1
  420. package/dist/assets/WriteSkillDialog-DkwaroE4.css +0 -1
  421. package/dist/assets/WriteSkillDialog-cW1m7wvA.js +0 -1
  422. package/dist/assets/_Uint8Array-sSpijImS.js +0 -1
  423. package/dist/assets/_baseClone-CZ26MPyA.js +0 -1
  424. package/dist/assets/_baseIteratee-CVyE78-3.js +0 -1
  425. package/dist/assets/_initCloneObject-BOg92v1Q.js +0 -1
  426. package/dist/assets/airwallexCheckout-DtOT900I.js +0 -1
  427. package/dist/assets/alert-BCXxQqq9.js +0 -1
  428. package/dist/assets/arrow-down-BtOf7_CV.js +0 -1
  429. package/dist/assets/arrow-left-DXqpjhdX.js +0 -1
  430. package/dist/assets/arrow-right-DryFwfaj.js +0 -1
  431. package/dist/assets/arrow-up-BUa4ruGk.js +0 -1
  432. package/dist/assets/authorizeFlow-2qirV4uJ.js +0 -1
  433. package/dist/assets/avatar-B0SlbOi0.js +0 -1
  434. package/dist/assets/avatar-DFnhX0Wd.js +0 -1
  435. package/dist/assets/byok-3n6T0alx.js +0 -1
  436. package/dist/assets/byok-B2r5VmII.js +0 -1
  437. package/dist/assets/byok-BC48N7S1.js +0 -1
  438. package/dist/assets/byok-BRMIr-M_.js +0 -1
  439. package/dist/assets/byok-CRFX2Iok.js +0 -1
  440. package/dist/assets/byok-CUiGQSQq.js +0 -1
  441. package/dist/assets/byok-Cdgjel5C.js +0 -1
  442. package/dist/assets/byok-Ct580UbG.js +0 -1
  443. package/dist/assets/byok-DUt6CQuB.js +0 -1
  444. package/dist/assets/byok-D_PsUQ7p.js +0 -1
  445. package/dist/assets/byok-DrBDAGst.js +0 -1
  446. package/dist/assets/byok-FiYHQNUV.js +0 -1
  447. package/dist/assets/card-Cdu7t0e1.js +0 -1
  448. package/dist/assets/castArray-D_TUiT6Q.js +0 -1
  449. package/dist/assets/chat-BQrmva9t.js +0 -1
  450. package/dist/assets/check-DfC685Lq.js +0 -1
  451. package/dist/assets/checkbox-BFEpNRQP.js +0 -1
  452. package/dist/assets/chevron-down-lGMMdC8S.js +0 -1
  453. package/dist/assets/chevron-right-CL8PHBhG.js +0 -1
  454. package/dist/assets/circle-check-XmSkFZmI.js +0 -1
  455. package/dist/assets/click-outside-BX-xQEUw.js +0 -1
  456. package/dist/assets/clock-BKRstkvG.js +0 -1
  457. package/dist/assets/code-CgXiDhx8.js +0 -1
  458. package/dist/assets/codingBridge-C0TmJx0P.js +0 -1
  459. package/dist/assets/codingBridge-DuutiVu4.js +0 -2
  460. package/dist/assets/codingBridgeNotify-EGsSGIi4.js +0 -2
  461. package/dist/assets/collapse-PFSZ3Ppb.js +0 -1
  462. package/dist/assets/common-BRlXUNLP.js +0 -1
  463. package/dist/assets/common-B_M3LvGi.js +0 -1
  464. package/dist/assets/common-C2o8NoAy.js +0 -1
  465. package/dist/assets/common-C7rflxoL.js +0 -1
  466. package/dist/assets/common-CPTNrFOS.js +0 -1
  467. package/dist/assets/common-CqOkQeeX.js +0 -1
  468. package/dist/assets/common-CtJf9Xwg.js +0 -1
  469. package/dist/assets/common-DgIwz66M.js +0 -1
  470. package/dist/assets/common-DxAXLCCZ.js +0 -1
  471. package/dist/assets/common-IucWu3x6.js +0 -1
  472. package/dist/assets/common-LWAeT3Rn.js +0 -1
  473. package/dist/assets/common-PEbspY5C.js +0 -1
  474. package/dist/assets/console-BTcbcYrg.js +0 -1
  475. package/dist/assets/console-Bmj64vgr.js +0 -1
  476. package/dist/assets/console-BoJwfPRy.js +0 -1
  477. package/dist/assets/console-CCcbT9C5.js +0 -1
  478. package/dist/assets/console-CURLllmA.js +0 -1
  479. package/dist/assets/console-Ce9JZpHL.js +0 -1
  480. package/dist/assets/console-CjJjT6T_.js +0 -1
  481. package/dist/assets/console-DOrcPqaf.js +0 -1
  482. package/dist/assets/console-DShIPOu2.js +0 -1
  483. package/dist/assets/console-Dkfs_so8.js +0 -1
  484. package/dist/assets/console-Doi1l5z7.js +0 -1
  485. package/dist/assets/console-FxBtsGxI.js +0 -1
  486. package/dist/assets/constants-vZG8JV9A.js +0 -1
  487. package/dist/assets/createTaskActions-DYOG_x52.js +0 -1
  488. package/dist/assets/date-picker-CXPYb8nI.js +0 -1
  489. package/dist/assets/debounce-BiLOo0cD.js +0 -1
  490. package/dist/assets/divider-D6XMzunz.js +0 -1
  491. package/dist/assets/drawer-D24rEyIX.js +0 -1
  492. package/dist/assets/dropdown-BkqVjWBA.js +0 -1
  493. package/dist/assets/dropdown-JaDWaqSq.js +0 -1
  494. package/dist/assets/empty-BcaMYkgS.js +0 -1
  495. package/dist/assets/esm-BATRaT10.js +0 -2
  496. package/dist/assets/esm-D4qQESQI.js +0 -1
  497. package/dist/assets/flux-B4JVpdQ2.js +0 -1
  498. package/dist/assets/form-CSmsxPoR.js +0 -12
  499. package/dist/assets/gauge-C5lWJ7jI.js +0 -1
  500. package/dist/assets/generationInput-DYHj9HsI.js +0 -1
  501. package/dist/assets/grokvideo-BYXES21l.js +0 -1
  502. package/dist/assets/hailuo-BLizscrt.js +0 -1
  503. package/dist/assets/i18n-Cu1HIOkL.js +0 -3
  504. package/dist/assets/index-BMhavYtV.css +0 -1
  505. package/dist/assets/index-BkGHnQZ_.js +0 -572
  506. package/dist/assets/input-number-P8gwi2Qu.js +0 -1
  507. package/dist/assets/isArrayLikeObject-Bn7vGyDv.js +0 -1
  508. package/dist/assets/isEqual-BFcHeZKz.js +0 -1
  509. package/dist/assets/isPlainObject-DOYdEPIU.js +0 -1
  510. package/dist/assets/key-round-CE9-N-VB.js +0 -1
  511. package/dist/assets/loader-circle-Bl8yfjoJ.js +0 -1
  512. package/dist/assets/lock-DkkFr7Gb.js +0 -1
  513. package/dist/assets/midjourney-8Usc6MRz.js +0 -1
  514. package/dist/assets/mobileLocalExec-shE6R6PE.js +0 -2
  515. package/dist/assets/models-C0YjUFNo.js +0 -1
  516. package/dist/assets/music-2-DPcj2WAn.js +0 -1
  517. package/dist/assets/nanobanana-r2ieN-ZT.js +0 -1
  518. package/dist/assets/pagination-4fpGtxqE.css +0 -1
  519. package/dist/assets/pagination-Bbx2BUmR.js +0 -1
  520. package/dist/assets/pagination-D42WEXtP.js +0 -1
  521. package/dist/assets/play-DcEqSjTH.js +0 -1
  522. package/dist/assets/plus-_yX0KO9f.js +0 -1
  523. package/dist/assets/poivelle-C4rdyxTL.js +0 -1
  524. package/dist/assets/popover-BbgX-Omy.js +0 -1
  525. package/dist/assets/producer-D4uXgI6I.js +0 -1
  526. package/dist/assets/qrart-DXFwiz4T.js +0 -1
  527. package/dist/assets/qwenimage-BQYh2gb2.js +0 -1
  528. package/dist/assets/radio-B09q5TlK.js +0 -1
  529. package/dist/assets/raf-lI0WZHjb.js +0 -1
  530. package/dist/assets/realtime-CYiDlgCq.js +0 -1
  531. package/dist/assets/rotate-ccw-DpWwt61r.js +0 -1
  532. package/dist/assets/rotate-cw-B03qG3lR.js +0 -1
  533. package/dist/assets/row-CdwrPdEy.js +0 -1
  534. package/dist/assets/scroll-L6ec4SHO.js +0 -1
  535. package/dist/assets/scrollbar-BPXMaXpQ.js +0 -1
  536. package/dist/assets/search-CnYrZ-MH.js +0 -1
  537. package/dist/assets/seedream-Bou8mO9k.js +0 -1
  538. package/dist/assets/segmented-DMUnXmAF.js +0 -1
  539. package/dist/assets/select-_PCob8fl.js +0 -1
  540. package/dist/assets/serp-BSRVU4rM.js +0 -1
  541. package/dist/assets/showcase-Dtww6zOn.js +0 -1
  542. package/dist/assets/showcaseRecreateMixin-CNSd3SMP.js +0 -1
  543. package/dist/assets/skeleton-HyjEr-4i.js +0 -1
  544. package/dist/assets/slider-C7rjvdbh.js +0 -1
  545. package/dist/assets/square-rfUZGEy9.js +0 -1
  546. package/dist/assets/store-Ck_6GTs-.js +0 -1
  547. package/dist/assets/suno-DH2ygO81.js +0 -1
  548. package/dist/assets/switch-B3L5sC-p.js +0 -1
  549. package/dist/assets/table-BXkN-Lwo.js +0 -1
  550. package/dist/assets/tabs-DsC7t0mr.js +0 -1
  551. package/dist/assets/terminal-Br8wDcT-.js +0 -1
  552. package/dist/assets/time-picker-Dol4_k5j.js +0 -1
  553. package/dist/assets/tooltip-PKpFyAlh.js +0 -1
  554. package/dist/assets/upload-BRF191Qt.js +0 -1
  555. package/dist/assets/use-aria-DjgU6t6L.js +0 -1
  556. package/dist/assets/use-delayed-toggle-DhPhVV5S.js +0 -1
  557. package/dist/assets/user-DjoblHTY.js +0 -1
  558. package/dist/assets/vendor-highlight-B4zA4Q-i.css +0 -1
  559. package/dist/assets/vnode-BD7Nn-ke.js +0 -1
  560. package/dist/assets/web-feAij0SJ.js +0 -1
  561. package/dist/assets/webextrator-1Ewk7MhL.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{_ as e}from"./vuex.esm-bundler-BxNPLO2l.js";import{A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,L as u,M as d,N as f,O as p,P as ee,R as te,S as ne,So as m,T as h,U as g,V as _,W as v,_ as y,a as b,b as x,c as re,d as ie,f as S,g as C,h as w,i as ae,io as T,j as oe,k as se,l as ce,m as E,n as D,o as O,p as k,r as A,s as j,t as M,to as N,u as P,v as F,w as I,x as L,y as R,z}from"./constants-XMLzMJVJ.js";import{In as B,Zi as V,ra as H}from"./index-B_mDD17T.js";import{a as U,i as W,n as G,o as le,r as ue}from"./codingBridgeNotify-Bwf5NQbl.js";function de(e,t){e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]??=[]}function fe(e,t,n){if(t===n||!e.sessions[t])return;e.sessions[n]={...e.sessions[n],...e.sessions[t],session_id:n},delete e.sessions[t];let r=e.events[t];r&&(r.length||!e.events[n]?.length)&&(e.events[n]=r),delete e.events[t],delete e.lastSeq[t],delete e.seqChecked[t],delete e.seqChecked[n];for(let r of e.permissions)r.session_id===t&&(r.session_id=n);e.currentSessionId===t&&(e.currentSessionId=n)}function pe(e,t){e.events[t.session_id]??=[],e.events[t.session_id].push(t)}function me(e,t,n,r){let i=e.events[t]?.find(e=>e.kind===`text`&&e.stream_id===n&&e.streaming);return i?(i.text=(i.text??``)+r,!0):!1}function he(e,t,n,r){let i=e.events[t]?.find(e=>e.kind===`text`&&e.stream_id===n);return i?(typeof r==`string`&&(i.text=r),i.streaming=!1,!0):!1}function ge(e,t){for(let n of e.events[t]??[])n.streaming&&=!1}function _e(e,t,n){let r=e.events[t];if(!r)return;if(!n){e.events[t]=[];return}let i=r.findIndex(e=>e.kind===`result`&&e.cut_uuid===n);i>=0&&(e.events[t]=r.slice(0,i+1))}var ve=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,ye=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},K=(e,t)=>{if(!ye())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},be=class{ws;token;handlers;reconnectDelay=s;reconnectTimer;closedByUser=!1;constructor(e){this.token=V(),this.handlers=e}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${m}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=s,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let t;try{t=JSON.parse(e.data)}catch{return}let r=t?.payload??{};switch(K(`recv`,t),t?.type){case g:this.handlers.onEvent?.(r,t?.from_node);break;case n:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case c:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case _:this.handlers.onNodeRenamed?.(r.node_id,r.name);break;case y:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,v)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:ve(),ts:Date.now(),type:e,...t};K(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(C,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(E,{})}resume(e){this.sendEnvelope(w,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},q,J=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,Y=(e,t,n)=>({id:J(),session_id:e,kind:t,ts:Date.now(),...n}),X=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},xe=e=>{let t=X(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
+ `)},Se=(e,t)=>{G({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Ce=(n,s,c,m,g)=>{let _=m?.event,v=m?.session_id,y=m?.trace_id,b=m?.seq;if(typeof b==`number`&&v){let e=c.lastSeq[v];if(e!==void 0&&b<=e){if(c.seqChecked[v])return;n(`resetLastSeq`,v),s(`resyncSession`,v)}n(`markSeqChecked`,v),n(`setLastSeq`,{session_id:v,seq:b})}switch(v&&y&&n(`updateSession`,{session_id:v,trace_id:y}),_){case d:n(`upsertSession`,{session_id:v,node_id:g,status:`running`,cwd:m.cwd,model:m.model,resolved_model:m.resolved_model,...m.effort===void 0?{}:{effort:m.effort},...m.permission_mode===void 0?{}:{permission_mode:m.permission_mode},trace_id:y});break;case p:{let e=m.sdk_session_id;v&&e&&e!==v&&n(`renameSession`,{from:v,to:e});break}case o:{let e=m.id;e&&c.events[v]?.find(t=>t.kind===`text`&&t.stream_id===e)?n(`appendDelta`,{session_id:v,stream_id:e,text:m.text??``}):n(`appendEvent`,Y(v,`text`,{text:m.text??``,stream_id:e,streaming:!0,trace_id:y}));break}case ee:{let e=m.id;e&&c.events[v]?.find(t=>t.kind===`text`&&t.stream_id===e)?n(`finalizeStream`,{session_id:v,stream_id:e,text:m.text}):n(`appendEvent`,Y(v,`text`,{text:m.text,trace_id:y}));break}case l:n(`appendEvent`,Y(v,`thinking`,{text:m.text,trace_id:y}));break;case te:n(`appendEvent`,Y(v,`tool_use`,{tool:m.tool,tool_use_id:m.tool_use_id,input:m.input,trace_id:y}));break;case u:n(`appendEvent`,Y(v,`tool_result`,{tool_use_id:m.tool_use_id,content:m.content,is_error:m.is_error,trace_id:y}));break;case r:n(`addPermission`,{request_id:m.request_id,session_id:v,node_id:g,tool:m.tool,input:m.input,title:m.title,display_name:m.display_name,description:m.description}),Se(s,{node_id:g,session_id:v,request_id:m.request_id,tool:m.display_name||m.title||m.tool});break;case ne:for(let e of m.requests??[])n(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:g,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case I:n(`removePermission`,m.request_id);break;case t:n(`finalizeAllStreams`,{session_id:v}),n(`appendEvent`,Y(v,`result`,{subtype:m.subtype,is_error:m.is_error,text:m.result,cost_usd:m.cost_usd,cut_uuid:m.cut_uuid,sdk_session_id:m.sdk_session_id,trace_id:y})),n(`updateSession`,{session_id:v,status:`idle`,cost_usd:m.cost_usd});break;case se:n(`appendEvent`,Y(v,`notice`,{text:m.text,subtype:m.code,command:m.command,level:m.level}));break;case i:n(`finalizeAllStreams`,{session_id:v}),n(`appendEvent`,Y(v,`error`,{text:m.message,trace_id:y})),n(`updateSession`,{session_id:v,status:`error`}),n(`updateStatus`,{key:`getHistoryDetail`,value:e.Success});break;case a:n(`finalizeAllStreams`,{session_id:v}),n(`updateSession`,{session_id:v,status:`closed`}),n(`clearSeqCheckedFor`,v);break;case oe:n(`rewindToCut`,{session_id:v,cut_uuid:m.cut_uuid}),m.prompt&&n(`appendEvent`,Y(v,`prompt`,{text:m.prompt,trace_id:y})),n(`updateSession`,{session_id:v,status:`running`});break;case f:n(`resetLastSeq`,v),n(`clearSeqCheckedFor`,v),s(`resyncSession`,v);break;case h:for(let e of m.sessions??[]){let t=e.model;n(`upsertSession`,{session_id:e.session_id,node_id:g,status:e.status??`running`,started:!0,cwd:e.cwd,model:t,resolved_model:e.resolved_model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}})}break;case L:if(g){n(`setHistory`,{node_id:g,sessions:m.sessions??[]}),n(`updateStatus`,{key:`getHistory`,value:e.Success});let t=c.historyRef;t&&t.node_id===g&&!c.currentSessionId&&s(`reattachSession`,t)}break;case x:we(n,c,m,g),n(`updateStatus`,{key:`getHistoryDetail`,value:e.Success});break;case R:n(`setDirectory`,{path:m.path,parent:m.parent??null,sep:m.sep??`/`,entries:m.entries??[],truncated:m.truncated,error:m.error});break;case F:g&&n(`setCapabilities`,{node_id:g,capabilities:{providers:m.providers??[]}});break;default:break}},we=(e,t,n,r)=>{let i=n?.session_id,a=Te(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{},u=(n.resolved_model===void 0?void 0:n.model)??s?.model;e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:u,resolved_model:n.resolved_model??s?.resolved_model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let d=t.events[i]?.length??0,f=(n.events??[]).length,p=s?.status===`running`||s?.status===`starting`;c&&d>0&&(p||d>=f)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:J(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},Te=e=>e===`codex`||e===`copilot`?e:`claude`,Z=0,Q=new Map,Ee=({commit:e})=>{Q.clear(),e(`resetAll`)},De=async()=>{},Oe=async()=>{},ke=(e,t,n)=>{e(`setNodeName`,{node_id:t,name:n})},$={namespaced:!0,state:H,mutations:{resetAll:e=>{Object.assign(e,H())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id)),r=new Map(t.map(e=>[e.node_id,e.name]));for(let t of e.nodes){t.status=n.has(t.node_id)?`online`:`offline`;let e=r.get(t.node_id);e&&(t.name=e)}for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setNodeName:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.name=t.name)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{de(e,t)},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{fe(e,t.from,t.to),e.historyRef?.session_id===t.from&&(e.historyRef={...e.historyRef,session_id:t.to})},appendEvent:(e,t)=>{pe(e,t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{_e(e,t.session_id,t.cut_uuid)},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},resetLastSeq:(e,t)=>{delete e.lastSeq[t]},markSeqChecked:(e,t)=>{e.seqChecked[t]=!0},clearSeqChecked:e=>{e.seqChecked={}},clearSeqCheckedFor:(e,t)=>{delete e.seqChecked[t]},appendDelta:(e,t)=>{me(e,t.session_id,t.stream_id,t.text)},finalizeStream:(e,t)=>{he(e,t.session_id,t.stream_id,t.text)},finalizeAllStreams:(e,t)=>{ge(e,t.session_id)},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],delete e.seqChecked[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:Ee,getApplications:De,setApplication:Oe,getNodes:async({commit:t,rootState:n})=>{let r=n.token?.access;if(!r)return[];t(`updateStatus`,{key:`getNodes`,value:e.Request});let i=Z;try{let{data:n}=await B.getNodes({token:r}),a=(n.nodes??[]).map(e=>{let t=Q.get(e.node_id);return t&&t.at>i?{...e,name:t.name}:e});return t(`setNodes`,a),t(`updateStatus`,{key:`getNodes`,value:e.Success}),a}catch(n){throw t(`updateStatus`,{key:`getNodes`,value:e.Error}),n}},claimPair:async({commit:t,dispatch:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);t(`updateStatus`,{key:`claimPair`,value:e.Request});try{let{data:r}=await B.claimPair(i.trim(),{token:a});return t(`updateStatus`,{key:`claimPair`,value:e.Success}),await n(`getNodes`),r.node_name}catch(n){throw t(`updateStatus`,{key:`claimPair`,value:e.Error}),n}},deleteNode:async({commit:t,dispatch:n,state:r,rootState:i},a)=>{let o=i.token?.access;if(!o)throw Error(`not authenticated`);t(`updateStatus`,{key:`deleteNode`,value:e.Request});try{await B.deleteNode(a,{token:o}),t(`removeNodeData`,a),r.currentNodeId===a&&(t(`setCurrentNode`,void 0),t(`setCurrentSession`,void 0)),t(`updateStatus`,{key:`deleteNode`,value:e.Success}),await n(`getNodes`)}catch(n){throw t(`updateStatus`,{key:`deleteNode`,value:e.Error}),n}},renameNode:async({commit:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);let a=r.name.trim();if(!a)throw Error(`name must not be empty`);t(`updateStatus`,{key:`renameNode`,value:e.Request});try{let{data:n}=await B.renameNode(r.nodeId,a,{token:i}),o=n?.name??a;Q.size>=50&&Q.clear(),Q.set(r.nodeId,{name:o,at:++Z}),t(`setNodeName`,{node_id:r.nodeId,name:o}),t(`updateStatus`,{key:`renameNode`,value:e.Success})}catch(n){throw t(`updateStatus`,{key:`renameNode`,value:e.Error}),n}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{r.token?.access&&(q?.isOpen||(q?.close(),e(`setConnection`,`connecting`),q=new be({onOpen:()=>{e(`setConnection`,`connected`),e(`clearSeqChecked`);let r={...n.lastSeq};Object.keys(r).length&&q?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Ce(e,t,n,r,i),onNodesSnapshot:n=>{e(`mergeNodeSnapshot`,n),t(`getNodes`)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onNodeRenamed:(t,n)=>{ke(e,t,n)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),q.connect()))},disconnect:({commit:e})=>{q?.close(),q=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!q||q.sendToNode(n,{action:re})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!q||q.sendToNode(n,{action:O})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(T()){let t=await ue(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await B.savePushSubscription({kind:N()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await W();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await B.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await U(e.vapid_public_key);t&&await B.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(T()||!t)return;let n=await le();if(n)try{await B.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!q||!i&&!a&&!o)return;let s=J(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=J(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,Y(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),q.sendToNode(r,{action:k,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`default`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,Y(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),q.sendToNode(r,{action:S,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!q||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=J();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,Y(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),q.sendToNode(r,{action:P,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!q||q.sendToNode(n,{action:ie,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&q&&q.sendToNode(i,{action:ce,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(q?.sendToNode(r.node_id,{action:j,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(q?.sendToNode(r.node_id,{action:j,request_id:n.request_id,decision:`allow`,answer:X(n.output),answer_text:xe(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:t,state:n},r)=>{let i=r??n.currentNodeId;!i||!q||(t(`updateStatus`,{key:`getHistory`,value:e.Request}),q.sendToNode(i,{action:ae,limit:z}))},getHistoryDetail:({commit:t},n)=>{!n?.node_id||!n?.session_id||!q||(t(`updateStatus`,{key:`getHistoryDetail`,value:e.Request}),q.sendToNode(n.node_id,{action:A,provider:n.provider,session_id:n.session_id}),setTimeout(()=>t(`updateStatus`,{key:`getHistoryDetail`,value:e.Success}),12e3))},markHistoryRead:(e,t)=>{!t?.node_id||!t?.session_id||!t?.provider||!q||q.sendToNode(t.node_id,{action:b,provider:t.provider,session_id:t.session_id,updated_at:t.updated_at,limit:z})},reattachSession:({state:e,commit:t,dispatch:n},r)=>{if(!r?.node_id||!r?.session_id)return;t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id);let i=e.lastSeq[r.session_id];i!==void 0&&q?.resume({[r.session_id]:i})},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!q||(e(`setDirectoryLoading`,!0),q.sendToNode(r,{action:D,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!q||q.sendToNode(n,{action:M})}}};export{$ as codingBridge,$ as default};
@@ -1 +1 @@
1
- var e={"nodeList.title":{message:`Dispositivi`,description:`Titolo dell'elenco dei dispositivi di Coding Bridge`},"nodeList.refresh":{message:`Aggiorna`,description:`Aggiorna l'elenco dei dispositivi`},"nodeList.pair":{message:`Accoppia dispositivo`,description:`Apre la finestra di dialogo per l'accoppiamento`},"nodeList.empty":{message:`Nessun dispositivo accoppiato.`,description:`Messaggio quando l'elenco dei dispositivi è vuoto`},"nodeList.pairFirst":{message:`Accoppia il primo dispositivo`,description:`Pulsante di accoppiamento in stato vuoto`},"nodeList.rename":{message:`Rinomina`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Assegna un nome a questo dispositivo. Il nome viene sincronizzato su tutti i dispositivi in cui hai effettuato l’accesso.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Il nome non può essere vuoto.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Il nome deve contenere al massimo {max} caratteri.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Dispositivo rinominato.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Impossibile rinominare il dispositivo.`,description:`Rename device failure`},"nodeList.remove":{message:`Rimuovi`,description:`Rimuove un dispositivo`},"nodeList.removeConfirm":{message:`Rimuovere il dispositivo “{name}”? Dopo la rimozione sarà necessario accoppiarlo di nuovo.`,description:`Conferma la rimozione del dispositivo`},"nodeList.removeSuccess":{message:`Dispositivo rimosso.`,description:`Messaggio di successo per la rimozione del dispositivo`},"nodeList.removeFailed":{message:`Rimozione del dispositivo fallita.`,description:`Messaggio di errore per la rimozione del dispositivo`},"status.online":{message:`Online`,description:`Stato del dispositivo online`},"status.offline":{message:`Offline`,description:`Stato del dispositivo offline`},"connection.disconnected":{message:`Disconnesso`,description:`La connessione del relay è stata interrotta`},"connection.connecting":{message:`Connessione in corso…`,description:`Il relay sta tentando di connettersi`},"connection.connected":{message:`Connesso`,description:`Il relay è connesso`},"connection.error":{message:`Errore di connessione`,description:`Si è verificato un errore nella connessione del relay`},"pair.title":{message:`Accoppia dispositivo`,description:`Titolo della finestra di dialogo di accoppiamento`},"pair.intro":{message:`Esegui il proxy Coding Bridge sul tuo computer e inserisci qui il codice di accoppiamento per controllarlo dal browser.`,description:`Introduzione alla finestra di dialogo di accoppiamento`},"pair.step1":{message:`Installa il proxy (richiede Python 3.10+):`,description:`Passo 1 per l'accoppiamento`},"pair.step2":{message:`Avvia e segui le istruzioni:`,description:`Passo 2 per l'accoppiamento`},"pair.step3":{message:`Inserisci il codice di accoppiamento mostrato qui sotto.`,description:`Passo 3 per l'accoppiamento`},"pair.codePlaceholder":{message:`Codice di accoppiamento`,description:`Segnaposto per il campo di input del codice di accoppiamento`},"pair.claim":{message:`Accoppia dispositivo`,description:`Pulsante di conferma per l'accoppiamento`},"pair.success":{message:`Dispositivo “{name}” accoppiato.`,description:`Messaggio di successo per l'accoppiamento`},"pair.invalidCode":{message:`Il codice di accoppiamento è invalido o è scaduto.`,description:`Errore di codice di accoppiamento invalido`},"pair.usedCode":{message:`Questo codice di accoppiamento è già stato utilizzato.`,description:`Errore di codice di accoppiamento già utilizzato`},"pair.failed":{message:`Accoppiamento del dispositivo fallito.`,description:`Errore generico di accoppiamento`},"permission.title":{message:`Autorizzazione necessaria`,description:`Titolo della finestra di autorizzazione`},"permission.subtitle":{message:`Richiesta di autorizzazione per utilizzare uno strumento, continua dopo l'approvazione.`,description:`Sottotitolo della finestra di autorizzazione`},"permission.deny":{message:`Rifiuta`,description:`Rifiuta l'autorizzazione dello strumento`},"permission.allow":{message:`Consenti`,description:`Consenti l'autorizzazione dello strumento`},"session.noDevice":{message:`Seleziona un dispositivo per iniziare a codificare.`,description:`Suggerimento segnaposto quando non è stato selezionato alcun dispositivo`},"session.newSession":{message:`Nuova sessione`,description:`Inizia una nuova sessione`},"session.deviceOffline":{message:`Questo dispositivo è offline. Per favore, avvia il proxy Coding Bridge su questo dispositivo per continuare.`,description:`Avviso di dispositivo offline`},"session.nodeId":{message:`ID dispositivo`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID sessione`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID traccia`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Invia un messaggio per iniziare la sessione su questo dispositivo.`,description:`Suggerimento per un record vuoto`},"session.cwdPlaceholder":{message:`Directory di lavoro (opzionale)`,description:`Segnaposto per il campo di input della directory di lavoro`},"session.modelPlaceholder":{message:`Modello (opzionale)`,description:`Segnaposto per il campo di input del modello`},"session.promptPlaceholder":{message:`Invia un messaggio al proxy…`,description:`Segnaposto per il campo di input del prompt`},"session.send":{message:`Invia`,description:`Pulsante per inviare il messaggio`},"session.voiceInput":{message:`Input vocale`,description:`Inizia a convertire la voce in suggerimenti`},"session.voiceStop":{message:`Ferma input vocale`,description:`Ferma la trascrizione vocale`},"session.voiceListening":{message:`In ascolto, puoi modificare il testo dopo aver fermato.`,description:`Messaggio di input durante il riconoscimento vocale in corso`},"session.voiceStopping":{message:`Completando la trascrizione vocale…`,description:`In attesa del risultato finale del riconoscimento vocale`},"session.voicePermissionDenied":{message:`Permesso del microfono negato, consenti nelle impostazioni di sistema o del browser e riprova.`,description:`Permesso del microfono negato`},"session.voiceMicrophoneUnavailable":{message:`Microfono non trovato o non disponibile.`,description:`Microfono non disponibile`},"session.voiceNoSpeech":{message:`Nessuna voce rilevata, riprova.`,description:`Il riconoscimento vocale non ha rilevato alcuna parola`},"session.voiceNetworkError":{message:`Servizio di riconoscimento vocale temporaneamente non disponibile, controlla la rete e riprova.`,description:`Errore di rete nel riconoscimento vocale`},"session.voiceError":{message:`Errore nell'input vocale, riprova.`,description:`Errore generico nel riconoscimento vocale`},"session.retry":{message:`Riprova`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Modifica`,description:`Modifica il prompt inviato e invialo nuovamente come un nuovo`},"session.editingBanner":{message:`In modifica — l'invio riporterà la conversazione a questo punto`,description:`Banner mostrato durante la modifica di un prompt precedente`},"session.editRestoreCode":{message:`Ripristina anche il codice`,description:`Checkbox per ripristinare anche le modifiche ai file durante la modifica`},"session.editCancel":{message:`Annulla`,description:`Annulla la modifica di un prompt precedente`},"session.editSubmit":{message:`Aggiorna`,description:`Invia un prompt modificato (riavvolgi e riesegui)`},"session.enterHint":{message:`Invio per inviare, Shift+Invio per andare a capo.`,description:`Suggerimento per la tastiera nel campo di input`},"transcript.turnFailed":{message:`Esecuzione fallita`,description:`Etichetta di fallimento del risultato del turno`},"transcript.turnDone":{message:`Completato`,description:`Etichetta di completamento del risultato del turno`},"transcript.todoProgress":{message:`Completato {done}/{total}`,description:`Progresso dell'elenco delle attività`},"transcript.todoOverflow":{message:`…ci sono altre {count} voci non visualizzate`,description:`Suggerimento per un elenco di attività troppo lungo`},"transcript.todoCompleted":{message:`Completato`,description:`Elenco delle attività: stato completato (lettura accessibile)`},"transcript.todoInProgress":{message:`In corso`,description:`Elenco delle attività: stato in corso (lettura accessibile)`},"transcript.todoPending":{message:`Da fare`,description:`Elenco delle attività: stato da fare (lettura accessibile)`},"history.button":{message:`Cronologia`,description:`Open the conversation history drawer`},"history.title":{message:`Cronologia delle conversazioni`,description:`History drawer title`},"history.intro":{message:`Sessioni Claude Code, Codex e GitHub Copilot precedenti su questo dispositivo.`,description:`History drawer intro`},"history.refresh":{message:`Aggiorna`,description:`Reload the history list`},"history.loading":{message:`Caricamento della cronologia…`,description:`History loading message`},"history.empty":{message:`Nessuna cronologia trovata su questo dispositivo.`,description:`Empty history message`},"history.filterAll":{message:`Tutti`,description:`Rimuove il filtro di origine e mostra tutte le conversazioni.`},"history.filterEmpty":{message:`Non ci sono conversazioni con il filtro attuale.`,description:`Messaggio che indica che i risultati sono vuoti dopo l'applicazione del filtro.`},"history.messages":{message:`{count} messaggi`,description:`History item message count`},"history.readonly":{message:`Questa conversazione Codex è di sola lettura e non può essere continuata. Avvia una nuova sessione per continuare a programmare.`,description:`Read-only replay notice`},"history.running":{message:`In esecuzione`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`Non letto`,description:`Indicatore di sessioni storiche completate ma non ancora visualizzate dall'utente`},"history.resumeHint":{message:`L’invio di un messaggio riprenderà questa conversazione sul dispositivo.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Cronologia Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Cronologia Codex (sola lettura)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Modalità autorizzazioni`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Predefinito (chiedi ogni volta)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Accetta automaticamente le modifiche`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Modalità pianificazione (sola lettura)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignora tutte le autorizzazioni`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Etichetta per il selettore del backend dell'agente`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(non installato)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} non è installato su questo dispositivo.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Sforzo di ragionamento`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Predefinito`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Basso`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Medio`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Alto`,description:`Reasoning effort: high`},"session.effortMax":{message:`Massimo`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Scegli la directory di lavoro`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Usa questa directory`,description:`Button: select the current directory`},"directory.up":{message:`Directory superiore`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Aggiorna`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Inserisci il percorso (es. D:\\) e premi invio`,description:`Segnaposto per l'input del percorso della directory modificabile`},"directory.go":{message:`Vai`,description:`Pulsante: naviga al percorso della directory digitato`},"directory.loading":{message:`Caricamento…`,description:`Directory listing loading hint`},"directory.empty":{message:`Questa directory è vuota.`,description:`Empty directory hint`},"directory.truncated":{message:`Mostrate le prime 1000 voci.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Allega immagine`,description:`Attach image button title`},"session.removeImage":{message:`Rimuovi immagine`,description:`Remove attached image button title`},"session.imageAlt":{message:`Immagine allegata`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`L'immagine è troppo grande; mantieni ciascuna sotto i 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Puoi allegare fino a {count} immagini.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Modello predefinito`,description:`Modello predefinito`},"session.cwdDefault":{message:`Directory predefinita`,description:`Directory predefinita`},"session.settings":{message:`Impostazioni della sessione`,description:`Impostazioni della sessione`},"session.settingsLocked":{message:`Le impostazioni di questa sessione sono bloccate`,description:`Le impostazioni sono bloccate per questa sessione`},"session.attachFile":{message:`Aggiungi file`,description:`Allega un file`},"session.attachmentImageAlt":{message:`Immagine allegata`,description:`Immagine allegata`},"session.removeAttachment":{message:`Rimuovi allegato`,description:`Rimuovi l'allegato`},"session.uploadingAttachment":{message:`Caricamento allegato in corso…`,description:`Caricamento degli allegati…`},"session.attachmentTooLarge":{message:`File troppo grande, mantieni ogni file sotto i 50 MB.`,description:`Il file è troppo grande; mantieni ciascuno sotto i 50 MB.`},"session.attachmentLimit":{message:`Puoi allegare al massimo {count} file.`,description:`Puoi allegare fino a {count} file.`},"session.attachmentUploadError":{message:`Errore nel caricamento dell'allegato.`,description:`Impossibile caricare l'allegato.`},"notice.slashUnavailable":{message:`/{command} è un comando interattivo e non può essere eseguito in una sessione remota.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} non è disponibile per Codex in una sessione remota.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Attiva le notifiche`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Disattiva le notifiche`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifiche attivate. Ti avviseremo quando una sessione richiede un'approvazione.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifiche disattivate.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Le notifiche sono bloccate. Consentile nelle impostazioni del browser per ricevere gli avvisi di approvazione.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Le notifiche non sono supportate su questo dispositivo.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Impossibile aggiornare le impostazioni delle notifiche.`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`Dispositivi`,description:`Titolo dell'elenco dei dispositivi di Coding Bridge`},"nodeList.refresh":{message:`Aggiorna`,description:`Aggiorna l'elenco dei dispositivi`},"nodeList.pair":{message:`Accoppia dispositivo`,description:`Apre la finestra di dialogo per l'accoppiamento`},"nodeList.empty":{message:`Nessun dispositivo accoppiato.`,description:`Messaggio quando l'elenco dei dispositivi è vuoto`},"nodeList.pairFirst":{message:`Accoppia il primo dispositivo`,description:`Pulsante di accoppiamento in stato vuoto`},"nodeList.rename":{message:`Rinomina`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Assegna un nome a questo dispositivo. Il nome viene sincronizzato su tutti i dispositivi in cui hai effettuato l’accesso.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Il nome non può essere vuoto.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Il nome deve contenere al massimo {max} caratteri.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Dispositivo rinominato.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Impossibile rinominare il dispositivo.`,description:`Rename device failure`},"nodeList.remove":{message:`Rimuovi`,description:`Rimuove un dispositivo`},"nodeList.removeConfirm":{message:`Rimuovere il dispositivo “{name}”? Dopo la rimozione sarà necessario accoppiarlo di nuovo.`,description:`Conferma la rimozione del dispositivo`},"nodeList.removeSuccess":{message:`Dispositivo rimosso.`,description:`Messaggio di successo per la rimozione del dispositivo`},"nodeList.removeFailed":{message:`Rimozione del dispositivo fallita.`,description:`Messaggio di errore per la rimozione del dispositivo`},"status.online":{message:`Online`,description:`Stato del dispositivo online`},"status.offline":{message:`Offline`,description:`Stato del dispositivo offline`},"connection.disconnected":{message:`Disconnesso`,description:`La connessione del relay è stata interrotta`},"connection.connecting":{message:`Connessione in corso…`,description:`Il relay sta tentando di connettersi`},"connection.connected":{message:`Connesso`,description:`Il relay è connesso`},"connection.error":{message:`Errore di connessione`,description:`Si è verificato un errore nella connessione del relay`},"pair.title":{message:`Accoppia dispositivo`,description:`Titolo della finestra di dialogo di accoppiamento`},"pair.intro":{message:`Esegui il proxy Coding Bridge sul tuo computer e inserisci qui il codice di accoppiamento per controllarlo dal browser.`,description:`Introduzione alla finestra di dialogo di accoppiamento`},"pair.step1":{message:`Installa il proxy (richiede Python 3.10+):`,description:`Passo 1 per l'accoppiamento`},"pair.step2":{message:`Avvia e segui le istruzioni:`,description:`Passo 2 per l'accoppiamento`},"pair.step3":{message:`Inserisci il codice di accoppiamento mostrato qui sotto.`,description:`Passo 3 per l'accoppiamento`},"pair.codePlaceholder":{message:`Codice di accoppiamento`,description:`Segnaposto per il campo di input del codice di accoppiamento`},"pair.claim":{message:`Accoppia dispositivo`,description:`Pulsante di conferma per l'accoppiamento`},"pair.success":{message:`Dispositivo “{name}” accoppiato.`,description:`Messaggio di successo per l'accoppiamento`},"pair.invalidCode":{message:`Il codice di accoppiamento è invalido o è scaduto.`,description:`Errore di codice di accoppiamento invalido`},"pair.usedCode":{message:`Questo codice di accoppiamento è già stato utilizzato.`,description:`Errore di codice di accoppiamento già utilizzato`},"pair.failed":{message:`Accoppiamento del dispositivo fallito.`,description:`Errore generico di accoppiamento`},"permission.title":{message:`Autorizzazione necessaria`,description:`Titolo della finestra di autorizzazione`},"permission.subtitle":{message:`Richiesta di autorizzazione per utilizzare uno strumento, continua dopo l'approvazione.`,description:`Sottotitolo della finestra di autorizzazione`},"permission.deny":{message:`Rifiuta`,description:`Rifiuta l'autorizzazione dello strumento`},"permission.allow":{message:`Consenti`,description:`Consenti l'autorizzazione dello strumento`},"session.noDevice":{message:`Seleziona un dispositivo per iniziare a codificare.`,description:`Suggerimento segnaposto quando non è stato selezionato alcun dispositivo`},"session.newSession":{message:`Nuova sessione`,description:`Inizia una nuova sessione`},"session.deviceOffline":{message:`Questo dispositivo è offline. Per favore, avvia il proxy Coding Bridge su questo dispositivo per continuare.`,description:`Avviso di dispositivo offline`},"session.nodeId":{message:`ID dispositivo`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID sessione`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID traccia`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Invia un messaggio per iniziare la sessione su questo dispositivo.`,description:`Suggerimento per un record vuoto`},"session.cwdPlaceholder":{message:`Directory di lavoro (opzionale)`,description:`Segnaposto per il campo di input della directory di lavoro`},"session.modelPlaceholder":{message:`Modello (opzionale)`,description:`Segnaposto per il campo di input del modello`},"session.promptPlaceholder":{message:`Invia un messaggio al proxy…`,description:`Segnaposto per il campo di input del prompt`},"session.send":{message:`Invia`,description:`Pulsante per inviare il messaggio`},"session.voiceInput":{message:`Input vocale`,description:`Inizia a convertire la voce in suggerimenti`},"session.voiceStop":{message:`Ferma input vocale`,description:`Ferma la trascrizione vocale`},"session.voiceListening":{message:`In ascolto, puoi modificare il testo dopo aver fermato.`,description:`Messaggio di input durante il riconoscimento vocale in corso`},"session.voiceStopping":{message:`Completando la trascrizione vocale…`,description:`In attesa del risultato finale del riconoscimento vocale`},"session.voicePermissionDenied":{message:`Permesso del microfono negato, consenti nelle impostazioni di sistema o del browser e riprova.`,description:`Permesso del microfono negato`},"session.voiceMicrophoneUnavailable":{message:`Microfono non trovato o non disponibile.`,description:`Microfono non disponibile`},"session.voiceNoSpeech":{message:`Nessuna voce rilevata, riprova.`,description:`Il riconoscimento vocale non ha rilevato alcuna parola`},"session.voiceNetworkError":{message:`Servizio di riconoscimento vocale temporaneamente non disponibile, controlla la rete e riprova.`,description:`Errore di rete nel riconoscimento vocale`},"session.voiceError":{message:`Errore nell'input vocale, riprova.`,description:`Errore generico nel riconoscimento vocale`},"session.retry":{message:`Riprova`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Modifica`,description:`Modifica il prompt inviato e invialo nuovamente come un nuovo`},"session.editingBanner":{message:`In modifica — l'invio riporterà la conversazione a questo punto`,description:`Banner mostrato durante la modifica di un prompt precedente`},"session.editRestoreCode":{message:`Ripristina anche il codice`,description:`Checkbox per ripristinare anche le modifiche ai file durante la modifica`},"session.editCancel":{message:`Annulla`,description:`Annulla la modifica di un prompt precedente`},"session.editSubmit":{message:`Aggiorna`,description:`Invia un prompt modificato (riavvolgi e riesegui)`},"session.enterHint":{message:`Invio per inviare, Shift+Invio per andare a capo.`,description:`Suggerimento per la tastiera nel campo di input`},"transcript.turnFailed":{message:`Esecuzione fallita`,description:`Etichetta di fallimento del risultato del turno`},"transcript.turnDone":{message:`Completato`,description:`Etichetta di completamento del risultato del turno`},"transcript.todoProgress":{message:`Completato {done}/{total}`,description:`Progresso dell'elenco delle attività`},"transcript.todoOverflow":{message:`…ci sono altre {count} voci non visualizzate`,description:`Suggerimento per un elenco di attività troppo lungo`},"transcript.todoCompleted":{message:`Completato`,description:`Elenco delle attività: stato completato (lettura accessibile)`},"transcript.todoInProgress":{message:`In corso`,description:`Elenco delle attività: stato in corso (lettura accessibile)`},"transcript.todoPending":{message:`Da fare`,description:`Elenco delle attività: stato da fare (lettura accessibile)`},"history.button":{message:`Cronologia`,description:`Open the conversation history drawer`},"history.title":{message:`Cronologia delle conversazioni`,description:`History drawer title`},"history.intro":{message:`Sessioni Claude Code, Codex e GitHub Copilot precedenti su questo dispositivo.`,description:`History drawer intro`},"history.refresh":{message:`Aggiorna`,description:`Reload the history list`},"history.loading":{message:`Caricamento della cronologia…`,description:`History loading message`},"history.empty":{message:`Nessuna cronologia trovata su questo dispositivo.`,description:`Empty history message`},"history.filterAll":{message:`Tutti`,description:`Rimuove il filtro di origine e mostra tutte le conversazioni.`},"history.filterEmpty":{message:`Non ci sono conversazioni con il filtro attuale.`,description:`Messaggio che indica che i risultati sono vuoti dopo l'applicazione del filtro.`},"history.messages":{message:`{count} messaggi`,description:`History item message count`},"history.readonly":{message:`Questa conversazione Codex è di sola lettura e non può essere continuata. Avvia una nuova sessione per continuare a programmare.`,description:`Read-only replay notice`},"history.running":{message:`In esecuzione`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`Non letto`,description:`Indicatore di sessioni storiche completate ma non ancora visualizzate dall'utente`},"history.resumeHint":{message:`L’invio di un messaggio riprenderà questa conversazione sul dispositivo.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Cronologia Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Cronologia Codex (sola lettura)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Modalità autorizzazioni`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Predefinito (segue le regole di approvazione di questo dispositivo)`,description:`Modalità autorizzazioni: chiedi prima di ogni utilizzo dello strumento`},"session.permissionModeAcceptEdits":{message:`Accetta automaticamente le modifiche`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Modalità pianificazione (sola lettura)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignora tutte le autorizzazioni`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Etichetta del selettore del backend dell'agente`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(non installato)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} non è installato su questo dispositivo.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Sforzo di ragionamento`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Predefinito`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Basso`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Medio`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Alto`,description:`Reasoning effort: high`},"session.effortMax":{message:`Massimo`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Scegli la directory di lavoro`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Usa questa directory`,description:`Button: select the current directory`},"directory.up":{message:`Directory superiore`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Aggiorna`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Inserisci il percorso (es. D:\\) e premi invio`,description:`Segnaposto per l'input del percorso della directory modificabile`},"directory.go":{message:`Vai`,description:`Pulsante: naviga al percorso della directory digitato`},"directory.loading":{message:`Caricamento…`,description:`Directory listing loading hint`},"directory.empty":{message:`Questa directory è vuota.`,description:`Empty directory hint`},"directory.truncated":{message:`Mostrate le prime 1000 voci.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Allega immagine`,description:`Attach image button title`},"session.removeImage":{message:`Rimuovi immagine`,description:`Remove attached image button title`},"session.imageAlt":{message:`Immagine allegata`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`L'immagine è troppo grande; mantieni ciascuna sotto i 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Puoi allegare fino a {count} immagini.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Modello predefinito`,description:`Modello predefinito`},"session.cwdDefault":{message:`Directory predefinita`,description:`Directory predefinita`},"session.settings":{message:`Impostazioni della sessione`,description:`Impostazioni della sessione`},"session.settingsLocked":{message:`Le impostazioni di questa sessione sono bloccate`,description:`Le impostazioni sono bloccate per questa sessione`},"session.attachFile":{message:`Aggiungi file`,description:`Allega un file`},"session.attachmentImageAlt":{message:`Immagine allegata`,description:`Immagine allegata`},"session.removeAttachment":{message:`Rimuovi allegato`,description:`Rimuovi l'allegato`},"session.uploadingAttachment":{message:`Caricamento allegato in corso…`,description:`Caricamento degli allegati…`},"session.attachmentTooLarge":{message:`File troppo grande, mantieni ogni file sotto i 50 MB.`,description:`Il file è troppo grande; mantieni ciascuno sotto i 50 MB.`},"session.attachmentLimit":{message:`Puoi allegare al massimo {count} file.`,description:`Puoi allegare fino a {count} file.`},"session.attachmentUploadError":{message:`Errore nel caricamento dell'allegato.`,description:`Impossibile caricare l'allegato.`},"notice.slashUnavailable":{message:`/{command} è un comando interattivo e non può essere eseguito in una sessione remota.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} non è disponibile per Codex in una sessione remota.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Attiva le notifiche`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Disattiva le notifiche`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifiche attivate. Ti avviseremo quando una sessione richiede un'approvazione.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifiche disattivate.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Le notifiche sono bloccate. Consentile nelle impostazioni del browser per ricevere gli avvisi di approvazione.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Le notifiche non sono supportate su questo dispositivo.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Impossibile aggiornare le impostazioni delle notifiche.`,description:`Toast when enabling or disabling notifications errors`},"session.working":{message:`In esecuzione…`,description:`Stato di esecuzione della sessione`},"session.permissionModeWorkspace":{message:`Permessi dell'area di lavoro (senza conferma ogni volta)`,description:`Modalità dei permessi dell'area di lavoro`},"transcript.interrupted":{message:`Interrotto`,description:`Stato della trascrizione interrotta`}};export{e as default};
@@ -1 +1 @@
1
- var e={"nodeList.title":{message:`Dispositivos`,description:`Título de la lista de dispositivos de Coding Bridge`},"nodeList.refresh":{message:`Actualizar`,description:`Actualizar la lista de dispositivos`},"nodeList.pair":{message:`Emparejar dispositivo`,description:`Abrir el cuadro de diálogo de emparejamiento`},"nodeList.empty":{message:`No se han emparejado dispositivos.`,description:`Mensaje cuando la lista de dispositivos está vacía`},"nodeList.pairFirst":{message:`Emparejar primer dispositivo`,description:`Botón de emparejamiento en estado vacío`},"nodeList.rename":{message:`Cambiar nombre`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Ponle un nombre a este dispositivo. El nombre se sincroniza con todos tus dispositivos con sesión iniciada.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`El nombre no puede estar vacío.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`El nombre debe tener como máximo {max} caracteres.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Dispositivo renombrado.`,description:`Rename device success`},"nodeList.renameFailed":{message:`No se pudo cambiar el nombre del dispositivo.`,description:`Rename device failure`},"nodeList.remove":{message:`Eliminar`,description:`Eliminar dispositivo`},"nodeList.removeConfirm":{message:`¿Eliminar el dispositivo “{name}”? Se necesita emparejar de nuevo después de eliminar.`,description:`Confirmación para eliminar el dispositivo`},"nodeList.removeSuccess":{message:`Dispositivo eliminado.`,description:`Mensaje de éxito al eliminar el dispositivo`},"nodeList.removeFailed":{message:`Error al eliminar el dispositivo.`,description:`Mensaje de error al eliminar el dispositivo`},"status.online":{message:`Conectado`,description:`Estado de conexión del dispositivo`},"status.offline":{message:`Desconectado`,description:`Estado de desconexión del dispositivo`},"connection.disconnected":{message:`Desconectado`,description:`La conexión del intermediario ha sido desconectada`},"connection.connecting":{message:`Conectando…`,description:`El intermediario se está conectando`},"connection.connected":{message:`Conectado`,description:`El intermediario está conectado`},"connection.error":{message:`Error de conexión`,description:`Error en la conexión del intermediario`},"pair.title":{message:`Emparejar dispositivo`,description:`Título del cuadro de diálogo de emparejamiento`},"pair.intro":{message:`Ejecuta el proxy de Coding Bridge en tu computadora y luego ingresa el código de emparejamiento aquí para controlarlo desde la web.`,description:`Introducción al cuadro de diálogo de emparejamiento`},"pair.step1":{message:`Instala el proxy (requiere Python 3.10+):`,description:`Paso 1 del emparejamiento`},"pair.step2":{message:`Inicia y sigue las instrucciones:`,description:`Paso 2 del emparejamiento`},"pair.step3":{message:`Ingresa el código de emparejamiento que se muestra abajo.`,description:`Paso 3 del emparejamiento`},"pair.codePlaceholder":{message:`Código de emparejamiento`,description:`Placeholder del campo de entrada del código de emparejamiento`},"pair.claim":{message:`Emparejar dispositivo`,description:`Botón de confirmación de emparejamiento`},"pair.success":{message:`El dispositivo “{name}” ha sido emparejado.`,description:`Mensaje de éxito al emparejar`},"pair.invalidCode":{message:`El código de emparejamiento es inválido o ha expirado.`,description:`Error de código de emparejamiento inválido`},"pair.usedCode":{message:`Este código de emparejamiento ya ha sido utilizado.`,description:`Error de código de emparejamiento ya utilizado`},"pair.failed":{message:`Error al emparejar el dispositivo.`,description:`Error general de emparejamiento`},"permission.title":{message:`Se requiere autorización`,description:`Título del cuadro de autorización`},"permission.subtitle":{message:`Solicitar el uso de una herramienta, continuar tras la aprobación.`,description:`Subtítulo del cuadro de autorización`},"permission.deny":{message:`Denegar`,description:`Denegar la autorización de la herramienta`},"permission.allow":{message:`Permitir`,description:`Permitir la autorización de la herramienta`},"session.noDevice":{message:`Selecciona un dispositivo para comenzar a codificar.`,description:`Sugerencia de marcador de posición cuando no se ha seleccionado un dispositivo`},"session.newSession":{message:`Nueva sesión`,description:`Iniciar una nueva sesión`},"session.deviceOffline":{message:`Este dispositivo está desconectado. Por favor, inicia el proxy Coding Bridge en este dispositivo y continúa.`,description:`Advertencia de dispositivo desconectado`},"session.nodeId":{message:`ID de dispositivo`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID de sesión`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de seguimiento`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Envía un mensaje para comenzar la sesión en este dispositivo.`,description:`Sugerencia para iniciar la sesión`},"session.cwdPlaceholder":{message:`Directorio de trabajo (opcional)`,description:`Marcador de posición para el cuadro de entrada del directorio de trabajo`},"session.modelPlaceholder":{message:`Modelo (opcional)`,description:`Marcador de posición para el cuadro de entrada del modelo`},"session.promptPlaceholder":{message:`Enviar un mensaje al proxy…`,description:`Marcador de posición para el cuadro de entrada del aviso`},"session.send":{message:`Enviar`,description:`Botón para enviar el mensaje`},"session.voiceInput":{message:`Entrada de voz`,description:`Comienza a convertir la voz en palabras clave`},"session.voiceStop":{message:`Detener entrada de voz`,description:`Detener la transcripción de voz`},"session.voiceListening":{message:`Escuchando, puedes editar el texto después de detener.`,description:`Mensaje en el cuadro de entrada durante el reconocimiento de voz`},"session.voiceStopping":{message:`Finalizando la transcripción de voz…`,description:`Esperando la salida final del reconocimiento de voz`},"session.voicePermissionDenied":{message:`Permiso de micrófono denegado, por favor permite en la configuración del sistema o del navegador y vuelve a intentarlo.`,description:`El permiso de micrófono ha sido denegado`},"session.voiceMicrophoneUnavailable":{message:`No se encontró o no se puede usar el micrófono.`,description:`Micrófono no disponible`},"session.voiceNoSpeech":{message:`No se detectó voz, por favor intenta de nuevo.`,description:`El reconocimiento de voz no detectó habla`},"session.voiceNetworkError":{message:`El servicio de reconocimiento de voz no está disponible temporalmente, por favor verifica la red y vuelve a intentarlo.`,description:`Error de red en el reconocimiento de voz`},"session.voiceError":{message:`Error en la entrada de voz, por favor intenta de nuevo.`,description:`Error general de reconocimiento de voz`},"session.retry":{message:`Reintentar`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Editar`,description:`Editar el aviso enviado y reenviarlo como una nueva ronda`},"session.editingBanner":{message:`Editando — Enviar volverá a este punto en la conversación`,description:`Banner mostrado mientras se edita un aviso anterior`},"session.editRestoreCode":{message:`Revertir código también`,description:`Casilla de verificación para revertir también los cambios en el archivo al editar`},"session.editCancel":{message:`Cancelar`,description:`Cancelar la edición de un aviso anterior`},"session.editSubmit":{message:`Actualizar`,description:`Enviar un aviso editado (rebobinar y volver a ejecutar)`},"session.enterHint":{message:`Presiona Enter para enviar, Shift+Enter para nueva línea.`,description:`Sugerencia de teclado para el cuadro de entrada`},"transcript.turnFailed":{message:`Error en la ejecución`,description:`Etiqueta de resultado de turno fallido`},"transcript.turnDone":{message:`Finalizado`,description:`Etiqueta de resultado de turno completado`},"transcript.todoProgress":{message:`Completado {done}/{total}`,description:`Progreso de la lista de tareas`},"transcript.todoOverflow":{message:`…hay {count} elementos no mostrados`,description:`Sugerencia de desbordamiento para la lista de tareas`},"transcript.todoCompleted":{message:`Completado`,description:`Lista de tareas: estado completado (lectura accesible)`},"transcript.todoInProgress":{message:`En progreso`,description:`Lista de tareas: estado en progreso (lectura accesible)`},"transcript.todoPending":{message:`Pendiente`,description:`Lista de tareas: estado pendiente (lectura accesible)`},"history.button":{message:`Historial`,description:`Open the conversation history drawer`},"history.title":{message:`Historial de conversaciones`,description:`History drawer title`},"history.intro":{message:`Sesiones anteriores de Claude Code, Codex y GitHub Copilot en este dispositivo.`,description:`History drawer intro`},"history.refresh":{message:`Actualizar`,description:`Reload the history list`},"history.loading":{message:`Cargando historial…`,description:`History loading message`},"history.empty":{message:`No se encontró historial en este dispositivo.`,description:`Empty history message`},"history.filterAll":{message:`Todo`,description:`Eliminar el filtro de origen y mostrar todas las sesiones.`},"history.filterEmpty":{message:`No hay sesiones bajo el filtro actual.`,description:`Mensaje que indica que no hay resultados después de aplicar el filtro.`},"history.messages":{message:`{count} mensajes`,description:`History item message count`},"history.readonly":{message:`Esta conversación de Codex es de solo lectura y no se puede continuar. Inicia una nueva sesión para seguir programando.`,description:`Read-only replay notice`},"history.running":{message:`En ejecución`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`No leído`,description:`Marcador de sesiones históricas que han terminado pero que el usuario aún no ha visto`},"history.resumeHint":{message:`Enviar un mensaje reanudará esta conversación en el dispositivo.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Historial de Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Historial de Codex (solo lectura)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Modo de permisos`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Predeterminado (preguntar cada vez)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Aceptar cambios automáticamente`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Modo de planificación (solo lectura)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Omitir todos los permisos`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Etiqueta del selector de backend del agente`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(no instalado)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} no está instalado en este dispositivo.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Esfuerzo de razonamiento`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Predeterminado`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Bajo`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Medio`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Alto`,description:`Reasoning effort: high`},"session.effortMax":{message:`Máximo`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Elegir directorio de trabajo`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Usar este directorio`,description:`Button: select the current directory`},"directory.up":{message:`Directorio superior`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Actualizar`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Introduce la ruta (por ejemplo, D:\\) y presiona Enter`,description:`Marcador de posición para la entrada editable de la ruta del directorio`},"directory.go":{message:`Ir`,description:`Botón: navegar a la ruta de directorio escrita`},"directory.loading":{message:`Cargando…`,description:`Directory listing loading hint`},"directory.empty":{message:`Este directorio está vacío.`,description:`Empty directory hint`},"directory.truncated":{message:`Mostrando las primeras 1000 entradas.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Adjuntar imagen`,description:`Attach image button title`},"session.removeImage":{message:`Quitar imagen`,description:`Remove attached image button title`},"session.imageAlt":{message:`Imagen adjunta`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`La imagen es demasiado grande; mantén cada una por debajo de 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Puedes adjuntar hasta {count} imágenes.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Modelo predeterminado`,description:`Modelo predeterminado`},"session.cwdDefault":{message:`Directorio predeterminado`,description:`Directorio predeterminado`},"session.settings":{message:`Configuración de la sesión`,description:`Configuraciones de la sesión`},"session.settingsLocked":{message:`La configuración de esta sesión está bloqueada`,description:`Las configuraciones están bloqueadas para esta sesión`},"session.attachFile":{message:`Agregar archivo`,description:`Adjuntar archivo`},"session.attachmentImageAlt":{message:`Imagen adjunta`,description:`Imagen adjunta`},"session.removeAttachment":{message:`Eliminar archivo adjunto`,description:`Eliminar archivo adjunto`},"session.uploadingAttachment":{message:`Subiendo archivo…`,description:`Subiendo archivos…`},"session.attachmentTooLarge":{message:`El archivo es demasiado grande; mantén cada uno por debajo de 50 MB.`,description:`El archivo es demasiado grande; mantén cada uno por debajo de 50 MB.`},"session.attachmentLimit":{message:`Se pueden adjuntar hasta {count} archivos.`,description:`Puedes adjuntar hasta {count} archivos.`},"session.attachmentUploadError":{message:`Error al subir el archivo adjunto.`,description:`Error al subir el archivo adjunto.`},"notice.slashUnavailable":{message:`/{command} es un comando interactivo y no puede ejecutarse en una sesión remota.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} no está disponible para Codex en una sesión remota.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Activar notificaciones`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Desactivar notificaciones`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notificaciones activadas. Te avisaremos cuando una sesión necesite aprobación.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notificaciones desactivadas.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Las notificaciones están bloqueadas. Permítelas en la configuración del navegador para recibir avisos de aprobación.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Las notificaciones no son compatibles con este dispositivo.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`No se pudo actualizar la configuración de notificaciones.`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`Dispositivos`,description:`Título de la lista de dispositivos de Coding Bridge`},"nodeList.refresh":{message:`Actualizar`,description:`Actualizar la lista de dispositivos`},"nodeList.pair":{message:`Emparejar dispositivo`,description:`Abrir el cuadro de diálogo de emparejamiento`},"nodeList.empty":{message:`No se han emparejado dispositivos.`,description:`Mensaje cuando la lista de dispositivos está vacía`},"nodeList.pairFirst":{message:`Emparejar primer dispositivo`,description:`Botón de emparejamiento en estado vacío`},"nodeList.rename":{message:`Cambiar nombre`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Ponle un nombre a este dispositivo. El nombre se sincroniza con todos tus dispositivos con sesión iniciada.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`El nombre no puede estar vacío.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`El nombre debe tener como máximo {max} caracteres.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Dispositivo renombrado.`,description:`Rename device success`},"nodeList.renameFailed":{message:`No se pudo cambiar el nombre del dispositivo.`,description:`Rename device failure`},"nodeList.remove":{message:`Eliminar`,description:`Eliminar dispositivo`},"nodeList.removeConfirm":{message:`¿Eliminar el dispositivo “{name}”? Se necesita emparejar de nuevo después de eliminar.`,description:`Confirmación para eliminar el dispositivo`},"nodeList.removeSuccess":{message:`Dispositivo eliminado.`,description:`Mensaje de éxito al eliminar el dispositivo`},"nodeList.removeFailed":{message:`Error al eliminar el dispositivo.`,description:`Mensaje de error al eliminar el dispositivo`},"status.online":{message:`Conectado`,description:`Estado de conexión del dispositivo`},"status.offline":{message:`Desconectado`,description:`Estado de desconexión del dispositivo`},"connection.disconnected":{message:`Desconectado`,description:`La conexión del intermediario ha sido desconectada`},"connection.connecting":{message:`Conectando…`,description:`El intermediario se está conectando`},"connection.connected":{message:`Conectado`,description:`El intermediario está conectado`},"connection.error":{message:`Error de conexión`,description:`Error en la conexión del intermediario`},"pair.title":{message:`Emparejar dispositivo`,description:`Título del cuadro de diálogo de emparejamiento`},"pair.intro":{message:`Ejecuta el proxy de Coding Bridge en tu computadora y luego ingresa el código de emparejamiento aquí para controlarlo desde la web.`,description:`Introducción al cuadro de diálogo de emparejamiento`},"pair.step1":{message:`Instala el proxy (requiere Python 3.10+):`,description:`Paso 1 del emparejamiento`},"pair.step2":{message:`Inicia y sigue las instrucciones:`,description:`Paso 2 del emparejamiento`},"pair.step3":{message:`Ingresa el código de emparejamiento que se muestra abajo.`,description:`Paso 3 del emparejamiento`},"pair.codePlaceholder":{message:`Código de emparejamiento`,description:`Placeholder del campo de entrada del código de emparejamiento`},"pair.claim":{message:`Emparejar dispositivo`,description:`Botón de confirmación de emparejamiento`},"pair.success":{message:`El dispositivo “{name}” ha sido emparejado.`,description:`Mensaje de éxito al emparejar`},"pair.invalidCode":{message:`El código de emparejamiento es inválido o ha expirado.`,description:`Error de código de emparejamiento inválido`},"pair.usedCode":{message:`Este código de emparejamiento ya ha sido utilizado.`,description:`Error de código de emparejamiento ya utilizado`},"pair.failed":{message:`Error al emparejar el dispositivo.`,description:`Error general de emparejamiento`},"permission.title":{message:`Se requiere autorización`,description:`Título del cuadro de autorización`},"permission.subtitle":{message:`Solicitar el uso de una herramienta, continuar tras la aprobación.`,description:`Subtítulo del cuadro de autorización`},"permission.deny":{message:`Denegar`,description:`Denegar la autorización de la herramienta`},"permission.allow":{message:`Permitir`,description:`Permitir la autorización de la herramienta`},"session.noDevice":{message:`Selecciona un dispositivo para comenzar a codificar.`,description:`Sugerencia de marcador de posición cuando no se ha seleccionado un dispositivo`},"session.newSession":{message:`Nueva sesión`,description:`Iniciar una nueva sesión`},"session.deviceOffline":{message:`Este dispositivo está desconectado. Por favor, inicia el proxy Coding Bridge en este dispositivo y continúa.`,description:`Advertencia de dispositivo desconectado`},"session.nodeId":{message:`ID de dispositivo`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID de sesión`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de seguimiento`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Envía un mensaje para comenzar la sesión en este dispositivo.`,description:`Sugerencia para iniciar la sesión`},"session.cwdPlaceholder":{message:`Directorio de trabajo (opcional)`,description:`Marcador de posición para el cuadro de entrada del directorio de trabajo`},"session.modelPlaceholder":{message:`Modelo (opcional)`,description:`Marcador de posición para el cuadro de entrada del modelo`},"session.promptPlaceholder":{message:`Enviar un mensaje al proxy…`,description:`Marcador de posición para el cuadro de entrada del aviso`},"session.send":{message:`Enviar`,description:`Botón para enviar el mensaje`},"session.voiceInput":{message:`Entrada de voz`,description:`Comienza a convertir la voz en palabras clave`},"session.voiceStop":{message:`Detener entrada de voz`,description:`Detener la transcripción de voz`},"session.voiceListening":{message:`Escuchando, puedes editar el texto después de detener.`,description:`Mensaje en el cuadro de entrada durante el reconocimiento de voz`},"session.voiceStopping":{message:`Finalizando la transcripción de voz…`,description:`Esperando la salida final del reconocimiento de voz`},"session.voicePermissionDenied":{message:`Permiso de micrófono denegado, por favor permite en la configuración del sistema o del navegador y vuelve a intentarlo.`,description:`El permiso de micrófono ha sido denegado`},"session.voiceMicrophoneUnavailable":{message:`No se encontró o no se puede usar el micrófono.`,description:`Micrófono no disponible`},"session.voiceNoSpeech":{message:`No se detectó voz, por favor intenta de nuevo.`,description:`El reconocimiento de voz no detectó habla`},"session.voiceNetworkError":{message:`El servicio de reconocimiento de voz no está disponible temporalmente, por favor verifica la red y vuelve a intentarlo.`,description:`Error de red en el reconocimiento de voz`},"session.voiceError":{message:`Error en la entrada de voz, por favor intenta de nuevo.`,description:`Error general de reconocimiento de voz`},"session.retry":{message:`Reintentar`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Editar`,description:`Editar el aviso enviado y reenviarlo como una nueva ronda`},"session.editingBanner":{message:`Editando — Enviar volverá a este punto en la conversación`,description:`Banner mostrado mientras se edita un aviso anterior`},"session.editRestoreCode":{message:`Revertir código también`,description:`Casilla de verificación para revertir también los cambios en el archivo al editar`},"session.editCancel":{message:`Cancelar`,description:`Cancelar la edición de un aviso anterior`},"session.editSubmit":{message:`Actualizar`,description:`Enviar un aviso editado (rebobinar y volver a ejecutar)`},"session.enterHint":{message:`Presiona Enter para enviar, Shift+Enter para nueva línea.`,description:`Sugerencia de teclado para el cuadro de entrada`},"transcript.turnFailed":{message:`Error en la ejecución`,description:`Etiqueta de resultado de turno fallido`},"transcript.turnDone":{message:`Finalizado`,description:`Etiqueta de resultado de turno completado`},"transcript.todoProgress":{message:`Completado {done}/{total}`,description:`Progreso de la lista de tareas`},"transcript.todoOverflow":{message:`…hay {count} elementos no mostrados`,description:`Sugerencia de desbordamiento para la lista de tareas`},"transcript.todoCompleted":{message:`Completado`,description:`Lista de tareas: estado completado (lectura accesible)`},"transcript.todoInProgress":{message:`En progreso`,description:`Lista de tareas: estado en progreso (lectura accesible)`},"transcript.todoPending":{message:`Pendiente`,description:`Lista de tareas: estado pendiente (lectura accesible)`},"history.button":{message:`Historial`,description:`Open the conversation history drawer`},"history.title":{message:`Historial de conversaciones`,description:`History drawer title`},"history.intro":{message:`Sesiones anteriores de Claude Code, Codex y GitHub Copilot en este dispositivo.`,description:`History drawer intro`},"history.refresh":{message:`Actualizar`,description:`Reload the history list`},"history.loading":{message:`Cargando historial…`,description:`History loading message`},"history.empty":{message:`No se encontró historial en este dispositivo.`,description:`Empty history message`},"history.filterAll":{message:`Todo`,description:`Eliminar el filtro de origen y mostrar todas las sesiones.`},"history.filterEmpty":{message:`No hay sesiones bajo el filtro actual.`,description:`Mensaje que indica que no hay resultados después de aplicar el filtro.`},"history.messages":{message:`{count} mensajes`,description:`History item message count`},"history.readonly":{message:`Esta conversación de Codex es de solo lectura y no se puede continuar. Inicia una nueva sesión para seguir programando.`,description:`Read-only replay notice`},"history.running":{message:`En ejecución`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`No leído`,description:`Marcador de sesiones históricas que han terminado pero que el usuario aún no ha visto`},"history.resumeHint":{message:`Enviar un mensaje reanudará esta conversación en el dispositivo.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Historial de Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Historial de Codex (solo lectura)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Modo de permisos`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Predeterminado (seguir las reglas de aprobación locales)`,description:`Modo de permisos: preguntar antes de cada uso de herramientas`},"session.permissionModeAcceptEdits":{message:`Aceptar cambios automáticamente`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Modo de planificación (solo lectura)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Omitir todos los permisos`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Etiqueta del selector del backend del agente`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(no instalado)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} no está instalado en este dispositivo.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Esfuerzo de razonamiento`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Predeterminado`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Bajo`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Medio`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Alto`,description:`Reasoning effort: high`},"session.effortMax":{message:`Máximo`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Elegir directorio de trabajo`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Usar este directorio`,description:`Button: select the current directory`},"directory.up":{message:`Directorio superior`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Actualizar`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Introduce la ruta (por ejemplo, D:\\) y presiona Enter`,description:`Marcador de posición para la entrada editable de la ruta del directorio`},"directory.go":{message:`Ir`,description:`Botón: navegar a la ruta de directorio escrita`},"directory.loading":{message:`Cargando…`,description:`Directory listing loading hint`},"directory.empty":{message:`Este directorio está vacío.`,description:`Empty directory hint`},"directory.truncated":{message:`Mostrando las primeras 1000 entradas.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Adjuntar imagen`,description:`Attach image button title`},"session.removeImage":{message:`Quitar imagen`,description:`Remove attached image button title`},"session.imageAlt":{message:`Imagen adjunta`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`La imagen es demasiado grande; mantén cada una por debajo de 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Puedes adjuntar hasta {count} imágenes.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Modelo predeterminado`,description:`Modelo predeterminado`},"session.cwdDefault":{message:`Directorio predeterminado`,description:`Directorio predeterminado`},"session.settings":{message:`Configuración de la sesión`,description:`Configuraciones de la sesión`},"session.settingsLocked":{message:`La configuración de esta sesión está bloqueada`,description:`Las configuraciones están bloqueadas para esta sesión`},"session.attachFile":{message:`Agregar archivo`,description:`Adjuntar archivo`},"session.attachmentImageAlt":{message:`Imagen adjunta`,description:`Imagen adjunta`},"session.removeAttachment":{message:`Eliminar archivo adjunto`,description:`Eliminar archivo adjunto`},"session.uploadingAttachment":{message:`Subiendo archivo…`,description:`Subiendo archivos…`},"session.attachmentTooLarge":{message:`El archivo es demasiado grande; mantén cada uno por debajo de 50 MB.`,description:`El archivo es demasiado grande; mantén cada uno por debajo de 50 MB.`},"session.attachmentLimit":{message:`Se pueden adjuntar hasta {count} archivos.`,description:`Puedes adjuntar hasta {count} archivos.`},"session.attachmentUploadError":{message:`Error al subir el archivo adjunto.`,description:`Error al subir el archivo adjunto.`},"notice.slashUnavailable":{message:`/{command} es un comando interactivo y no puede ejecutarse en una sesión remota.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} no está disponible para Codex en una sesión remota.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Activar notificaciones`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Desactivar notificaciones`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notificaciones activadas. Te avisaremos cuando una sesión necesite aprobación.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notificaciones desactivadas.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Las notificaciones están bloqueadas. Permítelas en la configuración del navegador para recibir avisos de aprobación.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Las notificaciones no son compatibles con este dispositivo.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`No se pudo actualizar la configuración de notificaciones.`,description:`Toast when enabling or disabling notifications errors`},"session.working":{message:`Ejecutando…`,description:`Sesión en curso`},"session.permissionModeWorkspace":{message:`Permisos del espacio de trabajo (sin confirmación individual)`,description:`Permisos del espacio de trabajo de la sesión`},"transcript.interrupted":{message:`Detenido`,description:`Transcripción interrumpida`}};export{e as default};
@@ -1 +1 @@
1
- var e={"nodeList.title":{message:`设备`,description:`Coding Bridge 设备列表标题`},"nodeList.refresh":{message:`刷新`,description:`刷新设备列表`},"nodeList.pair":{message:`配对设备`,description:`打开配对对话框`},"nodeList.empty":{message:`尚未配对任何设备。`,description:`设备列表为空时的提示`},"nodeList.pairFirst":{message:`配对第一台设备`,description:`空状态下的配对按钮`},"nodeList.rename":{message:`重命名`,description:`重命名设备`},"nodeList.renamePrompt":{message:`给这台设备起个名字,所有登录的设备都会看到。`,description:`重命名设备输入提示`},"nodeList.renameEmpty":{message:`名称不能为空。`,description:`重命名设备名称为空的校验提示`},"nodeList.renameTooLong":{message:`名称最长 {max} 个字符。`,description:`重命名设备名称过长的校验提示`},"nodeList.renameSuccess":{message:`设备已重命名。`,description:`重命名设备成功提示`},"nodeList.renameFailed":{message:`重命名设备失败。`,description:`重命名设备失败提示`},"nodeList.remove":{message:`移除`,description:`移除设备`},"nodeList.removeConfirm":{message:`移除设备“{name}”?移除后需要重新配对。`,description:`移除设备确认`},"nodeList.removeSuccess":{message:`设备已移除。`,description:`移除设备成功提示`},"nodeList.removeFailed":{message:`移除设备失败。`,description:`移除设备失败提示`},"status.online":{message:`在线`,description:`设备在线状态`},"status.offline":{message:`离线`,description:`设备离线状态`},"connection.disconnected":{message:`已断开`,description:`中继连接已断开`},"connection.connecting":{message:`连接中…`,description:`中继连接中`},"connection.connected":{message:`已连接`,description:`中继已连接`},"connection.error":{message:`连接出错`,description:`中继连接出错`},"pair.title":{message:`配对设备`,description:`配对对话框标题`},"pair.intro":{message:`在你的电脑上运行 Coding Bridge 代理,然后在此输入配对码即可在网页端控制它。`,description:`配对对话框介绍`},"pair.step1":{message:`安装代理(需要 Python 3.10+):`,description:`配对步骤 1`},"pair.step2":{message:`启动并按提示操作:`,description:`配对步骤 2`},"pair.step3":{message:`输入下方显示的配对码。`,description:`配对步骤 3`},"pair.codePlaceholder":{message:`配对码`,description:`配对码输入框占位符`},"pair.claim":{message:`配对设备`,description:`配对确认按钮`},"pair.success":{message:`设备“{name}”已配对。`,description:`配对成功提示`},"pair.invalidCode":{message:`配对码无效或已过期。`,description:`配对码无效错误`},"pair.usedCode":{message:`该配对码已被使用。`,description:`配对码已使用错误`},"pair.failed":{message:`配对设备失败。`,description:`配对通用错误`},"permission.title":{message:`需要授权`,description:`授权对话框标题`},"permission.subtitle":{message:`代理请求使用一个工具,批准后继续。`,description:`授权对话框副标题`},"permission.deny":{message:`拒绝`,description:`拒绝工具授权`},"permission.allow":{message:`允许`,description:`允许工具授权`},"session.noDevice":{message:`选择一台设备开始编码。`,description:`未选择设备时的占位提示`},"session.newSession":{message:`新会话`,description:`开始新会话`},"session.deviceOffline":{message:`该设备已离线。请在该设备上启动 Coding Bridge 代理后继续。`,description:`设备离线警告`},"session.nodeId":{message:`设备 ID`,description:`节点 id 的诊断标签`},"session.sessionId":{message:`会话 ID`,description:`会话 id 的诊断标签`},"session.traceId":{message:`追踪 ID`,description:`追踪 id 的诊断标签`},"session.startHint":{message:`发送一条消息以在该设备上开始会话。`,description:`空白记录提示`},"session.cwdPlaceholder":{message:`工作目录(可选)`,description:`工作目录输入框占位符`},"session.modelPlaceholder":{message:`模型(可选)`,description:`模型输入框占位符`},"session.promptPlaceholder":{message:`向代理发送消息…`,description:`提示词输入框占位符`},"session.send":{message:`发送`,description:`发送提示词按钮`},"session.voiceInput":{message:`语音输入`,description:`开始把语音转成提示词`},"session.voiceStop":{message:`停止语音输入`,description:`停止语音转写`},"session.voiceListening":{message:`正在听写,停止后可编辑文字。`,description:`语音识别进行中的输入框提示`},"session.voiceStopping":{message:`正在完成语音转写…`,description:`等待语音识别输出最终结果`},"session.voicePermissionDenied":{message:`麦克风权限被拒绝,请在系统或浏览器设置中允许后重试。`,description:`麦克风权限被拒绝`},"session.voiceMicrophoneUnavailable":{message:`未找到或无法使用麦克风。`,description:`麦克风不可用`},"session.voiceNoSpeech":{message:`未检测到语音,请重试。`,description:`语音识别没有检测到讲话`},"session.voiceNetworkError":{message:`语音识别服务暂时不可用,请检查网络后重试。`,description:`语音识别网络错误`},"session.voiceError":{message:`语音输入失败,请重试。`,description:`语音识别通用错误`},"session.retry":{message:`重试`,description:`失败后重新执行上一条提示词`},"session.editPrompt":{message:`编辑`,description:`编辑已发送的提示词并作为新一轮重新发送`},"session.editingBanner":{message:`编辑中 — 发送将把对话回退到此处`,description:`Banner shown while editing a past prompt`},"session.editRestoreCode":{message:`同时回退代码`,description:`Checkbox to also roll back file changes when editing`},"session.editCancel":{message:`取消`,description:`Cancel editing a past prompt`},"session.editSubmit":{message:`更新`,description:`Submit an edited prompt (rewind and re-run)`},"session.enterHint":{message:`回车发送,Shift+回车换行。`,description:`输入框键盘提示`},"transcript.turnFailed":{message:`执行失败`,description:`回合结果失败标签`},"transcript.turnDone":{message:`完成`,description:`回合结果完成标签`},"transcript.todoProgress":{message:`已完成 {done}/{total}`,description:`任务清单进度`},"transcript.todoOverflow":{message:`…另有 {count} 项未显示`,description:`任务清单超长省略提示`},"transcript.todoCompleted":{message:`已完成`,description:`任务清单:已完成状态(无障碍朗读)`},"transcript.todoInProgress":{message:`进行中`,description:`任务清单:进行中状态(无障碍朗读)`},"transcript.todoPending":{message:`待办`,description:`任务清单:待办状态(无障碍朗读)`},"history.button":{message:`历史会话`,description:`打开历史会话抽屉`},"history.title":{message:`历史会话`,description:`历史会话抽屉标题`},"history.intro":{message:`此设备上的 Claude Code、Codex 与 GitHub Copilot 历史会话。`,description:`历史会话抽屉说明`},"history.refresh":{message:`刷新`,description:`重新加载历史列表`},"history.loading":{message:`正在加载历史…`,description:`历史加载提示`},"history.empty":{message:`此设备上没有找到历史会话。`,description:`历史为空提示`},"history.filterAll":{message:`全部`,description:`清除来源筛选,显示全部会话`},"history.filterEmpty":{message:`当前筛选下没有会话。`,description:`筛选后结果为空的提示`},"history.messages":{message:`{count} 条消息`,description:`历史条目消息数`},"history.readonly":{message:`此 Codex 会话为只读,无法继续。开始新会话以继续编码。`,description:`只读回放提示`},"history.running":{message:`运行中`,description:`历史会话当前正在设备上运行的标记`},"history.unread":{message:`未读`,description:`历史会话已运行完但用户尚未查看的标记`},"history.resumeHint":{message:`发送消息将在设备上续接此会话。`,description:`续接输入框提示`},"history.claudeLabel":{message:`Claude 历史`,description:`回放的 Claude 会话标签`},"history.codexLabel":{message:`Codex 历史(只读)`,description:`回放的 Codex 会话标签`},"session.permissionModeLabel":{message:`权限模式`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`默认(每次询问)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`自动接受修改`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`规划模式(只读)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`绕过所有权限`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`后端`,description:`Agent backend selector label`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(未安装)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} 未安装在该设备上。`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`推理强度`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`默认`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`低`,description:`Reasoning effort: low`},"session.effortMedium":{message:`中`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`高`,description:`Reasoning effort: high`},"session.effortMax":{message:`最高`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`选择工作目录`,description:`Working-directory picker dialog title`},"directory.choose":{message:`使用此目录`,description:`Button: select the current directory`},"directory.up":{message:`上级目录`,description:`Button: go to the parent directory`},"directory.refresh":{message:`刷新`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`输入路径(如 D:\\)后回车`,description:`Placeholder for the editable directory path input`},"directory.go":{message:`跳转`,description:`Button: navigate to the typed directory path`},"directory.loading":{message:`正在加载…`,description:`Directory listing loading hint`},"directory.empty":{message:`此目录为空。`,description:`Empty directory hint`},"directory.truncated":{message:`仅显示前 1000 项。`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`添加图片`,description:`Attach image button title`},"session.removeImage":{message:`移除图片`,description:`Remove attached image button title`},"session.imageAlt":{message:`附加的图片`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`图片过大,单张请控制在 12 MB 以内。`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`最多可附加 {count} 张图片。`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`默认模型`,description:`Default model`},"session.cwdDefault":{message:`默认目录`,description:`Default directory`},"session.settings":{message:`会话设置`,description:`Session settings`},"session.settingsLocked":{message:`本会话设置已锁定`,description:`Settings are locked for this session`},"session.attachFile":{message:`添加文件`,description:`Attach file`},"session.attachmentImageAlt":{message:`已附加图片`,description:`Attached image`},"session.removeAttachment":{message:`移除附件`,description:`Remove attachment`},"session.uploadingAttachment":{message:`附件上传中…`,description:`Uploading attachments…`},"session.attachmentTooLarge":{message:`文件过大,请保持每个文件不超过 50 MB。`,description:`File is too large; keep each under 50 MB.`},"session.attachmentLimit":{message:`最多可附加 {count} 个文件。`,description:`You can attach up to {count} files.`},"session.attachmentUploadError":{message:`附件上传失败。`,description:`Failed to upload attachment.`},"notice.slashUnavailable":{message:`/{command} 是交互式命令,无法在远程会话中运行。`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} 在远程会话中暂不支持 Codex。`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`开启通知`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`关闭通知`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`通知已开启,会话需要授权时会提醒你。`,description:`Toast after enabling notifications`},"notify.disabled":{message:`通知已关闭。`,description:`Toast after disabling notifications`},"notify.denied":{message:`通知已被阻止,请在浏览器设置中允许通知以接收授权提醒。`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`当前设备不支持通知。`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`无法更新通知设置。`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`设备`,description:`Coding Bridge 设备列表标题`},"nodeList.refresh":{message:`刷新`,description:`刷新设备列表`},"nodeList.pair":{message:`配对设备`,description:`打开配对对话框`},"nodeList.empty":{message:`尚未配对任何设备。`,description:`设备列表为空时的提示`},"nodeList.pairFirst":{message:`配对第一台设备`,description:`空状态下的配对按钮`},"nodeList.rename":{message:`重命名`,description:`重命名设备`},"nodeList.renamePrompt":{message:`给这台设备起个名字,所有登录的设备都会看到。`,description:`重命名设备输入提示`},"nodeList.renameEmpty":{message:`名称不能为空。`,description:`重命名设备名称为空的校验提示`},"nodeList.renameTooLong":{message:`名称最长 {max} 个字符。`,description:`重命名设备名称过长的校验提示`},"nodeList.renameSuccess":{message:`设备已重命名。`,description:`重命名设备成功提示`},"nodeList.renameFailed":{message:`重命名设备失败。`,description:`重命名设备失败提示`},"nodeList.remove":{message:`移除`,description:`移除设备`},"nodeList.removeConfirm":{message:`移除设备“{name}”?移除后需要重新配对。`,description:`移除设备确认`},"nodeList.removeSuccess":{message:`设备已移除。`,description:`移除设备成功提示`},"nodeList.removeFailed":{message:`移除设备失败。`,description:`移除设备失败提示`},"status.online":{message:`在线`,description:`设备在线状态`},"status.offline":{message:`离线`,description:`设备离线状态`},"connection.disconnected":{message:`已断开`,description:`中继连接已断开`},"connection.connecting":{message:`连接中…`,description:`中继连接中`},"connection.connected":{message:`已连接`,description:`中继已连接`},"connection.error":{message:`连接出错`,description:`中继连接出错`},"pair.title":{message:`配对设备`,description:`配对对话框标题`},"pair.intro":{message:`在你的电脑上运行 Coding Bridge 代理,然后在此输入配对码即可在网页端控制它。`,description:`配对对话框介绍`},"pair.step1":{message:`安装代理(需要 Python 3.10+):`,description:`配对步骤 1`},"pair.step2":{message:`启动并按提示操作:`,description:`配对步骤 2`},"pair.step3":{message:`输入下方显示的配对码。`,description:`配对步骤 3`},"pair.codePlaceholder":{message:`配对码`,description:`配对码输入框占位符`},"pair.claim":{message:`配对设备`,description:`配对确认按钮`},"pair.success":{message:`设备“{name}”已配对。`,description:`配对成功提示`},"pair.invalidCode":{message:`配对码无效或已过期。`,description:`配对码无效错误`},"pair.usedCode":{message:`该配对码已被使用。`,description:`配对码已使用错误`},"pair.failed":{message:`配对设备失败。`,description:`配对通用错误`},"permission.title":{message:`需要授权`,description:`授权对话框标题`},"permission.subtitle":{message:`代理请求使用一个工具,批准后继续。`,description:`授权对话框副标题`},"permission.deny":{message:`拒绝`,description:`拒绝工具授权`},"permission.allow":{message:`允许`,description:`允许工具授权`},"session.noDevice":{message:`选择一台设备开始编码。`,description:`未选择设备时的占位提示`},"session.newSession":{message:`新会话`,description:`开始新会话`},"session.deviceOffline":{message:`该设备已离线。请在该设备上启动 Coding Bridge 代理后继续。`,description:`设备离线警告`},"session.nodeId":{message:`设备 ID`,description:`节点 id 的诊断标签`},"session.sessionId":{message:`会话 ID`,description:`会话 id 的诊断标签`},"session.traceId":{message:`追踪 ID`,description:`追踪 id 的诊断标签`},"session.startHint":{message:`发送一条消息以在该设备上开始会话。`,description:`空白记录提示`},"session.cwdPlaceholder":{message:`工作目录(可选)`,description:`工作目录输入框占位符`},"session.modelPlaceholder":{message:`模型(可选)`,description:`模型输入框占位符`},"session.promptPlaceholder":{message:`向代理发送消息…`,description:`提示词输入框占位符`},"session.send":{message:`发送`,description:`发送提示词按钮`},"session.voiceInput":{message:`语音输入`,description:`开始把语音转成提示词`},"session.voiceStop":{message:`停止语音输入`,description:`停止语音转写`},"session.voiceListening":{message:`正在听写,停止后可编辑文字。`,description:`语音识别进行中的输入框提示`},"session.voiceStopping":{message:`正在完成语音转写…`,description:`等待语音识别输出最终结果`},"session.voicePermissionDenied":{message:`麦克风权限被拒绝,请在系统或浏览器设置中允许后重试。`,description:`麦克风权限被拒绝`},"session.voiceMicrophoneUnavailable":{message:`未找到或无法使用麦克风。`,description:`麦克风不可用`},"session.voiceNoSpeech":{message:`未检测到语音,请重试。`,description:`语音识别没有检测到讲话`},"session.voiceNetworkError":{message:`语音识别服务暂时不可用,请检查网络后重试。`,description:`语音识别网络错误`},"session.voiceError":{message:`语音输入失败,请重试。`,description:`语音识别通用错误`},"session.retry":{message:`重试`,description:`失败后重新执行上一条提示词`},"session.editPrompt":{message:`编辑`,description:`编辑已发送的提示词并作为新一轮重新发送`},"session.editingBanner":{message:`编辑中 — 发送将把对话回退到此处`,description:`Banner shown while editing a past prompt`},"session.editRestoreCode":{message:`同时回退代码`,description:`Checkbox to also roll back file changes when editing`},"session.editCancel":{message:`取消`,description:`Cancel editing a past prompt`},"session.editSubmit":{message:`更新`,description:`Submit an edited prompt (rewind and re-run)`},"session.enterHint":{message:`回车发送,Shift+回车换行。`,description:`输入框键盘提示`},"transcript.turnFailed":{message:`执行失败`,description:`回合结果失败标签`},"transcript.turnDone":{message:`完成`,description:`回合结果完成标签`},"transcript.todoProgress":{message:`已完成 {done}/{total}`,description:`任务清单进度`},"transcript.todoOverflow":{message:`…另有 {count} 项未显示`,description:`任务清单超长省略提示`},"transcript.todoCompleted":{message:`已完成`,description:`任务清单:已完成状态(无障碍朗读)`},"transcript.todoInProgress":{message:`进行中`,description:`任务清单:进行中状态(无障碍朗读)`},"transcript.todoPending":{message:`待办`,description:`任务清单:待办状态(无障碍朗读)`},"history.button":{message:`历史会话`,description:`打开历史会话抽屉`},"history.title":{message:`历史会话`,description:`历史会话抽屉标题`},"history.intro":{message:`此设备上的 Claude Code、Codex 与 GitHub Copilot 历史会话。`,description:`历史会话抽屉说明`},"history.refresh":{message:`刷新`,description:`重新加载历史列表`},"history.loading":{message:`正在加载历史…`,description:`历史加载提示`},"history.empty":{message:`此设备上没有找到历史会话。`,description:`历史为空提示`},"history.filterAll":{message:`全部`,description:`清除来源筛选,显示全部会话`},"history.filterEmpty":{message:`当前筛选下没有会话。`,description:`筛选后结果为空的提示`},"history.messages":{message:`{count} 条消息`,description:`历史条目消息数`},"history.readonly":{message:`此 Codex 会话为只读,无法继续。开始新会话以继续编码。`,description:`只读回放提示`},"history.running":{message:`运行中`,description:`历史会话当前正在设备上运行的标记`},"history.unread":{message:`未读`,description:`历史会话已运行完但用户尚未查看的标记`},"history.resumeHint":{message:`发送消息将在设备上续接此会话。`,description:`续接输入框提示`},"history.claudeLabel":{message:`Claude 历史`,description:`回放的 Claude 会话标签`},"history.codexLabel":{message:`Codex 历史(只读)`,description:`回放的 Codex 会话标签`},"session.permissionModeLabel":{message:`权限模式`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`默认(遵循本机审批规则)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`自动接受修改`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`规划模式(只读)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`绕过所有权限`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`后端`,description:`Agent backend selector label`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(未安装)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} 未安装在该设备上。`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`推理强度`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`默认`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`低`,description:`Reasoning effort: low`},"session.effortMedium":{message:`中`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`高`,description:`Reasoning effort: high`},"session.effortMax":{message:`最高`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`选择工作目录`,description:`Working-directory picker dialog title`},"directory.choose":{message:`使用此目录`,description:`Button: select the current directory`},"directory.up":{message:`上级目录`,description:`Button: go to the parent directory`},"directory.refresh":{message:`刷新`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`输入路径(如 D:\\)后回车`,description:`Placeholder for the editable directory path input`},"directory.go":{message:`跳转`,description:`Button: navigate to the typed directory path`},"directory.loading":{message:`正在加载…`,description:`Directory listing loading hint`},"directory.empty":{message:`此目录为空。`,description:`Empty directory hint`},"directory.truncated":{message:`仅显示前 1000 项。`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`添加图片`,description:`Attach image button title`},"session.removeImage":{message:`移除图片`,description:`Remove attached image button title`},"session.imageAlt":{message:`附加的图片`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`图片过大,单张请控制在 12 MB 以内。`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`最多可附加 {count} 张图片。`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`默认模型`,description:`Default model`},"session.cwdDefault":{message:`默认目录`,description:`Default directory`},"session.settings":{message:`会话设置`,description:`Session settings`},"session.settingsLocked":{message:`本会话设置已锁定`,description:`Settings are locked for this session`},"session.attachFile":{message:`添加文件`,description:`Attach file`},"session.attachmentImageAlt":{message:`已附加图片`,description:`Attached image`},"session.removeAttachment":{message:`移除附件`,description:`Remove attachment`},"session.uploadingAttachment":{message:`附件上传中…`,description:`Uploading attachments…`},"session.attachmentTooLarge":{message:`文件过大,请保持每个文件不超过 50 MB。`,description:`File is too large; keep each under 50 MB.`},"session.attachmentLimit":{message:`最多可附加 {count} 个文件。`,description:`You can attach up to {count} files.`},"session.attachmentUploadError":{message:`附件上传失败。`,description:`Failed to upload attachment.`},"notice.slashUnavailable":{message:`/{command} 是交互式命令,无法在远程会话中运行。`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} 在远程会话中暂不支持 Codex。`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`开启通知`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`关闭通知`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`通知已开启,会话需要授权时会提醒你。`,description:`Toast after enabling notifications`},"notify.disabled":{message:`通知已关闭。`,description:`Toast after disabling notifications`},"notify.denied":{message:`通知已被阻止,请在浏览器设置中允许通知以接收授权提醒。`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`当前设备不支持通知。`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`无法更新通知设置。`,description:`Toast when enabling or disabling notifications errors`},"session.working":{message:`执行中…`,description:`session.working`},"session.permissionModeWorkspace":{message:`工作区权限(无需逐次确认)`,description:`session.permissionModeWorkspace`},"transcript.interrupted":{message:`已停止`,description:`transcript.interrupted`}};export{e as default};
@@ -1 +1 @@
1
- var e={"nodeList.title":{message:`Appareils`,description:`Titre de la liste des appareils Coding Bridge`},"nodeList.refresh":{message:`Rafraîchir`,description:`Rafraîchir la liste des appareils`},"nodeList.pair":{message:`Appairer un appareil`,description:`Ouvre la boîte de dialogue d'appairage`},"nodeList.empty":{message:`Aucun appareil appairé.`,description:`Message lorsque la liste des appareils est vide`},"nodeList.pairFirst":{message:`Appairer le premier appareil`,description:`Bouton d'appairage dans l'état vide`},"nodeList.rename":{message:`Renommer`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Donnez un nom à cet appareil. Le nom est synchronisé avec tous vos appareils connectés.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Le nom ne peut pas être vide.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Le nom doit comporter au maximum {max} caractères.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Appareil renommé.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Échec du renommage de l’appareil.`,description:`Rename device failure`},"nodeList.remove":{message:`Retirer`,description:`Retirer un appareil`},"nodeList.removeConfirm":{message:`Retirer l'appareil « {name} » ? Vous devrez le réappairer après.`,description:`Confirmation pour retirer un appareil`},"nodeList.removeSuccess":{message:`L'appareil a été retiré.`,description:`Message de succès lors de la suppression d'un appareil`},"nodeList.removeFailed":{message:`Échec de la suppression de l'appareil.`,description:`Message d'échec lors de la suppression d'un appareil`},"status.online":{message:`En ligne`,description:`État en ligne de l'appareil`},"status.offline":{message:`Hors ligne`,description:`État hors ligne de l'appareil`},"connection.disconnected":{message:`Déconnecté`,description:`La connexion au relais a été interrompue`},"connection.connecting":{message:`Connexion en cours…`,description:`Le relais est en cours de connexion`},"connection.connected":{message:`Connecté`,description:`Le relais est connecté`},"connection.error":{message:`Erreur de connexion`,description:`Erreur lors de la connexion au relais`},"pair.title":{message:`Appairer un appareil`,description:`Titre de la boîte de dialogue d'appairage`},"pair.intro":{message:`Exécutez le proxy Coding Bridge sur votre ordinateur, puis saisissez le code d'appairage ici pour le contrôler depuis le web.`,description:`Introduction à la boîte de dialogue d'appairage`},"pair.step1":{message:`Installez le proxy (nécessite Python 3.10+):`,description:`Étape 1 de l'appairage`},"pair.step2":{message:`Démarrez et suivez les instructions :`,description:`Étape 2 de l'appairage`},"pair.step3":{message:`Entrez le code d'appairage affiché ci-dessous.`,description:`Étape 3 de l'appairage`},"pair.codePlaceholder":{message:`Code d'appairage`,description:`Placeholder pour le champ de saisie du code d'appairage`},"pair.claim":{message:`Appairer un appareil`,description:`Bouton de confirmation d'appairage`},"pair.success":{message:`L'appareil « {name} » a été appairé.`,description:`Message de succès lors de l'appairage`},"pair.invalidCode":{message:`Code d'appairage invalide ou expiré.`,description:`Erreur de code d'appairage invalide`},"pair.usedCode":{message:`Ce code de pair a déjà été utilisé.`,description:`Le code de pair a été utilisé.`},"pair.failed":{message:`Échec de l'appairage de l'appareil.`,description:`Erreur générale d'appairage`},"permission.title":{message:`Autorisation requise`,description:`Titre de la boîte de dialogue d'autorisation.`},"permission.subtitle":{message:`La demande d'agent utilise un outil, continuez après approbation.`,description:`Sous-titre de la boîte de dialogue d'autorisation.`},"permission.deny":{message:`Refuser`,description:`Refuser l'accès à l'outil.`},"permission.allow":{message:`Autoriser`,description:`Autoriser l'accès à l'outil.`},"session.noDevice":{message:`Sélectionnez un appareil pour commencer à coder.`,description:`Indication lorsque aucun appareil n'est sélectionné.`},"session.newSession":{message:`Nouvelle session`,description:`Commencer une nouvelle session.`},"session.deviceOffline":{message:`Cet appareil est hors ligne. Veuillez démarrer le proxy Coding Bridge sur cet appareil pour continuer.`,description:`Avertissement d'appareil hors ligne.`},"session.nodeId":{message:`ID de l'appareil`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID de session`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de trace`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Envoyez un message pour commencer la session sur cet appareil.`,description:`Indication pour un enregistrement vide`},"session.cwdPlaceholder":{message:`Répertoire de travail (optionnel)`,description:`Espace réservé pour le champ de saisie du répertoire de travail.`},"session.modelPlaceholder":{message:`Modèle (optionnel)`,description:`Espace réservé pour le champ de saisie du modèle.`},"session.promptPlaceholder":{message:`Envoyer un message à l'agent…`,description:`Espace réservé pour le champ de saisie de l'invite.`},"session.send":{message:`Envoyer`,description:`Bouton pour envoyer le message`},"session.voiceInput":{message:`Entrée vocale`,description:`Commencer à convertir la voix en mots`},"session.voiceStop":{message:`Arrêter l'entrée vocale`,description:`Arrêter la transcription vocale`},"session.voiceListening":{message:`Écoute en cours, vous pouvez éditer le texte après l'arrêt.`,description:`Indication dans le champ de saisie pendant la reconnaissance vocale`},"session.voiceStopping":{message:`Finalisation de la transcription vocale…`,description:`Attente du résultat final de la reconnaissance vocale`},"session.voicePermissionDenied":{message:`Autorisation du microphone refusée, veuillez autoriser dans les paramètres du système ou du navigateur et réessayer.`,description:`Autorisation du microphone refusée`},"session.voiceMicrophoneUnavailable":{message:`Microphone introuvable ou non disponible.`,description:`Microphone non disponible`},"session.voiceNoSpeech":{message:`Aucune voix détectée, veuillez réessayer.`,description:`La reconnaissance vocale n'a pas détecté de parole`},"session.voiceNetworkError":{message:`Le service de reconnaissance vocale est temporairement indisponible, veuillez vérifier votre réseau et réessayer.`,description:`Erreur réseau de reconnaissance vocale`},"session.voiceError":{message:`Échec de l'entrée vocale, veuillez réessayer.`,description:`Erreur générale de reconnaissance vocale`},"session.retry":{message:`Réessayer`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Éditer`,description:`Modifier l'invite envoyée et la renvoyer comme une nouvelle.`},"session.editingBanner":{message:`En cours d'édition — l'envoi ramènera la conversation ici`,description:`Bannière affichée lors de l'édition d'une invite précédente.`},"session.editRestoreCode":{message:`Rétrograder également le code`,description:`Case à cocher pour également annuler les modifications de fichier lors de l'édition.`},"session.editCancel":{message:`Annuler`,description:`Annuler l'édition d'une invite précédente.`},"session.editSubmit":{message:`Mettre à jour`,description:`Soumettre une invite modifiée (rembobiner et relancer).`},"session.enterHint":{message:`Appuyez sur Entrée pour envoyer, Maj + Entrée pour un saut de ligne.`,description:`Indication au clavier pour le champ de saisie.`},"transcript.turnFailed":{message:`Échec de l'exécution`,description:`Étiquette de résultat de tour échoué`},"transcript.turnDone":{message:`Terminé`,description:`Étiquette de résultat de tour terminé`},"transcript.todoProgress":{message:`Terminé {done}/{total}`,description:`Progrès de la liste de tâches`},"transcript.todoOverflow":{message:`…il y a {count} éléments supplémentaires non affichés`,description:`Indication d'éléments supplémentaires dans la liste de tâches`},"transcript.todoCompleted":{message:`Terminé`,description:`Liste de tâches : état terminé (lecture accessible)`},"transcript.todoInProgress":{message:`En cours`,description:`Liste de tâches : état en cours (lecture accessible)`},"transcript.todoPending":{message:`À faire`,description:`Liste de tâches : état à faire (lecture accessible)`},"history.button":{message:`Historique`,description:`Open the conversation history drawer`},"history.title":{message:`Historique des conversations`,description:`History drawer title`},"history.intro":{message:`Sessions Claude Code, Codex et GitHub Copilot précédentes sur cet appareil.`,description:`History drawer intro`},"history.refresh":{message:`Actualiser`,description:`Reload the history list`},"history.loading":{message:`Chargement de l’historique…`,description:`History loading message`},"history.empty":{message:`Aucun historique trouvé sur cet appareil.`,description:`Empty history message`},"history.filterAll":{message:`Tout`,description:`Efface le filtre de source et affiche toutes les conversations.`},"history.filterEmpty":{message:`Aucune conversation sous le filtre actuel.`,description:`Message indiquant qu'aucun résultat n'est disponible après le filtrage.`},"history.messages":{message:`{count} messages`,description:`Nombre de messages dans l'historique`},"history.readonly":{message:`Cette conversation Codex est en lecture seule et ne peut pas être poursuivie. Démarrez une nouvelle session pour continuer à coder.`,description:`Read-only replay notice`},"history.running":{message:`En cours`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`Non lu`,description:`Indicateur pour les sessions historiques terminées mais non consultées par l'utilisateur`},"history.resumeHint":{message:`Envoyer un message reprendra cette conversation sur l’appareil.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Historique Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Historique Codex (lecture seule)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Mode d'autorisation`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Par défaut (demander à chaque fois)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Accepter automatiquement les modifications`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Mode plan (lecture seule)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignorer toutes les autorisations`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Étiquette du sélecteur d'agent backend`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(non installé)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} n'est pas installé sur cet appareil.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Effort de raisonnement`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Par défaut`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Faible`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Moyen`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Élevé`,description:`Reasoning effort: high`},"session.effortMax":{message:`Maximum`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Choisir le répertoire de travail`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Utiliser ce répertoire`,description:`Button: select the current directory`},"directory.up":{message:`Répertoire parent`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Actualiser`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Entrez le chemin (par exemple D:\\) puis appuyez sur Entrée`,description:`Espace réservé pour le champ de saisie du chemin de répertoire modifiable`},"directory.go":{message:`Aller`,description:`Bouton : naviguer vers le chemin de répertoire saisi`},"directory.loading":{message:`Chargement…`,description:`Directory listing loading hint`},"directory.empty":{message:`Ce répertoire est vide.`,description:`Empty directory hint`},"directory.truncated":{message:`Affichage des 1000 premières entrées.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Joindre une image`,description:`Attach image button title`},"session.removeImage":{message:`Supprimer l'image`,description:`Remove attached image button title`},"session.imageAlt":{message:`Image jointe`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`L'image est trop volumineuse ; gardez chacune sous 12 Mo.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Vous pouvez joindre jusqu'à {count} images.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Modèle par défaut`,description:`Modèle par défaut.`},"session.cwdDefault":{message:`Répertoire par défaut`,description:`Répertoire par défaut.`},"session.settings":{message:`Paramètres de la session`,description:`Paramètres de la session`},"session.settingsLocked":{message:`Les paramètres de cette session sont verrouillés`,description:`Les paramètres sont verrouillés pour cette session`},"session.attachFile":{message:`Ajouter un fichier`,description:`Ajouter un fichier.`},"session.attachmentImageAlt":{message:`Image jointe`,description:`Image jointe.`},"session.removeAttachment":{message:`Retirer l'attachement`,description:`Retirer l'attachement`},"session.uploadingAttachment":{message:`Téléchargement de l'attachement…`,description:`Téléchargement des attachements…`},"session.attachmentTooLarge":{message:`Fichier trop volumineux, veuillez garder chaque fichier en dessous de 50 Mo.`,description:`Le fichier est trop volumineux ; gardez chaque fichier en dessous de 50 Mo.`},"session.attachmentLimit":{message:`Vous pouvez joindre jusqu'à {count} fichiers.`,description:`Vous pouvez joindre jusqu'à {count} fichiers.`},"session.attachmentUploadError":{message:`Échec de l'upload de l'attachement.`,description:`Échec de l'upload de l'attachement.`},"notice.slashUnavailable":{message:`/{command} est une commande interactive et ne peut pas s'exécuter dans une session distante.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} n'est pas disponible pour Codex dans une session distante.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Activer les notifications`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Désactiver les notifications`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifications activées. Nous vous préviendrons lorsqu'une session nécessite une approbation.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifications désactivées.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Les notifications sont bloquées. Autorisez-les dans les paramètres de votre navigateur pour recevoir les alertes d'approbation.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Les notifications ne sont pas prises en charge sur cet appareil.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Impossible de mettre à jour les paramètres de notification.`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`Appareils`,description:`Titre de la liste des appareils Coding Bridge`},"nodeList.refresh":{message:`Rafraîchir`,description:`Rafraîchir la liste des appareils`},"nodeList.pair":{message:`Appairer un appareil`,description:`Ouvre la boîte de dialogue d'appairage`},"nodeList.empty":{message:`Aucun appareil appairé.`,description:`Message lorsque la liste des appareils est vide`},"nodeList.pairFirst":{message:`Appairer le premier appareil`,description:`Bouton d'appairage dans l'état vide`},"nodeList.rename":{message:`Renommer`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Donnez un nom à cet appareil. Le nom est synchronisé avec tous vos appareils connectés.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Le nom ne peut pas être vide.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Le nom doit comporter au maximum {max} caractères.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Appareil renommé.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Échec du renommage de l’appareil.`,description:`Rename device failure`},"nodeList.remove":{message:`Retirer`,description:`Retirer un appareil`},"nodeList.removeConfirm":{message:`Retirer l'appareil « {name} » ? Vous devrez le réappairer après.`,description:`Confirmation pour retirer un appareil`},"nodeList.removeSuccess":{message:`L'appareil a été retiré.`,description:`Message de succès lors de la suppression d'un appareil`},"nodeList.removeFailed":{message:`Échec de la suppression de l'appareil.`,description:`Message d'échec lors de la suppression d'un appareil`},"status.online":{message:`En ligne`,description:`État en ligne de l'appareil`},"status.offline":{message:`Hors ligne`,description:`État hors ligne de l'appareil`},"connection.disconnected":{message:`Déconnecté`,description:`La connexion au relais a été interrompue`},"connection.connecting":{message:`Connexion en cours…`,description:`Le relais est en cours de connexion`},"connection.connected":{message:`Connecté`,description:`Le relais est connecté`},"connection.error":{message:`Erreur de connexion`,description:`Erreur lors de la connexion au relais`},"pair.title":{message:`Appairer un appareil`,description:`Titre de la boîte de dialogue d'appairage`},"pair.intro":{message:`Exécutez le proxy Coding Bridge sur votre ordinateur, puis saisissez le code d'appairage ici pour le contrôler depuis le web.`,description:`Introduction à la boîte de dialogue d'appairage`},"pair.step1":{message:`Installez le proxy (nécessite Python 3.10+):`,description:`Étape 1 de l'appairage`},"pair.step2":{message:`Démarrez et suivez les instructions :`,description:`Étape 2 de l'appairage`},"pair.step3":{message:`Entrez le code d'appairage affiché ci-dessous.`,description:`Étape 3 de l'appairage`},"pair.codePlaceholder":{message:`Code d'appairage`,description:`Placeholder pour le champ de saisie du code d'appairage`},"pair.claim":{message:`Appairer un appareil`,description:`Bouton de confirmation d'appairage`},"pair.success":{message:`L'appareil « {name} » a été appairé.`,description:`Message de succès lors de l'appairage`},"pair.invalidCode":{message:`Code d'appairage invalide ou expiré.`,description:`Erreur de code d'appairage invalide`},"pair.usedCode":{message:`Ce code de pair a déjà été utilisé.`,description:`Le code de pair a été utilisé.`},"pair.failed":{message:`Échec de l'appairage de l'appareil.`,description:`Erreur générale d'appairage`},"permission.title":{message:`Autorisation requise`,description:`Titre de la boîte de dialogue d'autorisation.`},"permission.subtitle":{message:`La demande d'agent utilise un outil, continuez après approbation.`,description:`Sous-titre de la boîte de dialogue d'autorisation.`},"permission.deny":{message:`Refuser`,description:`Refuser l'accès à l'outil.`},"permission.allow":{message:`Autoriser`,description:`Autoriser l'accès à l'outil.`},"session.noDevice":{message:`Sélectionnez un appareil pour commencer à coder.`,description:`Indication lorsque aucun appareil n'est sélectionné.`},"session.newSession":{message:`Nouvelle session`,description:`Commencer une nouvelle session.`},"session.deviceOffline":{message:`Cet appareil est hors ligne. Veuillez démarrer le proxy Coding Bridge sur cet appareil pour continuer.`,description:`Avertissement d'appareil hors ligne.`},"session.nodeId":{message:`ID de l'appareil`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID de session`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de trace`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Envoyez un message pour commencer la session sur cet appareil.`,description:`Indication pour un enregistrement vide`},"session.cwdPlaceholder":{message:`Répertoire de travail (optionnel)`,description:`Espace réservé pour le champ de saisie du répertoire de travail.`},"session.modelPlaceholder":{message:`Modèle (optionnel)`,description:`Espace réservé pour le champ de saisie du modèle.`},"session.promptPlaceholder":{message:`Envoyer un message à l'agent…`,description:`Espace réservé pour le champ de saisie de l'invite.`},"session.send":{message:`Envoyer`,description:`Bouton pour envoyer le message`},"session.voiceInput":{message:`Entrée vocale`,description:`Commencer à convertir la voix en mots`},"session.voiceStop":{message:`Arrêter l'entrée vocale`,description:`Arrêter la transcription vocale`},"session.voiceListening":{message:`Écoute en cours, vous pouvez éditer le texte après l'arrêt.`,description:`Indication dans le champ de saisie pendant la reconnaissance vocale`},"session.voiceStopping":{message:`Finalisation de la transcription vocale…`,description:`Attente du résultat final de la reconnaissance vocale`},"session.voicePermissionDenied":{message:`Autorisation du microphone refusée, veuillez autoriser dans les paramètres du système ou du navigateur et réessayer.`,description:`Autorisation du microphone refusée`},"session.voiceMicrophoneUnavailable":{message:`Microphone introuvable ou non disponible.`,description:`Microphone non disponible`},"session.voiceNoSpeech":{message:`Aucune voix détectée, veuillez réessayer.`,description:`La reconnaissance vocale n'a pas détecté de parole`},"session.voiceNetworkError":{message:`Le service de reconnaissance vocale est temporairement indisponible, veuillez vérifier votre réseau et réessayer.`,description:`Erreur réseau de reconnaissance vocale`},"session.voiceError":{message:`Échec de l'entrée vocale, veuillez réessayer.`,description:`Erreur générale de reconnaissance vocale`},"session.retry":{message:`Réessayer`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Éditer`,description:`Modifier l'invite envoyée et la renvoyer comme une nouvelle.`},"session.editingBanner":{message:`En cours d'édition — l'envoi ramènera la conversation ici`,description:`Bannière affichée lors de l'édition d'une invite précédente.`},"session.editRestoreCode":{message:`Rétrograder également le code`,description:`Case à cocher pour également annuler les modifications de fichier lors de l'édition.`},"session.editCancel":{message:`Annuler`,description:`Annuler l'édition d'une invite précédente.`},"session.editSubmit":{message:`Mettre à jour`,description:`Soumettre une invite modifiée (rembobiner et relancer).`},"session.enterHint":{message:`Appuyez sur Entrée pour envoyer, Maj + Entrée pour un saut de ligne.`,description:`Indication au clavier pour le champ de saisie.`},"transcript.turnFailed":{message:`Échec de l'exécution`,description:`Étiquette de résultat de tour échoué`},"transcript.turnDone":{message:`Terminé`,description:`Étiquette de résultat de tour terminé`},"transcript.todoProgress":{message:`Terminé {done}/{total}`,description:`Progrès de la liste de tâches`},"transcript.todoOverflow":{message:`…il y a {count} éléments supplémentaires non affichés`,description:`Indication d'éléments supplémentaires dans la liste de tâches`},"transcript.todoCompleted":{message:`Terminé`,description:`Liste de tâches : état terminé (lecture accessible)`},"transcript.todoInProgress":{message:`En cours`,description:`Liste de tâches : état en cours (lecture accessible)`},"transcript.todoPending":{message:`À faire`,description:`Liste de tâches : état à faire (lecture accessible)`},"history.button":{message:`Historique`,description:`Open the conversation history drawer`},"history.title":{message:`Historique des conversations`,description:`History drawer title`},"history.intro":{message:`Sessions Claude Code, Codex et GitHub Copilot précédentes sur cet appareil.`,description:`History drawer intro`},"history.refresh":{message:`Actualiser`,description:`Reload the history list`},"history.loading":{message:`Chargement de l’historique…`,description:`History loading message`},"history.empty":{message:`Aucun historique trouvé sur cet appareil.`,description:`Empty history message`},"history.filterAll":{message:`Tout`,description:`Efface le filtre de source et affiche toutes les conversations.`},"history.filterEmpty":{message:`Aucune conversation sous le filtre actuel.`,description:`Message indiquant qu'aucun résultat n'est disponible après le filtrage.`},"history.messages":{message:`{count} messages`,description:`Nombre de messages de l’entrée historique`},"history.readonly":{message:`Cette conversation Codex est en lecture seule et ne peut pas être poursuivie. Démarrez une nouvelle session pour continuer à coder.`,description:`Read-only replay notice`},"history.running":{message:`En cours`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`Non lu`,description:`Indicateur pour les sessions historiques terminées mais non consultées par l'utilisateur`},"history.resumeHint":{message:`Envoyer un message reprendra cette conversation sur l’appareil.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Historique Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Historique Codex (lecture seule)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Mode d'autorisation`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Par défaut (suivre les règles d’approbation de cette machine)`,description:`Mode d’autorisation : demander avant chaque utilisation d’un outil`},"session.permissionModeAcceptEdits":{message:`Accepter automatiquement les modifications`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Mode plan (lecture seule)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignorer toutes les autorisations`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Back-end`,description:`Libellé du sélecteur de back-end de l’agent`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(non installé)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} n'est pas installé sur cet appareil.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Effort de raisonnement`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Par défaut`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Faible`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Moyen`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Élevé`,description:`Reasoning effort: high`},"session.effortMax":{message:`Maximum`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Choisir le répertoire de travail`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Utiliser ce répertoire`,description:`Button: select the current directory`},"directory.up":{message:`Répertoire parent`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Actualiser`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Entrez le chemin (par exemple D:\\) puis appuyez sur Entrée`,description:`Espace réservé pour le champ de saisie du chemin de répertoire modifiable`},"directory.go":{message:`Aller`,description:`Bouton : naviguer vers le chemin de répertoire saisi`},"directory.loading":{message:`Chargement…`,description:`Directory listing loading hint`},"directory.empty":{message:`Ce répertoire est vide.`,description:`Empty directory hint`},"directory.truncated":{message:`Affichage des 1000 premières entrées.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Joindre une image`,description:`Attach image button title`},"session.removeImage":{message:`Supprimer l'image`,description:`Remove attached image button title`},"session.imageAlt":{message:`Image jointe`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`L'image est trop volumineuse ; gardez chacune sous 12 Mo.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Vous pouvez joindre jusqu'à {count} images.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Modèle par défaut`,description:`Modèle par défaut.`},"session.cwdDefault":{message:`Répertoire par défaut`,description:`Répertoire par défaut.`},"session.settings":{message:`Paramètres de la session`,description:`Paramètres de la session`},"session.settingsLocked":{message:`Les paramètres de cette session sont verrouillés`,description:`Les paramètres sont verrouillés pour cette session`},"session.attachFile":{message:`Ajouter un fichier`,description:`Ajouter un fichier.`},"session.attachmentImageAlt":{message:`Image jointe`,description:`Image jointe.`},"session.removeAttachment":{message:`Retirer l'attachement`,description:`Retirer l'attachement`},"session.uploadingAttachment":{message:`Téléchargement de l'attachement…`,description:`Téléchargement des attachements…`},"session.attachmentTooLarge":{message:`Fichier trop volumineux, veuillez garder chaque fichier en dessous de 50 Mo.`,description:`Le fichier est trop volumineux ; gardez chaque fichier en dessous de 50 Mo.`},"session.attachmentLimit":{message:`Vous pouvez joindre jusqu'à {count} fichiers.`,description:`Vous pouvez joindre jusqu'à {count} fichiers.`},"session.attachmentUploadError":{message:`Échec de l'upload de l'attachement.`,description:`Échec de l'upload de l'attachement.`},"notice.slashUnavailable":{message:`/{command} est une commande interactive et ne peut pas s'exécuter dans une session distante.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} n'est pas disponible pour Codex dans une session distante.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Activer les notifications`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Désactiver les notifications`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifications activées. Nous vous préviendrons lorsqu'une session nécessite une approbation.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifications désactivées.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Les notifications sont bloquées. Autorisez-les dans les paramètres de votre navigateur pour recevoir les alertes d'approbation.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Les notifications ne sont pas prises en charge sur cet appareil.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Impossible de mettre à jour les paramètres de notification.`,description:`Toast when enabling or disabling notifications errors`},"session.working":{message:`En cours d’exécution…`,description:`Indique que la session est en cours d’exécution`},"session.permissionModeWorkspace":{message:`Autorisations de l’espace de travail (sans confirmation à chaque fois)`,description:`Mode d’autorisation de l’espace de travail de la session`},"transcript.interrupted":{message:`Arrêté`,description:`Indique que la transcription a été arrêtée`}};export{e as default};
@@ -1 +1 @@
1
- var e={"nodeList.title":{message:`裝置`,description:`Coding Bridge 裝置清單標題`},"nodeList.refresh":{message:`重新整理`,description:`重新整理裝置清單`},"nodeList.pair":{message:`配對裝置`,description:`開啟配對對話方塊`},"nodeList.empty":{message:`尚未配對任何裝置。`,description:`裝置清單為空時的提示`},"nodeList.pairFirst":{message:`配對第一臺裝置`,description:`空狀態下的配對按鈕`},"nodeList.rename":{message:`重新命名`,description:`Rename a device`},"nodeList.renamePrompt":{message:`為這台裝置取個名稱,所有登入的裝置都會看到。`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`名稱不能為空。`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`名稱最長 {max} 個字元。`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`裝置已重新命名。`,description:`Rename device success`},"nodeList.renameFailed":{message:`重新命名裝置失敗。`,description:`Rename device failure`},"nodeList.remove":{message:`移除`,description:`移除裝置`},"nodeList.removeConfirm":{message:`移除裝置「{name}」?移除後需要重新配對。`,description:`移除裝置確認`},"nodeList.removeSuccess":{message:`裝置已移除。`,description:`移除裝置成功提示`},"nodeList.removeFailed":{message:`移除裝置失敗。`,description:`移除裝置失敗提示`},"status.online":{message:`線上`,description:`裝置線上狀態`},"status.offline":{message:`離線`,description:`裝置離線狀態`},"connection.disconnected":{message:`已斷線`,description:`中繼連線已斷線`},"connection.connecting":{message:`連線中…`,description:`中繼連線中`},"connection.connected":{message:`已連線`,description:`中繼已連線`},"connection.error":{message:`連線錯誤`,description:`中繼連線錯誤`},"pair.title":{message:`配對裝置`,description:`配對對話方塊標題`},"pair.intro":{message:`在你的電腦上執行 Coding Bridge 代理程式,然後在此輸入配對碼即可從網頁端控制它。`,description:`配對對話方塊介紹`},"pair.step1":{message:`安裝代理程式(需要 Python 3.10+):`,description:`配對步驟 1`},"pair.step2":{message:`啟動並依提示操作:`,description:`配對步驟 2`},"pair.step3":{message:`輸入下方顯示的配對碼。`,description:`配對步驟 3`},"pair.codePlaceholder":{message:`配對碼`,description:`配對碼輸入框佔位符`},"pair.claim":{message:`配對裝置`,description:`配對確認按鈕`},"pair.success":{message:`裝置「{name}」已配對。`,description:`配對成功提示`},"pair.invalidCode":{message:`配對碼無效或已過期。`,description:`配對碼無效錯誤`},"pair.usedCode":{message:`此配對碼已被使用。`,description:`配對碼已使用錯誤`},"pair.failed":{message:`配對裝置失敗。`,description:`配對通用錯誤`},"permission.title":{message:`需要授權`,description:`授權對話方塊標題`},"permission.subtitle":{message:`代理程式請求使用工具,核准後繼續。`,description:`授權對話方塊副標題`},"permission.deny":{message:`拒絕`,description:`拒絕工具授權`},"permission.allow":{message:`允許`,description:`允許工具授權`},"session.noDevice":{message:`選擇一臺裝置開始編碼。`,description:`未選擇裝置時的佔位提示`},"session.newSession":{message:`新工作階段`,description:`開始新工作階段`},"session.deviceOffline":{message:`此裝置已離線。請在該裝置上啟動 Coding Bridge 代理程式後繼續。`,description:`裝置離線警告`},"session.nodeId":{message:`裝置 ID`,description:`節點 id 的診斷標籤`},"session.sessionId":{message:`工作階段 ID`,description:`會話 id 的診斷標籤`},"session.traceId":{message:`追蹤 ID`,description:`追蹤 id 的診斷標籤`},"session.startHint":{message:`傳送一則訊息以在此裝置上開始工作階段。`,description:`空白記錄提示`},"session.cwdPlaceholder":{message:`工作目錄(選填)`,description:`工作目錄輸入框佔位符`},"session.modelPlaceholder":{message:`模型(選填)`,description:`模型輸入框佔位符`},"session.promptPlaceholder":{message:`向代理程式傳送訊息…`,description:`提示詞輸入框佔位符`},"session.send":{message:`傳送`,description:`傳送提示詞按鈕`},"session.voiceInput":{message:`語音輸入`,description:`開始把語音轉成提示詞`},"session.voiceStop":{message:`停止語音輸入`,description:`停止語音轉寫`},"session.voiceListening":{message:`正在聽寫,停止後可編輯文字。`,description:`語音識別進行中的輸入框提示`},"session.voiceStopping":{message:`正在完成語音轉寫…`,description:`等待語音識別輸出最終結果`},"session.voicePermissionDenied":{message:`麥克風權限被拒絕,請在系統或瀏覽器設定中允許後重試。`,description:`麥克風權限被拒絕`},"session.voiceMicrophoneUnavailable":{message:`未找到或無法使用麥克風。`,description:`麥克風不可用`},"session.voiceNoSpeech":{message:`未檢測到語音,請重試。`,description:`語音識別沒有檢測到講話`},"session.voiceNetworkError":{message:`語音識別服務暫時不可用,請檢查網絡後重試。`,description:`語音識別網絡錯誤`},"session.voiceError":{message:`語音輸入失敗,請重試。`,description:`語音識別通用錯誤`},"session.retry":{message:`重試`,description:`失敗後重新執行上一條提示詞`},"session.editPrompt":{message:`編輯`,description:`編輯已傳送的提示詞並作為新一輪重新傳送`},"session.editingBanner":{message:`編輯中 — 發送將把對話回退到此處`,description:`Banner shown while editing a past prompt`},"session.editRestoreCode":{message:`同時回退程式碼`,description:`Checkbox to also roll back file changes when editing`},"session.editCancel":{message:`取消`,description:`Cancel editing a past prompt`},"session.editSubmit":{message:`更新`,description:`Submit an edited prompt (rewind and re-run)`},"session.enterHint":{message:`Enter 傳送,Shift+Enter 換行。`,description:`輸入框鍵盤提示`},"transcript.turnFailed":{message:`執行失敗`,description:`回合結果失敗標籤`},"transcript.turnDone":{message:`完成`,description:`回合結果完成標籤`},"transcript.todoProgress":{message:`已完成 {done}/{total}`,description:`任務清單進度`},"transcript.todoOverflow":{message:`…另有 {count} 項未顯示`,description:`任務清單超長省略提示`},"transcript.todoCompleted":{message:`已完成`,description:`任務清單:已完成狀態(無障礙朗讀)`},"transcript.todoInProgress":{message:`進行中`,description:`任務清單:進行中狀態(無障礙朗讀)`},"transcript.todoPending":{message:`待辦`,description:`任務清單:待辦狀態(無障礙朗讀)`},"history.button":{message:`歷史會話`,description:`開啟歷史會話抽屜`},"history.title":{message:`歷史會話`,description:`歷史會話抽屜標題`},"history.intro":{message:`此裝置上的 Claude Code、Codex 與 GitHub Copilot 歷史工作階段。`,description:`歷史會話抽屜說明`},"history.refresh":{message:`重新整理`,description:`重新載入歷史列表`},"history.loading":{message:`正在載入歷史…`,description:`歷史載入提示`},"history.empty":{message:`此裝置上找不到歷史會話。`,description:`歷史為空提示`},"history.filterAll":{message:`全部`,description:`清除來源篩選,顯示全部會話`},"history.filterEmpty":{message:`當前篩選下沒有會話。`,description:`篩選後結果為空的提示`},"history.messages":{message:`{count} 則訊息`,description:`歷史條目訊息數`},"history.readonly":{message:`此 Codex 會話為唯讀,無法繼續。開始新會話以繼續編碼。`,description:`只讀回放提示`},"history.running":{message:`執行中`,description:`歷史會話當前正在裝置上執行的標記`},"history.unread":{message:`未讀`,description:`歷史會話已運行完但用戶尚未查看的標記`},"history.resumeHint":{message:`傳送訊息將在裝置上接續此會話。`,description:`續接輸入框提示`},"history.claudeLabel":{message:`Claude 歷史`,description:`回放的 Claude 會話標籤`},"history.codexLabel":{message:`Codex 歷史(唯讀)`,description:`回放的 Codex 會話標籤`},"session.permissionModeLabel":{message:`許可權模式`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`預設(每次詢問)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`自動接受修改`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`規劃模式(唯讀)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`略過所有許可權`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`後端`,description:`Agent backend selector label`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(未安裝)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} 未安裝在此裝置上。`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`推理強度`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`預設`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`低`,description:`Reasoning effort: low`},"session.effortMedium":{message:`中`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`高`,description:`Reasoning effort: high`},"session.effortMax":{message:`最高`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`選擇工作目錄`,description:`Working-directory picker dialog title`},"directory.choose":{message:`使用此目錄`,description:`Button: select the current directory`},"directory.up":{message:`上層目錄`,description:`Button: go to the parent directory`},"directory.refresh":{message:`重新整理`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`輸入路徑(如 D:\\)後回車`,description:`可編輯目錄路徑輸入框的佔位符`},"directory.go":{message:`跳轉`,description:`按鈕:導航到輸入的目錄路徑`},"directory.loading":{message:`正在載入…`,description:`Directory listing loading hint`},"directory.empty":{message:`此目錄為空。`,description:`Empty directory hint`},"directory.truncated":{message:`僅顯示前 1000 項。`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`新增圖片`,description:`Attach image button title`},"session.removeImage":{message:`移除圖片`,description:`Remove attached image button title`},"session.imageAlt":{message:`附加的圖片`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`圖片過大,單張請控制在 12 MB 以內。`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`最多可附加 {count} 張圖片。`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`預設模型`,description:`Default model`},"session.cwdDefault":{message:`預設目錄`,description:`Default directory`},"session.settings":{message:`工作階段設定`,description:`Session settings`},"session.settingsLocked":{message:`本工作階段設定已鎖定`,description:`Settings are locked for this session`},"session.attachFile":{message:`附加檔案`,description:`Attach file`},"session.attachmentImageAlt":{message:`已附加圖片`,description:`Attached image`},"session.removeAttachment":{message:`移除附件`,description:`Remove attachment`},"session.uploadingAttachment":{message:`附件上傳中…`,description:`Uploading attachments…`},"session.attachmentTooLarge":{message:`檔案過大,請保持每個檔案不超過 50 MB。`,description:`File is too large; keep each under 50 MB.`},"session.attachmentLimit":{message:`最多可附加 {count} 個檔案。`,description:`You can attach up to {count} files.`},"session.attachmentUploadError":{message:`附件上傳失敗。`,description:`Failed to upload attachment.`},"notice.slashUnavailable":{message:`/{command} 是互動式指令,無法在遠端工作階段中執行。`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} 在遠端工作階段中暫不支援 Codex。`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`開啟通知`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`關閉通知`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`通知已開啟,工作階段需要授權時會通知你。`,description:`Toast after enabling notifications`},"notify.disabled":{message:`通知已關閉。`,description:`Toast after disabling notifications`},"notify.denied":{message:`通知已被封鎖,請在瀏覽器設定中允許通知以接收授權提醒。`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`此裝置不支援通知。`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`無法更新通知設定。`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`裝置`,description:`Coding Bridge 裝置清單標題`},"nodeList.refresh":{message:`重新整理`,description:`重新整理裝置清單`},"nodeList.pair":{message:`配對裝置`,description:`開啟配對對話方塊`},"nodeList.empty":{message:`尚未配對任何裝置。`,description:`裝置清單為空時的提示`},"nodeList.pairFirst":{message:`配對第一臺裝置`,description:`空狀態下的配對按鈕`},"nodeList.rename":{message:`重新命名`,description:`Rename a device`},"nodeList.renamePrompt":{message:`為這台裝置取個名稱,所有登入的裝置都會看到。`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`名稱不能為空。`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`名稱最長 {max} 個字元。`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`裝置已重新命名。`,description:`Rename device success`},"nodeList.renameFailed":{message:`重新命名裝置失敗。`,description:`Rename device failure`},"nodeList.remove":{message:`移除`,description:`移除裝置`},"nodeList.removeConfirm":{message:`移除裝置「{name}」?移除後需要重新配對。`,description:`移除裝置確認`},"nodeList.removeSuccess":{message:`裝置已移除。`,description:`移除裝置成功提示`},"nodeList.removeFailed":{message:`移除裝置失敗。`,description:`移除裝置失敗提示`},"status.online":{message:`線上`,description:`裝置線上狀態`},"status.offline":{message:`離線`,description:`裝置離線狀態`},"connection.disconnected":{message:`已斷線`,description:`中繼連線已斷線`},"connection.connecting":{message:`連線中…`,description:`中繼連線中`},"connection.connected":{message:`已連線`,description:`中繼已連線`},"connection.error":{message:`連線錯誤`,description:`中繼連線錯誤`},"pair.title":{message:`配對裝置`,description:`配對對話方塊標題`},"pair.intro":{message:`在你的電腦上執行 Coding Bridge 代理程式,然後在此輸入配對碼即可從網頁端控制它。`,description:`配對對話方塊介紹`},"pair.step1":{message:`安裝代理程式(需要 Python 3.10+):`,description:`配對步驟 1`},"pair.step2":{message:`啟動並依提示操作:`,description:`配對步驟 2`},"pair.step3":{message:`輸入下方顯示的配對碼。`,description:`配對步驟 3`},"pair.codePlaceholder":{message:`配對碼`,description:`配對碼輸入框佔位符`},"pair.claim":{message:`配對裝置`,description:`配對確認按鈕`},"pair.success":{message:`裝置「{name}」已配對。`,description:`配對成功提示`},"pair.invalidCode":{message:`配對碼無效或已過期。`,description:`配對碼無效錯誤`},"pair.usedCode":{message:`此配對碼已被使用。`,description:`配對碼已使用錯誤`},"pair.failed":{message:`配對裝置失敗。`,description:`配對通用錯誤`},"permission.title":{message:`需要授權`,description:`授權對話方塊標題`},"permission.subtitle":{message:`代理程式請求使用工具,核准後繼續。`,description:`授權對話方塊副標題`},"permission.deny":{message:`拒絕`,description:`拒絕工具授權`},"permission.allow":{message:`允許`,description:`允許工具授權`},"session.noDevice":{message:`選擇一臺裝置開始編碼。`,description:`未選擇裝置時的佔位提示`},"session.newSession":{message:`新工作階段`,description:`開始新工作階段`},"session.deviceOffline":{message:`此裝置已離線。請在該裝置上啟動 Coding Bridge 代理程式後繼續。`,description:`裝置離線警告`},"session.nodeId":{message:`裝置 ID`,description:`節點 id 的診斷標籤`},"session.sessionId":{message:`工作階段 ID`,description:`會話 id 的診斷標籤`},"session.traceId":{message:`追蹤 ID`,description:`追蹤 id 的診斷標籤`},"session.startHint":{message:`傳送一則訊息以在此裝置上開始工作階段。`,description:`空白記錄提示`},"session.cwdPlaceholder":{message:`工作目錄(選填)`,description:`工作目錄輸入框佔位符`},"session.modelPlaceholder":{message:`模型(選填)`,description:`模型輸入框佔位符`},"session.promptPlaceholder":{message:`向代理程式傳送訊息…`,description:`提示詞輸入框佔位符`},"session.send":{message:`傳送`,description:`傳送提示詞按鈕`},"session.voiceInput":{message:`語音輸入`,description:`開始把語音轉成提示詞`},"session.voiceStop":{message:`停止語音輸入`,description:`停止語音轉寫`},"session.voiceListening":{message:`正在聽寫,停止後可編輯文字。`,description:`語音識別進行中的輸入框提示`},"session.voiceStopping":{message:`正在完成語音轉寫…`,description:`等待語音識別輸出最終結果`},"session.voicePermissionDenied":{message:`麥克風權限被拒絕,請在系統或瀏覽器設定中允許後重試。`,description:`麥克風權限被拒絕`},"session.voiceMicrophoneUnavailable":{message:`未找到或無法使用麥克風。`,description:`麥克風不可用`},"session.voiceNoSpeech":{message:`未檢測到語音,請重試。`,description:`語音識別沒有檢測到講話`},"session.voiceNetworkError":{message:`語音識別服務暫時不可用,請檢查網絡後重試。`,description:`語音識別網絡錯誤`},"session.voiceError":{message:`語音輸入失敗,請重試。`,description:`語音識別通用錯誤`},"session.retry":{message:`重試`,description:`失敗後重新執行上一條提示詞`},"session.editPrompt":{message:`編輯`,description:`編輯已傳送的提示詞並作為新一輪重新傳送`},"session.editingBanner":{message:`編輯中 — 發送將把對話回退到此處`,description:`Banner shown while editing a past prompt`},"session.editRestoreCode":{message:`同時回退程式碼`,description:`Checkbox to also roll back file changes when editing`},"session.editCancel":{message:`取消`,description:`Cancel editing a past prompt`},"session.editSubmit":{message:`更新`,description:`Submit an edited prompt (rewind and re-run)`},"session.enterHint":{message:`Enter 傳送,Shift+Enter 換行。`,description:`輸入框鍵盤提示`},"transcript.turnFailed":{message:`執行失敗`,description:`回合結果失敗標籤`},"transcript.turnDone":{message:`完成`,description:`回合結果完成標籤`},"transcript.todoProgress":{message:`已完成 {done}/{total}`,description:`任務清單進度`},"transcript.todoOverflow":{message:`…另有 {count} 項未顯示`,description:`任務清單超長省略提示`},"transcript.todoCompleted":{message:`已完成`,description:`任務清單:已完成狀態(無障礙朗讀)`},"transcript.todoInProgress":{message:`進行中`,description:`任務清單:進行中狀態(無障礙朗讀)`},"transcript.todoPending":{message:`待辦`,description:`任務清單:待辦狀態(無障礙朗讀)`},"history.button":{message:`歷史會話`,description:`開啟歷史會話抽屜`},"history.title":{message:`歷史會話`,description:`歷史會話抽屜標題`},"history.intro":{message:`此裝置上的 Claude Code、Codex 與 GitHub Copilot 歷史工作階段。`,description:`歷史會話抽屜說明`},"history.refresh":{message:`重新整理`,description:`重新載入歷史列表`},"history.loading":{message:`正在載入歷史…`,description:`歷史載入提示`},"history.empty":{message:`此裝置上找不到歷史會話。`,description:`歷史為空提示`},"history.filterAll":{message:`全部`,description:`清除來源篩選,顯示全部會話`},"history.filterEmpty":{message:`當前篩選下沒有會話。`,description:`篩選後結果為空的提示`},"history.messages":{message:`{count} 則訊息`,description:`歷史條目訊息數`},"history.readonly":{message:`此 Codex 會話為唯讀,無法繼續。開始新會話以繼續編碼。`,description:`只讀回放提示`},"history.running":{message:`執行中`,description:`歷史會話當前正在裝置上執行的標記`},"history.unread":{message:`未讀`,description:`歷史會話已運行完但用戶尚未查看的標記`},"history.resumeHint":{message:`傳送訊息將在裝置上接續此會話。`,description:`續接輸入框提示`},"history.claudeLabel":{message:`Claude 歷史`,description:`回放的 Claude 會話標籤`},"history.codexLabel":{message:`Codex 歷史(唯讀)`,description:`回放的 Codex 會話標籤`},"session.permissionModeLabel":{message:`許可權模式`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`預設(遵循本機核准規則)`,description:`權限模式:每次使用工具前先詢問`},"session.permissionModeAcceptEdits":{message:`自動接受修改`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`規劃模式(唯讀)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`略過所有許可權`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`後端`,description:`Agent backend selector label`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(未安裝)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} 未安裝在此裝置上。`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`推理強度`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`預設`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`低`,description:`Reasoning effort: low`},"session.effortMedium":{message:`中`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`高`,description:`Reasoning effort: high`},"session.effortMax":{message:`最高`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`選擇工作目錄`,description:`Working-directory picker dialog title`},"directory.choose":{message:`使用此目錄`,description:`Button: select the current directory`},"directory.up":{message:`上層目錄`,description:`Button: go to the parent directory`},"directory.refresh":{message:`重新整理`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`輸入路徑(如 D:\\)後回車`,description:`可編輯目錄路徑輸入框的佔位符`},"directory.go":{message:`跳轉`,description:`按鈕:導航到輸入的目錄路徑`},"directory.loading":{message:`正在載入…`,description:`Directory listing loading hint`},"directory.empty":{message:`此目錄為空。`,description:`Empty directory hint`},"directory.truncated":{message:`僅顯示前 1000 項。`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`新增圖片`,description:`Attach image button title`},"session.removeImage":{message:`移除圖片`,description:`Remove attached image button title`},"session.imageAlt":{message:`附加的圖片`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`圖片過大,單張請控制在 12 MB 以內。`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`最多可附加 {count} 張圖片。`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`預設模型`,description:`Default model`},"session.cwdDefault":{message:`預設目錄`,description:`Default directory`},"session.settings":{message:`工作階段設定`,description:`Session settings`},"session.settingsLocked":{message:`本工作階段設定已鎖定`,description:`Settings are locked for this session`},"session.attachFile":{message:`附加檔案`,description:`Attach file`},"session.attachmentImageAlt":{message:`已附加圖片`,description:`Attached image`},"session.removeAttachment":{message:`移除附件`,description:`Remove attachment`},"session.uploadingAttachment":{message:`附件上傳中…`,description:`Uploading attachments…`},"session.attachmentTooLarge":{message:`檔案過大,請保持每個檔案不超過 50 MB。`,description:`File is too large; keep each under 50 MB.`},"session.attachmentLimit":{message:`最多可附加 {count} 個檔案。`,description:`You can attach up to {count} files.`},"session.attachmentUploadError":{message:`附件上傳失敗。`,description:`Failed to upload attachment.`},"notice.slashUnavailable":{message:`/{command} 是互動式指令,無法在遠端工作階段中執行。`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} 在遠端工作階段中暫不支援 Codex。`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`開啟通知`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`關閉通知`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`通知已開啟,工作階段需要授權時會通知你。`,description:`Toast after enabling notifications`},"notify.disabled":{message:`通知已關閉。`,description:`Toast after disabling notifications`},"notify.denied":{message:`通知已被封鎖,請在瀏覽器設定中允許通知以接收授權提醒。`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`此裝置不支援通知。`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`無法更新通知設定。`,description:`Toast when enabling or disabling notifications errors`},"session.working":{message:`執行中…`,description:`表示目前正在執行工作。`},"session.permissionModeWorkspace":{message:`工作區權限(無需逐次確認)`,description:`工作區權限模式,表示不需要逐次確認操作。`},"transcript.interrupted":{message:`已停止`,description:`表示目前的執行已被停止。`}};export{e as default};
@@ -1 +1 @@
1
- var e={"nodeList.title":{message:`Devices`,description:`Coding Bridge device list title`},"nodeList.refresh":{message:`Refresh`,description:`Refresh the device list`},"nodeList.pair":{message:`Pair device`,description:`Open the pairing dialog`},"nodeList.empty":{message:`No devices paired yet.`,description:`Empty device list message`},"nodeList.pairFirst":{message:`Pair your first device`,description:`Empty-state pairing button`},"nodeList.rename":{message:`Rename`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Name this device. The name is synced to all your signed-in devices.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Name must not be empty.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Name must be at most {max} characters.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Device renamed.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Failed to rename the device.`,description:`Rename device failure`},"nodeList.remove":{message:`Remove`,description:`Remove a device`},"nodeList.removeConfirm":{message:`Remove device "{name}"? It will need to be paired again.`,description:`Device removal confirmation`},"nodeList.removeSuccess":{message:`Device removed.`,description:`Device removed toast`},"nodeList.removeFailed":{message:`Failed to remove device.`,description:`Device removal error toast`},"status.online":{message:`Online`,description:`Device online status`},"status.offline":{message:`Offline`,description:`Device offline status`},"connection.disconnected":{message:`Disconnected`,description:`Relay connection disconnected`},"connection.connecting":{message:`Connecting…`,description:`Relay connection connecting`},"connection.connected":{message:`Connected`,description:`Relay connection connected`},"connection.error":{message:`Connection error`,description:`Relay connection error`},"pair.title":{message:`Pair a device`,description:`Pairing dialog title`},"pair.intro":{message:`Run the Coding Bridge agent on your computer, then enter its pairing code here to control it from the web.`,description:`Pairing dialog intro`},"pair.step1":{message:`Install the agent (requires Python 3.10+):`,description:`Pairing step 1`},"pair.step2":{message:`Start it and follow the prompt:`,description:`Pairing step 2`},"pair.step3":{message:`Enter the pairing code it shows below.`,description:`Pairing step 3`},"pair.codePlaceholder":{message:`Pairing code`,description:`Pairing code input placeholder`},"pair.claim":{message:`Pair device`,description:`Pairing confirm button`},"pair.success":{message:`Device "{name}" paired.`,description:`Pairing success toast`},"pair.invalidCode":{message:`Invalid or expired pairing code.`,description:`Pairing invalid code error`},"pair.usedCode":{message:`This pairing code has already been used.`,description:`Pairing used code error`},"pair.failed":{message:`Failed to pair device.`,description:`Pairing generic error`},"permission.title":{message:`Permission required`,description:`Permission dialog title`},"permission.subtitle":{message:`The agent wants to use a tool. Approve to continue.`,description:`Permission dialog subtitle`},"permission.deny":{message:`Deny`,description:`Deny a tool permission`},"permission.allow":{message:`Allow`,description:`Allow a tool permission`},"session.noDevice":{message:`Select a device to start coding.`,description:`No device selected placeholder`},"session.newSession":{message:`New session`,description:`Start a new session`},"session.deviceOffline":{message:`This device is offline. Start the Coding Bridge agent on it to continue.`,description:`Device offline warning`},"session.nodeId":{message:`Device ID`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`Session ID`,description:`Diagnostic label for the session id`},"session.traceId":{message:`Trace ID`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Send a message to start a session on this device.`,description:`Empty transcript hint`},"session.cwdPlaceholder":{message:`Working directory (optional)`,description:`Working directory input placeholder`},"session.modelPlaceholder":{message:`Model (optional)`,description:`Model input placeholder`},"session.promptPlaceholder":{message:`Send a message to the agent…`,description:`Prompt input placeholder`},"session.send":{message:`Send`,description:`Send prompt button`},"session.voiceInput":{message:`Voice input`,description:`Start turning speech into prompt text`},"session.voiceStop":{message:`Stop voice input`,description:`Stop speech transcription`},"session.voiceListening":{message:`Listening… You can edit the text after stopping.`,description:`Composer hint while speech recognition is active`},"session.voiceStopping":{message:`Finishing transcription…`,description:`Waiting for the final speech recognition result`},"session.voicePermissionDenied":{message:`Microphone access was denied. Allow it in your system or browser settings and try again.`,description:`Microphone permission denied`},"session.voiceMicrophoneUnavailable":{message:`No microphone was found or it could not be used.`,description:`Microphone unavailable`},"session.voiceNoSpeech":{message:`No speech was detected. Try again.`,description:`Speech recognition detected no speech`},"session.voiceNetworkError":{message:`Speech recognition is temporarily unavailable. Check your network and try again.`,description:`Speech recognition network error`},"session.voiceError":{message:`Voice input failed. Try again.`,description:`Generic speech recognition error`},"session.retry":{message:`Retry`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Edit`,description:`Edit a sent prompt and resend it as a new turn`},"session.editingBanner":{message:`Editing — sending rewinds the conversation to this point.`,description:`Banner shown while editing a past prompt`},"session.editRestoreCode":{message:`Also restore code`,description:`Checkbox to also roll back file changes when editing`},"session.editCancel":{message:`Cancel`,description:`Cancel editing a past prompt`},"session.editSubmit":{message:`Update`,description:`Submit an edited prompt (rewind and re-run)`},"session.enterHint":{message:`Enter to send, Shift+Enter for a new line.`,description:`Composer keyboard hint`},"transcript.turnFailed":{message:`Turn failed`,description:`Turn result failed label`},"transcript.turnDone":{message:`Done`,description:`Turn result done label`},"transcript.todoProgress":{message:`{done}/{total} completed`,description:`Todo list progress`},"transcript.todoOverflow":{message:`…and {count} more`,description:`Todo list overflow hint`},"transcript.todoCompleted":{message:`Completed`,description:`Todo list: completed status for screen readers`},"transcript.todoInProgress":{message:`In progress`,description:`Todo list: in-progress status for screen readers`},"transcript.todoPending":{message:`Pending`,description:`Todo list: pending status for screen readers`},"history.button":{message:`History`,description:`Open the conversation history drawer`},"history.title":{message:`Conversation history`,description:`History drawer title`},"history.intro":{message:`Past Claude Code, Codex & GitHub Copilot sessions on this device.`,description:`History drawer intro`},"history.refresh":{message:`Refresh`,description:`Reload the history list`},"history.loading":{message:`Loading history…`,description:`History loading message`},"history.empty":{message:`No history found on this device.`,description:`Empty history message`},"history.filterAll":{message:`All`,description:`Clear the provider filter and show every session`},"history.filterEmpty":{message:`No conversations match this filter.`,description:`Empty result under the current provider filter`},"history.messages":{message:`{count} messages`,description:`History item message count`},"history.readonly":{message:`This Codex conversation is read-only and cannot be continued. Start a new session to keep coding.`,description:`Read-only replay notice`},"history.running":{message:`Running`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`Unread`,description:`Marks a finished history conversation the user has not opened yet`},"history.resumeHint":{message:`Sending a message will resume this conversation on the device.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Claude history`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Codex history (read-only)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Permission mode`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Default (ask each time)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Auto-accept edits`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Plan mode (read-only)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Bypass all permissions`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Agent backend selector label`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(not installed)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} is not installed on this device.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Reasoning effort`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Default`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Low`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Medium`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`High`,description:`Reasoning effort: high`},"session.effortMax":{message:`Max`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Choose working directory`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Use this directory`,description:`Button: select the current directory`},"directory.up":{message:`Parent directory`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Refresh`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Type a path (e.g. D:\\) and press Enter`,description:`Placeholder for the editable directory path input`},"directory.go":{message:`Go`,description:`Button: navigate to the typed directory path`},"directory.loading":{message:`Loading…`,description:`Directory listing loading hint`},"directory.empty":{message:`This directory is empty.`,description:`Empty directory hint`},"directory.truncated":{message:`Showing the first 1000 entries.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Attach image`,description:`Attach image button title`},"session.removeImage":{message:`Remove image`,description:`Remove attached image button title`},"session.imageAlt":{message:`Attached image`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`Image is too large; keep each under 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`You can attach up to {count} images.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Default model`,description:`Default model`},"session.cwdDefault":{message:`Default directory`,description:`Default directory`},"session.settings":{message:`Session settings`,description:`Session settings`},"session.settingsLocked":{message:`Settings are locked for this session`,description:`Settings are locked for this session`},"session.attachFile":{message:`Attach file`,description:`Attach file`},"session.attachmentImageAlt":{message:`Attached image`,description:`Attached image`},"session.removeAttachment":{message:`Remove attachment`,description:`Remove attachment`},"session.uploadingAttachment":{message:`Uploading attachments…`,description:`Uploading attachments…`},"session.attachmentTooLarge":{message:`File is too large; keep each under 50 MB.`,description:`File is too large; keep each under 50 MB.`},"session.attachmentLimit":{message:`You can attach up to {count} files.`,description:`You can attach up to {count} files.`},"session.attachmentUploadError":{message:`Failed to upload attachment.`,description:`Failed to upload attachment.`},"notice.slashUnavailable":{message:`/{command} is an interactive command and isn't available in a remote session.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} isn't available for Codex in a remote session.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Enable notifications`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Disable notifications`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifications enabled. We'll alert you when a session needs approval.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifications disabled.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Notifications are blocked. Allow them in your browser settings to get approval alerts.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Notifications aren't supported on this device.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Couldn't update notification settings.`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`Devices`,description:`Coding Bridge device list title`},"nodeList.refresh":{message:`Refresh`,description:`Refresh the device list`},"nodeList.pair":{message:`Pair device`,description:`Open the pairing dialog`},"nodeList.empty":{message:`No devices paired yet.`,description:`Empty device list message`},"nodeList.pairFirst":{message:`Pair your first device`,description:`Empty-state pairing button`},"nodeList.rename":{message:`Rename`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Name this device. The name is synced to all your signed-in devices.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Name must not be empty.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Name must be at most {max} characters.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Device renamed.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Failed to rename the device.`,description:`Rename device failure`},"nodeList.remove":{message:`Remove`,description:`Remove a device`},"nodeList.removeConfirm":{message:`Remove device "{name}"? It will need to be paired again.`,description:`Device removal confirmation`},"nodeList.removeSuccess":{message:`Device removed.`,description:`Device removed toast`},"nodeList.removeFailed":{message:`Failed to remove device.`,description:`Device removal error toast`},"status.online":{message:`Online`,description:`Device online status`},"status.offline":{message:`Offline`,description:`Device offline status`},"connection.disconnected":{message:`Disconnected`,description:`Relay connection disconnected`},"connection.connecting":{message:`Connecting…`,description:`Relay connection connecting`},"connection.connected":{message:`Connected`,description:`Relay connection connected`},"connection.error":{message:`Connection error`,description:`Relay connection error`},"pair.title":{message:`Pair a device`,description:`Pairing dialog title`},"pair.intro":{message:`Run the Coding Bridge agent on your computer, then enter its pairing code here to control it from the web.`,description:`Pairing dialog intro`},"pair.step1":{message:`Install the agent (requires Python 3.10+):`,description:`Pairing step 1`},"pair.step2":{message:`Start it and follow the prompt:`,description:`Pairing step 2`},"pair.step3":{message:`Enter the pairing code it shows below.`,description:`Pairing step 3`},"pair.codePlaceholder":{message:`Pairing code`,description:`Pairing code input placeholder`},"pair.claim":{message:`Pair device`,description:`Pairing confirm button`},"pair.success":{message:`Device "{name}" paired.`,description:`Pairing success toast`},"pair.invalidCode":{message:`Invalid or expired pairing code.`,description:`Pairing invalid code error`},"pair.usedCode":{message:`This pairing code has already been used.`,description:`Pairing used code error`},"pair.failed":{message:`Failed to pair device.`,description:`Pairing generic error`},"permission.title":{message:`Permission required`,description:`Permission dialog title`},"permission.subtitle":{message:`The agent wants to use a tool. Approve to continue.`,description:`Permission dialog subtitle`},"permission.deny":{message:`Deny`,description:`Deny a tool permission`},"permission.allow":{message:`Allow`,description:`Allow a tool permission`},"session.noDevice":{message:`Select a device to start coding.`,description:`No device selected placeholder`},"session.newSession":{message:`New session`,description:`Start a new session`},"session.deviceOffline":{message:`This device is offline. Start the Coding Bridge agent on it to continue.`,description:`Device offline warning`},"session.nodeId":{message:`Device ID`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`Session ID`,description:`Diagnostic label for the session id`},"session.traceId":{message:`Trace ID`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`Send a message to start a session on this device.`,description:`Empty transcript hint`},"session.cwdPlaceholder":{message:`Working directory (optional)`,description:`Working directory input placeholder`},"session.modelPlaceholder":{message:`Model (optional)`,description:`Model input placeholder`},"session.promptPlaceholder":{message:`Send a message to the agent…`,description:`Prompt input placeholder`},"session.send":{message:`Send`,description:`Send prompt button`},"session.voiceInput":{message:`Voice input`,description:`Start turning speech into prompt text`},"session.voiceStop":{message:`Stop voice input`,description:`Stop speech transcription`},"session.voiceListening":{message:`Listening… You can edit the text after stopping.`,description:`Composer hint while speech recognition is active`},"session.voiceStopping":{message:`Finishing transcription…`,description:`Waiting for the final speech recognition result`},"session.voicePermissionDenied":{message:`Microphone access was denied. Allow it in your system or browser settings and try again.`,description:`Microphone permission denied`},"session.voiceMicrophoneUnavailable":{message:`No microphone was found or it could not be used.`,description:`Microphone unavailable`},"session.voiceNoSpeech":{message:`No speech was detected. Try again.`,description:`Speech recognition detected no speech`},"session.voiceNetworkError":{message:`Speech recognition is temporarily unavailable. Check your network and try again.`,description:`Speech recognition network error`},"session.voiceError":{message:`Voice input failed. Try again.`,description:`Generic speech recognition error`},"session.retry":{message:`Retry`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`Edit`,description:`Edit a sent prompt and resend it as a new turn`},"session.editingBanner":{message:`Editing — sending rewinds the conversation to this point.`,description:`Banner shown while editing a past prompt`},"session.editRestoreCode":{message:`Also restore code`,description:`Checkbox to also roll back file changes when editing`},"session.editCancel":{message:`Cancel`,description:`Cancel editing a past prompt`},"session.editSubmit":{message:`Update`,description:`Submit an edited prompt (rewind and re-run)`},"session.enterHint":{message:`Enter to send, Shift+Enter for a new line.`,description:`Composer keyboard hint`},"transcript.turnFailed":{message:`Turn failed`,description:`Turn result failed label`},"transcript.turnDone":{message:`Done`,description:`Turn result done label`},"transcript.todoProgress":{message:`{done}/{total} completed`,description:`Todo list progress`},"transcript.todoOverflow":{message:`…and {count} more`,description:`Todo list overflow hint`},"transcript.todoCompleted":{message:`Completed`,description:`Todo list: completed status for screen readers`},"transcript.todoInProgress":{message:`In progress`,description:`Todo list: in-progress status for screen readers`},"transcript.todoPending":{message:`Pending`,description:`Todo list: pending status for screen readers`},"history.button":{message:`History`,description:`Open the conversation history drawer`},"history.title":{message:`Conversation history`,description:`History drawer title`},"history.intro":{message:`Past Claude Code, Codex & GitHub Copilot sessions on this device.`,description:`History drawer intro`},"history.refresh":{message:`Refresh`,description:`Reload the history list`},"history.loading":{message:`Loading history…`,description:`History loading message`},"history.empty":{message:`No history found on this device.`,description:`Empty history message`},"history.filterAll":{message:`All`,description:`Clear the provider filter and show every session`},"history.filterEmpty":{message:`No conversations match this filter.`,description:`Empty result under the current provider filter`},"history.messages":{message:`{count} messages`,description:`History item message count`},"history.readonly":{message:`This Codex conversation is read-only and cannot be continued. Start a new session to keep coding.`,description:`Read-only replay notice`},"history.running":{message:`Running`,description:`Marks a history conversation that is currently live on the device`},"history.unread":{message:`Unread`,description:`Marks a finished history conversation the user has not opened yet`},"history.resumeHint":{message:`Sending a message will resume this conversation on the device.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Claude history`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Codex history (read-only)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Permission mode`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Default (follow local approval rules)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Auto-accept edits`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Plan mode (read-only)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Bypass all permissions`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`Agent backend selector label`},"session.providerClaude":{message:`Claude Code`,description:`Backend option: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Backend option: Codex`},"session.providerUnavailable":{message:`(not installed)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} is not installed on this device.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Reasoning effort`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Default`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Low`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Medium`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`High`,description:`Reasoning effort: high`},"session.effortMax":{message:`Max`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Choose working directory`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Use this directory`,description:`Button: select the current directory`},"directory.up":{message:`Parent directory`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Refresh`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Type a path (e.g. D:\\) and press Enter`,description:`Placeholder for the editable directory path input`},"directory.go":{message:`Go`,description:`Button: navigate to the typed directory path`},"directory.loading":{message:`Loading…`,description:`Directory listing loading hint`},"directory.empty":{message:`This directory is empty.`,description:`Empty directory hint`},"directory.truncated":{message:`Showing the first 1000 entries.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Attach image`,description:`Attach image button title`},"session.removeImage":{message:`Remove image`,description:`Remove attached image button title`},"session.imageAlt":{message:`Attached image`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`Image is too large; keep each under 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`You can attach up to {count} images.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`Default model`,description:`Default model`},"session.cwdDefault":{message:`Default directory`,description:`Default directory`},"session.settings":{message:`Session settings`,description:`Session settings`},"session.settingsLocked":{message:`Settings are locked for this session`,description:`Settings are locked for this session`},"session.attachFile":{message:`Attach file`,description:`Attach file`},"session.attachmentImageAlt":{message:`Attached image`,description:`Attached image`},"session.removeAttachment":{message:`Remove attachment`,description:`Remove attachment`},"session.uploadingAttachment":{message:`Uploading attachments…`,description:`Uploading attachments…`},"session.attachmentTooLarge":{message:`File is too large; keep each under 50 MB.`,description:`File is too large; keep each under 50 MB.`},"session.attachmentLimit":{message:`You can attach up to {count} files.`,description:`You can attach up to {count} files.`},"session.attachmentUploadError":{message:`Failed to upload attachment.`,description:`Failed to upload attachment.`},"notice.slashUnavailable":{message:`/{command} is an interactive command and isn't available in a remote session.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} isn't available for Codex in a remote session.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Enable notifications`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Disable notifications`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifications enabled. We'll alert you when a session needs approval.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifications disabled.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Notifications are blocked. Allow them in your browser settings to get approval alerts.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Notifications aren't supported on this device.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Couldn't update notification settings.`,description:`Toast when enabling or disabling notifications errors`},"session.working":{message:`Working…`,description:`session.working`},"session.permissionModeWorkspace":{message:`Workspace access (no prompts)`,description:`session.permissionModeWorkspace`},"transcript.interrupted":{message:`Stopped`,description:`transcript.interrupted`}};export{e as default};