@acedatacloud/nexior 3.340.2 → 3.340.3

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 (258) hide show
  1. package/dist/assets/{ApiCodeButton-Ca2t5oht.js → ApiCodeButton-DERS5IFd.js} +1 -1
  2. package/dist/assets/{Artifacts-CSz2HHK4.js → Artifacts-CDAAgV5J.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-CVCPjKMB.js → AskUserQuestionCard-D-lZzhm9.js} +1 -1
  4. package/dist/assets/{AudioPreview-Bsi-BEdp.js → AudioPreview-BkLbJfRM.js} +1 -1
  5. package/dist/assets/{Auth-CKzhe8xO.js → Auth-Bop7gPuH.js} +1 -1
  6. package/dist/assets/{Bare-PzqhBErQ.js → Bare-BVJDLEfy.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-DPxy-R-3.js → BotPlaceholder-CYEVnACe.js} +1 -1
  8. package/dist/assets/{BottomFooter-Sof29EUR.js → BottomFooter-qNB9Jr7H.js} +1 -1
  9. package/dist/assets/{Callback-BFC1a-40.js → Callback-1MeAQIiX.js} +1 -1
  10. package/dist/assets/{CodeSnippet-3hUWHSAq.js → CodeSnippet-BoCR495S.js} +1 -1
  11. package/dist/assets/{Console-CsEqsf79.js → Console-DvDuwE0Q.js} +1 -1
  12. package/dist/assets/{Consumption-U_Dg1D--.js → Consumption-t-EIk07L.js} +1 -1
  13. package/dist/assets/{Conversation-Die0rHDz.js → Conversation-Bx1Iw8bE.js} +1 -1
  14. package/dist/assets/{Conversation-YOUukTni.js → Conversation-f80yjcq_.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-B0rNWv9m.js → CopyToClipboard-DVNqXwaf.js} +1 -1
  16. package/dist/assets/{Detail-C6bGctP2.js → Detail-B_suGnmG.js} +2 -2
  17. package/dist/assets/{Extra-Bp9rZIsu.js → Extra-GseIC_-f.js} +1 -1
  18. package/dist/assets/{FilePreview-DVBr-iNy.js → FilePreview-CfavZANC.js} +1 -1
  19. package/dist/assets/{Hailuo-CO5qAVAp.js → Hailuo-DXQUi2p7.js} +1 -1
  20. package/dist/assets/{History-B8U1ZMMe.js → History-CB0umsgO.js} +1 -1
  21. package/dist/assets/{ImagePreview-D5LvVpsi.js → ImagePreview-DnVmXr0D.js} +1 -1
  22. package/dist/assets/{ImageWrapper-M7i5D4bw.js → ImageWrapper-CNouIPP-.js} +1 -1
  23. package/dist/assets/{Index-BLNmAN3q.js → Index-B1SGUASX.js} +1 -1
  24. package/dist/assets/{Index-cRDFhwyf.js → Index-BGKwOAYd.js} +1 -1
  25. package/dist/assets/{Index-DZOEgJLE2.js → Index-BUFNV4kd2.js} +1 -1
  26. package/dist/assets/{Index-BaKpBOBZ.js → Index-BoFP5XB3.js} +1 -1
  27. package/dist/assets/{Index-B0XPW6pR.js → Index-BtjAp7uV.js} +1 -1
  28. package/dist/assets/{Index-CaFFDWID.js → Index-CCOiTYpO.js} +1 -1
  29. package/dist/assets/{Index-CbzzX6Ff.js → Index-CGYeUi6k.js} +1 -1
  30. package/dist/assets/{Index-CKP_nsDR.js → Index-CN6xFWnB.js} +1 -1
  31. package/dist/assets/{Index-BX8zKP5c.js → Index-CYK-6ZAY.js} +1 -1
  32. package/dist/assets/{Index-DM1-yrCu2.js → Index-ClQy_ZdZ2.js} +1 -1
  33. package/dist/assets/{Index-qhdInzRB.js → Index-CmiYgR9d.js} +1 -1
  34. package/dist/assets/{Index-CGDc1THh2.js → Index-CwUcU0z52.js} +1 -1
  35. package/dist/assets/{Index-DKEdFEKl2.js → Index-CwjwLkZS2.js} +1 -1
  36. package/dist/assets/{Index-M0E1pU1S.js → Index-Cz0s3t2A.js} +1 -1
  37. package/dist/assets/{Index-X8pDSzKj.js → Index-D0sVd4bT.js} +1 -1
  38. package/dist/assets/{Index-CEjLe9Kj.js → Index-D77h577q.js} +1 -1
  39. package/dist/assets/{Index-B_pr1DsY.js → Index-DL6NpYBw.js} +1 -1
  40. package/dist/assets/{Index-D48tTThw.js → Index-DTNDlULV.js} +1 -1
  41. package/dist/assets/{Index-DPiiXVM22.js → Index-DT_RiXDr2.js} +1 -1
  42. package/dist/assets/{Index-B95cHzni2.js → Index-DVLjl44s2.js} +1 -1
  43. package/dist/assets/{Index-DvJ3AYEd.js → Index-DepRw85r.js} +1 -1
  44. package/dist/assets/{Index-CDAZ261s.js → Index-DhfmQQJo.js} +1 -1
  45. package/dist/assets/{Index-Ce9LDmjJ2.js → Index-Dp9s_ory2.js} +1 -1
  46. package/dist/assets/{Index-DpK70bSq.css → Index-DrLncl4z.css} +1 -1
  47. package/dist/assets/{Index-CuJiKg2G.js → Index-IVfi2Mip.js} +1 -1
  48. package/dist/assets/{Index-H_xCpY9Z.js → Index-RUp6Bz2j.js} +1 -1
  49. package/dist/assets/{Index-B7p9Phc4.js → Index-d98FQdny.js} +1 -1
  50. package/dist/assets/{Index-_Tgk8UlC.js → Index-dXWAMZSS.js} +1 -1
  51. package/dist/assets/{Index-C8aMlaWB.js → Index-iu7QT3sT.js} +1 -1
  52. package/dist/assets/{Index-DI-r2dV4.js → Index-q-m-TGAB.js} +1 -1
  53. package/dist/assets/{Index-MlRcBhc1.js → Index-xex-V1HX.js} +1 -1
  54. package/dist/assets/{Invitees-DhIq0xIV.js → Invitees-CKiY6rZ4.js} +1 -1
  55. package/dist/assets/{List-CZvid2js.js → List-BdniOHn3.js} +1 -1
  56. package/dist/assets/{List-CLPTmya_.js → List-CgAzhaoc.js} +1 -1
  57. package/dist/assets/{List-DVJICAYh.js → List-DBo5Gpna.js} +1 -1
  58. package/dist/assets/{LocalTools-t1eHeUqA.js → LocalTools-B2-S34tU.js} +1 -1
  59. package/dist/assets/{LocalTools-B8mmowFQ.js → LocalTools-DODiCqH1.js} +1 -1
  60. package/dist/assets/{Main-ReKT23qv.js → Main-CnPKbK6i.js} +1 -1
  61. package/dist/assets/{Message-D5E7sHUs.js → Message-h2SLFNux.js} +2 -2
  62. package/dist/assets/{Model-D-STaBvj.js → Model-Cwsjc9kV.js} +1 -1
  63. package/dist/assets/{Navigator-JImq04Rc.js → Navigator-CP7cYKqO.js} +3 -3
  64. package/dist/assets/{NotFound-CGVkRTE2.js → NotFound-jzRNu1xB.js} +1 -1
  65. package/dist/assets/{Pay-DD9oJDaA.js → Pay-C6sR_RO4.js} +1 -1
  66. package/dist/assets/{Player-BWtaYMm1.js → Player-BJ24Ts7X.js} +1 -1
  67. package/dist/assets/{Poivelle-Q-lnGVf3.js → Poivelle-Bq1q4GEL.js} +1 -1
  68. package/dist/assets/{PromptTextarea-B6ud6e3y.js → PromptTextarea-CTxp5APg.js} +1 -1
  69. package/dist/assets/{RealtimeCall-BajtLNtL.js → RealtimeCall-4z7rioZO.js} +1 -1
  70. package/dist/assets/{ScheduledTasks-3dTNH_bc.js → ScheduledTasks-DFWkVDKq.js} +1 -1
  71. package/dist/assets/{Status-Dv4Awk2T.js → Status-Dcs1HhFX.js} +1 -1
  72. package/dist/assets/{Subscribe-CTk_f34V.js → Subscribe-D4zx4Ei3.js} +1 -1
  73. package/dist/assets/{TabSwitcher-CMYmra4w.js → TabSwitcher-Dd57sNbc.js} +1 -1
  74. package/dist/assets/{Tts-CQA82N-R.js → Tts-CrjerHKW.js} +1 -1
  75. package/dist/assets/{VideoPlayer-DekA89LY.js → VideoPlayer-CTCKovDB.js} +1 -1
  76. package/dist/assets/{alert-0X9r_LZa.js → alert-DD2w4Li8.js} +1 -1
  77. package/dist/assets/arrow-down-B0RTUeSr.js +1 -0
  78. package/dist/assets/{arrow-down-wide-narrow-BApkHXdD.js → arrow-down-wide-narrow-BTIrUe8-.js} +1 -1
  79. package/dist/assets/arrow-left-Cf3gWLsw.js +1 -0
  80. package/dist/assets/arrow-right-DI02irfu.js +1 -0
  81. package/dist/assets/arrow-up-DuyJUy_n.js +1 -0
  82. package/dist/assets/{avatar-C9F6aNsq.js → avatar-DrsHreey.js} +1 -1
  83. package/dist/assets/{basic-Xq1K7Suw.js → basic-BzWxcYK_.js} +1 -1
  84. package/dist/assets/{box-B3q7-eW8.js → box-BtdegTBz.js} +1 -1
  85. package/dist/assets/{boxes-ChdBAceL.js → boxes-ybAIIR71.js} +1 -1
  86. package/dist/assets/{brain-Q3njj4jy.js → brain-Cq7nyUkW.js} +1 -1
  87. package/dist/assets/{chart-no-axes-combined-DsaUyHIA.js → chart-no-axes-combined-D3qVqCod.js} +1 -1
  88. package/dist/assets/{chat-PluT2-yx.js → chat-BhgOl57S.js} +1 -1
  89. package/dist/assets/check-MoRbicwI.js +1 -0
  90. package/dist/assets/chevron-down-9ptjLXr5.js +1 -0
  91. package/dist/assets/chevron-right-wrpuG3_1.js +1 -0
  92. package/dist/assets/circle-check-iqlk4q9A.js +1 -0
  93. package/dist/assets/clock-Ob2HYuN_.js +1 -0
  94. package/dist/assets/{codingBridge-COSYJOC9.js → codingBridge-89AdgK58.js} +1 -1
  95. package/dist/assets/{codingBridge-oXxmZQ3-.js → codingBridge-BwHgA76L.js} +1 -1
  96. package/dist/assets/{codingBridge-BtoubDu1.js → codingBridge-C-N2Q6TF.js} +1 -1
  97. package/dist/assets/{codingBridge-B02Fk-m_.js → codingBridge-CBQw2Neg.js} +1 -1
  98. package/dist/assets/{codingBridge-DQbPZtQ_.js → codingBridge-CCypVvJe.js} +1 -1
  99. package/dist/assets/{codingBridge-C7F_OBN7.js → codingBridge-CW0QhC44.js} +1 -1
  100. package/dist/assets/{codingBridge-DGqR4ldH.js → codingBridge-Cd42Qqk5.js} +1 -1
  101. package/dist/assets/{codingBridge-Bl7r72IF.js → codingBridge-Co-BV7Mx.js} +1 -1
  102. package/dist/assets/{codingBridge-DaXv9Xln.js → codingBridge-CqDoeZKe.js} +1 -1
  103. package/dist/assets/{codingBridge-CRxS8NV9.js → codingBridge-D4ccvk5Y.js} +1 -1
  104. package/dist/assets/{codingBridge-t_aphQY7.js → codingBridge-DLlMYXel.js} +1 -1
  105. package/dist/assets/{codingBridge-DrAGe50k.js → codingBridge-DXulI2iy.js} +1 -1
  106. package/dist/assets/{codingBridge-DqOFAj0w.js → codingBridge-DiGzyD_D.js} +1 -1
  107. package/dist/assets/{codingBridge-D0CvPL7T.js → codingBridge-HWiHQp86.js} +1 -1
  108. package/dist/assets/{codingBridge-Cy8GJBKr.js → codingBridge-VV5cmxye.js} +1 -1
  109. package/dist/assets/{codingBridge-BW6K_uXC.js → codingBridge-Vq-5ENNH.js} +1 -1
  110. package/dist/assets/{codingBridge-DH0d6XC3.js → codingBridge-YP6TW3Qq.js} +1 -1
  111. package/dist/assets/{codingBridge-WPpaQLwZ.js → codingBridge-gOUpOFlR.js} +1 -1
  112. package/dist/assets/codingBridge-xG5wE5em.js +2 -0
  113. package/dist/assets/{codingBridgeNotify-Cl2XgwDs.js → codingBridgeNotify-DS9mt2io.js} +2 -2
  114. package/dist/assets/{coins-CZiC-IqF.js → coins-D216Iik7.js} +1 -1
  115. package/dist/assets/{collapse-C70WFXpl.js → collapse-CyKMpBSO.js} +1 -1
  116. package/dist/assets/{constants-uGTfiXHA.js → constants-2hvvImSC.js} +1 -1
  117. package/dist/assets/{copy-BiXCyJWx.js → copy-DdKiSnyj.js} +1 -1
  118. package/dist/assets/{createTaskActions-_uv4YTWm.js → createTaskActions-CSki7jt7.js} +1 -1
  119. package/dist/assets/{digitalhuman-BT6YqA5d.js → digitalhuman-CDnqtoRD.js} +1 -1
  120. package/dist/assets/{dollar-sign-Dl5qGxJd.js → dollar-sign-CJJ9KMIh.js} +1 -1
  121. package/dist/assets/{download-B_fipmob.js → download-mEZOyZ__.js} +1 -1
  122. package/dist/assets/{drawer-B5OXGnZJ.js → drawer-B967oWkA.js} +1 -1
  123. package/dist/assets/{dropdown-ggPG2EBb.js → dropdown-1OnuYE7Q.js} +1 -1
  124. package/dist/assets/{dropdown-RhhYNGec.js → dropdown-Dxrlw08f.js} +1 -1
  125. package/dist/assets/{ellipsis-B_uQaauC.js → ellipsis-BoFA0oVI.js} +1 -1
  126. package/dist/assets/{esm-B0VriSWb.js → esm-BBWqCWBs.js} +2 -2
  127. package/dist/assets/{esm-BP1jBsIm.js → esm-BNdjhmzi.js} +1 -1
  128. package/dist/assets/esm-B_TELgWs.js +1 -0
  129. package/dist/assets/{esm-CQjiP6eY.js → esm-Bn5JubhC.js} +1 -1
  130. package/dist/assets/{esm-B-0-uPgY.js → esm-C4hw2hOo.js} +1 -1
  131. package/dist/assets/{esm-B-brq88c.js → esm-CwhLOwEC.js} +2 -2
  132. package/dist/assets/{esm-rIkb89oC.js → esm-DswukKxZ.js} +3 -3
  133. package/dist/assets/{external-link-bJHHgl1s.js → external-link-CNfbMkdz.js} +1 -1
  134. package/dist/assets/{eye-CcP5WjAH.js → eye-CVecGM9a.js} +1 -1
  135. package/dist/assets/{file-output-BaHQYHdy.js → file-output-DRHIkSGf.js} +1 -1
  136. package/dist/assets/{file-text-BxeF2BAA.js → file-text-CTdS9HTV.js} +1 -1
  137. package/dist/assets/{fish-DrOtDAKl.js → fish-CFzSLVMm.js} +1 -1
  138. package/dist/assets/{flux-D8V-oAbj.js → flux-Czcbk7Ja.js} +1 -1
  139. package/dist/assets/{folder-C-z01E8c.js → folder-CPBmmDnC.js} +1 -1
  140. package/dist/assets/gauge-r_ho9GXf.js +1 -0
  141. package/dist/assets/{globe-4pXuESga.js → globe-Dwoog6Gz.js} +1 -1
  142. package/dist/assets/{grokvideo-XCNMDWSf.js → grokvideo-yog7uqWL.js} +1 -1
  143. package/dist/assets/{hailuo-K0Tp9fm7.js → hailuo-Dvt3etAB.js} +1 -1
  144. package/dist/assets/{headphones-KrdCsRgz.js → headphones-DD_D19BM.js} +1 -1
  145. package/dist/assets/{history-ePfHX1tr.js → history-CAb6Ll-T.js} +1 -1
  146. package/dist/assets/{house-DWRZAVVr.js → house-BsBsgXVj.js} +1 -1
  147. package/dist/assets/{i18n-CZTrcc0r.js → i18n-1XQc_VWp.js} +1 -1
  148. package/dist/assets/{image-k2xyZ8cu.js → image-BRAYeSih.js} +1 -1
  149. package/dist/assets/{index-MKGzUXII.js → index-GLv5kIa9.js} +6 -6
  150. package/dist/assets/{index.browser.esm-BUr3bvjl.js → index.browser.esm-_IEfytOe.js} +1 -1
  151. package/dist/assets/{index.es-DUXOHrz4.js → index.es-DXi9wQqN.js} +1 -1
  152. package/dist/assets/{info-YAtu1dKC.js → info-CP1ZhEn3.js} +1 -1
  153. package/dist/assets/{input-number-D_opSMz3.js → input-number-DgrBrmN2.js} +1 -1
  154. package/dist/assets/{key-round-CQhEBCcX.js → key-round-DI7-9WgA.js} +1 -1
  155. package/dist/assets/{kling-CqXuHvOJ.js → kling-DGmV-niU.js} +1 -1
  156. package/dist/assets/{languages-DbslC9H8.js → languages-G9PvaixR.js} +1 -1
  157. package/dist/assets/{laptop-Dic5pfMB.js → laptop-DCG2rkxj.js} +1 -1
  158. package/dist/assets/{lightbulb-DR4RN7Nd.js → lightbulb-B5hQuN2h.js} +1 -1
  159. package/dist/assets/{link-DMp0Cp67.js → link-Ck-mMhVu.js} +1 -1
  160. package/dist/assets/loader-circle-CeH365g9.js +1 -0
  161. package/dist/assets/{luma-B-d1M1V7.js → luma-BSIFyjGt.js} +1 -1
  162. package/dist/assets/{maestro-DNEzB65C.js → maestro-BN1c-98o.js} +1 -1
  163. package/dist/assets/maestro-D1tGRu5A.js +1 -0
  164. package/dist/assets/{mail-RqNbQNMp.js → mail-D9BHbKmk.js} +1 -1
  165. package/dist/assets/{message-circle-BkggHPTe.js → message-circle-Dbe-3W8h.js} +1 -1
  166. package/dist/assets/{mic-D-cbsjoP.js → mic-DZfrHEYM.js} +1 -1
  167. package/dist/assets/{midjourney-veOCxFLq.js → midjourney-jC7FjMLG.js} +1 -1
  168. package/dist/assets/{mobileLocalExec-Cojv0IiS.js → mobileLocalExec-Ka4u7it5.js} +2 -2
  169. package/dist/assets/{mouse-pointer-2-Bc2WTGoY.js → mouse-pointer-2-Dae2DYyD.js} +1 -1
  170. package/dist/assets/music-2-Df7Vt8I0.js +1 -0
  171. package/dist/assets/{nanobanana-DhAfrCtP.js → nanobanana-B4HE457o.js} +1 -1
  172. package/dist/assets/{omni-3C9B8qKE.js → omni-BQhUa-5l.js} +1 -1
  173. package/dist/assets/{openaiimage-sZrNqVqC.js → openaiimage-BainEE_u.js} +1 -1
  174. package/dist/assets/{pagination-BPYez0ID.js → pagination-DFHrqt28.js} +1 -1
  175. package/dist/assets/{pagination-BFuo1mCr.js → pagination-jk_DpcrO.js} +1 -1
  176. package/dist/assets/{palette-2TcrDMst.js → palette-DpFFmD9x.js} +1 -1
  177. package/dist/assets/{paperclip-DlEFXZKg.js → paperclip-B4_2IXzw.js} +1 -1
  178. package/dist/assets/{pause-CsX2WxcP.js → pause-Bq71dApP.js} +1 -1
  179. package/dist/assets/{pencil-Do3iIccO.js → pencil-CknnFECs.js} +1 -1
  180. package/dist/assets/{pika-cBO0UPHo.js → pika-DstYgcWL.js} +1 -1
  181. package/dist/assets/{pixverse-B8zLuGjP.js → pixverse-CHoMadlg.js} +1 -1
  182. package/dist/assets/play-BG_RbG6i.js +1 -0
  183. package/dist/assets/plus-CU-gFt6G.js +1 -0
  184. package/dist/assets/{poivelle-CRiyYCPr.js → poivelle-BWVRTqY5.js} +1 -1
  185. package/dist/assets/{popover-CZeNQMZx.js → popover-DadbOYeq.js} +1 -1
  186. package/dist/assets/{producer-CeE6JyW7.js → producer-Di9AAI3v.js} +1 -1
  187. package/dist/assets/{qrart-DfH2lcVj.js → qrart-Bi7Ez8rO.js} +1 -1
  188. package/dist/assets/{realtime-C48lvKKd.js → realtime-Dx90akus.js} +1 -1
  189. package/dist/assets/{refresh-cw-Ds0bzmI7.js → refresh-cw-DV6vDHsM.js} +1 -1
  190. package/dist/assets/rotate-ccw-Dj1BsrO9.js +1 -0
  191. package/dist/assets/rotate-cw-DatjIAY_.js +1 -0
  192. package/dist/assets/{row-DtM2hvVQ.js → row-CP2-Ghys.js} +1 -1
  193. package/dist/assets/search-BUBERvU_.js +1 -0
  194. package/dist/assets/{seedance-CpmIYdk5.js → seedance-CkNkLaal.js} +1 -1
  195. package/dist/assets/{seedream-CMBy0ex-.js → seedream-C1Hzy4aY.js} +1 -1
  196. package/dist/assets/{select-CwNWPYD1.js → select-CxUfZKSs.js} +1 -1
  197. package/dist/assets/{serp-B0qcBD4L.js → serp-Bts0vm_6.js} +1 -1
  198. package/dist/assets/{shield-DK6rgYrD.js → shield-Cbc0peLw.js} +1 -1
  199. package/dist/assets/{shuffle-8TYit0Bz.js → shuffle-BMVButeO.js} +1 -1
  200. package/dist/assets/{slider-CsKtEfni.js → slider-9fhTu4sv.js} +1 -1
  201. package/dist/assets/{sliders-horizontal-CvSCy7k9.js → sliders-horizontal-BWHoagEY.js} +1 -1
  202. package/dist/assets/{solana-wallets-Co6VfCqm.js → solana-wallets-CzytplgL.js} +2 -2
  203. package/dist/assets/{solana-wallets-vue-7elyvYsV.js → solana-wallets-vue-D35CawKg.js} +1 -1
  204. package/dist/assets/{sora-DGViX1zP.js → sora-B-FHUY16.js} +1 -1
  205. package/dist/assets/{sparkles-BogJwLqJ.js → sparkles-80qCoo-J.js} +1 -1
  206. package/dist/assets/square-H3fJ_EdX.js +1 -0
  207. package/dist/assets/{suno-Cp-0qUm4.js → suno-BE3xJFIf.js} +1 -1
  208. package/dist/assets/{switch-DO6PIVP4.js → switch-CnLcQ_Rm.js} +1 -1
  209. package/dist/assets/{table-D8I2WrZf.js → table-CWaSCCJ3.js} +1 -1
  210. package/dist/assets/{tabs-Dr295s3H.js → tabs-CNH7nD1m.js} +1 -1
  211. package/dist/assets/{tag-czaB5qgK.js → tag-CoNBkgy0.js} +1 -1
  212. package/dist/assets/{taskDrawerMixin-DF3OWO8_.js → taskDrawerMixin-B9fczyVy.js} +1 -1
  213. package/dist/assets/terminal-Bx8OCycN.js +1 -0
  214. package/dist/assets/{time-picker-a0Pwooll.js → time-picker-BleyUz5R.js} +1 -1
  215. package/dist/assets/{tooltip-CuE0cdFq.js → tooltip-Bcg6AhED.js} +1 -1
  216. package/dist/assets/{trash-2-DXUqs93W.js → trash-2-Dd5k-Rpm.js} +1 -1
  217. package/dist/assets/{triangle-alert-CBcgaRBT.js → triangle-alert-D5s3cMKx.js} +1 -1
  218. package/dist/assets/{upload-Bgy8PhD5.js → upload-CDCIfwxj.js} +1 -1
  219. package/dist/assets/{upload-D1pzrW4N.js → upload-Clv5mguV.js} +1 -1
  220. package/dist/assets/user-NyNqrDut.js +1 -0
  221. package/dist/assets/{veo-DOlQ6bQH.js → veo-DiXveU6u.js} +1 -1
  222. package/dist/assets/{video-kXWqavS7.js → video-DMPr99PX.js} +1 -1
  223. package/dist/assets/{volume-2-taGlLie8.js → volume-2-dOp5Cm5d.js} +1 -1
  224. package/dist/assets/{wallet-BE5n08Iy.js → wallet-Ky7q6CLp.js} +1 -1
  225. package/dist/assets/{wan-85hH6Z8x.js → wan-BwpqDXCU.js} +1 -1
  226. package/dist/assets/{wand-sparkles-BlI7lFjS.js → wand-sparkles-CSkrz_1S.js} +1 -1
  227. package/dist/assets/{web-8h5-GQTj.js → web-BEIMFLPP.js} +1 -1
  228. package/dist/assets/{web-DSABCk8F.js → web-BW3cmNcU.js} +1 -1
  229. package/dist/assets/{web-B2wqaSGu.js → web-CbLQnW9J.js} +1 -1
  230. package/dist/assets/{web-DiTDBh5i.js → web-D5jDUnDk.js} +1 -1
  231. package/dist/assets/{web-BSZ7n-x1.js → web-GECl-QMF.js} +1 -1
  232. package/dist/assets/{webextrator-CJsLIYyW.js → webextrator-Cs2MIMbW.js} +1 -1
  233. package/dist/assets/{zap-DH_3sRg3.js → zap-Dzn8AihU.js} +1 -1
  234. package/dist/index.html +3 -3
  235. package/package.json +1 -1
  236. package/dist/assets/arrow-down-9NFKm4d1.js +0 -1
  237. package/dist/assets/arrow-left-BavmIv3d.js +0 -1
  238. package/dist/assets/arrow-right-DfUUGgM0.js +0 -1
  239. package/dist/assets/arrow-up-CtCOrdgt.js +0 -1
  240. package/dist/assets/check-Cb0lkXgb.js +0 -1
  241. package/dist/assets/chevron-down-K17USVnF.js +0 -1
  242. package/dist/assets/chevron-right-DYLqk5Zj.js +0 -1
  243. package/dist/assets/circle-check-e33CY79t.js +0 -1
  244. package/dist/assets/clock-BorWVMN0.js +0 -1
  245. package/dist/assets/codingBridge-Dig1RYqB.js +0 -2
  246. package/dist/assets/esm-msmUY8uJ.js +0 -1
  247. package/dist/assets/gauge-YkHlGavM.js +0 -1
  248. package/dist/assets/loader-circle-CAC6z6ku.js +0 -1
  249. package/dist/assets/maestro-IofNyDl9.js +0 -1
  250. package/dist/assets/music-2-Cp1bLztN.js +0 -1
  251. package/dist/assets/play-DHkX77je.js +0 -1
  252. package/dist/assets/plus-B_ldEJ36.js +0 -1
  253. package/dist/assets/rotate-ccw-4-H14mnq.js +0 -1
  254. package/dist/assets/rotate-cw-DhEpxIMD.js +0 -1
  255. package/dist/assets/search-eQcCSM6M.js +0 -1
  256. package/dist/assets/square-x6-dU9wQ.js +0 -1
  257. package/dist/assets/terminal-UcKZqqtX.js +0 -1
  258. package/dist/assets/user-TQLIzTs0.js +0 -1
