@acedatacloud/nexior 3.338.0 → 3.339.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/dist/assets/{ApiCodeButton-CTle9bre.js → ApiCodeButton-CkM0nK72.js} +1 -1
  2. package/dist/assets/{Artifacts-DoAZKkkV.js → Artifacts-DS6fbMlE.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-D-xhKttZ.js → AskUserQuestionCard-ClPJXtcz.js} +1 -1
  4. package/dist/assets/{AudioPreview-LaDbl_Bv.js → AudioPreview-DFzFcjCr.js} +1 -1
  5. package/dist/assets/{Auth-BLUuTSLC.js → Auth-euGTIpm6.js} +1 -1
  6. package/dist/assets/{Bare-Dh9OkJVc.js → Bare-Df2t-M3n.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-C994PBdy.js → BotPlaceholder-D4gOMQjG.js} +1 -1
  8. package/dist/assets/{BottomFooter-1aZe8OEf.js → BottomFooter-BcrKS5Zi.js} +1 -1
  9. package/dist/assets/{Callback-m614J2RD.js → Callback-LQfJCE_X.js} +1 -1
  10. package/dist/assets/{CodeSnippet--rPwjXW-.js → CodeSnippet-CDiJoaYx.js} +1 -1
  11. package/dist/assets/{Console-t0B6GaI_.js → Console-CvB3B3mI.js} +1 -1
  12. package/dist/assets/{Consumption-CUPnmgTp.js → Consumption-CGUzUXdy.js} +1 -1
  13. package/dist/assets/{Conversation-BXGnN4oo.js → Conversation-CK85E2Mg.js} +1 -1
  14. package/dist/assets/{Conversation-t5GfgzVY.js → Conversation-DkmENQGa.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-CkEZ1WSu.js → CopyToClipboard-DkvN0ug5.js} +1 -1
  16. package/dist/assets/{Detail-BZuLeXMV.js → Detail-BlSE7B_R.js} +2 -2
  17. package/dist/assets/{Extra-DexhG5WH.js → Extra-CmslvJrJ.js} +1 -1
  18. package/dist/assets/{FilePreview-Dnv1_XtR.js → FilePreview-BRt8rCBT.js} +1 -1
  19. package/dist/assets/{Hailuo-C8mP0oUb.js → Hailuo-kuWkRUOK.js} +1 -1
  20. package/dist/assets/{History-Bg1Ky_pd.js → History-Bbo_x4s-.js} +1 -1
  21. package/dist/assets/{ImagePreview-kJ792Srm.js → ImagePreview-D6hzVct7.js} +1 -1
  22. package/dist/assets/{ImageWrapper-CzAFaA6v.js → ImageWrapper-CLgEMJJl.js} +1 -1
  23. package/dist/assets/{Index-75aS5COQ.js → Index--kE2-ity.js} +1 -1
  24. package/dist/assets/{Index-BpMSaMnq.js → Index-3MmANfb1.js} +1 -1
  25. package/dist/assets/{Index-BJNPIlQe.js → Index-B-VqC22d.js} +1 -1
  26. package/dist/assets/{Index-COH6Khm8.js → Index-B23h_h8t.js} +1 -1
  27. package/dist/assets/{Index-9_RGboJD2.js → Index-BNvmd4EW2.js} +1 -1
  28. package/dist/assets/{Index-CEIRz6Ep2.js → Index-BbMK3mL42.js} +1 -1
  29. package/dist/assets/{Index-Dvm9_A6y2.js → Index-BiUOuAqW2.js} +1 -1
  30. package/dist/assets/{Index-DThp2kwQ.js → Index-Bn4f3PCp.js} +1 -1
  31. package/dist/assets/{Index-BzbBRJf_.js → Index-Bq0uFYoQ.js} +1 -1
  32. package/dist/assets/{Index-Cxu2raRb.js → Index-BwcxlAaN.js} +1 -1
  33. package/dist/assets/{Index-Cqh_pYS62.js → Index-ByIRGvyU2.js} +1 -1
  34. package/dist/assets/{Index-CRAiuUiB.js → Index-C8TKcfjo.js} +1 -1
  35. package/dist/assets/{Index-BjemFv8P.js → Index-CCgpULFS.js} +1 -1
  36. package/dist/assets/{Index-B8I_9QLT.js → Index-CR5icC2x.js} +1 -1
  37. package/dist/assets/{Index-jH5LwHvb2.js → Index-CpOruj-I2.js} +1 -1
  38. package/dist/assets/Index-Ct406vcg.js +1 -0
  39. package/dist/assets/{Index-BY9GQXCX.js → Index-Cvzv0rxS.js} +1 -1
  40. package/dist/assets/{Index-0QPMCd9C2.js → Index-CxreD-7V2.js} +1 -1
  41. package/dist/assets/{Index-CrOunPIO2.js → Index-D2iNN_M82.js} +1 -1
  42. package/dist/assets/{Index-DR-PH-pJ.js → Index-DX3-Z9cm.js} +1 -1
  43. package/dist/assets/{Index-B7PoWFzq.js → Index-DdQoVWZi.js} +1 -1
  44. package/dist/assets/{Index-Cepshnpc.js → Index-De3-YyxW.js} +1 -1
  45. package/dist/assets/{Index-bS5Hr5ai.js → Index-DlP1jnYL.js} +1 -1
  46. package/dist/assets/{Index-H8b44feN.js → Index-HUElyXn0.js} +1 -1
  47. package/dist/assets/{Index-DdaJKH28.js → Index-KkEoVEmK.js} +1 -1
  48. package/dist/assets/Index-XG6ohfmJ.css +1 -0
  49. package/dist/assets/{Index-84cfysls.js → Index-a-N6PHbh.js} +1 -1
  50. package/dist/assets/{Index-C3ZrausJ.js → Index-gYF7TnxL.js} +1 -1
  51. package/dist/assets/{Index-pXp8YHuA.js → Index-i4DgYnRA.js} +1 -1
  52. package/dist/assets/{Index-Cfj8FuA5.js → Index-pkFlLz2B.js} +1 -1
  53. package/dist/assets/{Index-C_NcUVuf.js → Index-uEhYg2hb.js} +1 -1
  54. package/dist/assets/{Invitees-DtCXamRe.js → Invitees-DKi50m8r.js} +1 -1
  55. package/dist/assets/{List-C63KGjFp.js → List-2KskSv3u.js} +1 -1
  56. package/dist/assets/{List-DAQlsvrK.js → List-2whyW1sv.js} +1 -1
  57. package/dist/assets/{List-G10UCTYA.js → List-Pu5Gd_Qm.js} +1 -1
  58. package/dist/assets/{LocalTools-QKFcZWG6.js → LocalTools-B1LWMpb_.js} +1 -1
  59. package/dist/assets/{LocalTools-BooGXMAJ.js → LocalTools-BJMzNzr8.js} +1 -1
  60. package/dist/assets/{Main-DUGciarb.js → Main-BS6CBTnV.js} +1 -1
  61. package/dist/assets/{Message-BIB2ljb_.js → Message-CA--Drnw.js} +2 -2
  62. package/dist/assets/{Model-CSCG3-Ej.js → Model-C13FZdu0.js} +1 -1
  63. package/dist/assets/{Navigator-BwFate2l.js → Navigator-CGNmLz0n.js} +3 -3
  64. package/dist/assets/{NotFound-2sgIl2Wo.js → NotFound-DpvaZ46V.js} +1 -1
  65. package/dist/assets/{Pay-B1yJC_7q.js → Pay-CqzF5dNu.js} +1 -1
  66. package/dist/assets/{Player-lFpzv8yt.js → Player-3Aog58bz.js} +1 -1
  67. package/dist/assets/{Poivelle-CRECqflf.js → Poivelle-CRsK61ZN.js} +1 -1
  68. package/dist/assets/{PromptTextarea-lj2zXfhX.js → PromptTextarea-C56bhHTR.js} +1 -1
  69. package/dist/assets/{RealtimeCall-DbrLxHsf.js → RealtimeCall-tJEIwOwL.js} +1 -1
  70. package/dist/assets/{ScheduledTasks-DOLAvSo5.js → ScheduledTasks-Dir7KQE9.js} +1 -1
  71. package/dist/assets/{Status-C64Bc7Do.js → Status-1ad6OXzj.js} +1 -1
  72. package/dist/assets/{Subscribe-CNVBoVsj.js → Subscribe-DDWgmUy1.js} +1 -1
  73. package/dist/assets/{TabSwitcher-CnYpg4Rb.js → TabSwitcher-Cs_kPZYG.js} +1 -1
  74. package/dist/assets/{Tts-CQsNbocD.js → Tts-Bf1PmRF7.js} +1 -1
  75. package/dist/assets/{VideoPlayer-DJz4jefB.js → VideoPlayer-BEg9PHIa.js} +1 -1
  76. package/dist/assets/{alert-BswSqJgE.js → alert-B3fkwmi_.js} +1 -1
  77. package/dist/assets/arrow-down-Sm7s7IIT.js +1 -0
  78. package/dist/assets/{arrow-down-wide-narrow-B7DoMh2e.js → arrow-down-wide-narrow-DOlLZOzE.js} +1 -1
  79. package/dist/assets/arrow-left-Cpc0pmeK.js +1 -0
  80. package/dist/assets/arrow-right-BisLvjok.js +1 -0
  81. package/dist/assets/arrow-up-CUmFX8Wr.js +1 -0
  82. package/dist/assets/{avatar-cDWTRTkM.js → avatar-CeIgyvkc.js} +1 -1
  83. package/dist/assets/{basic-CrwfgSNU.js → basic-CH5q8hpV.js} +1 -1
  84. package/dist/assets/{box-D_oMiT-I.js → box-D8Vb978l.js} +1 -1
  85. package/dist/assets/{boxes-2yG6g_A_.js → boxes-3zaG-Mil.js} +1 -1
  86. package/dist/assets/{brain-CTR6fBYN.js → brain-D8uxeTlC.js} +1 -1
  87. package/dist/assets/{chart-no-axes-combined-C7FAfWgS.js → chart-no-axes-combined-C12FhP49.js} +1 -1
  88. package/dist/assets/{chat-DO4Zs9IJ.js → chat-CAY8wIIG.js} +1 -1
  89. package/dist/assets/check-DiJNmwu0.js +1 -0
  90. package/dist/assets/chevron-down-CALXpR4g.js +1 -0
  91. package/dist/assets/chevron-right-D8QgyTSe.js +1 -0
  92. package/dist/assets/circle-check-DAPHKJhw.js +1 -0
  93. package/dist/assets/clock-i2EK0vEv.js +1 -0
  94. package/dist/assets/{codingBridge-eOndKd-G.js → codingBridge-79OVpxfm.js} +1 -1
  95. package/dist/assets/{codingBridge-D-lbLQuh.js → codingBridge-B4WiK8s4.js} +1 -1
  96. package/dist/assets/{codingBridge-DHhhfUMz.js → codingBridge-BBqD0mY_.js} +1 -1
  97. package/dist/assets/{codingBridge-Dc2fB6eG.js → codingBridge-BDEy322x.js} +1 -1
  98. package/dist/assets/{codingBridge-DBLmSNA3.js → codingBridge-BU35PDfQ.js} +1 -1
  99. package/dist/assets/{codingBridge-36v0mVKy.js → codingBridge-BiRb6HPN.js} +1 -1
  100. package/dist/assets/codingBridge-C47BZlU-.js +1 -0
  101. package/dist/assets/{codingBridge-CGyqSucO.js → codingBridge-CNp-6naF.js} +1 -1
  102. package/dist/assets/{codingBridge-Yijd421C.js → codingBridge-CmL3Vmf1.js} +1 -1
  103. package/dist/assets/{codingBridge-CNp9Pue0.js → codingBridge-Cvcb8cCx.js} +1 -1
  104. package/dist/assets/{codingBridge-BNvMs7zf.js → codingBridge-CvkyeYFh.js} +1 -1
  105. package/dist/assets/codingBridge-D6B0ckAI.js +1 -0
  106. package/dist/assets/codingBridge-Dmz_0xAe.js +2 -0
  107. package/dist/assets/{codingBridge-D0Xv7i2-.js → codingBridge-RNk2BFt1.js} +1 -1
  108. package/dist/assets/{codingBridge-BFxIQ7yO.js → codingBridge-SiELI0Z0.js} +1 -1
  109. package/dist/assets/{codingBridge-BeOOl08u.js → codingBridge-YfbrbSvG.js} +1 -1
  110. package/dist/assets/{codingBridge-DikX7F1W.js → codingBridge-_Z_z-5e8.js} +1 -1
  111. package/dist/assets/{codingBridge-B4trQXx_.js → codingBridge-ktGoyeGs.js} +1 -1
  112. package/dist/assets/{codingBridge-DF5LQG-P.js → codingBridge-nvGc4nvQ.js} +1 -1
  113. package/dist/assets/{codingBridgeNotify-l0XpSuyC.js → codingBridgeNotify-23aHMZK3.js} +2 -2
  114. package/dist/assets/{coins-I0iVIaYE.js → coins-CBIprYKY.js} +1 -1
  115. package/dist/assets/{collapse-x_CVopGM.js → collapse-BkqdKC7g.js} +1 -1
  116. package/dist/assets/{constants-DneM-Qrs.js → constants-kuIe0Rg4.js} +1 -1
  117. package/dist/assets/{copy-CiJZHQWf.js → copy-ChPYxtPg.js} +1 -1
  118. package/dist/assets/{createTaskActions-BXxbQAaO.js → createTaskActions-8sSE6fP5.js} +1 -1
  119. package/dist/assets/{digitalhuman-_7Z_o_00.js → digitalhuman-DwbWoTQl.js} +1 -1
  120. package/dist/assets/{dollar-sign-Cwi70kt3.js → dollar-sign-Bm6gAU49.js} +1 -1
  121. package/dist/assets/{download-B1JpLuOx.js → download-e6keFu33.js} +1 -1
  122. package/dist/assets/{drawer-CnagcN_1.js → drawer-xXnemy0j.js} +1 -1
  123. package/dist/assets/{dropdown-BE7dT6Lv.js → dropdown-ByJ_2We7.js} +1 -1
  124. package/dist/assets/{dropdown-BXXaR2n-.js → dropdown-DdyNy8Rw.js} +1 -1
  125. package/dist/assets/{ellipsis-_KkrpJNX.js → ellipsis-qEDz75HE.js} +1 -1
  126. package/dist/assets/{esm-BpAgvcE8.js → esm-0B6EYwz9.js} +2 -2
  127. package/dist/assets/{esm-CJI_ihZK.js → esm-BCSjYEfy.js} +3 -3
  128. package/dist/assets/{esm-D6Jb_Sj9.js → esm-Ctb6oLJw.js} +2 -2
  129. package/dist/assets/{esm-DIkC8C8d.js → esm-CxR5BtoM.js} +1 -1
  130. package/dist/assets/{esm-H65VMcs1.js → esm-DQmwROlF.js} +1 -1
  131. package/dist/assets/esm-DSVrE2_V.js +1 -0
  132. package/dist/assets/{esm-BZS0nMzQ.js → esm-GKdujo3J.js} +1 -1
  133. package/dist/assets/{external-link-BdW2T_7X.js → external-link-B6US6Rpg.js} +1 -1
  134. package/dist/assets/{eye-C82HkiVe.js → eye-Cr1Znq0K.js} +1 -1
  135. package/dist/assets/{file-output-DfQ-geFc.js → file-output-ikTtYafN.js} +1 -1
  136. package/dist/assets/{file-text-C6SNPqac.js → file-text-OrBVmeSG.js} +1 -1
  137. package/dist/assets/{fish-BC57Cm8H.js → fish-Yhag4lip.js} +1 -1
  138. package/dist/assets/{flux-CaaD2lXb.js → flux-CbIPwgs6.js} +1 -1
  139. package/dist/assets/{folder-Dz03LuIe.js → folder-BgdW6lws.js} +1 -1
  140. package/dist/assets/gauge-CiWKexEC.js +1 -0
  141. package/dist/assets/{globe--Omf2_Ft.js → globe-DNJUaTgi.js} +1 -1
  142. package/dist/assets/{grokvideo-CGLujujy.js → grokvideo-B7LjfVXK.js} +1 -1
  143. package/dist/assets/{hailuo-DMYQf2fL.js → hailuo-CxDE-mab.js} +1 -1
  144. package/dist/assets/{headphones-BYbUKSkg.js → headphones-DgIVHcmG.js} +1 -1
  145. package/dist/assets/{history-CYif9NZa.js → history-Bto6cN79.js} +1 -1
  146. package/dist/assets/{house-BN710gZB.js → house-DQNaN-7w.js} +1 -1
  147. package/dist/assets/{i18n-BJOjV4Mn.js → i18n-HQNt54Ek.js} +1 -1
  148. package/dist/assets/{image-DbNurox5.js → image-2C4Q9nSl.js} +1 -1
  149. package/dist/assets/{index-DrnvKYXu.js → index-DclC-KvF.js} +6 -6
  150. package/dist/assets/{index.browser.esm-DV9yeg79.js → index.browser.esm-DD1uIXY4.js} +1 -1
  151. package/dist/assets/{index.es-By7UgO83.js → index.es-VZkRqp-n.js} +1 -1
  152. package/dist/assets/{info-O_plDK3b.js → info-sYS8Y4kZ.js} +1 -1
  153. package/dist/assets/{input-number-B_-ZcHmp.js → input-number-C6amd5vF.js} +1 -1
  154. package/dist/assets/{key-round-dSqS7jlC.js → key-round-YMPA2L3S.js} +1 -1
  155. package/dist/assets/{kling-CqONJGUb.js → kling-CscH6fPa.js} +1 -1
  156. package/dist/assets/{languages-7qa35pLK.js → languages-DJSWJg_9.js} +1 -1
  157. package/dist/assets/{laptop-DdqV-P84.js → laptop-DevaAUz9.js} +1 -1
  158. package/dist/assets/{lightbulb-DrC8Ba7Y.js → lightbulb-DnXua8le.js} +1 -1
  159. package/dist/assets/{link-BmLmDivG.js → link-BdkjCN0Y.js} +1 -1
  160. package/dist/assets/loader-circle-BZGy8H-n.js +1 -0
  161. package/dist/assets/{luma-D8kgd8c0.js → luma-DKV2bzE9.js} +1 -1
  162. package/dist/assets/{maestro-CCsgrvZr.js → maestro-C3_a0CuS.js} +1 -1
  163. package/dist/assets/{maestro-LzdzL_40.js → maestro-lcLZOPXN.js} +1 -1
  164. package/dist/assets/{mail-DndIMbDF.js → mail-CmZND3xY.js} +1 -1
  165. package/dist/assets/{message-circle-BCOzeT5u.js → message-circle-CiByvBdZ.js} +1 -1
  166. package/dist/assets/{mic-BnPujXb-.js → mic-BYGWDeAx.js} +1 -1
  167. package/dist/assets/{midjourney-DlQ7qRSf.js → midjourney-B3XFryiX.js} +1 -1
  168. package/dist/assets/{mobileLocalExec-BD7vpWTP.js → mobileLocalExec-1atJP6x6.js} +2 -2
  169. package/dist/assets/{mouse-pointer-2-D5CiRSSR.js → mouse-pointer-2-DFp76Lze.js} +1 -1
  170. package/dist/assets/music-2-Ieg_Zv19.js +1 -0
  171. package/dist/assets/{nanobanana-BEcNNUh7.js → nanobanana-Dout2QBa.js} +1 -1
  172. package/dist/assets/{omni-BgHgVBmk.js → omni-BO9QFSd5.js} +1 -1
  173. package/dist/assets/{openaiimage-DHj-ACJm.js → openaiimage-DMj0yHBa.js} +1 -1
  174. package/dist/assets/{pagination-DdIsFrFY.js → pagination-Dt4h-CYK.js} +1 -1
  175. package/dist/assets/{pagination-Danh77om.js → pagination-YnyoMu0n.js} +1 -1
  176. package/dist/assets/{palette-DiA0_7cr.js → palette-QH_N2qy3.js} +1 -1
  177. package/dist/assets/{paperclip-BkMWxVtN.js → paperclip-BI23sMic.js} +1 -1
  178. package/dist/assets/{pause-C1V3bNzx.js → pause-CmrIIxKL.js} +1 -1
  179. package/dist/assets/{pencil-CELA9UFd.js → pencil-iOazcNI9.js} +1 -1
  180. package/dist/assets/{pika-PGYHq87f.js → pika-DCu4veEc.js} +1 -1
  181. package/dist/assets/{pixverse-CBrEKWPt.js → pixverse-DPv5meLz.js} +1 -1
  182. package/dist/assets/play-DcNEy99F.js +1 -0
  183. package/dist/assets/plus-DtdIAhMW.js +1 -0
  184. package/dist/assets/{poivelle-CWVcxGp6.js → poivelle-DzJLVR4q.js} +1 -1
  185. package/dist/assets/{popover-Dgqm8I9e.js → popover-C0Au0mzn.js} +1 -1
  186. package/dist/assets/{producer-BciFNMle.js → producer-Do9WPvkT.js} +1 -1
  187. package/dist/assets/{qrart-C06a8k-1.js → qrart-j8d6lL8O.js} +1 -1
  188. package/dist/assets/{realtime-oGC56Kkc.js → realtime-B1AHEDod.js} +1 -1
  189. package/dist/assets/{refresh-cw-DxSubdAU.js → refresh-cw-b1AkLCqS.js} +1 -1
  190. package/dist/assets/rotate-ccw-B8iLlVrx.js +1 -0
  191. package/dist/assets/rotate-cw-BmbWtODr.js +1 -0
  192. package/dist/assets/{row-C0GWHUaC.js → row-23HtkcJ-.js} +1 -1
  193. package/dist/assets/search-ICgLYEEh.js +1 -0
  194. package/dist/assets/{seedance-C4RP_h3P.js → seedance-t2ucDdeV.js} +1 -1
  195. package/dist/assets/{seedream-Qr67b9Gw.js → seedream-CODWzrQE.js} +1 -1
  196. package/dist/assets/{select-B_R0SgFr.js → select-uldXAWrH.js} +1 -1
  197. package/dist/assets/{serp-ZtxV1V_Z.js → serp-DXFJ1vwE.js} +1 -1
  198. package/dist/assets/{shield-DKJ5TG08.js → shield-85Ky2cjp.js} +1 -1
  199. package/dist/assets/{shuffle-BX8u4swp.js → shuffle-CDTL9DSH.js} +1 -1
  200. package/dist/assets/{slider-lFDgQ4-e.js → slider-CkGNG5a7.js} +1 -1
  201. package/dist/assets/{sliders-horizontal-Bs7KPK_A.js → sliders-horizontal-C-mcuIlt.js} +1 -1
  202. package/dist/assets/{solana-wallets-B7l2b8ff.js → solana-wallets-DQX7HqBh.js} +2 -2
  203. package/dist/assets/{solana-wallets-vue-x6aE9JHv.js → solana-wallets-vue-DuDouSj_.js} +1 -1
  204. package/dist/assets/{sora-DoOYq3fu.js → sora-BTZ0nrMi.js} +1 -1
  205. package/dist/assets/{sparkles-__YYGKEa.js → sparkles-C1bVqIi2.js} +1 -1
  206. package/dist/assets/square-CrEmZBEk.js +1 -0
  207. package/dist/assets/{suno-C9Sd6rAo.js → suno-DVtkvulS.js} +1 -1
  208. package/dist/assets/{switch-C2D-hYDt.js → switch-BUWm07k_.js} +1 -1
  209. package/dist/assets/{table-DjCW5MpM.js → table-BWzhSccy.js} +1 -1
  210. package/dist/assets/{tabs-CYjl2w1O.js → tabs-DvovyKyk.js} +1 -1
  211. package/dist/assets/{tag-ByREneBT.js → tag-COWwJzLe.js} +1 -1
  212. package/dist/assets/{taskDrawerMixin-BhxY4aVa.js → taskDrawerMixin-CN9a-kE5.js} +1 -1
  213. package/dist/assets/terminal-CKyTbfJ2.js +1 -0
  214. package/dist/assets/{time-picker-Cg2Etw32.js → time-picker-RhvsMlGr.js} +1 -1
  215. package/dist/assets/{tooltip-Bk3QursD.js → tooltip-uHCMYOmh.js} +1 -1
  216. package/dist/assets/{trash-2-DLyJ-uhd.js → trash-2-5sbW29HW.js} +1 -1
  217. package/dist/assets/{triangle-alert-C97Hsf6V.js → triangle-alert-CmcoYwyi.js} +1 -1
  218. package/dist/assets/{upload-C43G1dyE.js → upload-BXWufnq_.js} +1 -1
  219. package/dist/assets/{upload-ycXnID_H.js → upload-D5gTmf2B.js} +1 -1
  220. package/dist/assets/user-BRXa_Nk1.js +1 -0
  221. package/dist/assets/{veo-Cq1-LIT3.js → veo-C1L3SSK3.js} +1 -1
  222. package/dist/assets/{video-BoZZfFRL.js → video-vs3mnHBf.js} +1 -1
  223. package/dist/assets/{volume-2-BboeoPBB.js → volume-2--vgnhO7U.js} +1 -1
  224. package/dist/assets/{wallet-Bnz2VRqR.js → wallet-DzpMPbZa.js} +1 -1
  225. package/dist/assets/{wan-SXzJUW9G.js → wan-BvPxuu-D.js} +1 -1
  226. package/dist/assets/{wand-sparkles-CCOqdNUe.js → wand-sparkles-ClrEVQmB.js} +1 -1
  227. package/dist/assets/{web-Dq0NqCEt.js → web-CPFjQr_D.js} +1 -1
  228. package/dist/assets/{web-CPxgLG7l.js → web-CZNEyq1l.js} +1 -1
  229. package/dist/assets/{web-CdXuq5ZU.js → web-DSkehJrI.js} +1 -1
  230. package/dist/assets/{web-Co_6ayzO.js → web-Demze5kT.js} +1 -1
  231. package/dist/assets/{web-Cg81F2VC.js → web-VIddDBkP.js} +1 -1
  232. package/dist/assets/{webextrator-NB-iKNAe.js → webextrator-CMoKX3rs.js} +1 -1
  233. package/dist/assets/{zap-4Q0CSsXC.js → zap-C_S03Xuq.js} +1 -1
  234. package/dist/index.html +3 -3
  235. package/package.json +1 -1
  236. package/dist/assets/Index-C6y-71Fh.css +0 -1
  237. package/dist/assets/Index-DI91qBc6.js +0 -1
  238. package/dist/assets/arrow-down-DQT6T7EF.js +0 -1
  239. package/dist/assets/arrow-left-Dmi5yHEQ.js +0 -1
  240. package/dist/assets/arrow-right-dJMqIy9u.js +0 -1
  241. package/dist/assets/arrow-up-D70hbl-s.js +0 -1
  242. package/dist/assets/check-WKD0ftpH.js +0 -1
  243. package/dist/assets/chevron-down-DGM-hm2J.js +0 -1
  244. package/dist/assets/chevron-right-DoCSDQIs.js +0 -1
  245. package/dist/assets/circle-check-CR38wWmj.js +0 -1
  246. package/dist/assets/clock-Nyp1Qi0d.js +0 -1
  247. package/dist/assets/codingBridge-BjRgera0.js +0 -1
  248. package/dist/assets/codingBridge-C408H6Qk.js +0 -2
  249. package/dist/assets/codingBridge-jwxcyoyz.js +0 -1
  250. package/dist/assets/esm-CnogBAF4.js +0 -1
  251. package/dist/assets/gauge-CngRzgJ-.js +0 -1
  252. package/dist/assets/loader-circle-DowruYj6.js +0 -1
  253. package/dist/assets/music-2-B8CaClGS.js +0 -1
  254. package/dist/assets/play-yvkgkzJn.js +0 -1
  255. package/dist/assets/plus-CHzFOsPC.js +0 -1
  256. package/dist/assets/rotate-ccw-CWuBy_x0.js +0 -1
  257. package/dist/assets/rotate-cw-DEZ2tNUv.js +0 -1
  258. package/dist/assets/search--7jJ3uMk.js +0 -1
  259. package/dist/assets/square-B9-ad3Gl.js +0 -1
  260. package/dist/assets/terminal-BKpPekoT.js +0 -1
  261. package/dist/assets/user-Dj1oX9r-.js +0 -1
