sliccy 6.255.2 → 6.255.4

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 (163) hide show
  1. package/dist/ui/.vite/manifest.json +201 -201
  2. package/dist/ui/assets/{account-store-D9MqJPUO.js → account-store-CzjRbfrU.js} +1 -1
  3. package/dist/ui/assets/{account-store-Cf3nt4Ba.js → account-store-VtBgtCSL.js} +1 -1
  4. package/dist/ui/assets/{adobe-DKSayuDM.js → adobe-B7RRrD_z.js} +1 -1
  5. package/dist/ui/assets/{adobe-DYOfQktE.js → adobe-Ch41jsPJ.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-B6RysulJ.js → agent-panels-B7-IZLRr.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-DWCqrjAh.js → almost-bash-shell-headless-C5P1kXhX.js} +27 -27
  8. package/dist/ui/assets/{apply-layout-B2wjm9RK.js → apply-layout-NOC4k99y.js} +1 -1
  9. package/dist/ui/assets/{apps-DKKqGq3Q.js → apps-BOvN_qpf.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-D3MtNKIb.js → azure-openai-CbDlviKP.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-BEymMYkN.js → azure-openai-Cjxr4QPn.js} +1 -1
  12. package/dist/ui/assets/{backend-hostfs-DcI4CSip.js → backend-hostfs-DoJW7M7L.js} +1 -1
  13. package/dist/ui/assets/{cdp-NQEfSnv-.js → cdp-zOmBIzaT.js} +1 -1
  14. package/dist/ui/assets/{cerebras-DpTZM6yA.js → cerebras-F8gejcGi.js} +1 -1
  15. package/dist/ui/assets/{cerebras-dJVR9WAK.js → cerebras-Zl13ZDsi.js} +1 -1
  16. package/dist/ui/assets/{composer-speech-NZukAzEx.js → composer-speech-C-u_tJZO.js} +1 -1
  17. package/dist/ui/assets/{connect-surface-BQzGigyz.js → connect-surface-s5qO3FNl.js} +1 -1
  18. package/dist/ui/assets/{directed-approval-SNvKLDBW.js → directed-approval-CO12rCpK.js} +1 -1
  19. package/dist/ui/assets/{dist-D3Iejfyf.js → dist-D2I7iVPG.js} +1 -1
  20. package/dist/ui/assets/{dist-DYtGcToh.js → dist-mfL0wy1U.js} +1 -1
  21. package/dist/ui/assets/{emscripten-vfs-hook-DlsQ8ZVb.js → emscripten-vfs-hook-C7tA0vFO.js} +1 -1
  22. package/dist/ui/assets/{ensure-speech-assets-CNw54PrV.js → ensure-speech-assets-Cv28XxlO.js} +1 -1
  23. package/dist/ui/assets/{exporter-deps-Or6TKCGV.js → exporter-deps-84yTrW5d.js} +2 -2
  24. package/dist/ui/assets/{frozen-archive-writer-vxDXEHCh.js → frozen-archive-writer-DYM-47PW.js} +1 -1
  25. package/dist/ui/assets/{frozen-session-delete-D4IkvnMA.js → frozen-session-delete-DpCETup0.js} +1 -1
  26. package/dist/ui/assets/{frozen-session-identity-C4zhLmVQ.js → frozen-session-identity-BXlKz97M.js} +1 -1
  27. package/dist/ui/assets/{fs-EMbf3rAx.js → fs-C6gMkOwH.js} +2 -2
  28. package/dist/ui/assets/{fs-BQUbdd5o.js → fs-DNsJRW_E.js} +1 -1
  29. package/dist/ui/assets/{gelatiere-unit-CjjU5kDS.js → gelatiere-unit-B-fv5yea.js} +1 -1
  30. package/dist/ui/assets/{git-config-B4khMkVw.js → git-config-CnzJWs4a.js} +1 -1
  31. package/dist/ui/assets/{git-config-BasqpIO0.js → git-config-DT33nT4r.js} +1 -1
  32. package/dist/ui/assets/{github-BXHpiPPY.js → github-CtkTzMdK.js} +2 -2
  33. package/dist/ui/assets/{github-B4AdxnN3.js → github-VZZ29TDt.js} +1 -1
  34. package/dist/ui/assets/{github-auth-jRu_uKXJ.js → github-auth-CkLbjC-d.js} +1 -1
  35. package/dist/ui/assets/{github-copilot-CzppBKxA.js → github-copilot-CPak07uM.js} +1 -1
  36. package/dist/ui/assets/{github-copilot-BM_TojeH.js → github-copilot-CwGEbPDM.js} +1 -1
  37. package/dist/ui/assets/{github-install-Czw_ql4X.js → github-install-VgcR2-6K.js} +1 -1
  38. package/dist/ui/assets/{github-zip-CmEMCTB8.js → github-zip-BSEJCt49.js} +1 -1
  39. package/dist/ui/assets/{go-driver-BO7YotSu.js → go-driver-D3mNk1Cz.js} +1 -1
  40. package/dist/ui/assets/{hear-C3qj675z.js → hear-CX6dGgpE.js} +1 -1
  41. package/dist/ui/assets/{help-CbJRktpU.js → help-ctac3QGq.js} +1 -1
  42. package/dist/ui/assets/{installer-D3XOxm8w.js → installer-c3P1y6c8.js} +2 -2
  43. package/dist/ui/assets/{ipk-mamba-Do-ubaPU.js → ipk-mamba-VDJ25teM.js} +1 -1
  44. package/dist/ui/assets/{js-realm-worker-CuE-jRf6.js → js-realm-worker-GUIiBgXJ.js} +2 -2
  45. package/dist/ui/assets/{jsh-executor-CFHNjBVO.js → jsh-executor-BwpKY1r_.js} +3 -3
  46. package/dist/ui/assets/{kernel-worker-DVGTdmUT.js → kernel-worker-40_1fMYG.js} +9 -9
  47. package/dist/ui/assets/{lick-ws-bridge-Dy2Mt2to.js → lick-ws-bridge-BIYW-35E.js} +1 -1
  48. package/dist/ui/assets/{lick-ws-bridge-CHms6qG0.js → lick-ws-bridge-qqHRWwwO.js} +1 -1
  49. package/dist/ui/assets/{live-session-curation-CNVAnSeA.js → live-session-curation-CXlXZy35.js} +1 -1
  50. package/dist/ui/assets/{live-session-curation-D2o8L_Ai.js → live-session-curation-mF0z_P6X.js} +1 -1
  51. package/dist/ui/assets/{live-session-snapshot-Dc6xeNMs.js → live-session-snapshot-DOaR-dJA.js} +1 -1
  52. package/dist/ui/assets/{local-llm-7bD_TE39.js → local-llm-BeJAZNjs.js} +1 -1
  53. package/dist/ui/assets/{local-llm-BO0X_FdV.js → local-llm-DhHw1yfL.js} +1 -1
  54. package/dist/ui/assets/{main-2eWFiMZP.js → main-CKBsgWBx.js} +3 -3
  55. package/dist/ui/assets/{main-cherry-DQMKYz99.js → main-cherry-swycFDpQ.js} +1 -1
  56. package/dist/ui/assets/{mcp-command-CYwILBJU.js → mcp-command-BochRUm0.js} +13 -13
  57. package/dist/ui/assets/{memory-curation-seam-D7V2h65G.js → memory-curation-seam-Bf2vXDBs.js} +1 -1
  58. package/dist/ui/assets/{memory-health-Da4v0FoP.js → memory-health-Cnx5Gv97.js} +1 -1
  59. package/dist/ui/assets/{memory-write-execute-DZf1bQma.js → memory-write-execute-CK0FA1Tf.js} +1 -1
  60. package/dist/ui/assets/{merge-folded-cost-into-frozen-DEDsffs3.js → merge-folded-cost-into-frozen-DxYDCg2W.js} +1 -1
  61. package/dist/ui/assets/{mount-CHl8fFzc.js → mount-Di8kHent.js} +1 -1
  62. package/dist/ui/assets/{new-session-Dl_kGyLP.js → new-session-Cy7cLkxz.js} +2 -2
  63. package/dist/ui/assets/{oauth-bootstrap-CMWNKl7f.js → oauth-bootstrap-CMjXsFxQ.js} +2 -2
  64. package/dist/ui/assets/{onboarding-orchestrator-DwL8pKbb.js → onboarding-orchestrator-CrPQr9-l.js} +1 -1
  65. package/dist/ui/assets/{openai-codex-BUB7Y9ke.js → openai-codex-D9Pdm-DO.js} +1 -1
  66. package/dist/ui/assets/{openai-codex-BZDRCcp1.js → openai-codex-DloIj5Kb.js} +1 -1
  67. package/dist/ui/assets/{openrouter-DC8qHkPU.js → openrouter-BugU4FUc.js} +1 -1
  68. package/dist/ui/assets/{openrouter-CNVt5NVc.js → openrouter-DrE27HTv.js} +1 -1
  69. package/dist/ui/assets/{openrouter-free-CSdi9NpY.js → openrouter-free-BYKdU__j.js} +1 -1
  70. package/dist/ui/assets/{openrouter-free-LLAN6Y1f.js → openrouter-free-QlUUc2CV.js} +1 -1
  71. package/dist/ui/assets/{openrouter-oauth-CzgDjRKa.js → openrouter-oauth-B8b5rIQz.js} +1 -1
  72. package/dist/ui/assets/{openrouter-oauth-g5aryBlJ.js → openrouter-oauth-CcxdmMiW.js} +1 -1
  73. package/dist/ui/assets/{opfs-mount-BPNYvr7v.js → opfs-mount-CCD3fdVb.js} +1 -1
  74. package/dist/ui/assets/{opfs-mount-YdfAlOjA.js → opfs-mount-DalYYD5E.js} +1 -1
  75. package/dist/ui/assets/{panel-rpc-handlers-RMWMDINZ.js → panel-rpc-handlers-mIvFA-PP.js} +2 -2
  76. package/dist/ui/assets/{panelize-shell-D2NlUvEo.js → panelize-shell-CQsL61Se.js} +1 -1
  77. package/dist/ui/assets/{pi-edit-execution-Chw4K4FR.js → pi-edit-execution-DL8z0GuG.js} +1 -1
  78. package/dist/ui/assets/{profile-export-deps-DvwvBs2e.js → profile-export-deps-Cmfc-0t5.js} +2 -2
  79. package/dist/ui/assets/{provider-Ce28E3zD.js → provider-dLg1CYt6.js} +2 -2
  80. package/dist/ui/assets/{provider-settings-B9uwgniy.js → provider-settings-BZN7mU3t.js} +1 -1
  81. package/dist/ui/assets/provider-store-access-C1MWKpiZ.js +1 -0
  82. package/dist/ui/assets/provider-store-access-CAxp4Ji_.js +1 -0
  83. package/dist/ui/assets/{provider-C9t-j9Xp.js → provider-v0y0I0C6.js} +1 -1
  84. package/dist/ui/assets/{providers-DqmhARGF.js → providers-CxC3IkmD.js} +2 -2
  85. package/dist/ui/assets/{providers-D21kuf5m.js → providers-_suqM9AH.js} +1 -1
  86. package/dist/ui/assets/{quick-llm-BQMpHhX4.js → quick-llm-Bt3wdnln.js} +1 -1
  87. package/dist/ui/assets/{realm-inprocess-5cOwJIYJ.js → realm-inprocess-p_uf-aHP.js} +2 -2
  88. package/dist/ui/assets/{realm-unhandled-rejections-C5d8Tbn2.js → realm-unhandled-rejections-BdD1pRLw.js} +1 -1
  89. package/dist/ui/assets/{realm-unhandled-rejections-D_AkSzhp.js → realm-unhandled-rejections-oK6AD2Nu.js} +1 -1
  90. package/dist/ui/assets/{remote-terminal-view-BtFRTHLE.js → remote-terminal-view-Dt9bq0Tx.js} +2 -2
  91. package/dist/ui/assets/{restore-DMrBRbbm.js → restore-KY6mog6M.js} +1 -1
  92. package/dist/ui/assets/{run-BnkvKt68.js → run-6vozRd4-.js} +1 -1
  93. package/dist/ui/assets/{run-DYHnri4i.js → run-BBaO_6mp.js} +1 -1
  94. package/dist/ui/assets/{run-DjPz37VL.js → run-BgX0bGpt.js} +1 -1
  95. package/dist/ui/assets/{run-EJrDfKgq.js → run-D-i4AEOP.js} +1 -1
  96. package/dist/ui/assets/{run-CE7Nb_eL.js → run-Dmxg7gCG.js} +2 -2
  97. package/dist/ui/assets/{run-p83rHHiz.js → run-ZCDwc5tT.js} +2 -2
  98. package/dist/ui/assets/{serve-command-CqF1OkZl.js → serve-command-DZFHoXIR.js} +2 -2
  99. package/dist/ui/assets/{serve-runtime-DbA8xhOk.js → serve-runtime-C8WGtboN.js} +1 -1
  100. package/dist/ui/assets/{session-command-memory-CDotXm2I.js → session-command-memory-DHW2-2GY.js} +2 -2
  101. package/dist/ui/assets/{session-jsonl-BPUDzAaw.js → session-jsonl-CdBv2yqZ.js} +1 -1
  102. package/dist/ui/assets/{session-search-index-lEsBWOr8.js → session-search-index-BYEYU5MH.js} +1 -1
  103. package/dist/ui/assets/{setup-feature-flags-remote-CCdRRPQb.js → setup-feature-flags-remote-P6FROcRm.js} +1 -1
  104. package/dist/ui/assets/{setup-model-catalog-wvhFd6EK.js → setup-model-catalog-CdOG-toL.js} +1 -1
  105. package/dist/ui/assets/{silent-renew-backoff-CjfMcAko.js → silent-renew-backoff-ClAedN5j.js} +1 -1
  106. package/dist/ui/assets/{skills-BmdqK5T-.js → skills-Buu7GuOS.js} +1 -1
  107. package/dist/ui/assets/{slicc-tls-engine-Bs2FEks9.wasm → slicc-tls-engine-BI33-1tp.wasm} +0 -0
  108. package/dist/ui/assets/{slicc-tls-engine-CZixXDAG.js → slicc-tls-engine-pcgCryui.js} +1 -1
  109. package/dist/ui/assets/slicc-version-D2CCbBHi.js +1 -0
  110. package/dist/ui/assets/{snapshot-q2YDICd8.js → snapshot-BqARfI1v.js} +1 -1
  111. package/dist/ui/assets/{snapshot-features-DpyHBKUX.js → snapshot-features-u2bLa1Ug.js} +1 -1
  112. package/dist/ui/assets/{soundscape-BzKLvO-1.js → soundscape-BYlS3XAI.js} +1 -1
  113. package/dist/ui/assets/{speak-CSG4gGch.js → speak-BezQaVuw.js} +1 -1
  114. package/dist/ui/assets/{sprinkle-manager-Duq4LRr7.js → sprinkle-manager-ZfvEo0Lv.js} +1 -1
  115. package/dist/ui/assets/{sprinkle-renderer-_81Q9qf8.js → sprinkle-renderer-DnVW1zfQ.js} +1 -1
  116. package/dist/ui/assets/{state-CgU5QBvm.js → state-BEkTZ8Wn.js} +1 -1
  117. package/dist/ui/assets/{store-Bl7UHaTz.js → store-CbXAM8lN.js} +1 -1
  118. package/dist/ui/assets/{store-DkDXcTrQ.js → store-DU7IkRE0.js} +1 -1
  119. package/dist/ui/assets/{sudo-CDOnEP3h.js → sudo-BoISWChx.js} +1 -1
  120. package/dist/ui/assets/{supervisor-C0O_9zrp.js → supervisor-C_62e4Z5.js} +1 -1
  121. package/dist/ui/assets/{sync-dialog-DTQ_-NI7.js → sync-dialog-XktspZV4.js} +1 -1
  122. package/dist/ui/assets/{transformers-env-CLzXIpCN.js → transformers-env-Dbo8Jrid.js} +1 -1
  123. package/dist/ui/assets/{tray-leader-CfmQX77N.js → tray-leader-B3iIBM1p.js} +1 -1
  124. package/dist/ui/assets/{tray-leave-runtime-BRulCzY_.js → tray-leave-runtime-NbZvO6fr.js} +1 -1
  125. package/dist/ui/assets/{tray-sidecar-mQMRHcGT.js → tray-sidecar-DvOifh-q.js} +1 -1
  126. package/dist/ui/assets/{upgrade-detection-BYubCZqs.js → upgrade-detection-DyMiS4s0.js} +1 -1
  127. package/dist/ui/assets/{upgrade-to-seven-Pq-UDrPi.js → upgrade-to-seven-D7ZywU3R.js} +2 -2
  128. package/dist/ui/assets/{upskill-lick-skip-Be2KOvkl.js → upskill-lick-skip-BEU0uoa6.js} +1 -1
  129. package/dist/ui/assets/{voice-reply-DgaSWq8u.js → voice-reply-DSX8bpiJ.js} +1 -1
  130. package/dist/ui/assets/{wc-attach-DkaTR7TF.js → wc-attach-DL4g0RL4.js} +2 -2
  131. package/dist/ui/assets/{wc-browser-B7ndz1jM.js → wc-browser-BJaaPF4j.js} +1 -1
  132. package/dist/ui/assets/{wc-computers-BCkukNOu.js → wc-computers-BbyXytAR.js} +1 -1
  133. package/dist/ui/assets/{wc-detached-CLERu9mV.js → wc-detached-B3pj_CED.js} +1 -1
  134. package/dist/ui/assets/{wc-extension-B4USdq0c.js → wc-extension-B84vVG1K.js} +2 -2
  135. package/dist/ui/assets/{wc-follower-0jzY0wJ0.js → wc-follower-B6GykhXJ.js} +3 -3
  136. package/dist/ui/assets/{wc-follower-oauth-BUtItDwr.js → wc-follower-oauth-QiwSeK64.js} +1 -1
  137. package/dist/ui/assets/{wc-gelatiere-DajT2OUD.js → wc-gelatiere-dYARmTVA.js} +1 -1
  138. package/dist/ui/assets/{wc-live-B2VH_Eli.js → wc-live-CtcYQMbX.js} +5 -5
  139. package/dist/ui/assets/{wc-nav-DkW2VrjM.js → wc-nav-C2S8T5hp.js} +2 -2
  140. package/dist/ui/assets/{wc-onboarding-LbJfXmAg.js → wc-onboarding-BVfOLQYj.js} +2 -2
  141. package/dist/ui/assets/{wc-permissions-ChaoL5x5.js → wc-permissions-BiFWxdKB.js} +2 -2
  142. package/dist/ui/assets/{wc-placeholder-DvXhdEmk.js → wc-placeholder-BjS95cU_.js} +2 -2
  143. package/dist/ui/assets/{wc-profile-export-nWsuW0TA.js → wc-profile-export-Dc5S7An7.js} +3 -3
  144. package/dist/ui/assets/{wc-secret-request-DiIKRPKg.js → wc-secret-request-Beog-iRr.js} +1 -1
  145. package/dist/ui/assets/{wc-settings-3Ng33xpc.js → wc-settings-BRILQhTd.js} +3 -3
  146. package/dist/ui/assets/{wc-shell-BbGmkwhl.js → wc-shell-D2vt5Gl0.js} +3 -3
  147. package/dist/ui/assets/{wc-shortcut-config-D8Tpotkh.js → wc-shortcut-config-CAHbFsPI.js} +1 -1
  148. package/dist/ui/assets/{wc-sprinkles-s172FzJd.js → wc-sprinkles-BbVKvr7k.js} +2 -2
  149. package/dist/ui/assets/{wc-transcript-export-PY510kMQ.js → wc-transcript-export-DM4JQPF1.js} +2 -2
  150. package/dist/ui/assets/{wc-tray-CZbGdtuM.js → wc-tray-BooFXjgl.js} +4 -4
  151. package/dist/ui/assets/welcome-detection-VeKV2Vfz.js +1 -0
  152. package/dist/ui/assets/{whisper-session-DV2-MGXV.js → whisper-session-Dw59jZ7T.js} +2 -2
  153. package/dist/ui/assets/{xai-grok-DKNmr41Y.js → xai-grok-BVLzOMqQ.js} +1 -1
  154. package/dist/ui/assets/{xai-grok-nLcr7B7M.js → xai-grok-BzmaEFAz.js} +1 -1
  155. package/dist/ui/index.html +3 -3
  156. package/dist/ui/packages/webapp/index.html +3 -3
  157. package/dist/ui/packages/webapp/upgrade-to-seven.html +1 -1
  158. package/dist/ui/upgrade-to-seven.html +1 -1
  159. package/package.json +5 -5
  160. package/dist/ui/assets/provider-store-access-CM_A3_LB.js +0 -1
  161. package/dist/ui/assets/provider-store-access-CSEJaroY.js +0 -1
  162. package/dist/ui/assets/slicc-version-nzLa6zFr.js +0 -1
  163. package/dist/ui/assets/welcome-detection-IHJ0GQ5L.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/core-DoHWT79Y.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/renamed-providers-CKF5I4-o.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BtmN7fip.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/mount-bridge-client-CycA3H7M.js","assets/types-D8gIX-W-.js","assets/page-approval-service-PopkSNw-.js","assets/types-DSxCdZw6.js","assets/esptool-operations-CTZQdeQU.js","assets/rom-eeWiO07Z.js","assets/usb-claim-broker-Dacw2Z3M.js","assets/usb-device-registry--JwKRTYp.js","assets/providers-DqmhARGF.js","assets/speak-CSG4gGch.js","assets/speech-assets-bridge-DtbOauCq.js","assets/transformers-env-CLzXIpCN.js","assets/wc-shell-BbGmkwhl.js","assets/dictation-priming-BHJC0hch.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-D9MqJPUO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/sha256-DynDhwRL.js","assets/telemetry-kqkj0A7x.js","assets/GELATIERE-CLK_MA5a.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-D1QuzCd5.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.js","assets/hear-C3qj675z.js","assets/permissions-surface-registry-CilCRwhh.js","assets/whisper-session-DV2-MGXV.js","assets/mount-picker-popup-LB-YHulU.js","assets/picker-popup-DioAkr8b.js","assets/proxied-fetch-raw-D0PvYvWp.js","assets/proxied-fetch-raw-types-CHLdbsMn.js","assets/proxied-fetch-raw-port-DoVmv2Tj.js","assets/wc-profile-export-nWsuW0TA.js","assets/wc-live-B2VH_Eli.js","assets/sprinkle-renderer-_81Q9qf8.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-operations-BDj7jaXj.js","assets/theme-CU1DW_S-.js","assets/theme-engine-CSJOgrjN.js","assets/zip-stream-Ca_YRvVc.js","assets/transcript-export-DTRO8k03.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-2eWFiMZP.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/provider-budget-LCzMPlKv.js","assets/browser-OXhgs9Cl.js","assets/tray-leader-CfmQX77N.js","assets/db-CIXZItfi.js","assets/sessions-C76DyVKE.js","assets/types-CFfBWsH5.js","assets/store-0qb-4XOe.js","assets/entries-ChYQ3OMf.js","assets/frozen-archive-writer-Be4hcxM7.js","assets/frozen-session-identity-CW1qK6O1.js","assets/session-jsonl-CmHHFea-.js","assets/snapshot-store-CZ-3vOWa.js","assets/live-session-curation-CNVAnSeA.js","assets/MEMORY-B9cGngY_.js","assets/thinking-level-DCJktR5U.js","assets/profile-export-deps-DvwvBs2e.js","assets/global-db-CbuLl-zx.js","assets/wc-unit-context-DaNQeAM3.js","assets/tab-D9i-XOmT.js","assets/slicc-app-url-BKHBBuTR.js","assets/scale-B8PGb3fG.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-BLdHbfdN.js";import{c as t,l as n,o as r}from"./feature-flags-DDJdMcuw.js";import"./proxied-fetch-2sdz8vNB.js";import{Y as i,f as a}from"./account-store-D9MqJPUO.js";import{s as o,t as s}from"./api-endpoint-CNqFa-M3.js";import{t as c}from"./proxied-fetch-raw-types-CHLdbsMn.js";import"./main-2eWFiMZP.js";import{n as l,r as u}from"./hid-device-registry-B2R-0rNt.js";import{a as d,i as f}from"./serial-port-registry-CCqklAEr.js";import{_ as p,a as m,c as ee,d as te,f as ne,g as re,h as ie,i as ae,l as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,t as pe,u as me,v as he}from"./hid-operations-C97SZtrY.js";import{a as ge,i as _e}from"./usb-device-registry--JwKRTYp.js";import{a as ve,c as ye,d as be,f as xe,g as Se,h as Ce,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w}from"./usb-operations-BDj7jaXj.js";function T(){return{"secrets-bridge":async({type:t,payload:n})=>{let{callSecretsBridge:r}=await e(async()=>{let{callSecretsBridge:e}=await import(`./core-DoHWT79Y.js`).then(e=>e.n);return{callSecretsBridge:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]));return{response:await r(t,n)}}}}function E(){return{"mount-sign-and-forward":async({type:t,envelope:n})=>{let{callMountBridge:r}=await e(async()=>{let{callMountBridge:e}=await import(`./mount-bridge-client-CycA3H7M.js`);return{callMountBridge:e}},__vite__mapDeps([14,11,5,9,12,15]));return{response:await r(t,n)}}}}function D(){return{"sudo-request":async({request:t,mode:n})=>{let{resolveSudoApprovalInPage:r}=await e(async()=>{let{resolveSudoApprovalInPage:e}=await import(`./page-approval-service-PopkSNw-.js`);return{resolveSudoApprovalInPage:e}},__vite__mapDeps([16,5,10,1,7,2,8,9,17]));return r(t,n??`resolve`)}}}function O(){return{"secret-request":async t=>{let{getSecretRequestSurface:n}=await e(async()=>{let{getSecretRequestSurface:e}=await import(`./secret-request-registry-DrOMKR1H.js`);return{getSecretRequestSurface:e}},[]),r=n();return r?r(t):{stored:!1,reason:`unavailable`}}}}function k(){return{"proxied-fetch":async({url:t,method:n,headers:r,body:i})=>{let{collectViaExtensionDelegate:a}=await e(async()=>{let{collectViaExtensionDelegate:e}=await import(`./proxied-fetch-2sdz8vNB.js`).then(e=>e.i);return{collectViaExtensionDelegate:e}},__vite__mapDeps([7,1,2,8,9])),{head:o,body:s}=await a(t,{method:n,headers:r,body:i});return{head:o,body:s}}}}function A(){return navigator.userActivation?.isActive??!0}var we={usb:`use a USB device`,hid:`use a HID device`,serial:`use a serial port`,screenshare:`share a screen`};async function j(e,t,n){let r=e();if(!r)throw Error(`${t} request: the chooser needs a click, and no permission prompt is open`);let i=await r.prompt({kinds:[t],description:`A command in the terminal asks to ${we[t]}.`,requestOptions:{[t]:n}}),a=i.status===`granted`?i.grants.find(e=>e.kind===t):void 0;if(!a){let e=i.message?`: ${i.message}`:``;throw Error(`${t} request: ${i.reason??i.status}${e}`)}return a}function Te(e,t){return A()?e:{getDevices:()=>e.getDevices(),requestDevice:async({filters:e})=>(await j(t,`usb`,{filters:e})).device}}function Ee(e,t){return A()?e:{getDevices:()=>e.getDevices(),requestDevice:async({filters:e})=>(await j(t,`hid`,{filters:e})).devices}}function De(e,t){return A()?e:{getPorts:()=>e.getPorts(),requestPort:async e=>(await j(t,`serial`,{filters:e?.filters??[]})).port}}function Oe(e){return A()?e=>navigator.mediaDevices.getDisplayMedia(e):async t=>(await j(e,`screenshare`,{constraints:t})).stream}function ke(e){Ne(e.emitEvent);let t=()=>e.getPermissionsSurface?.()??null;return{"usb-list":async()=>({devices:await g(M(),F())}),"usb-request":async({filters:e})=>({device:await xe(M(),Te(F(),t),e)}),"usb-device-info":({handle:e})=>({device:S(M(),e)}),"usb-open":async({handle:e})=>(await w(M(),e),{done:!0}),"usb-close":async({handle:e,owner:t,force:n})=>(await h(M(),e,{owner:t,force:n}),{done:!0}),"usb-select-configuration":async({handle:e,configurationValue:t})=>(await _(M(),e,t),{done:!0}),"usb-claim-interface":async({handle:e,interfaceNumber:t,owner:n,wait:r})=>(await v(M(),e,t,{owner:n,wait:r}),{done:!0}),"usb-release-interface":async({handle:e,interfaceNumber:t,owner:n})=>(await be(M(),e,t,{owner:n}),{done:!0}),"usb-cancel-claim-wait":async({handle:e,interfaceNumber:t,owner:n})=>(await C(M(),e,t,n??`usb`),{done:!0}),"usb-drop-owner":async({owner:e})=>(await ye(M(),e),{done:!0}),"usb-control-transfer-in":async({handle:e,setup:t,length:n})=>ve(M(),e,t,n),"usb-control-transfer-out":async({handle:e,setup:t,bytes:n})=>y(M(),e,t,n),"usb-transfer-in":async({handle:e,endpointNumber:t,length:n})=>Ce(M(),e,t,n),"usb-transfer-out":async({handle:e,endpointNumber:t,bytes:n})=>Se(M(),e,t,n),"usb-reset":async({handle:e,owner:t,force:n})=>(await b(M(),e,{owner:t,force:n}),{done:!0}),"usb-clear-halt":async({handle:e,direction:t,endpointNumber:n})=>(await x(M(),e,t,n),{done:!0})}}function Ae(e,t){let n=()=>e.getPermissionsSurface?.()??null;return{"hid-list":async()=>({devices:await de(I(),L())}),"hid-request":async({filters:e})=>({devices:await le(I(),Ee(L(),n),e)}),"hid-device-info":({handle:e})=>({device:ce(I(),e)}),"hid-open":async({handle:e})=>(await ae(I(),e),{done:!0}),"hid-close":async({handle:e})=>(await pe(I(),e),{done:!0}),"hid-send-report":async({handle:e,reportId:t,bytes:n})=>(await ee(I(),e,t,n),{done:!0}),"hid-send-feature-report":async({handle:e,reportId:t,bytes:n})=>(await fe(I(),e,t,n),{done:!0}),"hid-receive-feature-report":async({handle:e,reportId:t})=>m(I(),e,t),"hid-subscribe-input-reports":async({handle:n})=>{t.get(n)?.();let r=await oe(I(),n,t=>{e.emitEvent?.(`hid-input-report`,{handle:n,reportId:t.reportId,bytes:t.bytes})});return t.set(n,r),{done:!0}},"hid-unsubscribe-input-reports":({handle:e})=>(t.get(e)?.(),t.delete(e),{done:!0})}}function je(e={}){let t=()=>e.getPermissionsSurface?.()??null;return{"serial-list":async()=>({devices:await ue(R(),z())}),"serial-request":async({filters:e})=>({device:await re(R(),De(z(),t),e)}),"serial-device-info":({handle:e})=>({device:te(R(),e)}),"serial-open":async({handle:e,options:t})=>(await se(R(),e,t),{done:!0}),"serial-close":async({handle:e})=>(await me(R(),e),{done:!0}),"serial-read":async({handle:e,maxBytes:t,until:n,timeoutMs:r})=>{let i=await ie(R(),e,{maxBytes:t,until:n?new Uint8Array(n):void 0,timeoutMs:r});return{bytes:i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)}},"serial-write":async({handle:e,bytes:t})=>({bytesWritten:await he(R(),e,new Uint8Array(t))}),"serial-get-signals":async({handle:e})=>({signals:await ne(R(),e)}),"serial-set-signals":async({handle:e,signals:t})=>(await p(R(),e,t),{done:!0})}}function Me(t){return{"esptool-chip-info":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolChipInfo(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-read-mac":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolReadMac(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-erase-flash":async({handle:n,baudRate:r})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolEraseFlash(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-flash":async({handle:n,baudRate:r,eraseAll:i,segments:a})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolFlash(R(),n,r,i,a.map(e=>({address:e.address,data:new Uint8Array(e.bytes)})),e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-read-flash":async({handle:n,baudRate:r,address:i,size:a})=>{let o=await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolReadFlash(R(),n,r,i,a,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e}));return{bytes:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}},"esptool-read-reg":async({handle:n,baudRate:r,address:i})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolReadReg(R(),n,r,i,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-flash-id":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolFlashId(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-erase-region":async({handle:n,baudRate:r,address:i,size:a})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolEraseRegion(R(),n,r,i,a,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-run":async({handle:n,baudRate:r})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolRun(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0})}}function M(){return ge()}var N=null,P;function Ne(t){P=t,!N&&t&&e(()=>import(`./usb-claim-broker-Dacw2Z3M.js`).then(e=>{N||=e.addClaimListener(M(),e=>{P?.(`usb-claim-event`,e)})}),__vite__mapDeps([20,21,1]))}function F(){let e=_e();if(!e)throw Error(`WebUSB is unavailable in this browser`);return e}function I(){return u()}function L(){let e=l();if(!e)throw Error(`WebHID is unavailable in this browser`);return e}function R(){return d()}function z(){let e=f();if(!e)throw Error(`Web Serial is unavailable in this browser`);return e}function Pe(t){return{"tray-reset":async()=>{if(!t.resetTray)throw Error(`host reset: no active tray session to reset`);return await t.resetTray()},"tray-webhook-rotate":async()=>{if(!t.rotateWebhook)throw Error(`webhook rotate: no active leader tray`);return await t.rotateWebhook()},"tray-webhook-revoke":async e=>{if(!t.revokeWebhook)throw Error(`webhook delete: no active leader tray`);return await t.revokeWebhook(e.webhookId),{ok:!0}},"tray-open-preview":async e=>{if(!t.mintPreview)throw Error(`serve: no active leader tray; cannot mint preview`);return await t.mintPreview(e)},"tray-revoke-preview":async e=>{if(!t.revokePreview)throw Error(`serve: no active leader tray; cannot revoke preview`);return await t.revokePreview(e)},"tray-list-previews":async()=>{if(!t.listPreviews)throw Error(`serve: no active leader tray; cannot list previews`);return await t.listPreviews()},"tray-mint-biscotto":async e=>{if(!t.mintBiscotto)throw Error(`biscotto: no active leader tray; cannot mint a seat`);return await t.mintBiscotto(e)},"tray-revoke-biscotto":async e=>{if(!t.revokeBiscotto)throw Error(`biscotto revoke: no active leader tray; cannot revoke a seat`);return await t.revokeBiscotto(e)},"tray-list-biscotti":async()=>{if(!t.listBiscotti)throw Error(`biscotti: no active leader tray; cannot list seats`);return await t.listBiscotti()},"tray-preview-logs":async({previewToken:e})=>{if(!t.getPreviewLifecycleRecords)throw Error(`serve --logs: no active leader tray; cannot read preview logs`);return t.getPreviewLifecycleRecords(e)},"tray-preview-truncate":async({previewToken:e})=>{if(!t.truncatePreviewLifecycleRecords)throw Error(`serve --truncate: no active leader tray; cannot truncate preview logs`);return t.truncatePreviewLifecycleRecords(e)},"tray-leave":async({workerBaseUrl:e,requestId:n})=>{if(!t.leaveTray)throw Error(`host leave: tray leave is not available in this environment`);return await t.leaveTray({workerBaseUrl:e,requestId:n})},"tray-join":async({joinUrl:e,requestId:n})=>{if(!t.joinTray)throw Error(`host join: tray join is not available in this environment`);return await t.joinTray({joinUrl:e,requestId:n})},"cherry-emit":async({runtimeId:e,name:n,detail:r})=>{if(!t.emitCherrySliccEvent)throw Error(`cherry-emit: not available in this environment`);return{delivered:t.emitCherrySliccEvent(e,n,r)}},"tray-exec":async e=>{if(!t.execOnRemote)throw Error(`ssh: no active leader tray in this environment`);return await t.execOnRemote(e)},"tray-exec-signal":({execToken:e})=>(t.signalRemoteExec?.({execToken:e}),{ok:!0}),"tray-computer-native":async e=>{if(!t.computerNative)throw Error(`computer native: no active leader tray in this environment`);return await t.computerNative(e)},"oauth-extras-set":({providerId:e,domains:t})=>(i(e,t),{storeAfter:a()}),"silent-renew":async({providerId:t})=>{let{getRegisteredProviderConfig:n}=await e(async()=>{let{getRegisteredProviderConfig:e}=await import(`./providers-DqmhARGF.js`).then(e=>e.r);return{getRegisteredProviderConfig:e}},__vite__mapDeps([22,1,2])),r=n(t);return r?.onSilentRenew?{accessToken:await r.onSilentRenew()}:{accessToken:null}},"save-oauth-accounts":({accountsJson:e})=>(localStorage.setItem(`slicc_accounts`,e),{storedJson:localStorage.getItem(`slicc_accounts`)??e})}}async function Fe(e,t){if((typeof navigator<`u`?navigator.userActivation:void 0)?.isActive===!0)return B(window.open(e,`_blank`,`width=500,height=700,popup=yes`));let n=t?.()??null;if(n){let t=await Ie(n,e);return t===void 0?null:B(t)}return B(window.open(e,`_blank`,`width=500,height=700,popup=yes`))}function B(e){return new Promise(t=>{let n=!1,r=null,i=()=>{n||(n=!0,window.removeEventListener(`message`,a),clearTimeout(c),r&&clearInterval(r))},a=n=>{if(n.data?.type!==`oauth-callback`||n.origin!==window.location.origin||e&&n.source!==e)return;if(i(),n.data.error){console.error(`[panel-rpc:oauth-popup] OAuth error:`,n.data.error),t(null);return}let r=n.data.redirectUrl;(typeof r==`string`||r==null)&&t(r??null)};window.addEventListener(`message`,a),r=setInterval(async()=>{if(!n)try{let e=await fetch(o(`/api/oauth-result`),{headers:s()});if(e.status===204||!e.ok)return;let r=await e.json();if(n)return;if(i(),r.error){console.error(`[panel-rpc:oauth-popup] Server relay OAuth error:`,r.error),t(null);return}t(r.redirectUrl??null)}catch(e){console.warn(`[panel-rpc:oauth-popup] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let c=setTimeout(()=>{i();try{e?.close()}catch{}t(null)},12e4)})}async function Ie(e,t){let n=await e.prompt({kinds:[`popup`],description:`Continue to sign in. A new window will open to the provider.`,grantLabel:`Continue`,requestOptions:{popup:{url:t}}});if(n.status!==`granted`)return;let r=n.grants.find(e=>e.kind===`popup`);return r&&r.kind===`popup`?r.window:null}async function Le(t,n){let{captureDisplayMedia:r,sessionCaptureRequest:i}=await e(async()=>{let{captureDisplayMedia:e,sessionCaptureRequest:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{captureDisplayMedia:e,sessionCaptureRequest:t}},[]),{mimeType:a,quality:o,mode:s,durationMs:c,audio:l,session:u,handle:d,maxWidth:f}=n,p=await r(s===`session`?i({session:u,handle:d,mimeType:a,quality:o,durationMs:c,maxWidth:f}):s===`video`?{mode:`video`,mimeType:a,durationMs:c??5e3,audio:!!l}:{mode:`image`,mimeType:a,quality:o},Oe(t));return{bytes:p.bytes.buffer.slice(p.bytes.byteOffset,p.bytes.byteOffset+p.bytes.byteLength),width:p.width,height:p.height,mimeType:p.mimeType,nativeWidth:p.nativeWidth,nativeHeight:p.nativeHeight,...p.durationMs===void 0?{}:{durationMs:p.durationMs},...p.handle===void 0?{}:{handle:p.handle}}}function Re(t={}){let n=()=>t.getPermissionsSurface?.()??null;return{"page-info":()=>({origin:window.location.origin,href:window.location.href,title:document.title||``}),screencapture:e=>Le(n,e),"speak-text":async({text:t,lang:n,voice:r,rate:i,pitch:a,volume:o})=>{let{speak:s}=await e(async()=>{let{speak:e}=await import(`./speak-CSG4gGch.js`);return{speak:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return await s({text:t,lang:n,voice:r,rate:i,pitch:a,volume:o}),{done:!0}},"list-voices":async()=>{let{kokoroVoicesIfReady:t}=await e(async()=>{let{kokoroVoicesIfReady:e}=await import(`./speak-CSG4gGch.js`);return{kokoroVoicesIfReady:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43])),n=t().map(e=>({name:e.id,lang:e.lang,default:!1,onDevice:e.onDevice}));if(typeof speechSynthesis>`u`){if(n.length>0)return{voices:n};throw Error(`speechSynthesis is unavailable in this page`)}let r=speechSynthesis.getVoices();if(r.length>0)return{voices:[...n,...r.map(W)]};let i=await new Promise(e=>{let t=()=>{speechSynthesis.removeEventListener(`voiceschanged`,t),e(speechSynthesis.getVoices())};speechSynthesis.addEventListener(`voiceschanged`,t),setTimeout(()=>{speechSynthesis.removeEventListener(`voiceschanged`,t),e(speechSynthesis.getVoices())},1e3)});return{voices:[...n,...i.map(W)]}},"speak-status":async()=>{let{kokoroStatus:t}=await e(async()=>{let{kokoroStatus:e}=await import(`./speak-CSG4gGch.js`);return{kokoroStatus:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()},"speak-warmup":async()=>{let{kokoroWarmup:t}=await e(async()=>{let{kokoroWarmup:e}=await import(`./speak-CSG4gGch.js`);return{kokoroWarmup:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()},"synthesize-to-wav":async({text:t,lang:n,voice:r,rate:i})=>{let{synthesizeToWav:a}=await e(async()=>{let{synthesizeToWav:e}=await import(`./speak-CSG4gGch.js`);return{synthesizeToWav:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43])),o=await a({text:t,...n===void 0?{}:{lang:n},...r===void 0?{}:{voice:r},...i===void 0?{}:{rate:i}});return{bytes:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}},"play-audio":async({bytes:e,volume:t})=>{if(typeof AudioContext>`u`)throw Error(`Web Audio API is unavailable in this page`);let n=new AudioContext;try{let r=await n.decodeAudioData(e.slice(0)),i=n.createBufferSource();if(i.buffer=r,t!==void 0){let e=n.createGain();e.gain.value=Math.max(0,Math.min(1,t)),i.connect(e),e.connect(n.destination)}else i.connect(n.destination);await new Promise(e=>{i.onended=()=>e(),i.start()})}finally{try{await n.close()}catch{}}return{done:!0}},"play-chime":async({tone:e})=>{let t={success:[880,1320],error:[440,220],notify:[660,660]},[n,r]=t[e??`notify`]??t.notify;if(typeof AudioContext>`u`)throw Error(`Web Audio API is unavailable in this page`);let i=new AudioContext;try{let e=i.currentTime;for(let[t,a]of[n,r].entries()){let n=i.createOscillator();n.type=`sine`,n.frequency.value=a;let r=i.createGain();r.gain.setValueAtTime(1e-4,e+t*.18),r.gain.exponentialRampToValueAtTime(.2,e+t*.18+.02),r.gain.exponentialRampToValueAtTime(1e-4,e+t*.18+.18),n.connect(r),r.connect(i.destination),n.start(e+t*.18),n.stop(e+t*.18+.2)}await new Promise(e=>setTimeout(e,450))}finally{try{await i.close()}catch{}}return{done:!0}}}}function ze(e={}){return{"clipboard-read-text":async()=>{if(!navigator.clipboard?.readText)throw Error(`clipboard API unavailable`);return{text:await navigator.clipboard.readText()}},"clipboard-write-text":async({text:e})=>{if(!navigator.clipboard?.writeText)throw Error(`clipboard API unavailable`);return await G(),await navigator.clipboard.writeText(e),{done:!0}},"clipboard-write-image":async({bytes:e,mimeType:t})=>{if(!navigator.clipboard?.write||typeof ClipboardItem>`u`)throw Error(`clipboard image API unavailable`);let n,r=new Blob([e],{type:t});return n=t===`image/png`?r:await Ge(r),await G(),await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),{done:!0}},"window-open":async({url:e,target:t,features:n})=>({opened:window.open(e,t??`_blank`,n??`noopener,noreferrer`)!==null}),"oauth-popup":async({url:t})=>{let n=await e.delegateOAuthLogin?.(t);return n?.delegated?{redirectUrl:n.redirectUrl,error:n.error}:{redirectUrl:await Fe(t,e.getPermissionsSurface)}},"oauth-route":async()=>({delegate:await e.shouldDelegateOAuth?.()===!0}),"capture-camera":async e=>await Ue(e),"enumerate-media-devices":async()=>{if(!navigator.mediaDevices?.enumerateDevices)throw Error(`enumerateDevices is not supported in this browser`);let e=await navigator.mediaDevices.enumerateDevices(),t=e=>({deviceId:e.deviceId,label:e.label||``,...e.groupId?{groupId:e.groupId}:{}});return{videoinputs:e.filter(e=>e.kind===`videoinput`).map(t),audioinputs:e.filter(e=>e.kind===`audioinput`).map(t)}}}}function Be(){return{"hear-capture":async t=>{let{hearCapture:n}=await e(async()=>{let{hearCapture:e}=await import(`./hear-C3qj675z.js`);return{hearCapture:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return await n(t??{})},"hear-transcribe":async({bytes:t,lang:n})=>{let{hearTranscribe:r}=await e(async()=>{let{hearTranscribe:e}=await import(`./hear-C3qj675z.js`);return{hearTranscribe:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return await r(t,n)},"hear-status":async()=>{let{hearStatus:t}=await e(async()=>{let{hearStatus:e}=await import(`./hear-C3qj675z.js`);return{hearStatus:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()},"hear-warmup":async()=>{let{hearWarmup:t}=await e(async()=>{let{hearWarmup:e}=await import(`./hear-C3qj675z.js`);return{hearWarmup:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()}}}var V=null,H;function Ve(t){H=t,!V&&t&&e(()=>import(`./screencapture-media-BxRLHqjA.js`).then(e=>{V||=e.displaySessions.onEnded(t=>{H?.(e.SCREENCAPTURE_SESSION_ENDED_CHANNEL,{handle:t})})}),[])}var He=1500;async function Ue(e){if(!navigator.mediaDevices?.getUserMedia)throw Error(`getUserMedia is not supported in this browser`);let t=e.mode===`photo`||e.captureVideo!==!1,n=!!e.captureAudio&&e.mode===`video`;if(!t&&!n)throw Error(`camera capture: at least one of video or audio must be requested`);let r=await We({wantVideo:t,videoDeviceId:t?await U(e.deviceId,`videoinput`):void 0,audioDeviceId:n?await U(e.audioDeviceId,`audioinput`):void 0,wantAudio:n,width:e.width,height:e.height,frameRate:e.frameRate,exact:!!e.exactSize});try{let n=null,i=0,a=0;if(t){n=document.createElement(`video`),n.srcObject=r,n.muted=!0,n.playsInline=!0;let e=n;await new Promise((t,n)=>{e.onloadedmetadata=()=>e.play().then(()=>t()).catch(n),e.onerror=()=>n(Error(`Failed to load camera stream`))}),await new Promise(e=>requestAnimationFrame(()=>e())),await new Promise(e=>requestAnimationFrame(()=>e())),i=e.videoWidth,a=e.videoHeight}if(e.mode===`photo`){if(!n)throw Error(`photo capture requires a video track`);let t=e.warmupMs??He;t>0&&await new Promise(e=>setTimeout(e,t));let r=document.createElement(`canvas`);r.width=i,r.height=a;let o=r.getContext(`2d`);if(!o)throw Error(`Failed to get canvas context`);o.drawImage(n,0,0,i,a);let s=await new Promise((t,n)=>{r.toBlob(e=>e?t(e):n(Error(`Failed to encode photo`)),e.mimeType,e.quality)});return{bytes:await s.arrayBuffer(),mimeType:s.type||e.mimeType,width:i,height:a}}let o=Math.max(100,Math.min(e.durationMs??5e3,6e4)),s=typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported(e.mimeType)?e.mimeType:`video/webm`,c=new MediaRecorder(r,{mimeType:s}),l=[];c.ondataavailable=e=>{e.data&&e.data.size>0&&l.push(e.data)};let u=new Promise(e=>{c.onstop=()=>e()});c.start(),await new Promise(e=>setTimeout(e,o)),c.stop(),await u;let d=new Blob(l,{type:s});return{bytes:await d.arrayBuffer(),mimeType:d.type||s,width:i,height:a,durationMs:o}}finally{r.getTracks().forEach(e=>{e.stop()})}}async function U(e,t){if(e===void 0||e===``)return;if(!/^\d+$/.test(e))return e;if(!navigator.mediaDevices?.enumerateDevices)return;let n=parseInt(e,10);return(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===t)[n]?.deviceId}async function We(e){let t=t=>{if(!e.wantVideo)return!1;let n={};return e.videoDeviceId&&(n.deviceId={exact:e.videoDeviceId}),e.width&&(n.width=t===`exact`?{exact:e.width}:{ideal:e.width}),e.height&&(n.height=t===`exact`?{exact:e.height}:{ideal:e.height}),e.frameRate&&(n.frameRate=t===`exact`?{exact:e.frameRate}:{ideal:e.frameRate}),Object.keys(n).length>0?n:!0},n=()=>e.wantAudio?!e.audioDeviceId||{deviceId:{exact:e.audioDeviceId}}:!1;try{return await navigator.mediaDevices.getUserMedia({video:t(e.exact?`exact`:`ideal`),audio:n()})}catch(r){let i=r?.name;if(!e.exact||i!==`OverconstrainedError`&&i!==`NotReadableError`)throw r;return console.warn(`panel-rpc:capture-camera: exact ${e.width??`?`}x${e.height??`?`}@${e.frameRate??`?`} unmet, falling back to ideal`),await navigator.mediaDevices.getUserMedia({video:t(`ideal`),audio:n()})}}function W(e){return{name:e.name,lang:e.lang,default:e.default,onDevice:!1}}async function Ge(e){let t=URL.createObjectURL(e);try{let e=new Image;await new Promise((n,r)=>{e.onload=()=>n(),e.onerror=()=>r(Error(`Failed to load image for clipboard conversion`)),e.src=t});let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`);if(!r)throw Error(`Failed to get canvas context`);return r.drawImage(e,0,0),await new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`PNG re-encode failed`)),`image/png`)})}finally{URL.revokeObjectURL(t)}}async function G(e=3e5){typeof document<`u`&&typeof document.hasFocus==`function`&&(document.hasFocus()||await new Promise((t,n)=>{let r=()=>{window.removeEventListener(`focus`,i),document.removeEventListener(`visibilitychange`,a),clearTimeout(o)},i=()=>{document.hasFocus()&&(r(),t())},a=()=>{document.visibilityState===`visible`&&document.hasFocus()&&(r(),t())},o=setTimeout(()=>{r(),n(Error(`timed out waiting for window focus`))},e);window.addEventListener(`focus`,i),document.addEventListener(`visibilitychange`,a)}))}function Ke(e){let t=new Map,n=()=>{if(!e.sliccSidecar)throw Error(`slicc: sidecar attachments are not available in this environment`);return e.sliccSidecar},r=async(e,r)=>{let i=n(),a=new AbortController;t.set(e,a);try{return await r(i,a.signal)}finally{t.delete(e)}};return{"slicc-attach":async({joinUrl:e,name:t,connectTimeoutMs:r})=>await n().attach({joinUrl:e,name:t,connectTimeoutMs:r}),"slicc-detach":({name:e})=>({detached:n().detach(e)}),"slicc-list":()=>({attachments:n().list()}),"slicc-prompt":async({name:e,text:t,runToken:n,steer:i,timeoutMs:a})=>await r(n,async(n,r)=>await n.prompt(e,t,{steer:i,timeoutMs:a,signal:r})),"slicc-exec":async({name:e,command:t,runToken:n,cwd:i,env:a,timeoutMs:o,stdin:s})=>await r(n,async(n,r)=>await n.exec(e,t,{cwd:i,env:a,timeoutMs:o,stdin:s,signal:r})),"slicc-watch":async({name:e,runToken:t,durationMs:n,scoopJid:i,untilIdle:a})=>await r(t,async(t,r)=>await t.watch(e,{durationMs:n,scoopJid:i,untilIdle:a,signal:r})),"slicc-cancel":({runToken:e})=>(t.get(e)?.abort(),{ok:!0})}}function qe(e){return{"list-remote-targets":async()=>e.listRemoteTargets?{targets:(await e.listRemoteTargets()).filter(e=>e.targetId.includes(`:`)).map(e=>({targetId:e.targetId,title:e.title,url:e.url}))}:{targets:[]},"remote-cdp-send":async({runtimeId:t,localTargetId:n,method:r,params:i,sessionId:a,timeout:o})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.send({runtimeId:t,localTargetId:n,method:r,params:i,sessionId:a,timeout:o})},"remote-cdp-subscribe":async({runtimeId:t,localTargetId:n,event:r})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.subscribe({runtimeId:t,localTargetId:n,event:r})},"remote-cdp-unsubscribe":async({runtimeId:t,localTargetId:n,event:r})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.unsubscribe({runtimeId:t,localTargetId:n,event:r})},"remote-cdp-detach":async({runtimeId:t,localTargetId:n})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.detach({runtimeId:t,localTargetId:n})},"remote-open-tab":async({runtimeId:t,url:n})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.openTab({runtimeId:t,url:n})}}}function Je(e,t){return t===void 0?e.length>0&&e.every(e=>e===`camera`||e===`microphone`):t}function Ye(t){return{"permission-request":async n=>{let r=t.getPermissionsSurface?.()??null;if(!r)throw Error(`permission-request: permission surface unavailable`);let i=await r.prompt({kinds:n.kinds,description:n.description,heading:n.heading,grantLabel:n.grantLabel,cancelLabel:n.cancelLabel,skipIfGranted:Je(n.kinds,n.skipIfGranted)});if(i.status!==`granted`){let e=i.message?`: ${i.message}`:``;throw Error(`permission-request: ${i.reason??i.status}${e}`)}let a=[];for(let t of i.grants)switch(t.kind){case`usb`:{let e=M().register(t.device);a.push({kind:`usb`,handle:e});break}case`hid`:{let e=I().register(t.device);a.push({kind:`hid`,handle:e});break}case`serial`:{let e=R().register(t.port);a.push({kind:`serial`,handle:e});break}case`filesystem`:{let{storePendingHandle:n}=await e(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-LB-YHulU.js`);return{storePendingHandle:e}},__vite__mapDeps([47,5,48,9])),r=`pendingMount:rpc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;await n(r,t.handle),a.push({kind:`filesystem`,idbKey:r,dirName:t.handle.name});break}case`camera`:case`microphone`:case`screenshare`:for(let e of t.stream.getTracks())e.stop();a.push({kind:t.kind,ok:!0})}return{grants:a}}}}var K=3e5,Xe=class{pending=null;waiter=null;stream=new ReadableStream({pull:async e=>{for(;!this.pending;)await new Promise(e=>{this.waiter=e});let{chunk:t,taken:n}=this.pending;this.pending=null,t?e.enqueue(t):e.close(),n()}},{highWaterMark:0});write(e){return new Promise(t=>{this.pending={chunk:e,taken:t};let n=this.waiter;this.waiter=null,n?.()})}},q=new Map;function J(e){return e instanceof c?{ok:!1,code:e.code,status:e.status,error:e.message}:{ok:!1,code:`bridge`,status:502,error:e instanceof Error?e.message:String(e)}}var Y=()=>({ok:!1,code:`bridge`,status:502,error:`raw fetch: unknown or finished session`});function X(e){let t=q.get(e);t&&(q.delete(e),clearTimeout(t.idle),t.abort.abort(),t.reader?.cancel().catch(()=>void 0))}function Z(e){let t=q.get(e);if(t)return clearTimeout(t.idle),t.idle=setTimeout(()=>X(e),K),t}function Ze(e){return e.response.then(()=>new Promise(()=>{}))}function Qe(){return{"raw-fetch-probe":async t=>{let{getRawFetchCapabilities:n}=await e(async()=>{let{getRawFetchCapabilities:e}=await import(`./proxied-fetch-raw-D0PvYvWp.js`);return{getRawFetchCapabilities:e}},__vite__mapDeps([49,2,7,1,8,9,50,51]));return n()},"raw-fetch-open":async({url:t,method:n,headers:r,hasBody:i,bodyLength:a})=>{let[{extensionPortConnector:o},{rawFetchViaPort:s}]=await Promise.all([e(()=>import(`./proxied-fetch-raw-D0PvYvWp.js`),__vite__mapDeps([49,2,7,1,8,9,50,51])),e(()=>import(`./proxied-fetch-raw-port-DoVmv2Tj.js`),__vite__mapDeps([51,8,50,9]))]),c=o();if(!c)throw Error(`raw fetch: no extension Port in this realm`);let l=crypto.randomUUID(),u=i?new Xe:null,d=new AbortController,f=s(c,t,{method:n,headers:r,body:u?.stream,bodyLength:a,signal:d.signal});return f.catch(()=>void 0),q.set(l,{upload:u,response:f,reader:null,abort:d,idle:setTimeout(()=>X(l),K)}),{id:l}},"raw-fetch-write":async({id:e,chunk:t})=>{let n=Z(e);if(!n?.upload)return Y();try{return await Promise.race([n.upload.write(t),Ze(n)]),{ok:!0}}catch(t){return X(e),J(t)}},"raw-fetch-head":async({id:e})=>{let t=Z(e);if(!t)return Y();try{let{body:n,...r}=await t.response;return t.reader=n?.getReader()??null,n||X(e),{ok:!0,head:r,hasBody:n!==null}}catch(t){return X(e),J(t)}},"raw-fetch-read":async({id:e})=>{let t=Z(e);if(!t?.reader)return Y();try{let{done:n,value:r}=await t.reader.read();return n&&X(e),{ok:!0,chunk:n?null:r}}catch(t){return X(e),J(t)}},"raw-fetch-cancel":async({id:e})=>(X(e),{ok:!0})}}function $e(e){let t=r().find(t=>t.id===e);return t?t.id:null}function Q(){return{"feature-flag-set":({id:e,value:r})=>{let i=$e(e);if(!i)throw Error(`unknown flag ${e}`);if(n(i,r),t()[i]!==r)throw Error(`flag ${e} cannot be overridden on this float`);return{overridesJson:localStorage.getItem(`slicc_feature_flags`)??`{}`}}}}function et(){return{"profile-export":async({dryRun:t})=>{let{runProfileExportHeadless:n}=await e(async()=>{let{runProfileExportHeadless:e}=await import(`./wc-profile-export-nWsuW0TA.js`);return{runProfileExportHeadless:e}},__vite__mapDeps([52,2,53,1,0,3,4,5,6,7,8,9,10,11,12,13,27,54,45,26,28,29,30,22,31,32,33,34,35,36,37,15,38,39,40,41,42,55,56,57,21,58,43,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84]));return n({dryRun:t})}}}function tt(){return{"theme-apply":async({themeJson:t,action:n})=>{let{importTheme:r,saveCustomTheme:i,setActiveTheme:a,clearActiveTheme:o,applyThemeOverrides:s}=await e(async()=>{let{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}=await import(`./theme-engine-CSJOgrjN.js`).then(e=>e._);return{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}},__vite__mapDeps([60,1,5]));if(n===`reset`)return o(),s(),{applied:null};if(t){let e=r(t);return i(e),a(e.id),s(),{applied:e.id}}return{applied:null}}}}function nt(){return{"layout-apply":async t=>{let{getLayoutApplier:n}=await e(async()=>{let{getLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{getLayoutApplier:e}},[]),r=n();return r?await r(t)??{applied:!0}:{applied:!1,error:`no layout is mounted`}}}}function $(){let e=globalThis;if(!e.__slicc_browser)throw Error(`no browser API on this page`);return e.__slicc_browser}function rt(){return{"computer-tab-screenshot":async t=>{let{screenshotTab:n}=await e(async()=>{let{screenshotTab:e}=await import(`./tab-D9i-XOmT.js`);return{screenshotTab:e}},__vite__mapDeps([85,86,29,87]));return n($(),t.targetId,{maxWidth:t.maxWidth,format:t.format})},"computer-tab-input":async t=>{let{inputTab:n}=await e(async()=>{let{inputTab:e}=await import(`./tab-D9i-XOmT.js`);return{inputTab:e}},__vite__mapDeps([85,86,29,87]));return await n($(),t.targetId,t.events),{ok:!0}}}}function it(e={}){let t=new Map;return Ve(e.emitEvent),{...Re(e),...ze(e),...Be(),...Pe(e),...Ke(e),...ke(e),...Ae(e,t),...je(e),...Me(e),...qe(e),...Ye(e),...k(),...Qe(),...D(),...O(),...T(),...E(),...tt(),...et(),...nt(),...Q(),...rt()}}export{it as createStandalonePanelRpcHandlers};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/core-DoHWT79Y.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/renamed-providers-CKF5I4-o.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BtmN7fip.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/mount-bridge-client-CycA3H7M.js","assets/types-D8gIX-W-.js","assets/page-approval-service-PopkSNw-.js","assets/types-DSxCdZw6.js","assets/esptool-operations-CTZQdeQU.js","assets/rom-eeWiO07Z.js","assets/usb-claim-broker-Dacw2Z3M.js","assets/usb-device-registry--JwKRTYp.js","assets/providers-CxC3IkmD.js","assets/speak-BezQaVuw.js","assets/speech-assets-bridge-DtbOauCq.js","assets/transformers-env-Dbo8Jrid.js","assets/wc-shell-D2vt5Gl0.js","assets/dictation-priming-BHJC0hch.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CzjRbfrU.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/sha256-DynDhwRL.js","assets/telemetry-kqkj0A7x.js","assets/GELATIERE-CLK_MA5a.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-D1QuzCd5.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.js","assets/hear-CX6dGgpE.js","assets/permissions-surface-registry-CilCRwhh.js","assets/whisper-session-Dw59jZ7T.js","assets/mount-picker-popup-LB-YHulU.js","assets/picker-popup-DioAkr8b.js","assets/proxied-fetch-raw-D0PvYvWp.js","assets/proxied-fetch-raw-types-CHLdbsMn.js","assets/proxied-fetch-raw-port-DoVmv2Tj.js","assets/wc-profile-export-Dc5S7An7.js","assets/wc-live-CtcYQMbX.js","assets/sprinkle-renderer-DnVW1zfQ.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-operations-BDj7jaXj.js","assets/theme-CU1DW_S-.js","assets/theme-engine-CSJOgrjN.js","assets/zip-stream-Ca_YRvVc.js","assets/transcript-export-DTRO8k03.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-CKBsgWBx.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/provider-budget-LCzMPlKv.js","assets/browser-OXhgs9Cl.js","assets/tray-leader-B3iIBM1p.js","assets/db-CIXZItfi.js","assets/sessions-C76DyVKE.js","assets/types-CFfBWsH5.js","assets/store-0qb-4XOe.js","assets/entries-ChYQ3OMf.js","assets/frozen-archive-writer-Be4hcxM7.js","assets/frozen-session-identity-CW1qK6O1.js","assets/session-jsonl-CmHHFea-.js","assets/snapshot-store-CZ-3vOWa.js","assets/live-session-curation-CXlXZy35.js","assets/MEMORY-B9cGngY_.js","assets/thinking-level-DCJktR5U.js","assets/profile-export-deps-Cmfc-0t5.js","assets/global-db-CbuLl-zx.js","assets/wc-unit-context-DaNQeAM3.js","assets/tab-D9i-XOmT.js","assets/slicc-app-url-BKHBBuTR.js","assets/scale-B8PGb3fG.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-BLdHbfdN.js";import{c as t,l as n,o as r}from"./feature-flags-DDJdMcuw.js";import"./proxied-fetch-2sdz8vNB.js";import{Y as i,f as a}from"./account-store-CzjRbfrU.js";import{s as o,t as s}from"./api-endpoint-CNqFa-M3.js";import{t as c}from"./proxied-fetch-raw-types-CHLdbsMn.js";import"./main-CKBsgWBx.js";import{n as l,r as u}from"./hid-device-registry-B2R-0rNt.js";import{a as d,i as f}from"./serial-port-registry-CCqklAEr.js";import{_ as p,a as m,c as ee,d as te,f as ne,g as re,h as ie,i as ae,l as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,t as pe,u as me,v as he}from"./hid-operations-C97SZtrY.js";import{a as ge,i as _e}from"./usb-device-registry--JwKRTYp.js";import{a as ve,c as ye,d as be,f as xe,g as Se,h as Ce,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w}from"./usb-operations-BDj7jaXj.js";function T(){return{"secrets-bridge":async({type:t,payload:n})=>{let{callSecretsBridge:r}=await e(async()=>{let{callSecretsBridge:e}=await import(`./core-DoHWT79Y.js`).then(e=>e.n);return{callSecretsBridge:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]));return{response:await r(t,n)}}}}function E(){return{"mount-sign-and-forward":async({type:t,envelope:n})=>{let{callMountBridge:r}=await e(async()=>{let{callMountBridge:e}=await import(`./mount-bridge-client-CycA3H7M.js`);return{callMountBridge:e}},__vite__mapDeps([14,11,5,9,12,15]));return{response:await r(t,n)}}}}function D(){return{"sudo-request":async({request:t,mode:n})=>{let{resolveSudoApprovalInPage:r}=await e(async()=>{let{resolveSudoApprovalInPage:e}=await import(`./page-approval-service-PopkSNw-.js`);return{resolveSudoApprovalInPage:e}},__vite__mapDeps([16,5,10,1,7,2,8,9,17]));return r(t,n??`resolve`)}}}function O(){return{"secret-request":async t=>{let{getSecretRequestSurface:n}=await e(async()=>{let{getSecretRequestSurface:e}=await import(`./secret-request-registry-DrOMKR1H.js`);return{getSecretRequestSurface:e}},[]),r=n();return r?r(t):{stored:!1,reason:`unavailable`}}}}function k(){return{"proxied-fetch":async({url:t,method:n,headers:r,body:i})=>{let{collectViaExtensionDelegate:a}=await e(async()=>{let{collectViaExtensionDelegate:e}=await import(`./proxied-fetch-2sdz8vNB.js`).then(e=>e.i);return{collectViaExtensionDelegate:e}},__vite__mapDeps([7,1,2,8,9])),{head:o,body:s}=await a(t,{method:n,headers:r,body:i});return{head:o,body:s}}}}function A(){return navigator.userActivation?.isActive??!0}var we={usb:`use a USB device`,hid:`use a HID device`,serial:`use a serial port`,screenshare:`share a screen`};async function j(e,t,n){let r=e();if(!r)throw Error(`${t} request: the chooser needs a click, and no permission prompt is open`);let i=await r.prompt({kinds:[t],description:`A command in the terminal asks to ${we[t]}.`,requestOptions:{[t]:n}}),a=i.status===`granted`?i.grants.find(e=>e.kind===t):void 0;if(!a){let e=i.message?`: ${i.message}`:``;throw Error(`${t} request: ${i.reason??i.status}${e}`)}return a}function Te(e,t){return A()?e:{getDevices:()=>e.getDevices(),requestDevice:async({filters:e})=>(await j(t,`usb`,{filters:e})).device}}function Ee(e,t){return A()?e:{getDevices:()=>e.getDevices(),requestDevice:async({filters:e})=>(await j(t,`hid`,{filters:e})).devices}}function De(e,t){return A()?e:{getPorts:()=>e.getPorts(),requestPort:async e=>(await j(t,`serial`,{filters:e?.filters??[]})).port}}function Oe(e){return A()?e=>navigator.mediaDevices.getDisplayMedia(e):async t=>(await j(e,`screenshare`,{constraints:t})).stream}function ke(e){Ne(e.emitEvent);let t=()=>e.getPermissionsSurface?.()??null;return{"usb-list":async()=>({devices:await g(M(),F())}),"usb-request":async({filters:e})=>({device:await xe(M(),Te(F(),t),e)}),"usb-device-info":({handle:e})=>({device:S(M(),e)}),"usb-open":async({handle:e})=>(await w(M(),e),{done:!0}),"usb-close":async({handle:e,owner:t,force:n})=>(await h(M(),e,{owner:t,force:n}),{done:!0}),"usb-select-configuration":async({handle:e,configurationValue:t})=>(await _(M(),e,t),{done:!0}),"usb-claim-interface":async({handle:e,interfaceNumber:t,owner:n,wait:r})=>(await v(M(),e,t,{owner:n,wait:r}),{done:!0}),"usb-release-interface":async({handle:e,interfaceNumber:t,owner:n})=>(await be(M(),e,t,{owner:n}),{done:!0}),"usb-cancel-claim-wait":async({handle:e,interfaceNumber:t,owner:n})=>(await C(M(),e,t,n??`usb`),{done:!0}),"usb-drop-owner":async({owner:e})=>(await ye(M(),e),{done:!0}),"usb-control-transfer-in":async({handle:e,setup:t,length:n})=>ve(M(),e,t,n),"usb-control-transfer-out":async({handle:e,setup:t,bytes:n})=>y(M(),e,t,n),"usb-transfer-in":async({handle:e,endpointNumber:t,length:n})=>Ce(M(),e,t,n),"usb-transfer-out":async({handle:e,endpointNumber:t,bytes:n})=>Se(M(),e,t,n),"usb-reset":async({handle:e,owner:t,force:n})=>(await b(M(),e,{owner:t,force:n}),{done:!0}),"usb-clear-halt":async({handle:e,direction:t,endpointNumber:n})=>(await x(M(),e,t,n),{done:!0})}}function Ae(e,t){let n=()=>e.getPermissionsSurface?.()??null;return{"hid-list":async()=>({devices:await de(I(),L())}),"hid-request":async({filters:e})=>({devices:await le(I(),Ee(L(),n),e)}),"hid-device-info":({handle:e})=>({device:ce(I(),e)}),"hid-open":async({handle:e})=>(await ae(I(),e),{done:!0}),"hid-close":async({handle:e})=>(await pe(I(),e),{done:!0}),"hid-send-report":async({handle:e,reportId:t,bytes:n})=>(await ee(I(),e,t,n),{done:!0}),"hid-send-feature-report":async({handle:e,reportId:t,bytes:n})=>(await fe(I(),e,t,n),{done:!0}),"hid-receive-feature-report":async({handle:e,reportId:t})=>m(I(),e,t),"hid-subscribe-input-reports":async({handle:n})=>{t.get(n)?.();let r=await oe(I(),n,t=>{e.emitEvent?.(`hid-input-report`,{handle:n,reportId:t.reportId,bytes:t.bytes})});return t.set(n,r),{done:!0}},"hid-unsubscribe-input-reports":({handle:e})=>(t.get(e)?.(),t.delete(e),{done:!0})}}function je(e={}){let t=()=>e.getPermissionsSurface?.()??null;return{"serial-list":async()=>({devices:await ue(R(),z())}),"serial-request":async({filters:e})=>({device:await re(R(),De(z(),t),e)}),"serial-device-info":({handle:e})=>({device:te(R(),e)}),"serial-open":async({handle:e,options:t})=>(await se(R(),e,t),{done:!0}),"serial-close":async({handle:e})=>(await me(R(),e),{done:!0}),"serial-read":async({handle:e,maxBytes:t,until:n,timeoutMs:r})=>{let i=await ie(R(),e,{maxBytes:t,until:n?new Uint8Array(n):void 0,timeoutMs:r});return{bytes:i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)}},"serial-write":async({handle:e,bytes:t})=>({bytesWritten:await he(R(),e,new Uint8Array(t))}),"serial-get-signals":async({handle:e})=>({signals:await ne(R(),e)}),"serial-set-signals":async({handle:e,signals:t})=>(await p(R(),e,t),{done:!0})}}function Me(t){return{"esptool-chip-info":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolChipInfo(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-read-mac":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolReadMac(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-erase-flash":async({handle:n,baudRate:r})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolEraseFlash(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-flash":async({handle:n,baudRate:r,eraseAll:i,segments:a})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolFlash(R(),n,r,i,a.map(e=>({address:e.address,data:new Uint8Array(e.bytes)})),e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-read-flash":async({handle:n,baudRate:r,address:i,size:a})=>{let o=await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolReadFlash(R(),n,r,i,a,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e}));return{bytes:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}},"esptool-read-reg":async({handle:n,baudRate:r,address:i})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolReadReg(R(),n,r,i,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-flash-id":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolFlashId(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-erase-region":async({handle:n,baudRate:r,address:i,size:a})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolEraseRegion(R(),n,r,i,a,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-run":async({handle:n,baudRate:r})=>(await(await e(()=>import(`./esptool-operations-CTZQdeQU.js`),__vite__mapDeps([18,1,2,19]))).esptoolRun(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0})}}function M(){return ge()}var N=null,P;function Ne(t){P=t,!N&&t&&e(()=>import(`./usb-claim-broker-Dacw2Z3M.js`).then(e=>{N||=e.addClaimListener(M(),e=>{P?.(`usb-claim-event`,e)})}),__vite__mapDeps([20,21,1]))}function F(){let e=_e();if(!e)throw Error(`WebUSB is unavailable in this browser`);return e}function I(){return u()}function L(){let e=l();if(!e)throw Error(`WebHID is unavailable in this browser`);return e}function R(){return d()}function z(){let e=f();if(!e)throw Error(`Web Serial is unavailable in this browser`);return e}function Pe(t){return{"tray-reset":async()=>{if(!t.resetTray)throw Error(`host reset: no active tray session to reset`);return await t.resetTray()},"tray-webhook-rotate":async()=>{if(!t.rotateWebhook)throw Error(`webhook rotate: no active leader tray`);return await t.rotateWebhook()},"tray-webhook-revoke":async e=>{if(!t.revokeWebhook)throw Error(`webhook delete: no active leader tray`);return await t.revokeWebhook(e.webhookId),{ok:!0}},"tray-open-preview":async e=>{if(!t.mintPreview)throw Error(`serve: no active leader tray; cannot mint preview`);return await t.mintPreview(e)},"tray-revoke-preview":async e=>{if(!t.revokePreview)throw Error(`serve: no active leader tray; cannot revoke preview`);return await t.revokePreview(e)},"tray-list-previews":async()=>{if(!t.listPreviews)throw Error(`serve: no active leader tray; cannot list previews`);return await t.listPreviews()},"tray-mint-biscotto":async e=>{if(!t.mintBiscotto)throw Error(`biscotto: no active leader tray; cannot mint a seat`);return await t.mintBiscotto(e)},"tray-revoke-biscotto":async e=>{if(!t.revokeBiscotto)throw Error(`biscotto revoke: no active leader tray; cannot revoke a seat`);return await t.revokeBiscotto(e)},"tray-list-biscotti":async()=>{if(!t.listBiscotti)throw Error(`biscotti: no active leader tray; cannot list seats`);return await t.listBiscotti()},"tray-preview-logs":async({previewToken:e})=>{if(!t.getPreviewLifecycleRecords)throw Error(`serve --logs: no active leader tray; cannot read preview logs`);return t.getPreviewLifecycleRecords(e)},"tray-preview-truncate":async({previewToken:e})=>{if(!t.truncatePreviewLifecycleRecords)throw Error(`serve --truncate: no active leader tray; cannot truncate preview logs`);return t.truncatePreviewLifecycleRecords(e)},"tray-leave":async({workerBaseUrl:e,requestId:n})=>{if(!t.leaveTray)throw Error(`host leave: tray leave is not available in this environment`);return await t.leaveTray({workerBaseUrl:e,requestId:n})},"tray-join":async({joinUrl:e,requestId:n})=>{if(!t.joinTray)throw Error(`host join: tray join is not available in this environment`);return await t.joinTray({joinUrl:e,requestId:n})},"cherry-emit":async({runtimeId:e,name:n,detail:r})=>{if(!t.emitCherrySliccEvent)throw Error(`cherry-emit: not available in this environment`);return{delivered:t.emitCherrySliccEvent(e,n,r)}},"tray-exec":async e=>{if(!t.execOnRemote)throw Error(`ssh: no active leader tray in this environment`);return await t.execOnRemote(e)},"tray-exec-signal":({execToken:e})=>(t.signalRemoteExec?.({execToken:e}),{ok:!0}),"tray-computer-native":async e=>{if(!t.computerNative)throw Error(`computer native: no active leader tray in this environment`);return await t.computerNative(e)},"oauth-extras-set":({providerId:e,domains:t})=>(i(e,t),{storeAfter:a()}),"silent-renew":async({providerId:t})=>{let{getRegisteredProviderConfig:n}=await e(async()=>{let{getRegisteredProviderConfig:e}=await import(`./providers-CxC3IkmD.js`).then(e=>e.r);return{getRegisteredProviderConfig:e}},__vite__mapDeps([22,1,2])),r=n(t);return r?.onSilentRenew?{accessToken:await r.onSilentRenew()}:{accessToken:null}},"save-oauth-accounts":({accountsJson:e})=>(localStorage.setItem(`slicc_accounts`,e),{storedJson:localStorage.getItem(`slicc_accounts`)??e})}}async function Fe(e,t){if((typeof navigator<`u`?navigator.userActivation:void 0)?.isActive===!0)return B(window.open(e,`_blank`,`width=500,height=700,popup=yes`));let n=t?.()??null;if(n){let t=await Ie(n,e);return t===void 0?null:B(t)}return B(window.open(e,`_blank`,`width=500,height=700,popup=yes`))}function B(e){return new Promise(t=>{let n=!1,r=null,i=()=>{n||(n=!0,window.removeEventListener(`message`,a),clearTimeout(c),r&&clearInterval(r))},a=n=>{if(n.data?.type!==`oauth-callback`||n.origin!==window.location.origin||e&&n.source!==e)return;if(i(),n.data.error){console.error(`[panel-rpc:oauth-popup] OAuth error:`,n.data.error),t(null);return}let r=n.data.redirectUrl;(typeof r==`string`||r==null)&&t(r??null)};window.addEventListener(`message`,a),r=setInterval(async()=>{if(!n)try{let e=await fetch(o(`/api/oauth-result`),{headers:s()});if(e.status===204||!e.ok)return;let r=await e.json();if(n)return;if(i(),r.error){console.error(`[panel-rpc:oauth-popup] Server relay OAuth error:`,r.error),t(null);return}t(r.redirectUrl??null)}catch(e){console.warn(`[panel-rpc:oauth-popup] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let c=setTimeout(()=>{i();try{e?.close()}catch{}t(null)},12e4)})}async function Ie(e,t){let n=await e.prompt({kinds:[`popup`],description:`Continue to sign in. A new window will open to the provider.`,grantLabel:`Continue`,requestOptions:{popup:{url:t}}});if(n.status!==`granted`)return;let r=n.grants.find(e=>e.kind===`popup`);return r&&r.kind===`popup`?r.window:null}async function Le(t,n){let{captureDisplayMedia:r,sessionCaptureRequest:i}=await e(async()=>{let{captureDisplayMedia:e,sessionCaptureRequest:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{captureDisplayMedia:e,sessionCaptureRequest:t}},[]),{mimeType:a,quality:o,mode:s,durationMs:c,audio:l,session:u,handle:d,maxWidth:f}=n,p=await r(s===`session`?i({session:u,handle:d,mimeType:a,quality:o,durationMs:c,maxWidth:f}):s===`video`?{mode:`video`,mimeType:a,durationMs:c??5e3,audio:!!l}:{mode:`image`,mimeType:a,quality:o},Oe(t));return{bytes:p.bytes.buffer.slice(p.bytes.byteOffset,p.bytes.byteOffset+p.bytes.byteLength),width:p.width,height:p.height,mimeType:p.mimeType,nativeWidth:p.nativeWidth,nativeHeight:p.nativeHeight,...p.durationMs===void 0?{}:{durationMs:p.durationMs},...p.handle===void 0?{}:{handle:p.handle}}}function Re(t={}){let n=()=>t.getPermissionsSurface?.()??null;return{"page-info":()=>({origin:window.location.origin,href:window.location.href,title:document.title||``}),screencapture:e=>Le(n,e),"speak-text":async({text:t,lang:n,voice:r,rate:i,pitch:a,volume:o})=>{let{speak:s}=await e(async()=>{let{speak:e}=await import(`./speak-BezQaVuw.js`);return{speak:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return await s({text:t,lang:n,voice:r,rate:i,pitch:a,volume:o}),{done:!0}},"list-voices":async()=>{let{kokoroVoicesIfReady:t}=await e(async()=>{let{kokoroVoicesIfReady:e}=await import(`./speak-BezQaVuw.js`);return{kokoroVoicesIfReady:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43])),n=t().map(e=>({name:e.id,lang:e.lang,default:!1,onDevice:e.onDevice}));if(typeof speechSynthesis>`u`){if(n.length>0)return{voices:n};throw Error(`speechSynthesis is unavailable in this page`)}let r=speechSynthesis.getVoices();if(r.length>0)return{voices:[...n,...r.map(W)]};let i=await new Promise(e=>{let t=()=>{speechSynthesis.removeEventListener(`voiceschanged`,t),e(speechSynthesis.getVoices())};speechSynthesis.addEventListener(`voiceschanged`,t),setTimeout(()=>{speechSynthesis.removeEventListener(`voiceschanged`,t),e(speechSynthesis.getVoices())},1e3)});return{voices:[...n,...i.map(W)]}},"speak-status":async()=>{let{kokoroStatus:t}=await e(async()=>{let{kokoroStatus:e}=await import(`./speak-BezQaVuw.js`);return{kokoroStatus:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()},"speak-warmup":async()=>{let{kokoroWarmup:t}=await e(async()=>{let{kokoroWarmup:e}=await import(`./speak-BezQaVuw.js`);return{kokoroWarmup:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()},"synthesize-to-wav":async({text:t,lang:n,voice:r,rate:i})=>{let{synthesizeToWav:a}=await e(async()=>{let{synthesizeToWav:e}=await import(`./speak-BezQaVuw.js`);return{synthesizeToWav:e}},__vite__mapDeps([23,2,5,9,24,25,7,1,8,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43])),o=await a({text:t,...n===void 0?{}:{lang:n},...r===void 0?{}:{voice:r},...i===void 0?{}:{rate:i}});return{bytes:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}},"play-audio":async({bytes:e,volume:t})=>{if(typeof AudioContext>`u`)throw Error(`Web Audio API is unavailable in this page`);let n=new AudioContext;try{let r=await n.decodeAudioData(e.slice(0)),i=n.createBufferSource();if(i.buffer=r,t!==void 0){let e=n.createGain();e.gain.value=Math.max(0,Math.min(1,t)),i.connect(e),e.connect(n.destination)}else i.connect(n.destination);await new Promise(e=>{i.onended=()=>e(),i.start()})}finally{try{await n.close()}catch{}}return{done:!0}},"play-chime":async({tone:e})=>{let t={success:[880,1320],error:[440,220],notify:[660,660]},[n,r]=t[e??`notify`]??t.notify;if(typeof AudioContext>`u`)throw Error(`Web Audio API is unavailable in this page`);let i=new AudioContext;try{let e=i.currentTime;for(let[t,a]of[n,r].entries()){let n=i.createOscillator();n.type=`sine`,n.frequency.value=a;let r=i.createGain();r.gain.setValueAtTime(1e-4,e+t*.18),r.gain.exponentialRampToValueAtTime(.2,e+t*.18+.02),r.gain.exponentialRampToValueAtTime(1e-4,e+t*.18+.18),n.connect(r),r.connect(i.destination),n.start(e+t*.18),n.stop(e+t*.18+.2)}await new Promise(e=>setTimeout(e,450))}finally{try{await i.close()}catch{}}return{done:!0}}}}function ze(e={}){return{"clipboard-read-text":async()=>{if(!navigator.clipboard?.readText)throw Error(`clipboard API unavailable`);return{text:await navigator.clipboard.readText()}},"clipboard-write-text":async({text:e})=>{if(!navigator.clipboard?.writeText)throw Error(`clipboard API unavailable`);return await G(),await navigator.clipboard.writeText(e),{done:!0}},"clipboard-write-image":async({bytes:e,mimeType:t})=>{if(!navigator.clipboard?.write||typeof ClipboardItem>`u`)throw Error(`clipboard image API unavailable`);let n,r=new Blob([e],{type:t});return n=t===`image/png`?r:await Ge(r),await G(),await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),{done:!0}},"window-open":async({url:e,target:t,features:n})=>({opened:window.open(e,t??`_blank`,n??`noopener,noreferrer`)!==null}),"oauth-popup":async({url:t})=>{let n=await e.delegateOAuthLogin?.(t);return n?.delegated?{redirectUrl:n.redirectUrl,error:n.error}:{redirectUrl:await Fe(t,e.getPermissionsSurface)}},"oauth-route":async()=>({delegate:await e.shouldDelegateOAuth?.()===!0}),"capture-camera":async e=>await Ue(e),"enumerate-media-devices":async()=>{if(!navigator.mediaDevices?.enumerateDevices)throw Error(`enumerateDevices is not supported in this browser`);let e=await navigator.mediaDevices.enumerateDevices(),t=e=>({deviceId:e.deviceId,label:e.label||``,...e.groupId?{groupId:e.groupId}:{}});return{videoinputs:e.filter(e=>e.kind===`videoinput`).map(t),audioinputs:e.filter(e=>e.kind===`audioinput`).map(t)}}}}function Be(){return{"hear-capture":async t=>{let{hearCapture:n}=await e(async()=>{let{hearCapture:e}=await import(`./hear-CX6dGgpE.js`);return{hearCapture:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return await n(t??{})},"hear-transcribe":async({bytes:t,lang:n})=>{let{hearTranscribe:r}=await e(async()=>{let{hearTranscribe:e}=await import(`./hear-CX6dGgpE.js`);return{hearTranscribe:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return await r(t,n)},"hear-status":async()=>{let{hearStatus:t}=await e(async()=>{let{hearStatus:e}=await import(`./hear-CX6dGgpE.js`);return{hearStatus:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()},"hear-warmup":async()=>{let{hearWarmup:t}=await e(async()=>{let{hearWarmup:e}=await import(`./hear-CX6dGgpE.js`);return{hearWarmup:e}},__vite__mapDeps([44,5,45,46,2,25,7,1,8,9,26,27,28,29,30,0,3,4,6,10,11,12,13,22,31,32,33,34,35,36,37,15,38,39,40,41,42,43]));return t()}}}var V=null,H;function Ve(t){H=t,!V&&t&&e(()=>import(`./screencapture-media-BxRLHqjA.js`).then(e=>{V||=e.displaySessions.onEnded(t=>{H?.(e.SCREENCAPTURE_SESSION_ENDED_CHANNEL,{handle:t})})}),[])}var He=1500;async function Ue(e){if(!navigator.mediaDevices?.getUserMedia)throw Error(`getUserMedia is not supported in this browser`);let t=e.mode===`photo`||e.captureVideo!==!1,n=!!e.captureAudio&&e.mode===`video`;if(!t&&!n)throw Error(`camera capture: at least one of video or audio must be requested`);let r=await We({wantVideo:t,videoDeviceId:t?await U(e.deviceId,`videoinput`):void 0,audioDeviceId:n?await U(e.audioDeviceId,`audioinput`):void 0,wantAudio:n,width:e.width,height:e.height,frameRate:e.frameRate,exact:!!e.exactSize});try{let n=null,i=0,a=0;if(t){n=document.createElement(`video`),n.srcObject=r,n.muted=!0,n.playsInline=!0;let e=n;await new Promise((t,n)=>{e.onloadedmetadata=()=>e.play().then(()=>t()).catch(n),e.onerror=()=>n(Error(`Failed to load camera stream`))}),await new Promise(e=>requestAnimationFrame(()=>e())),await new Promise(e=>requestAnimationFrame(()=>e())),i=e.videoWidth,a=e.videoHeight}if(e.mode===`photo`){if(!n)throw Error(`photo capture requires a video track`);let t=e.warmupMs??He;t>0&&await new Promise(e=>setTimeout(e,t));let r=document.createElement(`canvas`);r.width=i,r.height=a;let o=r.getContext(`2d`);if(!o)throw Error(`Failed to get canvas context`);o.drawImage(n,0,0,i,a);let s=await new Promise((t,n)=>{r.toBlob(e=>e?t(e):n(Error(`Failed to encode photo`)),e.mimeType,e.quality)});return{bytes:await s.arrayBuffer(),mimeType:s.type||e.mimeType,width:i,height:a}}let o=Math.max(100,Math.min(e.durationMs??5e3,6e4)),s=typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported(e.mimeType)?e.mimeType:`video/webm`,c=new MediaRecorder(r,{mimeType:s}),l=[];c.ondataavailable=e=>{e.data&&e.data.size>0&&l.push(e.data)};let u=new Promise(e=>{c.onstop=()=>e()});c.start(),await new Promise(e=>setTimeout(e,o)),c.stop(),await u;let d=new Blob(l,{type:s});return{bytes:await d.arrayBuffer(),mimeType:d.type||s,width:i,height:a,durationMs:o}}finally{r.getTracks().forEach(e=>{e.stop()})}}async function U(e,t){if(e===void 0||e===``)return;if(!/^\d+$/.test(e))return e;if(!navigator.mediaDevices?.enumerateDevices)return;let n=parseInt(e,10);return(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===t)[n]?.deviceId}async function We(e){let t=t=>{if(!e.wantVideo)return!1;let n={};return e.videoDeviceId&&(n.deviceId={exact:e.videoDeviceId}),e.width&&(n.width=t===`exact`?{exact:e.width}:{ideal:e.width}),e.height&&(n.height=t===`exact`?{exact:e.height}:{ideal:e.height}),e.frameRate&&(n.frameRate=t===`exact`?{exact:e.frameRate}:{ideal:e.frameRate}),Object.keys(n).length>0?n:!0},n=()=>e.wantAudio?!e.audioDeviceId||{deviceId:{exact:e.audioDeviceId}}:!1;try{return await navigator.mediaDevices.getUserMedia({video:t(e.exact?`exact`:`ideal`),audio:n()})}catch(r){let i=r?.name;if(!e.exact||i!==`OverconstrainedError`&&i!==`NotReadableError`)throw r;return console.warn(`panel-rpc:capture-camera: exact ${e.width??`?`}x${e.height??`?`}@${e.frameRate??`?`} unmet, falling back to ideal`),await navigator.mediaDevices.getUserMedia({video:t(`ideal`),audio:n()})}}function W(e){return{name:e.name,lang:e.lang,default:e.default,onDevice:!1}}async function Ge(e){let t=URL.createObjectURL(e);try{let e=new Image;await new Promise((n,r)=>{e.onload=()=>n(),e.onerror=()=>r(Error(`Failed to load image for clipboard conversion`)),e.src=t});let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`);if(!r)throw Error(`Failed to get canvas context`);return r.drawImage(e,0,0),await new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`PNG re-encode failed`)),`image/png`)})}finally{URL.revokeObjectURL(t)}}async function G(e=3e5){typeof document<`u`&&typeof document.hasFocus==`function`&&(document.hasFocus()||await new Promise((t,n)=>{let r=()=>{window.removeEventListener(`focus`,i),document.removeEventListener(`visibilitychange`,a),clearTimeout(o)},i=()=>{document.hasFocus()&&(r(),t())},a=()=>{document.visibilityState===`visible`&&document.hasFocus()&&(r(),t())},o=setTimeout(()=>{r(),n(Error(`timed out waiting for window focus`))},e);window.addEventListener(`focus`,i),document.addEventListener(`visibilitychange`,a)}))}function Ke(e){let t=new Map,n=()=>{if(!e.sliccSidecar)throw Error(`slicc: sidecar attachments are not available in this environment`);return e.sliccSidecar},r=async(e,r)=>{let i=n(),a=new AbortController;t.set(e,a);try{return await r(i,a.signal)}finally{t.delete(e)}};return{"slicc-attach":async({joinUrl:e,name:t,connectTimeoutMs:r})=>await n().attach({joinUrl:e,name:t,connectTimeoutMs:r}),"slicc-detach":({name:e})=>({detached:n().detach(e)}),"slicc-list":()=>({attachments:n().list()}),"slicc-prompt":async({name:e,text:t,runToken:n,steer:i,timeoutMs:a})=>await r(n,async(n,r)=>await n.prompt(e,t,{steer:i,timeoutMs:a,signal:r})),"slicc-exec":async({name:e,command:t,runToken:n,cwd:i,env:a,timeoutMs:o,stdin:s})=>await r(n,async(n,r)=>await n.exec(e,t,{cwd:i,env:a,timeoutMs:o,stdin:s,signal:r})),"slicc-watch":async({name:e,runToken:t,durationMs:n,scoopJid:i,untilIdle:a})=>await r(t,async(t,r)=>await t.watch(e,{durationMs:n,scoopJid:i,untilIdle:a,signal:r})),"slicc-cancel":({runToken:e})=>(t.get(e)?.abort(),{ok:!0})}}function qe(e){return{"list-remote-targets":async()=>e.listRemoteTargets?{targets:(await e.listRemoteTargets()).filter(e=>e.targetId.includes(`:`)).map(e=>({targetId:e.targetId,title:e.title,url:e.url}))}:{targets:[]},"remote-cdp-send":async({runtimeId:t,localTargetId:n,method:r,params:i,sessionId:a,timeout:o})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.send({runtimeId:t,localTargetId:n,method:r,params:i,sessionId:a,timeout:o})},"remote-cdp-subscribe":async({runtimeId:t,localTargetId:n,event:r})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.subscribe({runtimeId:t,localTargetId:n,event:r})},"remote-cdp-unsubscribe":async({runtimeId:t,localTargetId:n,event:r})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.unsubscribe({runtimeId:t,localTargetId:n,event:r})},"remote-cdp-detach":async({runtimeId:t,localTargetId:n})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.detach({runtimeId:t,localTargetId:n})},"remote-open-tab":async({runtimeId:t,url:n})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.openTab({runtimeId:t,url:n})}}}function Je(e,t){return t===void 0?e.length>0&&e.every(e=>e===`camera`||e===`microphone`):t}function Ye(t){return{"permission-request":async n=>{let r=t.getPermissionsSurface?.()??null;if(!r)throw Error(`permission-request: permission surface unavailable`);let i=await r.prompt({kinds:n.kinds,description:n.description,heading:n.heading,grantLabel:n.grantLabel,cancelLabel:n.cancelLabel,skipIfGranted:Je(n.kinds,n.skipIfGranted)});if(i.status!==`granted`){let e=i.message?`: ${i.message}`:``;throw Error(`permission-request: ${i.reason??i.status}${e}`)}let a=[];for(let t of i.grants)switch(t.kind){case`usb`:{let e=M().register(t.device);a.push({kind:`usb`,handle:e});break}case`hid`:{let e=I().register(t.device);a.push({kind:`hid`,handle:e});break}case`serial`:{let e=R().register(t.port);a.push({kind:`serial`,handle:e});break}case`filesystem`:{let{storePendingHandle:n}=await e(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-LB-YHulU.js`);return{storePendingHandle:e}},__vite__mapDeps([47,5,48,9])),r=`pendingMount:rpc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;await n(r,t.handle),a.push({kind:`filesystem`,idbKey:r,dirName:t.handle.name});break}case`camera`:case`microphone`:case`screenshare`:for(let e of t.stream.getTracks())e.stop();a.push({kind:t.kind,ok:!0})}return{grants:a}}}}var K=3e5,Xe=class{pending=null;waiter=null;stream=new ReadableStream({pull:async e=>{for(;!this.pending;)await new Promise(e=>{this.waiter=e});let{chunk:t,taken:n}=this.pending;this.pending=null,t?e.enqueue(t):e.close(),n()}},{highWaterMark:0});write(e){return new Promise(t=>{this.pending={chunk:e,taken:t};let n=this.waiter;this.waiter=null,n?.()})}},q=new Map;function J(e){return e instanceof c?{ok:!1,code:e.code,status:e.status,error:e.message}:{ok:!1,code:`bridge`,status:502,error:e instanceof Error?e.message:String(e)}}var Y=()=>({ok:!1,code:`bridge`,status:502,error:`raw fetch: unknown or finished session`});function X(e){let t=q.get(e);t&&(q.delete(e),clearTimeout(t.idle),t.abort.abort(),t.reader?.cancel().catch(()=>void 0))}function Z(e){let t=q.get(e);if(t)return clearTimeout(t.idle),t.idle=setTimeout(()=>X(e),K),t}function Ze(e){return e.response.then(()=>new Promise(()=>{}))}function Qe(){return{"raw-fetch-probe":async t=>{let{getRawFetchCapabilities:n}=await e(async()=>{let{getRawFetchCapabilities:e}=await import(`./proxied-fetch-raw-D0PvYvWp.js`);return{getRawFetchCapabilities:e}},__vite__mapDeps([49,2,7,1,8,9,50,51]));return n()},"raw-fetch-open":async({url:t,method:n,headers:r,hasBody:i,bodyLength:a})=>{let[{extensionPortConnector:o},{rawFetchViaPort:s}]=await Promise.all([e(()=>import(`./proxied-fetch-raw-D0PvYvWp.js`),__vite__mapDeps([49,2,7,1,8,9,50,51])),e(()=>import(`./proxied-fetch-raw-port-DoVmv2Tj.js`),__vite__mapDeps([51,8,50,9]))]),c=o();if(!c)throw Error(`raw fetch: no extension Port in this realm`);let l=crypto.randomUUID(),u=i?new Xe:null,d=new AbortController,f=s(c,t,{method:n,headers:r,body:u?.stream,bodyLength:a,signal:d.signal});return f.catch(()=>void 0),q.set(l,{upload:u,response:f,reader:null,abort:d,idle:setTimeout(()=>X(l),K)}),{id:l}},"raw-fetch-write":async({id:e,chunk:t})=>{let n=Z(e);if(!n?.upload)return Y();try{return await Promise.race([n.upload.write(t),Ze(n)]),{ok:!0}}catch(t){return X(e),J(t)}},"raw-fetch-head":async({id:e})=>{let t=Z(e);if(!t)return Y();try{let{body:n,...r}=await t.response;return t.reader=n?.getReader()??null,n||X(e),{ok:!0,head:r,hasBody:n!==null}}catch(t){return X(e),J(t)}},"raw-fetch-read":async({id:e})=>{let t=Z(e);if(!t?.reader)return Y();try{let{done:n,value:r}=await t.reader.read();return n&&X(e),{ok:!0,chunk:n?null:r}}catch(t){return X(e),J(t)}},"raw-fetch-cancel":async({id:e})=>(X(e),{ok:!0})}}function $e(e){let t=r().find(t=>t.id===e);return t?t.id:null}function Q(){return{"feature-flag-set":({id:e,value:r})=>{let i=$e(e);if(!i)throw Error(`unknown flag ${e}`);if(n(i,r),t()[i]!==r)throw Error(`flag ${e} cannot be overridden on this float`);return{overridesJson:localStorage.getItem(`slicc_feature_flags`)??`{}`}}}}function et(){return{"profile-export":async({dryRun:t})=>{let{runProfileExportHeadless:n}=await e(async()=>{let{runProfileExportHeadless:e}=await import(`./wc-profile-export-Dc5S7An7.js`);return{runProfileExportHeadless:e}},__vite__mapDeps([52,2,53,1,0,3,4,5,6,7,8,9,10,11,12,13,27,54,45,26,28,29,30,22,31,32,33,34,35,36,37,15,38,39,40,41,42,55,56,57,21,58,43,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84]));return n({dryRun:t})}}}function tt(){return{"theme-apply":async({themeJson:t,action:n})=>{let{importTheme:r,saveCustomTheme:i,setActiveTheme:a,clearActiveTheme:o,applyThemeOverrides:s}=await e(async()=>{let{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}=await import(`./theme-engine-CSJOgrjN.js`).then(e=>e._);return{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}},__vite__mapDeps([60,1,5]));if(n===`reset`)return o(),s(),{applied:null};if(t){let e=r(t);return i(e),a(e.id),s(),{applied:e.id}}return{applied:null}}}}function nt(){return{"layout-apply":async t=>{let{getLayoutApplier:n}=await e(async()=>{let{getLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{getLayoutApplier:e}},[]),r=n();return r?await r(t)??{applied:!0}:{applied:!1,error:`no layout is mounted`}}}}function $(){let e=globalThis;if(!e.__slicc_browser)throw Error(`no browser API on this page`);return e.__slicc_browser}function rt(){return{"computer-tab-screenshot":async t=>{let{screenshotTab:n}=await e(async()=>{let{screenshotTab:e}=await import(`./tab-D9i-XOmT.js`);return{screenshotTab:e}},__vite__mapDeps([85,86,29,87]));return n($(),t.targetId,{maxWidth:t.maxWidth,format:t.format})},"computer-tab-input":async t=>{let{inputTab:n}=await e(async()=>{let{inputTab:e}=await import(`./tab-D9i-XOmT.js`);return{inputTab:e}},__vite__mapDeps([85,86,29,87]));return await n($(),t.targetId,t.events),{ok:!0}}}}function it(e={}){let t=new Map;return Ve(e.emitEvent),{...Re(e),...ze(e),...Be(),...Pe(e),...Ke(e),...ke(e),...Ae(e,t),...je(e),...Me(e),...qe(e),...Ye(e),...k(),...Qe(),...D(),...O(),...T(),...E(),...tt(),...et(),...nt(),...Q(),...rt()}}export{it as createStandalonePanelRpcHandlers};
@@ -1,3 +1,3 @@
1
- import{v as e}from"./renamed-providers-CKF5I4-o.js";import{F as t,H as n,J as r,K as i,M as a,U as o,V as s,W as c,Y as l,q as u}from"./wc-shell-BbGmkwhl.js";import{r as d}from"./icons-D1QuzCd5.js";import{t as f}from"./sudoers-NZQeUOXa.js";import{setLayoutApplier as p}from"./layout-apply-registry-Cw730jao.js";var m=e(`add-panel-menu`),h=`slicc-add-panel-menu-style`,g=[`.slicc-addpanel{position:relative;}`,`.slicc-addpanel__btn{width:26px;height:26px;display:grid;place-items:center;`,`border:1px solid var(--line);border-radius:7px;background:var(--canvas);`,`color:var(--txt-2);cursor:pointer;padding:0;font-size:15px;line-height:1;}`,`.slicc-addpanel__btn:hover{background:var(--ghost);color:var(--ink);}`,`.slicc-addpanel__menu{position:absolute;top:32px;right:0;min-width:230px;`,`max-height:70vh;overflow:auto;background:var(--canvas);border:1px solid var(--line);`,`border-radius:10px;box-shadow:var(--shadow-pane);padding:6px;display:none;`,`font-family:var(--ui);font-size:12.5px;}`,`.slicc-addpanel__menu[open]{display:block;}`,`.slicc-addpanel__group{padding:6px 8px 2px;color:var(--txt-3);font-size:10.5px;`,`text-transform:uppercase;letter-spacing:.04em;}`,`.slicc-addpanel__item{width:100%;display:flex;align-items:center;gap:8px;`,`padding:6px 8px;border:none;background:none;border-radius:6px;cursor:pointer;`,`color:var(--ink);text-align:left;font:inherit;}`,`.slicc-addpanel__item:hover{background:var(--ghost);}`,`.slicc-addpanel__check{width:12px;flex:0 0 12px;color:var(--accent);}`,`.slicc-addpanel__sep{height:1px;background:var(--line);margin:5px 4px;}`,`.slicc-addpanel__item{position:relative;}`,`.slicc-addpanel__del{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;`,`width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;`,`color:var(--ink);opacity:0;cursor:pointer;}`,`.slicc-addpanel__item:hover .slicc-addpanel__del{opacity:0.65;}`,`.slicc-addpanel__del:hover{opacity:1;background:var(--ghost);}`,`.slicc-addpanel__del:focus-visible{opacity:1;}`].join(``),_=typeof globalThis.prompt==`function`?globalThis.prompt.bind(globalThis):void 0;function v(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``).slice(0,64);return t.length>0?t:null}function y(e){if(e.getElementById(h))return;let t=e.createElement(`style`);t.id=h,t.textContent=g,(e.head??e.documentElement).appendChild(t)}function b(e){y(document);let t=document.createElement(`div`);t.className=`slicc-addpanel`;let n=document.createElement(`button`);n.type=`button`,n.className=`slicc-addpanel__btn`,n.title=`Panels and layouts`,n.setAttribute(`aria-label`,`Panels and layouts`);let r=new DOMParser().parseFromString(d(`layout-dashboard`,{size:14}),`image/svg+xml`).documentElement;n.appendChild(r);let a=document.createElement(`div`);a.className=`slicc-addpanel__menu`,a.setAttribute(`role`,`menu`);let o=(e,t,n)=>{let r=document.createElement(`button`);r.type=`button`,r.className=`slicc-addpanel__item`,r.setAttribute(`role`,`menuitem`);let i=document.createElement(`span`);i.className=`slicc-addpanel__check`,i.textContent=t?`✓`:``;let a=document.createElement(`span`);return a.textContent=e,r.append(i,a),r.addEventListener(`click`,()=>{n(),p()}),r},s=t=>{let n=o(t,!1,()=>e.onLoadLayout(t)),r=document.createElement(`button`);return r.type=`button`,r.className=`slicc-addpanel__del`,r.title=`Delete "${t}"`,r.setAttribute(`aria-label`,`Delete layout ${t}`),r.appendChild(new DOMParser().parseFromString(d(`trash-2`,{size:11}),`image/svg+xml`).documentElement),r.addEventListener(`click`,n=>{n.stopPropagation(),e.onDeleteLayout(t),p()}),n.appendChild(r),n};function c(){let t=e.promptForName??_;if(!t){m.warn(`cannot save a layout: no prompt available`);return}let n=t(`Save this layout as:`,e.layout.getLayout().id);if(n===null)return;let r=v(n);if(!r){m.warn(`layout not saved: the name reduced to nothing`,{raw:n});return}e.onSaveLayout(r)}let l=e=>{let t=document.createElement(`div`);return t.className=`slicc-addpanel__group`,t.textContent=e,t};async function f(){let t=new Set(e.layout.getPlacedPanelIds()),n=[],r={},u=i();for(let e of u)(r[e.origin]??=[]).push(e);for(let[i,a]of[[`builtin`,`Panels`],[`sprinkle`,`Sprinkles`],[`agent`,`Made by SLICC`]]){let s=r[i];if(s?.length){n.push(l(a));for(let r of s){let i=t.has(r.meta.id);n.push(o(r.meta.title,i,()=>e.onToggle(r.meta.id,!i)))}}}try{let{saved:t,presets:r}=await e.listLayoutNames(),i=document.createElement(`div`);i.className=`slicc-addpanel__sep`,n.push(i,l(`Layouts`));for(let e of t)n.push(s(e));for(let t of r)n.push(o(t,!1,()=>e.onLoadLayout(t)));n.push(o(`Save layout as…`,!1,c))}catch(e){m.warn(`could not list layouts for the menu`,{error:e})}a.replaceChildren(...n)}function p(){a.removeAttribute(`open`),document.removeEventListener(`pointerdown`,h,!0)}let h=e=>{t.contains(e.target)||p()};return n.addEventListener(`click`,()=>{if(a.hasAttribute(`open`)){p();return}f().then(()=>{a.setAttribute(`open`,``),document.addEventListener(`pointerdown`,h,!0)})}),u.addEventListener(`panel-registry-change`,()=>{a.hasAttribute(`open`)&&f()}),t.append(n,a),t}var x={chat:`chat`,sessionsRail:`sessions-rail`,dockRail:`dock-rail`,scoopSwitcher:`scoop-switcher`,floatbar:`floatbar`,files:`files`,term:`term`,memory:`memory`,monitor:`monitor`,browser:`browser`},S={[x.chat]:{id:x.chat,title:`Chat`,icon:`message-circle`,minWidth:320,preferredSize:3},[x.sessionsRail]:{id:x.sessionsRail,title:`Sessions`,icon:`history`,preferredSize:`44px`},[x.dockRail]:{id:x.dockRail,title:`Dock`,icon:`layout-grid`,preferredSize:`48px`},[x.scoopSwitcher]:{id:x.scoopSwitcher,title:`Scoops`,icon:`users`},[x.floatbar]:{id:x.floatbar,title:`Runtime`,icon:`activity`},[x.files]:{id:x.files,title:`Files`,icon:`folder`,minWidth:220},[x.term]:{id:x.term,title:`Terminal`,icon:`square-terminal`},[x.memory]:{id:x.memory,title:`Memory`,icon:`brain`},[x.monitor]:{id:x.monitor,title:`Monitor`,icon:`activity`},[x.browser]:{id:x.browser,title:`Browser`,icon:`globe`}};function C(e,t){let n=document.createElement(`slicc-panel`);n.setAttribute(`panel-id`,e);let r=S[e];return r?.title&&n.setAttribute(`aria-label`,r.title),n.appendChild(t),n}function w(){for(let e of Object.values(S))r({meta:e,source:{kind:`element`,tag:`slicc-panel`},origin:`builtin`})}function T(e){if(!e?.startsWith(`sprinkle:`))return null;let t=e.slice(9);return t.length>0?t:null}function E(){return{when:{maxWidth:700},docks:[],zones:{center:[x.chat]},floating:[]}}function ee(){return[{edge:`top`,size:`36px`,panels:[x.scoopSwitcher,x.floatbar],locked:!0},{edge:`left`,size:`44px`,panels:[x.sessionsRail],locked:!0},{edge:`right`,size:`48px`,panels:[x.dockRail],locked:!0}]}var D={version:1,id:`default`,title:`Default`,base:{docks:ee(),zones:{center:[x.chat]}},variants:[E()]},O={default:D};function te(e){return O[e]??null}function k(){return Object.keys(O)}var A=e(`layout-store`),j=`/workspace/layouts`,M=[j,f];function N(e,t){return`${t?.protected?f:j}/${e}.json`}async function P(e,t){try{if(!await e.exists(t))return null;let r=await e.readFile(t),i=n(JSON.parse(typeof r==`string`?r:String(r)));return`error`in i?(A.warn(`invalid layout document — ignoring`,{path:t,error:i.error}),null):i}catch(e){return A.warn(`failed to read layout`,{path:t,error:e instanceof Error?e.message:e}),null}}async function ne(e,t,n){let r=n?.name??t.id,i=n?.protected?f:j,a=`${i}/${r}.json`;return await e.exists(i)||await e.mkdir(i,{recursive:!0}),await e.writeFile(a,`${JSON.stringify(t,null,2)}\n`),A.info(`layout saved`,{path:a}),a}async function F(e,t,n){let r=N(t,n);return await e.exists(r)?(await e.rm(r),!0):!1}async function I(e){let t=[],n=new Set;for(let r of M){let i;try{if(!await e.exists(r))continue;i=(await e.readDir(r)).filter(e=>e.type===`file`).map(e=>e.name)}catch(e){A.warn(`failed to list layout dir`,{dir:r,error:e});continue}for(let a of i){if(!a.endsWith(`.json`))continue;let i=a.slice(0,-5);if(n.has(i))continue;let o=`${r}/${a}`,s=await P(e,o);s&&(n.add(i),t.push({name:i,path:o,doc:s,protected:r===f}))}}return t}async function L(e,t){for(let n of M){let r=`${n}/${t}.json`,i=await P(e,r);if(i)return{name:t,path:r,doc:i,protected:n===f}}return null}function R(e,n,r){let i=e.getLayout(),a=t(i,e.environment());if(r){let e=a.zones??c(a.center??null);o(e,n)?a.zones||(a.zones=e,a.center=null):(a.zones=s(e,n,`right`),a.center=null)}i.panels={...i.panels,[n]:{...i.panels?.[n],visible:r}},e.setLayout(i)}var z=e(`apply-layout-doc`);function B(e){return{applied:!1,error:`layout ${e} needs a filesystem (unavailable here)`}}function V(e){return[`load`,`save`,`delete`,`docs`,`panels`,`show`,`hide`].includes(e.kind)}async function H(e,t){let n=e.fs?await L(e.fs,t):null;if(n)return e.layout.setLayout(n.doc),{applied:!0,output:`loaded layout "${t}" from ${n.path}`};let r=te(t);return r?(e.layout.setLayout(r),{applied:!0,output:`loaded preset "${t}"`}):{applied:!1,error:`unknown layout "${t}" — try: ${k().join(`, `)}`}}async function U(e,t,n){if(!e.fs)return B(`save`);let r={...e.layout.getLayout(),id:t};try{return{applied:!0,output:`saved layout to ${await ne(e.fs,r,{name:t,protected:n})}`}}catch(e){let r=e instanceof Error?e.message:String(e);return z.warn(`layout save failed`,{name:t,protected:n,error:r}),{applied:!1,error:`could not save "${t}": ${r}`}}}async function W(e){let t=e.fs?await I(e.fs):[],n=[];if(t.length>0){n.push(`saved layouts:`);for(let e of t)n.push(` ${e.name}${e.protected?` (protected)`:``} ${e.path}`)}n.push(`presets: ${k().join(`, `)}`);let r=e.layout.getLayout();return n.push(`current: ${r.id}`),{applied:!0,output:n.join(`
1
+ import{v as e}from"./renamed-providers-CKF5I4-o.js";import{F as t,H as n,J as r,K as i,M as a,U as o,V as s,W as c,Y as l,q as u}from"./wc-shell-D2vt5Gl0.js";import{r as d}from"./icons-D1QuzCd5.js";import{t as f}from"./sudoers-NZQeUOXa.js";import{setLayoutApplier as p}from"./layout-apply-registry-Cw730jao.js";var m=e(`add-panel-menu`),h=`slicc-add-panel-menu-style`,g=[`.slicc-addpanel{position:relative;}`,`.slicc-addpanel__btn{width:26px;height:26px;display:grid;place-items:center;`,`border:1px solid var(--line);border-radius:7px;background:var(--canvas);`,`color:var(--txt-2);cursor:pointer;padding:0;font-size:15px;line-height:1;}`,`.slicc-addpanel__btn:hover{background:var(--ghost);color:var(--ink);}`,`.slicc-addpanel__menu{position:absolute;top:32px;right:0;min-width:230px;`,`max-height:70vh;overflow:auto;background:var(--canvas);border:1px solid var(--line);`,`border-radius:10px;box-shadow:var(--shadow-pane);padding:6px;display:none;`,`font-family:var(--ui);font-size:12.5px;}`,`.slicc-addpanel__menu[open]{display:block;}`,`.slicc-addpanel__group{padding:6px 8px 2px;color:var(--txt-3);font-size:10.5px;`,`text-transform:uppercase;letter-spacing:.04em;}`,`.slicc-addpanel__item{width:100%;display:flex;align-items:center;gap:8px;`,`padding:6px 8px;border:none;background:none;border-radius:6px;cursor:pointer;`,`color:var(--ink);text-align:left;font:inherit;}`,`.slicc-addpanel__item:hover{background:var(--ghost);}`,`.slicc-addpanel__check{width:12px;flex:0 0 12px;color:var(--accent);}`,`.slicc-addpanel__sep{height:1px;background:var(--line);margin:5px 4px;}`,`.slicc-addpanel__item{position:relative;}`,`.slicc-addpanel__del{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;`,`width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;`,`color:var(--ink);opacity:0;cursor:pointer;}`,`.slicc-addpanel__item:hover .slicc-addpanel__del{opacity:0.65;}`,`.slicc-addpanel__del:hover{opacity:1;background:var(--ghost);}`,`.slicc-addpanel__del:focus-visible{opacity:1;}`].join(``),_=typeof globalThis.prompt==`function`?globalThis.prompt.bind(globalThis):void 0;function v(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``).slice(0,64);return t.length>0?t:null}function y(e){if(e.getElementById(h))return;let t=e.createElement(`style`);t.id=h,t.textContent=g,(e.head??e.documentElement).appendChild(t)}function b(e){y(document);let t=document.createElement(`div`);t.className=`slicc-addpanel`;let n=document.createElement(`button`);n.type=`button`,n.className=`slicc-addpanel__btn`,n.title=`Panels and layouts`,n.setAttribute(`aria-label`,`Panels and layouts`);let r=new DOMParser().parseFromString(d(`layout-dashboard`,{size:14}),`image/svg+xml`).documentElement;n.appendChild(r);let a=document.createElement(`div`);a.className=`slicc-addpanel__menu`,a.setAttribute(`role`,`menu`);let o=(e,t,n)=>{let r=document.createElement(`button`);r.type=`button`,r.className=`slicc-addpanel__item`,r.setAttribute(`role`,`menuitem`);let i=document.createElement(`span`);i.className=`slicc-addpanel__check`,i.textContent=t?`✓`:``;let a=document.createElement(`span`);return a.textContent=e,r.append(i,a),r.addEventListener(`click`,()=>{n(),p()}),r},s=t=>{let n=o(t,!1,()=>e.onLoadLayout(t)),r=document.createElement(`button`);return r.type=`button`,r.className=`slicc-addpanel__del`,r.title=`Delete "${t}"`,r.setAttribute(`aria-label`,`Delete layout ${t}`),r.appendChild(new DOMParser().parseFromString(d(`trash-2`,{size:11}),`image/svg+xml`).documentElement),r.addEventListener(`click`,n=>{n.stopPropagation(),e.onDeleteLayout(t),p()}),n.appendChild(r),n};function c(){let t=e.promptForName??_;if(!t){m.warn(`cannot save a layout: no prompt available`);return}let n=t(`Save this layout as:`,e.layout.getLayout().id);if(n===null)return;let r=v(n);if(!r){m.warn(`layout not saved: the name reduced to nothing`,{raw:n});return}e.onSaveLayout(r)}let l=e=>{let t=document.createElement(`div`);return t.className=`slicc-addpanel__group`,t.textContent=e,t};async function f(){let t=new Set(e.layout.getPlacedPanelIds()),n=[],r={},u=i();for(let e of u)(r[e.origin]??=[]).push(e);for(let[i,a]of[[`builtin`,`Panels`],[`sprinkle`,`Sprinkles`],[`agent`,`Made by SLICC`]]){let s=r[i];if(s?.length){n.push(l(a));for(let r of s){let i=t.has(r.meta.id);n.push(o(r.meta.title,i,()=>e.onToggle(r.meta.id,!i)))}}}try{let{saved:t,presets:r}=await e.listLayoutNames(),i=document.createElement(`div`);i.className=`slicc-addpanel__sep`,n.push(i,l(`Layouts`));for(let e of t)n.push(s(e));for(let t of r)n.push(o(t,!1,()=>e.onLoadLayout(t)));n.push(o(`Save layout as…`,!1,c))}catch(e){m.warn(`could not list layouts for the menu`,{error:e})}a.replaceChildren(...n)}function p(){a.removeAttribute(`open`),document.removeEventListener(`pointerdown`,h,!0)}let h=e=>{t.contains(e.target)||p()};return n.addEventListener(`click`,()=>{if(a.hasAttribute(`open`)){p();return}f().then(()=>{a.setAttribute(`open`,``),document.addEventListener(`pointerdown`,h,!0)})}),u.addEventListener(`panel-registry-change`,()=>{a.hasAttribute(`open`)&&f()}),t.append(n,a),t}var x={chat:`chat`,sessionsRail:`sessions-rail`,dockRail:`dock-rail`,scoopSwitcher:`scoop-switcher`,floatbar:`floatbar`,files:`files`,term:`term`,memory:`memory`,monitor:`monitor`,browser:`browser`},S={[x.chat]:{id:x.chat,title:`Chat`,icon:`message-circle`,minWidth:320,preferredSize:3},[x.sessionsRail]:{id:x.sessionsRail,title:`Sessions`,icon:`history`,preferredSize:`44px`},[x.dockRail]:{id:x.dockRail,title:`Dock`,icon:`layout-grid`,preferredSize:`48px`},[x.scoopSwitcher]:{id:x.scoopSwitcher,title:`Scoops`,icon:`users`},[x.floatbar]:{id:x.floatbar,title:`Runtime`,icon:`activity`},[x.files]:{id:x.files,title:`Files`,icon:`folder`,minWidth:220},[x.term]:{id:x.term,title:`Terminal`,icon:`square-terminal`},[x.memory]:{id:x.memory,title:`Memory`,icon:`brain`},[x.monitor]:{id:x.monitor,title:`Monitor`,icon:`activity`},[x.browser]:{id:x.browser,title:`Browser`,icon:`globe`}};function C(e,t){let n=document.createElement(`slicc-panel`);n.setAttribute(`panel-id`,e);let r=S[e];return r?.title&&n.setAttribute(`aria-label`,r.title),n.appendChild(t),n}function w(){for(let e of Object.values(S))r({meta:e,source:{kind:`element`,tag:`slicc-panel`},origin:`builtin`})}function T(e){if(!e?.startsWith(`sprinkle:`))return null;let t=e.slice(9);return t.length>0?t:null}function E(){return{when:{maxWidth:700},docks:[],zones:{center:[x.chat]},floating:[]}}function ee(){return[{edge:`top`,size:`36px`,panels:[x.scoopSwitcher,x.floatbar],locked:!0},{edge:`left`,size:`44px`,panels:[x.sessionsRail],locked:!0},{edge:`right`,size:`48px`,panels:[x.dockRail],locked:!0}]}var D={version:1,id:`default`,title:`Default`,base:{docks:ee(),zones:{center:[x.chat]}},variants:[E()]},O={default:D};function te(e){return O[e]??null}function k(){return Object.keys(O)}var A=e(`layout-store`),j=`/workspace/layouts`,M=[j,f];function N(e,t){return`${t?.protected?f:j}/${e}.json`}async function P(e,t){try{if(!await e.exists(t))return null;let r=await e.readFile(t),i=n(JSON.parse(typeof r==`string`?r:String(r)));return`error`in i?(A.warn(`invalid layout document — ignoring`,{path:t,error:i.error}),null):i}catch(e){return A.warn(`failed to read layout`,{path:t,error:e instanceof Error?e.message:e}),null}}async function ne(e,t,n){let r=n?.name??t.id,i=n?.protected?f:j,a=`${i}/${r}.json`;return await e.exists(i)||await e.mkdir(i,{recursive:!0}),await e.writeFile(a,`${JSON.stringify(t,null,2)}\n`),A.info(`layout saved`,{path:a}),a}async function F(e,t,n){let r=N(t,n);return await e.exists(r)?(await e.rm(r),!0):!1}async function I(e){let t=[],n=new Set;for(let r of M){let i;try{if(!await e.exists(r))continue;i=(await e.readDir(r)).filter(e=>e.type===`file`).map(e=>e.name)}catch(e){A.warn(`failed to list layout dir`,{dir:r,error:e});continue}for(let a of i){if(!a.endsWith(`.json`))continue;let i=a.slice(0,-5);if(n.has(i))continue;let o=`${r}/${a}`,s=await P(e,o);s&&(n.add(i),t.push({name:i,path:o,doc:s,protected:r===f}))}}return t}async function L(e,t){for(let n of M){let r=`${n}/${t}.json`,i=await P(e,r);if(i)return{name:t,path:r,doc:i,protected:n===f}}return null}function R(e,n,r){let i=e.getLayout(),a=t(i,e.environment());if(r){let e=a.zones??c(a.center??null);o(e,n)?a.zones||(a.zones=e,a.center=null):(a.zones=s(e,n,`right`),a.center=null)}i.panels={...i.panels,[n]:{...i.panels?.[n],visible:r}},e.setLayout(i)}var z=e(`apply-layout-doc`);function B(e){return{applied:!1,error:`layout ${e} needs a filesystem (unavailable here)`}}function V(e){return[`load`,`save`,`delete`,`docs`,`panels`,`show`,`hide`].includes(e.kind)}async function H(e,t){let n=e.fs?await L(e.fs,t):null;if(n)return e.layout.setLayout(n.doc),{applied:!0,output:`loaded layout "${t}" from ${n.path}`};let r=te(t);return r?(e.layout.setLayout(r),{applied:!0,output:`loaded preset "${t}"`}):{applied:!1,error:`unknown layout "${t}" — try: ${k().join(`, `)}`}}async function U(e,t,n){if(!e.fs)return B(`save`);let r={...e.layout.getLayout(),id:t};try{return{applied:!0,output:`saved layout to ${await ne(e.fs,r,{name:t,protected:n})}`}}catch(e){let r=e instanceof Error?e.message:String(e);return z.warn(`layout save failed`,{name:t,protected:n,error:r}),{applied:!1,error:`could not save "${t}": ${r}`}}}async function W(e){let t=e.fs?await I(e.fs):[],n=[];if(t.length>0){n.push(`saved layouts:`);for(let e of t)n.push(` ${e.name}${e.protected?` (protected)`:``} ${e.path}`)}n.push(`presets: ${k().join(`, `)}`);let r=e.layout.getLayout();return n.push(`current: ${r.id}`),{applied:!0,output:n.join(`
2
2
  `)}}function G(e){let t=new Set(e.layout.getPlacedPanelIds()),n={builtin:[],sprinkle:[],agent:[]};for(let e of i()){let r=t.has(e.meta.id)?`*`:` `;(n[e.origin]??=[]).push(` ${r} ${e.meta.id} ${e.meta.title}`)}let r=[];for(let[e,t]of Object.entries(n))t.length!==0&&(r.push(`${e}:`),r.push(...t));return r.push(`(* = currently placed)`),{applied:!0,output:r.join(`
3
3
  `)}}function K(e,t,n){return R(e.layout,t,n),{applied:!0}}async function q(e,t){switch(t.kind){case`load`:return H(e,t.name);case`save`:return U(e,t.name,t.protected);case`delete`:return e.fs?await F(e.fs,t.name)||await F(e.fs,t.name,{protected:!0})?{applied:!0,output:`deleted layout "${t.name}"`}:{applied:!1,error:`no saved layout named "${t.name}"`}:B(`delete`);case`docs`:return W(e);case`panels`:return G(e);case`show`:return K(e,t.panelId,!0);case`hide`:return K(e,t.panelId,!1)}}var J=e(`panelize-shell`),Y=`slicc-panelize-style`,X=[`.wcui-avatar-strip{position:absolute;top:0;right:0;height:var(--barh,36px);`,`display:flex;align-items:center;gap:12px;padding:0 9px 0 14px;box-sizing:border-box;`,`pointer-events:auto;z-index:1;}`,`.wcui-frame slicc-layout{position:relative;z-index:1;}`,`slicc-layout .slicc-layout__dock--left,slicc-layout .slicc-layout__dock--right{flex:0 0 auto;}`,`slicc-layout .slicc-layout__dock--top,slicc-layout .slicc-layout__dock--bottom{flex:0 0 auto;}`,`slicc-layout .slicc-layout__dock--left{flex:0 0 auto!important;width:auto!important;}`,`slicc-layout .slicc-layout__dock--right{flex:0 0 auto!important;width:auto!important;}`,`slicc-panel[panel-id="sessions-rail"],slicc-panel[panel-id="dock-rail"]{`,`flex:0 0 auto;height:100%;align-self:stretch;overflow:hidden;}`,`slicc-panel[panel-id="dock-rail"]{width:48px;}`,`slicc-panel[panel-id="sessions-rail"]{width:auto;}`,`slicc-panel[panel-id="sessions-rail"]>*,slicc-panel[panel-id="dock-rail"]>*{`,`height:100%;flex:1 1 auto;min-height:0;}`,`slicc-panel[panel-id="scoop-switcher"],slicc-panel[panel-id="floatbar"]{`,`height:var(--barh,36px);min-height:var(--barh,36px);max-height:var(--barh,36px);}`,`slicc-panel[panel-id="chat"] slicc-chatpane{flex:1 1 0;width:100%;min-height:0;}`,`slicc-panel[panel-id="chat"] slicc-chat-thread{flex:1 1 0;min-height:0;overflow-y:auto;}`,`slicc-panel[panel-id="chat"] slicc-composer{flex:0 0 auto;}`,`slicc-panel[panel-id="scoop-switcher"]{flex:0 0 auto;justify-content:center;padding-left:14px;}`,`slicc-panel[panel-id="floatbar"]{flex:1 1 auto;align-items:center;justify-content:flex-end;`,`padding-right:var(--avatar-strip-w, 96px);}`,`slicc-panel[panel-id="scoop-switcher"],slicc-panel[panel-id="floatbar"]{flex-direction:row;}`,`slicc-panel[panel-id="term"][presentation="floating"]{`,`background:var(--term-bg,#0c0c0e);border-color:var(--term-border,#232329);`,`box-shadow:rgba(0,0,0,.35) 0 14px 36px -12px,rgba(0,0,0,.2) 0 4px 10px -4px;}`].join(``);function re(e){if(e.getElementById(Y))return;let t=e.createElement(`style`);t.id=Y,t.textContent=X,(e.head??e.documentElement).appendChild(t)}function Z(e){e.setAttribute(`active`,``),e.style.display=`flex`,e.style.flexDirection=`column`,e.style.position=`relative`,e.style.inset=`auto`,e.style.flex=`1 1 auto`,e.style.minHeight=`0`}var ie=new Set([x.files,x.term,x.memory,x.monitor,x.browser]);function ae(e,t,n,r){let i=(e,i)=>{let a=e.detail?.id;a&&ie.has(a)&&(n.has(a)||(e.stopImmediatePropagation(),R(t,a,i),i?r?.onToolPanelActivate?.(a):r?.onToolPanelDeactivate?.(a)))};e.addEventListener(`slicc-dock-select`,e=>i(e,!0),!0),e.addEventListener(`slicc-dock-collapse`,e=>i(e,!1),!0)}function oe(e,t){return{hostSprinkleSurface:(n,i)=>{let a=C(n,i);Z(i),t.set(n,a),e.appendChild(a),r({meta:{id:n,title:T(n)??n},source:{kind:`element`,tag:`slicc-panel`},origin:`sprinkle`}),R(e,n,!0),J.info(`sprinkle panel hosted`,{surfaceId:n})},removeSprinkleSurface:n=>{t.get(n)?.remove(),t.delete(n),l(n);let r=e.getLayout();r.panels={...r.panels,[n]:{visible:!1}},e.setLayout(r)}}}var Q=`slicc-panel-layout:default`;function se(e,t){e.addEventListener(`slicc-layout-change`,t=>{let n=t.detail?.reason;if(n===`rearrange`||n===`resize`)try{localStorage.setItem(Q,JSON.stringify(e.getLayout()))}catch{}});let r=null;try{let e=localStorage.getItem(Q);if(e){let t=n(JSON.parse(e));`error`in t?J.warn(`stored layout rejected — using the default`,{error:t.error}):r=t}}catch(e){J.warn(`stored layout unreadable — using the default`,e)}e.setLayout(r??t)}var $=null;function ce(){return $}function le(e,t=D,n,r){if(e.frame.dataset.sliccPanelized===`1`)return J.warn(`panelizeShell called twice — ignoring the second call`),null;re(document),w();let i=n,o=document.createElement(`slicc-layout`),s=new Map,c=(e,t)=>{if(!t)return;let n=C(e,t);s.set(e,n),o.appendChild(n)};e.freezer.setAttribute(`docked`,``),e.frame.querySelector(`.wcui-appcol`)?.style.setProperty(`--rail-w`,`0px`),c(x.scoopSwitcher,e.switcher),c(x.floatbar,e.floatbar),c(x.sessionsRail,e.freezer),c(x.dockRail,e.dock),c(x.chat,e.chatPane);for(let t of[x.files,x.term,x.memory,x.monitor,x.browser]){let n=e.dockTree.querySelector(`slicc-surface[surface-id="${t}"]`);n instanceof HTMLElement&&(Z(n),c(t,n))}let l=document.createElement(`div`);l.className=`wcui-avatar-strip`,l.appendChild(b({layout:o,onToggle:(e,t)=>{q({layout:o,fs:i},{kind:t?`show`:`hide`,panelId:e})},onLoadLayout:e=>{q({layout:o,fs:i},{kind:`load`,name:e})},onSaveLayout:e=>{q({layout:o,fs:i},{kind:`save`,name:e,protected:!1}).then(t=>{t.error?J.warn(`layout save failed`,{name:e,error:t.error}):J.info(`layout saved`,{name:e,output:t.output})})},onDeleteLayout:e=>{q({layout:o,fs:i},{kind:`delete`,name:e})},listLayoutNames:async()=>({saved:i?(await I(i)).map(e=>e.name):[],presets:k()})})),l.appendChild(e.avatarMenu),a(l,document),e.shell.replaceWith(o),e.frame.querySelector(`slicc-nav`)?.remove(),se(o,t),ae(e.dock,o,e.overlaySurfaces,r),p(e=>V(e)?q({layout:o,fs:i},e):{applied:!1,error:`"${e.kind}" targets the old dock-tree; with panels use: load, save, show, hide, docs, panels`}),e.frame.dataset.sliccPanelized=`1`,J.info(`shell panelized`,{panels:s.size,layout:t.id});let u={layout:o,avatarStrip:l,panels:s,attachFs:e=>{i=e,J.info(`layout store attached`)},...oe(o,s)};return $=u,u}export{Q as PANEL_LAYOUT_STORAGE_KEY,ce as getPanelizedShell,le as panelizeShell};
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./path-utils-DNJG-zQf.js";import{t as n}from"./types-D8gIX-W-.js";import"./fs-BQUbdd5o.js";import"./libesm-C3Rgd19L.js";import{t as r}from"./kernel-worker-DVGTdmUT.js";function i(e){return e.startsWith(``)?{bom:``,text:e.slice(1)}:{bom:``,text:e}}function a(e){let t=e.indexOf(`\r
1
+ import{n as e,t}from"./path-utils-DNJG-zQf.js";import{t as n}from"./types-D8gIX-W-.js";import"./fs-DNsJRW_E.js";import"./libesm-C3Rgd19L.js";import{t as r}from"./kernel-worker-40_1fMYG.js";function i(e){return e.startsWith(``)?{bom:``,text:e.slice(1)}:{bom:``,text:e}}function a(e){let t=e.indexOf(`\r
2
2
  `),n=e.indexOf(`
3
3
  `);return n===-1||t===-1?`
4
4
  `:t<n?`\r
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/session-jsonl-CmHHFea-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/zip-stream-Ca_YRvVc.js","assets/renamed-providers-CKF5I4-o.js","assets/transcript-export-DTRO8k03.js","assets/types-D8gIX-W-.js","assets/frozen-archive-writer-Be4hcxM7.js","assets/dictation-priming-BHJC0hch.js","assets/fs-EMbf3rAx.js","assets/preload-helper-BLdHbfdN.js","assets/sha256-DynDhwRL.js","assets/path-utils-DNJG-zQf.js","assets/bounded-walk-BjxKWNqp.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/secret-topology-BuXN_6_0.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-backends-CgKx1tVe.js","assets/secrets-bridge-client-BtmN7fip.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/db-CIXZItfi.js","assets/skills-BmdqK5T-.js","assets/feature-flags-DDJdMcuw.js","assets/dock-tree-spec-D-vXUz3b.js","assets/sudoers-NZQeUOXa.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-BLdHbfdN.js";import{t}from"./sha256-DynDhwRL.js";import{L as n,P as r,T as i,m as a,t as o,z as s}from"./zip-stream-Ca_YRvVc.js";import{a as c,i as l,n as u,t as d}from"./transcript-export-DTRO8k03.js";import{t as f}from"./global-db-CbuLl-zx.js";var p=1048576,m=`r`;function h(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function g(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)_(e[r],`${t}/${r}`,n);return}if(g(e))for(let[r,i]of Object.entries(e))_(i,`${t}/${h(r)}`,n)}function v(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=v(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(g(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=v(o,`${t}/${h(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function y(e,t,n){if(g(e))return v(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=y(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function b(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function x(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new u(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>p)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new u(`redaction-unavailable`)}if(c.length!==s.length)throw new u(`redaction-unavailable`);r.push(...c),i=o}return r}function S(e,t,n,r){let i=[],a=b(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=b(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:c,matches:l,nextId:u}=s(t,m,r);for(let{id:e,category:t}of l)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:c,redactions:i,nextId:u}}function C(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function w(e,t,n,r){if(r?.aborted)throw new u(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];_(a,``,o);let s=o.filter(e=>!l(e.pointer)),c=[...t.entries()],d=await x([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),f=[],p={},m=1,h=new Map,g=[];for(let e=0;e<s.length;e++){let t=s[e],n=S(t.value,d[e],{kind:`json`,pointer:t.pointer},m);m=n.nextId,n.finalText!==t.value&&h.set(t.pointer,n.finalText),g.push(n)}C(g,f,p);let v=new Map,b=s.length,w=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=S(n,d[b+e],{kind:`attachment`,attachmentId:t},m);m=r.nextId,v.set(t,r.finalText),w.push(r)}C(w,f,p);let T=y(e,``,h);return{document:{...T,privacy:{...T.privacy,redactionCounts:p,redactions:f}},textAttachments:v}}function T(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}var E={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function ee(e,t){return E[e]??(t===`text-redacted`?`.txt`:`.bin`)}function D(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${ee(t,n)}`}function O(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function k(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function A(e,t,n,r,i){let a=T(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(O(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=O(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function te(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:O(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(A(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function ne(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function re(e,t,n,r,i,a,o){let s=ne(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(A(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function ie(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=re(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function ae(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,D(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function oe(e,n,r,i,a){let{rawAttachments:o,textMap:s}=ae(e,r),c,l;try{let e=await w({...n,attachments:o},s,i,a);c=e.document,l=e.textAttachments}catch(e){throw e instanceof u?e:new u(`attachment-unreadable`)}let d=new Map;for(let t of e){if(d.has(t.attachmentId))throw new u(`schema-invalid`);d.set(t.attachmentId,t)}let f=new Map,p=await Promise.all(c.attachments.map(async e=>{if(!e.present||!e.path)return e;let n=d.get(e.id);if(n===void 0)throw new u(`schema-invalid`);let r=n.handling===`text-redacted`?new TextEncoder().encode(l.get(n.attachmentId)??n.rawText??``):n.rawBytes,i=await t(r);return f.set(e.path,r),{...e,byteLength:r.length,sha256:i}}));return{redactedDocument:{...c,attachments:p},bundleFiles:f}}async function j(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=te(k(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=ie(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await oe(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var M=50;function N(e){return i(e)}function P(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function F(e,t,n,i){let a=new Map;for(let e of t)a.set(e.id,e);let o=new Map;for(let e of n)o.set(e.id,e);let s=[],c=new Map;for(let t of e){let e=i.getAgentMessages(t.jid)??a.get(t.jid)?.messages??[],n={id:t.jid,kind:r(t)?`cone`:`scoop`,name:t.name,...t.folder&&!r(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};s.push(n);let l=N(t),u=o.get(l);u&&c.set(t.jid,u.messages)}return{sources:s,chatMessagesByConversation:c}}async function I(e,t,r={}){let i=e=>r.rootJid===void 0?e:n(e,r.rootJid);for(;;){let n=i(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(M,t),t?.aborted))throw new u(`transfer-aborted`);let r=P(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new u(`transfer-aborted`);let s=i(e.listScoops());if(r===P(s,e))return F(s,a,o,e)}}function L(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function R(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function z(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(R(t,r++));return n}function B(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=R(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function V(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=R(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function H(e,t,n){let r=L(t,n),i=z(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function U(e,t,n){let r=L(t,n),{blocks:i,excluded:a,images:o}=B(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function W(e,t,n){let r=L(t,n),{blocks:i,images:a}=V(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function G(e,t,n){return e.role===`user`?H(e,t,n):e.role===`assistant`?U(e,t,n):e.role===`toolResult`?W(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function K(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function q(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=G(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:K(e),excludedReasoningBlocks:t,canonicalImages:n}}function J(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:d},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function se(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Y(e){let t=c(e);if(!t.ok)throw new u(`schema-invalid`,t.error)}function ce(e,t,n){let r=new Map;for(let i of e)if(i.present&&i.path){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function le(e,n){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let r=n.get(e.path);return r?{...e,byteLength:r.length,sha256:await t(r)}:e}))}function X(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var Z=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Y(i.document),r?.({phase:`packaging`}),o(i.document,i.bundleFiles,n)}async snapshotCone(e,t){let n=await I(this.deps.collection,t,{rootJid:e.jid}),r=q(n.sources),i=await j({document:J(e.jid,e.name,`active`,r,this.deps.version),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});return Y(i.document),i}async snapshotFrozen(e,t){let n=await this.buildFrozenSnapshot(e,t);return Y(n.document),n}async captureFrozen(e,t){let n=await I(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=q(n.sources),{document:i,bundleFiles:a}=await j({document:J(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});if(Y(i),t?.aborted)throw new u(`transfer-aborted`);try{await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a},t)}finally{this.deps.snapshotStore.discardIfUnindexed?.(e.sessionId)?.catch(()=>void 0)}}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await I(this.deps.collection,e),r=q(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=J(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),j({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r;try{r=await this.deps.snapshotStore.read(e)}catch(e){if(!(e instanceof u)||e.code!==`session-not-found`)throw e;r=null}return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await w(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new u(`redaction-unavailable`)}let a=ce(r.attachments,i,e.attachments),o=await le(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(t,n,r){let i=(await a(this.deps.vfs)).find(e=>e.sessionId===t||!e.sessionId&&e.filename===t);if(!i)throw new u(`session-not-found`);let o;try{let e=await this.deps.vfs.readFile(`/sessions/${i.filename}`,{encoding:`utf-8`});o=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new u(`session-not-found`)}let{loadFrozenArchive:s}=await e(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-CmHHFea-.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),{title:c,messages:l}=await s(this.deps.vfs,o,i.filename),f=`legacy-cone`,p=se(l,f),m=X(o),h={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:d},session:{id:t,title:c,state:`frozen`,...i.frozenAt?{frozenAt:i.frozenAt}:{},...m,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:f,kind:`cone`,name:c,messages:p}],delegations:[],attachments:[]},g=new Map([[f,l]]);return r?.({phase:`redacting`}),j({document:h,chatMessagesByConversation:g,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:n})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new u(`attachment-unreadable`);return t}},Q=null;function ue(){return Q??=e(async()=>{let{VirtualFS:e}=await import(`./fs-EMbf3rAx.js`).then(e=>e.t);return{VirtualFS:e}},__vite__mapDeps([8,1,9,3,10,11,5,12,13,14,15])).then(({VirtualFS:e})=>e.create({dbName:f})),Q}async function $(e){try{let t=await(await ue()).readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:ArrayBuffer.isView(t)?new TextDecoder().decode(t):null}catch{return null}}async function de(){try{let[{resolveSecretTopology:t},{createDefaultSecretBackend:n}]=await Promise.all([e(()=>import(`./secret-topology-BuXN_6_0.js`).then(e=>e.t),__vite__mapDeps([16,1,17,9,18,19])),e(()=>import(`./secret-backends-CgKx1tVe.js`),__vite__mapDeps([20,17,1,9,18,19,21,3,22]))]),r=t(),{entries:i}=await n(r).list();return i.length===0?[]:[r===`node-rest`?`secrets-env`:`chrome-storage`]}catch{return[]}}function fe(t){return{vfs:t.serviceDeps.vfs,listUnits:t.listUnits,createTranscriptSource:e=>new Z({...t.serviceDeps,knownSecrets:e}),knownSecrets:t.serviceDeps.knownSecrets,accounts:()=>{try{let e=JSON.parse(localStorage.getItem(`slicc_accounts`)??`[]`);return Array.isArray(e)?e.filter(e=>typeof e?.providerId==`string`):[]}catch{return[]}},licks:async()=>{let t=await e(()=>import(`./db-CIXZItfi.js`).then(e=>e.n),__vite__mapDeps([23,1])),[n,r,i]=await Promise.all([t.getAllCronTasks(),t.getAllTasks(),t.getAllWebhooks()]);return{crontasks:n,tasks:r,webhooks:i}},mcpServers:async()=>{let e=await $(`/workspace/.mcp/servers.json`);if(!e)return null;try{let t=JSON.parse(e);return t&&typeof t.servers==`object`?t:null}catch{return null}},mounts:async()=>{try{let{getAllMountEntries:t}=await e(async()=>{let{getAllMountEntries:e}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e}},__vite__mapDeps([15,1]));return(await t()).map(e=>e.targetPath)}catch{return[]}},storedSecretKinds:de,githubToken:async()=>(await $(`/workspace/.git/github-token`))?.trim()||null,gitconfig:()=>$(`/workspace/.gitconfig`),bundledFile:async t=>{let{readBundledFile:n}=await e(async()=>{let{readBundledFile:e}=await import(`./skills-BmdqK5T-.js`);return{readBundledFile:e}},__vite__mapDeps([24,9,3,25,8,1,10,11,5,12,13,14,15,26,27]));return n(t)},version:t.version,origin:location.origin}}export{Z as n,fe as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/session-jsonl-CmHHFea-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/zip-stream-Ca_YRvVc.js","assets/renamed-providers-CKF5I4-o.js","assets/transcript-export-DTRO8k03.js","assets/types-D8gIX-W-.js","assets/frozen-archive-writer-Be4hcxM7.js","assets/dictation-priming-BHJC0hch.js","assets/fs-C6gMkOwH.js","assets/preload-helper-BLdHbfdN.js","assets/sha256-DynDhwRL.js","assets/path-utils-DNJG-zQf.js","assets/bounded-walk-BjxKWNqp.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/secret-topology-BuXN_6_0.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-backends-CgKx1tVe.js","assets/secrets-bridge-client-BtmN7fip.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/db-CIXZItfi.js","assets/skills-Buu7GuOS.js","assets/feature-flags-DDJdMcuw.js","assets/dock-tree-spec-D-vXUz3b.js","assets/sudoers-NZQeUOXa.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-BLdHbfdN.js";import{t}from"./sha256-DynDhwRL.js";import{L as n,P as r,T as i,m as a,t as o,z as s}from"./zip-stream-Ca_YRvVc.js";import{a as c,i as l,n as u,t as d}from"./transcript-export-DTRO8k03.js";import{t as f}from"./global-db-CbuLl-zx.js";var p=1048576,m=`r`;function h(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function g(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)_(e[r],`${t}/${r}`,n);return}if(g(e))for(let[r,i]of Object.entries(e))_(i,`${t}/${h(r)}`,n)}function v(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=v(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(g(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=v(o,`${t}/${h(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function y(e,t,n){if(g(e))return v(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=y(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function b(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function x(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new u(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>p)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new u(`redaction-unavailable`)}if(c.length!==s.length)throw new u(`redaction-unavailable`);r.push(...c),i=o}return r}function S(e,t,n,r){let i=[],a=b(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=b(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:c,matches:l,nextId:u}=s(t,m,r);for(let{id:e,category:t}of l)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:c,redactions:i,nextId:u}}function C(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function w(e,t,n,r){if(r?.aborted)throw new u(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];_(a,``,o);let s=o.filter(e=>!l(e.pointer)),c=[...t.entries()],d=await x([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),f=[],p={},m=1,h=new Map,g=[];for(let e=0;e<s.length;e++){let t=s[e],n=S(t.value,d[e],{kind:`json`,pointer:t.pointer},m);m=n.nextId,n.finalText!==t.value&&h.set(t.pointer,n.finalText),g.push(n)}C(g,f,p);let v=new Map,b=s.length,w=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=S(n,d[b+e],{kind:`attachment`,attachmentId:t},m);m=r.nextId,v.set(t,r.finalText),w.push(r)}C(w,f,p);let T=y(e,``,h);return{document:{...T,privacy:{...T.privacy,redactionCounts:p,redactions:f}},textAttachments:v}}function T(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}var E={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function ee(e,t){return E[e]??(t===`text-redacted`?`.txt`:`.bin`)}function D(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${ee(t,n)}`}function O(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function k(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function A(e,t,n,r,i){let a=T(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(O(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=O(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function te(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:O(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(A(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function ne(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function re(e,t,n,r,i,a,o){let s=ne(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(A(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function ie(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=re(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function ae(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,D(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function oe(e,n,r,i,a){let{rawAttachments:o,textMap:s}=ae(e,r),c,l;try{let e=await w({...n,attachments:o},s,i,a);c=e.document,l=e.textAttachments}catch(e){throw e instanceof u?e:new u(`attachment-unreadable`)}let d=new Map;for(let t of e){if(d.has(t.attachmentId))throw new u(`schema-invalid`);d.set(t.attachmentId,t)}let f=new Map,p=await Promise.all(c.attachments.map(async e=>{if(!e.present||!e.path)return e;let n=d.get(e.id);if(n===void 0)throw new u(`schema-invalid`);let r=n.handling===`text-redacted`?new TextEncoder().encode(l.get(n.attachmentId)??n.rawText??``):n.rawBytes,i=await t(r);return f.set(e.path,r),{...e,byteLength:r.length,sha256:i}}));return{redactedDocument:{...c,attachments:p},bundleFiles:f}}async function j(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=te(k(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=ie(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await oe(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var M=50;function N(e){return i(e)}function P(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function F(e,t,n,i){let a=new Map;for(let e of t)a.set(e.id,e);let o=new Map;for(let e of n)o.set(e.id,e);let s=[],c=new Map;for(let t of e){let e=i.getAgentMessages(t.jid)??a.get(t.jid)?.messages??[],n={id:t.jid,kind:r(t)?`cone`:`scoop`,name:t.name,...t.folder&&!r(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};s.push(n);let l=N(t),u=o.get(l);u&&c.set(t.jid,u.messages)}return{sources:s,chatMessagesByConversation:c}}async function I(e,t,r={}){let i=e=>r.rootJid===void 0?e:n(e,r.rootJid);for(;;){let n=i(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(M,t),t?.aborted))throw new u(`transfer-aborted`);let r=P(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new u(`transfer-aborted`);let s=i(e.listScoops());if(r===P(s,e))return F(s,a,o,e)}}function L(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function R(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function z(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(R(t,r++));return n}function B(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=R(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function V(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=R(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function H(e,t,n){let r=L(t,n),i=z(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function U(e,t,n){let r=L(t,n),{blocks:i,excluded:a,images:o}=B(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function W(e,t,n){let r=L(t,n),{blocks:i,images:a}=V(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function G(e,t,n){return e.role===`user`?H(e,t,n):e.role===`assistant`?U(e,t,n):e.role===`toolResult`?W(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function K(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function q(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=G(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:K(e),excludedReasoningBlocks:t,canonicalImages:n}}function J(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:d},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function se(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Y(e){let t=c(e);if(!t.ok)throw new u(`schema-invalid`,t.error)}function ce(e,t,n){let r=new Map;for(let i of e)if(i.present&&i.path){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function le(e,n){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let r=n.get(e.path);return r?{...e,byteLength:r.length,sha256:await t(r)}:e}))}function X(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var Z=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Y(i.document),r?.({phase:`packaging`}),o(i.document,i.bundleFiles,n)}async snapshotCone(e,t){let n=await I(this.deps.collection,t,{rootJid:e.jid}),r=q(n.sources),i=await j({document:J(e.jid,e.name,`active`,r,this.deps.version),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});return Y(i.document),i}async snapshotFrozen(e,t){let n=await this.buildFrozenSnapshot(e,t);return Y(n.document),n}async captureFrozen(e,t){let n=await I(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=q(n.sources),{document:i,bundleFiles:a}=await j({document:J(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});if(Y(i),t?.aborted)throw new u(`transfer-aborted`);try{await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a},t)}finally{this.deps.snapshotStore.discardIfUnindexed?.(e.sessionId)?.catch(()=>void 0)}}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await I(this.deps.collection,e),r=q(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=J(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),j({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r;try{r=await this.deps.snapshotStore.read(e)}catch(e){if(!(e instanceof u)||e.code!==`session-not-found`)throw e;r=null}return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await w(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new u(`redaction-unavailable`)}let a=ce(r.attachments,i,e.attachments),o=await le(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(t,n,r){let i=(await a(this.deps.vfs)).find(e=>e.sessionId===t||!e.sessionId&&e.filename===t);if(!i)throw new u(`session-not-found`);let o;try{let e=await this.deps.vfs.readFile(`/sessions/${i.filename}`,{encoding:`utf-8`});o=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new u(`session-not-found`)}let{loadFrozenArchive:s}=await e(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-CmHHFea-.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),{title:c,messages:l}=await s(this.deps.vfs,o,i.filename),f=`legacy-cone`,p=se(l,f),m=X(o),h={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:d},session:{id:t,title:c,state:`frozen`,...i.frozenAt?{frozenAt:i.frozenAt}:{},...m,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:f,kind:`cone`,name:c,messages:p}],delegations:[],attachments:[]},g=new Map([[f,l]]);return r?.({phase:`redacting`}),j({document:h,chatMessagesByConversation:g,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:n})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new u(`attachment-unreadable`);return t}},Q=null;function ue(){return Q??=e(async()=>{let{VirtualFS:e}=await import(`./fs-C6gMkOwH.js`).then(e=>e.t);return{VirtualFS:e}},__vite__mapDeps([8,1,9,3,10,11,5,12,13,14,15])).then(({VirtualFS:e})=>e.create({dbName:f})),Q}async function $(e){try{let t=await(await ue()).readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:ArrayBuffer.isView(t)?new TextDecoder().decode(t):null}catch{return null}}async function de(){try{let[{resolveSecretTopology:t},{createDefaultSecretBackend:n}]=await Promise.all([e(()=>import(`./secret-topology-BuXN_6_0.js`).then(e=>e.t),__vite__mapDeps([16,1,17,9,18,19])),e(()=>import(`./secret-backends-CgKx1tVe.js`),__vite__mapDeps([20,17,1,9,18,19,21,3,22]))]),r=t(),{entries:i}=await n(r).list();return i.length===0?[]:[r===`node-rest`?`secrets-env`:`chrome-storage`]}catch{return[]}}function fe(t){return{vfs:t.serviceDeps.vfs,listUnits:t.listUnits,createTranscriptSource:e=>new Z({...t.serviceDeps,knownSecrets:e}),knownSecrets:t.serviceDeps.knownSecrets,accounts:()=>{try{let e=JSON.parse(localStorage.getItem(`slicc_accounts`)??`[]`);return Array.isArray(e)?e.filter(e=>typeof e?.providerId==`string`):[]}catch{return[]}},licks:async()=>{let t=await e(()=>import(`./db-CIXZItfi.js`).then(e=>e.n),__vite__mapDeps([23,1])),[n,r,i]=await Promise.all([t.getAllCronTasks(),t.getAllTasks(),t.getAllWebhooks()]);return{crontasks:n,tasks:r,webhooks:i}},mcpServers:async()=>{let e=await $(`/workspace/.mcp/servers.json`);if(!e)return null;try{let t=JSON.parse(e);return t&&typeof t.servers==`object`?t:null}catch{return null}},mounts:async()=>{try{let{getAllMountEntries:t}=await e(async()=>{let{getAllMountEntries:e}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e}},__vite__mapDeps([15,1]));return(await t()).map(e=>e.targetPath)}catch{return[]}},storedSecretKinds:de,githubToken:async()=>(await $(`/workspace/.git/github-token`))?.trim()||null,gitconfig:()=>$(`/workspace/.gitconfig`),bundledFile:async t=>{let{readBundledFile:n}=await e(async()=>{let{readBundledFile:e}=await import(`./skills-Buu7GuOS.js`);return{readBundledFile:e}},__vite__mapDeps([24,9,3,25,8,1,10,11,5,12,13,14,15,26,27]));return n(t)},version:t.version,origin:location.origin}}export{Z as n,fe as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-EMbf3rAx.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/renamed-providers-CKF5I4-o.js","assets/sha256-DynDhwRL.js","assets/path-utils-DNJG-zQf.js","assets/types-D8gIX-W-.js","assets/bounded-walk-BjxKWNqp.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/oauth-service-DBNa_4eS.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-BLdHbfdN.js";import{v as t}from"./renamed-providers-CKF5I4-o.js";import{C as n,K as r,u as i}from"./account-store-D9MqJPUO.js";import{r as a}from"./secret-topology-BuXN_6_0.js";import{i as o}from"./providers-DqmhARGF.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./bridge-token-required-DMk2va9k.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{t as m}from"./types-D8gIX-W-.js";var h=t(`mcp-store`),g=`/workspace/.mcp/servers.json`,_=1,v=null,y=null;async function b(){return v||=await e(()=>import(`./fs-EMbf3rAx.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),v}async function x(e){if(e)return e;if(y&&y.dbName===`slicc-fs-global`)return y.instance;let{VirtualFS:t}=await b(),n=await t.create({dbName:s});return y={instance:n,dbName:s},n}function S(){return{version:_,servers:{}}}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function T(e){if(!C(e))return S();let t=e,n=typeof t.version==`number`?t.version:_,r={};if(C(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=w(n);t&&(r[e]=t)}return{version:n,servers:r}}async function E(e){try{let t=await(await x(e)).readFile(g,{encoding:`utf-8`});try{return T(JSON.parse(t))}catch(e){return h.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),S()}}catch(e){if(e instanceof m&&e.code===`ENOENT`)return S();throw e}}async function D(e){return(await E(e)).servers}async function O(){let e=await D(),t=[];for(let[n,r]of Object.entries(e))r?.url&&r.auth?.clientId&&t.push({name:n,serverUrl:r.url,auth:r.auth});return t}var k=t(`mcp-oauth`);function A(e,t){let{discoveryPath:n,prmUrl:r,prmReason:i,asmUrl:a,asmReason:o}=t;if(!e)throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}): ${o}.`:`ASM fetch failed: ${o} (${a})`);if(!(e.authorization_endpoint&&e.token_endpoint))throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${a} is missing required endpoints`)}async function j(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;k.debug(`Fetching PRM`,{prmUrl:i});try{let e=await n(i,{headers:{Accept:`application/json`}});if(!e.ok)o=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?o=`lists no authorization_servers`:a=t}}catch(e){o=e instanceof Error?e.message:String(e)}let s,c,l;a?.authorization_servers&&a.authorization_servers.length>0?(s=a.authorization_servers[0].replace(/\/+$/,``),c=`${s}/.well-known/oauth-authorization-server`,l=`prm`,k.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,k.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;k.debug(`Fetching ASM`,{asmUrl:c});try{let e=await n(c,{headers:{Accept:`application/json`}});e.ok?u=await e.json():d=`${e.status} ${e.statusText}`}catch(e){d=e instanceof Error?e.message:String(e)}return A(u,{discoveryPath:l,prmUrl:i,prmReason:o,asmUrl:c,asmReason:d}),{issuer:u.issuer||s,authorizationEndpoint:u.authorization_endpoint,tokenEndpoint:u.token_endpoint,registrationEndpoint:u.registration_endpoint,supportedScopes:u.scopes_supported??a?.scopes_supported,codeChallengeMethods:u.code_challenge_methods_supported,grantTypes:u.grant_types_supported,discoveryPath:l}}function M(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function N(e){let t=d();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await p(t),method:e}}function P(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function F(e){let t=await N(M(e.asMetadata.codeChallengeMethods)),n=f(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let i=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,a=await e.launcher(i);if(!a)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:o,state:s}=P(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return L({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function I(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function L(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}async function R(e){if(c())throw new u;let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(l(n.status,JSON.stringify(r)))throw new u;if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}var z=`/auth/mcp-callback`;async function B(t){if(t===`extension-direct`){let e=chrome;return e.identity?.getRedirectURL?.(`mcp-callback`)??`https://${e.runtime?.id??``}.chromiumapp.org/mcp-callback`}if(t===`node-rest`){let{getLocalApiBaseUrl:t}=await e(async()=>{let{getLocalApiBaseUrl:e}=await import(`./proxied-fetch-2sdz8vNB.js`).then(e=>e.i);return{getLocalApiBaseUrl:e}},__vite__mapDeps([11,1,2,12,13])),n=t();if(n)return`${n}/auth/callback`}let{getOAuthPageOrigin:n}=await e(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-DBNa_4eS.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([14,2,11,1,12,13,15,16])),{origin:r}=await n();return`${r}${t===`extension-delegate`?z:`/auth/callback`}`}var V=t(`mcp-provider`),H=`mcp:`;function U(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function W(e){return`${H}${e}`}var G=new Map,K=new Set;async function q(t){if(t)return t;let{createProxiedFetch:n}=await e(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-2sdz8vNB.js`).then(e=>e.i);return{createProxiedFetch:e}},__vite__mapDeps([11,1,2,12,13])),r=n();return async(e,t)=>{let n=await r(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(n.body);return{ok:n.status>=200&&n.status<300,status:n.status,statusText:n.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>n.headers[e.toLowerCase()]??null}}}}async function J(e){let t=G.get(W(e.name));if(t)return t;let n=await q(e.fetchImpl),r=await j(e.serverUrl,void 0,n);return G.set(W(e.name),r),r}function Y(e){let t=W(e.name),o=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:t,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:o?[o]:[],getModelIds:()=>[],onOAuthLogin:async(n,i)=>{let o=e.launcher??n,s=await q(e.fetchImpl),c=await F({asMetadata:await J(e),clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await B(a()),launcher:o,fetchImpl:s});await r({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken,tokenExpiresAt:c.expiresAt,scopes:c.scope}),i()},onSilentRenew:async()=>{if(!n(t))return null;let a=i().find(e=>e.providerId===t),o=a?.refreshToken;if(!o)return V.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let n=await J(e),i=n.grantTypes??[];if(i.length>0&&!i.includes(`refresh_token`))return V.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await q(e.fetchImpl),c=await R({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await r({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return V.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function X(e){let t=W(e.name);if(K.has(t))return;let n=Y(e);o(n),K.add(t),V.debug(`Registered MCP provider`,{id:t})}async function Z(){if(!U())return[];let{readMcpAuthEntries:t}=await e(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-CM_A3_LB.js`);return{readMcpAuthEntries:e}},[]),n=await t(),r=[];for(let e of n)X({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),r.push(W(e.name));return r}export{Z as ensureAllMcpProvidersRegistered,O as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-C6gMkOwH.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/renamed-providers-CKF5I4-o.js","assets/sha256-DynDhwRL.js","assets/path-utils-DNJG-zQf.js","assets/types-D8gIX-W-.js","assets/bounded-walk-BjxKWNqp.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/oauth-service-DBNa_4eS.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-BLdHbfdN.js";import{v as t}from"./renamed-providers-CKF5I4-o.js";import{C as n,K as r,u as i}from"./account-store-CzjRbfrU.js";import{r as a}from"./secret-topology-BuXN_6_0.js";import{i as o}from"./providers-CxC3IkmD.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./bridge-token-required-DMk2va9k.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{t as m}from"./types-D8gIX-W-.js";var h=t(`mcp-store`),g=`/workspace/.mcp/servers.json`,_=1,v=null,y=null;async function b(){return v||=await e(()=>import(`./fs-C6gMkOwH.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),v}async function x(e){if(e)return e;if(y&&y.dbName===`slicc-fs-global`)return y.instance;let{VirtualFS:t}=await b(),n=await t.create({dbName:s});return y={instance:n,dbName:s},n}function S(){return{version:_,servers:{}}}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function T(e){if(!C(e))return S();let t=e,n=typeof t.version==`number`?t.version:_,r={};if(C(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=w(n);t&&(r[e]=t)}return{version:n,servers:r}}async function E(e){try{let t=await(await x(e)).readFile(g,{encoding:`utf-8`});try{return T(JSON.parse(t))}catch(e){return h.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),S()}}catch(e){if(e instanceof m&&e.code===`ENOENT`)return S();throw e}}async function D(e){return(await E(e)).servers}async function O(){let e=await D(),t=[];for(let[n,r]of Object.entries(e))r?.url&&r.auth?.clientId&&t.push({name:n,serverUrl:r.url,auth:r.auth});return t}var k=t(`mcp-oauth`);function A(e,t){let{discoveryPath:n,prmUrl:r,prmReason:i,asmUrl:a,asmReason:o}=t;if(!e)throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}): ${o}.`:`ASM fetch failed: ${o} (${a})`);if(!(e.authorization_endpoint&&e.token_endpoint))throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${a} is missing required endpoints`)}async function j(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;k.debug(`Fetching PRM`,{prmUrl:i});try{let e=await n(i,{headers:{Accept:`application/json`}});if(!e.ok)o=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?o=`lists no authorization_servers`:a=t}}catch(e){o=e instanceof Error?e.message:String(e)}let s,c,l;a?.authorization_servers&&a.authorization_servers.length>0?(s=a.authorization_servers[0].replace(/\/+$/,``),c=`${s}/.well-known/oauth-authorization-server`,l=`prm`,k.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,k.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;k.debug(`Fetching ASM`,{asmUrl:c});try{let e=await n(c,{headers:{Accept:`application/json`}});e.ok?u=await e.json():d=`${e.status} ${e.statusText}`}catch(e){d=e instanceof Error?e.message:String(e)}return A(u,{discoveryPath:l,prmUrl:i,prmReason:o,asmUrl:c,asmReason:d}),{issuer:u.issuer||s,authorizationEndpoint:u.authorization_endpoint,tokenEndpoint:u.token_endpoint,registrationEndpoint:u.registration_endpoint,supportedScopes:u.scopes_supported??a?.scopes_supported,codeChallengeMethods:u.code_challenge_methods_supported,grantTypes:u.grant_types_supported,discoveryPath:l}}function M(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function N(e){let t=d();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await p(t),method:e}}function P(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function F(e){let t=await N(M(e.asMetadata.codeChallengeMethods)),n=f(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let i=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,a=await e.launcher(i);if(!a)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:o,state:s}=P(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return L({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function I(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function L(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}async function R(e){if(c())throw new u;let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(l(n.status,JSON.stringify(r)))throw new u;if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}var z=`/auth/mcp-callback`;async function B(t){if(t===`extension-direct`){let e=chrome;return e.identity?.getRedirectURL?.(`mcp-callback`)??`https://${e.runtime?.id??``}.chromiumapp.org/mcp-callback`}if(t===`node-rest`){let{getLocalApiBaseUrl:t}=await e(async()=>{let{getLocalApiBaseUrl:e}=await import(`./proxied-fetch-2sdz8vNB.js`).then(e=>e.i);return{getLocalApiBaseUrl:e}},__vite__mapDeps([11,1,2,12,13])),n=t();if(n)return`${n}/auth/callback`}let{getOAuthPageOrigin:n}=await e(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-DBNa_4eS.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([14,2,11,1,12,13,15,16])),{origin:r}=await n();return`${r}${t===`extension-delegate`?z:`/auth/callback`}`}var V=t(`mcp-provider`),H=`mcp:`;function U(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function W(e){return`${H}${e}`}var G=new Map,K=new Set;async function q(t){if(t)return t;let{createProxiedFetch:n}=await e(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-2sdz8vNB.js`).then(e=>e.i);return{createProxiedFetch:e}},__vite__mapDeps([11,1,2,12,13])),r=n();return async(e,t)=>{let n=await r(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(n.body);return{ok:n.status>=200&&n.status<300,status:n.status,statusText:n.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>n.headers[e.toLowerCase()]??null}}}}async function J(e){let t=G.get(W(e.name));if(t)return t;let n=await q(e.fetchImpl),r=await j(e.serverUrl,void 0,n);return G.set(W(e.name),r),r}function Y(e){let t=W(e.name),o=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:t,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:o?[o]:[],getModelIds:()=>[],onOAuthLogin:async(n,i)=>{let o=e.launcher??n,s=await q(e.fetchImpl),c=await F({asMetadata:await J(e),clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await B(a()),launcher:o,fetchImpl:s});await r({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken,tokenExpiresAt:c.expiresAt,scopes:c.scope}),i()},onSilentRenew:async()=>{if(!n(t))return null;let a=i().find(e=>e.providerId===t),o=a?.refreshToken;if(!o)return V.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let n=await J(e),i=n.grantTypes??[];if(i.length>0&&!i.includes(`refresh_token`))return V.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await q(e.fetchImpl),c=await R({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await r({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return V.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function X(e){let t=W(e.name);if(K.has(t))return;let n=Y(e);o(n),K.add(t),V.debug(`Registered MCP provider`,{id:t})}async function Z(){if(!U())return[];let{readMcpAuthEntries:t}=await e(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-CAxp4Ji_.js`);return{readMcpAuthEntries:e}},[]),n=await t(),r=[];for(let e of n)X({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),r.push(W(e.name));return r}export{Z as ensureAllMcpProvidersRegistered,O as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DBVvNlSN.js";import{t}from"./logger-Cx6Y120U.js";import"./account-store-Cf3nt4Ba.js";import"./core-TaEErdII.js";import"./tray-runtime-config-BvQtvIxB.js";var n=/* @__PURE__ */ e({copyTextToClipboard:()=>r});async function r(e){if(!e)return!1;if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed; opacity:0; pointer-events:none; left:-9999px;`,document.body.appendChild(t),t.select();let n=document.execCommand?.(`copy`)??!1;return document.body.removeChild(t),n}catch{return!1}}t(`provider-settings`);export{n as t};
1
+ import{n as e}from"./rolldown-runtime-DBVvNlSN.js";import{t}from"./logger-Cx6Y120U.js";import"./account-store-VtBgtCSL.js";import"./core-TaEErdII.js";import"./tray-runtime-config-BvQtvIxB.js";var n=/* @__PURE__ */ e({copyTextToClipboard:()=>r});async function r(e){if(!e)return!1;if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed; opacity:0; pointer-events:none; left:-9999px;`,document.body.appendChild(t),t.select();let n=document.execCommand?.(`copy`)??!1;return document.body.removeChild(t),n}catch{return!1}}t(`provider-settings`);export{n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./store-DU7IkRE0.js";import"./provider-v0y0I0C6.js";export{e as readMcpAuthEntries};
@@ -0,0 +1 @@
1
+ import{t as e}from"./provider-dLg1CYt6.js";export{e as readMcpAuthEntries};
@@ -1 +1 @@
1
- import{t as e}from"./logger-Cx6Y120U.js";import{_ as t,l as n,r}from"./account-store-Cf3nt4Ba.js";import{i,s as a,t as o}from"./providers-D21kuf5m.js";import{n as s}from"./float-topology-87nCRxRw.js";import{discoverAuth as c,refreshAccessToken as l,runAuthFlow as u}from"./oauth-DWLyu8Zt.js";import{n as d}from"./store-DkDXcTrQ.js";import{t as f}from"./mcp-command-CYwILBJU.js";const p=e(`mcp-provider`);function m(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function h(e){return`mcp:${e}`}const g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Set;async function v(e){if(e)return e;let{createProxiedFetch:t}=await import(`./proxied-fetch-1DfC_94U.js`).then(e=>e.o),n=t();return async(e,t)=>{let r=await n(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(r.body);return{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>r.headers[e.toLowerCase()]??null}}}}async function y(e){let t=g.get(h(e.name));if(t)return t;let n=await v(e.fetchImpl),r=await c(e.serverUrl,void 0,n);return g.set(h(e.name),r),r}function b(e){let i=h(e.name),a=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:i,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:a?[a]:[],getModelIds:()=>[],onOAuthLogin:async(n,r)=>{let a=e.launcher??n,o=await v(e.fetchImpl),c=await y(e),l=await u({asMetadata:c,clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await f(s()),launcher:a,fetchImpl:o});await t({providerId:i,accessToken:l.accessToken,refreshToken:l.refreshToken,tokenExpiresAt:l.expiresAt,scopes:l.scope}),r()},onSilentRenew:async()=>{if(!n(i))return null;let a=r().find(e=>e.providerId===i),o=a?.refreshToken;if(!o)return p.info(`No refresh token for MCP provider, skipping silent renewal`,{id:i}),null;try{let n=await y(e),r=n.grantTypes??[];if(r.length>0&&!r.includes(`refresh_token`))return p.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:i}),null;let s=await v(e.fetchImpl),c=await l({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await t({providerId:i,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return p.warn(`MCP silent renewal failed`,{id:i,error:e instanceof Error?e.message:String(e)}),null}}}}function x(e){let t=h(e.name);if(_.has(t))return;let n=b(e);i(n),_.add(t),p.debug(`Registered MCP provider`,{id:t})}async function S(e,t={}){let n=h(e);if(_.has(n)&&o(n))return!0;if(!m())return!1;let r=await d(e);return r?(x({name:e,serverUrl:r.serverUrl,auth:r.auth,...t}),!0):!1}async function C(){if(!m())return[];let{readMcpAuthEntries:e}=await import(`./provider-store-access-CSEJaroY.js`),t=await e(),n=[];for(let e of t)x({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),n.push(h(e.name));return n}function w(e){let t=h(e);return _.delete(t),g.delete(t),a(t)}export{C as ensureAllMcpProvidersRegistered,S as ensureMcpProviderRegistered,x as registerMcpProvider,w as removeMcpProvider};
1
+ import{t as e}from"./logger-Cx6Y120U.js";import{_ as t,l as n,r}from"./account-store-VtBgtCSL.js";import{i,s as a,t as o}from"./providers-_suqM9AH.js";import{n as s}from"./float-topology-87nCRxRw.js";import{discoverAuth as c,refreshAccessToken as l,runAuthFlow as u}from"./oauth-DWLyu8Zt.js";import{n as d}from"./store-DU7IkRE0.js";import{t as f}from"./mcp-command-BochRUm0.js";const p=e(`mcp-provider`);function m(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function h(e){return`mcp:${e}`}const g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Set;async function v(e){if(e)return e;let{createProxiedFetch:t}=await import(`./proxied-fetch-1DfC_94U.js`).then(e=>e.o),n=t();return async(e,t)=>{let r=await n(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(r.body);return{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>r.headers[e.toLowerCase()]??null}}}}async function y(e){let t=g.get(h(e.name));if(t)return t;let n=await v(e.fetchImpl),r=await c(e.serverUrl,void 0,n);return g.set(h(e.name),r),r}function b(e){let i=h(e.name),a=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:i,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:a?[a]:[],getModelIds:()=>[],onOAuthLogin:async(n,r)=>{let a=e.launcher??n,o=await v(e.fetchImpl),c=await y(e),l=await u({asMetadata:c,clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await f(s()),launcher:a,fetchImpl:o});await t({providerId:i,accessToken:l.accessToken,refreshToken:l.refreshToken,tokenExpiresAt:l.expiresAt,scopes:l.scope}),r()},onSilentRenew:async()=>{if(!n(i))return null;let a=r().find(e=>e.providerId===i),o=a?.refreshToken;if(!o)return p.info(`No refresh token for MCP provider, skipping silent renewal`,{id:i}),null;try{let n=await y(e),r=n.grantTypes??[];if(r.length>0&&!r.includes(`refresh_token`))return p.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:i}),null;let s=await v(e.fetchImpl),c=await l({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await t({providerId:i,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return p.warn(`MCP silent renewal failed`,{id:i,error:e instanceof Error?e.message:String(e)}),null}}}}function x(e){let t=h(e.name);if(_.has(t))return;let n=b(e);i(n),_.add(t),p.debug(`Registered MCP provider`,{id:t})}async function S(e,t={}){let n=h(e);if(_.has(n)&&o(n))return!0;if(!m())return!1;let r=await d(e);return r?(x({name:e,serverUrl:r.serverUrl,auth:r.auth,...t}),!0):!1}async function C(){if(!m())return[];let{readMcpAuthEntries:e}=await import(`./provider-store-access-C1MWKpiZ.js`),t=await e(),n=[];for(let e of t)x({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),n.push(h(e.name));return n}function w(e){let t=h(e);return _.delete(t),g.delete(t),a(t)}export{C as ensureAllMcpProvidersRegistered,S as ensureMcpProviderRegistered,x as registerMcpProvider,w as removeMcpProvider};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-BEymMYkN.js","assets/core-DoHWT79Y.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/renamed-providers-CKF5I4-o.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BtmN7fip.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/account-store-D9MqJPUO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/transform-messages-BCSFgzxJ.js","assets/pi-transcript-context-JtAzRvqX.js","assets/bedrock-camp-DcwWNV13.js","assets/temperature-support-CQFa5vxR.js","assets/local-llm-BO0X_FdV.js","assets/legacy-api-aliases-B5j9Mm8h.js","assets/adobe-DKSayuDM.js","assets/main-2eWFiMZP.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-C52CnDIj.js","assets/telemetry-kqkj0A7x.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/anthropic-proxy-compat-CaymbdBf.js","assets/silent-renew-backoff-CjfMcAko.js","assets/provider-budget-LCzMPlKv.js","assets/oauth-service-DBNa_4eS.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-DpTZM6yA.js","assets/github-copilot-CzppBKxA.js","assets/github-BXHpiPPY.js","assets/global-db-CbuLl-zx.js","assets/bridge-token-required-DMk2va9k.js","assets/openai-codex-BZDRCcp1.js","assets/pkce-hGf_TEnP.js","assets/openrouter-free-LLAN6Y1f.js","assets/openrouter-models-Dgg2QqJw.js","assets/openrouter-oauth-CzgDjRKa.js","assets/openrouter-DC8qHkPU.js","assets/xai-grok-nLcr7B7M.js","assets/xai-grok-errors-bnlIBeu-.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-BLdHbfdN.js";var n={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},r=e({getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>u,shouldIncludeProvider:()=>a}),i=Object.assign({"/packages/dev-tools/providers.build.json":n})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function a(e){let{include:t,exclude:n}=i;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var o=Object.assign({"./built-in/azure-ai-foundry.ts":()=>t(()=>import(`./azure-ai-foundry-Bo0FAJyX.js`),[]),"./built-in/azure-openai.ts":()=>t(()=>import(`./azure-openai-BEymMYkN.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-D6dUCn_T.js`).then(e=>e.s),__vite__mapDeps([17,2])),"./built-in/bedrock-camp-extra-models.ts":()=>t(()=>import(`./bedrock-camp-extra-models-COVvjLB5.js`).then(e=>e.n),__vite__mapDeps([18,2,17])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-DcwWNV13.js`),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,19,20,21,23])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-BO0X_FdV.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,21]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-DKSayuDM.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,33,34,35,36,37,21,23,38])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-DpTZM6yA.js`),__vite__mapDeps([39,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,21])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-CzppBKxA.js`),__vite__mapDeps([40,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,33,23])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-BXHpiPPY.js`),__vite__mapDeps([41,3,8,2,9,10,15,1,4,5,6,7,11,12,13,14,16,17,18,19,27,28,29,30,31,32,34,36,37,42,43])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-BZDRCcp1.js`),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,23,43,45])),"/packages/webapp/providers/openrouter-free.ts":()=>t(()=>import(`./openrouter-free-LLAN6Y1f.js`),__vite__mapDeps([46,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,47,48,45])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-Dgg2QqJw.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,12,13,14])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-CzgDjRKa.js`),__vite__mapDeps([48,15,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,27,28,29,30,31,32,45])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-DC8qHkPU.js`),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,47,48,45])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-nLcr7B7M.js`),__vite__mapDeps([50,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,23,43,45,51]))}),c=new Map,l=null;function u(){return l===null&&(l=(async()=>{let e=await Promise.all(Object.values(o).map(e=>e()));for(let t of e)t.config&&a(t.config.id)&&(c.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(s).map(e=>e()));for(let e of t)e.config&&(c.set(e.config.id,e.config),e.register?.())})()),l}function d(e){return c.get(e)}function f(){return[...c.keys()]}function p(e){c.set(e.id,e)}export{u as a,p as i,f as n,a as o,r,d as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-Cjxr4QPn.js","assets/core-DoHWT79Y.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/renamed-providers-CKF5I4-o.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BtmN7fip.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/account-store-CzjRbfrU.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/transform-messages-BCSFgzxJ.js","assets/pi-transcript-context-JtAzRvqX.js","assets/bedrock-camp-DcwWNV13.js","assets/temperature-support-CQFa5vxR.js","assets/local-llm-DhHw1yfL.js","assets/legacy-api-aliases-B5j9Mm8h.js","assets/adobe-B7RRrD_z.js","assets/main-CKBsgWBx.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-C52CnDIj.js","assets/telemetry-kqkj0A7x.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/anthropic-proxy-compat-CaymbdBf.js","assets/silent-renew-backoff-ClAedN5j.js","assets/provider-budget-LCzMPlKv.js","assets/oauth-service-DBNa_4eS.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-F8gejcGi.js","assets/github-copilot-CPak07uM.js","assets/github-CtkTzMdK.js","assets/global-db-CbuLl-zx.js","assets/bridge-token-required-DMk2va9k.js","assets/openai-codex-DloIj5Kb.js","assets/pkce-hGf_TEnP.js","assets/openrouter-free-QlUUc2CV.js","assets/openrouter-models-Dgg2QqJw.js","assets/openrouter-oauth-B8b5rIQz.js","assets/openrouter-BugU4FUc.js","assets/xai-grok-BzmaEFAz.js","assets/xai-grok-errors-bnlIBeu-.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-BLdHbfdN.js";var n={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},r=e({getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>u,shouldIncludeProvider:()=>a}),i=Object.assign({"/packages/dev-tools/providers.build.json":n})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function a(e){let{include:t,exclude:n}=i;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var o=Object.assign({"./built-in/azure-ai-foundry.ts":()=>t(()=>import(`./azure-ai-foundry-Bo0FAJyX.js`),[]),"./built-in/azure-openai.ts":()=>t(()=>import(`./azure-openai-Cjxr4QPn.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-D6dUCn_T.js`).then(e=>e.s),__vite__mapDeps([17,2])),"./built-in/bedrock-camp-extra-models.ts":()=>t(()=>import(`./bedrock-camp-extra-models-COVvjLB5.js`).then(e=>e.n),__vite__mapDeps([18,2,17])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-DcwWNV13.js`),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,19,20,21,23])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-DhHw1yfL.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,21]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-B7RRrD_z.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,33,34,35,36,37,21,23,38])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-F8gejcGi.js`),__vite__mapDeps([39,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,21])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-CPak07uM.js`),__vite__mapDeps([40,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,33,23])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-CtkTzMdK.js`),__vite__mapDeps([41,3,8,2,9,10,15,1,4,5,6,7,11,12,13,14,16,17,18,19,27,28,29,30,31,32,34,36,37,42,43])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-DloIj5Kb.js`),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,23,43,45])),"/packages/webapp/providers/openrouter-free.ts":()=>t(()=>import(`./openrouter-free-QlUUc2CV.js`),__vite__mapDeps([46,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,47,48,45])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-Dgg2QqJw.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,12,13,14])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-B8b5rIQz.js`),__vite__mapDeps([48,15,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,27,28,29,30,31,32,45])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-BugU4FUc.js`),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,47,48,45])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-BzmaEFAz.js`),__vite__mapDeps([50,1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,15,16,17,18,19,27,28,29,30,31,32,21,23,43,45,51]))}),c=new Map,l=null;function u(){return l===null&&(l=(async()=>{let e=await Promise.all(Object.values(o).map(e=>e()));for(let t of e)t.config&&a(t.config.id)&&(c.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(s).map(e=>e()));for(let e of t)e.config&&(c.set(e.config.id,e.config),e.register?.())})()),l}function d(e){return c.get(e)}function f(){return[...c.keys()]}function p(e){c.set(e.id,e)}export{u as a,p as i,f as n,a as o,r,d as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DBVvNlSN.js";var t={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},n=/* @__PURE__ */ e({allProviderConfigs:()=>u,getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>m});const r=(/* @__PURE__ */ Object.assign({"/packages/dev-tools/providers.build.json":t}))[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function i(e){let{include:t,exclude:n}=r;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const a=/* #__PURE__ */ Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-D3MtNKIb.js`),"./built-in/bedrock-camp-compat.ts":()=>import(`./bedrock-camp-compat-BMzeUHCf.js`).then(e=>e.s),"./built-in/bedrock-camp-extra-models.ts":()=>import(`./bedrock-camp-extra-models-DW8Mzq5o.js`).then(e=>e.n),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-D_6lMink.js`),"./built-in/local-llm.ts":()=>import(`./local-llm-7bD_TE39.js`).then(e=>e.n)}),o=/* #__PURE__ */ Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-DYOfQktE.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-dJVR9WAK.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-BM_TojeH.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-B4AdxnN3.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-BUB7Y9ke.js`),"/packages/webapp/providers/openrouter-free.ts":()=>import(`./openrouter-free-CSdi9NpY.js`),"/packages/webapp/providers/openrouter-models.ts":()=>import(`./openrouter-models-BH7IBYKI.js`),"/packages/webapp/providers/openrouter-oauth.ts":()=>import(`./openrouter-oauth-g5aryBlJ.js`),"/packages/webapp/providers/openrouter.ts":()=>import(`./openrouter-CNVt5NVc.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-DKNmr41Y.js`)}),s=/* @__PURE__ */ new Map;let c=null;function l(){return c===null&&(c=(async()=>{let e=await Promise.all(Object.values(a).map(e=>e()));for(let t of e)t.config&&i(t.config.id)&&(s.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(o).map(e=>e()));for(let e of t)e.config&&(s.set(e.config.id,e.config),e.register?.())})()),c}const u=s;function d(e){return s.get(e)}function f(){return[...s.keys()]}function p(e){s.set(e.id,e)}function m(e){return s.delete(e)}export{l as a,p as i,f as n,i as o,n as r,m as s,d as t};
1
+ import{n as e}from"./rolldown-runtime-DBVvNlSN.js";var t={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},n=/* @__PURE__ */ e({allProviderConfigs:()=>u,getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>m});const r=(/* @__PURE__ */ Object.assign({"/packages/dev-tools/providers.build.json":t}))[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function i(e){let{include:t,exclude:n}=r;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const a=/* #__PURE__ */ Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-CbDlviKP.js`),"./built-in/bedrock-camp-compat.ts":()=>import(`./bedrock-camp-compat-BMzeUHCf.js`).then(e=>e.s),"./built-in/bedrock-camp-extra-models.ts":()=>import(`./bedrock-camp-extra-models-DW8Mzq5o.js`).then(e=>e.n),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-D_6lMink.js`),"./built-in/local-llm.ts":()=>import(`./local-llm-BeJAZNjs.js`).then(e=>e.n)}),o=/* #__PURE__ */ Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-Ch41jsPJ.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-Zl13ZDsi.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-CwGEbPDM.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-VZZ29TDt.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-D9Pdm-DO.js`),"/packages/webapp/providers/openrouter-free.ts":()=>import(`./openrouter-free-BYKdU__j.js`),"/packages/webapp/providers/openrouter-models.ts":()=>import(`./openrouter-models-BH7IBYKI.js`),"/packages/webapp/providers/openrouter-oauth.ts":()=>import(`./openrouter-oauth-CcxdmMiW.js`),"/packages/webapp/providers/openrouter.ts":()=>import(`./openrouter-DrE27HTv.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-BVLzOMqQ.js`)}),s=/* @__PURE__ */ new Map;let c=null;function l(){return c===null&&(c=(async()=>{let e=await Promise.all(Object.values(a).map(e=>e()));for(let t of e)t.config&&i(t.config.id)&&(s.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(o).map(e=>e()));for(let e of t)e.config&&(s.set(e.config.id,e.config),e.register?.())})()),c}const u=s;function d(e){return s.get(e)}function f(){return[...s.keys()]}function p(e){s.set(e.id,e)}function m(e){return s.delete(e)}export{l as a,p as i,f as n,i as o,n as r,m as s,d as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,h as n}from"./core-DoHWT79Y.js";import{v as r}from"./renamed-providers-CKF5I4-o.js";import{E as i,O as a,k as o,m as s}from"./account-store-D9MqJPUO.js";import{t as c}from"./llm-session-id-bZQs6gBN.js";import{i as l,t as u}from"./icons-D1QuzCd5.js";var d=e({lucideIconNames:()=>g,pickLucideIcon:()=>_,quickLabel:()=>p}),f=r(`quick-llm`);async function p(e){let r=s();if(!r)return f.debug(`No API key for active provider — skipping`),null;let i=o(),c=a(),l;if(l=e.modelId?x(i,e.modelId)??x(i,c):v(i,c),!l)return f.debug(`No model available for provider`,{providerId:i}),null;let u=n(e.prompt),d=e.system===void 0?void 0:n(e.system),p={role:`user`,content:u,timestamp:Date.now()},m={};l.provider===`adobe`&&(m[`X-Session-Id`]=C());try{let n=(await t(l,{systemPrompt:d,messages:[p]},{apiKey:r,maxTokens:e.maxTokens??60,temperature:e.temperature??.3,signal:e.signal,headers:Object.keys(m).length>0?m:void 0})).content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim();return n.length>0?n:null}catch(e){return f.debug(`Quick label call failed`,{error:e instanceof Error?e.message:String(e)}),null}}var m=null;function h(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Za-z])(\d)/g,`$1-$2`).toLowerCase()}function g(){return m||=Object.keys(l).map(h).sort(),m}async function _(e){let t=g(),n=await(e.labelFn??p)({system:`You pick ONE icon for a UI element. Respond with exactly one icon name from the provided list — lowercase, no quotes, no punctuation, nothing else.`,prompt:`Pick the single most fitting icon for: ${e.subject}\n\nValid icon names:\n${t.join(` `)}`,maxTokens:16,temperature:.2,signal:e.signal});if(!n)return null;let r=n.trim().toLowerCase().replace(/[^a-z0-9-]/g,``);return u(r)?r:null}function v(e,t){let n=i(e);if(n.length===0)return;let r=n.find(e=>e.id===t)??n[0],a=b(r.id),o=n.filter(e=>y(e,r,a));return o.length===0?r:(o.sort((e,t)=>(e.cost?.input??0)-(t.cost?.input??0)),o[0])}function y(e,t,n){if(e.id===t.id)return!1;let r=t.cost?.input??1/0;if((e.cost?.input??1/0)>=r)return!1;let i=e.id.toLowerCase();switch(n){case`claude`:return i.includes(`haiku`);case`gpt`:return/(^|-)mini(-|$)|(^|-)nano(-|$)/.test(i);case`gemini`:return i.includes(`flash`);case`grok`:return/(^|-)mini(-|$)|(^|-)fast(-|$)/.test(i);case`unknown`:return!0}}function b(e){let t=e.toLowerCase();return t.includes(`claude`)?`claude`:t.includes(`gemini`)?`gemini`:t.includes(`grok`)?`grok`:/^(gpt|o\d)/.test(t)?`gpt`:`unknown`}function x(e,t){return i(e).find(e=>e.id===t)}var S=`ui-quick-llm`;function C(){return c(S)}export{d as n,p as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,h as n}from"./core-DoHWT79Y.js";import{v as r}from"./renamed-providers-CKF5I4-o.js";import{E as i,O as a,k as o,m as s}from"./account-store-CzjRbfrU.js";import{t as c}from"./llm-session-id-bZQs6gBN.js";import{i as l,t as u}from"./icons-D1QuzCd5.js";var d=e({lucideIconNames:()=>g,pickLucideIcon:()=>_,quickLabel:()=>p}),f=r(`quick-llm`);async function p(e){let r=s();if(!r)return f.debug(`No API key for active provider — skipping`),null;let i=o(),c=a(),l;if(l=e.modelId?x(i,e.modelId)??x(i,c):v(i,c),!l)return f.debug(`No model available for provider`,{providerId:i}),null;let u=n(e.prompt),d=e.system===void 0?void 0:n(e.system),p={role:`user`,content:u,timestamp:Date.now()},m={};l.provider===`adobe`&&(m[`X-Session-Id`]=C());try{let n=(await t(l,{systemPrompt:d,messages:[p]},{apiKey:r,maxTokens:e.maxTokens??60,temperature:e.temperature??.3,signal:e.signal,headers:Object.keys(m).length>0?m:void 0})).content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim();return n.length>0?n:null}catch(e){return f.debug(`Quick label call failed`,{error:e instanceof Error?e.message:String(e)}),null}}var m=null;function h(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Za-z])(\d)/g,`$1-$2`).toLowerCase()}function g(){return m||=Object.keys(l).map(h).sort(),m}async function _(e){let t=g(),n=await(e.labelFn??p)({system:`You pick ONE icon for a UI element. Respond with exactly one icon name from the provided list — lowercase, no quotes, no punctuation, nothing else.`,prompt:`Pick the single most fitting icon for: ${e.subject}\n\nValid icon names:\n${t.join(` `)}`,maxTokens:16,temperature:.2,signal:e.signal});if(!n)return null;let r=n.trim().toLowerCase().replace(/[^a-z0-9-]/g,``);return u(r)?r:null}function v(e,t){let n=i(e);if(n.length===0)return;let r=n.find(e=>e.id===t)??n[0],a=b(r.id),o=n.filter(e=>y(e,r,a));return o.length===0?r:(o.sort((e,t)=>(e.cost?.input??0)-(t.cost?.input??0)),o[0])}function y(e,t,n){if(e.id===t.id)return!1;let r=t.cost?.input??1/0;if((e.cost?.input??1/0)>=r)return!1;let i=e.id.toLowerCase();switch(n){case`claude`:return i.includes(`haiku`);case`gpt`:return/(^|-)mini(-|$)|(^|-)nano(-|$)/.test(i);case`gemini`:return i.includes(`flash`);case`grok`:return/(^|-)mini(-|$)|(^|-)fast(-|$)/.test(i);case`unknown`:return!0}}function b(e){let t=e.toLowerCase();return t.includes(`claude`)?`claude`:t.includes(`gemini`)?`gemini`:t.includes(`grok`)?`grok`:/^(gpt|o\d)/.test(t)?`gpt`:`unknown`}function x(e,t){return i(e).find(e=>e.id===t)}var S=`ui-quick-llm`;function C(){return c(S)}export{d as n,p as t};