@@ -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:`Umbenennen`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Gib diesem Gerät einen Namen. Der Name wird mit all deinen angemeldeten Geräten synchronisiert.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Der Name darf nicht leer sein.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Der Name darf höchstens {max} Zeichen lang sein.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Gerät umbenannt.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Gerät konnte nicht umbenannt werden.`,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:`Geräte-ID`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`Sitzungs-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.retry":{message:`Erneut versuchen`,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:`Verlauf`,description:`Open the conversation history drawer`},"history.title":{message:`Konversationsverlauf`,description:`History drawer title`},"history.intro":{message:`Frühere Claude-Code-, Codex- und GitHub-Copilot-Sitzungen auf diesem Gerät.`,description:`History drawer intro`},"history.refresh":{message:`Aktualisieren`,description:`Reload the history list`},"history.loading":{message:`Verlauf wird geladen…`,description:`History loading message`},"history.empty":{message:`Kein Verlauf auf diesem Gerät gefunden.`,description:`Empty history message`},"history.filterAll":{message:`Alle`,description:`Entfernt die Quellenfilter und zeigt alle Sitzungen an.`},"history.filterEmpty":{message:`Unter der aktuellen Filterung gibt es keine Sitzungen.`,description:`Hinweis, dass das Ergebnis nach der Filterung leer ist.`},"history.messages":{message:`{count} Nachrichten`,description:`History item message count`},"history.readonly":{message:`Diese Codex-Konversation ist schreibgeschützt und kann nicht fortgesetzt werden. Starte eine neue Sitzung, um weiterzuarbeiten.`,description:`Read-only replay notice`},"history.running":{message:`Läuft`,description:`Marks a history conversation that is currently live on the device`},"history.resumeHint":{message:`Eine Nachricht setzt diese Konversation auf dem Gerät fort.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Claude-Verlauf`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Codex-Verlauf (schreibgeschützt)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Berechtigungsmodus`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Standard (jedes Mal fragen)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Änderungen automatisch akzeptieren`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Planungsmodus (schreibgeschützt)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Alle Berechtigungen umgehen`,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:`(nicht installiert)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} ist auf diesem Gerät nicht installiert.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Denkaufwand`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Standard`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Niedrig`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Mittel`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Hoch`,description:`Reasoning effort: high`},"session.effortMax":{message:`Maximal`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Arbeitsverzeichnis wählen`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Dieses Verzeichnis verwenden`,description:`Button: select the current directory`},"directory.up":{message:`Übergeordnetes Verzeichnis`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Aktualisieren`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Geben Sie den Pfad ein (z. B. D:\\) und drücken Sie die Eingabetaste`,description:`Platzhalter für das bearbeitbare Eingabefeld des Verzeichnis-Pfads`},"directory.go":{message:`Gehe zu`,description:`Schaltfläche: navigiere zum eingegebenen Verzeichnis-Pfad`},"directory.loading":{message:`Wird geladen…`,description:`Directory listing loading hint`},"directory.empty":{message:`Dieses Verzeichnis ist leer.`,description:`Empty directory hint`},"directory.truncated":{message:`Die ersten 1000 Einträge werden angezeigt.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Bild anhängen`,description:`Attach image button title`},"session.removeImage":{message:`Bild entfernen`,description:`Remove attached image button title`},"session.imageAlt":{message:`Angehängtes Bild`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`Bild ist zu groß; halte jedes unter 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Du kannst bis zu {count} Bilder anhängen.`,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} ist ein interaktiver Befehl und kann in einer Remote-Sitzung nicht ausgeführt werden.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} ist für Codex in einer Remote-Sitzung nicht verfügbar.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Benachrichtigungen aktivieren`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Benachrichtigungen deaktivieren`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Benachrichtigungen aktiviert. Wir melden uns, wenn eine Sitzung eine Freigabe benötigt.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Benachrichtigungen deaktiviert.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Benachrichtigungen sind blockiert. Erlaube sie in deinen Browser-Einstellungen, um Freigabe-Hinweise zu erhalten.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Benachrichtigungen werden auf diesem Gerät nicht unterstützt.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Benachrichtigungseinstellungen konnten nicht aktualisiert werden.`,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:`Umbenennen`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Gib diesem Gerät einen Namen. Der Name wird mit all deinen angemeldeten Geräten synchronisiert.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Der Name darf nicht leer sein.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Der Name darf höchstens {max} Zeichen lang sein.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Gerät umbenannt.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Gerät konnte nicht umbenannt werden.`,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:`Geräte-ID`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`Sitzungs-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.retry":{message:`Erneut versuchen`,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:`Verlauf`,description:`Open the conversation history drawer`},"history.title":{message:`Konversationsverlauf`,description:`History drawer title`},"history.intro":{message:`Frühere Claude-Code-, Codex- und GitHub-Copilot-Sitzungen auf diesem Gerät.`,description:`History drawer intro`},"history.refresh":{message:`Aktualisieren`,description:`Reload the history list`},"history.loading":{message:`Verlauf wird geladen…`,description:`History loading message`},"history.empty":{message:`Kein Verlauf auf diesem Gerät gefunden.`,description:`Empty history message`},"history.filterAll":{message:`Alle`,description:`Entfernt die Quellenfilter und zeigt alle Sitzungen an.`},"history.filterEmpty":{message:`Unter der aktuellen Filterung gibt es keine Sitzungen.`,description:`Hinweis, dass das Ergebnis nach der Filterung leer ist.`},"history.messages":{message:`{count} Nachrichten`,description:`History item message count`},"history.readonly":{message:`Diese Codex-Konversation ist schreibgeschützt und kann nicht fortgesetzt werden. Starte eine neue Sitzung, um weiterzuarbeiten.`,description:`Read-only replay notice`},"history.running":{message:`Läuft`,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:`Eine Nachricht setzt diese Konversation auf dem Gerät fort.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Claude-Verlauf`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Codex-Verlauf (schreibgeschützt)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Berechtigungsmodus`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Standard (jedes Mal fragen)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Änderungen automatisch akzeptieren`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Planungsmodus (schreibgeschützt)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Alle Berechtigungen umgehen`,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:`(nicht installiert)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} ist auf diesem Gerät nicht installiert.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Denkaufwand`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Standard`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Niedrig`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Mittel`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Hoch`,description:`Reasoning effort: high`},"session.effortMax":{message:`Maximal`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Arbeitsverzeichnis wählen`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Dieses Verzeichnis verwenden`,description:`Button: select the current directory`},"directory.up":{message:`Übergeordnetes Verzeichnis`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Aktualisieren`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Geben Sie den Pfad ein (z. B. D:\\) und drücken Sie die Eingabetaste`,description:`Platzhalter für das bearbeitbare Eingabefeld des Verzeichnis-Pfads`},"directory.go":{message:`Gehe zu`,description:`Schaltfläche: navigiere zum eingegebenen Verzeichnis-Pfad`},"directory.loading":{message:`Wird geladen…`,description:`Directory listing loading hint`},"directory.empty":{message:`Dieses Verzeichnis ist leer.`,description:`Empty directory hint`},"directory.truncated":{message:`Die ersten 1000 Einträge werden angezeigt.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Bild anhängen`,description:`Attach image button title`},"session.removeImage":{message:`Bild entfernen`,description:`Remove attached image button title`},"session.imageAlt":{message:`Angehängtes Bild`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`Bild ist zu groß; halte jedes unter 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Du kannst bis zu {count} Bilder anhängen.`,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} ist ein interaktiver Befehl und kann in einer Remote-Sitzung nicht ausgeführt werden.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} ist für Codex in einer Remote-Sitzung nicht verfügbar.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Benachrichtigungen aktivieren`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Benachrichtigungen deaktivieren`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Benachrichtigungen aktiviert. Wir melden uns, wenn eine Sitzung eine Freigabe benötigt.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Benachrichtigungen deaktiviert.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Benachrichtigungen sind blockiert. Erlaube sie in deinen Browser-Einstellungen, um Freigabe-Hinweise zu erhalten.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Benachrichtigungen werden auf diesem Gerät nicht unterstützt.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Benachrichtigungseinstellungen konnten nicht aktualisiert werden.`,description:`Toast when enabling or disabling notifications errors`}};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:`Renomear`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Dê um nome a este dispositivo. O nome é sincronizado com todos os seus dispositivos conectados.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`O nome não pode ficar vazio.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`O nome deve ter no máximo {max} caracteres.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Dispositivo renomeado.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Falha ao renomear o dispositivo.`,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:`ID do dispositivo`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID da sessão`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de rastreamento`,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.retry":{message:`Tentar novamente`,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:`Histórico`,description:`Open the conversation history drawer`},"history.title":{message:`Histórico de conversas`,description:`History drawer title`},"history.intro":{message:`Sessões anteriores do Claude Code, do Codex e do GitHub Copilot neste dispositivo.`,description:`History drawer intro`},"history.refresh":{message:`Atualizar`,description:`Reload the history list`},"history.loading":{message:`Carregando histórico…`,description:`History loading message`},"history.empty":{message:`Nenhum histórico encontrado neste dispositivo.`,description:`Empty history message`},"history.filterAll":{message:`Todos`,description:`Remove os filtros de origem e exibe todas as conversas.`},"history.filterEmpty":{message:`Não há conversas com o filtro atual.`,description:`Mensagem de aviso quando o resultado após o filtro está vazio.`},"history.messages":{message:`{count} mensagens`,description:`History item message count`},"history.readonly":{message:`Esta conversa do Codex é somente leitura e não pode ser continuada. Inicie uma nova sessão para continuar programando.`,description:`Read-only replay notice`},"history.running":{message:`Em execução`,description:`Marks a history conversation that is currently live on the device`},"history.resumeHint":{message:`Enviar uma mensagem retomará esta conversa no dispositivo.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Histórico do Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Histórico do Codex (somente leitura)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Modo de permissões`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Padrão (perguntar sempre)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Aceitar edições automaticamente`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Modo de planejamento (somente leitura)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignorar todas as permissões`,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:`(não instalado)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} não está instalado neste dispositivo.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Esforço de raciocínio`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Padrão`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Baixo`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Médio`,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:`Escolher diretório de trabalho`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Usar este diretório`,description:`Button: select the current directory`},"directory.up":{message:`Diretório pai`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Atualizar`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Digite o caminho (como D:\\) e pressione Enter`,description:`Texto de espaço reservado para o campo de entrada do caminho do diretório editável`},"directory.go":{message:`Ir`,description:`Botão: navegar para o caminho do diretório digitado`},"directory.loading":{message:`A carregar…`,description:`Directory listing loading hint`},"directory.empty":{message:`Este diretório está vazio.`,description:`Empty directory hint`},"directory.truncated":{message:`A mostrar as primeiras 1000 entradas.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Anexar imagem`,description:`Attach image button title`},"session.removeImage":{message:`Remover imagem`,description:`Remove attached image button title`},"session.imageAlt":{message:`Imagem anexada`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`A imagem é muito grande; mantenha cada uma abaixo de 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Você pode anexar até {count} imagens.`,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} é um comando interativo e não pode ser executado numa sessão remota.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} não está disponível para o Codex numa sessão remota.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Ativar notificações`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Desativar notificações`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notificações ativadas. Avisaremos quando uma sessão precisar de aprovação.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notificações desativadas.`,description:`Toast after disabling notifications`},"notify.denied":{message:`As notificações estão bloqueadas. Permita-as nas configurações do navegador para receber alertas de aprovação.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`As notificações não são compatíveis com este dispositivo.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Não foi possível atualizar as configurações de notificação.`,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:`Renomear`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Dê um nome a este dispositivo. O nome é sincronizado com todos os seus dispositivos conectados.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`O nome não pode ficar vazio.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`O nome deve ter no máximo {max} caracteres.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Dispositivo renomeado.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Falha ao renomear o dispositivo.`,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:`ID do dispositivo`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID da sessão`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de rastreamento`,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.retry":{message:`Tentar novamente`,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:`Histórico`,description:`Open the conversation history drawer`},"history.title":{message:`Histórico de conversas`,description:`History drawer title`},"history.intro":{message:`Sessões anteriores do Claude Code, do Codex e do GitHub Copilot neste dispositivo.`,description:`History drawer intro`},"history.refresh":{message:`Atualizar`,description:`Reload the history list`},"history.loading":{message:`Carregando histórico…`,description:`History loading message`},"history.empty":{message:`Nenhum histórico encontrado neste dispositivo.`,description:`Empty history message`},"history.filterAll":{message:`Todos`,description:`Remove os filtros de origem e exibe todas as conversas.`},"history.filterEmpty":{message:`Não há conversas com o filtro atual.`,description:`Mensagem de aviso quando o resultado após o filtro está vazio.`},"history.messages":{message:`{count} mensagens`,description:`History item message count`},"history.readonly":{message:`Esta conversa do Codex é somente leitura e não pode ser continuada. Inicie uma nova sessão para continuar programando.`,description:`Read-only replay notice`},"history.running":{message:`Em execução`,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:`Enviar uma mensagem retomará esta conversa no dispositivo.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Histórico do Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Histórico do Codex (somente leitura)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Modo de permissões`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Padrão (perguntar sempre)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Aceitar edições automaticamente`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Modo de planejamento (somente leitura)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignorar todas as permissões`,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:`(não instalado)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} não está instalado neste dispositivo.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Esforço de raciocínio`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Padrão`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Baixo`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Médio`,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:`Escolher diretório de trabalho`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Usar este diretório`,description:`Button: select the current directory`},"directory.up":{message:`Diretório pai`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Atualizar`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Digite o caminho (como D:\\) e pressione Enter`,description:`Texto de espaço reservado para o campo de entrada do caminho do diretório editável`},"directory.go":{message:`Ir`,description:`Botão: navegar para o caminho do diretório digitado`},"directory.loading":{message:`A carregar…`,description:`Directory listing loading hint`},"directory.empty":{message:`Este diretório está vazio.`,description:`Empty directory hint`},"directory.truncated":{message:`A mostrar as primeiras 1000 entradas.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Anexar imagem`,description:`Attach image button title`},"session.removeImage":{message:`Remover imagem`,description:`Remove attached image button title`},"session.imageAlt":{message:`Imagem anexada`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`A imagem é muito grande; mantenha cada uma abaixo de 12 MB.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Você pode anexar até {count} imagens.`,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} é um comando interativo e não pode ser executado numa sessão remota.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} não está disponível para o Codex numa sessão remota.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Ativar notificações`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Desativar notificações`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notificações ativadas. Avisaremos quando uma sessão precisar de aprovação.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notificações desativadas.`,description:`Toast after disabling notifications`},"notify.denied":{message:`As notificações estão bloqueadas. Permita-as nas configurações do navegador para receber alertas de aprovação.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`As notificações não são compatíveis com este dispositivo.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Não foi possível atualizar as configurações de notificação.`,description:`Toast when enabling or disabling notifications errors`}};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:`Μετονομασία`,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:`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:`Αναγνωριστικό συσκευής`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`Αναγνωριστικό συνεδρίας`,description:`Diagnostic label for the session id`},"session.traceId":{message:`Αναγνωριστικό ίχνους`,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.retry":{message:`Επανάληψη`,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:`Ιστορικό`,description:`Open the conversation history drawer`},"history.title":{message:`Ιστορικό συνομιλιών`,description:`History drawer title`},"history.intro":{message:`Προηγούμενες συνεδρίες Claude Code, Codex και GitHub Copilot σε αυτή τη συσκευή.`,description:`History drawer intro`},"history.refresh":{message:`Ανανέωση`,description:`Reload the history list`},"history.loading":{message:`Φόρτωση ιστορικού…`,description:`History loading message`},"history.empty":{message:`Δεν βρέθηκε ιστορικό σε αυτή τη συσκευή.`,description:`Empty history message`},"history.filterAll":{message:`Όλα`,description:`Καθαρίζει τα φίλτρα προέλευσης και εμφανίζει όλες τις συνομιλίες.`},"history.filterEmpty":{message:`Δεν υπάρχουν συνομιλίες με την τρέχουσα επιλογή.`,description:`Μήνυμα που υποδεικνύει ότι τα αποτελέσματα είναι κενά μετά την εφαρμογή φίλτρων.`},"history.messages":{message:`{count} μηνύματα`,description:`History item message count`},"history.readonly":{message:`Αυτή η συνομιλία Codex είναι μόνο για ανάγνωση και δεν μπορεί να συνεχιστεί. Ξεκινήστε νέα συνεδρία για να συνεχίσετε.`,description:`Read-only replay notice`},"history.running":{message:`Σε εκτέλεση`,description:`Marks a history conversation that is currently live on the device`},"history.resumeHint":{message:`Η αποστολή μηνύματος θα συνεχίσει αυτή τη συνομιλία στη συσκευή.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Ιστορικό Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Ιστορικό Codex (μόνο για ανάγνωση)`,description:`Replayed Codex session label`},"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:\\) και πατήστε Enter`,description:`Placeholder για την επεξεργάσιμη είσοδο διαδρομής φακέλου`},"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:`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} είναι διαδραστική εντολή και δεν μπορεί να εκτελεστεί σε απομακρυσμένη συνεδρία.`,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:`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:`Μετονομασία`,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:`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:`Αναγνωριστικό συσκευής`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`Αναγνωριστικό συνεδρίας`,description:`Diagnostic label for the session id`},"session.traceId":{message:`Αναγνωριστικό ίχνους`,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.retry":{message:`Επανάληψη`,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:`Ιστορικό`,description:`Open the conversation history drawer`},"history.title":{message:`Ιστορικό συνομιλιών`,description:`History drawer title`},"history.intro":{message:`Προηγούμενες συνεδρίες Claude Code, Codex και GitHub Copilot σε αυτή τη συσκευή.`,description:`History drawer intro`},"history.refresh":{message:`Ανανέωση`,description:`Reload the history list`},"history.loading":{message:`Φόρτωση ιστορικού…`,description:`History loading message`},"history.empty":{message:`Δεν βρέθηκε ιστορικό σε αυτή τη συσκευή.`,description:`Empty history message`},"history.filterAll":{message:`Όλα`,description:`Καθαρίζει τα φίλτρα προέλευσης και εμφανίζει όλες τις συνομιλίες.`},"history.filterEmpty":{message:`Δεν υπάρχουν συνομιλίες με την τρέχουσα επιλογή.`,description:`Μήνυμα που υποδεικνύει ότι τα αποτελέσματα είναι κενά μετά την εφαρμογή φίλτρων.`},"history.messages":{message:`{count} μηνύματα`,description:`History item message count`},"history.readonly":{message:`Αυτή η συνομιλία Codex είναι μόνο για ανάγνωση και δεν μπορεί να συνεχιστεί. Ξεκινήστε νέα συνεδρία για να συνεχίσετε.`,description:`Read-only replay notice`},"history.running":{message:`Σε εκτέλεση`,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:`Η αποστολή μηνύματος θα συνεχίσει αυτή τη συνομιλία στη συσκευή.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Ιστορικό Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Ιστορικό Codex (μόνο για ανάγνωση)`,description:`Replayed Codex session label`},"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:\\) και πατήστε Enter`,description:`Placeholder για την επεξεργάσιμη είσοδο διαδρομής φακέλου`},"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:`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} είναι διαδραστική εντολή και δεν μπορεί να εκτελεστεί σε απομακρυσμένη συνεδρία.`,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 +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.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.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.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 +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:`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:`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:`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:`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.retry":{message:`Reintentar`,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:`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.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:`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:`(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:`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} 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:`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:`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:`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:`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:`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.retry":{message:`Reintentar`,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:`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:`Unread`,description:`Marks a finished history conversation the user has not opened yet`},"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:`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:`(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:`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} 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 +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.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.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.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 +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:`이름 변경`,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:`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:`기기 ID`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`세션 ID`,description:`Diagnostic label for the session id`},"session.traceId":{message:`추적 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.retry":{message:`다시 시도`,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:`기록`,description:`Open the conversation history drawer`},"history.title":{message:`대화 기록`,description:`History drawer title`},"history.intro":{message:`이 기기의 이전 Claude Code, Codex 및 GitHub Copilot 세션입니다.`,description:`History drawer intro`},"history.refresh":{message:`새로 고침`,description:`Reload the history list`},"history.loading":{message:`기록을 불러오는 중…`,description:`History loading message`},"history.empty":{message:`이 기기에서 기록을 찾을 수 없습니다.`,description:`Empty history message`},"history.filterAll":{message:`모두`,description:`소스 필터를 지우고 모든 대화를 표시합니다.`},"history.filterEmpty":{message:`현재 필터링된 결과에 대화가 없습니다.`,description:`필터링 후 결과가 비어있음을 알리는 메시지입니다.`},"history.messages":{message:`메시지 {count}개`,description:`History item message count`},"history.readonly":{message:`이 Codex 대화는 읽기 전용이라 이어갈 수 없습니다. 계속 코딩하려면 새 세션을 시작하세요.`,description:`Read-only replay notice`},"history.running":{message:`실행 중`,description:`Marks a history conversation that is currently live on the device`},"history.resumeHint":{message:`메시지를 보내면 기기에서 이 대화가 다시 시작됩니다.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Claude 기록`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Codex 기록 (읽기 전용)`,description:`Replayed Codex session label`},"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:`이미지가 너무 큽니다. 각 이미지를 12MB 이하로 유지하세요.`,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:`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} 은(는) 대화형 명령이라 원격 세션에서는 실행할 수 없습니다.`,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:`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:`이름 변경`,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:`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:`기기 ID`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`세션 ID`,description:`Diagnostic label for the session id`},"session.traceId":{message:`추적 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.retry":{message:`다시 시도`,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:`기록`,description:`Open the conversation history drawer`},"history.title":{message:`대화 기록`,description:`History drawer title`},"history.intro":{message:`이 기기의 이전 Claude Code, Codex 및 GitHub Copilot 세션입니다.`,description:`History drawer intro`},"history.refresh":{message:`새로 고침`,description:`Reload the history list`},"history.loading":{message:`기록을 불러오는 중…`,description:`History loading message`},"history.empty":{message:`이 기기에서 기록을 찾을 수 없습니다.`,description:`Empty history message`},"history.filterAll":{message:`모두`,description:`소스 필터를 지우고 모든 대화를 표시합니다.`},"history.filterEmpty":{message:`현재 필터링된 결과에 대화가 없습니다.`,description:`필터링 후 결과가 비어있음을 알리는 메시지입니다.`},"history.messages":{message:`메시지 {count}개`,description:`History item message count`},"history.readonly":{message:`이 Codex 대화는 읽기 전용이라 이어갈 수 없습니다. 계속 코딩하려면 새 세션을 시작하세요.`,description:`Read-only replay notice`},"history.running":{message:`실행 중`,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:`메시지를 보내면 기기에서 이 대화가 다시 시작됩니다.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Claude 기록`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Codex 기록 (읽기 전용)`,description:`Replayed Codex session label`},"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:`이미지가 너무 큽니다. 각 이미지를 12MB 이하로 유지하세요.`,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:`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} 은(는) 대화형 명령이라 원격 세션에서는 실행할 수 없습니다.`,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};
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,U as g,V as _,W as v,_ as y,a as b,b as x,c as S,d as C,f as w,g as ee,h as te,i as ne,j as re,k as ie,l as ae,m as oe,n as se,o as ce,p as T,r as E,s as D,t as O,u as k,ua as A,v as j,w as M,x as N,y as P,z as F}from"./constants-2hvvImSC.js";import{_n as I,ai as L,fi as R,hi as z,xr as B}from"./index-GLv5kIa9.js";import{a as V,i as H,n as U,o as W,r as le}from"./codingBridgeNotify-DS9mt2io.js";var ue=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,de=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},G=(e,t)=>{if(!de())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})},fe=class{ws;token;handlers;reconnectDelay=v;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}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=`${A}?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=v,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 n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(G(`recv`,n),n?.type){case o:this.handlers.onEvent?.(r,n?.from_node);break;case F:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case _:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case t: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,g)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:ue(),ts:Date.now(),type:e,...t};G(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(ee,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(oe,{})}resume(e){this.sendEnvelope(te,{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}}},K,q=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,J=(e,t,n)=>({id:q(),session_id:e,kind:t,ts:Date.now(),...n}),Y=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},pe=e=>{let t=Y(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
+ `)},me=(e,t)=>{U({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)})},he=(t,o,g,_,v)=>{let y=_?.event,b=_?.session_id,S=_?.trace_id,C=_?.seq;if(typeof C==`number`&&b){let e=g.lastSeq[b];if(e!==void 0&&C<=e)return;t(`setLastSeq`,{session_id:b,seq:C})}switch(b&&S&&t(`updateSession`,{session_id:b,trace_id:S}),y){case l:t(`upsertSession`,{session_id:b,node_id:v,status:`running`,cwd:_.cwd,model:_.model,..._.effort===void 0?{}:{effort:_.effort},..._.permission_mode===void 0?{}:{permission_mode:_.permission_mode},trace_id:S});break;case d:{let e=_.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case a:{let e=_.id;e&&g.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:_.text??``}):t(`appendEvent`,J(b,`text`,{text:_.text??``,stream_id:e,streaming:!0,trace_id:S}));break}case f:{let e=_.id;e&&g.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:_.text}):t(`appendEvent`,J(b,`text`,{text:_.text,trace_id:S}));break}case s:t(`appendEvent`,J(b,`thinking`,{text:_.text,trace_id:S}));break;case p:t(`appendEvent`,J(b,`tool_use`,{tool:_.tool,tool_use_id:_.tool_use_id,input:_.input,trace_id:S}));break;case c:t(`appendEvent`,J(b,`tool_result`,{tool_use_id:_.tool_use_id,content:_.content,is_error:_.is_error,trace_id:S}));break;case n:t(`addPermission`,{request_id:_.request_id,session_id:b,node_id:v,tool:_.tool,input:_.input,title:_.title,display_name:_.display_name,description:_.description}),me(o,{node_id:v,session_id:b,request_id:_.request_id,tool:_.display_name||_.title||_.tool});break;case m:for(let e of _.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:v,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case M:t(`removePermission`,_.request_id);break;case e:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`result`,{subtype:_.subtype,is_error:_.is_error,text:_.result,cost_usd:_.cost_usd,cut_uuid:_.cut_uuid,sdk_session_id:_.sdk_session_id,trace_id:S})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:_.cost_usd});break;case ie:t(`appendEvent`,J(b,`notice`,{text:_.text,subtype:_.code,command:_.command,level:_.level}));break;case r:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`error`,{text:_.message,trace_id:S})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`});break;case re:t(`rewindToCut`,{session_id:b,cut_uuid:_.cut_uuid}),_.prompt&&t(`appendEvent`,J(b,`prompt`,{text:_.prompt,trace_id:S})),t(`updateSession`,{session_id:b,status:`running`});break;case u:o(`resyncSession`,b);break;case h:for(let e of _.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:v,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case N:if(v){t(`setHistory`,{node_id:v,sessions:_.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:L.Success});let e=g.historyRef;e&&e.node_id===v&&!g.currentSessionId&&o(`reattachSession`,e)}break;case x:ge(t,g,_,v),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case P:t(`setDirectory`,{path:_.path,parent:_.parent??null,sep:_.sep??`/`,entries:_.entries??[],truncated:_.truncated,error:_.error});break;case j:v&&t(`setCapabilities`,{node_id:v,capabilities:{providers:_.providers??[]}});break;default:break}},ge=(e,t,n,r)=>{let i=n?.session_id,a=X(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]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.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 u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:q(),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})},X=e=>e===`codex`||e===`copilot`?e:`claude`,Z=0,Q=new Map,_e=({commit:e})=>{Q.clear(),e(`resetAll`)},ve=async()=>{},ye=async()=>{},be=(e,t,n)=>{e(`setNodeName`,{node_id:t,name:n})},$={namespaced:!0,state:B,mutations:{resetAll:e=>{Object.assign(e,B())},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)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],e.lastSeq[r]=0;for(let t of e.permissions)t.session_id===n&&(t.session_id=r);e.currentSessionId===n&&(e.currentSessionId=r),e.historyRef?.session_id===n&&(e.historyRef={...e.historyRef,session_id:r})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(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)=>{let n=e.events[t.session_id];if(!n)return;if(!t.cut_uuid){e.events[t.session_id]=[];return}let r=n.findIndex(e=>e.kind===`result`&&e.cut_uuid===t.cut_uuid);r>=0&&(e.events[t.session_id]=n.slice(0,r+1))},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},appendDelta:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(r.text=(r.text??``)+(t.text??``))},finalizeStream:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(typeof t.text==`string`&&(r.text=t.text),r.streaming=!1)},finalizeAllStreams:(e,t)=>{let n=e.events[t.session_id];if(n)for(let e of n)e.streaming&&=!1},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],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:_e,getApplications:ve,setApplication:ye,getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:L.Request});let r=Z;try{let{data:t}=await I.getNodes({token:n}),i=(t.nodes??[]).map(e=>{let t=Q.get(e.node_id);return t&&t.at>r?{...e,name:t.name}:e});return e(`setNodes`,i),e(`updateStatus`,{key:`getNodes`,value:L.Success}),i}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:L.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:L.Request});try{let{data:n}=await I.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:L.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:L.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:L.Request});try{await I.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:L.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:L.Error}),t}},renameNode:async({commit:e,rootState:t},n)=>{let r=t.token?.access;if(!r)throw Error(`not authenticated`);let i=n.name.trim();if(!i)throw Error(`name must not be empty`);e(`updateStatus`,{key:`renameNode`,value:L.Request});try{let{data:t}=await I.renameNode(n.nodeId,i,{token:r}),a=t?.name??i;Q.size>=50&&Q.clear(),Q.set(n.nodeId,{name:a,at:++Z}),e(`setNodeName`,{node_id:n.nodeId,name:a}),e(`updateStatus`,{key:`renameNode`,value:L.Success})}catch(t){throw e(`updateStatus`,{key:`renameNode`,value:L.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(K?.isOpen||(K?.close(),e(`setConnection`,`connecting`),K=new fe(i,{onOpen:()=>{e(`setConnection`,`connected`);let r={...n.lastSeq};Object.keys(r).length&&K?.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)=>he(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)=>{be(e,t,n)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),K.connect()))},disconnect:({commit:e})=>{K?.close(),K=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||!K||K.sendToNode(n,{action:S})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:ce})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(z()){let t=await le(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await I.savePushSubscription({kind:R()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await H();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await I.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await V(e.vapid_public_key);t&&await I.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(z()||!t)return;let n=await W();if(n)try{await I.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||!K||!i&&!a&&!o)return;let s=q(),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=q(),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`,J(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),K.sendToNode(r,{action:T,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||`bypassPermissions`,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`,J(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}}),K.sendToNode(r,{action:w,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||!K||!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=q();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`,J(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),K.sendToNode(r,{action:k,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||!K||K.sendToNode(n,{action:C,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&&K&&K.sendToNode(i,{action:ae,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&&(K?.sendToNode(r.node_id,{action:D,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&&(K?.sendToNode(r.node_id,{action:D,request_id:n.request_id,decision:`allow`,answer:Y(n.output),answer_text:pe(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!K||(e(`updateStatus`,{key:`getHistory`,value:L.Request}),K.sendToNode(r,{action:ne,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!K||(e(`updateStatus`,{key:`getHistoryDetail`,value:L.Request}),K.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:L.Success}),12e3))},markHistoryRead:(e,t)=>{!t?.node_id||!t?.session_id||!t?.provider||!K||K.sendToNode(t.node_id,{action:b,provider:t.provider,session_id:t.session_id,updated_at:t.updated_at,limit:200})},reattachSession:({state:e,commit:t,dispatch:n},r)=>{!r?.node_id||!r?.session_id||(t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id),K?.resume({[r.session_id]:e.lastSeq[r.session_id]??0}))},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||!K||(e(`setDirectoryLoading`,!0),K.sendToNode(r,{action:se,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:O})}}};export{$ as codingBridge,$ as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-B-brq88c.js","assets/index-MKGzUXII.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-CZTrcc0r.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-r4dlLNqm.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/runtime-BTM7t9of.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-9DurtVZO.js","assets/aria-8oQuUBWy.js","assets/scroll-BLZONOev.js","assets/vnode-Djvrzqbc.js","assets/vendor-vue-router-Cnr45FPb.js","assets/constants-uGTfiXHA.js","assets/index-B96mS-VB.css","assets/esm-msmUY8uJ.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{hi as t}from"./index-MKGzUXII.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-B-brq88c.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-msmUY8uJ.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CwhLOwEC.js","assets/index-GLv5kIa9.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-1XQc_VWp.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-r4dlLNqm.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/runtime-BTM7t9of.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-9DurtVZO.js","assets/aria-8oQuUBWy.js","assets/scroll-BLZONOev.js","assets/vnode-Djvrzqbc.js","assets/vendor-vue-router-Cnr45FPb.js","assets/constants-2hvvImSC.js","assets/index-B96mS-VB.css","assets/esm-B_TELgWs.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{hi as t}from"./index-GLv5kIa9.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-CwhLOwEC.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-B_TELgWs.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
@@ -1 +1 @@
1
- import{yi as e}from"./index-MKGzUXII.js";var t=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]);export{t};
1
+ import{yi as e}from"./index-GLv5kIa9.js";var t=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]);export{t};