@@ -0,0 +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`},"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.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 +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.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 l'appareil`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID de session`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de trace`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`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:`Réessayer`,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`},"history.button":{message:`Historique`,description:`Open the conversation history drawer`},"history.title":{message:`Historique des conversations`,description:`History drawer title`},"history.intro":{message:`Sessions Claude Code, Codex et GitHub Copilot précédentes sur cet appareil.`,description:`History drawer intro`},"history.refresh":{message:`Actualiser`,description:`Reload the history list`},"history.loading":{message:`Chargement de l’historique…`,description:`History loading message`},"history.empty":{message:`Aucun historique trouvé sur cet appareil.`,description:`Empty history message`},"history.messages":{message:`{count} messages`,description:`History item message count`},"history.readonly":{message:`Cette conversation Codex est en lecture seule et ne peut pas être poursuivie. Démarrez une nouvelle session pour continuer à coder.`,description:`Read-only replay notice`},"history.running":{message:`En cours`,description:`Marks a history conversation that is currently live on the device`},"history.resumeHint":{message:`Envoyer un message reprendra cette conversation sur l’appareil.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Historique Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Historique Codex (lecture seule)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Mode d'autorisation`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Par défaut (demander à chaque fois)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Accepter automatiquement les modifications`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Mode plan (lecture seule)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignorer toutes les autorisations`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`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:`(non installé)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} n'est pas installé sur cet appareil.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Effort de raisonnement`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Par défaut`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Faible`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Moyen`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Élevé`,description:`Reasoning effort: high`},"session.effortMax":{message:`Maximum`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Choisir le répertoire de travail`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Utiliser ce répertoire`,description:`Button: select the current directory`},"directory.up":{message:`Répertoire parent`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Actualiser`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Entrez le chemin (par exemple D:\\) puis appuyez sur Entrée`,description:`Espace réservé pour le champ de saisie du chemin de répertoire modifiable`},"directory.go":{message:`Aller`,description:`Bouton : naviguer vers le chemin de répertoire saisi`},"directory.loading":{message:`Chargement…`,description:`Directory listing loading hint`},"directory.empty":{message:`Ce répertoire est vide.`,description:`Empty directory hint`},"directory.truncated":{message:`Affichage des 1000 premières entrées.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Joindre une image`,description:`Attach image button title`},"session.removeImage":{message:`Supprimer l'image`,description:`Remove attached image button title`},"session.imageAlt":{message:`Image jointe`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`L'image est trop volumineuse ; gardez chacune sous 12 Mo.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Vous pouvez joindre jusqu'à {count} images.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`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} est une commande interactive et ne peut pas s'exécuter dans une session distante.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} n'est pas disponible pour Codex dans une session distante.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Activer les notifications`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Désactiver les notifications`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifications activées. Nous vous préviendrons lorsqu'une session nécessite une approbation.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifications désactivées.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Les notifications sont bloquées. Autorisez-les dans les paramètres de votre navigateur pour recevoir les alertes d'approbation.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Les notifications ne sont pas prises en charge sur cet appareil.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Impossible de mettre à jour les paramètres de notification.`,description:`Toast when enabling or disabling notifications errors`}};export{e as default};
1
+ var e={"nodeList.title":{message:`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.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 l'appareil`,description:`Diagnostic label for the node id`},"session.sessionId":{message:`ID de session`,description:`Diagnostic label for the session id`},"session.traceId":{message:`ID de trace`,description:`Diagnostic label for the trace id`},"session.startHint":{message:`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:`Réessayer`,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`},"history.button":{message:`Historique`,description:`Open the conversation history drawer`},"history.title":{message:`Historique des conversations`,description:`History drawer title`},"history.intro":{message:`Sessions Claude Code, Codex et GitHub Copilot précédentes sur cet appareil.`,description:`History drawer intro`},"history.refresh":{message:`Actualiser`,description:`Reload the history list`},"history.loading":{message:`Chargement de l’historique…`,description:`History loading message`},"history.empty":{message:`Aucun historique trouvé sur cet appareil.`,description:`Empty history message`},"history.messages":{message:`{count} messages`,description:`History item message count`},"history.readonly":{message:`Cette conversation Codex est en lecture seule et ne peut pas être poursuivie. Démarrez une nouvelle session pour continuer à coder.`,description:`Read-only replay notice`},"history.running":{message:`En cours`,description:`Marks a history conversation that is currently live on the device`},"history.resumeHint":{message:`Envoyer un message reprendra cette conversation sur l’appareil.`,description:`Resume composer hint`},"history.claudeLabel":{message:`Historique Claude`,description:`Replayed Claude session label`},"history.codexLabel":{message:`Historique Codex (lecture seule)`,description:`Replayed Codex session label`},"session.permissionModeLabel":{message:`Mode d'autorisation`,description:`Permission-mode selector label`},"session.permissionModeDefault":{message:`Par défaut (demander à chaque fois)`,description:`Permission mode: ask before each tool use`},"session.permissionModeAcceptEdits":{message:`Accepter automatiquement les modifications`,description:`Permission mode: auto-accept file edits`},"session.permissionModePlan":{message:`Mode plan (lecture seule)`,description:`Permission mode: read-only planning`},"session.permissionModeBypass":{message:`Ignorer toutes les autorisations`,description:`Permission mode: bypass all permission prompts`},"session.providerLabel":{message:`Backend`,description:`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:`(non installé)`,description:`Suffix shown next to a backend whose CLI is not installed on the node`},"session.providerUnavailableHint":{message:`{name} n'est pas installé sur cet appareil.`,description:`Composer hint shown when the selected backend is not installed on the node`},"session.effortLabel":{message:`Effort de raisonnement`,description:`Reasoning-effort selector label`},"session.effortDefault":{message:`Par défaut`,description:`Reasoning effort: backend default`},"session.effortLow":{message:`Faible`,description:`Reasoning effort: low`},"session.effortMedium":{message:`Moyen`,description:`Reasoning effort: medium`},"session.effortHigh":{message:`Élevé`,description:`Reasoning effort: high`},"session.effortMax":{message:`Maximum`,description:`Reasoning effort: maximum (Claude only)`},"directory.title":{message:`Choisir le répertoire de travail`,description:`Working-directory picker dialog title`},"directory.choose":{message:`Utiliser ce répertoire`,description:`Button: select the current directory`},"directory.up":{message:`Répertoire parent`,description:`Button: go to the parent directory`},"directory.refresh":{message:`Actualiser`,description:`Button: reload the current directory`},"directory.pathPlaceholder":{message:`Entrez le chemin (par exemple D:\\) puis appuyez sur Entrée`,description:`Espace réservé pour le champ de saisie du chemin de répertoire modifiable`},"directory.go":{message:`Aller`,description:`Bouton : naviguer vers le chemin de répertoire saisi`},"directory.loading":{message:`Chargement…`,description:`Directory listing loading hint`},"directory.empty":{message:`Ce répertoire est vide.`,description:`Empty directory hint`},"directory.truncated":{message:`Affichage des 1000 premières entrées.`,description:`Hint shown when the listing was truncated`},"session.attachImage":{message:`Joindre une image`,description:`Attach image button title`},"session.removeImage":{message:`Supprimer l'image`,description:`Remove attached image button title`},"session.imageAlt":{message:`Image jointe`,description:`Attached image thumbnail alt text`},"session.imageTooLarge":{message:`L'image est trop volumineuse ; gardez chacune sous 12 Mo.`,description:`Warning shown when an image exceeds the size limit`},"session.imageLimit":{message:`Vous pouvez joindre jusqu'à {count} images.`,description:`Warning shown when exceeding the max number of images`},"session.modelDefault":{message:`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} est une commande interactive et ne peut pas s'exécuter dans une session distante.`,description:`Notice shown when a slash command can't run in a remote session`},"notice.slashCodexUnsupported":{message:`/{command} n'est pas disponible pour Codex dans une session distante.`,description:`Notice shown when a Codex slash command isn't supported remotely`},"notify.enable":{message:`Activer les notifications`,description:`Tooltip on the notification bell when notifications are off`},"notify.disable":{message:`Désactiver les notifications`,description:`Tooltip on the notification bell when notifications are on`},"notify.enabled":{message:`Notifications activées. Nous vous préviendrons lorsqu'une session nécessite une approbation.`,description:`Toast after enabling notifications`},"notify.disabled":{message:`Notifications désactivées.`,description:`Toast after disabling notifications`},"notify.denied":{message:`Les notifications sont bloquées. Autorisez-les dans les paramètres de votre navigateur pour recevoir les alertes d'approbation.`,description:`Toast when notification permission is denied`},"notify.unsupported":{message:`Les notifications ne sont pas prises en charge sur cet appareil.`,description:`Toast when notifications are unsupported`},"notify.failed":{message:`Impossible de mettre à jour les paramètres de notification.`,description:`Toast when enabling or disabling notifications errors`},"nodeList.rename":{message:`Renommer`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Donnez un nom à cet appareil. Le nom est synchronisé avec tous vos appareils connectés.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Le nom ne peut pas être vide.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Le nom doit comporter au maximum {max} caractères.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Appareil renommé.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Échec du renommage de l’appareil.`,description:`Rename device failure`}};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.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:`معرّف الجهاز`,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:`أرسل رسالة لبدء الجلسة على هذا الجهاز.`,description:`تلميح لبدء الجلسة`},"session.cwdPlaceholder":{message:`الدليل العامل (اختياري)`,description:`نص العنصر النائب لحقل إدخال الدليل العامل`},"session.modelPlaceholder":{message:`النموذج (اختياري)`,description:`نص العنصر النائب لحقل إدخال النموذج`},"session.promptPlaceholder":{message:`أرسل رسالة إلى الوكيل…`,description:`نص العنصر النائب لحقل إدخال الموجه`},"session.send":{message:`إرسال`,description:`زر إرسال الموجه`},"session.retry":{message:`إعادة المحاولة`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`تحرير`,description:`تحرير الموجه المرسل وإعادة إرساله كجولة جديدة`},"session.editingBanner":{message:`جاري التحرير - الإرسال سيعيد المحادثة إلى هنا`,description:`شعار يظهر أثناء تحرير موجه سابق`},"session.editRestoreCode":{message:`استعادة الشيفرة أيضًا`,description:`خيار لاستعادة تغييرات الملف أيضًا عند التحرير`},"session.editCancel":{message:`إلغاء`,description:`إلغاء تعديل موجه سابق`},"session.editSubmit":{message:`تحديث`,description:`إرسال موجه تم تحريره (إعادة تشغيل وإعادة تنفيذ)`},"session.enterHint":{message:`اضغط على Enter للإرسال، Shift + Enter للانتقال إلى السطر التالي.`,description:`تلميح لوحة المفاتيح لحقل الإدخال`},"transcript.turnFailed":{message:`فشل التنفيذ`,description:`علامة فشل نتيجة الجولة`},"transcript.turnDone":{message:`تم الانتهاء`,description:`علامة انتهاء نتيجة الجولة`},"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.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:`الصورة كبيرة جدًا؛ يجب أن تكون كل صورة أقل من 12 ميغابايت.`,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:`النموذج الافتراضي`},"session.cwdDefault":{message:`الدليل الافتراضي`,description:`الدليل الافتراضي`},"session.settings":{message:`إعدادات الجلسة`,description:`إعدادات الجلسة`},"session.settingsLocked":{message:`تم قفل إعدادات هذه الجلسة`,description:`الإعدادات مقفلة لهذه الجلسة`},"session.attachFile":{message:`إضافة ملف`,description:`إرفاق ملف`},"session.attachmentImageAlt":{message:`صورة مرفقة`,description:`صورة مرفقة`},"session.removeAttachment":{message:`إزالة المرفق`,description:`إزالة المرفق`},"session.uploadingAttachment":{message:`جارٍ رفع المرفق...`,description:`رفع المرفقات...`},"session.attachmentTooLarge":{message:`الملف كبير جدًا، يرجى الحفاظ على حجم كل ملف أقل من 50 ميجابايت.`,description:`الملف كبير جدًا؛ يجب أن يكون كل ملف أقل من 50 ميجابايت.`},"session.attachmentLimit":{message:`يمكنك إرفاق ما يصل إلى {count} ملف.`,description:`يمكنك إرفاق ما يصل إلى {count} ملف.`},"session.attachmentUploadError":{message:`فشل تحميل المرفق.`,description:`فشل في تحميل المرفق.`},"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.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:`معرّف الجهاز`,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:`أرسل رسالة لبدء الجلسة على هذا الجهاز.`,description:`تلميح لبدء الجلسة`},"session.cwdPlaceholder":{message:`الدليل العامل (اختياري)`,description:`نص العنصر النائب لحقل إدخال الدليل العامل`},"session.modelPlaceholder":{message:`النموذج (اختياري)`,description:`نص العنصر النائب لحقل إدخال النموذج`},"session.promptPlaceholder":{message:`أرسل رسالة إلى الوكيل…`,description:`نص العنصر النائب لحقل إدخال الموجه`},"session.send":{message:`إرسال`,description:`زر إرسال الموجه`},"session.retry":{message:`إعادة المحاولة`,description:`Re-run the last prompt after a failure`},"session.editPrompt":{message:`تحرير`,description:`تحرير الموجه المرسل وإعادة إرساله كجولة جديدة`},"session.editingBanner":{message:`جاري التحرير - الإرسال سيعيد المحادثة إلى هنا`,description:`شعار يظهر أثناء تحرير موجه سابق`},"session.editRestoreCode":{message:`استعادة الشيفرة أيضًا`,description:`خيار لاستعادة تغييرات الملف أيضًا عند التحرير`},"session.editCancel":{message:`إلغاء`,description:`إلغاء تعديل موجه سابق`},"session.editSubmit":{message:`تحديث`,description:`إرسال موجه تم تحريره (إعادة تشغيل وإعادة تنفيذ)`},"session.enterHint":{message:`اضغط على Enter للإرسال، Shift + Enter للانتقال إلى السطر التالي.`,description:`تلميح لوحة المفاتيح لحقل الإدخال`},"transcript.turnFailed":{message:`فشل التنفيذ`,description:`علامة فشل نتيجة الجولة`},"transcript.turnDone":{message:`تم الانتهاء`,description:`علامة انتهاء نتيجة الجولة`},"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.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:`الصورة كبيرة جدًا؛ يجب أن تكون كل صورة أقل من 12 ميغابايت.`,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:`النموذج الافتراضي`},"session.cwdDefault":{message:`الدليل الافتراضي`,description:`الدليل الافتراضي`},"session.settings":{message:`إعدادات الجلسة`,description:`إعدادات الجلسة`},"session.settingsLocked":{message:`تم قفل إعدادات هذه الجلسة`,description:`الإعدادات مقفلة لهذه الجلسة`},"session.attachFile":{message:`إضافة ملف`,description:`إرفاق ملف`},"session.attachmentImageAlt":{message:`صورة مرفقة`,description:`صورة مرفقة`},"session.removeAttachment":{message:`إزالة المرفق`,description:`إزالة المرفق`},"session.uploadingAttachment":{message:`جارٍ رفع المرفق...`,description:`رفع المرفقات...`},"session.attachmentTooLarge":{message:`الملف كبير جدًا، يرجى الحفاظ على حجم كل ملف أقل من 50 ميجابايت.`,description:`الملف كبير جدًا؛ يجب أن يكون كل ملف أقل من 50 ميجابايت.`},"session.attachmentLimit":{message:`يمكنك إرفاق ما يصل إلى {count} ملف.`,description:`يمكنك إرفاق ما يصل إلى {count} ملف.`},"session.attachmentUploadError":{message:`فشل تحميل المرفق.`,description:`فشل في تحميل المرفق.`},"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`},"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`}};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.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`},"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.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.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`},"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.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`},"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`}};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.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`},"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.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.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`},"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.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`},"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`}};export{e as default};
@@ -0,0 +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:`回合结果完成标签`},"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.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};
@@ -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 _,_ as v,a as y,b as ee,c as b,d as x,f as S,g as C,h as te,i as ne,j as re,k as ie,l as ae,la as oe,m as se,n as ce,o as w,p as T,r as E,s as D,t as O,u as k,v as A,w as j,x as M,y as N,z as P}from"./constants-kuIe0Rg4.js";import{_n as F,ai as I,fi as L,hi as R,xr as z}from"./index-DclC-KvF.js";import{a as B,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-23aHMZK3.js";var le=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,ue=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},G=(e,t)=>{if(!ue())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})},de=class{ws;token;handlers;reconnectDelay=g;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=`${oe}?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=g,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 _:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case t:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case P:this.handlers.onNodeRenamed?.(r.node_id,r.name);break;case C: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,o)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:le(),ts:Date.now(),type:e,...t};G(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(te,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(T,{})}resume(e){this.sendEnvelope(se,{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:{}}},fe=e=>{let t=Y(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
+ `)},pe=(e,t)=>{H({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)})},me=(t,o,p,g,_)=>{let y=g?.event,b=g?.session_id,x=g?.trace_id,S=g?.seq;if(typeof S==`number`&&b){let e=p.lastSeq[b];if(e!==void 0&&S<=e)return;t(`setLastSeq`,{session_id:b,seq:S})}switch(b&&x&&t(`updateSession`,{session_id:b,trace_id:x}),y){case re:t(`upsertSession`,{session_id:b,node_id:_,status:`running`,cwd:g.cwd,model:g.model,...g.effort===void 0?{}:{effort:g.effort},...g.permission_mode===void 0?{}:{permission_mode:g.permission_mode},trace_id:x});break;case r:{let e=g.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case f:{let e=g.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:g.text??``}):t(`appendEvent`,J(b,`text`,{text:g.text??``,stream_id:e,streaming:!0,trace_id:x}));break}case u:{let e=g.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:g.text}):t(`appendEvent`,J(b,`text`,{text:g.text,trace_id:x}));break}case a:t(`appendEvent`,J(b,`thinking`,{text:g.text,trace_id:x}));break;case c:t(`appendEvent`,J(b,`tool_use`,{tool:g.tool,tool_use_id:g.tool_use_id,input:g.input,trace_id:x}));break;case s:t(`appendEvent`,J(b,`tool_result`,{tool_use_id:g.tool_use_id,content:g.content,is_error:g.is_error,trace_id:x}));break;case m:t(`addPermission`,{request_id:g.request_id,session_id:b,node_id:_,tool:g.tool,input:g.input,title:g.title,display_name:g.display_name,description:g.description}),pe(o,{node_id:_,session_id:b,request_id:g.request_id,tool:g.display_name||g.title||g.tool});break;case M:for(let e of g.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:_,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case n:t(`removePermission`,g.request_id);break;case ie:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`result`,{subtype:g.subtype,is_error:g.is_error,text:g.result,cost_usd:g.cost_usd,cut_uuid:g.cut_uuid,sdk_session_id:g.sdk_session_id,trace_id:x})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:g.cost_usd});break;case d:t(`appendEvent`,J(b,`notice`,{text:g.text,subtype:g.code,command:g.command,level:g.level}));break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`error`,{text:g.message,trace_id:x})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:I.Success});break;case h:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`});break;case e:t(`rewindToCut`,{session_id:b,cut_uuid:g.cut_uuid}),g.prompt&&t(`appendEvent`,J(b,`prompt`,{text:g.prompt,trace_id:x})),t(`updateSession`,{session_id:b,status:`running`});break;case l:o(`resyncSession`,b);break;case j:for(let e of g.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:_,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 ee:if(_){t(`setHistory`,{node_id:_,sessions:g.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:I.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case N:he(t,p,g,_),t(`updateStatus`,{key:`getHistoryDetail`,value:I.Success});break;case A:t(`setDirectory`,{path:g.path,parent:g.parent??null,sep:g.sep??`/`,entries:g.entries??[],truncated:g.truncated,error:g.error});break;case v:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:g.providers??[]}});break;default:break}},he=(e,t,n,r)=>{let i=n?.session_id,a=ge(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})},ge=e=>e===`codex`||e===`copilot`?e:`claude`,X=0,Z=new Map,_e=({commit:e})=>{Z.clear(),e(`resetAll`)},Q=async()=>{},ve=async()=>{},ye=(e,t,n)=>{e(`setNodeName`,{node_id:t,name:n})},$={namespaced:!0,state:z,mutations:{resetAll:e=>{Object.assign(e,z())},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:Q,setApplication:ve,getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:I.Request});let r=X;try{let{data:t}=await F.getNodes({token:n}),i=(t.nodes??[]).map(e=>{let t=Z.get(e.node_id);return t&&t.at>r?{...e,name:t.name}:e});return e(`setNodes`,i),e(`updateStatus`,{key:`getNodes`,value:I.Success}),i}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:I.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:I.Request});try{let{data:n}=await F.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:I.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:I.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:I.Request});try{await F.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:I.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:I.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:I.Request});try{let{data:t}=await F.renameNode(n.nodeId,i,{token:r}),a=t?.name??i;Z.size>=50&&Z.clear(),Z.set(n.nodeId,{name:a,at:++X}),e(`setNodeName`,{node_id:n.nodeId,name:a}),e(`updateStatus`,{key:`renameNode`,value:I.Success})}catch(t){throw e(`updateStatus`,{key:`renameNode`,value:I.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 de(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)=>me(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)=>{ye(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:D})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:y})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(R()){let t=await W(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await F.savePushSubscription({kind:L()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await V();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await F.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await B(e.vapid_public_key);t&&await F.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(R()||!t)return;let n=await U();if(n)try{await F.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:S,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:x,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:ae,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:k,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:b,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:w,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:w,request_id:n.request_id,decision:`allow`,answer:Y(n.output),answer_text:fe(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:I.Request}),K.sendToNode(r,{action:ne,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!K||(e(`updateStatus`,{key:`getHistoryDetail`,value:I.Request}),K.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:I.Success}),12e3))},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:ce,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 +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.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:`Статус relay-соединения: отключено`},"connection.connecting":{message:`Подключение…`,description:`Статус relay-соединения: подключение`},"connection.connected":{message:`Подключено`,description:`Статус relay-соединения: подключено`},"connection.error":{message:`Ошибка подключения`,description:`Ошибка relay-соединения`},"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:`Баннер при редактировании предыдущего запроса`},"session.editRestoreCode":{message:`Также восстановить код`,description:`Флажок отката изменений файлов при редактировании`},"session.editCancel":{message:`Отмена`,description:`Отмена редактирования предыдущего запроса`},"session.editSubmit":{message:`Обновить`,description:`Отправка изменённого запроса с перемоткой и повторным запуском`},"session.enterHint":{message:`Enter — отправить, Shift+Enter — новая строка.`,description:`Подсказка по клавишам в поле ввода`},"transcript.turnFailed":{message:`Ошибка`,description:`Метка неудачного результата хода`},"transcript.turnDone":{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.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:`Метка выбора режима разрешений`},"session.permissionModeDefault":{message:`По умолчанию (спрашивать каждый раз)`,description:`Режим разрешений: спрашивать перед каждым использованием инструмента`},"session.permissionModeAcceptEdits":{message:`Автоматически принимать правки`,description:`Режим разрешений: автоматически принимать правки файлов`},"session.permissionModePlan":{message:`Режим планирования (только чтение)`,description:`Режим разрешений: планирование только для чтения`},"session.permissionModeBypass":{message:`Обойти все разрешения`,description:`Режим разрешений: обход всех запросов разрешений`},"session.providerLabel":{message:`Бэкенд`,description:`Метка выбора бэкенда агента`},"session.providerClaude":{message:`Claude Code`,description:`Параметр бэкенда: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Параметр бэкенда: Codex`},"session.providerUnavailable":{message:`(не установлено)`,description:`Суффикс для бэкенда, CLI которого не установлен на устройстве`},"session.providerUnavailableHint":{message:`{name} не установлен на этом устройстве.`,description:`Подсказка, когда выбранный бэкенд не установлен на устройстве`},"session.effortLabel":{message:`Уровень рассуждений`,description:`Метка выбора уровня рассуждений`},"session.effortDefault":{message:`По умолчанию`,description:`Уровень рассуждений: значение бэкенда по умолчанию`},"session.effortLow":{message:`Низкий`,description:`Уровень рассуждений: низкий`},"session.effortMedium":{message:`Средний`,description:`Уровень рассуждений: средний`},"session.effortHigh":{message:`Высокий`,description:`Уровень рассуждений: высокий`},"session.effortMax":{message:`Максимальный`,description:`Уровень рассуждений: максимальный (только Claude)`},"directory.title":{message:`Выберите рабочий каталог`,description:`Заголовок диалога выбора рабочего каталога`},"directory.choose":{message:`Использовать этот каталог`,description:`Кнопка выбора текущего каталога`},"directory.up":{message:`Родительский каталог`,description:`Кнопка перехода в родительский каталог`},"directory.refresh":{message:`Обновить`,description:`Кнопка обновления текущего каталога`},"directory.pathPlaceholder":{message:`Введите путь (например, D:\\) и нажмите Enter`,description:`Заполнитель для редактируемого ввода пути директории`},"directory.go":{message:`Перейти`,description:`Кнопка: перейти к введенному пути директории`},"directory.loading":{message:`Загрузка…`,description:`Подсказка при загрузке списка каталогов`},"directory.empty":{message:`Этот каталог пуст.`,description:`Подсказка для пустого каталога`},"directory.truncated":{message:`Показаны первые 1000 записей.`,description:`Подсказка при усечённом списке`},"session.attachImage":{message:`Прикрепить изображение`,description:`Кнопка прикрепления изображения`},"session.removeImage":{message:`Удалить изображение`,description:`Кнопка удаления прикреплённого изображения`},"session.imageAlt":{message:`Прикреплённое изображение`,description:`Alt-текст миниатюры прикреплённого изображения`},"session.imageTooLarge":{message:`Изображение слишком большое; размер каждого должен быть меньше 12 МБ.`,description:`Предупреждение, когда изображение превышает допустимый размер`},"session.imageLimit":{message:`Можно прикрепить до {count} изображений.`,description:`Предупреждение при превышении максимального числа изображений`},"session.modelDefault":{message:`Модель по умолчанию`,description:`Модель по умолчанию`},"session.cwdDefault":{message:`Каталог по умолчанию`,description:`Каталог по умолчанию`},"session.settings":{message:`Настройки сессии`,description:`Настройки сессии`},"session.settingsLocked":{message:`Настройки этой сессии заблокированы`,description:`Настройки этой сессии заблокированы`},"session.attachFile":{message:`Прикрепить файл`,description:`Кнопка прикрепления файла`},"session.attachmentImageAlt":{message:`Прикреплённое изображение`,description:`Alt-текст прикреплённого изображения`},"session.removeAttachment":{message:`Удалить вложение`,description:`Удаление вложения`},"session.uploadingAttachment":{message:`Загрузка вложений…`,description:`Сообщение о загрузке вложений`},"session.attachmentTooLarge":{message:`Файл слишком большой: размер каждого файла должен быть меньше 50 МБ.`,description:`Предупреждение, когда файл превышает допустимый размер`},"session.attachmentLimit":{message:`Можно прикрепить до {count} файлов.`,description:`Предупреждение при превышении максимального числа файлов`},"session.attachmentUploadError":{message:`Не удалось загрузить вложение.`,description:`Ошибка загрузки вложения`},"notice.slashUnavailable":{message:`/{command} — интерактивная команда, её нельзя выполнить в удалённом сеансе.`,description:`Уведомление, когда slash-команду нельзя выполнить в удалённой сессии`},"notice.slashCodexUnsupported":{message:`/{command} недоступна для Codex в удалённом сеансе.`,description:`Уведомление, когда slash-команда Codex не поддерживается удалённо`},"notify.enable":{message:`Включить уведомления`,description:`Подсказка на значке уведомлений, когда уведомления выключены`},"notify.disable":{message:`Отключить уведомления`,description:`Подсказка на значке уведомлений, когда уведомления включены`},"notify.enabled":{message:`Уведомления включены. Мы сообщим, когда сессии потребуется подтверждение.`,description:`Уведомление после включения уведомлений`},"notify.disabled":{message:`Уведомления отключены.`,description:`Уведомление после выключения уведомлений`},"notify.denied":{message:`Уведомления заблокированы. Разрешите их в настройках браузера, чтобы получать оповещения о подтверждении.`,description:`Уведомление, когда разрешение на уведомления отклонено`},"notify.unsupported":{message:`Уведомления не поддерживаются на этом устройстве.`,description:`Уведомление, когда уведомления не поддерживаются`},"notify.failed":{message:`Не удалось обновить настройки уведомлений.`,description:`Уведомление об ошибке при изменении настроек уведомлений`}};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.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:`Статус relay-соединения: отключено`},"connection.connecting":{message:`Подключение…`,description:`Статус relay-соединения: подключение`},"connection.connected":{message:`Подключено`,description:`Статус relay-соединения: подключено`},"connection.error":{message:`Ошибка подключения`,description:`Ошибка relay-соединения`},"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:`Баннер при редактировании предыдущего запроса`},"session.editRestoreCode":{message:`Также восстановить код`,description:`Флажок отката изменений файлов при редактировании`},"session.editCancel":{message:`Отмена`,description:`Отмена редактирования предыдущего запроса`},"session.editSubmit":{message:`Обновить`,description:`Отправка изменённого запроса с перемоткой и повторным запуском`},"session.enterHint":{message:`Enter — отправить, Shift+Enter — новая строка.`,description:`Подсказка по клавишам в поле ввода`},"transcript.turnFailed":{message:`Ошибка`,description:`Метка неудачного результата хода`},"transcript.turnDone":{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.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:`Метка выбора режима разрешений`},"session.permissionModeDefault":{message:`По умолчанию (спрашивать каждый раз)`,description:`Режим разрешений: спрашивать перед каждым использованием инструмента`},"session.permissionModeAcceptEdits":{message:`Автоматически принимать правки`,description:`Режим разрешений: автоматически принимать правки файлов`},"session.permissionModePlan":{message:`Режим планирования (только чтение)`,description:`Режим разрешений: планирование только для чтения`},"session.permissionModeBypass":{message:`Обойти все разрешения`,description:`Режим разрешений: обход всех запросов разрешений`},"session.providerLabel":{message:`Бэкенд`,description:`Метка выбора бэкенда агента`},"session.providerClaude":{message:`Claude Code`,description:`Параметр бэкенда: Claude Code`},"session.providerCodex":{message:`Codex`,description:`Параметр бэкенда: Codex`},"session.providerUnavailable":{message:`(не установлено)`,description:`Суффикс для бэкенда, CLI которого не установлен на устройстве`},"session.providerUnavailableHint":{message:`{name} не установлен на этом устройстве.`,description:`Подсказка, когда выбранный бэкенд не установлен на устройстве`},"session.effortLabel":{message:`Уровень рассуждений`,description:`Метка выбора уровня рассуждений`},"session.effortDefault":{message:`По умолчанию`,description:`Уровень рассуждений: значение бэкенда по умолчанию`},"session.effortLow":{message:`Низкий`,description:`Уровень рассуждений: низкий`},"session.effortMedium":{message:`Средний`,description:`Уровень рассуждений: средний`},"session.effortHigh":{message:`Высокий`,description:`Уровень рассуждений: высокий`},"session.effortMax":{message:`Максимальный`,description:`Уровень рассуждений: максимальный (только Claude)`},"directory.title":{message:`Выберите рабочий каталог`,description:`Заголовок диалога выбора рабочего каталога`},"directory.choose":{message:`Использовать этот каталог`,description:`Кнопка выбора текущего каталога`},"directory.up":{message:`Родительский каталог`,description:`Кнопка перехода в родительский каталог`},"directory.refresh":{message:`Обновить`,description:`Кнопка обновления текущего каталога`},"directory.pathPlaceholder":{message:`Введите путь (например, D:\\) и нажмите Enter`,description:`Заполнитель для редактируемого ввода пути директории`},"directory.go":{message:`Перейти`,description:`Кнопка: перейти к введенному пути директории`},"directory.loading":{message:`Загрузка…`,description:`Подсказка при загрузке списка каталогов`},"directory.empty":{message:`Этот каталог пуст.`,description:`Подсказка для пустого каталога`},"directory.truncated":{message:`Показаны первые 1000 записей.`,description:`Подсказка при усечённом списке`},"session.attachImage":{message:`Прикрепить изображение`,description:`Кнопка прикрепления изображения`},"session.removeImage":{message:`Удалить изображение`,description:`Кнопка удаления прикреплённого изображения`},"session.imageAlt":{message:`Прикреплённое изображение`,description:`Alt-текст миниатюры прикреплённого изображения`},"session.imageTooLarge":{message:`Изображение слишком большое; размер каждого должен быть меньше 12 МБ.`,description:`Предупреждение, когда изображение превышает допустимый размер`},"session.imageLimit":{message:`Можно прикрепить до {count} изображений.`,description:`Предупреждение при превышении максимального числа изображений`},"session.modelDefault":{message:`Модель по умолчанию`,description:`Модель по умолчанию`},"session.cwdDefault":{message:`Каталог по умолчанию`,description:`Каталог по умолчанию`},"session.settings":{message:`Настройки сессии`,description:`Настройки сессии`},"session.settingsLocked":{message:`Настройки этой сессии заблокированы`,description:`Настройки этой сессии заблокированы`},"session.attachFile":{message:`Прикрепить файл`,description:`Кнопка прикрепления файла`},"session.attachmentImageAlt":{message:`Прикреплённое изображение`,description:`Alt-текст прикреплённого изображения`},"session.removeAttachment":{message:`Удалить вложение`,description:`Удаление вложения`},"session.uploadingAttachment":{message:`Загрузка вложений…`,description:`Сообщение о загрузке вложений`},"session.attachmentTooLarge":{message:`Файл слишком большой: размер каждого файла должен быть меньше 50 МБ.`,description:`Предупреждение, когда файл превышает допустимый размер`},"session.attachmentLimit":{message:`Можно прикрепить до {count} файлов.`,description:`Предупреждение при превышении максимального числа файлов`},"session.attachmentUploadError":{message:`Не удалось загрузить вложение.`,description:`Ошибка загрузки вложения`},"notice.slashUnavailable":{message:`/{command} — интерактивная команда, её нельзя выполнить в удалённом сеансе.`,description:`Уведомление, когда slash-команду нельзя выполнить в удалённой сессии`},"notice.slashCodexUnsupported":{message:`/{command} недоступна для Codex в удалённом сеансе.`,description:`Уведомление, когда slash-команда Codex не поддерживается удалённо`},"notify.enable":{message:`Включить уведомления`,description:`Подсказка на значке уведомлений, когда уведомления выключены`},"notify.disable":{message:`Отключить уведомления`,description:`Подсказка на значке уведомлений, когда уведомления включены`},"notify.enabled":{message:`Уведомления включены. Мы сообщим, когда сессии потребуется подтверждение.`,description:`Уведомление после включения уведомлений`},"notify.disabled":{message:`Уведомления отключены.`,description:`Уведомление после выключения уведомлений`},"notify.denied":{message:`Уведомления заблокированы. Разрешите их в настройках браузера, чтобы получать оповещения о подтверждении.`,description:`Уведомление, когда разрешение на уведомления отклонено`},"notify.unsupported":{message:`Уведомления не поддерживаются на этом устройстве.`,description:`Уведомление, когда уведомления не поддерживаются`},"notify.failed":{message:`Не удалось обновить настройки уведомлений.`,description:`Уведомление об ошибке при изменении настроек уведомлений`},"nodeList.rename":{message:`Переименовать`,description:`Rename a device`},"nodeList.renamePrompt":{message:`Задайте имя этому устройству. Имя синхронизируется со всеми устройствами, где выполнен вход.`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`Имя не может быть пустым.`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`Имя должно содержать не более {max} символов.`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`Устройство переименовано.`,description:`Rename device success`},"nodeList.renameFailed":{message:`Не удалось переименовать устройство.`,description:`Rename device failure`}};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.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:`過去のプロンプトを編集中に表示されるバナー`},"session.editRestoreCode":{message:`コードも復元する`,description:`編集時にファイルの変更もロールバックするチェックボックス`},"session.editCancel":{message:`キャンセル`,description:`過去のプロンプトの編集をキャンセルする`},"session.editSubmit":{message:`更新`,description:`編集済みプロンプトを送信(巻き戻して再実行)`},"session.enterHint":{message:`Enterで送信、Shift+Enterで改行。`,description:`コンポーザーのキーボードヒント`},"transcript.turnFailed":{message:`ターン失敗`,description:`ターン結果失敗ラベル`},"transcript.turnDone":{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.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:`権限モード選択ラベル`},"session.permissionModeDefault":{message:`デフォルト(毎回確認)`,description:`権限モード:ツール使用前に確認する`},"session.permissionModeAcceptEdits":{message:`編集を自動承認`,description:`権限モード:ファイル編集を自動承認`},"session.permissionModePlan":{message:`プランモード(読み取り専用)`,description:`権限モード:読み取り専用の計画モード`},"session.permissionModeBypass":{message:`すべての権限をバイパス`,description:`権限モード:すべての権限確認をバイパス`},"session.providerLabel":{message:`バックエンド`,description:`エージェントバックエンド選択ラベル`},"session.providerClaude":{message:`Claude Code`,description:`バックエンドオプション:Claude Code`},"session.providerCodex":{message:`Codex`,description:`バックエンドオプション:Codex`},"session.providerUnavailable":{message:`(未インストール)`,description:`CLIがノードにインストールされていないバックエンドの横に表示されるサフィックス`},"session.providerUnavailableHint":{message:`{name} はこのデバイスにインストールされていません。`,description:`選択したバックエンドがノードにインストールされていない場合に表示されるコンポーザーヒント`},"session.effortLabel":{message:`推論の強度`,description:`推論努力度セレクターラベル`},"session.effortDefault":{message:`デフォルト`,description:`推論努力度:バックエンドのデフォルト`},"session.effortLow":{message:`低`,description:`推論努力度:低`},"session.effortMedium":{message:`中`,description:`推論努力度:中`},"session.effortHigh":{message:`高`,description:`推論努力度:高`},"session.effortMax":{message:`最大`,description:`推論努力度:最大(Claudeのみ)`},"directory.title":{message:`作業ディレクトリを選択`,description:`作業ディレクトリ選択ダイアログのタイトル`},"directory.choose":{message:`このディレクトリを使用`,description:`ボタン:現在のディレクトリを選択`},"directory.up":{message:`親ディレクトリ`,description:`ボタン:親ディレクトリに移動`},"directory.refresh":{message:`更新`,description:`ボタン:現在のディレクトリを再読み込み`},"directory.pathPlaceholder":{message:`パスを入力(例: D:\\)してエンター`,description:`編集可能なディレクトリパス入力のプレースホルダー`},"directory.go":{message:`移動`,description:`ボタン: 入力したディレクトリパスに移動する`},"directory.loading":{message:`読み込み中…`,description:`ディレクトリ一覧読み込み中のヒント`},"directory.empty":{message:`このディレクトリは空です。`,description:`空のディレクトリのヒント`},"directory.truncated":{message:`最初の 1000 件を表示しています。`,description:`一覧が切り詰められた場合に表示されるヒント`},"session.attachImage":{message:`画像を添付`,description:`画像添付ボタンのタイトル`},"session.removeImage":{message:`画像を削除`,description:`添付画像削除ボタンのタイトル`},"session.imageAlt":{message:`添付された画像`,description:`添付画像サムネイルの代替テキスト`},"session.imageTooLarge":{message:`画像が大きすぎます。1 枚あたり 12 MB 以内にしてください。`,description:`画像がサイズ制限を超えた場合の警告`},"session.imageLimit":{message:`画像は最大 {count} 枚まで添付できます。`,description:`添付画像の最大数を超えた場合の警告`},"session.modelDefault":{message:`デフォルトモデル`,description:`デフォルトモデル`},"session.cwdDefault":{message:`デフォルトディレクトリ`,description:`デフォルトディレクトリ`},"session.settings":{message:`セッション設定`,description:`セッション設定`},"session.settingsLocked":{message:`このセッションの設定はロックされています`,description:`このセッションの設定はロックされています`},"session.attachFile":{message:`ファイルを添付`,description:`ファイルを添付`},"session.attachmentImageAlt":{message:`添付画像`,description:`添付画像`},"session.removeAttachment":{message:`添付ファイルを削除`,description:`添付ファイルを削除`},"session.uploadingAttachment":{message:`添付ファイルをアップロード中…`,description:`添付ファイルをアップロード中…`},"session.attachmentTooLarge":{message:`ファイルが大きすぎます。各ファイルは50MB以下にしてください。`,description:`ファイルが大きすぎます(各50MB以下にしてください)`},"session.attachmentLimit":{message:`{count}個まで添付できます。`,description:`{count}個まで添付できます`},"session.attachmentUploadError":{message:`添付ファイルのアップロードに失敗しました。`,description:`添付ファイルのアップロードに失敗しました`},"notice.slashUnavailable":{message:`/{command} は対話型コマンドのため、リモートセッションでは実行できません。`,description:`スラッシュコマンドがリモートセッションで実行できない場合の通知`},"notice.slashCodexUnsupported":{message:`/{command} はリモートセッションの Codex では利用できません。`,description:`Codexスラッシュコマンドがリモートでサポートされていない場合の通知`},"notify.enable":{message:`通知を有効にする`,description:`通知がオフのときの通知ベルのツールチップ`},"notify.disable":{message:`通知を無効にする`,description:`通知がオンのときの通知ベルのツールチップ`},"notify.enabled":{message:`通知を有効にしました。セッションで承認が必要なときにお知らせします。`,description:`通知を有効にした後のトースト`},"notify.disabled":{message:`通知を無効にしました。`,description:`通知を無効にした後のトースト`},"notify.denied":{message:`通知がブロックされています。承認通知を受け取るにはブラウザの設定で許可してください。`,description:`通知権限が拒否された場合のトースト`},"notify.unsupported":{message:`このデバイスでは通知がサポートされていません。`,description:`通知がサポートされていない場合のトースト`},"notify.failed":{message:`通知設定を更新できませんでした。`,description:`通知の有効化または無効化でエラーが発生した場合のトースト`}};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.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:`過去のプロンプトを編集中に表示されるバナー`},"session.editRestoreCode":{message:`コードも復元する`,description:`編集時にファイルの変更もロールバックするチェックボックス`},"session.editCancel":{message:`キャンセル`,description:`過去のプロンプトの編集をキャンセルする`},"session.editSubmit":{message:`更新`,description:`編集済みプロンプトを送信(巻き戻して再実行)`},"session.enterHint":{message:`Enterで送信、Shift+Enterで改行。`,description:`コンポーザーのキーボードヒント`},"transcript.turnFailed":{message:`ターン失敗`,description:`ターン結果失敗ラベル`},"transcript.turnDone":{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.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:`権限モード選択ラベル`},"session.permissionModeDefault":{message:`デフォルト(毎回確認)`,description:`権限モード:ツール使用前に確認する`},"session.permissionModeAcceptEdits":{message:`編集を自動承認`,description:`権限モード:ファイル編集を自動承認`},"session.permissionModePlan":{message:`プランモード(読み取り専用)`,description:`権限モード:読み取り専用の計画モード`},"session.permissionModeBypass":{message:`すべての権限をバイパス`,description:`権限モード:すべての権限確認をバイパス`},"session.providerLabel":{message:`バックエンド`,description:`エージェントバックエンド選択ラベル`},"session.providerClaude":{message:`Claude Code`,description:`バックエンドオプション:Claude Code`},"session.providerCodex":{message:`Codex`,description:`バックエンドオプション:Codex`},"session.providerUnavailable":{message:`(未インストール)`,description:`CLIがノードにインストールされていないバックエンドの横に表示されるサフィックス`},"session.providerUnavailableHint":{message:`{name} はこのデバイスにインストールされていません。`,description:`選択したバックエンドがノードにインストールされていない場合に表示されるコンポーザーヒント`},"session.effortLabel":{message:`推論の強度`,description:`推論努力度セレクターラベル`},"session.effortDefault":{message:`デフォルト`,description:`推論努力度:バックエンドのデフォルト`},"session.effortLow":{message:`低`,description:`推論努力度:低`},"session.effortMedium":{message:`中`,description:`推論努力度:中`},"session.effortHigh":{message:`高`,description:`推論努力度:高`},"session.effortMax":{message:`最大`,description:`推論努力度:最大(Claudeのみ)`},"directory.title":{message:`作業ディレクトリを選択`,description:`作業ディレクトリ選択ダイアログのタイトル`},"directory.choose":{message:`このディレクトリを使用`,description:`ボタン:現在のディレクトリを選択`},"directory.up":{message:`親ディレクトリ`,description:`ボタン:親ディレクトリに移動`},"directory.refresh":{message:`更新`,description:`ボタン:現在のディレクトリを再読み込み`},"directory.pathPlaceholder":{message:`パスを入力(例: D:\\)してエンター`,description:`編集可能なディレクトリパス入力のプレースホルダー`},"directory.go":{message:`移動`,description:`ボタン: 入力したディレクトリパスに移動する`},"directory.loading":{message:`読み込み中…`,description:`ディレクトリ一覧読み込み中のヒント`},"directory.empty":{message:`このディレクトリは空です。`,description:`空のディレクトリのヒント`},"directory.truncated":{message:`最初の 1000 件を表示しています。`,description:`一覧が切り詰められた場合に表示されるヒント`},"session.attachImage":{message:`画像を添付`,description:`画像添付ボタンのタイトル`},"session.removeImage":{message:`画像を削除`,description:`添付画像削除ボタンのタイトル`},"session.imageAlt":{message:`添付された画像`,description:`添付画像サムネイルの代替テキスト`},"session.imageTooLarge":{message:`画像が大きすぎます。1 枚あたり 12 MB 以内にしてください。`,description:`画像がサイズ制限を超えた場合の警告`},"session.imageLimit":{message:`画像は最大 {count} 枚まで添付できます。`,description:`添付画像の最大数を超えた場合の警告`},"session.modelDefault":{message:`デフォルトモデル`,description:`デフォルトモデル`},"session.cwdDefault":{message:`デフォルトディレクトリ`,description:`デフォルトディレクトリ`},"session.settings":{message:`セッション設定`,description:`セッション設定`},"session.settingsLocked":{message:`このセッションの設定はロックされています`,description:`このセッションの設定はロックされています`},"session.attachFile":{message:`ファイルを添付`,description:`ファイルを添付`},"session.attachmentImageAlt":{message:`添付画像`,description:`添付画像`},"session.removeAttachment":{message:`添付ファイルを削除`,description:`添付ファイルを削除`},"session.uploadingAttachment":{message:`添付ファイルをアップロード中…`,description:`添付ファイルをアップロード中…`},"session.attachmentTooLarge":{message:`ファイルが大きすぎます。各ファイルは50MB以下にしてください。`,description:`ファイルが大きすぎます(各50MB以下にしてください)`},"session.attachmentLimit":{message:`{count}個まで添付できます。`,description:`{count}個まで添付できます`},"session.attachmentUploadError":{message:`添付ファイルのアップロードに失敗しました。`,description:`添付ファイルのアップロードに失敗しました`},"notice.slashUnavailable":{message:`/{command} は対話型コマンドのため、リモートセッションでは実行できません。`,description:`スラッシュコマンドがリモートセッションで実行できない場合の通知`},"notice.slashCodexUnsupported":{message:`/{command} はリモートセッションの Codex では利用できません。`,description:`Codexスラッシュコマンドがリモートでサポートされていない場合の通知`},"notify.enable":{message:`通知を有効にする`,description:`通知がオフのときの通知ベルのツールチップ`},"notify.disable":{message:`通知を無効にする`,description:`通知がオンのときの通知ベルのツールチップ`},"notify.enabled":{message:`通知を有効にしました。セッションで承認が必要なときにお知らせします。`,description:`通知を有効にした後のトースト`},"notify.disabled":{message:`通知を無効にしました。`,description:`通知を無効にした後のトースト`},"notify.denied":{message:`通知がブロックされています。承認通知を受け取るにはブラウザの設定で許可してください。`,description:`通知権限が拒否された場合のトースト`},"notify.unsupported":{message:`このデバイスでは通知がサポートされていません。`,description:`通知がサポートされていない場合のトースト`},"notify.failed":{message:`通知設定を更新できませんでした。`,description:`通知の有効化または無効化でエラーが発生した場合のトースト`},"nodeList.rename":{message:`名前を変更`,description:`Rename a device`},"nodeList.renamePrompt":{message:`このデバイスに名前を付けます。名前はログイン中のすべてのデバイスに同期されます。`,description:`Rename device input prompt`},"nodeList.renameEmpty":{message:`名前を空にすることはできません。`,description:`Rename device empty-name validation`},"nodeList.renameTooLong":{message:`名前は最大 {max} 文字までです。`,description:`Rename device too-long validation`},"nodeList.renameSuccess":{message:`デバイスの名前を変更しました。`,description:`Rename device success`},"nodeList.renameFailed":{message:`デバイスの名前を変更できませんでした。`,description:`Rename device failure`}};export{e as default};