@acedatacloud/nexior 3.341.0 → 3.343.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 (375) hide show
  1. package/dist/assets/ApiCodeButton-V0PNC5hd.js +1 -0
  2. package/dist/assets/{Artifacts-DEl97T8T.js → Artifacts-BYeOc8nC.js} +1 -1
  3. package/dist/assets/AskUserQuestionCard-tUwIOzad.js +1 -0
  4. package/dist/assets/{AudioPreview-BPX1uuZz.js → AudioPreview-QhwYz5OI.js} +1 -1
  5. package/dist/assets/{Auth--JQ1NXhC.js → Auth-By5V9Nsl.js} +1 -1
  6. package/dist/assets/{Bare-UYuL76DX.js → Bare-zd2QVMDl.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-Sr7-yiHG.js → BotPlaceholder-BMeL50cE.js} +1 -1
  8. package/dist/assets/{BottomFooter-DtSB9ptF.js → BottomFooter-YKs8pno9.js} +1 -1
  9. package/dist/assets/{Callback-B48QVsC2.js → Callback-CpOQU4dn.js} +1 -1
  10. package/dist/assets/CodeSnippet-Bn21xWAq.js +1 -0
  11. package/dist/assets/{Console-FklxUXhA.css → Console-1tSVCxa2.css} +1 -1
  12. package/dist/assets/Console-CvO0gQ1x.js +1 -0
  13. package/dist/assets/{Consumption-ClXkkErZ.js → Consumption-DWMEoulW.js} +1 -1
  14. package/dist/assets/Conversation-BLCU8-T1.js +1 -0
  15. package/dist/assets/{Conversation-D_FAuufP.css → Conversation-DWG-mIDb.css} +1 -1
  16. package/dist/assets/Conversation-bPD472U7.js +1 -0
  17. package/dist/assets/{CopyToClipboard-B7WAIJha.js → CopyToClipboard-DAsxz05c.js} +1 -1
  18. package/dist/assets/Detail-D1ncfV4P.js +2 -0
  19. package/dist/assets/Extra-D9m665NV.js +1 -0
  20. package/dist/assets/{FilePreview-CPbajuw6.js → FilePreview-D4-VAXV8.js} +1 -1
  21. package/dist/assets/{Hailuo-EnI3yiNf.js → Hailuo-BHAsd96T.js} +1 -1
  22. package/dist/assets/{History-maa7TUeO.js → History-CoNbrEJD.js} +1 -1
  23. package/dist/assets/{ImagePreview-Ch1niRT8.js → ImagePreview-0F7lED-X.js} +1 -1
  24. package/dist/assets/{ImageWrapper-DxQd7-g8.js → ImageWrapper-Cdezi8bX.js} +1 -1
  25. package/dist/assets/Index-044Ro6Bq.js +1 -0
  26. package/dist/assets/{Index-BRxs8o1-.js → Index-4U6r-iaT.js} +1 -1
  27. package/dist/assets/Index-64oaFTmU.css +1 -0
  28. package/dist/assets/Index-9pYDV1qL2.js +1 -0
  29. package/dist/assets/Index-BGz-O4np.js +1 -0
  30. package/dist/assets/Index-BI4EKdo6.js +1 -0
  31. package/dist/assets/Index-BPe5qtsb.js +1 -0
  32. package/dist/assets/{Index-CQtjZ9od2.js → Index-BRNk-wiu2.js} +2 -2
  33. package/dist/assets/{Index-D_U9zM1Z.js → Index-BbI2zF5S.js} +1 -1
  34. package/dist/assets/Index-BlOKNnPe.js +1 -0
  35. package/dist/assets/Index-BqAm4pVA.js +1 -0
  36. package/dist/assets/{Index-gJBf3ZwW.js → Index-Br0lmVsx.js} +1 -1
  37. package/dist/assets/Index-BvHEIXrL.js +1 -0
  38. package/dist/assets/{Index-Bq-82sFl.js → Index-BxeRFkXY.js} +1 -1
  39. package/dist/assets/Index-CBDDxJWV.js +1 -0
  40. package/dist/assets/{Index-Bdjft4dE.js → Index-CBxCduYm.js} +1 -1
  41. package/dist/assets/Index-CFeWQRUh.js +1 -0
  42. package/dist/assets/Index-CNdop1tw.js +1 -0
  43. package/dist/assets/Index-CqvCKSL3.js +1 -0
  44. package/dist/assets/Index-CtFzRWS_.js +1 -0
  45. package/dist/assets/Index-CxTGG9bk.js +1 -0
  46. package/dist/assets/Index-D7c_yBVK.js +1 -0
  47. package/dist/assets/{Index-CVeBLpfj.js → Index-DCSQepKp.js} +1 -1
  48. package/dist/assets/Index-DDAs6VA4.js +1 -0
  49. package/dist/assets/Index-DGkriLhl.js +1 -0
  50. package/dist/assets/Index-DM9BjAa_.js +1 -0
  51. package/dist/assets/Index-Dcl6fiB52.js +1 -0
  52. package/dist/assets/Index-DdRXx7GK.js +1 -0
  53. package/dist/assets/Index-DhIt8T8L.css +1 -0
  54. package/dist/assets/Index-DpuLXWul.js +1 -0
  55. package/dist/assets/{Index-ceM2upSc2.js → Index-UfXAAmxF.js} +1 -1
  56. package/dist/assets/Index-cuj6_xMs.js +1 -0
  57. package/dist/assets/Index-njQy9uD5.js +1 -0
  58. package/dist/assets/Index-o_YjysBO2.js +1 -0
  59. package/dist/assets/{Invitees-DQylKwRH.js → Invitees-CcDTR8z9.js} +1 -1
  60. package/dist/assets/List-B9Ona_vK.js +1 -0
  61. package/dist/assets/List-BQYD9zNq.js +1 -0
  62. package/dist/assets/List-BzV12ot6.js +1 -0
  63. package/dist/assets/{LocalTools-_tYp5zWW.js → LocalTools-BUZ3lh8b.js} +1 -1
  64. package/dist/assets/LocalTools-Daqzp_fD.js +5 -0
  65. package/dist/assets/{Main-CzmfoAOR.js → Main-B8FxEpkO.js} +1 -1
  66. package/dist/assets/Message-VvwjEOcv.js +3 -0
  67. package/dist/assets/Model-CqTlz_rR.js +1 -0
  68. package/dist/assets/{Navigator-CD3H2OcN.js → Navigator-B3vGoST6.js} +4 -4
  69. package/dist/assets/{NotFound-C4Q285E4.js → NotFound-Btr_yyEF.js} +1 -1
  70. package/dist/assets/{Pay-ByxNQZy2.js → Pay-DubZaprl.js} +1 -1
  71. package/dist/assets/{Player-Evooj1k-.js → Player-DQrkjYkn.js} +1 -1
  72. package/dist/assets/{Poivelle-CSzn1qvv.js → Poivelle-DGzubWIL.js} +1 -1
  73. package/dist/assets/{PromptTextarea-Cj5iw6Hn.js → PromptTextarea-BdxR43fI.js} +1 -1
  74. package/dist/assets/{RealtimeCall-Fh0L830y.js → RealtimeCall-hvx4LO61.js} +1 -1
  75. package/dist/assets/ScheduledTasks-DQysrq5o.js +2 -0
  76. package/dist/assets/{Status-BwfUu9Jb.js → Status-BhmBIYFW.js} +1 -1
  77. package/dist/assets/{Subscribe-D7Pt5b-Y.js → Subscribe-vSoI-fH8.js} +1 -1
  78. package/dist/assets/{TabSwitcher-BpBZKvl7.js → TabSwitcher-XBC7Wgfm.js} +1 -1
  79. package/dist/assets/{Tts-B3fGR4Xu.js → Tts-BCxb2qXy.js} +1 -1
  80. package/dist/assets/{VideoPlayer-B3JCKmEU.js → VideoPlayer-DTVJVKri.js} +1 -1
  81. package/dist/assets/VueMarkdown-CiiRjbWs.js +20 -0
  82. package/dist/assets/{alert-BwRWOA8p.js → alert-BY_joJSO.js} +1 -1
  83. package/dist/assets/application-Dsk7Htmk.js +1 -0
  84. package/dist/assets/arrow-down-wSWETU-Z.js +1 -0
  85. package/dist/assets/{arrow-down-wide-narrow-CUgdjoeJ.js → arrow-down-wide-narrow-BBwnqJqv.js} +1 -1
  86. package/dist/assets/arrow-left-8-Xw7Ohz.js +1 -0
  87. package/dist/assets/arrow-right-wypyEZlo.js +1 -0
  88. package/dist/assets/arrow-up-CD-EsIda.js +1 -0
  89. package/dist/assets/{avatar-CFc5v2dw.js → avatar-lZyFrAl_.js} +1 -1
  90. package/dist/assets/{basic-B4_1OSKS.js → basic-C8Bta_Tj.js} +1 -1
  91. package/dist/assets/book-open-G49d0HIY.js +1 -0
  92. package/dist/assets/{box-DDIXgC1h.js → box-BOmBNuoO.js} +1 -1
  93. package/dist/assets/{boxes-52l_S5s4.js → boxes-OXfwrz_Y.js} +1 -1
  94. package/dist/assets/{brain-D-nGQ32E.js → brain-CjtFB784.js} +1 -1
  95. package/dist/assets/byok-Bbtn_ySo.js +1 -0
  96. package/dist/assets/{chart-no-axes-combined-BPWnY2jW.js → chart-no-axes-combined-BHuW8WfQ.js} +1 -1
  97. package/dist/assets/{chat-njnLy6Rl.js → chat-CiLnEkUF.js} +1 -1
  98. package/dist/assets/{chat-D_4NhZvL.js → chat-DYP-QalC.js} +1 -1
  99. package/dist/assets/check-DI-MESEH.js +1 -0
  100. package/dist/assets/chevron-down-WfupmEeM.js +1 -0
  101. package/dist/assets/chevron-right-CF-4xDq-.js +1 -0
  102. package/dist/assets/circle-check-r9lU9RtY.js +1 -0
  103. package/dist/assets/circle-question-mark-DD9uSbOU.js +1 -0
  104. package/dist/assets/clipboard-list-BwXfk8sx.js +1 -0
  105. package/dist/assets/clock-otSJpi4t.js +1 -0
  106. package/dist/assets/code-D3E3xVo1.js +1 -0
  107. package/dist/assets/{codingBridge-CoIAPV-v.js → codingBridge-RDeuAMgB.js} +2 -2
  108. package/dist/assets/{codingBridgeNotify-yLMkdu5G.js → codingBridgeNotify-B4B5G7Va.js} +2 -2
  109. package/dist/assets/{coins-o_nryNwj.js → coins-DcJKW6bq.js} +1 -1
  110. package/dist/assets/{collapse-8QNHvqVW.js → collapse-2ZkQBwEA.js} +1 -1
  111. package/dist/assets/common-C3y24hsM.js +1 -0
  112. package/dist/assets/connection-B4ZuokXu.js +1 -0
  113. package/dist/assets/connection-BGBzruRG.js +1 -0
  114. package/dist/assets/connection-CIU5669P.js +1 -0
  115. package/dist/assets/connection-CKIPdZFj.js +1 -0
  116. package/dist/assets/connection-CUhN38Sm.js +1 -0
  117. package/dist/assets/connection-C_3-SG3o.js +1 -0
  118. package/dist/assets/connection-Ca6uuJ7E.js +1 -0
  119. package/dist/assets/connection-Cb4gOQWE.js +1 -0
  120. package/dist/assets/connection-CjR5jo6L.js +1 -0
  121. package/dist/assets/connection-Cj_zokaD.js +1 -0
  122. package/dist/assets/connection-CkawkbI-.js +1 -0
  123. package/dist/assets/connection-CnFNJaom.js +1 -0
  124. package/dist/assets/connection-CqWEpGDa.js +1 -0
  125. package/dist/assets/connection-CxnxKRGg.js +1 -0
  126. package/dist/assets/connection-DTrG5I-r.js +1 -0
  127. package/dist/assets/connection-SwTJ52XD.js +1 -0
  128. package/dist/assets/connection-VqNkk7VR.js +1 -0
  129. package/dist/assets/connection-t8cN4Y3e.js +1 -0
  130. package/dist/assets/{console-CdE3x2I2.js → console-BGXbhX8g.js} +1 -1
  131. package/dist/assets/{console-ByVCHa7B.js → console-BIOAuKS9.js} +1 -1
  132. package/dist/assets/{console-TykBxenh.js → console-BX0G2auT.js} +1 -1
  133. package/dist/assets/{console-dN-jBMvk.js → console-CBxupHDs.js} +1 -1
  134. package/dist/assets/{console-BjHupo1H.js → console-CE6gyKyL.js} +1 -1
  135. package/dist/assets/{console-C0U5ZaLj.js → console-CNgtblbl.js} +1 -1
  136. package/dist/assets/{console-CTaNoQRw.js → console-CRI07Yjf.js} +1 -1
  137. package/dist/assets/{console-BYoXY7Mq.js → console-CUVAcg0e.js} +1 -1
  138. package/dist/assets/{console-DA-7dvFw.js → console-CUdCMgwb.js} +1 -1
  139. package/dist/assets/{console-edJQ5l-h.js → console-C_QRIEqw.js} +1 -1
  140. package/dist/assets/{console-CHl5cKPo.js → console-Cnqwd48k.js} +1 -1
  141. package/dist/assets/{console-Dmz4CZnP.js → console-Cuk22ZZE.js} +1 -1
  142. package/dist/assets/{console-EwB--fdG.js → console-D7PVWE6S.js} +1 -1
  143. package/dist/assets/{console-CoLSqTi8.js → console-DB7A00V8.js} +1 -1
  144. package/dist/assets/{console-CwijIfDn.js → console-DBKsvrcX.js} +1 -1
  145. package/dist/assets/{console-DG6gSR35.js → console-g5MzcXx5.js} +1 -1
  146. package/dist/assets/{console-8-llNzpt.js → console-hmvJJfSg.js} +1 -1
  147. package/dist/assets/{console-BlE18AsL.js → console-j5eIDwLq.js} +1 -1
  148. package/dist/assets/{constants-Bj1OV2ER.js → constants-Dm-HitpB.js} +1 -1
  149. package/dist/assets/{copy-CouNb0oP.js → copy-ZC2WLlnJ.js} +1 -1
  150. package/dist/assets/{createTaskActions-j7homLZJ.js → createTaskActions-BY8s7Yjy.js} +1 -1
  151. package/dist/assets/digitalhuman-BmnHCR8e.js +1 -0
  152. package/dist/assets/{digitalhuman-Bp3KzC_7.js → digitalhuman-qp3ZgdPE.js} +1 -1
  153. package/dist/assets/{dollar-sign-7kEiJiZu.js → dollar-sign-mIKoeQxp.js} +1 -1
  154. package/dist/assets/{download-BBR5ebcY.js → download-LDDA2n95.js} +1 -1
  155. package/dist/assets/{drawer-DSOHNCmV.js → drawer-DdjNUdLN.js} +1 -1
  156. package/dist/assets/{dropdown-D7EchLhT.js → dropdown-CMiXxU1B.js} +1 -1
  157. package/dist/assets/{dropdown-D1LJJBmO.js → dropdown-D0WY3qJO.js} +1 -1
  158. package/dist/assets/{ellipsis-BcXjFJJv.js → ellipsis-CP-BL-iO.js} +1 -1
  159. package/dist/assets/{esm-D8cDrNWt.js → esm-4VTl49X9.js} +3 -3
  160. package/dist/assets/esm-B6hBOBRW.js +1 -0
  161. package/dist/assets/{esm-C_qUbM23.js → esm-Bp3iQn3w.js} +1 -1
  162. package/dist/assets/{esm-yQQu_87L.js → esm-D3ExGrJd.js} +2 -2
  163. package/dist/assets/{esm-DsEV6F6m.js → esm-DMgweWk_.js} +2 -2
  164. package/dist/assets/{esm-CwE-dCxp.js → esm-Yweo4ODl.js} +1 -1
  165. package/dist/assets/{esm-Bf-kbFlr.js → esm-gmc8Tpjs.js} +1 -1
  166. package/dist/assets/{external-link-D1-ajqLr.js → external-link-CiFxVqfE.js} +1 -1
  167. package/dist/assets/{eye-BKGwOvpL.js → eye-DI6pShDu.js} +1 -1
  168. package/dist/assets/file-B80udnm7.js +1 -0
  169. package/dist/assets/{file-output-HU08D9qR.js → file-output-BAi6qoc7.js} +1 -1
  170. package/dist/assets/{file-text-BymP_BMN.js → file-text-BhROIBYy.js} +1 -1
  171. package/dist/assets/{fish-BqIOiqQH.js → fish-BRLJYUAO.js} +1 -1
  172. package/dist/assets/{flux-C2yCaSMm.js → flux-DfBqyacW.js} +1 -1
  173. package/dist/assets/{folder-BGhy0pLi.js → folder-txym0RUE.js} +1 -1
  174. package/dist/assets/gauge-BBuq5rxO.js +1 -0
  175. package/dist/assets/{globe-D_n7hbC2.js → globe-BIvs6o6q.js} +1 -1
  176. package/dist/assets/{grokvideo-NefMdcz8.js → grokvideo-Bou5B1Uj.js} +1 -1
  177. package/dist/assets/{sora-BtonKoQf.js → hailuo-DMzGp4xb.js} +1 -1
  178. package/dist/assets/{headphones-RVQ43ZdW.js → headphones-rnilQWSF.js} +1 -1
  179. package/dist/assets/{history-D6tyP7qR.js → history-N-pozsdR.js} +1 -1
  180. package/dist/assets/{house-Che2ToTw.js → house-BoRR2eE1.js} +1 -1
  181. package/dist/assets/{i18n-Cr8KpYEt.js → i18n-BMgeFHoQ.js} +1 -1
  182. package/dist/assets/{image-D7yuM8YU.js → image-Ctt9oB_3.js} +1 -1
  183. package/dist/assets/{index-CDLPhzZx.css → index-Cbc786wP.css} +1 -1
  184. package/dist/assets/{index-Cu9pnwju.js → index-NQhLFvCT.js} +15 -15
  185. package/dist/assets/{index.browser.esm-DK18zdEa.js → index.browser.esm-BWIAsVvx.js} +1 -1
  186. package/dist/assets/{index.es-DY27TlFF.js → index.es-o35-q5Jn.js} +1 -1
  187. package/dist/assets/{info-DqOFjqKn.js → info-RB2UKcjL.js} +1 -1
  188. package/dist/assets/{input-number-Dr1DbdBq.js → input-number-Dz4VZooF.js} +1 -1
  189. package/dist/assets/{key-round-DGZNafw5.js → key-round-Cq1XDG6i.js} +1 -1
  190. package/dist/assets/{kling-QooaAKn4.js → kling-ChTIJza1.js} +1 -1
  191. package/dist/assets/{languages-IdKIq0Rk.js → languages-OIQ5tSKm.js} +1 -1
  192. package/dist/assets/{laptop-B6i3BYpY.js → laptop-CXKAiyi1.js} +1 -1
  193. package/dist/assets/{lightbulb-BnQ4IgUV.js → lightbulb-CSEYdZB7.js} +1 -1
  194. package/dist/assets/{link-CFGKe98Q.js → link-DBLtRDbw.js} +1 -1
  195. package/dist/assets/loader-circle-Cw68u1V8.js +1 -0
  196. package/dist/assets/lock-ncHLf-gT.js +1 -0
  197. package/dist/assets/{luma-LfZhKrys.js → luma-T60Sxoxa.js} +1 -1
  198. package/dist/assets/{maestro-BESJ7XnU.js → maestro-CSLWUtZt.js} +1 -1
  199. package/dist/assets/{maestro-CeQxm905.js → maestro-kHSSjXRl.js} +1 -1
  200. package/dist/assets/{mail-DTFsebAb.js → mail-D9oBZXHV.js} +1 -1
  201. package/dist/assets/{message-circle-CJGb2zfU.js → message-circle-Dr6hubpu.js} +1 -1
  202. package/dist/assets/{mic-B9YsjO8L.js → mic-D2DowRjY.js} +1 -1
  203. package/dist/assets/{midjourney-CxOPp0_f.js → midjourney-CYUTkNWu.js} +1 -1
  204. package/dist/assets/{midjourney-Catq_3fk.js → midjourney-DAwMOlT5.js} +1 -1
  205. package/dist/assets/{mobileLocalExec-lvJ2JB8L.js → mobileLocalExec-k-5trNVt.js} +2 -2
  206. package/dist/assets/monitor-Cmqb9sW9.js +1 -0
  207. package/dist/assets/{mouse-pointer-2-CBORnTmd.js → mouse-pointer-2-B90DsmXY.js} +1 -1
  208. package/dist/assets/music-2-DmEjQhJK.js +1 -0
  209. package/dist/assets/{seedance-BHzJU8Kn.js → nanobanana-BvKdAjiT.js} +1 -1
  210. package/dist/assets/{omni-DYqGDzOd.js → omni-COmbH6WS.js} +1 -1
  211. package/dist/assets/{openaiimage-DtUPyrzx.js → openaiimage-DNCUohcn.js} +1 -1
  212. package/dist/assets/order-CdfkZCC4.js +1 -0
  213. package/dist/assets/pagination-CFcD1SQE.js +1 -0
  214. package/dist/assets/{pagination-4261P5k6.js → pagination-D0u3tuFM.js} +2 -2
  215. package/dist/assets/pagination-D_6MZ9Xf.js +1 -0
  216. package/dist/assets/{palette-D4GVjnZd.js → palette-BvIE3Qr-.js} +1 -1
  217. package/dist/assets/{paperclip-DRh2e7dV.js → paperclip-oOuIi8Qk.js} +1 -1
  218. package/dist/assets/{pause-CGyzd3H4.js → pause-Chqy-1mW.js} +1 -1
  219. package/dist/assets/{pencil-VJijUAzQ.js → pencil-DMujlmFy.js} +1 -1
  220. package/dist/assets/{pika--L2ZxLSB.js → pika-DvEpF-Y5.js} +1 -1
  221. package/dist/assets/pixverse-PXC6IU1D.js +1 -0
  222. package/dist/assets/{hailuo-BJamYkYm.js → pixverse-Vyq3UFYx.js} +1 -1
  223. package/dist/assets/play-vgkRlP0T.js +1 -0
  224. package/dist/assets/plug-CkDQ51_L.js +1 -0
  225. package/dist/assets/plus-By5Qacpg.js +1 -0
  226. package/dist/assets/poivelle-DXySdil3.js +1 -0
  227. package/dist/assets/{popover-DJQz1E5b.js → popover-CKdKLGKL.js} +1 -1
  228. package/dist/assets/{producer-CpKACZSS.js → producer-Bgo4swLN.js} +1 -1
  229. package/dist/assets/{qrart-ByjVDW9B.js → qrart-BdULO0ov.js} +1 -1
  230. package/dist/assets/{qrart-CJH3KbVY.js → qrart-pSMfz59P.js} +1 -1
  231. package/dist/assets/{realtime-CZjRMzp1.js → realtime-Cfve3bp8.js} +1 -1
  232. package/dist/assets/{refresh-cw-zNdBTSpS.js → refresh-cw-BP2lZ4Io.js} +1 -1
  233. package/dist/assets/rotate-ccw-wk763BVv.js +1 -0
  234. package/dist/assets/rotate-cw-DY3HK_Vz.js +1 -0
  235. package/dist/assets/{row-CsOMYwe4.js → row-KG3FewmS.js} +1 -1
  236. package/dist/assets/search-BfbZESba.js +1 -0
  237. package/dist/assets/{nanobanana-C8luG3TL.js → seedance-Bds_eiU6.js} +1 -1
  238. package/dist/assets/{seedream-COjOVmfI.js → seedream-eX9gchwX.js} +1 -1
  239. package/dist/assets/{select-DyaXKYjL.js → select-LvaKgyRc.js} +1 -1
  240. package/dist/assets/{serp-D38wJSze.js → serp-D5x3oibU.js} +1 -1
  241. package/dist/assets/shield-DsobIZ9Z.js +1 -0
  242. package/dist/assets/{shuffle-BCQnxUdj.js → shuffle-DTRD25qg.js} +1 -1
  243. package/dist/assets/skill-0i74Fj_O.js +8 -0
  244. package/dist/assets/skill-B0G9tQHH.js +8 -0
  245. package/dist/assets/skill-BJoSDUm2.js +8 -0
  246. package/dist/assets/skill-Bdwiv8q3.js +8 -0
  247. package/dist/assets/skill-Bm_BDGaQ.js +8 -0
  248. package/dist/assets/skill-BoE7nhUS.js +8 -0
  249. package/dist/assets/skill-C27zo6FZ.js +8 -0
  250. package/dist/assets/skill-CJS966ZP.js +8 -0
  251. package/dist/assets/skill-CMjI3y1J.js +8 -0
  252. package/dist/assets/skill-CRLfSlIp.js +8 -0
  253. package/dist/assets/skill-CWiA3OfU.js +8 -0
  254. package/dist/assets/skill-CmNmHGLf.js +8 -0
  255. package/dist/assets/skill-DGY2KDYe.js +8 -0
  256. package/dist/assets/skill-DOzQHGwb.js +8 -0
  257. package/dist/assets/skill-X6jBvGkj.js +8 -0
  258. package/dist/assets/skill-mW9sBB4h.js +8 -0
  259. package/dist/assets/skill-o1t7rk9x.js +8 -0
  260. package/dist/assets/skill-ufNnZ28x.js +8 -0
  261. package/dist/assets/{slider-CXxCxbTB.js → slider-DTkR70h5.js} +1 -1
  262. package/dist/assets/{sliders-horizontal-CRMVTFsv.js → sliders-horizontal-B9zIWPLK.js} +1 -1
  263. package/dist/assets/{solana-wallets-ca2cLIWJ.js → solana-wallets-C3-1zaf5.js} +2 -2
  264. package/dist/assets/{solana-wallets-vue-De9Oh78L.js → solana-wallets-vue-tqXpV-EK.js} +1 -1
  265. package/dist/assets/sora-Bs-MLj1B.js +1 -0
  266. package/dist/assets/{pixverse-Ca8vth-H.js → sora-CRXgdPdI.js} +1 -1
  267. package/dist/assets/{sparkles-BaG6vD6d.js → sparkles-ZIpFDwe5.js} +1 -1
  268. package/dist/assets/square-CwMDSLCu.js +1 -0
  269. package/dist/assets/store-ejQKhlRj.js +1 -0
  270. package/dist/assets/subsite-Bw-69e_3.js +1 -0
  271. package/dist/assets/{suno-Dv09L3I8.js → suno-CHQLw2LR.js} +2 -2
  272. package/dist/assets/{suno-BIs760ZO.js → suno-DuvxR84W.js} +1 -1
  273. package/dist/assets/{switch-D-Svkm9G.js → switch-DAdN8Vh2.js} +1 -1
  274. package/dist/assets/{table-gaRdVX7f.js → table-DG76fdz9.js} +1 -1
  275. package/dist/assets/{tabs-CjFlXpW-.js → tabs--xygkAUx.js} +1 -1
  276. package/dist/assets/{tag-DYoz3_nG.js → tag-CpHzgK0_.js} +1 -1
  277. package/dist/assets/taskDrawerMixin-DyAUhFEq.js +1 -0
  278. package/dist/assets/terminal-p3haoUR9.js +1 -0
  279. package/dist/assets/{time-picker-CyEb3bZj.js → time-picker-mD-BhI85.js} +1 -1
  280. package/dist/assets/{tooltip-CRh9IO_s.js → tooltip-Dy1LvOzq.js} +1 -1
  281. package/dist/assets/{trash-2-hNVHoFUD.js → trash-2-D_NoEBBp.js} +1 -1
  282. package/dist/assets/{triangle-alert-Bl9A9M0a.js → triangle-alert-BK4-7oIL.js} +1 -1
  283. package/dist/assets/{upload-BXJX6cB-.js → upload-D_Iy8VUb.js} +1 -1
  284. package/dist/assets/{upload-C3SMAzmm.js → upload-DqEeyoiI.js} +1 -1
  285. package/dist/assets/user-Dzf5Fm_O.js +1 -0
  286. package/dist/assets/vendor-highlight-BHrfT4-E.js +5 -0
  287. package/dist/assets/vendor-highlight-XQIgUEMi.css +1 -0
  288. package/dist/assets/{veo-BIXyYf9D.js → veo-BJbqBk7K.js} +1 -1
  289. package/dist/assets/{video-C-WQlDXz.js → video-Ce-Ja6Ku.js} +1 -1
  290. package/dist/assets/{volume-2-DIM2HaTD.js → volume-2-B0OmSr3V.js} +1 -1
  291. package/dist/assets/{wallet-C2x83l-K.js → wallet-D16wnA4X.js} +1 -1
  292. package/dist/assets/{wan-BbwOeoKj.js → wan-CHl84oZe.js} +1 -1
  293. package/dist/assets/{wand-sparkles-BorB_YId.js → wand-sparkles-CpJf9L5C.js} +1 -1
  294. package/dist/assets/{web-Dpf-cYvh.js → web-2rte_Iql.js} +1 -1
  295. package/dist/assets/{web-BwspRDTs.js → web-ChLkUjRK.js} +1 -1
  296. package/dist/assets/{web-DSnrgV0d.js → web-CjHGXeZy.js} +1 -1
  297. package/dist/assets/{web--FiC2n3o.js → web-R9wbecSS.js} +1 -1
  298. package/dist/assets/{web-DBfsx355.js → web-sM2d7cVw.js} +1 -1
  299. package/dist/assets/webextrator-CPKVHzM9.js +1 -0
  300. package/dist/assets/{zap-Bx9GGr6t.js → zap-DDJuUmtO.js} +1 -1
  301. package/dist/index.html +4 -4
  302. package/package.json +1 -1
  303. package/dist/assets/ApiCodeButton-CTKQfEpH.js +0 -1
  304. package/dist/assets/AskUserQuestionCard-CBSp4rap.js +0 -20
  305. package/dist/assets/CodeSnippet-DCumMkCd.js +0 -1
  306. package/dist/assets/Console-BIyjiCUb.js +0 -1
  307. package/dist/assets/Conversation-BsWp9xGQ.js +0 -1
  308. package/dist/assets/Conversation-Dd7jlgki.js +0 -1
  309. package/dist/assets/Detail-B9UcoXNw.js +0 -2
  310. package/dist/assets/Extra-CCqhhRdw.js +0 -1
  311. package/dist/assets/Index-8Q6fcaK2.js +0 -1
  312. package/dist/assets/Index-B2P21-9r.js +0 -1
  313. package/dist/assets/Index-BCMM3gUP.js +0 -1
  314. package/dist/assets/Index-BGn8seQG.js +0 -1
  315. package/dist/assets/Index-BVHpcCy4.js +0 -1
  316. package/dist/assets/Index-Bhf2lRep2.js +0 -1
  317. package/dist/assets/Index-BpRiWaC0.js +0 -1
  318. package/dist/assets/Index-Bt8eVrcF.js +0 -1
  319. package/dist/assets/Index-CAp4UIVR.js +0 -1
  320. package/dist/assets/Index-CF6mHVq-2.js +0 -1
  321. package/dist/assets/Index-CIzPgAC8.js +0 -1
  322. package/dist/assets/Index-CMoU8-_E.js +0 -1
  323. package/dist/assets/Index-CQCoGpbg2.js +0 -1
  324. package/dist/assets/Index-CdTx9I03.js +0 -1
  325. package/dist/assets/Index-D8TVbzyz.js +0 -1
  326. package/dist/assets/Index-DI5JcGCB.js +0 -1
  327. package/dist/assets/Index-DUYMM0jI.js +0 -1
  328. package/dist/assets/Index-YTZvJ31j.js +0 -1
  329. package/dist/assets/Index-cEF8Xy7t2.js +0 -1
  330. package/dist/assets/Index-gd1DOI-02.js +0 -1
  331. package/dist/assets/Index-k01Djdvc.js +0 -1
  332. package/dist/assets/Index-wk4UBjul.js +0 -1
  333. package/dist/assets/List-B377aKl8.js +0 -1
  334. package/dist/assets/List-BYzFCqlC.js +0 -1
  335. package/dist/assets/List-Dllynizh.js +0 -1
  336. package/dist/assets/LocalTools-CnjsxSfX.js +0 -5
  337. package/dist/assets/Message-BIfCd2yN.js +0 -3
  338. package/dist/assets/Model-By-7wHqZ.js +0 -1
  339. package/dist/assets/ScheduledTasks-DJEj7GvT.js +0 -2
  340. package/dist/assets/application-BxWkr4G9.js +0 -1
  341. package/dist/assets/arrow-down-CqvrzTPK.js +0 -1
  342. package/dist/assets/arrow-left-39CbQWwP.js +0 -1
  343. package/dist/assets/arrow-right-C3jnBQBd.js +0 -1
  344. package/dist/assets/arrow-up-F1AYN3Ka.js +0 -1
  345. package/dist/assets/byok-DHOdfufU.js +0 -1
  346. package/dist/assets/check-Da8rNZFx.js +0 -1
  347. package/dist/assets/chevron-down-BQfCD5e-.js +0 -1
  348. package/dist/assets/chevron-right-aYw48e5R.js +0 -1
  349. package/dist/assets/circle-check-DZiKWXCD.js +0 -1
  350. package/dist/assets/clock-iCh4pBWq.js +0 -1
  351. package/dist/assets/common-D9rVh4i4.js +0 -1
  352. package/dist/assets/digitalhuman-BkJwNrqn.js +0 -1
  353. package/dist/assets/esm-CkO9Uma_.js +0 -1
  354. package/dist/assets/gauge-Dem8yzcn.js +0 -1
  355. package/dist/assets/loader-circle-Bi_3S0Xd.js +0 -1
  356. package/dist/assets/music-2-CEj9gIve.js +0 -1
  357. package/dist/assets/order-mdMeAKDl.js +0 -1
  358. package/dist/assets/pagination-PhRnpd7U.js +0 -1
  359. package/dist/assets/pixverse-DRSxcF4B.js +0 -1
  360. package/dist/assets/play-TPN64r5f.js +0 -1
  361. package/dist/assets/plus-DOXLg-_3.js +0 -1
  362. package/dist/assets/poivelle-Bpv-g-Kz.js +0 -1
  363. package/dist/assets/rotate-ccw-DR4-LZXo.js +0 -1
  364. package/dist/assets/rotate-cw-B_qpCCCa.js +0 -1
  365. package/dist/assets/search-DcMRxS_J.js +0 -1
  366. package/dist/assets/shield-B0gCWkre.js +0 -1
  367. package/dist/assets/sora-DJnPtn3L.js +0 -1
  368. package/dist/assets/square-DBd0-sya.js +0 -1
  369. package/dist/assets/subsite-VdEaGCsY.js +0 -1
  370. package/dist/assets/taskDrawerMixin-Cnz60DiS.js +0 -1
  371. package/dist/assets/terminal-CmQfxbMM.js +0 -1
  372. package/dist/assets/user-CXAyqjpY.js +0 -1
  373. package/dist/assets/vendor-highlight-BtIeKitL.js +0 -5
  374. package/dist/assets/vendor-highlight-DFgTH0rK.css +0 -1
  375. package/dist/assets/webextrator-BlFdrYZp.js +0 -1
@@ -1 +1 @@
1
- var e={"thinking.inProgress":{message:`In corso di pensiero...`,description:`Etichetta mostrata mentre il modello genera il processo di inferenza`},"thinking.done":{message:`Processo di pensiero`,description:`Etichetta usata per espandere il processo di inferenza dopo che il modello ha completato l'inferenza`},"button.thinkDeeper":{message:`Pensa più a fondo`,description:`Pulsante per pensare più a fondo`},"button.deepsearch":{message:`Ricerca approfondita`,description:`Pulsante per ricerca approfondita`},"button.search":{message:`Cerca`,description:`Pulsante di ricerca`},"button.edit":{message:`Modifica messaggio`,description:`Modifica il messaggio inviato`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Nome del modello del servizio, ovvero GPT`},"modelGroup.chatgptDescription":{message:`Modello AI sviluppato da OpenAI`,description:`Descrizione del modello ChatGPT`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Nome del modello del servizio, ovvero DeepSeek`},"modelGroup.deepseekDescription":{message:`Modello AI sviluppato da DeepSeek`,description:`Descrizione del modello DeepSeek`},"modelGroup.grok":{message:`Grok`,description:`Nome del modello del servizio, ovvero Grok`},"modelGroup.grokDescription":{message:`Modello AI sviluppato da xAI`,description:`Descrizione del modello Grok3`},"modelGroup.gemini":{message:`Gemini`,description:`Nome del modello del servizio, ovvero Gemini`},"modelGroup.geminiDescription":{message:`Modello AI sviluppato da Google`,description:`Descrizione del gruppo di modelli Gemini`},"modelGroup.claude":{message:`Claude`,description:`Nome del modello del servizio, ovvero Claude`},"modelGroup.claudeDescription":{message:`Modello AI sviluppato da Anthropic`,description:`Descrizione del gruppo di modelli Claude`},"modelGroup.kimi":{message:`Kimi`,description:`Nome del modello del servizio, ovvero Kimi`},"modelGroup.kimiDescription":{message:`Modello AI sviluppato da Moonlight`,description:`Descrizione del gruppo di modelli Kimi`},"modelGroup.glm":{message:`GLM`,description:`Nome del modello del servizio, ovvero GLM`},"modelGroup.glmDescription":{message:`Modello di linguaggio sviluppato da Zhipu AI`,description:`Descrizione del gruppo di modelli GLM`},"model.56Sol":{message:`gpt-5.6-sol`,description:`Nome del modello del servizio, ovvero GPT 5.6 Sol`},"model.56SolDescription":{message:`Modello di punta di ultima generazione GPT 5.6 Sol`,description:`Descrizione del modello GPT 5.6 Sol`},"model.56Terra":{message:`gpt-5.6-terra`,description:`Nome del modello del servizio, ovvero GPT 5.6`},"model.56TerraDescription":{message:`Modello di punta di ultima generazione GPT 5.6`,description:`Descrizione del modello GPT 5.6`},"model.56Luna":{message:`gpt-5.6-luna`,description:`Nome del modello del servizio, ovvero GPT 5.6 Luna`},"model.56LunaDescription":{message:`Modello GPT 5.6 più veloce e leggero`,description:`Descrizione del modello GPT 5.6 Luna`},"model.freeTag":{message:`Gratis`,description:`Badge mostrato accanto ai modelli gratuiti nel selettore modello`},"model.deepseekChat":{message:`3.0`,description:`Nome del modello del servizio, ovvero DeepSeek Chat`},"model.deepseekChatDescription":{message:`Adatto per compiti quotidiani`,description:`Descrizione del modello DeepSeek Chat`},"model.deepseekReasoner":{message:`R1`,description:`Nome del modello del servizio, ovvero DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Adatto per inferenze e domande di pensiero profondo`,description:`Descrizione del modello DeepSeek Reasoner`},"model.deepseekChat32":{message:`3.2`,description:`Nome del modello del servizio, ovvero DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Ultima versione sperimentale`,description:`Descrizione del modello sperimentale DeepSeek V3.2`},"model.deepseekV4Flash":{message:`4.0`,description:`Nome del modello del servizio, ovvero DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Modello di punta leggero di ultima generazione, 1M contesto`,description:`Descrizione del modello DeepSeek V4 Flash`},"model.grok4":{message:`grok-4`,description:`Nome del modello del servizio, ovvero Grok 4`},"model.grok4Description":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Grok 4`},"model.grok3":{message:`grok-3`,description:`Nome del modello del servizio`},"model.grok3Description":{message:`Adatto per la maggior parte dei compiti`,description:`Descrizione del modello Grok3`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Nome del modello del servizio, ovvero Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Gemini 3.0 Pro`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Nome del modello del servizio, ovvero Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Gemini 3.0 Pro`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Nome del modello del servizio, ovvero Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Adatto per compiti di inferenza complessi`,description:`Descrizione del modello Gemini 2.5 Pro`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Nome del modello del servizio, ovvero Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Modello più veloce e leggero`,description:`Descrizione del modello Gemini 2.5 Flash`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Nome del modello del servizio, ovvero Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Modello più veloce e leggero`,description:`Descrizione del modello Gemini 2.5 Flash`},"model.claudeOpus5":{message:`claude-opus-5`,description:`Name of the service model, i.e., Claude Opus 5`},"model.claudeOpus5Description":{message:`Il modello più avanzato attualmente disponibile`,description:`Descrizione del modello Claude Opus 5`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Nome del modello del servizio, ovvero Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Il modello più avanzato attualmente`,description:`Descrizione del modello Claude Opus 4.8`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`Nome del modello del servizio, ovvero Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Adatto per la maggior parte dei compiti`,description:`Descrizione del modello Claude Sonnet 4.6`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Nome del modello del servizio, ovvero Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Modello leggero e veloce`,description:`Descrizione del modello Claude Haiku 4.5`},"model.kimiK3":{message:`kimi-k3`,description:`Name of Moonshot AI's Kimi K3 flagship model`},"model.kimiK3Description":{message:`Modello di punta che supporta inferenza, visione e contesto di 1 milione di Token`,description:`Descrizione del modello Kimi K3`},"model.kimiK26":{message:`kimi-k2.6`,description:`Name of the Kimi K2.6 model`},"model.kimiK26Description":{message:`Modello di inferenza e visione compatibile con flussi di lavoro K2`,description:`Descrizione del modello Kimi K2.6`},"model.kimiK25":{message:`kimi-k2.5`,description:`Nome del modello del servizio, ovvero Kimi K2.5`},"model.kimiK25Description":{message:`Modello K2 generico adatto a flussi di lavoro compatibili`,description:`Descrizione del modello Kimi K2.5`},"model.kimiK2Thinking":{message:`kimi-k2 inferenza`,description:`Nome del modello del servizio, ovvero Kimi K2 inferenza`},"model.kimiK2ThinkingDescription":{message:`Adatto per inferenze e pensiero profondo`,description:`Descrizione del modello Kimi K2 inferenza`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 inferenza turbo`,description:`Nome del modello del servizio, ovvero Kimi K2 inferenza turbo`},"model.kimiK2ThinkingTurboDescription":{message:`Modello di inferenza più veloce`,description:`Descrizione del modello Kimi K2 inferenza turbo`},"model.glm51":{message:`glm-5.1`,description:`Nome del modello del servizio, ovvero GLM 5.1`},"model.glm51Description":{message:`Ultimo modello di punta di Zhipu`,description:`Descrizione del modello GLM 5.1`},"model.glm47":{message:`glm-4.7`,description:`Nome del modello del servizio, ovvero GLM 4.7`},"model.glm47Description":{message:`Equilibrio tra prestazioni e costi`,description:`Descrizione del modello GLM 4.7`},"message.startNewChat":{message:`Inizia una nuova conversazione`,description:`Messaggio nella pagina web che informa l'utente di iniziare una nuova conversazione`},"message.uploadFile":{message:`Carica file`,description:`Messaggio nella pagina web che informa l'utente di caricare un file`},"message.noToken":{message:`Richiedi prima il servizio appropriato`,description:`Messaggio nella pagina web che informa l'utente di richiedere prima il servizio appropriato`},"message.newMessagePlaceholder":{message:`Inserisci la tua domanda...`,description:`Segnaposto nella pagina web che informa l'utente di inserire una domanda`},"message.noInput":{message:`La domanda non può essere vuota`,description:`Messaggio nella pagina web che informa l'utente che la domanda non può essere vuota`},"message.uploadReferencesExceed":{message:`Puoi caricare al massimo 1 file`,description:`Messaggio nella pagina web che informa l'utente che può caricare al massimo 1 file`},"message.uploadReferencesError":{message:`Caricamento del file fallito, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che il caricamento del file è fallito, riprova più tardi`},"message.notApplied":{message:`Non hai ancora richiesto questo servizio, richiedilo prima`,description:`Messaggio nella pagina web che informa l'utente che non ha ancora richiesto questo servizio, richiedilo prima`},"message.tryForFree":{message:`Prova gratuita`,description:`Messaggio nella pagina web che informa l'utente della prova gratuita`},"message.question1":{message:`Crea un piano di allenamento`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di scrivere un codice JavaScript che stampi 'Hello World'`},"message.question2":{message:`Crea una pagina web personale`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di scrivere un'email a Mike per informarlo del suo recente trasloco`},"message.question3":{message:`Progetta un gioco di programmazione divertente`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di spiegare i principi fondamentali del calcolo quantistico in modo semplice`},"message.question4":{message:`Vivi Seul come un locale`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di spiegare l'impatto della realtà virtuale sulla creazione artistica`},"message.question5":{message:`Chi è più grande, 9.8 o 9.11?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo di confrontare la grandezza di due numeri`},"message.question6":{message:`Qual è l'impatto dell'IA sul futuro?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo quale sia l'impatto dell'IA sul futuro`},"message.question7":{message:`Come migliorare l'efficienza di apprendimento?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo come migliorare la propria efficienza di apprendimento`},"message.question8":{message:`Come migliorare la concentrazione?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo come migliorare la propria concentrazione`},"message.errorApiError":{message:`Risposta fallita, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che la risposta è fallita, riprova più tardi`},"message.errorBadRequest":{message:`Contenuto della richiesta non valido, riprova`,description:`Messaggio nella pagina web che informa l'utente che il contenuto della richiesta non è valido, riprova`},"message.errorNoConversation":{message:`La conversazione non esiste o è scaduta, inizia una nuova conversazione`,description:`Messaggio nella pagina web che informa l'utente che la conversazione non esiste o è scaduta, inizia una nuova conversazione`},"message.errorContentTooLarge":{message:`Il contenuto della domanda è troppo lungo, accorcia e riprova`,description:`Messaggio nella pagina web che informa l'utente che il contenuto della domanda è troppo lungo, accorcia e riprova`},"message.errorTooManyRequests":{message:`Troppe richieste, riprova più tardi`,description:`Messaggio nella pagina che informa l'utente che ha effettuato troppe richieste e deve riprovare più tardi`},"message.errorBusy":{message:`Server occupato, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che il server è occupato, riprovare più tardi`},"message.errorUsedUp":{message:`Hai esaurito il numero di utilizzi del pacchetto, acquista più utilizzi per continuare`,description:`Messaggio nella pagina web che informa l'utente che ha esaurito il numero di utilizzi del pacchetto, deve acquistare più utilizzi per continuare`},"message.errorUnknown":{message:`Si è verificato un errore sconosciuto del server, riprova più tardi o contatta il supporto`,description:`Messaggio nella pagina web che informa l'utente che si è verificato un errore sconosciuto del server, riprovare più tardi o contattare il supporto`},"message.errorTimeout":{message:`Timeout nella risposta, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che c'è stato un timeout nella risposta, riprovare più tardi`},"message.errorNotApplied":{message:`Non hai ancora richiesto questo servizio, richiedilo prima di continuare a fare domande`,description:`Messaggio nella pagina web che informa l'utente che non ha ancora richiesto questo servizio, deve richiederlo prima di continuare a fare domande`},"message.confirmDelete":{message:`Conferma eliminazione`,description:`Messaggio nella pagina web che informa l'utente di confermare l'eliminazione`},"message.howToUse":{message:`L'AI potrebbe commettere errori, controlla le informazioni importanti.`,description:`Messaggio nella pagina web che informa l'utente che l'AI potrebbe commettere errori, controllare le informazioni importanti`},"title.chat":{message:`Chat AI`,description:`Titolo della pagina web, ovvero Chat AI`},"title.example":{message:`Esempio`,description:`Titolo della pagina web, ovvero Esempio`},"title.capabilities":{message:`Funzionalità`,description:`Titolo della pagina web, ovvero Funzionalità`},"title.limitations":{message:`Limitazioni`,description:`Titolo nella pagina web che indica che questa parte riguarda le limitazioni tecniche del servizio`},"title.complexQuestion":{message:`Rispondere a domande complesse`,description:`Titolo nella pagina web che indica che questa parte riguarda la capacità del servizio di rispondere a domande complesse`},"title.professionalQuestion":{message:`Consultare domande professionali`,description:`Titolo nella pagina web che indica che questa parte riguarda la capacità del servizio di consultare domande professionali`},"title.getTips":{message:`Ottieni ispirazione e idee`,description:`Titolo nella pagina web che indica che questa parte riguarda la capacità del servizio di ottenere ispirazione e idee`},"group.today":{message:`Oggi`,description:`Nome del gruppo nella pagina web, ovvero Oggi`},"group.yesterday":{message:`Ieri`,description:`Nome del gruppo nella pagina web, ovvero Ieri`},"group.thisWeek":{message:`Questa settimana`,description:`Nome del gruppo nella pagina web, ovvero Questa settimana`},"group.earlier":{message:`Precedente`,description:`Nome del gruppo nella pagina web, ovvero Precedente`},"connections.tooltip":{message:`Gestione connessioni`,description:`Suggerimento del pulsante per passare alla pagina di gestione delle connessioni auth.acedata.cloud`},"skill.tooltip":{message:`Gestione abilità`,description:`Suggerimento del pulsante per passare alla pagina di gestione delle abilità auth.acedata.cloud`},"composer.addAction":{message:`Aggiungi contenuto`,description:`Suggerimento del pulsante più sotto il campo di input, espandendo si possono caricare file, aprire abilità o gestire connessioni`},"composer.addFiles":{message:`Aggiungi foto o file`,description:`Voce nel menu a discesa del pulsante più: carica immagini o file`},"composer.skills":{message:`Abilità`,description:`Voce nel menu a discesa del pulsante più: apri gestione abilità`},"composer.connections":{message:`Connessioni`,description:`Voce nel menu a discesa del pulsante più: apri gestione connessioni`},"agent.title":{message:`Agente desktop`,description:`Titolo della finestra di gestione dell'agente`},"agent.tooltip":{message:`Agente desktop`,description:`Suggerimento del pulsante dell'agente`},"agent.connected":{message:`Connesso`,description:`Stato dell'agente connesso`},"agent.notConnected":{message:`Non connesso`,description:`Stato dell'agente non connesso`},"agent.description":{message:`Collega l'agente desktop per accedere a file locali, eseguire comandi e utilizzare il server MCP locale durante le conversazioni con l'AI.`,description:`Descrizione dell'agente`},"agent.name":{message:`Nome dell'agente`,description:`Etichetta per il nome dell'agente`},"agent.tools":{message:`Strumenti disponibili`,description:`Etichetta per il numero di strumenti dell'agente`},"agent.connectedSince":{message:`Tempo di connessione`,description:`Etichetta per il tempo di connessione dell'agente`},"agent.connectedHint":{message:`Il tuo agente desktop è connesso e pronto all'uso.`,description:`Suggerimento per l'agente connesso`},"agent.installLabel":{message:`Installa il proxy desktop:`,description:`Etichetta delle istruzioni di installazione`},"agent.runLabel":{message:`Esegui agente:`,description:`Etichetta di descrizione dell'esecuzione`},"askUserQuestion.submit":{message:`Invia`,description:`Pulsante di invio per l'ultima domanda della guida ask-user-question`},"askUserQuestion.next":{message:`Domanda successiva`,description:`Avanza alla domanda successiva nella guida ask-user-question`},"askUserQuestion.back":{message:`Domanda precedente`,description:`Torna alla domanda precedente nella guida ask-user-question`},"askUserQuestion.skipAll":{message:`Salta tutto`,description:`Salta l'intera guida ask-user-question, permettendo al modello di continuare senza risposte`},"askUserQuestion.other":{message:`Altro`,description:`Opzione fittizia; selezionandola si espande un campo di input di testo personalizzato`},"askUserQuestion.otherDesc":{message:`Inserisci la tua risposta`,description:`Descrizione di supporto sotto l'opzione 'Altro'`},"askUserQuestion.placeholder":{message:`Inserisci la risposta…`,description:`Testo segnaposto per il campo di input della risposta personalizzata per ogni domanda`},"askUserQuestion.multiSelectHint":{message:`Seleziona una o più opzioni`,description:`Suggerimento mostrato quando si supportano domande a scelta multipla`},"askUserQuestion.collapsedAnswerLabel":{message:`La tua risposta`,description:`Testo di fallback quando non è possibile estrarre una risposta specifica dall'output storico`},"consent.title":{message:`Autorizzazione del connettore richiesta`,description:`Titolo della scheda di autorizzazione del connettore`},"consent.matchAny":{message:`Autorizza uno qualsiasi`,description:`Etichetta: è sufficiente autorizzare uno qualsiasi dei connettori di questo gruppo`},"consent.matchAll":{message:`Richiede tutte le autorizzazioni`,description:`Etichetta: tutti i connettori di questo gruppo richiedono l'autorizzazione`},"consent.authorize":{message:`Autorizza`,description:`Pulsante di autorizzazione, cliccando si aprirà la pagina di autorizzazione di terze parti`},"consent.skip":{message:`Non autorizzare per ora`,description:`Pulsante per saltare l'autorizzazione; il modello continuerà senza il connettore`},"consent.continue":{message:`Continua`,description:`Pulsante Continua mostrato dopo aver rilevato (post-OAuth) che il connettore è ora collegato; il clic invia l'autorizzazione.`},"consent.selectScopes":{message:`Seleziona gli ambiti di autorizzazione per {provider}`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Seleziona i permessi che desideri autorizzare. Puoi selezionare più opzioni; se non selezionato, verranno concessi solo i dati di accesso di base.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Autorizzazione fallita. Si prega di riprovare.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Connesso`,description:`Indicatore di stato per connettore già connesso`},"consent.statusUnconnected":{message:`Non connesso`,description:`Indicatore di stato per connettore non connesso (mostrato quando non c'è un link di autorizzazione)`},"consent.resolvedAuthorized":{message:`Autorizzato: {list}`,description:`Nota in fondo alla scheda dopo che l'utente ha completato l'autorizzazione, {list} è la lista dei connettori autorizzati`},"consent.resolvedSkipped":{message:`Autorizzazione dei connettori saltata`,description:`Nota in fondo alla scheda dopo che l'utente ha saltato l'autorizzazione`},"browserTool.title":{message:`Attività del browser`,description:`Titolo predefinito per l'attività dello strumento BrowserDevice`},"browserTool.state.starting_session":{message:`Avvio della sessione del browser`,description:``},"browserTool.state.attaching_tab":{message:`Collegamento della scheda del browser`,description:``},"browserTool.state.ready":{message:`Browser pronto`,description:``},"browserTool.state.device_offline":{message:`Dispositivo del browser offline`,description:`Il dispositivo del browser selezionato non è online`},"browserTool.state.device_busy":{message:`Dispositivo del browser occupato`,description:``},"browserTool.state.authorization_required":{message:`Autorizzazione richiesta in Studio`,description:``},"browserTool.state.executing":{message:`Esecuzione nel browser`,description:`Il dispositivo del browser sta eseguendo lo strumento`},"browserTool.state.completed":{message:`Completato`,description:`Esecuzione dello strumento del browser completata`},"browserTool.state.stopped":{message:`Sessione del browser fermata`,description:``},"browserTool.state.expired":{message:`Richiesta del browser scaduta`,description:`La richiesta di esecuzione dello strumento del browser è scaduta`},"browserTool.state.debugger_unavailable":{message:`Chiudi gli strumenti per sviluppatori per continuare`,description:``},"browserTool.state.unknown_outcome":{message:`Risultato dell'esecuzione sconosciuto, verifica e riprova`,description:``},"browserTool.state.failed":{message:`Operazione del browser fallita`,description:``},"browserTool.stop":{message:`Ferma`,description:``},"browserTool.recovery.open-device-manager":{message:`Gestisci dispositivi`,description:``},"browserTool.recovery.stop-other-session":{message:`Ferma altre sessioni`,description:``},"browserTool.recovery.close-devtools":{message:`Chiudi strumenti per sviluppatori`,description:``},"browserTool.recovery.open-consent-card":{message:`Visualizza autorizzazione`,description:``},"scheduledTasks.navTitle":{message:`Compiti programmati`,description:`Entrata per i compiti programmati nella barra laterale`},"scheduledTasks.tab.tasks":{message:`Compiti programmati`,description:`Pagina dei compiti programmati - Scheda dei compiti`},"scheduledTasks.tab.runs":{message:`Registrazioni di esecuzione`,description:`Pagina dei compiti programmati - Scheda di tutte le registrazioni di esecuzione`},"scheduledTasks.filterAll":{message:`Tutti`,description:`Filtro dello stato delle registrazioni - Tutti`},"scheduledTasks.title":{message:`Compiti programmati`,description:`Titolo della pagina`},"scheduledTasks.create":{message:`Nuovo`,description:`Pulsante per creare un'attività programmata`},"scheduledTasks.edit":{message:`Modifica attività`,description:`Titolo della finestra di modifica`},"scheduledTasks.duplicate":{message:`Copia attività`,description:`Pulsante per copiare un'attività, precompilando il nuovo modulo basato su un'attività esistente`},"scheduledTasks.empty":{message:`Non ci sono attività programmate, clicca su «Nuovo» per crearne una`,description:`Messaggio di stato vuoto`},"scheduledTasks.noRuns":{message:`Nessuna esecuzione ancora`,description:`Nessuna cronologia di esecuzione`},"scheduledTasks.loadError":{message:`Caricamento fallito`,description:`Messaggio di errore di caricamento`},"scheduledTasks.deleteConfirm":{message:`Confermi di voler eliminare «{name}»? L'attività smetterà di funzionare dopo l'eliminazione.`,description:`Conferma di eliminazione`},"scheduledTasks.triggerNow":{message:`Attiva ora`,description:`Esecuzione manuale immediata del compito`},"scheduledTasks.triggerSuccess":{message:`Attivato, puoi controllare i risultati nei registri di esecuzione più tardi.`,description:`Messaggio di successo per attivazione manuale`},"scheduledTasks.triggerError":{message:`Attivazione fallita, riprova più tardi.`,description:`Messaggio di errore per attivazione manuale fallita`},"scheduledTasks.viewResult":{message:`Visualizza risultati`,description:`Vai alla conversazione`},"scheduledTasks.viewRuns":{message:`Registri di esecuzione`,description:`Visualizza la cronologia delle esecuzioni nella parte inferiore della scheda`},"scheduledTasks.noConversation":{message:`Nessuna registrazione di conversazione`,description:`Eseguito senza conversazione associata (versione precedente)`},"scheduledTasks.jitterHint":{message:`±60s di jitter`,description:`Spiegazione del jitter dell'orario di esecuzione`},"scheduledTasks.runCount":{message:`Eseguito {count} volte`,description:`Numero di esecuzioni`},"scheduledTasks.state.enabled":{message:`In esecuzione`,description:`Stato abilitato`},"scheduledTasks.state.disabled":{message:`In pausa`,description:`Stato disabilitato`},"scheduledTasks.state.error":{message:`Errore`,description:`Stato di errore`},"scheduledTasks.run.queued":{message:`In coda`,description:`Stato di coda`},"scheduledTasks.run.running":{message:`In esecuzione`,description:`Stato di esecuzione`},"scheduledTasks.run.success":{message:`Successo`,description:`Stato di successo`},"scheduledTasks.run.failed":{message:`Fallito`,description:`Stato di fallimento`},"scheduledTasks.run.indeterminate":{message:`Non confermato`,description:`Indeterminate run status (judge could not verify; not a failure)`},"scheduledTasks.run.reason.max_turns":{message:`Limite di passaggi raggiunto`},"scheduledTasks.run.reason.max_budget_usd":{message:`Limite di budget raggiunto`},"scheduledTasks.run.reason.tool_call_loop":{message:`Rilevato ciclo di chiamate agli strumenti`},"scheduledTasks.run.reason.prompt_too_long":{message:`Prompt troppo lungo`},"scheduledTasks.run.reason.aborted_streaming":{message:`Interrotto`},"scheduledTasks.run.reason.aborted_tools":{message:`Interrotto`},"scheduledTasks.run.reason.awaiting_user_input":{message:`In attesa del tuo input`},"scheduledTasks.run.reason.error":{message:`Errore`},"scheduledTasks.run.reason.unknown":{message:`Errore sconosciuto`},"scheduledTasks.run.reason.balance_insufficient":{message:`Saldo insufficiente`},"scheduledTasks.run.reason.billing_gate_failed":{message:`Autorizzazione alla fatturazione non riuscita`},"scheduledTasks.run.reason.unauthorized":{message:`Non autorizzato`},"scheduledTasks.run.reason.timeout":{message:`Timeout`},"scheduledTasks.run.reason.internal_error":{message:`Errore interno`},"scheduledTasks.run.needs_user_input":{message:`Richiesta di operazione`,description:`Stato che richiede l'operazione dell'utente`},"scheduledTasks.run.reason.browser_device_offline":{message:`Dispositivo del browser offline`,description:``},"scheduledTasks.run.reason.browser_authorization_stale":{message:`L'autorizzazione del browser è cambiata, modifica questo compito`,description:``},"scheduledTasks.scheduleType.daily":{message:`Giornaliero`,description:`Esecuzione giornaliera`},"scheduledTasks.scheduleType.minutely":{message:`Ogni minuto`},"scheduledTasks.scheduleType.hourly":{message:`Ogni ora`,description:`Esecuzione ogni ora`},"scheduledTasks.scheduleType.weekly":{message:`Settimanale`,description:`Esecuzione settimanale`},"scheduledTasks.scheduleType.cron":{message:`Espressione Cron`,description:`Cron personalizzato`},"scheduledTasks.scheduleType.interval":{message:`Ogni intervallo`,description:`Esecuzione a intervalli fissi`},"scheduledTasks.form.intervalUnit.minute":{message:`Minuti`,description:`Unità di intervallo: minuti`},"scheduledTasks.form.intervalUnit.hour":{message:`Ore`,description:`Unità di intervallo: ore`},"scheduledTasks.form.intervalUnit.day":{message:`Giorni`,description:`Unità di intervallo: giorni`},"scheduledTasks.form.hourlyMinute":{message:`Minuto di attivazione`,description:`Minuto in cui attivare ogni ora`},"scheduledTasks.form.hourlyMinuteHint":{message:`Minuto in cui attivare ogni ora (0–59)`,description:`Spiegazione del minuto orario`},"scheduledTasks.form.intervalHint":{message:`Esegui ogni volta a intervalli fissi dal precedente (minimo 1 minuto)`,description:`Spiegazione dell'intervallo fisso`},"scheduledTasks.form.cronHint":{message:`Espressione Cron standard a 5 segmenti: minuti ore giorno mese settimana`,description:`Spiegazione del Cron`},"scheduledTasks.form.schedulePreview":{message:`Frequenza di esecuzione: {text}`,description:`Anteprima della frequenza`},"scheduledTasks.humanize.everyNMinutes":{message:`Ogni {n} minuti`,description:`Leggibile dall'uomo: ogni N minuti`},"scheduledTasks.humanize.everyNHours":{message:`Ogni {n} ore`,description:`Leggibile dall'uomo: ogni N ore`},"scheduledTasks.humanize.everyNDays":{message:`Ogni {n} giorni`,description:`Leggibile dall'uomo: ogni N giorni`},"scheduledTasks.humanize.hourlyAtMinute":{message:`Ogni ora al minuto {n}`,description:`Leggibile dall'uomo: ogni ora al minuto N`},"scheduledTasks.humanize.dailyAt":{message:`Ogni giorno {time}`,description:`Leggibile dall'uomo: ogni giorno a un certo orario`},"scheduledTasks.humanize.weeklyAt":{message:`Ogni settimana {weekday} {time}`,description:`Leggibile dall'uomo: ogni settimana in un certo giorno a un certo orario`},"scheduledTasks.humanize.cronRaw":{message:`Cron: {cron}`,description:`Leggibile da umani: Cron originale`},"scheduledTasks.humanize.once":{message:`Una sola volta {time}`,description:`Leggibile dall'uomo: una sola volta`},"scheduledTasks.form.name":{message:`Nome attività`,description:`Campo per il nome`},"scheduledTasks.form.namePlaceholder":{message:`Esempio: riepilogo notizie giornaliere`,description:`Segnaposto per il nome`},"scheduledTasks.form.model":{message:`Modello`,description:`Selezione del modello`},"scheduledTasks.form.prompt":{message:`Parola chiave`,description:`Campo per la parola chiave`},"scheduledTasks.form.promptPlaceholder":{message:`Inserisci la domanda o il comando da eseguire regolarmente, supporta le variabili {'{{date}}'}, {'{{run_count}}'}, {'{{last_output}}'`,description:`Segnaposto per la parola chiave`},"scheduledTasks.form.promptHint":{message:`Supporta variabili di modello: {'{{date}}'} data odierna, {'{{run_count}}'} numero di esecuzione, {'{{last_output}}'} riepilogo dell'ultimo risultato`,description:`Descrizione della parola chiave`},"scheduledTasks.form.schedule":{message:`Frequenza di esecuzione`,description:`Scelta della frequenza`},"scheduledTasks.form.time":{message:`Orario di esecuzione`,description:`Campo per l'orario`},"scheduledTasks.form.weekday":{message:`Giorno della settimana`,description:`Campo per il giorno della settimana`},"scheduledTasks.form.cron":{message:`Espressione Cron`,description:`Campo per l'espressione cron`},"scheduledTasks.form.skills":{message:`Autorizza Skills`,description:`Autorizzazione multi-selezione per task programmati senza supervisione`},"scheduledTasks.form.skillsPlaceholder":{message:`Seleziona le Skills che possono essere eseguite automaticamente da questo compito`,description:`Segnaposto autorizzazione skill`},"scheduledTasks.form.skillsHint":{message:`Le Skills selezionate possono eseguire in background senza conferma manuale; le Skills non selezionate possono solo essere visualizzate o attendere conferma.`,description:`Descrizione autorizzazione skill`},"scheduledTasks.form.browserConnection":{message:`Connessione browser`,description:``},"scheduledTasks.form.browserEffects":{message:`Potrebbero essere eseguiti i seguenti effetti esterni: {effects}`,description:``},"scheduledTasks.form.authorizationExpires":{message:`Data di scadenza dell'autorizzazione non presidiata: {time}`,description:``},"scheduledTasks.form.browserBindingInvalid":{message:`Seleziona una connessione browser online e compatibile prima di salvare`,description:``},"scheduledTasks.form.connectionAccount":`Account for {connector}`,"scheduledTasks.form.connectionAccountDefault":`Use the default account`,"scheduledTasks.form.accountIsDefault":`default`,"scheduledTasks.form.skillMissing":{message:`Non connesso`,description:`skill manca la connessione`},"scheduledTasks.form.mcpServers":{message:`Autorizza MCP`,description:`Autorizzazione multipla per i server MCP in un'attività pianificata senza supervisione.`},"scheduledTasks.form.mcpServersPlaceholder":{message:`Seleziona i server MCP autorizzati a caricare automaticamente questa attività`,description:`Segnaposto per l'autorizzazione dei server MCP.`},"scheduledTasks.form.mcpServersHint":{message:`I server MCP selezionati possono essere caricati ed eseguiti in background per l'attività pianificata; i server MCP non selezionati non verranno caricati in modalità senza supervisione.`,description:`Spiegazione sull'autorizzazione dei server MCP.`},"scheduledTasks.form.maxTurns":{message:`Turni massimi`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.maxTurnsHint":{message:`Numero massimo di turni dell'agente per esecuzione (1–50). Un limite troppo basso interrompe le attività in più passaggi (es. skill che eseguono più passaggi Bash/ricerca documenti) prima del completamento, senza risultato finale. Predefinito 50.`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.skillsConfirmTitle":{message:`Conferma autorizzazione senza supervisione`,description:`Titolo di conferma autorizzazione`},"scheduledTasks.form.skillsConfirm":{message:`Questo compito permetterà a {count} Skills di eseguire in background senza conferma manuale: {skills}. Queste Skills potrebbero inviare messaggi, pubblicare contenuti o scrivere su servizi esterni, si prega di confermare.`,description:`Testo di conferma autorizzazione`},"scheduledTasks.form.skillNotActiveTitle":{message:`È necessario prima associare l'abilità`,description:`Titolo della finestra di dialogo mostrato quando un'abilità/MCP autorizzata per il compito programmato non è ancora associata per l'utente.`},"scheduledTasks.form.skillNotActiveMessage":{message:`L'abilità «{name}» non è ancora associata o attivata nel tuo account. Se non viene prima associata, il compito programmato potrebbe non utilizzarla durante l'esecuzione automatica in background. Si consiglia di associare prima e poi salvare, oppure cliccare sul pulsante sottostante per continuare a salvare.`,description:`Corpo dell'avviso; {name} è il nome dell'abilità/MCP. Spiega che non è associata e offre di salvare comunque.`},"scheduledTasks.form.skillNotActiveForce":{message:`Continuare a salvare comunque`,description:`Pulsante di conferma che salva il compito programmato bypassando il controllo di associazione (forzato).`},"scheduledTasks.form.required":{message:`Compila il nome del compito e la parola chiave`,description:`Validazione dei campi obbligatori`},"artifacts.navTitle":{message:`Produzioni`,description:`Voce di accesso alle produzioni nella barra laterale`},"artifacts.title":{message:`Le mie produzioni`,description:`Titolo della pagina delle produzioni`},"artifacts.summaryTotal":{message:`In questa edizione ci sono state {count} produzioni`,description:`Totale delle produzioni riassunte`},"artifacts.filterAll":{message:`Tutti`,description:`Filtro per tipo di produzione - tutti`},"artifacts.empty":{message:`Non ci sono ancora produzioni. Lascia che l'AI ti aiuti a scrivere articoli, generare immagini o inviare email e le produzioni appariranno automaticamente qui.`,description:`Messaggio che indica che non ci sono produzioni`},"artifacts.loadError":{message:`Caricamento della produzione fallito`,description:`Messaggio di errore per il caricamento della produzione`},"artifacts.actionError":{message:`Operazione fallita, riprova`,description:`Messaggio di errore per operazione di produzione`},"artifacts.open":{message:`Apri`,description:`Pulsante per aprire il link originale della produzione`},"artifacts.hide":{message:`Nascondi`,description:`Pulsante per nascondere la produzione`},"artifacts.unhide":{message:`Annulla nascita`,description:`Pulsante per ripristinare un Artifact nascosto`},"artifacts.showHidden":{message:`Mostra nascosti`,description:`Interruttore per mostrare gli Artifacts nascosti nel filtro`},"artifacts.hiddenBadge":{message:`Nascosto`,description:`Distintivo che indica che l'Artifact è stato nascosto`},"artifacts.delete":{message:`Elimina`,description:`Pulsante per eliminare la produzione`},"artifacts.deleteConfirm":{message:`Sei sicuro di voler eliminare permanentemente questo record di produzione?`,description:`Messaggio di conferma per l'eliminazione della produzione`},"artifacts.loadMore":{message:`Carica di più`,description:`Pulsante per caricare più produzioni`},"artifacts.sourceAuto":{message:`Cattura automatica`,description:`Etichetta per la fonte di cattura automatica`},"artifacts.kind.article":{message:`Articolo`,description:`Tipo di produzione - articolo`},"artifacts.kind.image":{message:`Immagine`,description:`Tipo di produzione - immagine`},"artifacts.kind.video":{message:`Video`,description:`Tipo di output - video`},"artifacts.kind.audio":{message:`Audio`,description:`Tipo di output - audio`},"artifacts.kind.document":{message:`Documento`,description:`Tipo di produzione - documento`},"artifacts.kind.email":{message:`Email`,description:`Tipo di output - email`},"artifacts.kind.message":{message:`Messaggio`,description:`Tipo di produzione - messaggio`},"artifacts.kind.dataset":{message:`Dati`,description:`Tipo di produzione - dati`},"artifacts.kind.link":{message:`Link`,description:`Tipo di output - link`},"artifacts.kind.other":{message:`Altro`,description:`Tipo di produzione - altro`},"share.menu":{message:`Condividi`,description:`Voce di menu per aprire la finestra di dialogo di condivisione nella barra laterale/toolbar`},"share.dialogTitle":{message:`Condividi conversazione`,description:`Titolo della finestra di dialogo per la condivisione della conversazione`},"share.description":{message:`Chiunque abbia il link può visualizzare questa conversazione, ma non può continuare a chattare.`,description:`Spiega cosa succede dopo che la conversazione è stata condivisa`},"share.createLink":{message:`Crea link di condivisione`,description:`Pulsante per creare un link di condivisione pubblico per la conversazione`},"share.copy":{message:`Copia link`,description:`Pulsante per copiare il link di condivisione negli appunti`},"share.copied":{message:`Copiato`,description:`Messaggio che appare brevemente sul pulsante dopo una copia riuscita`},"share.disable":{message:`Disattiva link`,description:`Pulsante per revocare il link di condivisione e rendere l'URL non valido`},"share.disabled":{message:`Link di condivisione disattivato.`,description:`Messaggio che appare dopo che il link di condivisione è stato disattivato`},"share.needLogin":{message:`Accedi prima e poi condividi questa conversazione.`,description:`Messaggio per i visitatori non autenticati che tentano di condividere la conversazione`},"share.noConversation":{message:`Apri prima una conversazione, poi condividi.`,description:`Messaggio quando si clicca sul pulsante di condivisione senza conversazioni attive`},"share.createFailed":{message:`Creazione del link di condivisione fallita, riprova più tardi.`,description:`Messaggio di errore quando la creazione del link di condivisione fallisce`},"share.disableFailed":{message:`Disattivazione del link di condivisione fallita, riprova più tardi.`,description:`Messaggio di errore quando la disattivazione del link di condivisione fallisce`},"share.startYourOwn":{message:`Inizia la mia conversazione`,description:`Chiamata all'azione sulla pagina pubblica condivisa per guidare i visitatori anonimi alla home dell'app`},"share.unavailableTitle":{message:`Questa conversazione condivisa non è disponibile.`,description:`Titolo della pagina pubblica condivisa quando il link è scaduto o non valido`},"share.unavailableHint":{message:`Il link potrebbe essere stato disattivato dall'altra parte, oppure l'URL è errato.`,description:`Messaggio quando il link di condivisione è scaduto o non valido`},"share.viewOnly":{message:`Conversazione condivisa in sola lettura`,description:`Etichetta sulla pagina pubblica condivisa che indica che la conversazione è in sola lettura`},"share.untitled":{message:`Conversazione senza titolo`,description:`Testo segnaposto utilizzato quando la conversazione condivisa non ha un titolo`},"share.footerNote":{message:`Stai visualizzando una conversazione condivisa. Clicca sopra per chattare con l'AI.`,description:`Spiegazione sotto la conversazione sulla pagina pubblica condivisa`},"scheduledTasks.run.reason.goal_not_achieved":{message:`Obiettivo non raggiunto`,description:``},"scheduledTasks.run.reason.outcome_unknown":{message:`Risultato da confermare`,description:``},"scheduledTasks.run.reason.run_abandoned":{message:`Stato dell'esecuzione sconosciuto`},"actions.rename":{message:`Rinomina`,description:`Voce di menu per rinominare nella menu delle operazioni sulla conversazione.`},"actions.renameTitle":{message:`Rinomina conversazione`,description:`Titolo della finestra di dialogo per rinominare la conversazione.`},"actions.renameEmpty":{message:`Inserisci un nome`,description:`Messaggio che indica che il nome è vuoto durante la rinominazione.`},"actions.renameSuccess":{message:`Rinominato`,description:`Messaggio che indica il successo nella rinominazione della conversazione.`},"actions.renameFailed":{message:`Rinomina fallita, riprova più tardi`,description:`Messaggio che indica il fallimento nella rinominazione della conversazione.`},"actions.deleteConfirm":{message:`Confermi di voler eliminare questa conversazione? Una volta eliminata, non sarà recuperabile.`,description:`Messaggio di conferma prima di eliminare la conversazione.`},"actions.deleteSuccess":{message:`Eliminato`,description:`Messaggio che indica il successo nell'eliminazione della conversazione.`},"actions.deleteFailed":{message:`Eliminazione fallita, riprova più tardi`,description:`Messaggio che indica il fallimento nell'eliminazione della conversazione.`},"actions.tokenMissing":{message:`Token non esistente, effettua nuovamente il login`,description:`Messaggio di errore quando manca il token durante l'operazione sulla conversazione.`},"actions.conversationMissing":{message:`La conversazione non esiste`,description:`Messaggio di errore quando la conversazione target non esiste durante l'operazione.`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`Nome del modello del servizio, ovvero Claude Opus 4.7`},"model.claudeOpus47Description":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Claude Opus 4.7`}};export{e as default};
1
+ var e={"thinking.inProgress":{message:`In corso di pensiero...`,description:`Etichetta mostrata mentre il modello genera il processo di inferenza`},"thinking.done":{message:`Processo di pensiero`,description:`Etichetta usata per espandere il processo di inferenza dopo che il modello ha completato l'inferenza`},"button.thinkDeeper":{message:`Pensa più a fondo`,description:`Pulsante per pensare più a fondo`},"button.deepsearch":{message:`Ricerca approfondita`,description:`Pulsante per ricerca approfondita`},"button.search":{message:`Cerca`,description:`Pulsante di ricerca`},"button.edit":{message:`Modifica messaggio`,description:`Modifica il messaggio inviato`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Nome del modello del servizio, ovvero GPT`},"modelGroup.chatgptDescription":{message:`Modello AI sviluppato da OpenAI`,description:`Descrizione del modello ChatGPT`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Nome del modello del servizio, ovvero DeepSeek`},"modelGroup.deepseekDescription":{message:`Modello AI sviluppato da DeepSeek`,description:`Descrizione del modello DeepSeek`},"modelGroup.grok":{message:`Grok`,description:`Nome del modello del servizio, ovvero Grok`},"modelGroup.grokDescription":{message:`Modello AI sviluppato da xAI`,description:`Descrizione del modello Grok3`},"modelGroup.gemini":{message:`Gemini`,description:`Nome del modello del servizio, ovvero Gemini`},"modelGroup.geminiDescription":{message:`Modello AI sviluppato da Google`,description:`Descrizione del gruppo di modelli Gemini`},"modelGroup.claude":{message:`Claude`,description:`Nome del modello del servizio, ovvero Claude`},"modelGroup.claudeDescription":{message:`Modello AI sviluppato da Anthropic`,description:`Descrizione del gruppo di modelli Claude`},"modelGroup.kimi":{message:`Kimi`,description:`Nome del modello del servizio, ovvero Kimi`},"modelGroup.kimiDescription":{message:`Modello AI sviluppato da Moonlight`,description:`Descrizione del gruppo di modelli Kimi`},"modelGroup.glm":{message:`GLM`,description:`Nome del modello del servizio, ovvero GLM`},"modelGroup.glmDescription":{message:`Modello di linguaggio sviluppato da Zhipu AI`,description:`Descrizione del gruppo di modelli GLM`},"model.56Sol":{message:`gpt-5.6-sol`,description:`Nome del modello del servizio, ovvero GPT 5.6 Sol`},"model.56SolDescription":{message:`Modello di punta di ultima generazione GPT 5.6 Sol`,description:`Descrizione del modello GPT 5.6 Sol`},"model.56Terra":{message:`gpt-5.6-terra`,description:`Nome del modello del servizio, ovvero GPT 5.6`},"model.56TerraDescription":{message:`Modello di punta di ultima generazione GPT 5.6`,description:`Descrizione del modello GPT 5.6`},"model.56Luna":{message:`gpt-5.6-luna`,description:`Nome del modello del servizio, ovvero GPT 5.6 Luna`},"model.56LunaDescription":{message:`Modello GPT 5.6 più veloce e leggero`,description:`Descrizione del modello GPT 5.6 Luna`},"model.freeTag":{message:`Gratis`,description:`Badge mostrato accanto ai modelli gratuiti nel selettore modello`},"model.deepseekChat":{message:`3.0`,description:`Nome del modello del servizio, ovvero DeepSeek Chat`},"model.deepseekChatDescription":{message:`Adatto per compiti quotidiani`,description:`Descrizione del modello DeepSeek Chat`},"model.deepseekReasoner":{message:`R1`,description:`Nome del modello del servizio, ovvero DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Adatto per inferenze e domande di pensiero profondo`,description:`Descrizione del modello DeepSeek Reasoner`},"model.deepseekChat32":{message:`3.2`,description:`Nome del modello del servizio, ovvero DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Ultima versione sperimentale`,description:`Descrizione del modello sperimentale DeepSeek V3.2`},"model.deepseekV4Flash":{message:`4.0`,description:`Nome del modello del servizio, ovvero DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Modello di punta leggero di ultima generazione, 1M contesto`,description:`Descrizione del modello DeepSeek V4 Flash`},"model.grok4":{message:`grok-4`,description:`Nome del modello del servizio, ovvero Grok 4`},"model.grok4Description":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Grok 4`},"model.grok3":{message:`grok-3`,description:`Nome del modello del servizio`},"model.grok3Description":{message:`Adatto per la maggior parte dei compiti`,description:`Descrizione del modello Grok3`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Nome del modello del servizio, ovvero Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Gemini 3.0 Pro`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Nome del modello del servizio, ovvero Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Gemini 3.0 Pro`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Nome del modello del servizio, ovvero Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Adatto per compiti di inferenza complessi`,description:`Descrizione del modello Gemini 2.5 Pro`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Nome del modello del servizio, ovvero Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Modello più veloce e leggero`,description:`Descrizione del modello Gemini 2.5 Flash`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Nome del modello del servizio, ovvero Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Modello più veloce e leggero`,description:`Descrizione del modello Gemini 2.5 Flash`},"model.claudeOpus5":{message:`claude-opus-5`,description:`Name of the service model, i.e., Claude Opus 5`},"model.claudeOpus5Description":{message:`Il modello più avanzato attualmente disponibile`,description:`Descrizione del modello Claude Opus 5`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Nome del modello del servizio, ovvero Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Il modello più avanzato attualmente`,description:`Descrizione del modello Claude Opus 4.8`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`Nome del modello del servizio, ovvero Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Adatto per la maggior parte dei compiti`,description:`Descrizione del modello Claude Sonnet 4.6`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Nome del modello del servizio, ovvero Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Modello leggero e veloce`,description:`Descrizione del modello Claude Haiku 4.5`},"model.kimiK3":{message:`kimi-k3`,description:`Name of Moonshot AI's Kimi K3 flagship model`},"model.kimiK3Description":{message:`Modello di punta che supporta inferenza, visione e contesto di 1 milione di Token`,description:`Descrizione del modello Kimi K3`},"model.kimiK26":{message:`kimi-k2.6`,description:`Name of the Kimi K2.6 model`},"model.kimiK26Description":{message:`Modello di inferenza e visione compatibile con flussi di lavoro K2`,description:`Descrizione del modello Kimi K2.6`},"model.kimiK25":{message:`kimi-k2.5`,description:`Nome del modello del servizio, ovvero Kimi K2.5`},"model.kimiK25Description":{message:`Modello K2 generico adatto a flussi di lavoro compatibili`,description:`Descrizione del modello Kimi K2.5`},"model.kimiK2Thinking":{message:`kimi-k2 inferenza`,description:`Nome del modello del servizio, ovvero Kimi K2 inferenza`},"model.kimiK2ThinkingDescription":{message:`Adatto per inferenze e pensiero profondo`,description:`Descrizione del modello Kimi K2 inferenza`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 inferenza turbo`,description:`Nome del modello del servizio, ovvero Kimi K2 inferenza turbo`},"model.kimiK2ThinkingTurboDescription":{message:`Modello di inferenza più veloce`,description:`Descrizione del modello Kimi K2 inferenza turbo`},"model.glm51":{message:`glm-5.1`,description:`Nome del modello del servizio, ovvero GLM 5.1`},"model.glm51Description":{message:`Ultimo modello di punta di Zhipu`,description:`Descrizione del modello GLM 5.1`},"model.glm47":{message:`glm-4.7`,description:`Nome del modello del servizio, ovvero GLM 4.7`},"model.glm47Description":{message:`Equilibrio tra prestazioni e costi`,description:`Descrizione del modello GLM 4.7`},"message.startNewChat":{message:`Inizia una nuova conversazione`,description:`Messaggio nella pagina web che informa l'utente di iniziare una nuova conversazione`},"message.uploadFile":{message:`Carica file`,description:`Messaggio nella pagina web che informa l'utente di caricare un file`},"message.noToken":{message:`Richiedi prima il servizio appropriato`,description:`Messaggio nella pagina web che informa l'utente di richiedere prima il servizio appropriato`},"message.newMessagePlaceholder":{message:`Inserisci la tua domanda...`,description:`Segnaposto nella pagina web che informa l'utente di inserire una domanda`},"message.noInput":{message:`La domanda non può essere vuota`,description:`Messaggio nella pagina web che informa l'utente che la domanda non può essere vuota`},"message.uploadReferencesExceed":{message:`Puoi caricare al massimo 1 file`,description:`Messaggio nella pagina web che informa l'utente che può caricare al massimo 1 file`},"message.uploadReferencesError":{message:`Caricamento del file fallito, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che il caricamento del file è fallito, riprova più tardi`},"message.notApplied":{message:`Non hai ancora richiesto questo servizio, richiedilo prima`,description:`Messaggio nella pagina web che informa l'utente che non ha ancora richiesto questo servizio, richiedilo prima`},"message.tryForFree":{message:`Prova gratuita`,description:`Messaggio nella pagina web che informa l'utente della prova gratuita`},"message.question1":{message:`Crea un piano di allenamento`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di scrivere un codice JavaScript che stampi 'Hello World'`},"message.question2":{message:`Crea una pagina web personale`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di scrivere un'email a Mike per informarlo del suo recente trasloco`},"message.question3":{message:`Progetta un gioco di programmazione divertente`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di spiegare i principi fondamentali del calcolo quantistico in modo semplice`},"message.question4":{message:`Vivi Seul come un locale`,description:`Domanda di esempio per iniziare una conversazione, chiedendo all'utente di spiegare l'impatto della realtà virtuale sulla creazione artistica`},"message.question5":{message:`Chi è più grande, 9.8 o 9.11?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo di confrontare la grandezza di due numeri`},"message.question6":{message:`Qual è l'impatto dell'IA sul futuro?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo quale sia l'impatto dell'IA sul futuro`},"message.question7":{message:`Come migliorare l'efficienza di apprendimento?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo come migliorare la propria efficienza di apprendimento`},"message.question8":{message:`Come migliorare la concentrazione?`,description:`Domanda di esempio per iniziare una conversazione, chiedendo come migliorare la propria concentrazione`},"message.errorApiError":{message:`Risposta fallita, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che la risposta è fallita, riprova più tardi`},"message.errorBadRequest":{message:`Contenuto della richiesta non valido, riprova`,description:`Messaggio nella pagina web che informa l'utente che il contenuto della richiesta non è valido, riprova`},"message.errorNoConversation":{message:`La conversazione non esiste o è scaduta, inizia una nuova conversazione`,description:`Messaggio nella pagina web che informa l'utente che la conversazione non esiste o è scaduta, inizia una nuova conversazione`},"message.errorContentTooLarge":{message:`Il contenuto della domanda è troppo lungo, accorcia e riprova`,description:`Messaggio nella pagina web che informa l'utente che il contenuto della domanda è troppo lungo, accorcia e riprova`},"message.errorTooManyRequests":{message:`Troppe richieste, riprova più tardi`,description:`Messaggio nella pagina che informa l'utente che ha effettuato troppe richieste e deve riprovare più tardi`},"message.errorBusy":{message:`Server occupato, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che il server è occupato, riprovare più tardi`},"message.errorUsedUp":{message:`Hai esaurito il numero di utilizzi del pacchetto, acquista più utilizzi per continuare`,description:`Messaggio nella pagina web che informa l'utente che ha esaurito il numero di utilizzi del pacchetto, deve acquistare più utilizzi per continuare`},"message.errorUnknown":{message:`Si è verificato un errore sconosciuto del server, riprova più tardi o contatta il supporto`,description:`Messaggio nella pagina web che informa l'utente che si è verificato un errore sconosciuto del server, riprovare più tardi o contattare il supporto`},"message.errorTimeout":{message:`Timeout nella risposta, riprova più tardi`,description:`Messaggio nella pagina web che informa l'utente che c'è stato un timeout nella risposta, riprovare più tardi`},"message.errorNotApplied":{message:`Non hai ancora richiesto questo servizio, richiedilo prima di continuare a fare domande`,description:`Messaggio nella pagina web che informa l'utente che non ha ancora richiesto questo servizio, deve richiederlo prima di continuare a fare domande`},"message.confirmDelete":{message:`Conferma eliminazione`,description:`Messaggio nella pagina web che informa l'utente di confermare l'eliminazione`},"message.howToUse":{message:`L'AI potrebbe commettere errori, controlla le informazioni importanti.`,description:`Messaggio nella pagina web che informa l'utente che l'AI potrebbe commettere errori, controllare le informazioni importanti`},"title.chat":{message:`Chat AI`,description:`Titolo della pagina web, ovvero Chat AI`},"title.example":{message:`Esempio`,description:`Titolo della pagina web, ovvero Esempio`},"title.capabilities":{message:`Funzionalità`,description:`Titolo della pagina web, ovvero Funzionalità`},"title.limitations":{message:`Limitazioni`,description:`Titolo nella pagina web che indica che questa parte riguarda le limitazioni tecniche del servizio`},"title.complexQuestion":{message:`Rispondere a domande complesse`,description:`Titolo nella pagina web che indica che questa parte riguarda la capacità del servizio di rispondere a domande complesse`},"title.professionalQuestion":{message:`Consultare domande professionali`,description:`Titolo nella pagina web che indica che questa parte riguarda la capacità del servizio di consultare domande professionali`},"title.getTips":{message:`Ottieni ispirazione e idee`,description:`Titolo nella pagina web che indica che questa parte riguarda la capacità del servizio di ottenere ispirazione e idee`},"group.today":{message:`Oggi`,description:`Nome del gruppo nella pagina web, ovvero Oggi`},"group.yesterday":{message:`Ieri`,description:`Nome del gruppo nella pagina web, ovvero Ieri`},"group.thisWeek":{message:`Questa settimana`,description:`Nome del gruppo nella pagina web, ovvero Questa settimana`},"group.earlier":{message:`Precedente`,description:`Nome del gruppo nella pagina web, ovvero Precedente`},"connections.tooltip":{message:`Gestione connessioni`,description:`Suggerimento del pulsante per passare alla pagina di gestione delle connessioni auth.acedata.cloud`},"skill.tooltip":{message:`Gestione abilità`,description:`Suggerimento del pulsante per passare alla pagina di gestione delle abilità auth.acedata.cloud`},"composer.addAction":{message:`Aggiungi contenuto`,description:`Suggerimento del pulsante più sotto il campo di input, espandendo si possono caricare file, aprire abilità o gestire connessioni`},"composer.addFiles":{message:`Aggiungi foto o file`,description:`Voce nel menu a discesa del pulsante più: carica immagini o file`},"composer.skills":{message:`Abilità`,description:`Voce nel menu a discesa del pulsante più: apri gestione abilità`},"composer.connections":{message:`Connessioni`,description:`Voce nel menu a discesa del pulsante più: apri gestione connessioni`},"agent.title":{message:`Agente desktop`,description:`Titolo della finestra di gestione dell'agente`},"agent.tooltip":{message:`Agente desktop`,description:`Suggerimento del pulsante dell'agente`},"agent.connected":{message:`Connesso`,description:`Stato dell'agente connesso`},"agent.notConnected":{message:`Non connesso`,description:`Stato dell'agente non connesso`},"agent.description":{message:`Collega l'agente desktop per accedere a file locali, eseguire comandi e utilizzare il server MCP locale durante le conversazioni con l'AI.`,description:`Descrizione dell'agente`},"agent.name":{message:`Nome dell'agente`,description:`Etichetta per il nome dell'agente`},"agent.tools":{message:`Strumenti disponibili`,description:`Etichetta per il numero di strumenti dell'agente`},"agent.connectedSince":{message:`Tempo di connessione`,description:`Etichetta per il tempo di connessione dell'agente`},"agent.connectedHint":{message:`Il tuo agente desktop è connesso e pronto all'uso.`,description:`Suggerimento per l'agente connesso`},"agent.installLabel":{message:`Installa il proxy desktop:`,description:`Etichetta delle istruzioni di installazione`},"agent.runLabel":{message:`Esegui agente:`,description:`Etichetta di descrizione dell'esecuzione`},"askUserQuestion.submit":{message:`Invia`,description:`Pulsante di invio per l'ultima domanda della guida ask-user-question`},"askUserQuestion.next":{message:`Domanda successiva`,description:`Avanza alla domanda successiva nella guida ask-user-question`},"askUserQuestion.back":{message:`Domanda precedente`,description:`Torna alla domanda precedente nella guida ask-user-question`},"askUserQuestion.skipAll":{message:`Salta tutto`,description:`Salta l'intera guida ask-user-question, permettendo al modello di continuare senza risposte`},"askUserQuestion.other":{message:`Altro`,description:`Opzione fittizia; selezionandola si espande un campo di input di testo personalizzato`},"askUserQuestion.otherDesc":{message:`Inserisci la tua risposta`,description:`Descrizione di supporto sotto l'opzione 'Altro'`},"askUserQuestion.placeholder":{message:`Inserisci la risposta…`,description:`Testo segnaposto per il campo di input della risposta personalizzata per ogni domanda`},"askUserQuestion.multiSelectHint":{message:`Seleziona una o più opzioni`,description:`Suggerimento mostrato quando si supportano domande a scelta multipla`},"askUserQuestion.collapsedAnswerLabel":{message:`La tua risposta`,description:`Testo di fallback quando non è possibile estrarre una risposta specifica dall'output storico`},"consent.title":{message:`Autorizzazione del connettore richiesta`,description:`Titolo della scheda di autorizzazione del connettore`},"consent.matchAny":{message:`Autorizza uno qualsiasi`,description:`Etichetta: è sufficiente autorizzare uno qualsiasi dei connettori di questo gruppo`},"consent.matchAll":{message:`Richiede tutte le autorizzazioni`,description:`Etichetta: tutti i connettori di questo gruppo richiedono l'autorizzazione`},"consent.authorize":{message:`Autorizza`,description:`Pulsante di autorizzazione, cliccando si aprirà la pagina di autorizzazione di terze parti`},"consent.skip":{message:`Non autorizzare per ora`,description:`Pulsante per saltare l'autorizzazione; il modello continuerà senza il connettore`},"consent.continue":{message:`Continua`,description:`Pulsante Continua mostrato dopo aver rilevato (post-OAuth) che il connettore è ora collegato; il clic invia l'autorizzazione.`},"consent.selectScopes":{message:`Seleziona gli ambiti di autorizzazione per {provider}`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Seleziona i permessi che desideri autorizzare. Puoi selezionare più opzioni; se non selezionato, verranno concessi solo i dati di accesso di base.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Autorizzazione fallita. Si prega di riprovare.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Connesso`,description:`Indicatore di stato per connettore già connesso`},"consent.statusUnconnected":{message:`Non connesso`,description:`Indicatore di stato per connettore non connesso (mostrato quando non c'è un link di autorizzazione)`},"consent.resolvedAuthorized":{message:`Autorizzato: {list}`,description:`Nota in fondo alla scheda dopo che l'utente ha completato l'autorizzazione, {list} è la lista dei connettori autorizzati`},"consent.resolvedSkipped":{message:`Autorizzazione dei connettori saltata`,description:`Nota in fondo alla scheda dopo che l'utente ha saltato l'autorizzazione`},"browserTool.title":{message:`Attività del browser`,description:`Titolo predefinito per l'attività dello strumento BrowserDevice`},"browserTool.state.starting_session":{message:`Avvio della sessione del browser`,description:``},"browserTool.state.attaching_tab":{message:`Collegamento della scheda del browser`,description:``},"browserTool.state.ready":{message:`Browser pronto`,description:``},"browserTool.state.device_offline":{message:`Dispositivo del browser offline`,description:`Il dispositivo del browser selezionato non è online`},"browserTool.state.device_busy":{message:`Dispositivo del browser occupato`,description:``},"browserTool.state.authorization_required":{message:`Autorizzazione richiesta in Studio`,description:``},"browserTool.state.executing":{message:`Esecuzione nel browser`,description:`Il dispositivo del browser sta eseguendo lo strumento`},"browserTool.state.completed":{message:`Completato`,description:`Esecuzione dello strumento del browser completata`},"browserTool.state.stopped":{message:`Sessione del browser fermata`,description:``},"browserTool.state.expired":{message:`Richiesta del browser scaduta`,description:`La richiesta di esecuzione dello strumento del browser è scaduta`},"browserTool.state.debugger_unavailable":{message:`Chiudi gli strumenti per sviluppatori per continuare`,description:``},"browserTool.state.unknown_outcome":{message:`Risultato dell'esecuzione sconosciuto, verifica e riprova`,description:``},"browserTool.state.failed":{message:`Operazione del browser fallita`,description:``},"browserTool.stop":{message:`Ferma`,description:``},"browserTool.recovery.open-device-manager":{message:`Gestisci dispositivi`,description:``},"browserTool.recovery.stop-other-session":{message:`Ferma altre sessioni`,description:``},"browserTool.recovery.close-devtools":{message:`Chiudi strumenti per sviluppatori`,description:``},"browserTool.recovery.open-consent-card":{message:`Visualizza autorizzazione`,description:``},"scheduledTasks.navTitle":{message:`Compiti programmati`,description:`Entrata per i compiti programmati nella barra laterale`},"scheduledTasks.tab.tasks":{message:`Compiti programmati`,description:`Pagina dei compiti programmati - Scheda dei compiti`},"scheduledTasks.tab.runs":{message:`Registrazioni di esecuzione`,description:`Pagina dei compiti programmati - Scheda di tutte le registrazioni di esecuzione`},"scheduledTasks.filterAll":{message:`Tutti`,description:`Filtro dello stato delle registrazioni - Tutti`},"scheduledTasks.title":{message:`Compiti programmati`,description:`Titolo della pagina`},"scheduledTasks.create":{message:`Nuovo`,description:`Pulsante per creare un'attività programmata`},"scheduledTasks.edit":{message:`Modifica attività`,description:`Titolo della finestra di modifica`},"scheduledTasks.duplicate":{message:`Copia attività`,description:`Pulsante per copiare un'attività, precompilando il nuovo modulo basato su un'attività esistente`},"scheduledTasks.empty":{message:`Non ci sono attività programmate, clicca su «Nuovo» per crearne una`,description:`Messaggio di stato vuoto`},"scheduledTasks.noRuns":{message:`Nessuna esecuzione ancora`,description:`Nessuna cronologia di esecuzione`},"scheduledTasks.loadError":{message:`Caricamento fallito`,description:`Messaggio di errore di caricamento`},"scheduledTasks.deleteConfirm":{message:`Confermi di voler eliminare «{name}»? L'attività smetterà di funzionare dopo l'eliminazione.`,description:`Conferma di eliminazione`},"scheduledTasks.triggerNow":{message:`Attiva ora`,description:`Esecuzione manuale immediata del compito`},"scheduledTasks.triggerSuccess":{message:`Attivato, puoi controllare i risultati nei registri di esecuzione più tardi.`,description:`Messaggio di successo per attivazione manuale`},"scheduledTasks.triggerError":{message:`Attivazione fallita, riprova più tardi.`,description:`Messaggio di errore per attivazione manuale fallita`},"scheduledTasks.viewResult":{message:`Visualizza risultati`,description:`Vai alla conversazione`},"scheduledTasks.viewRuns":{message:`Registri di esecuzione`,description:`Visualizza la cronologia delle esecuzioni nella parte inferiore della scheda`},"scheduledTasks.noConversation":{message:`Nessuna registrazione di conversazione`,description:`Eseguito senza conversazione associata (versione precedente)`},"scheduledTasks.jitterHint":{message:`±60s di jitter`,description:`Spiegazione del jitter dell'orario di esecuzione`},"scheduledTasks.runCount":{message:`Eseguito {count} volte`,description:`Numero di esecuzioni`},"scheduledTasks.state.enabled":{message:`In esecuzione`,description:`Stato abilitato`},"scheduledTasks.state.disabled":{message:`In pausa`,description:`Stato disabilitato`},"scheduledTasks.state.error":{message:`Errore`,description:`Stato di errore`},"scheduledTasks.run.queued":{message:`In coda`,description:`Stato di coda`},"scheduledTasks.run.running":{message:`In esecuzione`,description:`Stato di esecuzione`},"scheduledTasks.run.success":{message:`Successo`,description:`Stato di successo`},"scheduledTasks.run.failed":{message:`Fallito`,description:`Stato di fallimento`},"scheduledTasks.run.indeterminate":{message:`Non confermato`,description:`Indeterminate run status (judge could not verify; not a failure)`},"scheduledTasks.run.reason.max_turns":{message:`Limite di passaggi raggiunto`},"scheduledTasks.run.reason.max_budget_usd":{message:`Limite di budget raggiunto`},"scheduledTasks.run.reason.tool_call_loop":{message:`Rilevato ciclo di chiamate agli strumenti`},"scheduledTasks.run.reason.prompt_too_long":{message:`Prompt troppo lungo`},"scheduledTasks.run.reason.aborted_streaming":{message:`Interrotto`},"scheduledTasks.run.reason.aborted_tools":{message:`Interrotto`},"scheduledTasks.run.reason.awaiting_user_input":{message:`In attesa del tuo input`},"scheduledTasks.run.reason.error":{message:`Errore`},"scheduledTasks.run.reason.unknown":{message:`Errore sconosciuto`},"scheduledTasks.run.reason.balance_insufficient":{message:`Saldo insufficiente`},"scheduledTasks.run.reason.billing_gate_failed":{message:`Autorizzazione alla fatturazione non riuscita`},"scheduledTasks.run.reason.unauthorized":{message:`Non autorizzato`},"scheduledTasks.run.reason.timeout":{message:`Timeout`},"scheduledTasks.run.reason.internal_error":{message:`Errore interno`},"scheduledTasks.run.needs_user_input":{message:`Richiesta di operazione`,description:`Stato che richiede l'operazione dell'utente`},"scheduledTasks.run.reason.browser_device_offline":{message:`Dispositivo del browser offline`,description:``},"scheduledTasks.run.reason.browser_authorization_stale":{message:`L'autorizzazione del browser è cambiata, modifica questo compito`,description:``},"scheduledTasks.scheduleType.daily":{message:`Giornaliero`,description:`Esecuzione giornaliera`},"scheduledTasks.scheduleType.minutely":{message:`Ogni minuto`},"scheduledTasks.scheduleType.hourly":{message:`Ogni ora`,description:`Esecuzione ogni ora`},"scheduledTasks.scheduleType.weekly":{message:`Settimanale`,description:`Esecuzione settimanale`},"scheduledTasks.scheduleType.cron":{message:`Espressione Cron`,description:`Cron personalizzato`},"scheduledTasks.scheduleType.interval":{message:`Ogni intervallo`,description:`Esecuzione a intervalli fissi`},"scheduledTasks.form.intervalUnit.minute":{message:`Minuti`,description:`Unità di intervallo: minuti`},"scheduledTasks.form.intervalUnit.hour":{message:`Ore`,description:`Unità di intervallo: ore`},"scheduledTasks.form.intervalUnit.day":{message:`Giorni`,description:`Unità di intervallo: giorni`},"scheduledTasks.form.hourlyMinute":{message:`Minuto di attivazione`,description:`Minuto in cui attivare ogni ora`},"scheduledTasks.form.hourlyMinuteHint":{message:`Minuto in cui attivare ogni ora (0–59)`,description:`Spiegazione del minuto orario`},"scheduledTasks.form.intervalHint":{message:`Esegui ogni volta a intervalli fissi dal precedente (minimo 1 minuto)`,description:`Spiegazione dell'intervallo fisso`},"scheduledTasks.form.cronHint":{message:`Espressione Cron standard a 5 segmenti: minuti ore giorno mese settimana`,description:`Spiegazione del Cron`},"scheduledTasks.form.schedulePreview":{message:`Frequenza di esecuzione: {text}`,description:`Anteprima della frequenza`},"scheduledTasks.humanize.everyNMinutes":{message:`Ogni {n} minuti`,description:`Leggibile dall'uomo: ogni N minuti`},"scheduledTasks.humanize.everyNHours":{message:`Ogni {n} ore`,description:`Leggibile dall'uomo: ogni N ore`},"scheduledTasks.humanize.everyNDays":{message:`Ogni {n} giorni`,description:`Leggibile dall'uomo: ogni N giorni`},"scheduledTasks.humanize.hourlyAtMinute":{message:`Ogni ora al minuto {n}`,description:`Leggibile dall'uomo: ogni ora al minuto N`},"scheduledTasks.humanize.dailyAt":{message:`Ogni giorno {time}`,description:`Leggibile dall'uomo: ogni giorno a un certo orario`},"scheduledTasks.humanize.weeklyAt":{message:`Ogni settimana {weekday} {time}`,description:`Leggibile dall'uomo: ogni settimana in un certo giorno a un certo orario`},"scheduledTasks.humanize.cronRaw":{message:`Cron: {cron}`,description:`Leggibile dall'uomo: Cron originale`},"scheduledTasks.humanize.once":{message:`Una sola volta {time}`,description:`Leggibile dall'uomo: una sola volta`},"scheduledTasks.form.name":{message:`Nome attività`,description:`Campo per il nome`},"scheduledTasks.form.namePlaceholder":{message:`Esempio: riepilogo notizie giornaliere`,description:`Segnaposto per il nome`},"scheduledTasks.form.model":{message:`Modello`,description:`Selezione del modello`},"scheduledTasks.form.prompt":{message:`Parola chiave`,description:`Campo per la parola chiave`},"scheduledTasks.form.promptPlaceholder":{message:`Inserisci la domanda o il comando da eseguire regolarmente, supporta le variabili {'{{date}}'}, {'{{run_count}}'}, {'{{last_output}}'`,description:`Segnaposto per la parola chiave`},"scheduledTasks.form.promptHint":{message:`Supporta variabili di modello: {'{{date}}'} data odierna, {'{{run_count}}'} numero di esecuzione, {'{{last_output}}'} riepilogo dell'ultimo risultato`,description:`Descrizione della parola chiave`},"scheduledTasks.form.schedule":{message:`Frequenza di esecuzione`,description:`Scelta della frequenza`},"scheduledTasks.form.time":{message:`Orario di esecuzione`,description:`Campo per l'orario`},"scheduledTasks.form.weekday":{message:`Giorno della settimana`,description:`Campo per il giorno della settimana`},"scheduledTasks.form.cron":{message:`Espressione Cron`,description:`Campo per l'espressione cron`},"scheduledTasks.form.skills":{message:`Autorizza Skills`,description:`Autorizzazione multi-selezione per task programmati senza supervisione`},"scheduledTasks.form.skillsPlaceholder":{message:`Seleziona le Skills che possono essere eseguite automaticamente da questo compito`,description:`Segnaposto autorizzazione skill`},"scheduledTasks.form.skillsHint":{message:`Le Skills selezionate possono eseguire in background senza conferma manuale; le Skills non selezionate possono solo essere visualizzate o attendere conferma.`,description:`Descrizione autorizzazione skill`},"scheduledTasks.form.browserConnection":{message:`Connessione browser`,description:``},"scheduledTasks.form.browserEffects":{message:`Potrebbero essere eseguiti i seguenti effetti esterni: {effects}`,description:``},"scheduledTasks.form.authorizationExpires":{message:`Data di scadenza dell'autorizzazione non presidiata: {time}`,description:``},"scheduledTasks.form.browserBindingInvalid":{message:`Seleziona una connessione browser online e compatibile prima di salvare`,description:``},"scheduledTasks.form.connectionAccount":`Account for {connector}`,"scheduledTasks.form.connectionAccountDefault":`Use the default account`,"scheduledTasks.form.accountIsDefault":`default`,"scheduledTasks.form.skillMissing":{message:`Non connesso`,description:`skill manca la connessione`},"scheduledTasks.form.mcpServers":{message:`Autorizza MCP`,description:`Autorizzazione multipla per i server MCP in un'attività pianificata senza supervisione.`},"scheduledTasks.form.mcpServersPlaceholder":{message:`Seleziona i server MCP autorizzati a caricare automaticamente questa attività`,description:`Segnaposto per l'autorizzazione dei server MCP.`},"scheduledTasks.form.mcpServersHint":{message:`I server MCP selezionati possono essere caricati ed eseguiti in background per l'attività pianificata; i server MCP non selezionati non verranno caricati in modalità senza supervisione.`,description:`Spiegazione sull'autorizzazione dei server MCP.`},"scheduledTasks.form.maxTurns":{message:`Turni massimi`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.maxTurnsHint":{message:`Numero massimo di turni dell'agente per esecuzione (1–50). Un limite troppo basso interrompe le attività in più passaggi (es. skill che eseguono più passaggi Bash/ricerca documenti) prima del completamento, senza risultato finale. Predefinito 50.`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.skillsConfirmTitle":{message:`Conferma autorizzazione senza supervisione`,description:`Titolo di conferma autorizzazione`},"scheduledTasks.form.skillsConfirm":{message:`Questo compito permetterà a {count} Skills di eseguire in background senza conferma manuale: {skills}. Queste Skills potrebbero inviare messaggi, pubblicare contenuti o scrivere su servizi esterni, si prega di confermare.`,description:`Testo di conferma autorizzazione`},"scheduledTasks.form.skillNotActiveTitle":{message:`È necessario prima associare l'abilità`,description:`Titolo della finestra di dialogo mostrato quando un'abilità/MCP autorizzata per il compito programmato non è ancora associata per l'utente.`},"scheduledTasks.form.skillNotActiveMessage":{message:`L'abilità «{name}» non è ancora associata o attivata nel tuo account. Se non viene prima associata, il compito programmato potrebbe non utilizzarla durante l'esecuzione automatica in background. Si consiglia di associare prima e poi salvare, oppure cliccare sul pulsante sottostante per continuare a salvare.`,description:`Corpo dell'avviso; {name} è il nome dell'abilità/MCP. Spiega che non è associata e offre di salvare comunque.`},"scheduledTasks.form.skillNotActiveForce":{message:`Continuare a salvare comunque`,description:`Pulsante di conferma che salva il compito programmato bypassando il controllo di associazione (forzato).`},"scheduledTasks.form.required":{message:`Compila il nome del compito e la parola chiave`,description:`Validazione dei campi obbligatori`},"artifacts.navTitle":{message:`Produzioni`,description:`Voce di accesso alle produzioni nella barra laterale`},"artifacts.title":{message:`Le mie produzioni`,description:`Titolo della pagina delle produzioni`},"artifacts.summaryTotal":{message:`In questa edizione ci sono state {count} produzioni`,description:`Totale delle produzioni riassunte`},"artifacts.filterAll":{message:`Tutti`,description:`Filtro per tipo di produzione - tutti`},"artifacts.empty":{message:`Non ci sono ancora produzioni. Lascia che l'AI ti aiuti a scrivere articoli, generare immagini o inviare email e le produzioni appariranno automaticamente qui.`,description:`Messaggio che indica che non ci sono produzioni`},"artifacts.loadError":{message:`Caricamento della produzione fallito`,description:`Messaggio di errore per il caricamento della produzione`},"artifacts.actionError":{message:`Operazione fallita, riprova`,description:`Messaggio di errore per operazione di produzione`},"artifacts.open":{message:`Apri`,description:`Pulsante per aprire il link originale della produzione`},"artifacts.hide":{message:`Nascondi`,description:`Pulsante per nascondere la produzione`},"artifacts.unhide":{message:`Annulla nascita`,description:`Pulsante per ripristinare un Artifact nascosto`},"artifacts.showHidden":{message:`Mostra nascosti`,description:`Interruttore per mostrare gli Artifacts nascosti nel filtro`},"artifacts.hiddenBadge":{message:`Nascosto`,description:`Distintivo che indica che l'Artifact è stato nascosto`},"artifacts.delete":{message:`Elimina`,description:`Pulsante per eliminare la produzione`},"artifacts.deleteConfirm":{message:`Sei sicuro di voler eliminare permanentemente questo record di produzione?`,description:`Messaggio di conferma per l'eliminazione della produzione`},"artifacts.loadMore":{message:`Carica di più`,description:`Pulsante per caricare più produzioni`},"artifacts.sourceAuto":{message:`Cattura automatica`,description:`Etichetta per la fonte di cattura automatica`},"artifacts.kind.article":{message:`Articolo`,description:`Tipo di produzione - articolo`},"artifacts.kind.image":{message:`Immagine`,description:`Tipo di produzione - immagine`},"artifacts.kind.video":{message:`Video`,description:`Tipo di artefatto - Video`},"artifacts.kind.audio":{message:`Audio`,description:`Tipo di artefatto - Audio`},"artifacts.kind.document":{message:`Documento`,description:`Tipo di produzione - documento`},"artifacts.kind.email":{message:`Email`,description:`Tipo di artefatto - Email`},"artifacts.kind.message":{message:`Messaggio`,description:`Tipo di produzione - messaggio`},"artifacts.kind.dataset":{message:`Dati`,description:`Tipo di produzione - dati`},"artifacts.kind.link":{message:`Link`,description:`Tipo di artefatto - Link`},"artifacts.kind.other":{message:`Altro`,description:`Tipo di produzione - altro`},"share.menu":{message:`Condividi`,description:`Voce di menu per aprire la finestra di dialogo di condivisione nella barra laterale/toolbar`},"share.dialogTitle":{message:`Condividi conversazione`,description:`Titolo della finestra di dialogo per la condivisione della conversazione`},"share.description":{message:`Chiunque abbia il link può visualizzare questa conversazione, ma non può continuare a chattare.`,description:`Spiega cosa succede dopo che la conversazione è stata condivisa`},"share.createLink":{message:`Crea link di condivisione`,description:`Pulsante per creare un link di condivisione pubblico per la conversazione`},"share.copy":{message:`Copia link`,description:`Pulsante per copiare il link di condivisione negli appunti`},"share.copied":{message:`Copiato`,description:`Messaggio che appare brevemente sul pulsante dopo una copia riuscita`},"share.disable":{message:`Disattiva link`,description:`Pulsante per revocare il link di condivisione e rendere l'URL non valido`},"share.disabled":{message:`Link di condivisione disattivato.`,description:`Messaggio che appare dopo che il link di condivisione è stato disattivato`},"share.needLogin":{message:`Accedi prima e poi condividi questa conversazione.`,description:`Messaggio per i visitatori non autenticati che tentano di condividere la conversazione`},"share.noConversation":{message:`Apri prima una conversazione, poi condividi.`,description:`Messaggio quando si clicca sul pulsante di condivisione senza conversazioni attive`},"share.createFailed":{message:`Creazione del link di condivisione fallita, riprova più tardi.`,description:`Messaggio di errore quando la creazione del link di condivisione fallisce`},"share.disableFailed":{message:`Disattivazione del link di condivisione fallita, riprova più tardi.`,description:`Messaggio di errore quando la disattivazione del link di condivisione fallisce`},"share.startYourOwn":{message:`Inizia la mia conversazione`,description:`Chiamata all'azione sulla pagina pubblica condivisa per guidare i visitatori anonimi alla home dell'app`},"share.unavailableTitle":{message:`Questa conversazione condivisa non è disponibile.`,description:`Titolo della pagina pubblica condivisa quando il link è scaduto o non valido`},"share.unavailableHint":{message:`Il link potrebbe essere stato disattivato dall'altra parte, oppure l'URL è errato.`,description:`Messaggio quando il link di condivisione è scaduto o non valido`},"share.viewOnly":{message:`Conversazione condivisa in sola lettura`,description:`Etichetta sulla pagina pubblica condivisa che indica che la conversazione è in sola lettura`},"share.untitled":{message:`Conversazione senza titolo`,description:`Testo segnaposto utilizzato quando la conversazione condivisa non ha un titolo`},"share.footerNote":{message:`Stai visualizzando una conversazione condivisa. Clicca sopra per chattare con l'AI.`,description:`Spiegazione sotto la conversazione sulla pagina pubblica condivisa`},"scheduledTasks.run.reason.goal_not_achieved":{message:`Obiettivo non raggiunto`,description:``},"scheduledTasks.run.reason.outcome_unknown":{message:`Risultato da confermare`,description:``},"scheduledTasks.run.reason.run_abandoned":{message:`Stato dell'esecuzione sconosciuto`},"actions.rename":{message:`Rinomina`,description:`Voce di menu per rinominare nella menu delle operazioni sulla conversazione.`},"actions.renameTitle":{message:`Rinomina conversazione`,description:`Titolo della finestra di dialogo per rinominare la conversazione.`},"actions.renameEmpty":{message:`Inserisci un nome`,description:`Messaggio che indica che il nome è vuoto durante la rinominazione.`},"actions.renameSuccess":{message:`Rinominato`,description:`Messaggio che indica il successo nella rinominazione della conversazione.`},"actions.renameFailed":{message:`Rinomina fallita, riprova più tardi`,description:`Messaggio che indica il fallimento nella rinominazione della conversazione.`},"actions.deleteConfirm":{message:`Confermi di voler eliminare questa conversazione? Una volta eliminata, non sarà recuperabile.`,description:`Messaggio di conferma prima di eliminare la conversazione.`},"actions.deleteSuccess":{message:`Eliminato`,description:`Messaggio che indica il successo nell'eliminazione della conversazione.`},"actions.deleteFailed":{message:`Eliminazione fallita, riprova più tardi`,description:`Messaggio che indica il fallimento nell'eliminazione della conversazione.`},"actions.tokenMissing":{message:`Token non esistente, effettua nuovamente il login`,description:`Messaggio di errore quando manca il token durante l'operazione sulla conversazione.`},"actions.conversationMissing":{message:`La conversazione non esiste`,description:`Messaggio di errore quando la conversazione target non esiste durante l'operazione.`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`Nome del modello del servizio, ovvero Claude Opus 4.7`},"model.claudeOpus47Description":{message:`Modello più avanzato attualmente disponibile`,description:`Descrizione del modello Claude Opus 4.7`}};export{e as default};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]);export{t};
@@ -1,2 +1,2 @@
1
- import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,U as g,V as _,W as v,_ as y,a as b,b as x,c as S,d as C,f as w,g as ee,h as te,i as ne,j as re,k as ie,l as ae,m as oe,n as se,o as ce,p as T,r as E,s as D,t as O,u as k,ua as A,v as j,w as M,x as N,y as P,z as F}from"./constants-Bj1OV2ER.js";import{_n as I,ai as L,fi as R,hi as z,xr as B}from"./index-Cu9pnwju.js";import{a as V,i as H,n as U,o as W,r as le}from"./codingBridgeNotify-yLMkdu5G.js";var ue=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,de=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},G=(e,t)=>{if(!de())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},fe=class{ws;token;handlers;reconnectDelay=v;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${A}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=v,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(G(`recv`,n),n?.type){case o:this.handlers.onEvent?.(r,n?.from_node);break;case F:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case _:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case t:this.handlers.onNodeRenamed?.(r.node_id,r.name);break;case y:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,g)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:ue(),ts:Date.now(),type:e,...t};G(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(ee,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(oe,{})}resume(e){this.sendEnvelope(te,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},K,q=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,J=(e,t,n)=>({id:q(),session_id:e,kind:t,ts:Date.now(),...n}),Y=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},pe=e=>{let t=Y(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
- `)},me=(e,t)=>{U({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},he=(t,o,g,_,v)=>{let y=_?.event,b=_?.session_id,S=_?.trace_id,C=_?.seq;if(typeof C==`number`&&b){let e=g.lastSeq[b];if(e!==void 0&&C<=e){if(g.seqChecked[b])return;t(`resetLastSeq`,b),o(`resyncSession`,b)}t(`markSeqChecked`,b),t(`setLastSeq`,{session_id:b,seq:C})}switch(b&&S&&t(`updateSession`,{session_id:b,trace_id:S}),y){case l:t(`upsertSession`,{session_id:b,node_id:v,status:`running`,cwd:_.cwd,model:_.model,..._.effort===void 0?{}:{effort:_.effort},..._.permission_mode===void 0?{}:{permission_mode:_.permission_mode},trace_id:S});break;case d:{let e=_.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case a:{let e=_.id;e&&g.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:_.text??``}):t(`appendEvent`,J(b,`text`,{text:_.text??``,stream_id:e,streaming:!0,trace_id:S}));break}case f:{let e=_.id;e&&g.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:_.text}):t(`appendEvent`,J(b,`text`,{text:_.text,trace_id:S}));break}case s:t(`appendEvent`,J(b,`thinking`,{text:_.text,trace_id:S}));break;case p:t(`appendEvent`,J(b,`tool_use`,{tool:_.tool,tool_use_id:_.tool_use_id,input:_.input,trace_id:S}));break;case c:t(`appendEvent`,J(b,`tool_result`,{tool_use_id:_.tool_use_id,content:_.content,is_error:_.is_error,trace_id:S}));break;case n:t(`addPermission`,{request_id:_.request_id,session_id:b,node_id:v,tool:_.tool,input:_.input,title:_.title,display_name:_.display_name,description:_.description}),me(o,{node_id:v,session_id:b,request_id:_.request_id,tool:_.display_name||_.title||_.tool});break;case m:for(let e of _.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:v,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case M:t(`removePermission`,_.request_id);break;case e:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`result`,{subtype:_.subtype,is_error:_.is_error,text:_.result,cost_usd:_.cost_usd,cut_uuid:_.cut_uuid,sdk_session_id:_.sdk_session_id,trace_id:S})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:_.cost_usd});break;case ie:t(`appendEvent`,J(b,`notice`,{text:_.text,subtype:_.code,command:_.command,level:_.level}));break;case r:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`error`,{text:_.message,trace_id:S})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`}),t(`clearSeqCheckedFor`,b);break;case re:t(`rewindToCut`,{session_id:b,cut_uuid:_.cut_uuid}),_.prompt&&t(`appendEvent`,J(b,`prompt`,{text:_.prompt,trace_id:S})),t(`updateSession`,{session_id:b,status:`running`});break;case u:t(`resetLastSeq`,b),t(`clearSeqCheckedFor`,b),o(`resyncSession`,b);break;case h:for(let e of _.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:v,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case N:if(v){t(`setHistory`,{node_id:v,sessions:_.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:L.Success});let e=g.historyRef;e&&e.node_id===v&&!g.currentSessionId&&o(`reattachSession`,e)}break;case x:ge(t,g,_,v),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case P:t(`setDirectory`,{path:_.path,parent:_.parent??null,sep:_.sep??`/`,entries:_.entries??[],truncated:_.truncated,error:_.error});break;case j:v&&t(`setCapabilities`,{node_id:v,capabilities:{providers:_.providers??[]}});break;default:break}},ge=(e,t,n,r)=>{let i=n?.session_id,a=X(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:q(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},X=e=>e===`codex`||e===`copilot`?e:`claude`,Z=0,Q=new Map,_e=({commit:e})=>{Q.clear(),e(`resetAll`)},ve=async()=>{},ye=async()=>{},be=(e,t,n)=>{e(`setNodeName`,{node_id:t,name:n})},$={namespaced:!0,state:B,mutations:{resetAll:e=>{Object.assign(e,B())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id)),r=new Map(t.map(e=>[e.node_id,e.name]));for(let t of e.nodes){t.status=n.has(t.node_id)?`online`:`offline`;let e=r.get(t.node_id);e&&(t.name=e)}for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setNodeName:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.name=t.name)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],delete e.seqChecked[n],delete e.seqChecked[r];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)},resetLastSeq:(e,t)=>{delete e.lastSeq[t]},markSeqChecked:(e,t)=>{e.seqChecked[t]=!0},clearSeqChecked:e=>{e.seqChecked={}},clearSeqCheckedFor:(e,t)=>{delete e.seqChecked[t]},appendDelta:(e,t)=>{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],delete e.seqChecked[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:_e,getApplications:ve,setApplication:ye,getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:L.Request});let r=Z;try{let{data:t}=await I.getNodes({token:n}),i=(t.nodes??[]).map(e=>{let t=Q.get(e.node_id);return t&&t.at>r?{...e,name:t.name}:e});return e(`setNodes`,i),e(`updateStatus`,{key:`getNodes`,value:L.Success}),i}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:L.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:L.Request});try{let{data:n}=await I.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:L.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:L.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:L.Request});try{await I.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:L.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:L.Error}),t}},renameNode:async({commit:e,rootState:t},n)=>{let r=t.token?.access;if(!r)throw Error(`not authenticated`);let i=n.name.trim();if(!i)throw Error(`name must not be empty`);e(`updateStatus`,{key:`renameNode`,value:L.Request});try{let{data:t}=await I.renameNode(n.nodeId,i,{token:r}),a=t?.name??i;Q.size>=50&&Q.clear(),Q.set(n.nodeId,{name:a,at:++Z}),e(`setNodeName`,{node_id:n.nodeId,name:a}),e(`updateStatus`,{key:`renameNode`,value:L.Success})}catch(t){throw e(`updateStatus`,{key:`renameNode`,value:L.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(K?.isOpen||(K?.close(),e(`setConnection`,`connecting`),K=new fe(i,{onOpen:()=>{e(`setConnection`,`connected`),e(`clearSeqChecked`);let r={...n.lastSeq};Object.keys(r).length&&K?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>he(e,t,n,r,i),onNodesSnapshot:n=>{e(`mergeNodeSnapshot`,n),t(`getNodes`)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onNodeRenamed:(t,n)=>{be(e,t,n)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),K.connect()))},disconnect:({commit:e})=>{K?.close(),K=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:S})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:ce})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(z()){let t=await le(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await I.savePushSubscription({kind:R()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await H();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await I.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await V(e.vapid_public_key);t&&await I.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(z()||!t)return;let n=await W();if(n)try{await I.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!K||!i&&!a&&!o)return;let s=q(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=q(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,J(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),K.sendToNode(r,{action:T,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,J(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),K.sendToNode(r,{action:w,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!K||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=q();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,J(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),K.sendToNode(r,{action:k,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!K||K.sendToNode(n,{action:C,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&K&&K.sendToNode(i,{action:ae,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(K?.sendToNode(r.node_id,{action:D,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(K?.sendToNode(r.node_id,{action:D,request_id:n.request_id,decision:`allow`,answer:Y(n.output),answer_text:pe(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!K||(e(`updateStatus`,{key:`getHistory`,value:L.Request}),K.sendToNode(r,{action:ne,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!K||(e(`updateStatus`,{key:`getHistoryDetail`,value:L.Request}),K.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:L.Success}),12e3))},markHistoryRead:(e,t)=>{!t?.node_id||!t?.session_id||!t?.provider||!K||K.sendToNode(t.node_id,{action:b,provider:t.provider,session_id:t.session_id,updated_at:t.updated_at,limit:200})},reattachSession:({state:e,commit:t,dispatch:n},r)=>{if(!r?.node_id||!r?.session_id)return;t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id);let i=e.lastSeq[r.session_id];i!==void 0&&K?.resume({[r.session_id]:i})},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!K||(e(`setDirectoryLoading`,!0),K.sendToNode(r,{action:se,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:O})}}};export{$ as codingBridge,$ as default};
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,U as g,V as _,W as v,_ as y,a as b,b as x,c as S,d as C,f as w,g as ee,h as te,i as ne,j as re,k as ie,l as ae,m as oe,n as se,o as ce,p as T,r as E,s as D,t as O,u as k,ua as A,v as j,w as M,x as N,y as P,z as F}from"./constants-Dm-HitpB.js";import{bn as I,ci as L,gi as R,wr as z,yi as B}from"./index-NQhLFvCT.js";import{a as V,i as H,n as U,o as W,r as le}from"./codingBridgeNotify-B4B5G7Va.js";var ue=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,de=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},G=(e,t)=>{if(!de())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},fe=class{ws;token;handlers;reconnectDelay=v;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${A}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=v,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(G(`recv`,n),n?.type){case o:this.handlers.onEvent?.(r,n?.from_node);break;case F:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case _:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case t:this.handlers.onNodeRenamed?.(r.node_id,r.name);break;case y:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,g)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:ue(),ts:Date.now(),type:e,...t};G(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(ee,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(oe,{})}resume(e){this.sendEnvelope(te,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},K,q=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,J=(e,t,n)=>({id:q(),session_id:e,kind:t,ts:Date.now(),...n}),Y=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},pe=e=>{let t=Y(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
+ `)},me=(e,t)=>{U({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},he=(t,o,g,_,v)=>{let y=_?.event,b=_?.session_id,S=_?.trace_id,C=_?.seq;if(typeof C==`number`&&b){let e=g.lastSeq[b];if(e!==void 0&&C<=e){if(g.seqChecked[b])return;t(`resetLastSeq`,b),o(`resyncSession`,b)}t(`markSeqChecked`,b),t(`setLastSeq`,{session_id:b,seq:C})}switch(b&&S&&t(`updateSession`,{session_id:b,trace_id:S}),y){case l:t(`upsertSession`,{session_id:b,node_id:v,status:`running`,cwd:_.cwd,model:_.model,..._.effort===void 0?{}:{effort:_.effort},..._.permission_mode===void 0?{}:{permission_mode:_.permission_mode},trace_id:S});break;case d:{let e=_.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case a:{let e=_.id;e&&g.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:_.text??``}):t(`appendEvent`,J(b,`text`,{text:_.text??``,stream_id:e,streaming:!0,trace_id:S}));break}case f:{let e=_.id;e&&g.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:_.text}):t(`appendEvent`,J(b,`text`,{text:_.text,trace_id:S}));break}case s:t(`appendEvent`,J(b,`thinking`,{text:_.text,trace_id:S}));break;case p:t(`appendEvent`,J(b,`tool_use`,{tool:_.tool,tool_use_id:_.tool_use_id,input:_.input,trace_id:S}));break;case c:t(`appendEvent`,J(b,`tool_result`,{tool_use_id:_.tool_use_id,content:_.content,is_error:_.is_error,trace_id:S}));break;case n:t(`addPermission`,{request_id:_.request_id,session_id:b,node_id:v,tool:_.tool,input:_.input,title:_.title,display_name:_.display_name,description:_.description}),me(o,{node_id:v,session_id:b,request_id:_.request_id,tool:_.display_name||_.title||_.tool});break;case m:for(let e of _.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:v,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case M:t(`removePermission`,_.request_id);break;case e:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`result`,{subtype:_.subtype,is_error:_.is_error,text:_.result,cost_usd:_.cost_usd,cut_uuid:_.cut_uuid,sdk_session_id:_.sdk_session_id,trace_id:S})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:_.cost_usd});break;case ie:t(`appendEvent`,J(b,`notice`,{text:_.text,subtype:_.code,command:_.command,level:_.level}));break;case r:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,J(b,`error`,{text:_.message,trace_id:S})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`}),t(`clearSeqCheckedFor`,b);break;case re:t(`rewindToCut`,{session_id:b,cut_uuid:_.cut_uuid}),_.prompt&&t(`appendEvent`,J(b,`prompt`,{text:_.prompt,trace_id:S})),t(`updateSession`,{session_id:b,status:`running`});break;case u:t(`resetLastSeq`,b),t(`clearSeqCheckedFor`,b),o(`resyncSession`,b);break;case h:for(let e of _.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:v,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case N:if(v){t(`setHistory`,{node_id:v,sessions:_.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:L.Success});let e=g.historyRef;e&&e.node_id===v&&!g.currentSessionId&&o(`reattachSession`,e)}break;case x:ge(t,g,_,v),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case P:t(`setDirectory`,{path:_.path,parent:_.parent??null,sep:_.sep??`/`,entries:_.entries??[],truncated:_.truncated,error:_.error});break;case j:v&&t(`setCapabilities`,{node_id:v,capabilities:{providers:_.providers??[]}});break;default:break}},ge=(e,t,n,r)=>{let i=n?.session_id,a=X(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:q(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},X=e=>e===`codex`||e===`copilot`?e:`claude`,Z=0,Q=new Map,_e=({commit:e})=>{Q.clear(),e(`resetAll`)},ve=async()=>{},ye=async()=>{},be=(e,t,n)=>{e(`setNodeName`,{node_id:t,name:n})},$={namespaced:!0,state: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],delete e.seqChecked[n],delete e.seqChecked[r];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)},resetLastSeq:(e,t)=>{delete e.lastSeq[t]},markSeqChecked:(e,t)=>{e.seqChecked[t]=!0},clearSeqChecked:e=>{e.seqChecked={}},clearSeqCheckedFor:(e,t)=>{delete e.seqChecked[t]},appendDelta:(e,t)=>{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],delete e.seqChecked[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:_e,getApplications:ve,setApplication:ye,getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:L.Request});let r=Z;try{let{data:t}=await I.getNodes({token:n}),i=(t.nodes??[]).map(e=>{let t=Q.get(e.node_id);return t&&t.at>r?{...e,name:t.name}:e});return e(`setNodes`,i),e(`updateStatus`,{key:`getNodes`,value:L.Success}),i}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:L.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:L.Request});try{let{data:n}=await I.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:L.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:L.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:L.Request});try{await I.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:L.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:L.Error}),t}},renameNode:async({commit:e,rootState:t},n)=>{let r=t.token?.access;if(!r)throw Error(`not authenticated`);let i=n.name.trim();if(!i)throw Error(`name must not be empty`);e(`updateStatus`,{key:`renameNode`,value:L.Request});try{let{data:t}=await I.renameNode(n.nodeId,i,{token:r}),a=t?.name??i;Q.size>=50&&Q.clear(),Q.set(n.nodeId,{name:a,at:++Z}),e(`setNodeName`,{node_id:n.nodeId,name:a}),e(`updateStatus`,{key:`renameNode`,value:L.Success})}catch(t){throw e(`updateStatus`,{key:`renameNode`,value:L.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(K?.isOpen||(K?.close(),e(`setConnection`,`connecting`),K=new fe(i,{onOpen:()=>{e(`setConnection`,`connected`),e(`clearSeqChecked`);let r={...n.lastSeq};Object.keys(r).length&&K?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>he(e,t,n,r,i),onNodesSnapshot:n=>{e(`mergeNodeSnapshot`,n),t(`getNodes`)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onNodeRenamed:(t,n)=>{be(e,t,n)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),K.connect()))},disconnect:({commit:e})=>{K?.close(),K=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:S})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:ce})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(B()){let t=await le(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await I.savePushSubscription({kind:R()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await H();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await I.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await V(e.vapid_public_key);t&&await I.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(B()||!t)return;let n=await W();if(n)try{await I.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!K||!i&&!a&&!o)return;let s=q(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=q(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,J(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),K.sendToNode(r,{action:T,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,J(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),K.sendToNode(r,{action:w,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!K||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=q();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,J(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),K.sendToNode(r,{action:k,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!K||K.sendToNode(n,{action:C,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&K&&K.sendToNode(i,{action:ae,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(K?.sendToNode(r.node_id,{action:D,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(K?.sendToNode(r.node_id,{action:D,request_id:n.request_id,decision:`allow`,answer:Y(n.output),answer_text:pe(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!K||(e(`updateStatus`,{key:`getHistory`,value:L.Request}),K.sendToNode(r,{action:ne,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!K||(e(`updateStatus`,{key:`getHistoryDetail`,value:L.Request}),K.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:L.Success}),12e3))},markHistoryRead:(e,t)=>{!t?.node_id||!t?.session_id||!t?.provider||!K||K.sendToNode(t.node_id,{action:b,provider:t.provider,session_id:t.session_id,updated_at:t.updated_at,limit:200})},reattachSession:({state:e,commit:t,dispatch:n},r)=>{if(!r?.node_id||!r?.session_id)return;t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id);let i=e.lastSeq[r.session_id];i!==void 0&&K?.resume({[r.session_id]:i})},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!K||(e(`setDirectoryLoading`,!0),K.sendToNode(r,{action:se,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!K||K.sendToNode(n,{action:O})}}};export{$ as codingBridge,$ as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-yQQu_87L.js","assets/index-Cu9pnwju.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-Cr8KpYEt.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-r4dlLNqm.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/runtime-BTM7t9of.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-9DurtVZO.js","assets/aria-8oQuUBWy.js","assets/scroll-BLZONOev.js","assets/vnode-Djvrzqbc.js","assets/vendor-vue-router-Cnr45FPb.js","assets/constants-Bj1OV2ER.js","assets/index-CDLPhzZx.css","assets/esm-CkO9Uma_.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{hi as t}from"./index-Cu9pnwju.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-yQQu_87L.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-CkO9Uma_.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-D3ExGrJd.js","assets/index-NQhLFvCT.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-BMgeFHoQ.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-r4dlLNqm.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/runtime-BTM7t9of.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-9DurtVZO.js","assets/aria-8oQuUBWy.js","assets/scroll-BLZONOev.js","assets/vnode-Djvrzqbc.js","assets/vendor-vue-router-Cnr45FPb.js","assets/constants-Dm-HitpB.js","assets/index-Cbc786wP.css","assets/esm-B6hBOBRW.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{yi as t}from"./index-NQhLFvCT.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-D3ExGrJd.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-B6hBOBRW.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
@@ -1 +1 @@
1
- import{yi as e}from"./index-Cu9pnwju.js";var t=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]);export{t};
1
+ import{Ci as e}from"./index-NQhLFvCT.js";var t=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]);export{t};
@@ -1 +1 @@
1
- import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,Mt as o,N as s,Rt as c,S as l,U as u,Ut as d,Wt as f,ft as p,ht as m,it as h,j as g,k as _,mt as v,nt as y,st as b,tt as x,wt as S,x as C,z as w}from"./vendor-chart-Dw-P17PN.js";import{a as T,c as E,i as D,t as O}from"./install-Cn-SLM3u.js";import{i as k,n as A,r as j,s as M}from"./runtime-BTM7t9of.js";import{W as N,_ as P,dt as F,ft as I,l as ee,m as L}from"./use-deprecated-r4dlLNqm.js";import{t as R}from"./castArray-vzCbPgQ2.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-BUGXhx7B.js";import{Yi as H}from"./index-Cu9pnwju.js";var U=e=>M(e)||f(e)||c(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=S(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return p(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),y(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[d(r),k(r)].includes(!0)||I(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),d(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{F(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:_(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(w({...w({name:`ElCollapse`}),props:W,emits:G,setup(e,{expose:t,emit:r}){let i=e,{activeNames:a,setActiveNames:c}=J(i,r),{rootKls:l}=Y(i);return t({activeNames:a,setActiveNames:c}),(e,t)=>(x(),s(`div`,{class:n(o(l))},[h(e.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:L,default:P},disabled:Boolean}),Q=e=>{let t=u(K),{namespace:n}=E(`collapse`),r=S(!1),i=S(!1),a=ee(),s=_(()=>a.current++),c=_(()=>e.name??`${n.value}-id-${a.prefix}-${o(s)}`);return{focusing:r,id:s,isActive:_(()=>t?.activeNames.value.includes(o(c))),handleFocus:()=>{setTimeout(()=>{i.value?i.value=!1:r.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(o(c)),r.value=!1,i.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(o(c)))}}},te=(e,{focusing:t,isActive:n,id:r})=>{let i=E(`collapse`),a=_(()=>[i.b(`item`),i.is(`active`,o(n)),i.is(`disabled`,e.disabled)]),s=_(()=>[i.be(`item`,`header`),i.is(`active`,o(n)),{focusing:o(t)&&!e.disabled}]),c=_(()=>[i.be(`item`,`arrow`),i.is(`active`,o(n))]);return{itemTitleKls:_(()=>[i.be(`item`,`title`)]),arrowKls:c,headKls:s,rootKls:a,itemWrapperKls:_(()=>i.be(`item`,`wrap`)),itemContentKls:_(()=>i.be(`item`,`content`)),scopedContentId:_(()=>i.b(`content-${o(r)}`)),scopedHeadId:_(()=>i.b(`head-${o(r)}`))}},$=T(w({...w({name:`ElCollapseItem`}),props:Z,setup(c,{expose:u}){let d=c,{focusing:f,id:p,isActive:_,handleFocus:y,handleHeaderClick:S,handleEnterClick:w}=Q(d),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(d,{focusing:f,isActive:_,id:p});return u({isActive:_}),(c,u)=>(x(),s(`div`,{class:n(o(D))},[e(`div`,{id:o(M),class:n(o(E)),"aria-expanded":o(_),"aria-controls":o(j),"aria-describedby":o(j),tabindex:c.disabled?-1:0,role:`button`,onClick:o(S),onKeydown:l(t(o(w),[`stop`]),[`space`,`enter`]),onFocus:o(y),onBlur:e=>f.value=!1},[e(`span`,{class:n(o(O))},[h(c.$slots,`title`,{isActive:o(_)},()=>[r(i(c.title),1)])],2),h(c.$slots,`icon`,{isActive:o(_)},()=>[a(o(N),{class:n(o(T))},{default:v(()=>[(x(),g(b(c.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),a(o(V),null,{default:v(()=>[m(e(`div`,{id:o(j),role:`region`,class:n(o(k)),"aria-hidden":!o(_),"aria-labelledby":o(M)},[e(`div`,{class:n(o(A))},[h(c.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[C,o(_)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};
1
+ import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,Mt as o,N as s,Rt as c,S as l,U as u,Ut as d,Wt as f,ft as p,ht as m,it as h,j as g,k as _,mt as v,nt as y,st as b,tt as x,wt as S,x as C,z as w}from"./vendor-chart-Dw-P17PN.js";import{a as T,c as E,i as D,t as O}from"./install-Cn-SLM3u.js";import{i as k,n as A,r as j,s as M}from"./runtime-BTM7t9of.js";import{W as N,_ as P,dt as F,ft as I,l as ee,m as L}from"./use-deprecated-r4dlLNqm.js";import{t as R}from"./castArray-vzCbPgQ2.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-BUGXhx7B.js";import{$i as H}from"./index-NQhLFvCT.js";var U=e=>M(e)||f(e)||c(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=S(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return p(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),y(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[d(r),k(r)].includes(!0)||I(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),d(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{F(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:_(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(w({...w({name:`ElCollapse`}),props:W,emits:G,setup(e,{expose:t,emit:r}){let i=e,{activeNames:a,setActiveNames:c}=J(i,r),{rootKls:l}=Y(i);return t({activeNames:a,setActiveNames:c}),(e,t)=>(x(),s(`div`,{class:n(o(l))},[h(e.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:L,default:P},disabled:Boolean}),Q=e=>{let t=u(K),{namespace:n}=E(`collapse`),r=S(!1),i=S(!1),a=ee(),s=_(()=>a.current++),c=_(()=>e.name??`${n.value}-id-${a.prefix}-${o(s)}`);return{focusing:r,id:s,isActive:_(()=>t?.activeNames.value.includes(o(c))),handleFocus:()=>{setTimeout(()=>{i.value?i.value=!1:r.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(o(c)),r.value=!1,i.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(o(c)))}}},te=(e,{focusing:t,isActive:n,id:r})=>{let i=E(`collapse`),a=_(()=>[i.b(`item`),i.is(`active`,o(n)),i.is(`disabled`,e.disabled)]),s=_(()=>[i.be(`item`,`header`),i.is(`active`,o(n)),{focusing:o(t)&&!e.disabled}]),c=_(()=>[i.be(`item`,`arrow`),i.is(`active`,o(n))]);return{itemTitleKls:_(()=>[i.be(`item`,`title`)]),arrowKls:c,headKls:s,rootKls:a,itemWrapperKls:_(()=>i.be(`item`,`wrap`)),itemContentKls:_(()=>i.be(`item`,`content`)),scopedContentId:_(()=>i.b(`content-${o(r)}`)),scopedHeadId:_(()=>i.b(`head-${o(r)}`))}},$=T(w({...w({name:`ElCollapseItem`}),props:Z,setup(c,{expose:u}){let d=c,{focusing:f,id:p,isActive:_,handleFocus:y,handleHeaderClick:S,handleEnterClick:w}=Q(d),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(d,{focusing:f,isActive:_,id:p});return u({isActive:_}),(c,u)=>(x(),s(`div`,{class:n(o(D))},[e(`div`,{id:o(M),class:n(o(E)),"aria-expanded":o(_),"aria-controls":o(j),"aria-describedby":o(j),tabindex:c.disabled?-1:0,role:`button`,onClick:o(S),onKeydown:l(t(o(w),[`stop`]),[`space`,`enter`]),onFocus:o(y),onBlur:e=>f.value=!1},[e(`span`,{class:n(o(O))},[h(c.$slots,`title`,{isActive:o(_)},()=>[r(i(c.title),1)])],2),h(c.$slots,`icon`,{isActive:o(_)},()=>[a(o(N),{class:n(o(T))},{default:v(()=>[(x(),g(b(c.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),a(o(V),null,{default:v(()=>[m(e(`div`,{id:o(j),role:`region`,class:n(o(k)),"aria-hidden":!o(_),"aria-labelledby":o(M)},[e(`div`,{class:n(o(A))},[h(c.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[C,o(_)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};
@@ -0,0 +1 @@
1
+ var e={"message.mediaPreviewUnavailable":{message:`Anteprima non disponibile`,description:`Impossibile caricare l'anteprima dei media.`},"button.setup":{message:`Impostazioni`,description:`Testo nel pulsante, utilizzato per effettuare impostazioni`},"button.start":{message:`Inizia`,description:`Testo nel pulsante, utilizzato per avviare alcune operazioni`},"button.copy":{message:`Copia`,description:`Testo nel pulsante, utilizzato per copiare un contenuto`},"button.copied":{message:`Copiato`,description:`Testo nel pulsante, utilizzato per indicare che il contenuto è stato copiato`},"button.restart":{message:`Rigenera`,description:`Testo nel pulsante, utilizzato per rigenerare un contenuto`},"button.preview":{message:`Anteprima`,description:`Testo nel pulsante, utilizzato per aprire l'anteprima di un file tramite URL`},"button.seeRawImage":{message:`Visualizza immagine originale`,description:`Testo nel pulsante, utilizzato per visualizzare l'immagine originale`},"button.seeRawVideo":{message:`Visualizza video`,description:`Testo nel pulsante, utilizzato per visualizzare il video originale`},"button.edit":{message:`Modifica`,description:`Testo nel pulsante, utilizzato per modificare un contenuto`},"button.login":{message:`Accedi`,description:`Testo nel pulsante, utilizzato per accedere`},"button.logout":{message:`Disconnetti`,description:`Testo nel pulsante, utilizzato per disconnettersi`},"button.new":{message:`Nuovo`,description:`Testo nel pulsante, utilizzato per creare un nuovo elemento`},"button.delete":{message:`Elimina`,description:`Testo nel pulsante, utilizzato per eliminare un contenuto`},"button.deletePermanently":{message:`Elimina account in modo permanente`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`Conferma`,description:`Testo nel pulsante, utilizzato per confermare un'operazione`},"button.cancel":{message:`Annulla`,description:`Testo nel pulsante, utilizzato per annullare un'operazione`},"button.close":{message:`Chiudi`,description:`Testo nel pulsante, utilizzato per chiudere una finestra o un pannello`},"button.send":{message:`Invia`,description:`Etichetta accessibile del pulsante per inviare contenuti.`},"button.stop":{message:`Ferma`,description:`Etichetta accessibile del pulsante per fermare un'operazione.`},"button.openMenu":{message:`Apri menu`,description:`Etichetta accessibile del pulsante per aprire il menu di navigazione o di configurazione.`},"button.more":{message:`Ulteriori azioni`,description:`Etichetta accessibile del pulsante per aprire il menu delle azioni.`},"button.remove":{message:`Rimuovi`,description:`Etichetta accessibile del pulsante per rimuovere un elemento.`},"player.previous":{message:`Precedente`,description:`Etichetta accessibile per il pulsante precedente del lettore multimediale.`},"player.play":{message:`Riproduci`,description:`Etichetta accessibile per il pulsante riproduci del lettore multimediale.`},"player.pause":{message:`Pausa`,description:`Etichetta accessibile per il pulsante pausa del lettore multimediale.`},"player.next":{message:`Prossimo`,description:`Etichetta accessibile per il pulsante successivo del lettore multimediale.`},"player.volume":{message:`Volume`,description:`Etichetta accessibile per il controllo del volume del lettore`},"button.expand":{message:`Espandi`,description:`Testo del pulsante che apre l'editor a schermo intero per l'inserimento di suggerimenti.`},"button.alert":{message:`Avviso`,description:`Testo nel pulsante, utilizzato per emettere un avviso`},"button.info":{message:`Informazioni`,description:`Testo nel pulsante, utilizzato per visualizzare informazioni`},"button.publish":{message:`Pubblica`,description:`Testo nel pulsante, utilizzato per pubblicare contenuti`},"button.watch":{message:`Guarda`,description:`Testo nel pulsante, utilizzato per guardare un contenuto`},"button.verify":{message:`Verifica identità`,description:`Testo nel pulsante, utilizzato per consentire all'utente di verificare la propria identità`},"button.profile":{message:`Profilo`,description:`Testo nel pulsante, utilizzato per visualizzare il profilo personale`},"button.console":{message:`Console`,description:`Testo nel pulsante per visualizzare la pagina della console, per controllare un contenuto nella pagina web`},"button.learn":{message:`Impara`,description:`Testo nel pulsante, utilizzato per consentire all'utente di apprendere un contenuto`},"button.buy":{message:`Acquista`,description:`Testo nel pulsante, utilizzato per consentire all'utente di acquistare un contenuto`},"button.try":{message:`Prova`,description:`Testo nel pulsante, utilizzato per consentire all'utente di provare un contenuto`},"button.startForFree":{message:`Inizia gratis`,description:`Testo nel pulsante, utilizzato per consentire all'utente di iniziare gratuitamente`},"button.download":{message:`Scarica`,description:`Testo nel pulsante, utilizzato per scaricare file (come audio, video, immagini)`},"button.downloadAndroid":{message:`Scarica Android`,description:`Testo nel pulsante, utilizzato per scaricare il pacchetto di installazione Android`},"button.downloadIos":{message:`Scarica pacchetto iOS`,description:`Testo nel pulsante, utilizzato per scaricare il pacchetto di installazione iOS`},"button.downloadWindows":{message:`Scarica per Windows`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`Scarica per macOS`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`Installa iOS`,description:`Testo nel pulsante, utilizzato per installare l'app iOS`},"button.apply":{message:`Richiedi`,description:`Testo nel pulsante, utilizzato per consentire all'utente di richiedere un servizio API`},"button.refresh":{message:`Aggiorna`,description:`Testo nel pulsante, utilizzato per aggiornare la pagina`},"button.pay":{message:`Paga`,description:`Testo nel pulsante, utilizzato per consentire all'utente di pagare le spese del servizio`},"button.repay":{message:`Continua pagamento`,description:`Testo nel pulsante, utilizzato per consentire all'utente di continuare a pagare le spese del servizio`},"button.applied":{message:`Richiesto`,description:`Testo nel pulsante, utilizzato per indicare che l'utente ha richiesto il servizio`},"button.acquire":{message:`Ottieni`,description:`Testo nel pulsante, utilizzato per consentire all'utente di ottenere un token o una chiave per il servizio API`},"button.fillExample":{message:`Compila esempio`,description:`Testo nel pulsante, utilizzato per consentire all'utente di compilare dati di esempio`},"button.buyMore":{message:`Ricarica`,description:`Testo nel pulsante, utilizzato per consentire all'utente di ricaricare. L'inglese deve essere tradotto in 'Top Up', il cinese in '充值'.`},"button.update":{message:`Aggiorna`,description:`Testo nel pulsante, utilizzato per aggiornare un contenuto`},"button.view":{message:`Visualizza`,description:`Testo nel pulsante, utilizzato per visualizzare un contenuto`},"button.create":{message:`Crea`,description:`Testo nel pulsante, utilizzato per creare un contenuto`},"button.referralEarnings":{message:`Guadagni da referral`,description:`Testo nel pulsante, che mostra i guadagni da referral, significa che l'utente può guadagnare invitando altri a utilizzare il servizio`},"button.finish":{message:`Completa`,description:`Testo nel pulsante, utilizzato per completare un'operazione`},"entity.id":{message:`ID`,description:`Identificatore unico per visualizzare l'entità`},"entity.type":{message:`Tipo`,description:`Tipo dell'entità da visualizzare`},"entity.website":{message:`Ace Data Cloud`,description:`Nome del sito web, non necessita di traduzione, mantenere 'Ace Data Cloud'`},"entity.copyright":{message:`Copyright`,description:`Testo che mostra il copyright`},"entity.platform":{message:`Piattaforma`,description:`Testo che indica che si tratta di una piattaforma di servizi API`},"entity.title":{message:`Titolo`,description:`Titolo dell'entità`},"entity.icon":{message:`Icona`,description:`Icona dell'entità`},"entity.status":{message:`Stato`,description:`Stato dell'entità`},"status.loading":{message:`Caricamento in corso...`,description:`Testo di stato visualizzato durante il caricamento dei contenuti`},"error.appleSignInFailed":{message:`Accesso con Apple non riuscito. Riprova o usa un altro metodo di accesso.`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"error.loginLinkExpired":{message:`Il link di accesso è scaduto, si prega di effettuare nuovamente il login.`,description:`Messaggio di errore visualizzato quando il callback OAuth del client desktop viene scartato a causa di un errore di verifica dello stato/scadenza.`},"entity.operation":{message:`Operazione`,description:`Operazione dell'entità`},"entity.description":{message:`Descrizione`,description:`Descrizione dell'entità`},"entity.createdAt":{message:`Creato il`,description:`Data di creazione dell'entità`},"entity.updatedAt":{message:`Aggiornato il`,description:`Data di aggiornamento dell'entità`},"entity.order":{message:`Ordine`,description:`Ordine dell'entità, che include informazioni su denaro e servizi, per cui l'utente deve pagare`},"message.noTasks":{message:`Nessun compito storico, inizia un nuovo compito~`,description:`Messaggio quando non ci sono compiti`},"message.guestTasks":{message:`Accedi per avviare un'attività e vedere qui le tue creazioni.`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`Importo utilizzato`,description:`Utilizzato per visualizzare l'importo già utilizzato per il servizio`},"message.mobileAppDescription":{message:`Usa AceData direttamente sul tuo telefono, attualmente disponibile per il download dell'APK Android. Il pacchetto iOS sarà disponibile dopo la firma.`,description:`Testo descrittivo per la pagina di download dell'app mobile`},"message.mobileAndroidHint":{message:`Compatibile con telefoni e tablet Android, scansiona il codice per scaricare e installare l'APK più recente.`,description:`Descrizione della scheda di download Android`},"message.mobileAndroidPending":{message:`Il pacchetto di installazione Android non è ancora pronto, riprova più tardi.`,description:`Messaggio quando il pacchetto di installazione Android non è disponibile`},"message.mobileAvailableNow":{message:`Android disponibile per il download`,description:`Utilizzato per visualizzare lo stato di disponibilità del download Android`},"message.mobileSecureDelivery":{message:`Distribuzione sicura tramite CDN`,description:`Utilizzato per enfatizzare che il link di download è fornito tramite CDN`},"message.mobileDirectInstall":{message:`Installazione diretta APK`,description:`Utilizzato per descrivere il metodo di installazione diretta APK per Android`},"message.mobileLatestRelease":{message:`Versione pubblica attuale`,description:`Utilizzato per indicare che la versione mostrata è l'ultima pubblica`},"message.mobileSharedAccount":{message:`Account e credito condivisi con la versione web`,description:`Utilizzato per indicare che l'app mobile condivide l'account con la versione web`},"message.mobileIosHint":{message:`Compatibile con iPhone e iPad, installazione online diretta; se il sistema blocca, puoi prima scaricare l'IPA e poi distribuirlo.`,description:`Descrizione della scheda di download iOS`},"message.mobileIosPending":{message:`Il pacchetto di installazione iOS non è ancora disponibile per il download, sarà fornito dopo il completamento del certificato e del profilo Apple.`,description:`Messaggio quando il pacchetto di installazione iOS non è disponibile`},"message.mobileComingSoon":{message:`Disponibile a breve`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"message.mobileNowOnAppStore":{message:`Disponibile su App Store`,description:`Etichetta di stato mostrata sulla scheda iOS quando l'app è attiva sull'App Store.`},"message.desktopWindowsHint":{message:`Per Windows 10 e versioni successive (64 bit). Scarica il programma di installazione e fai doppio clic per installare.`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`Per macOS 11 e versioni successive. Scegli la versione adatta al tuo Mac — Apple Silicon (serie M) o Intel.`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`Le app desktop sono versioni beta non firmate. Su Windows scegli «Maggiori informazioni → Esegui comunque» nell’avviso SmartScreen; su macOS fai clic con il tasto destro sull’app e scegli «Apri» per ignorare Gatekeeper.`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`Disponibile su Google Play`,description:`Button label that opens the app's Google Play Store listing`},"button.getOnAppStore":{message:`Scarica su App Store`,description:`Etichetta del pulsante che apre l'elenco dell'app nell'Apple App Store.`},"message.mobileApkFallback":{message:`Nessun accesso a Google Play? Scarica direttamente l'APK.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Scansiona per aprire Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileAppStoreHint":{message:`Scansiona per andare all'App Store`,description:`Suggerimento sotto il codice QR che spiega che la scansione apre la pagina dell'App Store.`},"message.mobileInstallNote":{message:`Durante la prima installazione di un pacchetto aziendale o Ad Hoc su iOS, il sistema potrebbe richiedere di fidarsi del certificato in 'Impostazioni > Generali > VPN e gestione dispositivo'.`,description:`Messaggio di installazione per l'app mobile`},"title.mobileApp":{message:`Download mobile`,description:`Titolo della pagina di download dell'app mobile`},"title.mobileFastAccess":{message:`Accesso più veloce, senza passare per l'app store`,description:`Titolo della scheda di vantaggio della pagina di download, enfatizza l'installazione rapida`},"title.mobileTrustedRelease":{message:`Gestione centralizzata delle versioni, distribuzione più stabile`,description:`Titolo della scheda di vantaggio della pagina di download, enfatizza stabilità delle versioni e distribuzione`},"title.mobileUnifiedExperience":{message:`Esperienza mobile e web coerente`,description:`Titolo della scheda di vantaggio della pagina di download, enfatizza l'esperienza unificata`},"nav.mobileApp":{message:`Mobile`,description:`Ingresso per il download dell'app mobile nella navigazione`},"message.mobileFastAccess":{message:`Gli utenti possono scansionare il codice sul telefono per installare direttamente, oppure possono scaricare l'APK sul desktop e distribuirlo ai membri del team, adatto per scenari che richiedono un rapido utilizzo e test interni.`,description:`Descrizione dei vantaggi della pagina di download, enfatizza l'accesso rapido`},"message.mobileTrustedRelease":{message:`I punti di accesso per il download sono centralizzati in un'unica pagina, numero di versione, stato della piattaforma e modalità di installazione sono visibili a colpo d'occhio, riducendo i costi di comunicazione dovuti alla dispersione dei link.`,description:`Descrizione dei vantaggi della pagina di download, enfatizza la distribuzione unificata`},"message.mobileUnifiedExperience":{message:`Il sistema di account, credito e punti di accesso ai servizi dopo il login rimane coerente con il Web, facilitando il passaggio senza soluzione di continuità tra desktop e mobile.`,description:`Descrizione dei vantaggi della pagina di download, enfatizza l'esperienza unificata dell'account`},"message.remainingAmount":{message:`Importo residuo`,description:`Utilizzato per visualizzare l'importo residuo per il servizio`},"message.copied":{message:`Copiato con successo`,description:`Messaggio che indica che il contenuto è stato copiato con successo`},"message.restart":{message:`Rigenera`,description:`Messaggio per indicare che il contenuto è stato copiato con successo`},"message.confirmDelete":{message:`Sei sicuro di voler eliminare?`,description:`Messaggio per confermare che l'utente desidera eliminare un contenuto`},"message.deleteTaskConfirm":{message:`Sei sicuro di voler eliminare questo record generato? Dopo l'eliminazione verrà rimosso da tutti i dispositivi e non potrà essere recuperato.`,description:`Messaggio di conferma visualizzato prima di eliminare un singolo record di generazione di attività.`},"message.deleteTaskSuccess":{message:`Registro eliminato.`,description:`Messaggio visualizzato dopo aver eliminato con successo un'attività.`},"message.deleteTaskFailed":{message:`Eliminazione fallita, riprova più tardi.`,description:`Messaggio visualizzato quando l'eliminazione di un'attività non riesce.`},"message.expiredAt":{message:`Data di scadenza`,description:`Messaggio per mostrare la data di scadenza del servizio`},"message.alert":{message:`Avviso`,description:`Messaggio per avvisare l'utente`},"message.deleteAccountConfirm":{message:`Questa operazione eliminerà definitivamente il tuo account e tutti i dati associati. Questa azione non può essere annullata. Vuoi davvero continuare?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`Il tuo account è stato eliminato.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Impossibile eliminare il tuo account. Riprova più tardi.`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`Questa azione è irreversibile! Il tuo account e tutti i suoi dati verranno eliminati definitivamente e non potranno essere recuperati.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Eliminati definitivamente: profilo, saldo e crediti, applicazioni e abbonamenti, chiavi API e collegamenti di accesso di terze parti.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Digita il tuo nome utente per confermare l'eliminazione:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Inserisci qui il tuo nome utente`,description:`Placeholder for the username confirmation input`},"message.info":{message:`Informazioni`,description:`Messaggio per mostrare informazioni`},"message.free":{message:`Gratuito`,description:`Messaggio per indicare che il servizio è gratuito, significa che l'utente non deve pagare`},"message.startPrice":{message:`Prezzo di partenza`,description:`Messaggio per mostrare il prezzo minimo del servizio`},"message.joinDiscord":{message:`Unisciti a Discord`,description:`Messaggio per invitare l'utente a unirsi al canale Discord`},"message.addWeChat":{message:`Servizio WeChat`,description:`Messaggio per invitare l'utente ad aggiungere un account WeChat`},"message.serviceTech":{message:`Supporto tecnico`,description:`Messaggio per mostrare il supporto tecnico`},"message.businessCooperation":{message:`Collaborazione dati & commerciale`,description:`Messaggio per mostrare la collaborazione commerciale`},"message.noData":{message:`Nessun dato`,description:`Messaggio per indicare che non ci sono dati nella tabella o nell'elenco`},"nav.home":{message:`Home`,description:`Testo nella barra di navigazione del sito per visualizzare la homepage`},"nav.content":{message:`Contenuto`,description:`Testo nella barra di navigazione del sito per mostrare la pagina dei contenuti`},"nav.category":{message:`Categoria`,description:`Testo nella barra di navigazione del sito per mostrare la pagina delle categorie`},"nav.service":{message:`Tutti i servizi`,description:`Testo nella barra di navigazione del sito per mostrare la pagina dei servizi`},"nav.profile":{message:`Il mio profilo`,description:`Testo nella barra di navigazione del sito per mostrare la pagina del profilo`},"nav.products":{message:`Prodotti`,description:`Testo nella barra di navigazione del sito per mostrare la pagina dei prodotti`},"nav.referral":{message:`Programma di affiliazione`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di referral`},"nav.apiPlatform":{message:`Piattaforma API`,description:`Testo nella barra di navigazione del sito per mostrare la pagina della piattaforma API`},"nav.document":{message:`Documentazione`,description:`Testo nella barra di navigazione del sito per mostrare la pagina della documentazione`},"nav.console":{message:`Console`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina della console`},"nav.chatgpt":{message:`ChatGPT`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di ChatGPT, non tradurre questo campo, deve rimanere 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di DeepSeek, non tradurre questo campo, deve rimanere 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di Grok, non tradurre questo campo, deve rimanere 'Grok'`},"nav.chat":{message:`Chat`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di chat, non tradurre questo campo, deve rimanere 'Chat'`},"nav.veo":{message:`Veo`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di chat, non tradurre questo campo, deve rimanere 'Veo'`},"nav.sora":{message:`Sora`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di chat, non tradurre questo campo, deve rimanere 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di Midjourney, non tradurre questo campo, deve rimanere 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di arte QR, non tradurre questo campo, deve rimanere 'QRArt'`},"nav.suno":{message:`Suno`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di Suno, non tradurre questo campo, deve rimanere 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di Pixverse, non tradurre questo campo, deve rimanere 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di Flux, non tradurre questo campo, deve rimanere 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di Nano Banana, non tradurre questo campo, deve rimanere 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Testo nella barra di navigazione del sito per mostrare la pagina di OpenAI Image, non tradurre questo campo, deve rimanere 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Testo nella barra di navigazione del sito, utilizzato per visualizzare la pagina SeeDream, non tradurre questo campo, deve rimanere 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina SeeDance, non tradurre questo campo, deve rimanere 'SeeDance'`},"nav.grokvideo":{message:`Video Grok`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina dei video Grok Imagine.`},"nav.luma":{message:`Luma`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Luma, non tradurre questo campo, deve rimanere 'Luma'`},"nav.pika":{message:`Pika`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Pika, non tradurre questo campo, deve rimanere 'Pika'`},"nav.kling":{message:`Kling`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Kling, non tradurre questo campo, deve rimanere 'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Hailuo, non tradurre questo campo, deve rimanere 'Hailuo'`},"nav.wan":{message:`Wan`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Wan, non tradurre questo campo, deve rimanere 'Wan'`},"nav.producer":{message:`Producer`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Producer, non tradurre questo campo, deve rimanere 'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Testo nella barra di navigazione del sito, utilizzato per visualizzare la pagina Fish Audio, non tradurre questo campo, deve rimanere 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina Kimi, non tradurre questo campo, deve rimanere 'Kimi'`},"nav.serp":{message:`SERP`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina SERP, non tradurre questo campo, deve rimanere 'SERP'`},"nav.codingBridge":{message:`Coding Bridge`,description:`Text in the website navigation bar to display the Coding Bridge page, must remain as 'Coding Bridge'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`Immagini`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina delle immagini`},"nav.music":{message:`Musica`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina della musica`},"nav.video":{message:`Video`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina dei video`},"nav.distribution":{message:`Guadagni da referral`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina dei guadagni da referral`},"nav.connections":{message:`Connessioni`,description:`Voce di menu per accedere alla pagina di gestione delle connessioni su auth.acedata.cloud`},"nav.logOut":{message:`Esci`,description:`Testo nella barra di navigazione del sito per uscire`},"nav.deleteAccount":{message:`Elimina account`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Configurazione sito`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina di configurazione del sito`},"nav.subsite":{message:`Il mio sottosito`,description:`Voce nella barra laterale 'Il mio sottosito', visibile solo quando la funzione features.subsite è attivata`},"nav.setting":{message:`Impostazioni`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina delle impostazioni`},"nav.more":{message:`Altro`,description:`Testo nella barra di navigazione del sito per espandere ulteriori servizi`},"nav.locale":{message:`Impostazioni lingua`,description:`Testo nella barra di navigazione del sito per cambiare lingua`},"nav.support":{message:`Supporto clienti`,description:`Testo nella barra di navigazione del sito per visualizzare la pagina di contatto`},"nav.darkMode":{message:`Modalità scura`,description:`Testo nella barra di navigazione del sito per passare al tema scuro`},"title.alert":{message:`Avviso`,description:`Titolo del messaggio di avviso`},"title.placeholderOfSelect":{message:`Seleziona`,description:`Segnaposto per la selezione`},"title.placeholderOfInput":{message:`Compila`,description:`Segnaposto per l'input`},"title.allApplications":{message:`Tutte le applicazioni`,description:`Titolo della pagina che mostra tutte le applicazioni`},"title.allOrders":{message:`Tutti gli ordini`,description:`Titolo della pagina che mostra tutti gli ordini`},"title.orderInfo":{message:`Informazioni ordine`,description:`Titolo della pagina che mostra le informazioni sull'ordine`},"title.buyMore":{message:`Ricarica`,description:`Titolo della pagina per ricaricare. Deve essere tradotto in 'Ricarica'.`},"title.distribution":{message:`Guadagni da referral`,description:`Titolo della pagina che mostra i guadagni da referral, significa che l'utente può guadagnare invitando altri a utilizzare il servizio`},"title.site":{message:`Configurazione sito`,description:`Titolo della pagina che mostra la configurazione del sito`},"title.distributionHistory":{message:`Storico referral`,description:`Titolo della pagina che mostra la storia dei referral`},"title.invitee":{message:`Invitato`,description:`Titolo della pagina che mostra l'invitato`},"title.allUsages":{message:`Storico utilizzi`,description:`Titolo della pagina che mostra tutti gli utilizzi del servizio API`},"title.allCredentials":{message:`Chiavi`,description:`Titolo della pagina che mostra tutte le credenziali, utilizzate per accedere all'API`},"about.title1":{message:`Contattaci`,description:`Titolo della sezione che mostra le informazioni di contatto`},"about.title2":{message:`Risorse`,description:`Parte del titolo che mostra i link`},"about.title3":{message:`Link`,description:`Parte del titolo che mostra le informazioni di supporto`},"about.address":{message:`131 Continental Drive, Suite 305, Newark, Delaware, USA, CAP 19713`,description:`L'indirizzo dell'azienda`},"about.email":{message:`office{'@'}acedata.cloud`,description:`Email dell'azienda`},"about.link1":{message:`Servizi`,description:`Link alla pagina della documentazione`},"about.link2":{message:`Documentazione per sviluppatori`,description:`Link alla pagina dei servizi`},"about.link3":{message:`Console`,description:`Collegamento alla pagina della console`},"about.link4":{message:`Profilo`,description:`Link alla pagina del profilo`},"about.link5":{message:`Piattaforma UI`,description:`Link alla pagina centrale`},"about.link6":{message:`Guadagni da referral`,description:`Link alla pagina dei guadagni da referral`},"about.link7":{message:`Supporto`,description:`Link alla pagina di supporto`},"about.link8":{message:`Termini di servizio`,description:`Link alla pagina dei termini di servizio`},"about.link9":{message:`Politica sulla privacy`,description:`Link alla pagina della politica sulla privacy`},"theme.light":{message:`Chiaro`,description:`Nome del tema chiaro`},"theme.dark":{message:`Scuro`,description:`Nome del tema scuro`},"theme.system":{message:`Sistema`,description:`Nome del tema di sistema, indica il passaggio automatico del tema in base alle impostazioni di sistema`},"settings.general":{message:`Impostazioni generali`,description:`Titolo della sezione impostazioni generali nella pagina delle impostazioni`},"settings.language":{message:`Lingua`,description:`Titolo della sezione impostazioni lingua nella pagina delle impostazioni`},"settings.theme":{message:`Tema`,description:`Titolo della sezione impostazioni tema nella pagina delle impostazioni`},"settings.sendShortcut":{message:`Invia messaggio`,description:`Title of the send-message shortcut row in General settings: choose Enter or modifier+Enter to send.`},"sendShortcut.enter":{message:`Invia con Enter`,description:`Send-shortcut option: press Enter to send the message.`},"sendShortcut.modEnter":{message:`Invia con {key} + Enter`,description:`Send-shortcut option: press the platform modifier (⌘ or Ctrl) plus Enter to send. {key} is the modifier symbol.`},"settings.loginMode":{message:`Modalità di accesso`,description:`Login-mode row title in general settings`},"loginMode.iframe":{message:`Popup incorporato`,description:`Login mode option: embedded iframe popup`},"loginMode.redirect":{message:`Reindirizzamento a pagina intera`,description:`Login mode option: full-page redirect`},"settings.seo":{message:`Impostazioni SEO`,description:`Titolo della sezione impostazioni SEO nella pagina delle impostazioni`},"settings.site":{message:`Impostazioni sito`,description:`Titolo della sezione impostazioni sito nella pagina delle impostazioni`},"settings.distribution":{message:`Impostazioni distribuzione`,description:`Titolo della sezione impostazioni distribuzione nella pagina delle impostazioni`},"settings.function":{message:`Funzionalità`,description:`Title for the site capabilities section in the settings page`},"settings.auth":{message:`Autenticazione`,description:`Imposta il titolo della scheda 'Metodo di accesso' nella barra laterale della pagina delle impostazioni — configura i metodi di accesso consentiti e il metodo di accesso predefinito, visibile solo agli amministratori del sito.`},"settings.apiKey":{message:`API Key`,description:`Etichetta API Key nella barra laterale della pagina delle impostazioni - gestione delle API Key dei fornitori upstream (BYOK)`},"settings.memory":{message:`Memoria`,description:`Imposta l'etichetta 'Memoria' nella barra laterale della finestra delle impostazioni, dove gli utenti possono visualizzare e gestire le informazioni che l'assistente ha memorizzato su di loro.`},"settings.memoryIntro":{message:`L'assistente ricorderà le informazioni utili che menzioni nelle conversazioni, per fornire risposte più personalizzate nelle diverse chat. Hai il controllo totale: puoi visualizzare i contenuti salvati e rimuovere ciò che non desideri che venga ricordato.`,description:`Testo introduttivo nella parte superiore della scheda delle impostazioni della memoria.`},"settings.memoryEnabled":{message:`Usa memoria`,description:`Titolo dell'interruttore che controlla se l'assistente utilizza la memoria salvata nelle chat e continua ad apprendere nuove memorie.`},"settings.memoryEnabledHint":{message:`Disattivando, l'assistente non leggerà la memoria salvata e non salverà nuove memorie dalle conversazioni. I contenuti esistenti non verranno eliminati.`,description:`Descrizione del comportamento sotto l'interruttore della memoria.`},"settings.memoryNeedsChat":{message:`Inizia prima una conversazione per attivare la funzione di memoria.`,description:`Visualizzato nella scheda delle impostazioni della memoria quando l'app di chat/token non è ancora caricata.`},"settings.memoryStored":{message:`Memorie salvate`,description:`Titolo della sezione sopra l'elenco delle voci di memoria memorizzate.`},"settings.memoryImport":{message:`Importa`,description:`Pulsante per aprire la finestra di importazione della memoria.`},"settings.memoryImportTitle":{message:`Importa memoria da altri AI`,description:`Titolo della finestra di importazione della memoria.`},"settings.memoryImportExportStep":{message:`1. Fai esportare la memoria dall'AI attualmente in uso`,description:`Titolo del primo passo nella finestra di importazione della memoria.`},"settings.memoryImportPrompt":{message:`Voglio migrare a un altro servizio AI. Elenca ogni memoria salvata su di me e le informazioni permanenti apprese dalle conversazioni passate. Metti tutto in un blocco di codice, scrivendo una memoria per riga, nel formato: [data di salvataggio, se presente] - contenuto della memoria. Includi preferenze di risposta, informazioni personali, progetti, obiettivi, strumenti comuni, lingue, framework e correzioni fatte su di te. Cerca di mantenere le mie parole originali, non includere informazioni sensibili come password o chiavi.`,description:`Parole chiave per esportare la memoria da copiare in altri servizi AI.`},"settings.memoryImportCopy":{message:`Copia parole chiave`,description:`Pulsante per copiare le parole chiave per l'esportazione della memoria.`},"settings.memoryImportCopied":{message:`Parole chiave copiate`,description:`Messaggio di conferma dopo aver copiato con successo le parole chiave per l'esportazione della memoria.`},"settings.memoryImportPasteStep":{message:`2. Incolla la memoria esportata`,description:`Titolo del secondo passo nella finestra di importazione della memoria.`},"settings.memoryImportPlaceholder":{message:`Incolla il contenuto della memoria restituito da ChatGPT, Claude, Gemini o altri AI…`,description:`Testo segnaposto nel campo di input per incollare il contenuto della memoria esportata.`},"settings.memoryImportSubmit":{message:`Aggiungi alla memoria`,description:`Pulsante per inviare il contenuto incollato per l'importazione.`},"settings.memoryImportSuccess":{message:`Imported {count} memory entries`,description:`Success toast after importing memory; count is the number of accepted entries`},"settings.memoryImportPartial":{message:`Trattati {processed} contenuti, {rejected} contenuti non sicuri o invalidi sono stati saltati.`,description:`Avviso mostrato quando l'importazione della memoria è parzialmente riuscita.`},"settings.memoryImportInvalid":{message:`Impossibile importare la memoria. Assicurati che la memoria sia attivata e incolla in formato di una riga per fatto normale.`,description:`Messaggio di errore operativo mostrato quando la richiesta di importazione della memoria è invalida.`},"settings.memoryImportInProgress":{message:`Un'altra operazione di importazione della memoria è in corso, per favore mantieni aperta la finestra e riprova più tardi.`,description:`Avviso mostrato quando è in esecuzione un'altra operazione di importazione della memoria.`},"settings.memoryEmpty":{message:`Nessuna memoria salvata.`,description:`Stato vuoto mostrato quando l'utente non ha memorie memorizzate.`},"settings.memoryForget":{message:`Dimentica`,description:`Pulsante per eliminare una singola voce di memoria sulla riga dell'elemento di memoria.`},"settings.memoryClearAll":{message:`Cancella tutto`,description:`Pulsante per eliminare tutte le memorie memorizzate in un'unica operazione.`},"settings.memoryClearConfirm":{message:`Questo eliminerà permanentemente tutte le informazioni che l'assistente ha memorizzato su di te e non potrà essere annullato.`,description:`Contenuto della finestra di conferma prima di cancellare tutte le memorie.`},"settings.memoryError":{message:`Operazione fallita, riprova.`,description:`Messaggio di errore visualizzato quando l'operazione di cancellazione/pulizia della memoria fallisce.`},"field.operations":{message:`Operazioni`,description:`Titolo della colonna generale: colonna dei pulsanti di operazione delle righe della tabella (modifica, elimina, ecc.)`},"nav.gemini":{message:`Gemini`,description:`Testo nella barra di navigazione del sito web per visualizzare la pagina Gemini, deve rimanere 'Gemini'`},"nav.claude":{message:`Claude`,description:`Testo nella barra di navigazione del sito web per visualizzare la pagina Claude, deve rimanere 'Claude'`},"button.detail":{message:`Dettagli`,description:``},"button.testEnv":{message:`Ambiente di test`,description:`Testo nel pulsante per passare all'ambiente di test`},"button.upload":{message:`Carica`,description:`Testo nel pulsante per caricare file o contenuti`},"message.cnbeian":{message:`Registrazione in Cina`,description:`Informazioni sulla registrazione in Cina`},"message.copyFailed":{message:`Copia fallita`,description:`Messaggio che indica il fallimento della copia del contenuto`},"nav.tryNow":{message:`Prova ora`,description:`Testo nella barra di navigazione del sito web per invitare gli utenti a provare il servizio`},"title.coin":{message:`Criptovaluta`,description:`Titolo della pagina che mostra le criptovalute`},"title.distributionRank":{message:`Classifica referral`,description:`Titolo della pagina che mostra la classifica referral`},"title.distributionPlatformRank":{message:`Classifica piattaforma`,description:`Titolo della pagina che mostra la classifica delle piattaforme`},"customers.name1":{message:`Mark Du`,description:`Nome del cliente`},"customers.job1":{message:`Ingegnere del software`,description:`Professione del cliente`},"customers.comment1":{message:`Ace Data Cloud ha fornito un ottimo servizio al nostro team, aiutandoci a migliorare la produttività. Molto soddisfatti!`,description:`Commento del cliente`},"customers.name2":{message:`Jacob Williams`,description:`Nome del cliente`},"customers.job2":{message:`Product Manager`,description:`Professione del cliente`},"customers.comment2":{message:`Ace Data Cloud è una grande piattaforma di integrazione, con un servizio di alta qualità.`,description:`Commento del cliente`},"customers.name3":{message:`Larry Henry`,description:`Nome del cliente`},"customers.job3":{message:`Designer`,description:`Professione del cliente`},"customers.comment3":{message:`Mi piace il servizio di Ace Data Cloud, è facile da usare e a un prezzo ragionevole, spero che continui a migliorare!`,description:`Commento del cliente`},"nav.github":{message:`GitHub`,description:`Link al repository GitHub`},"settings.github":{message:`Codice sorgente`,description:`Link per visualizzare il codice sorgente su GitHub`},"settings.about":{message:`Informazioni`,description:`Titolo della sezione 'Informazioni' nella pagina delle impostazioni`},"settings.localTools":{message:`Strumenti locali`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`Disponibile solo nell’app desktop.`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`Cartelle autorizzate`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`Cartelle che l’IA può leggere e scrivere su questo dispositivo. Gli strumenti vengono eseguiti localmente; nulla lascia il tuo dispositivo senza il tuo consenso.`,description:`Help text under the authorized-folders heading.`},"settings.localToolsComputerUseTitle":{message:`Operazioni sul computer (sperimentale)`,description:`Intestazione per l'interruttore di attivazione dell'uso del computer (controllo dello schermo + mouse/tastiera).`},"settings.localToolsComputerUseHint":{message:`Consenti all'AI di vedere il tuo schermo e controllare il mouse e la tastiera del computer. Disattivato per impostazione predefinita, attivabile su richiesta. Su macOS, è necessario concedere i permessi di 'Registrazione dello schermo' e 'Accessibilità' qui sotto. Ogni operazione richiederà comunque la tua conferma.`,description:`Testo di aiuto sotto l'interruttore per l'uso del computer.`},"settings.localToolsAndroidSkillsTitle":{message:`Abilità di automazione del telefono`,description:`Titolo per la sezione solo Android che installa abilità che controllano le app sul telefono tramite Controllo Computer.`},"settings.localToolsAndroidSkillsHint":{message:`Installa le abilità che consentono all'assistente di controllare le app locali. Funzionano tramite "Controllo computer"; assicurati di concedere i permessi di accessibilità sopra e attivare il controllo computer. Ogni azione seguirà comunque le impostazioni di conferma del controllo computer.`,description:`Testo di aiuto sotto il titolo delle abilità di automazione del telefono.`},"settings.localToolsAndroidSkillsXhsName":{message:`Risposta automatica ai messaggi privati di Xiaohongshu`,description:`Nome visualizzato dell'abilità di risposta automatica ai messaggi diretti di Xiaohongshu (RED).`},"settings.localToolsAndroidSkillsXhsDesc":{message:`Leggi i nuovi messaggi privati nell'app Xiaohongshu e redigi una risposta, ti verrà chiesto di confermare prima di inviare.`,description:`Descrizione in una riga dell'abilità DM di Xiaohongshu.`},"settings.localToolsAndroidSkillsInstall":{message:`Installa`,description:`Pulsante che installa l'abilità nell'account dell'utente.`},"settings.localToolsAndroidSkillsInstalled":{message:`Installato`,description:`Etichetta mostrata quando l'abilità è già installata.`},"settings.localToolsAndroidSkillsLoading":{message:`Caricamento delle abilità disponibili in corso…`,description:`Segnaposto mentre la directory delle abilità viene recuperata.`},"settings.localToolsAndroidSkillsUnavailable":{message:`Nessuna abilità telefonica installabile disponibile.`,description:`Stato vuoto quando non viene trovata alcuna abilità telefonica installabile.`},"settings.localToolsAndroidSkillsNeedComputerUse":{message:`Prima di installare, concedi i permessi di accessibilità e attiva il controllo computer sopra.`,description:`Suggerimento mostrato quando il pulsante di installazione è disabilitato perché mancano i requisiti.`},"settings.localToolsAndroidSkillsNextTurn":{message:`Installato, sarà attivo al tuo prossimo dialogo.`,description:`Conferma mostrata dopo un'installazione riuscita.`},"settings.localToolsAndroidSkillsInstallFailed":{message:`Installazione fallita, riprova.`,description:`Errore mostrato quando la richiesta di installazione fallisce.`},"settings.localToolsAndroidSkillsLoadFailed":{message:`Caricamento delle abilità disponibili fallito, riprova.`,description:`Errore mostrato quando il recupero della directory delle abilità fallisce.`},"settings.localToolsPreauthorizeAll":`Pre-autorizza tutte le azioni del computer`,"settings.localToolsPreauthorizeHint":`Consenti in una volta screenshot, clic, digitazione, tasti e tutte le azioni e richiedi le autorizzazioni di sistema necessarie.`,"settings.localToolsCuA11yLabel":{message:`Servizi di accessibilità`,description:`Etichetta della barra di stato di utilizzo del computer che indica se i servizi di accessibilità sono effettivamente attivi.`},"settings.localToolsCuReady":{message:`Pronto, disponibile`,description:`Stato verde visualizzato quando i servizi di accessibilità sono attivi e l'utilizzo del computer è effettivamente disponibile.`},"settings.localToolsCuA11yMissing":{message:`Non attivato, utilizzo del computer non disponibile`,description:`Avviso rosso visualizzato quando l'interruttore è attivato ma i servizi di accessibilità non sono in esecuzione.`},"settings.localToolsCuActionsTitle":`Consenti singole azioni`,"settings.localToolsCuActionsHint":`Attiva solo le azioni che vuoi far eseguire all'IA senza conferma ogni volta. Ognuna resta revocabile qui.`,"settings.localToolsCuScreenshot":`Screenshot`,"settings.localToolsCuClick":`Clic`,"settings.localToolsCuMove":`Sposta il puntatore`,"settings.localToolsCuType":`Digita testo`,"settings.localToolsCuKey":`Premi tasti`,"settings.localToolsCuScroll":`Scorri`,"settings.localToolsBuiltinTitle":`Strumenti integrati`,"settings.localToolsBuiltinHint":`Attiva uno strumento per farlo eseguire all'IA senza conferma. Shell può eseguire qualsiasi comando su questo computer: attivalo solo se ti fidi. Gli strumenti file restano limitati alle cartelle autorizzate.`,"settings.localToolsBuiltinRisky":`Accesso completo`,"settings.localToolsAddFolder":{message:`Aggiungi cartella`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`Rimuovi`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`Nessuna cartella autorizzata.`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`Salva`,description:`Save the authorized folders.`},"settings.localToolsMcpTitle":{message:`Server MCP`,description:`Titolo della sezione per la configurazione del server MCP locale nelle impostazioni degli strumenti locali.`},"settings.localToolsMcpHint":{message:`Collegati al server MCP locale tramite stdio. Gli strumenti forniti saranno disponibili per l'AI e protetti dalla stessa conferma di chiamata sequenziale. Le modifiche avranno effetto immediato.`,description:`Spiegazione della funzione del server MCP locale e che le modifiche non richiedono un riavvio per avere effetto.`},"settings.localToolsMcpAdd":{message:`Aggiungi server`,description:`Pulsante per aggiungere una nuova riga di server MCP locale.`},"settings.localToolsMcpName":{message:`Nome`,description:`Etichetta del campo per il nome/identificativo del server MCP.`},"settings.localToolsMcpCommand":{message:`Comando`,description:`Etichetta del campo per il comando di avvio del server MCP.`},"settings.localToolsMcpArgs":{message:`Parametri`,description:`Etichetta del campo per i parametri di comando del server MCP.`},"settings.localToolsMcpArgsHint":{message:`Un parametro per riga.`,description:`Segnaposto nel campo di testo per i parametri MCP.`},"settings.localToolsMcpEnv":{message:`Variabili d'ambiente`,description:`Etichetta del campo per le variabili d'ambiente del server MCP.`},"settings.localToolsMcpEnvHint":{message:`Una riga per KEY=VALUE.`,description:`Segnaposto nel campo di testo per le variabili d'ambiente MCP.`},"settings.localToolsMcpNoServers":{message:`Nessun server MCP configurato.`,description:`Stato vuoto visualizzato quando non è stato configurato alcun server MCP.`},"settings.localToolsMcpNamePlaceholder":{message:`Ad esempio filesystem`,description:`Segnaposto nel campo di input per il nome del server MCP.`},"settings.localToolsMcpCommandPlaceholder":{message:`Ad esempio npx`,description:`Segnaposto nel campo di input per il comando del server MCP.`},"settings.localToolsMcpNameRequired":{message:`Ogni server deve avere un nome e un comando.`,description:`Errore di convalida quando una riga del server manca di nome o comando.`},"settings.localToolsMcpDuplicateName":{message:`Il nome del server deve essere unico.`,description:`Errore di convalida quando due nomi di server sono duplicati.`},"settings.localToolsMcpNameInvalid":{message:`Il nome può contenere solo lettere, numeri, trattini e underscore.`,description:`Errore di convalida quando il nome del server contiene caratteri non validi.`},"settings.localToolsMcpEnabled":{message:`Abilitato`,description:`Etichetta dell'interruttore per abilitare/disabilitare un server MCP locale.`},"settings.localToolsMcpReconnect":{message:`Test / Riconnetti`,description:`Pulsante per riavviare un server MCP e aggiornare il suo stato.`},"settings.localToolsMcpConnecting":{message:`Connessione in corso…`,description:`Etichetta di stato quando il server MCP sta (ri)connettendo.`},"settings.localToolsMcpNotSaved":{message:`Non ancora salvato`,description:`Etichetta di stato per le righe del server MCP non ancora salvate/connesse.`},"settings.localToolsMcpConnected":{message:`Connesso · {n} strumenti`,description:`Etichetta quando la connessione al server MCP ha avuto successo; {n} rappresenta il numero di strumenti.`},"settings.localToolsMcpDisabled":{message:`Disabilitato`,description:`Etichetta quando il server MCP è stato disattivato.`},"settings.localToolsMcpFailed":{message:`Connessione fallita`,description:`Etichetta quando l'avvio del server MCP è fallito; il motivo è visualizzato qui sotto.`},"settings.localToolsMcpPlatformHint":{message:`Suggerimento: usa comandi nel PATH, come npx o uvx (ad esempio npx -y {'@'}modelcontextprotocol/server-filesystem ~/Documents). Su Windows, npx/node verrà risolto automaticamente. Se un server mostra 'spawn … ENOENT', modifica il comando in un percorso completo.`,description:`Suggerimento cross-platform per configurare il comando di avvio del MCP.`},"settings.localToolsSaved":{message:`Salvato`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`Strumenti attivi`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`Azioni sempre consentite`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`Chiamate di strumenti che hai scelto di consentire sempre. Vengono eseguite senza chiedere di nuovo. Revocane una per riattivare la conferma.`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`Revoca`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`Revoca tutto`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`Nessuna azione sempre consentita. Ti verrà chiesto prima di ogni strumento locale.`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`Autorizzazioni di sistema`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`Facoltativo. L’accesso alle cartelle qui sopra non ne richiede nessuna: concedi solo ciò che una specifica attività richiede.`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`Accesso completo al disco`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`Registrazione schermo`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`Accessibilità`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`Concesso`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`Non concesso`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`Apri…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`I miei sottositi`,description:`Titolo della scheda di gestione dei sottositi nella finestra delle impostazioni. Visibile solo nel sito principale ufficiale, i sottositi non vengono visualizzati.`},"settings.adminOnlyHint":{message:`Questa sezione è visibile solo agli amministratori del sito, gli utenti normali non possono accedervi.`,description:`Messaggio di avviso visualizzato nella parte superiore delle schede delle impostazioni del sito / impostazioni SEO / impostazioni di distribuzione / impostazioni delle funzionalità, visibile solo agli amministratori.`},"settings.officialOnlyHint":{message:`Questa sezione è visibile solo nel sito principale, non verrà mostrata nei sottositi.`,description:`Messaggio di avviso visualizzato nella parte superiore della scheda 'I miei sottositi', che indica che questo ingresso appare solo nel sito principale ufficiale.`},"settings.customDomain":{message:`Dominio personalizzato`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`Costruisci ora`,description:`Testo del pulsante 'Costruisci sottosito' nella pagina delle informazioni, visibile solo nel sito principale ufficiale`},"settings.poweredBy":{message:`Progetto open source`,description:`Titolo che mostra su quale progetto open source è basato il sito nella pagina delle informazioni`},"settings.poweredByTip":{message:`Questo sito è basato sul progetto open source Nexior, il codice è completamente open source.`,description:`Descrizione che mostra su quale progetto open source è basato il sito nella pagina delle informazioni`},"settings.apiService":{message:`Servizio API`,description:`Titolo che mostra il fornitore del servizio API nella pagina delle informazioni`},"settings.apiServiceTip":{message:`Il servizio API di questo sito è fornito da Ace Data Cloud.`,description:`Descrizione che mostra il fornitore del servizio API nella pagina delle informazioni`},"settings.buildYourOwn":{message:`Costruisci il tuo`,description:`Titolo che invita gli utenti a costruire un sito simile nella pagina delle informazioni`},"settings.buildYourOwnTip":{message:`Vuoi costruire un sito AI simile? Contattaci per supporto alla distribuzione.`,description:`Descrizione per costruire un sito simile nella pagina delle informazioni`},"settings.contactUs":{message:`Contatta il supporto`,description:`Testo del pulsante per contattare il supporto`},"settings.contactSupport":{message:`Contatta l'assistenza`,description:`Section title on the About page listing the site owner's customer-service channels`},"settings.contactSupportTip":{message:`Contatta il nostro team di assistenza tramite uno dei canali seguenti.`,description:`Subtitle under the support contacts section on the About page`},"settings.contactInvalidUrl":{message:`{field} deve essere un link http(s) valido`,description:`Validation error shown when a contact URL is not a valid http(s) link`},"settings.contactInvalidPhone":{message:`Inserisci un numero di telefono valido`,description:`Validation error shown when the phone number is invalid`},"settings.contactInvalidEmail":{message:`Inserisci un indirizzo email valido`,description:`Validation error shown when the email address is invalid`},"settings.contactType":{message:`Tipo`,description:`Placeholder for the contact type picker in the editor`},"settings.contactType_phone":{message:`Telefono`,description:`Display name for the phone contact type`},"settings.contactType_email":{message:`Email`,description:`Nome visualizzato per il tipo di contatto email`},"settings.contactType_website":{message:`Sito web`,description:`Display name for the website contact type`},"settings.contactType_wechat":{message:`WeChat`,description:`Nome visualizzato per il tipo di contatto WeChat`},"settings.contactLabelPlaceholder":{message:`Etichetta (facoltativa), es. Vendite`,description:`Placeholder for the optional contact label input`},"settings.contactValuePlaceholder":{message:`Account / testo visualizzato`,description:`Placeholder for the generic contact value input`},"settings.contactQr":{message:`Codice QR`,description:`Etichetta per l'immagine del codice QR di un contatto.`},"settings.contactQrTip":{message:`Carica un QR code che gli utenti possono scansionare.`,description:`Tip for the contact QR-code uploader`},"settings.contactAdd":{message:`Aggiungi contatto`,description:`Button to add another contact entry`},"settings.contactEditorHint":{message:`Scegli un tipo per canale e inserisci almeno un valore, link o QR. Aggiungine quanti vuoi.`,description:`Hint at the top of the contacts editor dialog`},"settings.contactInvalidType":{message:`Il tipo può contenere solo minuscole, cifre, '-' e '_'`,description:`Validation error for an invalid contact type slug`},"settings.contactRowNeedsValue":{message:`Ogni contatto richiede almeno un valore, link o QR code`,description:`Validation error when a contact row has no value/url/qr`},"settings.contactInvalidValue":{message:`Un campo del contatto non è valido o è troppo lungo`,description:`Validation error when a contact value/label is invalid or too long`},"settings.contactTooMany":{message:`Puoi aggiungere al massimo {max} contatti`,description:`Validation error when too many contacts are added`},"message.viewOnGithub":{message:`Visualizza su GitHub`,description:`Testo del link per visualizzare il progetto su GitHub`},"title.notFound":{message:`Pagina non trovata`,description:`Titolo della pagina 404`},"message.notFound":{message:`La pagina che stai cercando non esiste, potrebbe essere stata spostata o rimossa. Torna alla home per continuare a esplorare i servizi AI di AceData.`,description:`Descrizione secondaria della pagina 404`},"message.notFoundEyebrow":{message:`Si è verificato un errore`,description:`Testo dell'etichetta piccola in cima alla pagina 404`},"message.notFoundPath":{message:`Percorso richiesto`,description:`Etichetta che mostra il percorso richiesto attuale nella pagina 404`},"button.backToHome":{message:`Torna alla home`,description:`Testo del pulsante per tornare alla home`},"button.goBack":{message:`Torna indietro`,description:`Testo del pulsante per tornare alla pagina precedente nella cronologia di navigazione`},"title.apiCode":{message:`Codice API per questa richiesta`,description:`Titolo della finestra di dialogo: mostra il codice di chiamata API corrispondente a curl / Python / Node per il risultato attuale.`},"message.viewCodeHint":{message:`Visualizza il codice API corrispondente a questa richiesta`,description:`Suggerimento flottante per il pulsante Visualizza codice accanto ai pulsanti delle operazioni della scheda dei risultati (U1/U2/Scarica/Estendi…). Cliccando sul pulsante si apre una finestra di dialogo che mostra il codice di chiamata API equivalente in curl / Python / Node.`},"button.viewCode":{message:`Visualizza codice`,description:`Testo del pulsante: apre una finestra di dialogo che mostra il codice delle chiamate API curl / Python / Node corrispondenti ai risultati attuali (simile a Visualizza codice di OpenAI Playground).`},"button.getApiKey":{message:`Ottieni API Key`,description:`Testo del collegamento in fondo alla finestra di dialogo del codice API: cliccando si reindirizza alla pagina della console della piattaforma per creare una chiave API.`},"button.apiPlatform":{message:`Piattaforma API`,description:`Etichetta del pulsante nel piè di pagina della finestra di dialogo del codice API. Cliccando si apre https://platform.acedata.cloud/ in una nuova scheda per gestire le chiavi API, il saldo e l'uso.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`Richiesta`,description:`Etichetta della scheda del dialogo del codice API per il frammento di richiesta (il codice che riproduce il risultato attuale).`},"tab.apiResponse":{message:`Risposta`,description:`Etichetta della scheda del dialogo del codice API per la risposta in tempo reale restituita dopo aver cliccato Esegui.`},"button.apiRun":{message:`Esegui di nuovo`,description:`Pulsante del dialogo API che riesegue la richiesta in tempo reale contro l'API utilizzando la chiave dell'utente. Il risultato esiste già, quindi cliccando si esegue di nuovo e sarà addebitabile.`},"button.apiRunning":{message:`Esecuzione in corso…`,description:`Etichetta del pulsante Esegui del dialogo del codice API mentre la richiesta è in fase di elaborazione.`},"button.apiRunConfirm":{message:`Conferma esecuzione`,description:`Etichetta del pulsante di conferma nel dialogo che avverte che l'esecuzione qui consuma crediti extra.`},"button.viewDocs":{message:`Visualizza documentazione`,description:`Pulsante nel piè di pagina del dialogo API che apre la pagina di documentazione API corrispondente sulla piattaforma.`},"message.apiClickRun":{message:`Clicca su «Esegui di nuovo» per utilizzare la tua API Key e eseguire questa richiesta in tempo reale.`,description:`Stato vuoto della scheda Risposta del dialogo API, mostrato prima che l'utente esegua la richiesta.`},"message.apiRunConfirmTitle":{message:`Conferma esecuzione`,description:`Titolo del dialogo di conferma mostrato prima di rieseguire una richiesta dal dialogo del codice API.`},"message.apiRunConfirmDesc":{message:`Questa esecuzione utilizzerà la tua API Key per effettuare una chiamata reale all'interfaccia e consumerà crediti aggiuntivi. Vuoi confermare di continuare?`,description:`Corpo del dialogo di conferma che avverte che rieseguire la richiesta è una chiamata API reale e addebitabile.`},"message.apiRunConfirmSkip":{message:`Non mostrare più`,description:`Checkbox nel dialogo di conferma dell'esecuzione che, se selezionata, sopprime l'avviso nelle esecuzioni successive.`},"message.apiRunTaskCreated":{message:`Compito creato, chiudi questa finestra per vedere i risultati più recenti qui sotto.`,description:`Banner di successo mostrato nella finestra di dialogo del codice API dopo che un'esecuzione restituisce un ID compito, suggerendo che il nuovo compito appare già nell'elenco dietro la finestra di dialogo.`},"button.apiViewLatest":{message:`Chiudi e visualizza`,description:`Pulsante nel banner di successo della finestra di dialogo del codice API che chiude la finestra di dialogo in modo che l'utente possa vedere il nuovo compito nell'elenco sottostante.`},"message.uploadInProgress":{message:`I caricamenti di riferimento sono ancora in corso, attendi un momento.`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"message.dropToUpload":{message:`Trascina qui per caricare`,description:`Testo del suggerimento che appare sopra un controllo di caricamento quando si trascina un file su di esso, informando l'utente di rilasciare per caricare.`},"appUpgrade.title":{message:`Aggiornamento necessario`,description:`Titolo del popup di blocco della versione all'avvio dell'App nativa. Viene visualizzato quando la versione del client è inferiore ai requisiti del server, informando l'utente che deve aggiornare l'App.`},"appUpgrade.blockMessage":{message:`La versione attuale è troppo bassa, si prega di aggiornare all'ultima versione tramite l'app store.`,description:`Testo del popup di aggiornamento obbligatorio. Viene visualizzato quando la versione del client è inferiore a min_supported, non può essere chiuso, l'unico pulsante reindirizza all'app store.`},"appUpgrade.softMessage":{message:`È disponibile una nuova versione, si consiglia di aggiornare per una migliore esperienza.`,description:`Testo del messaggio di aggiornamento opzionale. Viene visualizzato quando la versione del client è inferiore a latest ma superiore a min_supported, l'utente può scegliere di parlare dopo e continuare a utilizzare.`},"appUpgrade.openStore":{message:`Vai ad aggiornare`,description:`Pulsante principale del popup di aggiornamento: apre il link dell'App Store / Play Store nel browser di sistema.`},"appUpgrade.later":{message:`Parliamo dopo`,description:`Pulsante secondario del popup di aggiornamento soft: ignora questo avviso e continua a utilizzare, appare solo in scenari di aggiornamento non obbligatori.`},"nav.maestro":{message:`Maestro`,description:`Testo della pagina di conversione di articoli in video di Maestro nella barra di navigazione, mantenere come 'Maestro'`},"nav.digitalhuman":{message:`Persona Digitale`,description:`Testo nella barra di navigazione per la pagina di sintesi della persona digitale.`},"settings.localToolsAndroidPermHint":{message:`Dopo aver abilitato i servizi di accessibilità, l'assistente AI potrà vedere e controllare il tuo schermo. Puoi autorizzare specifiche operazioni qui sotto.`,description:`Descrizione nella sezione dei permessi di accessibilità per l'uso del computer nelle impostazioni Android.`},"settings.cuConsentTitle":{message:`Consenti l'operazione?`,description:`Titolo della finestra di autorizzazione su richiesta (viene visualizzato quando il modello richiede di eseguire un'operazione sullo schermo).`},"settings.cuConsentMessage":{message:`L'assistente AI vuole eseguire l'operazione «{action}» sul tuo telefono, vuoi consentirlo?`,description:`Testo del corpo della finestra di autorizzazione su richiesta; {action} è il nome specifico dell'operazione computer.*.`},"settings.cuConsentAllow":{message:`Consenti una volta`,description:`Pulsante consenti nella finestra di autorizzazione su richiesta.`},"settings.cuConsentAlways":{message:`Consenti sempre`,description:`Pulsante consenti sempre nella finestra di autorizzazione su richiesta; autorizzazione persistente, non verrà più chiesto in futuro.`},"settings.cuConsentDeny":{message:`Rifiuta`,description:`Pulsante rifiuta nella finestra di autorizzazione su richiesta.`},"settings.siteServices":{message:`Prezzo`},"nav.omni":{message:`Video Omni`,description:`Etichetta di navigazione per il modulo video Omni.`},"settings.localToolsMcpToolsTitle":{message:`Strumenti MCP`,description:`Titolo del blocco degli strumenti MCP nelle impostazioni degli strumenti locali`},"settings.localToolsMcpToolsHint":{message:`Strumenti forniti dal server MCP connesso. Una volta aperti, l'AI non chiederà più uno per uno. Il server MCP è un programma di terze parti, non soggetto ai limiti delle cartelle autorizzate - gli strumenti contrassegnati come 'accesso completo' potrebbero modificare o pubblicare dati, si prega di aprirli con cautela.`,description:`Testo descrittivo per il blocco degli strumenti MCP, evidenziando i rischi di terze parti`}};export{e as default};