sliccy 6.169.0 → 6.169.2

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 (143) hide show
  1. package/README.md +5 -0
  2. package/dist/ui/.vite/manifest.json +183 -183
  3. package/dist/ui/assets/{account-store-_oWY-N-g.js → account-store-CO5j8fqd.js} +1 -1
  4. package/dist/ui/assets/{account-store-C0smCH0b.js → account-store-CSd9ln_t.js} +1 -1
  5. package/dist/ui/assets/{adobe-D8bfhWFa.js → adobe-CDiyKngx.js} +1 -1
  6. package/dist/ui/assets/{adobe-i2veKh2G.js → adobe-DddGNTmH.js} +1 -1
  7. package/dist/ui/assets/{agent-panels-Bt83ejkl.js → agent-panels-CM1HVC2z.js} +1 -1
  8. package/dist/ui/assets/{almost-bash-shell-headless-CXYALRet.js → almost-bash-shell-headless-CASw-xzD.js} +30 -30
  9. package/dist/ui/assets/{apply-layout-C4DuaXQ1.js → apply-layout-B_00iJIF.js} +1 -1
  10. package/dist/ui/assets/{apps-DpExQYs8.js → apps-PjebIY85.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-Cm0dqkf0.js → azure-openai-1CGZ13Xd.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-CGgFuiTh.js → azure-openai-DgbniRrN.js} +1 -1
  13. package/dist/ui/assets/{backend-hostfs-BZXs8PNk.js → backend-hostfs-uOoAU8XS.js} +1 -1
  14. package/dist/ui/assets/{cdp-UL1FYYjc.js → cdp-0ojGm4wZ.js} +1 -1
  15. package/dist/ui/assets/{cerebras-nQZqQsKF.js → cerebras-ByJuyh4F.js} +1 -1
  16. package/dist/ui/assets/{cerebras-BEKAS5HH.js → cerebras-tNDfiVUD.js} +1 -1
  17. package/dist/ui/assets/{composer-speech-BPb0h67H.js → composer-speech-DJy_7u_z.js} +1 -1
  18. package/dist/ui/assets/{connect-surface-EJ0FRStY.js → connect-surface-B1mGtonO.js} +1 -1
  19. package/dist/ui/assets/{directed-approval-CPSbebEZ.js → directed-approval-D3ftZRwj.js} +1 -1
  20. package/dist/ui/assets/{ensure-speech-assets-DPjgwmlG.js → ensure-speech-assets-qrlY4RhB.js} +1 -1
  21. package/dist/ui/assets/{frozen-archive-writer-rq_r_D3R.js → frozen-archive-writer-B8RAhSGQ.js} +1 -1
  22. package/dist/ui/assets/{fs-KJBUdRz_.js → fs-BCzdJySO.js} +1 -1
  23. package/dist/ui/assets/{fs-B9TgYyVA.js → fs-Cm5oEtAS.js} +2 -2
  24. package/dist/ui/assets/{gelatiere-store-DIE4b-Va.js → gelatiere-store-Bqqotk3V.js} +1 -1
  25. package/dist/ui/assets/{gelatiere-unit-wx8F8dnF.js → gelatiere-unit-D0aGQBlb.js} +1 -1
  26. package/dist/ui/assets/{github-CgEE40ok.js → github-0xP--480.js} +2 -2
  27. package/dist/ui/assets/{github-_GgWC1Vq.js → github-Byb7oq2Z.js} +1 -1
  28. package/dist/ui/assets/{github-auth-Ba7C_Kly.js → github-auth-BZbJvxX6.js} +1 -1
  29. package/dist/ui/assets/{github-copilot-jobL3_Cf.js → github-copilot-CNlhuTM3.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-rsfkYfvK.js → github-copilot-Oo61bE7g.js} +1 -1
  31. package/dist/ui/assets/{github-install-DtlYn56m.js → github-install-DHk0vU0d.js} +1 -1
  32. package/dist/ui/assets/{github-zip-BanSb9qW.js → github-zip-CM2MBuRv.js} +1 -1
  33. package/dist/ui/assets/{hear-zSghqsv6.js → hear-BQNd6keW.js} +1 -1
  34. package/dist/ui/assets/{help-BkjaKwT1.js → help-Wb784qsN.js} +1 -1
  35. package/dist/ui/assets/{installer-CYXMipeW.js → installer-x1DHJo5E.js} +1 -1
  36. package/dist/ui/assets/{js-realm-worker-B9VuUz7Q.js → js-realm-worker-CvWbwiUX.js} +1 -1
  37. package/dist/ui/assets/{jsh-executor-BhNH2E0v.js → jsh-executor-CxSOACQN.js} +2 -2
  38. package/dist/ui/assets/{kernel-worker-CBI5EKGn.js → kernel-worker-B_E73nMm.js} +27 -27
  39. package/dist/ui/assets/{lick-ws-bridge-BFrcBnVV.js → lick-ws-bridge-CtaqeoBh.js} +1 -1
  40. package/dist/ui/assets/{lick-ws-bridge-DVoxwaqS.js → lick-ws-bridge-LVLe0xfw.js} +1 -1
  41. package/dist/ui/assets/{live-session-snapshot-Cw5xb5EQ.js → live-session-snapshot-BhWUyJaf.js} +1 -1
  42. package/dist/ui/assets/{local-llm-BRe_Kttg.js → local-llm-CPxQQw4V.js} +1 -1
  43. package/dist/ui/assets/{local-llm-C7T1M_NI.js → local-llm-DDkwdHyc.js} +1 -1
  44. package/dist/ui/assets/{main-BfonTdzP.js → main-DkeGbe_z.js} +3 -3
  45. package/dist/ui/assets/{main-cherry-Cty_ShgD.js → main-cherry-D8TcYzny.js} +1 -1
  46. package/dist/ui/assets/{memory-curation-seam-dmTVk3Ov.js → memory-curation-seam-BVn5RshD.js} +1 -1
  47. package/dist/ui/assets/{memory-health-9iNdh0Ac.js → memory-health-V04OupbE.js} +1 -1
  48. package/dist/ui/assets/memory-v2-flag-CK8XDf2e.js +1 -0
  49. package/dist/ui/assets/{memory-write-execute-C9xS6Q1z.js → memory-write-execute-D5jSrQ8t.js} +1 -1
  50. package/dist/ui/assets/{mount-Bq4ov4Wg.js → mount-C33ss_tj.js} +3 -3
  51. package/dist/ui/assets/{mount-B_VZbcPY.js → mount-DHFaWuQx.js} +1 -1
  52. package/dist/ui/assets/{new-session-BJqFQPRu.js → new-session-CJTcWQMR.js} +2 -2
  53. package/dist/ui/assets/{oauth-bootstrap-CFXmccC5.js → oauth-bootstrap-mo82B1UH.js} +2 -2
  54. package/dist/ui/assets/{onboarding-orchestrator-M3HJvymL.js → onboarding-orchestrator-BEeKGJFK.js} +1 -1
  55. package/dist/ui/assets/{openai-codex-NAo35j43.js → openai-codex-DveIvLh0.js} +1 -1
  56. package/dist/ui/assets/{openai-codex-BWGWiycb.js → openai-codex-exrXNvF6.js} +1 -1
  57. package/dist/ui/assets/{openrouter-Bhxgi8JW.js → openrouter-Bkggx_c_.js} +1 -1
  58. package/dist/ui/assets/{openrouter-sloSkMqY.js → openrouter-CKO_Yein.js} +1 -1
  59. package/dist/ui/assets/{openrouter-free-Dl2pScMt.js → openrouter-free-B-GfYj4S.js} +1 -1
  60. package/dist/ui/assets/{openrouter-free-DersFAEc.js → openrouter-free-mInoX5ZF.js} +1 -1
  61. package/dist/ui/assets/{openrouter-oauth-DW4_wGaN.js → openrouter-oauth-B-h9BK0H.js} +1 -1
  62. package/dist/ui/assets/{openrouter-oauth-C3bVnGt2.js → openrouter-oauth-DKmSW14n.js} +1 -1
  63. package/dist/ui/assets/{opfs-mount-FspqzE40.js → opfs-mount-DMW-THKx.js} +1 -1
  64. package/dist/ui/assets/{panel-rpc-handlers-CwCdqXzk.js → panel-rpc-handlers-DU0g9UiS.js} +2 -2
  65. package/dist/ui/assets/{panelize-shell-c-tVlGNY.js → panelize-shell-8vhFEe6A.js} +1 -1
  66. package/dist/ui/assets/{pi-edit-execution-Brw1YFDp.js → pi-edit-execution-BT5YqAp4.js} +1 -1
  67. package/dist/ui/assets/{provider-C7zRpxoe.js → provider-Bb0xbzwM.js} +2 -2
  68. package/dist/ui/assets/{provider-DsHcYBTa.js → provider-C1frqbfo.js} +1 -1
  69. package/dist/ui/assets/{provider-settings-BKCma-Jb.js → provider-settings-DTWj_rlH.js} +1 -1
  70. package/dist/ui/assets/provider-store-access-CbDgkNWt.js +1 -0
  71. package/dist/ui/assets/provider-store-access-DJMZsYZD.js +1 -0
  72. package/dist/ui/assets/{providers-DDnH2Ikl.js → providers-D6gtc-hk.js} +1 -1
  73. package/dist/ui/assets/{providers-DEiO6D-5.js → providers-DzwGdXME.js} +2 -2
  74. package/dist/ui/assets/{quick-llm-tSDpCXxR.js → quick-llm-CaYtffKO.js} +1 -1
  75. package/dist/ui/assets/{realm-inprocess-BKygqrOz.js → realm-inprocess-D8OprBGt.js} +1 -1
  76. package/dist/ui/assets/{recovery-screen-D6-sXNj7.js → recovery-screen-5b5QmCV_.js} +1 -1
  77. package/dist/ui/assets/{restore-C-ey_KSq.js → restore-frpH06hg.js} +1 -1
  78. package/dist/ui/assets/{run-zO91KPbj.js → run-ByAP9WTk.js} +2 -2
  79. package/dist/ui/assets/{run-C3DRjgOJ.js → run-D6sh3cGM.js} +2 -2
  80. package/dist/ui/assets/{run-BSBxWJ5B.js → run-DNLNAd_Z.js} +1 -1
  81. package/dist/ui/assets/{run-DZtlriWZ.js → run-Dnt_h-KS.js} +1 -1
  82. package/dist/ui/assets/{run-CeJrX6mR.js → run-b56E22mb.js} +2 -2
  83. package/dist/ui/assets/{run-TEAp1X-0.js → run-szIPQ-bd.js} +2 -2
  84. package/dist/ui/assets/{session-command-memory-B0lDqCR9.js → session-command-memory-B0Ji0mAH.js} +2 -2
  85. package/dist/ui/assets/{session-jsonl-C8ClVNxB.js → session-jsonl-CbiAbGAi.js} +1 -1
  86. package/dist/ui/assets/{session-jsonl-DQNfKRsT.js → session-jsonl-oEn_NLpF.js} +1 -1
  87. package/dist/ui/assets/{session-search-index-BT4ZJZt7.js → session-search-index-C3OP32_D.js} +1 -1
  88. package/dist/ui/assets/{setup-feature-flags-remote-BGRjwc3Y.js → setup-feature-flags-remote-ChBfLHSA.js} +1 -1
  89. package/dist/ui/assets/{signed-fetch-CNiA3vB6.js → signed-fetch-UhDVZfxy.js} +1 -1
  90. package/dist/ui/assets/{silent-renew-backoff-DrQ0_tES.js → silent-renew-backoff-DzM2UJ6J.js} +1 -1
  91. package/dist/ui/assets/slicc-version-CAucHQS3.js +1 -0
  92. package/dist/ui/assets/{snapshot-DXOlM8V_.js → snapshot-BnkB50u5.js} +1 -1
  93. package/dist/ui/assets/{snapshot-features-D_DeQAxH.js → snapshot-features-xZrxE-RF.js} +1 -1
  94. package/dist/ui/assets/{soundscape-CYcg-DKm.js → soundscape-DOzOpdLw.js} +1 -1
  95. package/dist/ui/assets/{speak-Br_kDtG8.js → speak-r5a7UwJ7.js} +1 -1
  96. package/dist/ui/assets/{sprinkle-manager-DpsA1UkN.js → sprinkle-manager-B2iLzNLu.js} +1 -1
  97. package/dist/ui/assets/{sprinkle-renderer-q0STe7tk.js → sprinkle-renderer-YlVYXTwf.js} +1 -1
  98. package/dist/ui/assets/{state-edQbuMHp.js → state-fQnR0vFP.js} +1 -1
  99. package/dist/ui/assets/{store-BYzp8NI8.js → store-CKg683uK.js} +1 -1
  100. package/dist/ui/assets/{store-BJb3HsiM.js → store-DOwIg5xe.js} +1 -1
  101. package/dist/ui/assets/{sudo-DaUFGZ5z.js → sudo-CLHCW31h.js} +1 -1
  102. package/dist/ui/assets/{supervisor-BGSiMwrr.js → supervisor-CgihFU-m.js} +1 -1
  103. package/dist/ui/assets/{sync-dialog-D72P64lv.js → sync-dialog-DIs4nXYk.js} +1 -1
  104. package/dist/ui/assets/telemetry-CKoAhRMv.js +3 -0
  105. package/dist/ui/assets/{transformers-env-BKCNBfWr.js → transformers-env-qWiew7Pr.js} +1 -1
  106. package/dist/ui/assets/{tray-leader-DEBMxUkS.js → tray-leader-DrAfbQnm.js} +1 -1
  107. package/dist/ui/assets/{tray-leave-runtime-D3LaARDy.js → tray-leave-runtime-C8F5bBVb.js} +1 -1
  108. package/dist/ui/assets/{tray-sidecar-Bfcy9pO0.js → tray-sidecar-Dch38j3o.js} +1 -1
  109. package/dist/ui/assets/{upgrade-detection-BZooMFxg.js → upgrade-detection-eleXApwU.js} +1 -1
  110. package/dist/ui/assets/{upskill-lick-skip-H5RyeNIq.js → upskill-lick-skip-o-jj08R_.js} +1 -1
  111. package/dist/ui/assets/{voice-reply-ClwwZfjh.js → voice-reply-ssJUqXbq.js} +1 -1
  112. package/dist/ui/assets/{wc-attach-DpNELhNG.js → wc-attach-DrO_PZXV.js} +2 -2
  113. package/dist/ui/assets/{wc-browser-6X1_NRym.js → wc-browser-BcEmFJc0.js} +1 -1
  114. package/dist/ui/assets/{wc-computers-2bCwocOU.js → wc-computers-CKNVE61X.js} +1 -1
  115. package/dist/ui/assets/{wc-detached-sDWnNsaX.js → wc-detached-zte1rxyV.js} +1 -1
  116. package/dist/ui/assets/{wc-extension-CF_DQHCJ.js → wc-extension-C5-MwGRA.js} +2 -2
  117. package/dist/ui/assets/{wc-follower-BlgNQHR9.js → wc-follower-lz8LqN14.js} +3 -3
  118. package/dist/ui/assets/{wc-follower-oauth-BBtoYPP3.js → wc-follower-oauth-Cn_hXysU.js} +1 -1
  119. package/dist/ui/assets/{wc-gelatiere-Pgs78krZ.js → wc-gelatiere-DXf5UqIf.js} +1 -1
  120. package/dist/ui/assets/{wc-live-D3BfBbnn.js → wc-live-DOOSKtTW.js} +5 -5
  121. package/dist/ui/assets/{wc-nav-CDV8ylGr.js → wc-nav-C2Qsjeh7.js} +2 -2
  122. package/dist/ui/assets/{wc-onboarding-CpKS7u3d.js → wc-onboarding-CHP5vP5-.js} +2 -2
  123. package/dist/ui/assets/{wc-placeholder-BwY4p0ld.js → wc-placeholder-DeLMhSwc.js} +3 -3
  124. package/dist/ui/assets/{wc-secret-request-HU2msCsY.js → wc-secret-request-xbMYUfYR.js} +1 -1
  125. package/dist/ui/assets/{wc-settings-OTZDaEtj.js → wc-settings-BocsIzxH.js} +3 -3
  126. package/dist/ui/assets/{wc-shell-M1btJNO6.js → wc-shell-CWS4Rc57.js} +3 -3
  127. package/dist/ui/assets/{wc-shortcut-config-BgTHSt0X.js → wc-shortcut-config-R_tR0U_4.js} +1 -1
  128. package/dist/ui/assets/{wc-sprinkles-DoKzhGCE.js → wc-sprinkles-CKzfVXIO.js} +2 -2
  129. package/dist/ui/assets/{wc-transcript-export-CxB6cd8_.js → wc-transcript-export-2J7Hoz0r.js} +2 -2
  130. package/dist/ui/assets/{wc-tray-BTgAee3m.js → wc-tray-Cn898rtM.js} +4 -4
  131. package/dist/ui/assets/welcome-detection-Dk8hjeYG.js +1 -0
  132. package/dist/ui/assets/{whisper-session-Bjyp9kUa.js → whisper-session-V1E-zT6G.js} +2 -2
  133. package/dist/ui/assets/{xai-grok-Drl4j3ci.js → xai-grok-Bd7j7q_P.js} +1 -1
  134. package/dist/ui/assets/{xai-grok-BSR4EP1b.js → xai-grok-CUHy01Ts.js} +1 -1
  135. package/dist/ui/index.html +4 -4
  136. package/dist/ui/packages/webapp/index.html +4 -4
  137. package/package.json +2 -2
  138. package/dist/ui/assets/memory-v2-flag-D4biUAiV.js +0 -1
  139. package/dist/ui/assets/provider-store-access-BfDZO7Ly.js +0 -1
  140. package/dist/ui/assets/provider-store-access-CYticOn7.js +0 -1
  141. package/dist/ui/assets/slicc-version-nVz--RAg.js +0 -1
  142. package/dist/ui/assets/telemetry-DJyRzh6X.js +0 -3
  143. package/dist/ui/assets/welcome-detection-Bvx3sh1_.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secrets-bridge-client-BJqZCK6Q.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/port-bridge-client-CZFX4fUT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-CnCvBaGV.js","assets/base64-ELzoYfwP.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/mount-bridge-client-BRywSH1d.js","assets/types-D8gIX-W-.js","assets/page-approval-service-BkqDCbBQ.js","assets/float-topology-CyZCUfkj.js","assets/speak-Br_kDtG8.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BKCNBfWr.js","assets/wc-shell-M1btJNO6.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-06nbmp2X.js","assets/account-store-_oWY-N-g.js","assets/core-DWdpOAZd.js","assets/compat-qQM4gjF_.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/secret-topology-BrobAGSV.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-DEiO6D-5.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/claude-model-version-aqjj5mtp.js","assets/telemetry-DJyRzh6X.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-BMNa26vG.js","assets/wc-shell-WkeczD9x.css","assets/shared-mBEktoxE.js","assets/hear-zSghqsv6.js","assets/permissions-surface-registry-CilCRwhh.js","assets/whisper-session-Bjyp9kUa.js","assets/esptool-operations-CiccBbBW.js","assets/rom-eeWiO07Z.js","assets/mount-picker-popup--ijSfN8u.js","assets/picker-popup-sQtXmfAo.js","assets/usb-claim-broker-Dacw2Z3M.js","assets/usb-device-registry--JwKRTYp.js","assets/theme-engine-B5SkYf3E.js","assets/tab-CgwpvlHH.js","assets/slicc-app-url-B9OxaBDe.js","assets/keys-Bluq5eTH.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import"./proxied-fetch-CnCvBaGV.js";import{J as t,m as n}from"./account-store-_oWY-N-g.js";import{a as r,t as i}from"./api-endpoint-DGxXvrur.js";import"./main-BfonTdzP.js";import{n as a,r as o}from"./hid-device-registry-B2R-0rNt.js";import{a as s,i as c}from"./serial-port-registry-CCqklAEr.js";import{_ as l,a as u,c as d,d as f,f as ee,g as te,h as ne,i as re,l as ie,m as ae,n as oe,o as se,p as ce,r as le,s as ue,t as de,u as fe,v as pe}from"./hid-operations-C97SZtrY.js";import{a as me,i as he}from"./usb-device-registry--JwKRTYp.js";import{a as ge,c as p,d as m,f as h,g,h as _,i as v,l as y,m as b,n as x,o as S,p as C,r as w,s as T,t as E,u as D}from"./usb-operations-v1mGAdRY.js";function O(e={}){let t=new Map;return De(e.emitEvent),{...F(),...I(e),...L(),..._e(e),...ve(e),...ye(e),...be(e,t),...xe(),...Se(e),...Ce(e),...Te(e),...N(),...j(),...M(),...k(),...A(),...Ne(),...Pe(),...Fe()}}function k(){return{"secrets-bridge":async({type:t,payload:n})=>{let{callSecretsBridge:r}=await e(async()=>{let{callSecretsBridge:e}=await import(`./secrets-bridge-client-BJqZCK6Q.js`).then(e=>e.t);return{callSecretsBridge:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return{response:await r(t,n)}}}}function A(){return{"mount-sign-and-forward":async({type:t,envelope:n})=>{let{callMountBridge:r}=await e(async()=>{let{callMountBridge:e}=await import(`./mount-bridge-client-BRywSH1d.js`);return{callMountBridge:e}},__vite__mapDeps([10,2,3,4,5,1,6,7,8,9,11]));return{response:await r(t,n)}}}}function j(){return{"sudo-request":async({request:t,mode:n})=>{let{resolveSudoApprovalInPage:r}=await e(async()=>{let{resolveSudoApprovalInPage:e}=await import(`./page-approval-service-BkqDCbBQ.js`);return{resolveSudoApprovalInPage:e}},__vite__mapDeps([12,4,13,5,1,3,6,7,8,9]));return r(t,n??`resolve`)}}}function M(){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 N(){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-CnCvBaGV.js`).then(e=>e.i);return{collectViaExtensionDelegate:e}},__vite__mapDeps([5,1,3,6,7,8,9])),{head:o,body:s}=await a(t,{method:n,headers:r,body:i});return{head:o,body:s}}}}async function P(t){let{captureDisplayMedia:n,sessionCaptureRequest:r}=await e(async()=>{let{captureDisplayMedia:e,sessionCaptureRequest:t}=await import(`./screencapture-media-CM5E2g6c.js`);return{captureDisplayMedia:e,sessionCaptureRequest:t}},[]),{mimeType:i,quality:a,mode:o,durationMs:s,audio:c,session:l,handle:u,maxWidth:d}=t,f=await n(o===`session`?r({session:l,handle:u,mimeType:i,quality:a,durationMs:s,maxWidth:d}):o===`video`?{mode:`video`,mimeType:i,durationMs:s??5e3,audio:!!c}:{mode:`image`,mimeType:i,quality:a});return{bytes:f.bytes.buffer.slice(f.bytes.byteOffset,f.bytes.byteOffset+f.bytes.byteLength),width:f.width,height:f.height,mimeType:f.mimeType,...f.durationMs===void 0?{}:{durationMs:f.durationMs},...f.handle===void 0?{}:{handle:f.handle}}}function F(){return{"page-info":()=>({origin:window.location.origin,href:window.location.href,title:document.title||``}),screencapture:e=>P(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-Br_kDtG8.js`);return{speak:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));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-Br_kDtG8.js`);return{kokoroVoicesIfReady:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40])),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(X)]};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(X)]}},"speak-status":async()=>{let{kokoroStatus:t}=await e(async()=>{let{kokoroStatus:e}=await import(`./speak-Br_kDtG8.js`);return{kokoroStatus:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return t()},"speak-warmup":async()=>{let{kokoroWarmup:t}=await e(async()=>{let{kokoroWarmup:e}=await import(`./speak-Br_kDtG8.js`);return{kokoroWarmup:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));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-Br_kDtG8.js`);return{synthesizeToWav:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40])),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 I(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 Q(),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 Z(r),await Q(),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 je(t,e.getPermissionsSurface)}},"oauth-route":async()=>({delegate:await e.shouldDelegateOAuth?.()===!0}),"capture-camera":async e=>await ke(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 L(){return{"hear-capture":async t=>{let{hearCapture:n}=await e(async()=>{let{hearCapture:e}=await import(`./hear-zSghqsv6.js`);return{hearCapture:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return await n(t??{})},"hear-transcribe":async({bytes:t,lang:n})=>{let{hearTranscribe:r}=await e(async()=>{let{hearTranscribe:e}=await import(`./hear-zSghqsv6.js`);return{hearTranscribe:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return await r(t,n)},"hear-status":async()=>{let{hearStatus:t}=await e(async()=>{let{hearStatus:e}=await import(`./hear-zSghqsv6.js`);return{hearStatus:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return t()},"hear-warmup":async()=>{let{hearWarmup:t}=await e(async()=>{let{hearWarmup:e}=await import(`./hear-zSghqsv6.js`);return{hearWarmup:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return t()}}}function _e(r){return{"tray-reset":async()=>{if(!r.resetTray)throw Error(`host reset: no active tray session to reset`);return await r.resetTray()},"tray-webhook-rotate":async()=>{if(!r.rotateWebhook)throw Error(`webhook rotate: no active leader tray`);return await r.rotateWebhook()},"tray-webhook-revoke":async e=>{if(!r.revokeWebhook)throw Error(`webhook delete: no active leader tray`);return await r.revokeWebhook(e.webhookId),{ok:!0}},"tray-open-preview":async e=>{if(!r.mintPreview)throw Error(`serve: no active leader tray; cannot mint preview`);return await r.mintPreview(e)},"tray-revoke-preview":async e=>{if(!r.revokePreview)throw Error(`serve: no active leader tray; cannot revoke preview`);return await r.revokePreview(e)},"tray-list-previews":async()=>{if(!r.listPreviews)throw Error(`serve: no active leader tray; cannot list previews`);return await r.listPreviews()},"tray-mint-biscotto":async e=>{if(!r.mintBiscotto)throw Error(`biscotto: no active leader tray; cannot mint a seat`);return await r.mintBiscotto(e)},"tray-revoke-biscotto":async e=>{if(!r.revokeBiscotto)throw Error(`biscotto revoke: no active leader tray; cannot revoke a seat`);return await r.revokeBiscotto(e)},"tray-list-biscotti":async()=>{if(!r.listBiscotti)throw Error(`biscotti: no active leader tray; cannot list seats`);return await r.listBiscotti()},"tray-preview-logs":async({previewToken:e})=>{if(!r.getPreviewLifecycleRecords)throw Error(`serve --logs: no active leader tray; cannot read preview logs`);return r.getPreviewLifecycleRecords(e)},"tray-preview-truncate":async({previewToken:e})=>{if(!r.truncatePreviewLifecycleRecords)throw Error(`serve --truncate: no active leader tray; cannot truncate preview logs`);return r.truncatePreviewLifecycleRecords(e)},"tray-leave":async({workerBaseUrl:e,requestId:t})=>{if(!r.leaveTray)throw Error(`host leave: tray leave is not available in this environment`);return await r.leaveTray({workerBaseUrl:e,requestId:t})},"tray-join":async({joinUrl:e,requestId:t})=>{if(!r.joinTray)throw Error(`host join: tray join is not available in this environment`);return await r.joinTray({joinUrl:e,requestId:t})},"cherry-emit":async({runtimeId:e,name:t,detail:n})=>{if(!r.emitCherrySliccEvent)throw Error(`cherry-emit: not available in this environment`);return{delivered:r.emitCherrySliccEvent(e,t,n)}},"tray-exec":async e=>{if(!r.execOnRemote)throw Error(`ssh: no active leader tray in this environment`);return await r.execOnRemote(e)},"tray-exec-signal":({execToken:e})=>(r.signalRemoteExec?.({execToken:e}),{ok:!0}),"tray-computer-native":async e=>{if(!r.computerNative)throw Error(`computer native: no active leader tray in this environment`);return await r.computerNative(e)},"oauth-extras-set":({providerId:e,domains:r})=>(t(e,r),{storeAfter:n()}),"silent-renew":async({providerId:t})=>{let{getRegisteredProviderConfig:n}=await e(async()=>{let{getRegisteredProviderConfig:e}=await import(`./providers-DEiO6D-5.js`).then(e=>e.r);return{getRegisteredProviderConfig:e}},__vite__mapDeps([32,1,3])),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})}}function ve(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 ye(e){return Ee(e.emitEvent),{"usb-list":async()=>({devices:await y(R(),U())}),"usb-request":async({filters:e})=>({device:await h(R(),U(),e)}),"usb-device-info":({handle:e})=>({device:T(R(),e)}),"usb-open":async({handle:e})=>(await D(R(),e),{done:!0}),"usb-close":async({handle:e,owner:t,force:n})=>(await v(R(),e,{owner:t,force:n}),{done:!0}),"usb-select-configuration":async({handle:e,configurationValue:t})=>(await b(R(),e,t),{done:!0}),"usb-claim-interface":async({handle:e,interfaceNumber:t,owner:n,wait:r})=>(await x(R(),e,t,{owner:n,wait:r}),{done:!0}),"usb-release-interface":async({handle:e,interfaceNumber:t,owner:n})=>(await m(R(),e,t,{owner:n}),{done:!0}),"usb-cancel-claim-wait":async({handle:e,interfaceNumber:t,owner:n})=>(await E(R(),e,t,n??`usb`),{done:!0}),"usb-drop-owner":async({owner:e})=>(await p(R(),e),{done:!0}),"usb-control-transfer-in":async({handle:e,setup:t,length:n})=>ge(R(),e,t,n),"usb-control-transfer-out":async({handle:e,setup:t,bytes:n})=>S(R(),e,t,n),"usb-transfer-in":async({handle:e,endpointNumber:t,length:n})=>_(R(),e,t,n),"usb-transfer-out":async({handle:e,endpointNumber:t,bytes:n})=>g(R(),e,t,n),"usb-reset":async({handle:e,owner:t,force:n})=>(await C(R(),e,{owner:t,force:n}),{done:!0}),"usb-clear-halt":async({handle:e,direction:t,endpointNumber:n})=>(await w(R(),e,t,n),{done:!0})}}function be(e,t){return{"hid-list":async()=>({devices:await le(W(),G())}),"hid-request":async({filters:e})=>({devices:await se(W(),G(),e)}),"hid-device-info":({handle:e})=>({device:oe(W(),e)}),"hid-open":async({handle:e})=>(await re(W(),e),{done:!0}),"hid-close":async({handle:e})=>(await de(W(),e),{done:!0}),"hid-send-report":async({handle:e,reportId:t,bytes:n})=>(await d(W(),e,t,n),{done:!0}),"hid-send-feature-report":async({handle:e,reportId:t,bytes:n})=>(await ue(W(),e,t,n),{done:!0}),"hid-receive-feature-report":async({handle:e,reportId:t})=>u(W(),e,t),"hid-subscribe-input-reports":async({handle:n})=>{t.get(n)?.();let r=await ie(W(),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 xe(){return{"serial-list":async()=>({devices:await ce(K(),q())}),"serial-request":async({filters:e})=>({device:await te(K(),q(),e)}),"serial-device-info":({handle:e})=>({device:f(K(),e)}),"serial-open":async({handle:e,options:t})=>(await ae(K(),e,t),{done:!0}),"serial-close":async({handle:e})=>(await fe(K(),e),{done:!0}),"serial-read":async({handle:e,maxBytes:t,until:n,timeoutMs:r})=>{let i=await ne(K(),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 pe(K(),e,new Uint8Array(t))}),"serial-get-signals":async({handle:e})=>({signals:await ee(K(),e)}),"serial-set-signals":async({handle:e,signals:t})=>(await l(K(),e,t),{done:!0})}}function Se(t){return{"esptool-chip-info":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolChipInfo(K(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-read-mac":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolReadMac(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolEraseFlash(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolFlash(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolReadFlash(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolReadReg(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolFlashId(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolEraseRegion(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolRun(K(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0})}}function Ce(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 we(e,t){return t===void 0?e.length>0&&e.every(e=>e===`camera`||e===`microphone`):t}function Te(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:we(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=R().register(t.device);a.push({kind:`usb`,handle:e});break}case`hid`:{let e=W().register(t.device);a.push({kind:`hid`,handle:e});break}case`serial`:{let e=K().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--ijSfN8u.js`);return{storePendingHandle:e}},__vite__mapDeps([46,4,47,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}}}}function R(){return me()}var z=null,B,V=null,H;function Ee(t){B=t,!(z||!t)&&e(()=>import(`./usb-claim-broker-Dacw2Z3M.js`).then(e=>{z||=e.addClaimListener(R(),e=>{B?.(`usb-claim-event`,e)})}),__vite__mapDeps([48,49,1]))}function De(t){H=t,!(V||!t)&&e(()=>import(`./screencapture-media-CM5E2g6c.js`).then(e=>{V||=e.displaySessions.onEnded(t=>{H?.(e.SCREENCAPTURE_SESSION_ENDED_CHANNEL,{handle:t})})}),[])}function U(){let e=he();if(!e)throw Error(`WebUSB is unavailable in this browser`);return e}function W(){return o()}function G(){let e=a();if(!e)throw Error(`WebHID is unavailable in this browser`);return e}function K(){return s()}function q(){let e=c();if(!e)throw Error(`Web Serial is unavailable in this browser`);return e}var Oe=1500;async function ke(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 Ae({wantVideo:t,videoDeviceId:t?await J(e.deviceId,`videoinput`):void 0,audioDeviceId:n?await J(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??Oe;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 J(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 Ae(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()})}}async function je(e,t){if((typeof navigator<`u`?navigator.userActivation:void 0)?.isActive===!0)return Y(window.open(e,`_blank`,`width=500,height=700,popup=yes`));let n=t?.()??null;if(n){let t=await Me(n,e);return t===void 0?null:Y(t)}return Y(window.open(e,`_blank`,`width=500,height=700,popup=yes`))}function Y(e){return new Promise(t=>{let n=!1,a=null,o=()=>{n||(n=!0,window.removeEventListener(`message`,s),clearTimeout(c),a&&clearInterval(a))},s=n=>{if(n.data?.type!==`oauth-callback`||n.origin!==window.location.origin||e&&n.source!==e)return;if(o(),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`,s),a=setInterval(async()=>{if(!n)try{let e=await fetch(r(`/api/oauth-result`),{headers:i()});if(e.status===204||!e.ok)return;let a=await e.json();if(n)return;if(o(),a.error){console.error(`[panel-rpc:oauth-popup] Server relay OAuth error:`,a.error),t(null);return}t(a.redirectUrl??null)}catch(e){console.warn(`[panel-rpc:oauth-popup] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let c=setTimeout(()=>{o();try{e?.close()}catch{}t(null)},12e4)})}async function Me(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}function X(e){return{name:e.name,lang:e.lang,default:e.default,onDevice:!1}}async function Z(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 Q(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 Ne(){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-B5SkYf3E.js`).then(e=>e.m);return{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}},__vite__mapDeps([50,1,4]));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 Pe(){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 Fe(){return{"computer-tab-screenshot":async t=>{let{screenshotTab:n}=await e(async()=>{let{screenshotTab:e}=await import(`./tab-CgwpvlHH.js`);return{screenshotTab:e}},__vite__mapDeps([51,52,19,53]));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-CgwpvlHH.js`);return{inputTab:e}},__vite__mapDeps([51,52,19,53]));return await n($(),t.targetId,t.events),{ok:!0}}}}export{O as createStandalonePanelRpcHandlers};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secrets-bridge-client-BJqZCK6Q.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/port-bridge-client-CZFX4fUT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-CnCvBaGV.js","assets/base64-ELzoYfwP.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/mount-bridge-client-BRywSH1d.js","assets/types-D8gIX-W-.js","assets/page-approval-service-BkqDCbBQ.js","assets/float-topology-CyZCUfkj.js","assets/speak-r5a7UwJ7.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-qWiew7Pr.js","assets/wc-shell-CWS4Rc57.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-06nbmp2X.js","assets/account-store-CO5j8fqd.js","assets/core-DWdpOAZd.js","assets/compat-qQM4gjF_.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/secret-topology-BrobAGSV.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-DzwGdXME.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/claude-model-version-aqjj5mtp.js","assets/telemetry-CKoAhRMv.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-BMNa26vG.js","assets/wc-shell-WkeczD9x.css","assets/shared-mBEktoxE.js","assets/hear-BQNd6keW.js","assets/permissions-surface-registry-CilCRwhh.js","assets/whisper-session-V1E-zT6G.js","assets/esptool-operations-CiccBbBW.js","assets/rom-eeWiO07Z.js","assets/mount-picker-popup--ijSfN8u.js","assets/picker-popup-sQtXmfAo.js","assets/usb-claim-broker-Dacw2Z3M.js","assets/usb-device-registry--JwKRTYp.js","assets/theme-engine-B5SkYf3E.js","assets/tab-CgwpvlHH.js","assets/slicc-app-url-B9OxaBDe.js","assets/keys-Bluq5eTH.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import"./proxied-fetch-CnCvBaGV.js";import{J as t,m as n}from"./account-store-CO5j8fqd.js";import{a as r,t as i}from"./api-endpoint-DGxXvrur.js";import"./main-DkeGbe_z.js";import{n as a,r as o}from"./hid-device-registry-B2R-0rNt.js";import{a as s,i as c}from"./serial-port-registry-CCqklAEr.js";import{_ as l,a as u,c as d,d as f,f as ee,g as te,h as ne,i as re,l as ie,m as ae,n as oe,o as se,p as ce,r as le,s as ue,t as de,u as fe,v as pe}from"./hid-operations-C97SZtrY.js";import{a as me,i as he}from"./usb-device-registry--JwKRTYp.js";import{a as ge,c as p,d as m,f as h,g,h as _,i as v,l as y,m as b,n as x,o as S,p as C,r as w,s as T,t as E,u as D}from"./usb-operations-v1mGAdRY.js";function O(e={}){let t=new Map;return De(e.emitEvent),{...F(),...I(e),...L(),..._e(e),...ve(e),...ye(e),...be(e,t),...xe(),...Se(e),...Ce(e),...Te(e),...N(),...j(),...M(),...k(),...A(),...Ne(),...Pe(),...Fe()}}function k(){return{"secrets-bridge":async({type:t,payload:n})=>{let{callSecretsBridge:r}=await e(async()=>{let{callSecretsBridge:e}=await import(`./secrets-bridge-client-BJqZCK6Q.js`).then(e=>e.t);return{callSecretsBridge:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return{response:await r(t,n)}}}}function A(){return{"mount-sign-and-forward":async({type:t,envelope:n})=>{let{callMountBridge:r}=await e(async()=>{let{callMountBridge:e}=await import(`./mount-bridge-client-BRywSH1d.js`);return{callMountBridge:e}},__vite__mapDeps([10,2,3,4,5,1,6,7,8,9,11]));return{response:await r(t,n)}}}}function j(){return{"sudo-request":async({request:t,mode:n})=>{let{resolveSudoApprovalInPage:r}=await e(async()=>{let{resolveSudoApprovalInPage:e}=await import(`./page-approval-service-BkqDCbBQ.js`);return{resolveSudoApprovalInPage:e}},__vite__mapDeps([12,4,13,5,1,3,6,7,8,9]));return r(t,n??`resolve`)}}}function M(){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 N(){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-CnCvBaGV.js`).then(e=>e.i);return{collectViaExtensionDelegate:e}},__vite__mapDeps([5,1,3,6,7,8,9])),{head:o,body:s}=await a(t,{method:n,headers:r,body:i});return{head:o,body:s}}}}async function P(t){let{captureDisplayMedia:n,sessionCaptureRequest:r}=await e(async()=>{let{captureDisplayMedia:e,sessionCaptureRequest:t}=await import(`./screencapture-media-CM5E2g6c.js`);return{captureDisplayMedia:e,sessionCaptureRequest:t}},[]),{mimeType:i,quality:a,mode:o,durationMs:s,audio:c,session:l,handle:u,maxWidth:d}=t,f=await n(o===`session`?r({session:l,handle:u,mimeType:i,quality:a,durationMs:s,maxWidth:d}):o===`video`?{mode:`video`,mimeType:i,durationMs:s??5e3,audio:!!c}:{mode:`image`,mimeType:i,quality:a});return{bytes:f.bytes.buffer.slice(f.bytes.byteOffset,f.bytes.byteOffset+f.bytes.byteLength),width:f.width,height:f.height,mimeType:f.mimeType,...f.durationMs===void 0?{}:{durationMs:f.durationMs},...f.handle===void 0?{}:{handle:f.handle}}}function F(){return{"page-info":()=>({origin:window.location.origin,href:window.location.href,title:document.title||``}),screencapture:e=>P(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-r5a7UwJ7.js`);return{speak:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));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-r5a7UwJ7.js`);return{kokoroVoicesIfReady:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40])),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(X)]};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(X)]}},"speak-status":async()=>{let{kokoroStatus:t}=await e(async()=>{let{kokoroStatus:e}=await import(`./speak-r5a7UwJ7.js`);return{kokoroStatus:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return t()},"speak-warmup":async()=>{let{kokoroWarmup:t}=await e(async()=>{let{kokoroWarmup:e}=await import(`./speak-r5a7UwJ7.js`);return{kokoroWarmup:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));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-r5a7UwJ7.js`);return{synthesizeToWav:e}},__vite__mapDeps([14,3,4,9,15,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40])),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 I(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 Q(),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 Z(r),await Q(),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 je(t,e.getPermissionsSurface)}},"oauth-route":async()=>({delegate:await e.shouldDelegateOAuth?.()===!0}),"capture-camera":async e=>await ke(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 L(){return{"hear-capture":async t=>{let{hearCapture:n}=await e(async()=>{let{hearCapture:e}=await import(`./hear-BQNd6keW.js`);return{hearCapture:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return await n(t??{})},"hear-transcribe":async({bytes:t,lang:n})=>{let{hearTranscribe:r}=await e(async()=>{let{hearTranscribe:e}=await import(`./hear-BQNd6keW.js`);return{hearTranscribe:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return await r(t,n)},"hear-status":async()=>{let{hearStatus:t}=await e(async()=>{let{hearStatus:e}=await import(`./hear-BQNd6keW.js`);return{hearStatus:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return t()},"hear-warmup":async()=>{let{hearWarmup:t}=await e(async()=>{let{hearWarmup:e}=await import(`./hear-BQNd6keW.js`);return{hearWarmup:e}},__vite__mapDeps([41,4,42,43,3,16,17,1,18,6,19,20,21,22,23,24,25,26,27,28,5,7,8,9,29,13,0,2,30,31,32,33,34,35,36,37,38,39,40]));return t()}}}function _e(r){return{"tray-reset":async()=>{if(!r.resetTray)throw Error(`host reset: no active tray session to reset`);return await r.resetTray()},"tray-webhook-rotate":async()=>{if(!r.rotateWebhook)throw Error(`webhook rotate: no active leader tray`);return await r.rotateWebhook()},"tray-webhook-revoke":async e=>{if(!r.revokeWebhook)throw Error(`webhook delete: no active leader tray`);return await r.revokeWebhook(e.webhookId),{ok:!0}},"tray-open-preview":async e=>{if(!r.mintPreview)throw Error(`serve: no active leader tray; cannot mint preview`);return await r.mintPreview(e)},"tray-revoke-preview":async e=>{if(!r.revokePreview)throw Error(`serve: no active leader tray; cannot revoke preview`);return await r.revokePreview(e)},"tray-list-previews":async()=>{if(!r.listPreviews)throw Error(`serve: no active leader tray; cannot list previews`);return await r.listPreviews()},"tray-mint-biscotto":async e=>{if(!r.mintBiscotto)throw Error(`biscotto: no active leader tray; cannot mint a seat`);return await r.mintBiscotto(e)},"tray-revoke-biscotto":async e=>{if(!r.revokeBiscotto)throw Error(`biscotto revoke: no active leader tray; cannot revoke a seat`);return await r.revokeBiscotto(e)},"tray-list-biscotti":async()=>{if(!r.listBiscotti)throw Error(`biscotti: no active leader tray; cannot list seats`);return await r.listBiscotti()},"tray-preview-logs":async({previewToken:e})=>{if(!r.getPreviewLifecycleRecords)throw Error(`serve --logs: no active leader tray; cannot read preview logs`);return r.getPreviewLifecycleRecords(e)},"tray-preview-truncate":async({previewToken:e})=>{if(!r.truncatePreviewLifecycleRecords)throw Error(`serve --truncate: no active leader tray; cannot truncate preview logs`);return r.truncatePreviewLifecycleRecords(e)},"tray-leave":async({workerBaseUrl:e,requestId:t})=>{if(!r.leaveTray)throw Error(`host leave: tray leave is not available in this environment`);return await r.leaveTray({workerBaseUrl:e,requestId:t})},"tray-join":async({joinUrl:e,requestId:t})=>{if(!r.joinTray)throw Error(`host join: tray join is not available in this environment`);return await r.joinTray({joinUrl:e,requestId:t})},"cherry-emit":async({runtimeId:e,name:t,detail:n})=>{if(!r.emitCherrySliccEvent)throw Error(`cherry-emit: not available in this environment`);return{delivered:r.emitCherrySliccEvent(e,t,n)}},"tray-exec":async e=>{if(!r.execOnRemote)throw Error(`ssh: no active leader tray in this environment`);return await r.execOnRemote(e)},"tray-exec-signal":({execToken:e})=>(r.signalRemoteExec?.({execToken:e}),{ok:!0}),"tray-computer-native":async e=>{if(!r.computerNative)throw Error(`computer native: no active leader tray in this environment`);return await r.computerNative(e)},"oauth-extras-set":({providerId:e,domains:r})=>(t(e,r),{storeAfter:n()}),"silent-renew":async({providerId:t})=>{let{getRegisteredProviderConfig:n}=await e(async()=>{let{getRegisteredProviderConfig:e}=await import(`./providers-DzwGdXME.js`).then(e=>e.r);return{getRegisteredProviderConfig:e}},__vite__mapDeps([32,1,3])),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})}}function ve(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 ye(e){return Ee(e.emitEvent),{"usb-list":async()=>({devices:await y(R(),U())}),"usb-request":async({filters:e})=>({device:await h(R(),U(),e)}),"usb-device-info":({handle:e})=>({device:T(R(),e)}),"usb-open":async({handle:e})=>(await D(R(),e),{done:!0}),"usb-close":async({handle:e,owner:t,force:n})=>(await v(R(),e,{owner:t,force:n}),{done:!0}),"usb-select-configuration":async({handle:e,configurationValue:t})=>(await b(R(),e,t),{done:!0}),"usb-claim-interface":async({handle:e,interfaceNumber:t,owner:n,wait:r})=>(await x(R(),e,t,{owner:n,wait:r}),{done:!0}),"usb-release-interface":async({handle:e,interfaceNumber:t,owner:n})=>(await m(R(),e,t,{owner:n}),{done:!0}),"usb-cancel-claim-wait":async({handle:e,interfaceNumber:t,owner:n})=>(await E(R(),e,t,n??`usb`),{done:!0}),"usb-drop-owner":async({owner:e})=>(await p(R(),e),{done:!0}),"usb-control-transfer-in":async({handle:e,setup:t,length:n})=>ge(R(),e,t,n),"usb-control-transfer-out":async({handle:e,setup:t,bytes:n})=>S(R(),e,t,n),"usb-transfer-in":async({handle:e,endpointNumber:t,length:n})=>_(R(),e,t,n),"usb-transfer-out":async({handle:e,endpointNumber:t,bytes:n})=>g(R(),e,t,n),"usb-reset":async({handle:e,owner:t,force:n})=>(await C(R(),e,{owner:t,force:n}),{done:!0}),"usb-clear-halt":async({handle:e,direction:t,endpointNumber:n})=>(await w(R(),e,t,n),{done:!0})}}function be(e,t){return{"hid-list":async()=>({devices:await le(W(),G())}),"hid-request":async({filters:e})=>({devices:await se(W(),G(),e)}),"hid-device-info":({handle:e})=>({device:oe(W(),e)}),"hid-open":async({handle:e})=>(await re(W(),e),{done:!0}),"hid-close":async({handle:e})=>(await de(W(),e),{done:!0}),"hid-send-report":async({handle:e,reportId:t,bytes:n})=>(await d(W(),e,t,n),{done:!0}),"hid-send-feature-report":async({handle:e,reportId:t,bytes:n})=>(await ue(W(),e,t,n),{done:!0}),"hid-receive-feature-report":async({handle:e,reportId:t})=>u(W(),e,t),"hid-subscribe-input-reports":async({handle:n})=>{t.get(n)?.();let r=await ie(W(),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 xe(){return{"serial-list":async()=>({devices:await ce(K(),q())}),"serial-request":async({filters:e})=>({device:await te(K(),q(),e)}),"serial-device-info":({handle:e})=>({device:f(K(),e)}),"serial-open":async({handle:e,options:t})=>(await ae(K(),e,t),{done:!0}),"serial-close":async({handle:e})=>(await fe(K(),e),{done:!0}),"serial-read":async({handle:e,maxBytes:t,until:n,timeoutMs:r})=>{let i=await ne(K(),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 pe(K(),e,new Uint8Array(t))}),"serial-get-signals":async({handle:e})=>({signals:await ee(K(),e)}),"serial-set-signals":async({handle:e,signals:t})=>(await l(K(),e,t),{done:!0})}}function Se(t){return{"esptool-chip-info":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolChipInfo(K(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-read-mac":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolReadMac(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolEraseFlash(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolFlash(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolReadFlash(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolReadReg(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolFlashId(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolEraseRegion(K(),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-CiccBbBW.js`),__vite__mapDeps([44,1,3,45]))).esptoolRun(K(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0})}}function Ce(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 we(e,t){return t===void 0?e.length>0&&e.every(e=>e===`camera`||e===`microphone`):t}function Te(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:we(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=R().register(t.device);a.push({kind:`usb`,handle:e});break}case`hid`:{let e=W().register(t.device);a.push({kind:`hid`,handle:e});break}case`serial`:{let e=K().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--ijSfN8u.js`);return{storePendingHandle:e}},__vite__mapDeps([46,4,47,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}}}}function R(){return me()}var z=null,B,V=null,H;function Ee(t){B=t,!(z||!t)&&e(()=>import(`./usb-claim-broker-Dacw2Z3M.js`).then(e=>{z||=e.addClaimListener(R(),e=>{B?.(`usb-claim-event`,e)})}),__vite__mapDeps([48,49,1]))}function De(t){H=t,!(V||!t)&&e(()=>import(`./screencapture-media-CM5E2g6c.js`).then(e=>{V||=e.displaySessions.onEnded(t=>{H?.(e.SCREENCAPTURE_SESSION_ENDED_CHANNEL,{handle:t})})}),[])}function U(){let e=he();if(!e)throw Error(`WebUSB is unavailable in this browser`);return e}function W(){return o()}function G(){let e=a();if(!e)throw Error(`WebHID is unavailable in this browser`);return e}function K(){return s()}function q(){let e=c();if(!e)throw Error(`Web Serial is unavailable in this browser`);return e}var Oe=1500;async function ke(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 Ae({wantVideo:t,videoDeviceId:t?await J(e.deviceId,`videoinput`):void 0,audioDeviceId:n?await J(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??Oe;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 J(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 Ae(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()})}}async function je(e,t){if((typeof navigator<`u`?navigator.userActivation:void 0)?.isActive===!0)return Y(window.open(e,`_blank`,`width=500,height=700,popup=yes`));let n=t?.()??null;if(n){let t=await Me(n,e);return t===void 0?null:Y(t)}return Y(window.open(e,`_blank`,`width=500,height=700,popup=yes`))}function Y(e){return new Promise(t=>{let n=!1,a=null,o=()=>{n||(n=!0,window.removeEventListener(`message`,s),clearTimeout(c),a&&clearInterval(a))},s=n=>{if(n.data?.type!==`oauth-callback`||n.origin!==window.location.origin||e&&n.source!==e)return;if(o(),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`,s),a=setInterval(async()=>{if(!n)try{let e=await fetch(r(`/api/oauth-result`),{headers:i()});if(e.status===204||!e.ok)return;let a=await e.json();if(n)return;if(o(),a.error){console.error(`[panel-rpc:oauth-popup] Server relay OAuth error:`,a.error),t(null);return}t(a.redirectUrl??null)}catch(e){console.warn(`[panel-rpc:oauth-popup] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let c=setTimeout(()=>{o();try{e?.close()}catch{}t(null)},12e4)})}async function Me(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}function X(e){return{name:e.name,lang:e.lang,default:e.default,onDevice:!1}}async function Z(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 Q(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 Ne(){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-B5SkYf3E.js`).then(e=>e.m);return{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}},__vite__mapDeps([50,1,4]));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 Pe(){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 Fe(){return{"computer-tab-screenshot":async t=>{let{screenshotTab:n}=await e(async()=>{let{screenshotTab:e}=await import(`./tab-CgwpvlHH.js`);return{screenshotTab:e}},__vite__mapDeps([51,52,19,53]));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-CgwpvlHH.js`);return{inputTab:e}},__vite__mapDeps([51,52,19,53]));return await n($(),t.targetId,t.events),{ok:!0}}}}export{O as createStandalonePanelRpcHandlers};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{A as t,B as n,G as r,H as i,K as a,N as o,V as s,W as c,q as l,z as u}from"./wc-shell-M1btJNO6.js";import"./virtual-device-paths-D45tpPP6.js";import{r as d}from"./icons-BMNa26vG.js";import{setLayoutApplier as f}from"./layout-apply-registry-Cw730jao.js";var p=e(`add-panel-menu`),m=`slicc-add-panel-menu-style`,h=[`.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(``),g=typeof globalThis.prompt==`function`?globalThis.prompt.bind(globalThis):void 0;function ee(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``).slice(0,64);return t.length>0?t:null}function te(e){if(e.getElementById(m))return;let t=e.createElement(`style`);t.id=m,t.textContent=h,(e.head??e.documentElement).appendChild(t)}function _(e){te(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 i=new DOMParser().parseFromString(d(`layout-dashboard`,{size:14}),`image/svg+xml`).documentElement;n.appendChild(i);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(),m()}),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),m()}),n.appendChild(r),n};function l(){let t=e.promptForName??g;if(!t){p.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=ee(n);if(!r){p.warn(`layout not saved: the name reduced to nothing`,{raw:n});return}e.onSaveLayout(r)}let u=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={},i=c();for(let e of i)(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(u(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,u(`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,l))}catch(e){p.warn(`could not list layouts for the menu`,{error:e})}a.replaceChildren(...n)}function m(){a.removeAttribute(`open`),document.removeEventListener(`pointerdown`,h,!0)}let h=e=>{t.contains(e.target)||m()};return n.addEventListener(`click`,()=>{if(a.hasAttribute(`open`)){m();return}f().then(()=>{a.setAttribute(`open`,``),document.addEventListener(`pointerdown`,h,!0)})}),r.addEventListener(`panel-registry-change`,()=>{a.hasAttribute(`open`)&&f()}),t.append(n,a),t}var v={chat:`chat`,sessionsRail:`sessions-rail`,dockRail:`dock-rail`,scoopSwitcher:`scoop-switcher`,floatbar:`floatbar`,files:`files`,term:`term`,memory:`memory`,monitor:`monitor`,browser:`browser`},y={[v.chat]:{id:v.chat,title:`Chat`,icon:`message-circle`,minWidth:320,preferredSize:3},[v.sessionsRail]:{id:v.sessionsRail,title:`Sessions`,icon:`history`,preferredSize:`44px`},[v.dockRail]:{id:v.dockRail,title:`Dock`,icon:`layout-grid`,preferredSize:`48px`},[v.scoopSwitcher]:{id:v.scoopSwitcher,title:`Scoops`,icon:`users`},[v.floatbar]:{id:v.floatbar,title:`Runtime`,icon:`activity`},[v.files]:{id:v.files,title:`Files`,icon:`folder`,minWidth:220},[v.term]:{id:v.term,title:`Terminal`,icon:`square-terminal`},[v.memory]:{id:v.memory,title:`Memory`,icon:`brain`},[v.monitor]:{id:v.monitor,title:`Monitor`,icon:`activity`},[v.browser]:{id:v.browser,title:`Browser`,icon:`globe`}};function b(e,t){let n=document.createElement(`slicc-panel`);n.setAttribute(`panel-id`,e);let r=y[e];return r?.title&&n.setAttribute(`aria-label`,r.title),n.appendChild(t),n}function x(){for(let e of Object.values(y))a({meta:e,source:{kind:`element`,tag:`slicc-panel`},origin:`builtin`})}function ne(e){if(!e?.startsWith(`sprinkle:`))return null;let t=e.slice(9);return t.length>0?t:null}function S(){return{when:{maxWidth:700},docks:[],zones:{center:[v.chat]},floating:[]}}function C(){return[{edge:`top`,size:`36px`,panels:[v.scoopSwitcher,v.floatbar],locked:!0},{edge:`left`,size:`44px`,panels:[v.sessionsRail],locked:!0},{edge:`right`,size:`48px`,panels:[v.dockRail],locked:!0}]}var w={version:1,id:`default`,title:`Default`,base:{docks:C(),zones:{center:[v.chat]}},variants:[S()]},T={default:w};function E(e){return T[e]??null}function D(){return Object.keys(T)}e(`sudo:sudoers`);var O=`/etc/slicc/layouts`;[`NOPASSWD Read /tmp`,`NOPASSWD Read /tmp/**`,`NOPASSWD Write /tmp`,`NOPASSWD Write /tmp/**`].join(`
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{A as t,B as n,G as r,H as i,K as a,N as o,V as s,W as c,q as l,z as u}from"./wc-shell-CWS4Rc57.js";import"./virtual-device-paths-D45tpPP6.js";import{r as d}from"./icons-BMNa26vG.js";import{setLayoutApplier as f}from"./layout-apply-registry-Cw730jao.js";var p=e(`add-panel-menu`),m=`slicc-add-panel-menu-style`,h=[`.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(``),g=typeof globalThis.prompt==`function`?globalThis.prompt.bind(globalThis):void 0;function ee(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``).slice(0,64);return t.length>0?t:null}function te(e){if(e.getElementById(m))return;let t=e.createElement(`style`);t.id=m,t.textContent=h,(e.head??e.documentElement).appendChild(t)}function _(e){te(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 i=new DOMParser().parseFromString(d(`layout-dashboard`,{size:14}),`image/svg+xml`).documentElement;n.appendChild(i);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(),m()}),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),m()}),n.appendChild(r),n};function l(){let t=e.promptForName??g;if(!t){p.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=ee(n);if(!r){p.warn(`layout not saved: the name reduced to nothing`,{raw:n});return}e.onSaveLayout(r)}let u=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={},i=c();for(let e of i)(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(u(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,u(`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,l))}catch(e){p.warn(`could not list layouts for the menu`,{error:e})}a.replaceChildren(...n)}function m(){a.removeAttribute(`open`),document.removeEventListener(`pointerdown`,h,!0)}let h=e=>{t.contains(e.target)||m()};return n.addEventListener(`click`,()=>{if(a.hasAttribute(`open`)){m();return}f().then(()=>{a.setAttribute(`open`,``),document.addEventListener(`pointerdown`,h,!0)})}),r.addEventListener(`panel-registry-change`,()=>{a.hasAttribute(`open`)&&f()}),t.append(n,a),t}var v={chat:`chat`,sessionsRail:`sessions-rail`,dockRail:`dock-rail`,scoopSwitcher:`scoop-switcher`,floatbar:`floatbar`,files:`files`,term:`term`,memory:`memory`,monitor:`monitor`,browser:`browser`},y={[v.chat]:{id:v.chat,title:`Chat`,icon:`message-circle`,minWidth:320,preferredSize:3},[v.sessionsRail]:{id:v.sessionsRail,title:`Sessions`,icon:`history`,preferredSize:`44px`},[v.dockRail]:{id:v.dockRail,title:`Dock`,icon:`layout-grid`,preferredSize:`48px`},[v.scoopSwitcher]:{id:v.scoopSwitcher,title:`Scoops`,icon:`users`},[v.floatbar]:{id:v.floatbar,title:`Runtime`,icon:`activity`},[v.files]:{id:v.files,title:`Files`,icon:`folder`,minWidth:220},[v.term]:{id:v.term,title:`Terminal`,icon:`square-terminal`},[v.memory]:{id:v.memory,title:`Memory`,icon:`brain`},[v.monitor]:{id:v.monitor,title:`Monitor`,icon:`activity`},[v.browser]:{id:v.browser,title:`Browser`,icon:`globe`}};function b(e,t){let n=document.createElement(`slicc-panel`);n.setAttribute(`panel-id`,e);let r=y[e];return r?.title&&n.setAttribute(`aria-label`,r.title),n.appendChild(t),n}function x(){for(let e of Object.values(y))a({meta:e,source:{kind:`element`,tag:`slicc-panel`},origin:`builtin`})}function ne(e){if(!e?.startsWith(`sprinkle:`))return null;let t=e.slice(9);return t.length>0?t:null}function S(){return{when:{maxWidth:700},docks:[],zones:{center:[v.chat]},floating:[]}}function C(){return[{edge:`top`,size:`36px`,panels:[v.scoopSwitcher,v.floatbar],locked:!0},{edge:`left`,size:`44px`,panels:[v.sessionsRail],locked:!0},{edge:`right`,size:`48px`,panels:[v.dockRail],locked:!0}]}var w={version:1,id:`default`,title:`Default`,base:{docks:C(),zones:{center:[v.chat]}},variants:[S()]},T={default:w};function E(e){return T[e]??null}function D(){return Object.keys(T)}e(`sudo:sudoers`);var O=`/etc/slicc/layouts`;[`NOPASSWD Read /tmp`,`NOPASSWD Read /tmp/**`,`NOPASSWD Write /tmp`,`NOPASSWD Write /tmp/**`].join(`
2
2
  `);var k=e(`layout-store`),A=`/workspace/layouts`,j=[A,O];function M(e,t){return`${t?.protected?O:A}/${e}.json`}async function N(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?(k.warn(`invalid layout document — ignoring`,{path:t,error:i.error}),null):i}catch(e){return k.warn(`failed to read layout`,{path:t,error:e instanceof Error?e.message:e}),null}}async function P(e,t,n){let r=n?.name??t.id,i=n?.protected?O:A,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`),k.info(`layout saved`,{path:a}),a}async function F(e,t,n){let r=M(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 j){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){k.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 N(e,o);s&&(n.add(i),t.push({name:i,path:o,doc:s,protected:r===O}))}}return t}async function L(e,t){for(let n of j){let r=`${n}/${t}.json`,i=await N(e,r);if(i)return{name:t,path:r,doc:i,protected:n===O}}return null}function R(e,t,n){let r=e.getLayout(),a=o(r,e.environment());if(n){let e=a.zones??i(a.center??null);s(e,t)?a.zones||(a.zones=e,a.center=null):(a.zones=u(e,t,`right`),a.center=null)}r.panels={...r.panels,[t]:{...r.panels?.[t],visible:n}},e.setLayout(r)}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=E(t);return r?(e.layout.setLayout(r),{applied:!0,output:`loaded preset "${t}"`}):{applied:!1,error:`unknown layout "${t}" — try: ${D().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 P(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: ${D().join(`, `)}`);let r=e.layout.getLayout();return n.push(`current: ${r.id}`),{applied:!0,output:n.join(`
3
3
  `)}}function G(e){let t=new Set(e.layout.getPlacedPanelIds()),n={builtin:[],sprinkle:[],agent:[]};for(let e of c()){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(`
4
4
  `)}}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;}`].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([v.files,v.term,v.memory,v.monitor,v.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,r)=>{let i=b(n,r);Z(r),t.set(n,i),e.appendChild(i),a({meta:{id:n,title:ne(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,n=w,r,i){if(e.frame.dataset.sliccPanelized===`1`)return J.warn(`panelizeShell called twice — ignoring the second call`),null;re(document),x();let a=r,o=document.createElement(`slicc-layout`),s=new Map,c=(e,t)=>{if(!t)return;let n=b(e,t);s.set(e,n),o.appendChild(n)};e.freezer.setAttribute(`docked`,``),e.frame.querySelector(`.wcui-appcol`)?.style.setProperty(`--rail-w`,`0px`),c(v.scoopSwitcher,e.switcher),c(v.floatbar,e.floatbar),c(v.sessionsRail,e.freezer),c(v.dockRail,e.dock),c(v.chat,e.chatPane);for(let t of[v.files,v.term,v.memory,v.monitor,v.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(_({layout:o,onToggle:(e,t)=>{q({layout:o,fs:a},{kind:t?`show`:`hide`,panelId:e})},onLoadLayout:e=>{q({layout:o,fs:a},{kind:`load`,name:e})},onSaveLayout:e=>{q({layout:o,fs:a},{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:a},{kind:`delete`,name:e})},listLayoutNames:async()=>({saved:a?(await I(a)).map(e=>e.name):[],presets:D()})})),l.appendChild(e.avatarMenu),t(l,document),e.shell.replaceWith(o),e.frame.querySelector(`slicc-nav`)?.remove(),se(o,n),ae(e.dock,o,e.overlaySurfaces,i),f(e=>V(e)?q({layout:o,fs:a},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:n.id});let u={layout:o,avatarStrip:l,panels:s,attachFs:e=>{a=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,2 +1,2 @@
1
- import{a as e,n as t,t as n}from"./path-utils-DNJG-zQf.js";import{t as r}from"./types-D8gIX-W-.js";import"./fs-KJBUdRz_.js";import{t as i}from"./kernel-worker-CBI5EKGn.js";let a;function o(){return a??=import(`./edit-BnFODSzt.js`).then(({createEditTool:e})=>e()),a}function s(e){return{ok:!0,value:e}}function c(e){return{ok:!1,error:e}}var l=class extends Error{code;path;constructor(e,t,n,r){super(t,r===void 0?void 0:{cause:r}),this.code=e,this.path=n,this.name=`FileError`}},u=class extends Error{code=`shell_unavailable`;constructor(e){super(e),this.name=`ExecutionError`}};function d(e){if(!(e instanceof r))return`unknown`;switch(e.code){case`ENOENT`:return`not_found`;case`EACCES`:return`permission_denied`;case`ENOTDIR`:return`not_directory`;case`EISDIR`:return`is_directory`;case`EINVAL`:case`ELOOP`:return`invalid`;default:return`unknown`}}function f(e,t){if(e instanceof l)return e;let n=e instanceof Error?e:Error(String(e));return new l(d(e),n.message,t,n)}function p(e,t){return e?.aborted?c(new l(`aborted`,`aborted`,t)):null}var m=class{fs;cwd;constructor(e,t){this.fs=e,this.cwd=t}async absolutePath(e,r){return p(r,e)||s(t(e.startsWith(`/`)?e:n(this.cwd,e)))}async canonicalPath(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{return s(await this.fs.realpath(n.value))}catch(e){return c(f(e,n.value))}}async fileInfo(t,n){let r=await this.absolutePath(t,n);if(!r.ok)return r;try{let t=await this.fs.lstat(r.value);return s({name:e(r.value).base,path:r.value,kind:t.type,size:t.size,mtimeMs:t.mtime})}catch(e){return c(f(e,r.value))}}async readTextFile(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{let e=await this.fs.readTextFile(n.value);return p(t,n.value)??s(e)}catch(e){return c(f(e,n.value))}}async writeFile(e,t,n){let r=await this.absolutePath(e,n);if(!r.ok)return r;try{if(await this.fs.writeFile(r.value,t),typeof t==`string`){let e=await i(this.fs,r.value,t);if(e)return c(new l(`unknown`,e,r.value))}return p(n,r.value)??s(void 0)}catch(e){return c(f(e,r.value))}}unsupported(e,t){return c(new l(`not_supported`,`${e} is unavailable to the edit tool`,t))}async joinPath(e){return s(n(...e))}async readTextLines(e,t){let n=await this.readTextFile(e,t?.abortSignal);if(!n.ok)return n;let r=n.value.split(/\r?\n/);return s(t?.maxLines===void 0?r:r.slice(0,t.maxLines))}async readBinaryFile(e){return this.unsupported(`readBinaryFile`,e)}async appendFile(e){return this.unsupported(`appendFile`,e)}async renameFile(e){return this.unsupported(`renameFile`,e)}async listDir(e){return this.unsupported(`listDir`,e)}async exists(e){return this.unsupported(`exists`,e)}async createDir(e){return this.unsupported(`createDir`,e)}async remove(e){return this.unsupported(`remove`,e)}async createTempDir(){return this.unsupported(`createTempDir`)}async createTempFile(){return this.unsupported(`createTempFile`)}async exec(){return c(new u(`Shell is unavailable to the edit tool`))}async cleanup(){}};const h=new WeakMap;function g(e,t){let n=h.get(e);n||h.set(e,n=new Map);let r=n.get(t);return r||n.set(t,r=new m(e,t)),r}async function _(e,t,n,r){return{content:(await(await o()).execute(`slicc-edit`,n,r,void 0,{env:g(e,t)})).content.filter(e=>e.type===`text`).map(e=>e.text).join(`
1
+ import{a as e,n as t,t as n}from"./path-utils-DNJG-zQf.js";import{t as r}from"./types-D8gIX-W-.js";import"./fs-BCzdJySO.js";import{t as i}from"./kernel-worker-B_E73nMm.js";let a;function o(){return a??=import(`./edit-BnFODSzt.js`).then(({createEditTool:e})=>e()),a}function s(e){return{ok:!0,value:e}}function c(e){return{ok:!1,error:e}}var l=class extends Error{code;path;constructor(e,t,n,r){super(t,r===void 0?void 0:{cause:r}),this.code=e,this.path=n,this.name=`FileError`}},u=class extends Error{code=`shell_unavailable`;constructor(e){super(e),this.name=`ExecutionError`}};function d(e){if(!(e instanceof r))return`unknown`;switch(e.code){case`ENOENT`:return`not_found`;case`EACCES`:return`permission_denied`;case`ENOTDIR`:return`not_directory`;case`EISDIR`:return`is_directory`;case`EINVAL`:case`ELOOP`:return`invalid`;default:return`unknown`}}function f(e,t){if(e instanceof l)return e;let n=e instanceof Error?e:Error(String(e));return new l(d(e),n.message,t,n)}function p(e,t){return e?.aborted?c(new l(`aborted`,`aborted`,t)):null}var m=class{fs;cwd;constructor(e,t){this.fs=e,this.cwd=t}async absolutePath(e,r){return p(r,e)||s(t(e.startsWith(`/`)?e:n(this.cwd,e)))}async canonicalPath(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{return s(await this.fs.realpath(n.value))}catch(e){return c(f(e,n.value))}}async fileInfo(t,n){let r=await this.absolutePath(t,n);if(!r.ok)return r;try{let t=await this.fs.lstat(r.value);return s({name:e(r.value).base,path:r.value,kind:t.type,size:t.size,mtimeMs:t.mtime})}catch(e){return c(f(e,r.value))}}async readTextFile(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{let e=await this.fs.readTextFile(n.value);return p(t,n.value)??s(e)}catch(e){return c(f(e,n.value))}}async writeFile(e,t,n){let r=await this.absolutePath(e,n);if(!r.ok)return r;try{if(await this.fs.writeFile(r.value,t),typeof t==`string`){let e=await i(this.fs,r.value,t);if(e)return c(new l(`unknown`,e,r.value))}return p(n,r.value)??s(void 0)}catch(e){return c(f(e,r.value))}}unsupported(e,t){return c(new l(`not_supported`,`${e} is unavailable to the edit tool`,t))}async joinPath(e){return s(n(...e))}async readTextLines(e,t){let n=await this.readTextFile(e,t?.abortSignal);if(!n.ok)return n;let r=n.value.split(/\r?\n/);return s(t?.maxLines===void 0?r:r.slice(0,t.maxLines))}async readBinaryFile(e){return this.unsupported(`readBinaryFile`,e)}async appendFile(e){return this.unsupported(`appendFile`,e)}async renameFile(e){return this.unsupported(`renameFile`,e)}async listDir(e){return this.unsupported(`listDir`,e)}async exists(e){return this.unsupported(`exists`,e)}async createDir(e){return this.unsupported(`createDir`,e)}async remove(e){return this.unsupported(`remove`,e)}async createTempDir(){return this.unsupported(`createTempDir`)}async createTempFile(){return this.unsupported(`createTempFile`)}async exec(){return c(new u(`Shell is unavailable to the edit tool`))}async cleanup(){}};const h=new WeakMap;function g(e,t){let n=h.get(e);n||h.set(e,n=new Map);let r=n.get(t);return r||n.set(t,r=new m(e,t)),r}async function _(e,t,n,r){return{content:(await(await o()).execute(`slicc-edit`,n,r,void 0,{env:g(e,t)})).content.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
2
  `)}}export{_ as executePiEdit};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-B9TgYyVA.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/path-utils-DNJG-zQf.js","assets/bounded-walk-BjxKWNqp.js","assets/types-D8gIX-W-.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/proxied-fetch-CnCvBaGV.js","assets/base64-ELzoYfwP.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/oauth-service-WTeDvR5m.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{G as n,f as r,w as i}from"./account-store-_oWY-N-g.js";import{n as a}from"./float-topology-CyZCUfkj.js";import{i as o}from"./providers-DEiO6D-5.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./pkce-hGf_TEnP.js";import{t as d}from"./types-D8gIX-W-.js";var f=t(`mcp-store`),p=`/workspace/.mcp/servers.json`,m=1,h=null,g=null;async function _(){return h||=await e(()=>import(`./fs-B9TgYyVA.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),h}async function v(e){if(e)return e;if(g&&g.dbName===`slicc-fs-global`)return g.instance;let{VirtualFS:t}=await _(),n=await t.create({dbName:s});return g={instance:n,dbName:s},n}function y(){return{version:m,servers:{}}}function b(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function x(e){if(!b(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function S(e){if(!b(e))return y();let t=e,n=typeof t.version==`number`?t.version:m,r={};if(b(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=x(n);t&&(r[e]=t)}return{version:n,servers:r}}async function C(e){try{let t=await(await v(e)).readFile(p,{encoding:`utf-8`});try{return S(JSON.parse(t))}catch(e){return f.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),y()}}catch(e){if(e instanceof d&&e.code===`ENOENT`)return y();throw e}}async function w(e){return(await C(e)).servers}async function T(){let e=await w(),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 E=t(`mcp-oauth`);function D(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 O(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;E.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`,E.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,E.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;E.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 D(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 k(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function A(e){let t=c();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await u(t),method:e}}function j(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 M(e){let t=await A(k(e.asMetadata.codeChallengeMethods)),n=l(),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}=j(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return P({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function N(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 P(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 N(r)}async function F(e){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(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return N(r)}var I=`/auth/mcp-callback`;async function L(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-CnCvBaGV.js`).then(e=>e.i);return{getLocalApiBaseUrl:e}},__vite__mapDeps([10,1,2,11,12,13,14])),n=t();if(n)return`${n}/auth/callback`}let{getOAuthPageOrigin:n}=await e(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-WTeDvR5m.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([15,2,10,1,11,12,13,14,16,17])),{origin:r}=await n();return`${r}${t===`extension-delegate`?I:`/auth/callback`}`}var R=t(`mcp-provider`),z=`mcp:`;function B(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function V(e){return`${z}${e}`}var H=new Map,U=new Set;async function W(t){if(t)return t;let{createProxiedFetch:n}=await e(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-CnCvBaGV.js`).then(e=>e.i);return{createProxiedFetch:e}},__vite__mapDeps([10,1,2,11,12,13,14])),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 G(e){let t=H.get(V(e.name));if(t)return t;let n=await W(e.fetchImpl),r=await O(e.serverUrl,void 0,n);return H.set(V(e.name),r),r}function K(e){let t=V(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(r,i)=>{let o=e.launcher??r,s=await W(e.fetchImpl),c=await M({asMetadata:await G(e),clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await L(a()),launcher:o,fetchImpl:s});await n({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken,tokenExpiresAt:c.expiresAt,scopes:c.scope}),i()},onSilentRenew:async()=>{if(!i(t))return null;let a=r().find(e=>e.providerId===t),o=a?.refreshToken;if(!o)return R.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let r=await G(e),i=r.grantTypes??[];if(i.length>0&&!i.includes(`refresh_token`))return R.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await W(e.fetchImpl),c=await F({tokenEndpoint:r.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await n({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return R.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function q(e){let t=V(e.name);if(U.has(t))return;let n=K(e);o(n),U.add(t),R.debug(`Registered MCP provider`,{id:t})}async function J(){if(!B())return[];let{readMcpAuthEntries:t}=await e(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-BfDZO7Ly.js`);return{readMcpAuthEntries:e}},[]),n=await t(),r=[];for(let e of n)q({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),r.push(V(e.name));return r}export{J as ensureAllMcpProvidersRegistered,T as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-Cm5oEtAS.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/path-utils-DNJG-zQf.js","assets/bounded-walk-BjxKWNqp.js","assets/types-D8gIX-W-.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/proxied-fetch-CnCvBaGV.js","assets/base64-ELzoYfwP.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/oauth-service-WTeDvR5m.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{G as n,f as r,w as i}from"./account-store-CO5j8fqd.js";import{n as a}from"./float-topology-CyZCUfkj.js";import{i as o}from"./providers-DzwGdXME.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./pkce-hGf_TEnP.js";import{t as d}from"./types-D8gIX-W-.js";var f=t(`mcp-store`),p=`/workspace/.mcp/servers.json`,m=1,h=null,g=null;async function _(){return h||=await e(()=>import(`./fs-Cm5oEtAS.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),h}async function v(e){if(e)return e;if(g&&g.dbName===`slicc-fs-global`)return g.instance;let{VirtualFS:t}=await _(),n=await t.create({dbName:s});return g={instance:n,dbName:s},n}function y(){return{version:m,servers:{}}}function b(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function x(e){if(!b(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function S(e){if(!b(e))return y();let t=e,n=typeof t.version==`number`?t.version:m,r={};if(b(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=x(n);t&&(r[e]=t)}return{version:n,servers:r}}async function C(e){try{let t=await(await v(e)).readFile(p,{encoding:`utf-8`});try{return S(JSON.parse(t))}catch(e){return f.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),y()}}catch(e){if(e instanceof d&&e.code===`ENOENT`)return y();throw e}}async function w(e){return(await C(e)).servers}async function T(){let e=await w(),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 E=t(`mcp-oauth`);function D(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 O(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;E.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`,E.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,E.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;E.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 D(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 k(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function A(e){let t=c();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await u(t),method:e}}function j(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 M(e){let t=await A(k(e.asMetadata.codeChallengeMethods)),n=l(),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}=j(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return P({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function N(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 P(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 N(r)}async function F(e){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(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return N(r)}var I=`/auth/mcp-callback`;async function L(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-CnCvBaGV.js`).then(e=>e.i);return{getLocalApiBaseUrl:e}},__vite__mapDeps([10,1,2,11,12,13,14])),n=t();if(n)return`${n}/auth/callback`}let{getOAuthPageOrigin:n}=await e(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-WTeDvR5m.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([15,2,10,1,11,12,13,14,16,17])),{origin:r}=await n();return`${r}${t===`extension-delegate`?I:`/auth/callback`}`}var R=t(`mcp-provider`),z=`mcp:`;function B(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function V(e){return`${z}${e}`}var H=new Map,U=new Set;async function W(t){if(t)return t;let{createProxiedFetch:n}=await e(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-CnCvBaGV.js`).then(e=>e.i);return{createProxiedFetch:e}},__vite__mapDeps([10,1,2,11,12,13,14])),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 G(e){let t=H.get(V(e.name));if(t)return t;let n=await W(e.fetchImpl),r=await O(e.serverUrl,void 0,n);return H.set(V(e.name),r),r}function K(e){let t=V(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(r,i)=>{let o=e.launcher??r,s=await W(e.fetchImpl),c=await M({asMetadata:await G(e),clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await L(a()),launcher:o,fetchImpl:s});await n({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken,tokenExpiresAt:c.expiresAt,scopes:c.scope}),i()},onSilentRenew:async()=>{if(!i(t))return null;let a=r().find(e=>e.providerId===t),o=a?.refreshToken;if(!o)return R.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let r=await G(e),i=r.grantTypes??[];if(i.length>0&&!i.includes(`refresh_token`))return R.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await W(e.fetchImpl),c=await F({tokenEndpoint:r.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await n({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return R.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function q(e){let t=V(e.name);if(U.has(t))return;let n=K(e);o(n),U.add(t),R.debug(`Registered MCP provider`,{id:t})}async function J(){if(!B())return[];let{readMcpAuthEntries:t}=await e(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-DJMZsYZD.js`);return{readMcpAuthEntries:e}},[]),n=await t(),r=[];for(let e of n)q({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),r.push(V(e.name));return r}export{J as ensureAllMcpProvidersRegistered,T as t};
@@ -1 +1 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import{i as t,s as n,t as r}from"./providers-DDnH2Ikl.js";import{_ as i,l as a,r as o}from"./account-store-C0smCH0b.js";import{a as s}from"./core-w0-0FXns.js";import{t as c}from"./redirect-uri-D2aDPCyB.js";import{discoverAuth as l,refreshAccessToken as u,runAuthFlow as d}from"./oauth-DR6XMm1M.js";import{n as f}from"./store-BYzp8NI8.js";const p=e(`mcp-provider`);function m(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function h(e){return`mcp:${e}`}const g=new Map,_=new Set;async function v(e){if(e)return e;let{createProxiedFetch:t}=await import(`./proxied-fetch-CPL8wJM2.js`).then(e=>e.i),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 l(e.serverUrl,void 0,n);return g.set(h(e.name),r),r}function b(e){let t=h(e.name),n=(()=>{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:n?[n]:[],getModelIds:()=>[],onOAuthLogin:async(n,r)=>{let a=e.launcher??n,o=await v(e.fetchImpl),l=await y(e),u=await d({asMetadata:l,clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await c(s()),launcher:a,fetchImpl:o});await i({providerId:t,accessToken:u.accessToken,refreshToken:u.refreshToken,tokenExpiresAt:u.expiresAt,scopes:u.scope}),r()},onSilentRenew:async()=>{if(!a(t))return null;let n=o().find(e=>e.providerId===t),r=n?.refreshToken;if(!r)return p.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let a=await y(e),o=a.grantTypes??[];if(o.length>0&&!o.includes(`refresh_token`))return p.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await v(e.fetchImpl),c=await u({tokenEndpoint:a.tokenEndpoint,clientId:e.auth.clientId,refreshToken:r,scope:e.auth.scope,fetchImpl:s});return await i({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??r,tokenExpiresAt:c.expiresAt,scopes:c.scope??n.scopes}),c.accessToken}catch(e){return p.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function x(e){let n=h(e.name);if(_.has(n))return;let r=b(e);t(r),_.add(n),p.debug(`Registered MCP provider`,{id:n})}async function S(e,t={}){let n=h(e);if(_.has(n)&&r(n))return!0;if(!m())return!1;let i=await f(e);return i?(x({name:e,serverUrl:i.serverUrl,auth:i.auth,...t}),!0):!1}async function C(){if(!m())return[];let{readMcpAuthEntries:e}=await import(`./provider-store-access-CYticOn7.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),n(t)}export{C as ensureAllMcpProvidersRegistered,S as ensureMcpProviderRegistered,x as registerMcpProvider,w as removeMcpProvider};
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{i as t,s as n,t as r}from"./providers-D6gtc-hk.js";import{_ as i,l as a,r as o}from"./account-store-CSd9ln_t.js";import{a as s}from"./core-w0-0FXns.js";import{t as c}from"./redirect-uri-D2aDPCyB.js";import{discoverAuth as l,refreshAccessToken as u,runAuthFlow as d}from"./oauth-DR6XMm1M.js";import{n as f}from"./store-CKg683uK.js";const p=e(`mcp-provider`);function m(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function h(e){return`mcp:${e}`}const g=new Map,_=new Set;async function v(e){if(e)return e;let{createProxiedFetch:t}=await import(`./proxied-fetch-CPL8wJM2.js`).then(e=>e.i),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 l(e.serverUrl,void 0,n);return g.set(h(e.name),r),r}function b(e){let t=h(e.name),n=(()=>{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:n?[n]:[],getModelIds:()=>[],onOAuthLogin:async(n,r)=>{let a=e.launcher??n,o=await v(e.fetchImpl),l=await y(e),u=await d({asMetadata:l,clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await c(s()),launcher:a,fetchImpl:o});await i({providerId:t,accessToken:u.accessToken,refreshToken:u.refreshToken,tokenExpiresAt:u.expiresAt,scopes:u.scope}),r()},onSilentRenew:async()=>{if(!a(t))return null;let n=o().find(e=>e.providerId===t),r=n?.refreshToken;if(!r)return p.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let a=await y(e),o=a.grantTypes??[];if(o.length>0&&!o.includes(`refresh_token`))return p.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await v(e.fetchImpl),c=await u({tokenEndpoint:a.tokenEndpoint,clientId:e.auth.clientId,refreshToken:r,scope:e.auth.scope,fetchImpl:s});return await i({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??r,tokenExpiresAt:c.expiresAt,scopes:c.scope??n.scopes}),c.accessToken}catch(e){return p.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function x(e){let n=h(e.name);if(_.has(n))return;let r=b(e);t(r),_.add(n),p.debug(`Registered MCP provider`,{id:n})}async function S(e,t={}){let n=h(e);if(_.has(n)&&r(n))return!0;if(!m())return!1;let i=await f(e);return i?(x({name:e,serverUrl:i.serverUrl,auth:i.auth,...t}),!0):!1}async function C(){if(!m())return[];let{readMcpAuthEntries:e}=await import(`./provider-store-access-CbDgkNWt.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),n(t)}export{C as ensureAllMcpProvidersRegistered,S as ensureMcpProviderRegistered,x as registerMcpProvider,w as removeMcpProvider};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import"./account-store-C0smCH0b.js";import"./core-w0-0FXns.js";import"./tray-runtime-config-dyxCfUex.js";var n=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-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import"./account-store-CSd9ln_t.js";import"./core-w0-0FXns.js";import"./tray-runtime-config-dyxCfUex.js";var n=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-CKg683uK.js";import"./provider-C1frqbfo.js";export{e as readMcpAuthEntries};
@@ -0,0 +1 @@
1
+ import{t as e}from"./provider-Bb0xbzwM.js";export{e as readMcpAuthEntries};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},n=e({allProviderConfigs:()=>u,getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>m});const r=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=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-Cm0dqkf0.js`),"./built-in/bedrock-camp-compat.ts":()=>import(`./bedrock-camp-compat-99DjWBHV.js`).then(e=>e.n),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-C8BwH8Mj.js`),"./built-in/local-llm.ts":()=>import(`./local-llm-C7T1M_NI.js`).then(e=>e.n)}),o=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-D8bfhWFa.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-BEKAS5HH.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-rsfkYfvK.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-_GgWC1Vq.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-BWGWiycb.js`),"/packages/webapp/providers/openrouter-free.ts":()=>import(`./openrouter-free-DersFAEc.js`),"/packages/webapp/providers/openrouter-models.ts":()=>import(`./openrouter-models-DyyLIGVe.js`),"/packages/webapp/providers/openrouter-oauth.ts":()=>import(`./openrouter-oauth-DW4_wGaN.js`),"/packages/webapp/providers/openrouter.ts":()=>import(`./openrouter-Bhxgi8JW.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-BSR4EP1b.js`)}),s=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-Dd_uD5pT.js";var t={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},n=e({allProviderConfigs:()=>u,getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>m});const r=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=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-1CGZ13Xd.js`),"./built-in/bedrock-camp-compat.ts":()=>import(`./bedrock-camp-compat-99DjWBHV.js`).then(e=>e.n),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-C8BwH8Mj.js`),"./built-in/local-llm.ts":()=>import(`./local-llm-DDkwdHyc.js`).then(e=>e.n)}),o=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-CDiyKngx.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-tNDfiVUD.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-Oo61bE7g.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-Byb7oq2Z.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-exrXNvF6.js`),"/packages/webapp/providers/openrouter-free.ts":()=>import(`./openrouter-free-mInoX5ZF.js`),"/packages/webapp/providers/openrouter-models.ts":()=>import(`./openrouter-models-DyyLIGVe.js`),"/packages/webapp/providers/openrouter-oauth.ts":()=>import(`./openrouter-oauth-B-h9BK0H.js`),"/packages/webapp/providers/openrouter.ts":()=>import(`./openrouter-Bkggx_c_.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-CUHy01Ts.js`)}),s=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,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-CGgFuiTh.js","assets/diagnostics-DN_idNHx.js","assets/models-BSkXF4T6.js","assets/preload-helper-Czpn1I53.js","assets/compat-qQM4gjF_.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/openrouter.models-B-zmcypy.js","assets/account-store-_oWY-N-g.js","assets/core-DWdpOAZd.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-CnCvBaGV.js","assets/base64-ELzoYfwP.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-BrobAGSV.js","assets/float-topology-CyZCUfkj.js","assets/secrets-bridge-client-BJqZCK6Q.js","assets/port-bridge-client-CZFX4fUT.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/claude-model-version-aqjj5mtp.js","assets/transform-messages-BsQjTIEJ.js","assets/bedrock-camp-DM61Hzzx.js","assets/temperature-support-AorxnzPZ.js","assets/local-llm-BRe_Kttg.js","assets/legacy-api-aliases-DtQJ5I7w.js","assets/adobe-i2veKh2G.js","assets/main-BfonTdzP.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-06nbmp2X.js","assets/telemetry-DJyRzh6X.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/silent-renew-backoff-DrQ0_tES.js","assets/provider-budget-LCzMPlKv.js","assets/oauth-service-WTeDvR5m.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-nQZqQsKF.js","assets/github-copilot-jobL3_Cf.js","assets/github-CgEE40ok.js","assets/global-db-CbuLl-zx.js","assets/openai-codex-NAo35j43.js","assets/pkce-hGf_TEnP.js","assets/openrouter-free-Dl2pScMt.js","assets/openrouter-models-Cfi7qjq5.js","assets/openrouter-oauth-C3bVnGt2.js","assets/openrouter-sloSkMqY.js","assets/xai-grok-Drl4j3ci.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-Czpn1I53.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-CGgFuiTh.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,22,23,24,25,26,27])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-BeCSBUrZ.js`).then(e=>e.n),__vite__mapDeps([25,7])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-DM61Hzzx.js`),__vite__mapDeps([28,1,2,3,4,5,6,7,8,26,27,29])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-BRe_Kttg.js`),__vite__mapDeps([30,1,4,2,3,5,6,7,8,31,12,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-i2veKh2G.js`),__vite__mapDeps([32,1,3,4,2,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,29,43])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-nQZqQsKF.js`),__vite__mapDeps([44,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-jobL3_Cf.js`),__vite__mapDeps([45,1,3,4,2,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-CgEE40ok.js`),__vite__mapDeps([46,3,13,7,14,15,16,17,9,10,4,2,1,5,6,8,11,12,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,41,42,47])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-NAo35j43.js`),__vite__mapDeps([48,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,49])),"/packages/webapp/providers/openrouter-free.ts":()=>t(()=>import(`./openrouter-free-Dl2pScMt.js`),__vite__mapDeps([50,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,51,52,49])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-Cfi7qjq5.js`),__vite__mapDeps([51,8])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-C3bVnGt2.js`),__vite__mapDeps([52,9,7,10,4,2,1,3,5,6,8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,49])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-sloSkMqY.js`),__vite__mapDeps([53,4,2,1,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,51,52,49])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-Drl4j3ci.js`),__vite__mapDeps([54,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,49,55]))}),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-DgbniRrN.js","assets/diagnostics-DN_idNHx.js","assets/models-BSkXF4T6.js","assets/preload-helper-Czpn1I53.js","assets/compat-qQM4gjF_.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/openrouter.models-B-zmcypy.js","assets/account-store-CO5j8fqd.js","assets/core-DWdpOAZd.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-CnCvBaGV.js","assets/base64-ELzoYfwP.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-BrobAGSV.js","assets/float-topology-CyZCUfkj.js","assets/secrets-bridge-client-BJqZCK6Q.js","assets/port-bridge-client-CZFX4fUT.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/claude-model-version-aqjj5mtp.js","assets/transform-messages-BsQjTIEJ.js","assets/bedrock-camp-DM61Hzzx.js","assets/temperature-support-AorxnzPZ.js","assets/local-llm-CPxQQw4V.js","assets/legacy-api-aliases-DtQJ5I7w.js","assets/adobe-DddGNTmH.js","assets/main-DkeGbe_z.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-06nbmp2X.js","assets/telemetry-CKoAhRMv.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/silent-renew-backoff-DzM2UJ6J.js","assets/provider-budget-LCzMPlKv.js","assets/oauth-service-WTeDvR5m.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-ByJuyh4F.js","assets/github-copilot-CNlhuTM3.js","assets/github-0xP--480.js","assets/global-db-CbuLl-zx.js","assets/openai-codex-DveIvLh0.js","assets/pkce-hGf_TEnP.js","assets/openrouter-free-B-GfYj4S.js","assets/openrouter-models-Cfi7qjq5.js","assets/openrouter-oauth-DKmSW14n.js","assets/openrouter-CKO_Yein.js","assets/xai-grok-Bd7j7q_P.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-Czpn1I53.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-DgbniRrN.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,22,23,24,25,26,27])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-BeCSBUrZ.js`).then(e=>e.n),__vite__mapDeps([25,7])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-DM61Hzzx.js`),__vite__mapDeps([28,1,2,3,4,5,6,7,8,26,27,29])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-CPxQQw4V.js`),__vite__mapDeps([30,1,4,2,3,5,6,7,8,31,12,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-DddGNTmH.js`),__vite__mapDeps([32,1,3,4,2,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,29,43])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-ByJuyh4F.js`),__vite__mapDeps([44,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-CNlhuTM3.js`),__vite__mapDeps([45,1,3,4,2,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-0xP--480.js`),__vite__mapDeps([46,3,13,7,14,15,16,17,9,10,4,2,1,5,6,8,11,12,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,41,42,47])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-DveIvLh0.js`),__vite__mapDeps([48,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,49])),"/packages/webapp/providers/openrouter-free.ts":()=>t(()=>import(`./openrouter-free-B-GfYj4S.js`),__vite__mapDeps([50,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,51,52,49])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-Cfi7qjq5.js`),__vite__mapDeps([51,8])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-DKmSW14n.js`),__vite__mapDeps([52,9,7,10,4,2,1,3,5,6,8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,49])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-CKO_Yein.js`),__vite__mapDeps([53,4,2,1,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,51,52,49])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-Bd7j7q_P.js`),__vite__mapDeps([54,1,4,2,3,5,6,7,8,31,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,49,55]))}),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-Dd_uD5pT.js";import{t}from"./compat-qQM4gjF_.js";import{t as n}from"./logger-DDBAeTLF.js";import{E as r,O as i,g as a,k as o}from"./account-store-_oWY-N-g.js";import{t as s}from"./llm-session-id-bZQs6gBN.js";import{i as c,t as l}from"./icons-BMNa26vG.js";var u=e({lucideIconNames:()=>h,pickLucideIcon:()=>g,quickLabel:()=>f}),d=n(`quick-llm`);async function f(e){let n=a();if(!n)return d.debug(`No API key for active provider — skipping`),null;let r=o(),s=i(),c;if(c=e.modelId?b(r,e.modelId)??b(r,s):_(r,s),!c)return d.debug(`No model available for provider`,{providerId:r}),null;let l={role:`user`,content:e.prompt,timestamp:Date.now()},u={};c.provider===`adobe`&&(u[`X-Session-Id`]=S());try{let r=(await t(c,{systemPrompt:e.system,messages:[l]},{apiKey:n,maxTokens:e.maxTokens??60,temperature:e.temperature??.3,signal:e.signal,headers:Object.keys(u).length>0?u:void 0})).content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim();return r.length>0?r:null}catch(e){return d.debug(`Quick label call failed`,{error:e instanceof Error?e.message:String(e)}),null}}var p=null;function m(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 h(){return p||=Object.keys(c).map(m).sort(),p}async function g(e){let t=h(),n=await(e.labelFn??f)({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 l(r)?r:null}function _(e,t){let n=r(e);if(n.length===0)return;let i=n.find(e=>e.id===t)??n[0],a=y(i.id),o=n.filter(e=>v(e,i,a));return o.length===0?i:(o.sort((e,t)=>(e.cost?.input??0)-(t.cost?.input??0)),o[0])}function v(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 y(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 b(e,t){return r(e).find(e=>e.id===t)}var x=`ui-quick-llm`;function S(){return s(x)}export{u as n,f as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./compat-qQM4gjF_.js";import{t as n}from"./logger-DDBAeTLF.js";import{E as r,O as i,g as a,k as o}from"./account-store-CO5j8fqd.js";import{t as s}from"./llm-session-id-bZQs6gBN.js";import{i as c,t as l}from"./icons-BMNa26vG.js";var u=e({lucideIconNames:()=>h,pickLucideIcon:()=>g,quickLabel:()=>f}),d=n(`quick-llm`);async function f(e){let n=a();if(!n)return d.debug(`No API key for active provider — skipping`),null;let r=o(),s=i(),c;if(c=e.modelId?b(r,e.modelId)??b(r,s):_(r,s),!c)return d.debug(`No model available for provider`,{providerId:r}),null;let l={role:`user`,content:e.prompt,timestamp:Date.now()},u={};c.provider===`adobe`&&(u[`X-Session-Id`]=S());try{let r=(await t(c,{systemPrompt:e.system,messages:[l]},{apiKey:n,maxTokens:e.maxTokens??60,temperature:e.temperature??.3,signal:e.signal,headers:Object.keys(u).length>0?u:void 0})).content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim();return r.length>0?r:null}catch(e){return d.debug(`Quick label call failed`,{error:e instanceof Error?e.message:String(e)}),null}}var p=null;function m(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 h(){return p||=Object.keys(c).map(m).sort(),p}async function g(e){let t=h(),n=await(e.labelFn??f)({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 l(r)?r:null}function _(e,t){let n=r(e);if(n.length===0)return;let i=n.find(e=>e.id===t)??n[0],a=y(i.id),o=n.filter(e=>v(e,i,a));return o.length===0?i:(o.sort((e,t)=>(e.cost?.input??0)-(t.cost?.input??0)),o[0])}function v(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 y(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 b(e,t){return r(e).find(e=>e.id===t)}var x=`ui-quick-llm`;function S(){return s(x)}export{u as n,f as t};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./__vite-browser-external-5eBdwsFd.js";import{r as n,t as r}from"./multipart-form-data-DopbgwRR.js";import{n as i}from"./slicc-version-nVz--RAg.js";import{t as a}from"./buffer-polyfill-BccMjOKj.js";import{t as o}from"./buffer-B5d1xHaH.js";import{F as s,I as c,N as l,P as u}from"./shared-C_68vn79.js";import{I as d,M as f,R as p,T as m,_ as h,c as g,g as _,i as v,j as y,l as b,n as x,r as S,s as C,w}from"./sync-sab-wire-CC30v4TL.js";import{t as T}from"./tmpdir-env-ate4iNcK.js";import{t as E}from"./realm-browser-fetch-V3uggGbM.js";function D(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function O(e){let t=D(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function k(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function A(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function ee(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var te=class{tree=new Map;initialPaths=new Set;initialContent=new Map;initialKind=new Map;mkdtempCounter=0;tombstones=new Set;removedDirs=new Set;touched=!1;constructor(e){this.loadSnapshot(e)}loadSnapshot(e){this.tree=new Map,this.tombstones=new Set,this.removedDirs=new Set,this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map,this.tree.set(`/`,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(`/`),this.initialKind.set(`/`,`directory`);for(let t of e.entries){let e=D(t.path);this.tree.set(e,{content:t.content,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,symlinkTarget:t.symlinkTarget,truncated:t.truncated,size:t.size}),this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}for(let t of e.entries){let e=O(D(t.path));for(;e!==`/`&&!this.tree.has(e);)this.tree.set(e,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(e),this.initialKind.set(e,`directory`),e=O(e)}}wasUsed(){return this.touched}applySnapshot(e){this.loadSnapshot(e)}applySnapshotPreservingMutations(e){let t=this.getMutations();this.loadSnapshot(e);for(let e of t.deleted){if(this.tree.get(e)?.isDirectory){let t=e===`/`?`/`:e+`/`;for(let n of Array.from(this.tree.keys()))n!==e&&n.startsWith(t)&&this.tree.delete(n)}this.tree.delete(e)}for(let e of t.created)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink,symlinkTarget:e.symlinkTarget});for(let e of t.modified)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:!1})}invalidate(){this.loadSnapshot({entries:[]})}resetBaseline(){this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map;for(let[e,t]of this.tree.entries())this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}entryKind(e){return e.isSymbolicLink?`symlink`:e.isDirectory?`directory`:`file`}resolveEntry(e,t=!1){let n=D(e),r=n.split(`/`).filter(Boolean),i=[],a=new Set,o=0;if(r.length===0){let e=this.tree.get(`/`);return e?{path:`/`,entry:e}:void 0}for(;r.length>0;){let e=r.shift(),s=`/${[...i,e].join(`/`)}`,c=this.tree.get(s);if(!c)return;let l=r.length===0;if(c.isSymbolicLink&&!(t&&l)){if(a.has(s)||o++===40)throw Object.assign(Error(`ELOOP: too many symbolic links, '${n}'`),{code:`ELOOP`});a.add(s);let e=c.symlinkTarget??``;r=[...D(e.startsWith(`/`)?e:`${O(s)}/${e}`).split(`/`).filter(Boolean),...r],i=[];continue}if(!l&&!c.isDirectory)return;if(i.push(e),l)return{path:s,entry:c}}}ensureParentDirs(e){let t=O(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(D(e))?.partial===!0}commitWrite(e,t){this.writeFile(e,t);let n=D(e);for(this.initialContent.set(n,t);n!==`/`;){let e=this.tree.get(n);e&&(this.initialPaths.add(n),this.initialKind.set(n,this.entryKind(e))),n=O(n)}}readFile(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw k(t);if(n.truncated)throw A(t);return n.content}writeFile(e,t){this.touched=!0;let n=D(e);this.ensureParentDirs(n),this.tree.set(n,{content:t,isDirectory:!1}),this.tombstones.delete(n),this.removedDirs.delete(n)}exists(e){this.touched=!0;let t=D(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t);if(!n)throw k(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t,!0);if(!n)throw k(t);return this.toStat(n.entry)}toStat(e){return{isFile:!e.isDirectory&&!e.isSymbolicLink,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink===!0,size:e.isDirectory?0:e.size??e.content.byteLength}}readdir(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw k(t);let r=n.path===`/`?`/`:n.path+`/`,i=new Set;for(let e of this.tree.keys()){if(e===t||e===`/`||!e.startsWith(r))continue;let n=e.slice(r.length).split(`/`)[0];n&&i.add(n)}return Array.from(i)}mkdir(e,t,n=!1){this.touched=!0;let r=D(e);if(this.tree.has(r)){if(this.tree.get(r).isDirectory)return;throw Object.assign(Error(`EEXIST: file already exists, '${r}'`),{code:`EEXIST`})}let i=O(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw k(r);this.mkdir(i,!0,n)}this.tree.set(r,{content:new Uint8Array,isDirectory:!0,...n?{partial:!0}:{}}),this.tombstones.delete(r),this.removedDirs.delete(r)}rm(e,t){this.touched=!0;let n=D(e),r=this.tree.get(n);if(!r)throw k(n);if(r.isDirectory&&!r.isSymbolicLink){let e=n===`/`?`/`:n+`/`,r=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));if(r.length>0&&!t)throw Object.assign(Error(`ENOTEMPTY: directory not empty, '${n}'`),{code:`ENOTEMPTY`});for(let e of r)this.tree.delete(e),this.tombstones.add(e);t&&this.removedDirs.add(n)}this.tree.delete(n),this.tombstones.add(n)}copyFile(e,t){this.touched=!0;let n=D(e),r=this.tree.get(n);if(!r||r.isDirectory)throw k(n);if(r.truncated)throw A(n);let i=D(t);this.ensureParentDirs(i),this.tree.set(i,{content:r.content.slice(),isDirectory:!1}),this.tombstones.delete(i),this.removedDirs.delete(i)}rename(e,t){this.touched=!0;let n=D(e),r=this.tree.get(n);if(!r)throw k(n);let i=D(t);if(r.isDirectory){let e=n===`/`?`/`:n+`/`,t=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n);for(let e of t){let t=this.tree.get(e),r=i+e.slice(n.length);this.tree.set(r,t),this.tree.delete(e)}this.tombstones.add(n),this.removedDirs.add(n),this.tombstones.delete(i),this.removedDirs.delete(i);return}this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n),this.tombstones.add(n),this.tombstones.delete(i),this.removedDirs.delete(i)}unlink(e){this.touched=!0;let t=D(e),n=this.tree.get(t);if(!n)throw k(t);if(n.isDirectory&&!n.isSymbolicLink)throw Object.assign(Error(`EISDIR: illegal operation on a directory, unlink '${t}'`),{code:`EISDIR`});this.tree.delete(t),this.tombstones.add(t)}markRemoved(e,t=!1){this.touched=!0;let n=D(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=D(e);if(this.tombstones.has(t))return!0;for(let e of this.removedDirs)if(t===e||t.startsWith(`${e}/`))return!0;return!1}mkdtemp(e){this.touched=!0;for(let t=0;t<100;t++){let t=`_${String(this.mkdtempCounter).padStart(6,`0`)}`;this.mkdtempCounter++;let n=D(e+t);if(!this.tree.has(n))return this.mkdir(n,!0),n}throw Error(`mkdtemp: failed to create unique directory after 100 attempts`)}getMutations(){let e=[],t=[],n=[];for(let[r,i]of this.tree.entries()){if(r===`/`)continue;if(!this.initialPaths.has(r)){e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}let a=this.initialKind.get(r);if(a!==void 0&&a!==this.entryKind(i)){n.push(r),e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}if(!i.isDirectory&&!i.isSymbolicLink){let e=this.initialContent.get(r);e&&!ee(e,i.content)&&t.push({path:r,content:i.content})}}for(let e of this.initialPaths)e!==`/`&&(this.tree.has(e)||n.push(e));return{created:e,modified:t,deleted:n}}};function ne(){return globalThis.Buffer}function re(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}function ie(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function ae(e,t){return Object.assign(Error(`EBADF: bad file descriptor, ${e} ${String(t)}`),{code:`EBADF`})}function oe(e){return e===`/dev/stdin`||e===`/dev/stdout`||e===`/dev/stderr`}function se(e){if(e===0||e===`/dev/stdin`)return 0;if(e===1||e===`/dev/stdout`)return 1;if(e===2||e===`/dev/stderr`)return 2}function ce(e,t){let n=se(e);if(n===0)return!0;if(n!==void 0||typeof e==`number`)throw ae(t,e);return!1}function le(e,t,n){let r=se(t);if(r===1)return e.writeStdout;if(r===2)return e.writeStderr;if(r!==void 0||typeof t==`number`)throw ae(n,t)}function ue(e){return typeof e==`string`?e:ie(xe(e))}function de(e,t){if(t===`utf8`||t===`utf-8`)return new TextDecoder().decode(e);let n=ne();return n?n.from(e):e}function fe(e){return typeof e==`string`?e:e?.encoding}function pe(){return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,isCharacterDevice:()=>!0,size:0}}function me(e,t){if(!t)return;let n={readFile:e.readFile,readFileBinary:e.readFileBinary,writeFile:e.writeFile,writeFileBinary:e.writeFileBinary,appendFile:e.appendFile,access:e.access,exists:e.exists,stat:e.stat};e.readFile=async(e,r)=>{if(!ce(e,`read`))return n.readFile(e,r);let i=fe(r);if(i===null||i===`buffer`){let e=ne(),n=t.readStdinBytes();return e?e.from(n):n}return new TextDecoder().decode(t.readStdinBytes())},e.readFileBinary=async e=>ce(e,`read`)?t.readStdinBytes():n.readFileBinary(e),e.writeFile=async(e,r)=>{let i=le(t,e,`write`);return i?(i(ue(r)),!0):n.writeFile(e,r)},e.writeFileBinary=async(e,r)=>{let i=le(t,e,`write`);return i?(i(ie(r)),!0):n.writeFileBinary(e,r)},e.appendFile=async(e,r)=>{let i=le(t,e,`append`);if(!i)return n.appendFile(e,r);i(ue(r))},e.access=async e=>{if(!oe(e))return n.access(e)},e.exists=async e=>oe(e)||n.exists(e),e.stat=async e=>oe(e)?{isFile:!0,isDirectory:!1,size:0}:n.stat(e)}function he(e,t,n){function r(e){if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return e instanceof ArrayBuffer?new Uint8Array(e):new TextEncoder().encode(typeof e==`string`?e:String(e))}async function i(t,n){let r=typeof n==`string`?n:n?.encoding;if(r===null||r===`buffer`){let n=await e.call(`vfs`,`readFileBinary`,[t]),r=ne();return r?r.from(n instanceof Uint8Array?n:new Uint8Array(n)):n}return e.call(`vfs`,`readFile`,[t])}async function a(t,n){return typeof n==`string`?e.call(`vfs`,`writeFile`,[t,n]):e.call(`vfs`,`writeFileBinary`,[t,r(n)])}async function o(t,n){if(typeof n==`string`){await e.call(`vfs`,`appendFile`,[t,n]);return}await e.call(`vfs`,`appendFile`,[t,r(n)])}async function s(t,n,r){let i=await e.call(`vfs`,`stat`,[t]);if(i.isFile){let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]);return}if(!i.isDirectory||!r?.recursive)throw Error(`cp: '${t}' is a directory (use {recursive: true})`);await l(n);let a=await e.call(`vfs`,`readDir`,[t]);for(let e of a)await s(`${t}/${e}`,`${n}/${e}`,r)}async function c(t,n){if(n?.force&&!await e.call(`vfs`,`exists`,[t]))return!0;if((await e.call(`vfs`,`stat`,[t])).isFile)return e.call(`vfs`,`rm`,[t]);if(!n?.recursive)throw Error(`rm: '${t}' is a directory (use {recursive: true})`);let r=await e.call(`vfs`,`readDir`,[t]);for(let e of r)await c(`${t}/${e}`,n);return e.call(`vfs`,`rm`,[t])}async function l(t){await e.call(`vfs`,`mkdir`,[t])}async function u(t){for(let n=0;n<5;n++){let n=`${t}${Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6)}`;if(!await e.call(`vfs`,`exists`,[n]))return await e.call(`vfs`,`mkdir`,[n]),n}throw Error(`mkdtemp: failed to create unique directory after 5 attempts`)}async function d(t,n){try{await e.call(`vfs`,`rename`,[t,n])}catch{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]),await e.call(`vfs`,`rm`,[t])}}async function f(t){if(!await e.call(`vfs`,`exists`,[t]))throw Object.assign(Error(`ENOENT: no such file or directory, access '${t}'`),{code:`ENOENT`})}let p={readFile:i,readFileBinary:t=>e.call(`vfs`,`readFileBinary`,[t]),writeFile:a,writeFileBinary:(t,n)=>e.call(`vfs`,`writeFileBinary`,[t,n]),appendFile:o,cp:s,rm:c,readDir:t=>e.call(`vfs`,`readDir`,[t]),readdir:t=>e.call(`vfs`,`readDir`,[t]),exists:t=>e.call(`vfs`,`exists`,[t]),stat:t=>e.call(`vfs`,`stat`,[t]),mkdir:(t,n)=>e.call(`vfs`,`mkdir`,[t]),mkdtemp:u,rename:d,access:f,unlink:t=>e.call(`vfs`,`rm`,[t]),rmdir:t=>e.call(`vfs`,`rm`,[t]),copyFile:async(t,n)=>{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r])},fetchToFile:async(n,r)=>{let i=await t(n);if(!i.ok)throw Error(`fetch ${i.status} ${i.statusText}`);let a=new Uint8Array(await i.arrayBuffer());return await e.call(`vfs`,`writeFileBinary`,[r,a]),a.byteLength},promises:null};return me(p,n),p.promises=p,p}function j(e,t,n=``){return Object.assign(Error(`${e}: sync-fs, ${n?`${n} `:``}'${t}'`),{code:e})}function ge(e,t,n,r={},i){let a=r.recursive===!0;try{return r.requireFile?e.unlink(n):e.rm(n,a),i?.(n),!0}catch(e){if(e?.code!==`ENOENT`)throw e}let o=t;if(!o?.rm||e.isTombstoned(n))return!1;try{if(!o.exists(n))return!1}catch{return!1}return o.rm(n),e.markRemoved(n,a),!0}function _e(e){let{syncFs:t,bridge:n,resolve:r,existsResolved:i,lstatResolved:a,statResolved:o,readBytes:s,writeThrough:c,persistDelete:l}=e,u=(e,r)=>ge(t,n,e,r,l);return{rmSync(e,t){let n=r(e);if(!(t?.force&&!i(n))&&!u(n,{recursive:t?.recursive===!0})&&!t?.force)throw j(`ENOENT`,n,`rm`)},rmdirSync(e,t){let n=r(e);if(i(n)&&!a(n).isDirectory)throw j(`ENOTDIR`,n,`rmdir`);if(!u(n,{recursive:t?.recursive===!0}))throw j(`ENOENT`,n,`rmdir`)},unlinkSync(e){let t=r(e);if(!u(t,{requireFile:!0}))throw j(`ENOENT`,t,`unlink`)},renameSync(e,i){let a=r(e),l=r(i);try{t.rename(a,l);return}catch(e){if(e?.code!==`ENOENT`)throw e}if(!n||t.isTombstoned(a))throw j(`ENOENT`,a,`rename`);if(o(a).isDirectory)throw j(`EISDIR`,a,`rename`);if(c(l,s(a)),!u(a,{requireFile:!0}))throw j(`ENOENT`,a,`rename`)}}}function ve(e,t){if(!t)return;let n={readFileSync:e.readFileSync,writeFileSync:e.writeFileSync,appendFileSync:e.appendFileSync,existsSync:e.existsSync,accessSync:e.accessSync,statSync:e.statSync,lstatSync:e.lstatSync};e.readFileSync=(e,r)=>ce(e,`read`)?de(t.readStdinBytes(),fe(r)):n.readFileSync(e,r),e.writeFileSync=(e,r)=>{let i=le(t,e,`write`);i?i(ue(r)):n.writeFileSync(e,r)},e.appendFileSync=(e,r)=>{let i=le(t,e,`append`);i?i(ue(r)):n.appendFileSync(e,r)},e.existsSync=e=>oe(e)||n.existsSync(e),e.accessSync=e=>{oe(e)||n.accessSync(e)},e.statSync=e=>oe(e)?pe():n.statSync(e),e.lstatSync=e=>oe(e)?pe():n.lstatSync(e)}function ye(e,t,n,r){let i=t=>e===`/`?`/${t}`:`${e}/${t}`,a=new Set(n);for(let e of t)a.add(e);for(let e of a)r(i(e))&&a.delete(e);return[...a]}function be(e,t,n){let r=t=>e.isTombstoned(t);try{let i=e.readdir(n);if(!t||!e.isPartial(n)||r(n))return i;try{return ye(n,i,t.readdir(n),r)}catch(e){if(e?.code===`ENOENT`)return i;throw e}}catch(e){let i=e?.code;if(!t||r(n)||i!==`ENOENT`)throw e;return ye(n,[],t.readdir(n),r)}}function xe(e){if(typeof e==`string`)return new TextEncoder().encode(e);if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return new TextEncoder().encode(String(e))}function Se(e,t,n,r,i){t?(t.writeFile(r,i),e.commitWrite(r,i)):(e.writeFile(r,i),n?.write?.(r,i))}function Ce(e,t,n,r,i){function a(e){return D(e.startsWith(`/`)?e:t+(t.endsWith(`/`)?``:`/`)+e)}function o(t){try{return e.readFile(t)}catch(r){let i=r?.code;if(n&&!e.isTombstoned(t)&&(i===`ENOENT`||i===`ENOSYNC`))return n.readFile(t);throw r}}let s=(t,r)=>Se(e,n,i,t,r);function c(t){if(e.exists(t))return!0;if(!n||e.isTombstoned(t))return!1;try{return n.exists(t)}catch{return!1}}function l(t){try{return e.stat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.stat(t)}}function u(t){try{return e.lstat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.lstat(t)}}let d=e=>({isFile:()=>e.isFile,isDirectory:()=>e.isDirectory,isSymbolicLink:()=>e.isSymbolicLink===!0,isCharacterDevice:()=>!1,size:e.size}),f=(e,t)=>e===`/`?`/${t}`:`${e}/${t}`;function p(t,r){if(!l(t).isDirectory){s(r,o(t));return}e.mkdir(r,!0);for(let i of be(e,n,t))p(f(t,i),f(r,i))}let m={..._e({syncFs:e,bridge:n,persistDelete:i?.delete,resolve:a,existsResolved:c,statResolved:l,lstatResolved:u,readBytes:o,writeThrough:s}),readFileSync(e,t){return de(o(a(e)),fe(t))},writeFileSync(e,t){s(a(e),xe(t))},appendFileSync(e,t){let n=a(e),r=new Uint8Array;try{r=o(n)}catch(e){if(e?.code!==`ENOENT`)throw e}let i=xe(t),c=new Uint8Array(r.byteLength+i.byteLength);c.set(r),c.set(i,r.byteLength),s(n,c)},truncateSync(e,t=0){let n=a(e),r=o(n),i=new Uint8Array(t);i.set(r.subarray(0,Math.min(t,r.byteLength))),s(n,i)},existsSync(e){return c(a(e))},accessSync(e){let t=a(e);if(!c(t))throw j(`ENOENT`,t,`access`)},mkdirSync(t,n){e.mkdir(a(t),n?.recursive)},statSync:e=>d(l(a(e))),lstatSync:e=>d(u(a(e))),realpathSync(e){let t=a(e);if(!c(t))throw j(`ENOENT`,t,`realpath`);return t},readdirSync(t){return be(e,n,a(t))},copyFileSync(e,t){s(a(t),o(a(e)))},cpSync(e,t){p(a(e),a(t))},chmodSync(e){let t=a(e);if(!c(t))throw j(`ENOENT`,t,`chmod`)},mkdtempSync(t){return e.mkdtemp(a(t))}};return ve(m,r),m}function we(e){let t=e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;if(e==null)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},n=(e,t,n)=>t===void 0?`${e(`Error:`)} ${n}\n`:t===``?`${e(n)}\n`:`${e(`${t}:`)} ${n}\n`,r=(t,n)=>t===void 0?`${e.color.yellow(`Warning:`)} ${n}\n`:t===``?`${e.color.yellow(n)}\n`:`${e.color.yellow(`${t}:`)} ${n}\n`;return{die(r,i){let a=typeof i==`number`?i:i?.exitCode??1,o=typeof i==`object`&&i&&`prefix`in i?i.prefix:void 0,s=t(r);throw e.writeStderr(n(e.color.red,o,s)),e.exit(a),Error(`unreachable`)},out(t){if(typeof t==`string`){e.writeStdout(t.endsWith(`
1
+ import{t as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./__vite-browser-external-5eBdwsFd.js";import{r as n,t as r}from"./multipart-form-data-DopbgwRR.js";import{n as i}from"./slicc-version-CAucHQS3.js";import{t as a}from"./buffer-polyfill-BccMjOKj.js";import{t as o}from"./buffer-B5d1xHaH.js";import{F as s,I as c,N as l,P as u}from"./shared-C_68vn79.js";import{I as d,M as f,R as p,T as m,_ as h,c as g,g as _,i as v,j as y,l as b,n as x,r as S,s as C,w}from"./sync-sab-wire-CC30v4TL.js";import{t as T}from"./tmpdir-env-ate4iNcK.js";import{t as E}from"./realm-browser-fetch-V3uggGbM.js";function D(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function O(e){let t=D(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function k(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function A(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function ee(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var te=class{tree=new Map;initialPaths=new Set;initialContent=new Map;initialKind=new Map;mkdtempCounter=0;tombstones=new Set;removedDirs=new Set;touched=!1;constructor(e){this.loadSnapshot(e)}loadSnapshot(e){this.tree=new Map,this.tombstones=new Set,this.removedDirs=new Set,this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map,this.tree.set(`/`,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(`/`),this.initialKind.set(`/`,`directory`);for(let t of e.entries){let e=D(t.path);this.tree.set(e,{content:t.content,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,symlinkTarget:t.symlinkTarget,truncated:t.truncated,size:t.size}),this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}for(let t of e.entries){let e=O(D(t.path));for(;e!==`/`&&!this.tree.has(e);)this.tree.set(e,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(e),this.initialKind.set(e,`directory`),e=O(e)}}wasUsed(){return this.touched}applySnapshot(e){this.loadSnapshot(e)}applySnapshotPreservingMutations(e){let t=this.getMutations();this.loadSnapshot(e);for(let e of t.deleted){if(this.tree.get(e)?.isDirectory){let t=e===`/`?`/`:e+`/`;for(let n of Array.from(this.tree.keys()))n!==e&&n.startsWith(t)&&this.tree.delete(n)}this.tree.delete(e)}for(let e of t.created)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink,symlinkTarget:e.symlinkTarget});for(let e of t.modified)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:!1})}invalidate(){this.loadSnapshot({entries:[]})}resetBaseline(){this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map;for(let[e,t]of this.tree.entries())this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}entryKind(e){return e.isSymbolicLink?`symlink`:e.isDirectory?`directory`:`file`}resolveEntry(e,t=!1){let n=D(e),r=n.split(`/`).filter(Boolean),i=[],a=new Set,o=0;if(r.length===0){let e=this.tree.get(`/`);return e?{path:`/`,entry:e}:void 0}for(;r.length>0;){let e=r.shift(),s=`/${[...i,e].join(`/`)}`,c=this.tree.get(s);if(!c)return;let l=r.length===0;if(c.isSymbolicLink&&!(t&&l)){if(a.has(s)||o++===40)throw Object.assign(Error(`ELOOP: too many symbolic links, '${n}'`),{code:`ELOOP`});a.add(s);let e=c.symlinkTarget??``;r=[...D(e.startsWith(`/`)?e:`${O(s)}/${e}`).split(`/`).filter(Boolean),...r],i=[];continue}if(!l&&!c.isDirectory)return;if(i.push(e),l)return{path:s,entry:c}}}ensureParentDirs(e){let t=O(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(D(e))?.partial===!0}commitWrite(e,t){this.writeFile(e,t);let n=D(e);for(this.initialContent.set(n,t);n!==`/`;){let e=this.tree.get(n);e&&(this.initialPaths.add(n),this.initialKind.set(n,this.entryKind(e))),n=O(n)}}readFile(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw k(t);if(n.truncated)throw A(t);return n.content}writeFile(e,t){this.touched=!0;let n=D(e);this.ensureParentDirs(n),this.tree.set(n,{content:t,isDirectory:!1}),this.tombstones.delete(n),this.removedDirs.delete(n)}exists(e){this.touched=!0;let t=D(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t);if(!n)throw k(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t,!0);if(!n)throw k(t);return this.toStat(n.entry)}toStat(e){return{isFile:!e.isDirectory&&!e.isSymbolicLink,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink===!0,size:e.isDirectory?0:e.size??e.content.byteLength}}readdir(e){this.touched=!0;let t=D(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw k(t);let r=n.path===`/`?`/`:n.path+`/`,i=new Set;for(let e of this.tree.keys()){if(e===t||e===`/`||!e.startsWith(r))continue;let n=e.slice(r.length).split(`/`)[0];n&&i.add(n)}return Array.from(i)}mkdir(e,t,n=!1){this.touched=!0;let r=D(e);if(this.tree.has(r)){if(this.tree.get(r).isDirectory)return;throw Object.assign(Error(`EEXIST: file already exists, '${r}'`),{code:`EEXIST`})}let i=O(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw k(r);this.mkdir(i,!0,n)}this.tree.set(r,{content:new Uint8Array,isDirectory:!0,...n?{partial:!0}:{}}),this.tombstones.delete(r),this.removedDirs.delete(r)}rm(e,t){this.touched=!0;let n=D(e),r=this.tree.get(n);if(!r)throw k(n);if(r.isDirectory&&!r.isSymbolicLink){let e=n===`/`?`/`:n+`/`,r=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));if(r.length>0&&!t)throw Object.assign(Error(`ENOTEMPTY: directory not empty, '${n}'`),{code:`ENOTEMPTY`});for(let e of r)this.tree.delete(e),this.tombstones.add(e);t&&this.removedDirs.add(n)}this.tree.delete(n),this.tombstones.add(n)}copyFile(e,t){this.touched=!0;let n=D(e),r=this.tree.get(n);if(!r||r.isDirectory)throw k(n);if(r.truncated)throw A(n);let i=D(t);this.ensureParentDirs(i),this.tree.set(i,{content:r.content.slice(),isDirectory:!1}),this.tombstones.delete(i),this.removedDirs.delete(i)}rename(e,t){this.touched=!0;let n=D(e),r=this.tree.get(n);if(!r)throw k(n);let i=D(t);if(r.isDirectory){let e=n===`/`?`/`:n+`/`,t=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n);for(let e of t){let t=this.tree.get(e),r=i+e.slice(n.length);this.tree.set(r,t),this.tree.delete(e)}this.tombstones.add(n),this.removedDirs.add(n),this.tombstones.delete(i),this.removedDirs.delete(i);return}this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n),this.tombstones.add(n),this.tombstones.delete(i),this.removedDirs.delete(i)}unlink(e){this.touched=!0;let t=D(e),n=this.tree.get(t);if(!n)throw k(t);if(n.isDirectory&&!n.isSymbolicLink)throw Object.assign(Error(`EISDIR: illegal operation on a directory, unlink '${t}'`),{code:`EISDIR`});this.tree.delete(t),this.tombstones.add(t)}markRemoved(e,t=!1){this.touched=!0;let n=D(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=D(e);if(this.tombstones.has(t))return!0;for(let e of this.removedDirs)if(t===e||t.startsWith(`${e}/`))return!0;return!1}mkdtemp(e){this.touched=!0;for(let t=0;t<100;t++){let t=`_${String(this.mkdtempCounter).padStart(6,`0`)}`;this.mkdtempCounter++;let n=D(e+t);if(!this.tree.has(n))return this.mkdir(n,!0),n}throw Error(`mkdtemp: failed to create unique directory after 100 attempts`)}getMutations(){let e=[],t=[],n=[];for(let[r,i]of this.tree.entries()){if(r===`/`)continue;if(!this.initialPaths.has(r)){e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}let a=this.initialKind.get(r);if(a!==void 0&&a!==this.entryKind(i)){n.push(r),e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}if(!i.isDirectory&&!i.isSymbolicLink){let e=this.initialContent.get(r);e&&!ee(e,i.content)&&t.push({path:r,content:i.content})}}for(let e of this.initialPaths)e!==`/`&&(this.tree.has(e)||n.push(e));return{created:e,modified:t,deleted:n}}};function ne(){return globalThis.Buffer}function re(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}function ie(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function ae(e,t){return Object.assign(Error(`EBADF: bad file descriptor, ${e} ${String(t)}`),{code:`EBADF`})}function oe(e){return e===`/dev/stdin`||e===`/dev/stdout`||e===`/dev/stderr`}function se(e){if(e===0||e===`/dev/stdin`)return 0;if(e===1||e===`/dev/stdout`)return 1;if(e===2||e===`/dev/stderr`)return 2}function ce(e,t){let n=se(e);if(n===0)return!0;if(n!==void 0||typeof e==`number`)throw ae(t,e);return!1}function le(e,t,n){let r=se(t);if(r===1)return e.writeStdout;if(r===2)return e.writeStderr;if(r!==void 0||typeof t==`number`)throw ae(n,t)}function ue(e){return typeof e==`string`?e:ie(xe(e))}function de(e,t){if(t===`utf8`||t===`utf-8`)return new TextDecoder().decode(e);let n=ne();return n?n.from(e):e}function fe(e){return typeof e==`string`?e:e?.encoding}function pe(){return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,isCharacterDevice:()=>!0,size:0}}function me(e,t){if(!t)return;let n={readFile:e.readFile,readFileBinary:e.readFileBinary,writeFile:e.writeFile,writeFileBinary:e.writeFileBinary,appendFile:e.appendFile,access:e.access,exists:e.exists,stat:e.stat};e.readFile=async(e,r)=>{if(!ce(e,`read`))return n.readFile(e,r);let i=fe(r);if(i===null||i===`buffer`){let e=ne(),n=t.readStdinBytes();return e?e.from(n):n}return new TextDecoder().decode(t.readStdinBytes())},e.readFileBinary=async e=>ce(e,`read`)?t.readStdinBytes():n.readFileBinary(e),e.writeFile=async(e,r)=>{let i=le(t,e,`write`);return i?(i(ue(r)),!0):n.writeFile(e,r)},e.writeFileBinary=async(e,r)=>{let i=le(t,e,`write`);return i?(i(ie(r)),!0):n.writeFileBinary(e,r)},e.appendFile=async(e,r)=>{let i=le(t,e,`append`);if(!i)return n.appendFile(e,r);i(ue(r))},e.access=async e=>{if(!oe(e))return n.access(e)},e.exists=async e=>oe(e)||n.exists(e),e.stat=async e=>oe(e)?{isFile:!0,isDirectory:!1,size:0}:n.stat(e)}function he(e,t,n){function r(e){if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return e instanceof ArrayBuffer?new Uint8Array(e):new TextEncoder().encode(typeof e==`string`?e:String(e))}async function i(t,n){let r=typeof n==`string`?n:n?.encoding;if(r===null||r===`buffer`){let n=await e.call(`vfs`,`readFileBinary`,[t]),r=ne();return r?r.from(n instanceof Uint8Array?n:new Uint8Array(n)):n}return e.call(`vfs`,`readFile`,[t])}async function a(t,n){return typeof n==`string`?e.call(`vfs`,`writeFile`,[t,n]):e.call(`vfs`,`writeFileBinary`,[t,r(n)])}async function o(t,n){if(typeof n==`string`){await e.call(`vfs`,`appendFile`,[t,n]);return}await e.call(`vfs`,`appendFile`,[t,r(n)])}async function s(t,n,r){let i=await e.call(`vfs`,`stat`,[t]);if(i.isFile){let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]);return}if(!i.isDirectory||!r?.recursive)throw Error(`cp: '${t}' is a directory (use {recursive: true})`);await l(n);let a=await e.call(`vfs`,`readDir`,[t]);for(let e of a)await s(`${t}/${e}`,`${n}/${e}`,r)}async function c(t,n){if(n?.force&&!await e.call(`vfs`,`exists`,[t]))return!0;if((await e.call(`vfs`,`stat`,[t])).isFile)return e.call(`vfs`,`rm`,[t]);if(!n?.recursive)throw Error(`rm: '${t}' is a directory (use {recursive: true})`);let r=await e.call(`vfs`,`readDir`,[t]);for(let e of r)await c(`${t}/${e}`,n);return e.call(`vfs`,`rm`,[t])}async function l(t){await e.call(`vfs`,`mkdir`,[t])}async function u(t){for(let n=0;n<5;n++){let n=`${t}${Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6)}`;if(!await e.call(`vfs`,`exists`,[n]))return await e.call(`vfs`,`mkdir`,[n]),n}throw Error(`mkdtemp: failed to create unique directory after 5 attempts`)}async function d(t,n){try{await e.call(`vfs`,`rename`,[t,n])}catch{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]),await e.call(`vfs`,`rm`,[t])}}async function f(t){if(!await e.call(`vfs`,`exists`,[t]))throw Object.assign(Error(`ENOENT: no such file or directory, access '${t}'`),{code:`ENOENT`})}let p={readFile:i,readFileBinary:t=>e.call(`vfs`,`readFileBinary`,[t]),writeFile:a,writeFileBinary:(t,n)=>e.call(`vfs`,`writeFileBinary`,[t,n]),appendFile:o,cp:s,rm:c,readDir:t=>e.call(`vfs`,`readDir`,[t]),readdir:t=>e.call(`vfs`,`readDir`,[t]),exists:t=>e.call(`vfs`,`exists`,[t]),stat:t=>e.call(`vfs`,`stat`,[t]),mkdir:(t,n)=>e.call(`vfs`,`mkdir`,[t]),mkdtemp:u,rename:d,access:f,unlink:t=>e.call(`vfs`,`rm`,[t]),rmdir:t=>e.call(`vfs`,`rm`,[t]),copyFile:async(t,n)=>{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r])},fetchToFile:async(n,r)=>{let i=await t(n);if(!i.ok)throw Error(`fetch ${i.status} ${i.statusText}`);let a=new Uint8Array(await i.arrayBuffer());return await e.call(`vfs`,`writeFileBinary`,[r,a]),a.byteLength},promises:null};return me(p,n),p.promises=p,p}function j(e,t,n=``){return Object.assign(Error(`${e}: sync-fs, ${n?`${n} `:``}'${t}'`),{code:e})}function ge(e,t,n,r={},i){let a=r.recursive===!0;try{return r.requireFile?e.unlink(n):e.rm(n,a),i?.(n),!0}catch(e){if(e?.code!==`ENOENT`)throw e}let o=t;if(!o?.rm||e.isTombstoned(n))return!1;try{if(!o.exists(n))return!1}catch{return!1}return o.rm(n),e.markRemoved(n,a),!0}function _e(e){let{syncFs:t,bridge:n,resolve:r,existsResolved:i,lstatResolved:a,statResolved:o,readBytes:s,writeThrough:c,persistDelete:l}=e,u=(e,r)=>ge(t,n,e,r,l);return{rmSync(e,t){let n=r(e);if(!(t?.force&&!i(n))&&!u(n,{recursive:t?.recursive===!0})&&!t?.force)throw j(`ENOENT`,n,`rm`)},rmdirSync(e,t){let n=r(e);if(i(n)&&!a(n).isDirectory)throw j(`ENOTDIR`,n,`rmdir`);if(!u(n,{recursive:t?.recursive===!0}))throw j(`ENOENT`,n,`rmdir`)},unlinkSync(e){let t=r(e);if(!u(t,{requireFile:!0}))throw j(`ENOENT`,t,`unlink`)},renameSync(e,i){let a=r(e),l=r(i);try{t.rename(a,l);return}catch(e){if(e?.code!==`ENOENT`)throw e}if(!n||t.isTombstoned(a))throw j(`ENOENT`,a,`rename`);if(o(a).isDirectory)throw j(`EISDIR`,a,`rename`);if(c(l,s(a)),!u(a,{requireFile:!0}))throw j(`ENOENT`,a,`rename`)}}}function ve(e,t){if(!t)return;let n={readFileSync:e.readFileSync,writeFileSync:e.writeFileSync,appendFileSync:e.appendFileSync,existsSync:e.existsSync,accessSync:e.accessSync,statSync:e.statSync,lstatSync:e.lstatSync};e.readFileSync=(e,r)=>ce(e,`read`)?de(t.readStdinBytes(),fe(r)):n.readFileSync(e,r),e.writeFileSync=(e,r)=>{let i=le(t,e,`write`);i?i(ue(r)):n.writeFileSync(e,r)},e.appendFileSync=(e,r)=>{let i=le(t,e,`append`);i?i(ue(r)):n.appendFileSync(e,r)},e.existsSync=e=>oe(e)||n.existsSync(e),e.accessSync=e=>{oe(e)||n.accessSync(e)},e.statSync=e=>oe(e)?pe():n.statSync(e),e.lstatSync=e=>oe(e)?pe():n.lstatSync(e)}function ye(e,t,n,r){let i=t=>e===`/`?`/${t}`:`${e}/${t}`,a=new Set(n);for(let e of t)a.add(e);for(let e of a)r(i(e))&&a.delete(e);return[...a]}function be(e,t,n){let r=t=>e.isTombstoned(t);try{let i=e.readdir(n);if(!t||!e.isPartial(n)||r(n))return i;try{return ye(n,i,t.readdir(n),r)}catch(e){if(e?.code===`ENOENT`)return i;throw e}}catch(e){let i=e?.code;if(!t||r(n)||i!==`ENOENT`)throw e;return ye(n,[],t.readdir(n),r)}}function xe(e){if(typeof e==`string`)return new TextEncoder().encode(e);if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return new TextEncoder().encode(String(e))}function Se(e,t,n,r,i){t?(t.writeFile(r,i),e.commitWrite(r,i)):(e.writeFile(r,i),n?.write?.(r,i))}function Ce(e,t,n,r,i){function a(e){return D(e.startsWith(`/`)?e:t+(t.endsWith(`/`)?``:`/`)+e)}function o(t){try{return e.readFile(t)}catch(r){let i=r?.code;if(n&&!e.isTombstoned(t)&&(i===`ENOENT`||i===`ENOSYNC`))return n.readFile(t);throw r}}let s=(t,r)=>Se(e,n,i,t,r);function c(t){if(e.exists(t))return!0;if(!n||e.isTombstoned(t))return!1;try{return n.exists(t)}catch{return!1}}function l(t){try{return e.stat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.stat(t)}}function u(t){try{return e.lstat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.lstat(t)}}let d=e=>({isFile:()=>e.isFile,isDirectory:()=>e.isDirectory,isSymbolicLink:()=>e.isSymbolicLink===!0,isCharacterDevice:()=>!1,size:e.size}),f=(e,t)=>e===`/`?`/${t}`:`${e}/${t}`;function p(t,r){if(!l(t).isDirectory){s(r,o(t));return}e.mkdir(r,!0);for(let i of be(e,n,t))p(f(t,i),f(r,i))}let m={..._e({syncFs:e,bridge:n,persistDelete:i?.delete,resolve:a,existsResolved:c,statResolved:l,lstatResolved:u,readBytes:o,writeThrough:s}),readFileSync(e,t){return de(o(a(e)),fe(t))},writeFileSync(e,t){s(a(e),xe(t))},appendFileSync(e,t){let n=a(e),r=new Uint8Array;try{r=o(n)}catch(e){if(e?.code!==`ENOENT`)throw e}let i=xe(t),c=new Uint8Array(r.byteLength+i.byteLength);c.set(r),c.set(i,r.byteLength),s(n,c)},truncateSync(e,t=0){let n=a(e),r=o(n),i=new Uint8Array(t);i.set(r.subarray(0,Math.min(t,r.byteLength))),s(n,i)},existsSync(e){return c(a(e))},accessSync(e){let t=a(e);if(!c(t))throw j(`ENOENT`,t,`access`)},mkdirSync(t,n){e.mkdir(a(t),n?.recursive)},statSync:e=>d(l(a(e))),lstatSync:e=>d(u(a(e))),realpathSync(e){let t=a(e);if(!c(t))throw j(`ENOENT`,t,`realpath`);return t},readdirSync(t){return be(e,n,a(t))},copyFileSync(e,t){s(a(t),o(a(e)))},cpSync(e,t){p(a(e),a(t))},chmodSync(e){let t=a(e);if(!c(t))throw j(`ENOENT`,t,`chmod`)},mkdtempSync(t){return e.mkdtemp(a(t))}};return ve(m,r),m}function we(e){let t=e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;if(e==null)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},n=(e,t,n)=>t===void 0?`${e(`Error:`)} ${n}\n`:t===``?`${e(n)}\n`:`${e(`${t}:`)} ${n}\n`,r=(t,n)=>t===void 0?`${e.color.yellow(`Warning:`)} ${n}\n`:t===``?`${e.color.yellow(n)}\n`:`${e.color.yellow(`${t}:`)} ${n}\n`;return{die(r,i){let a=typeof i==`number`?i:i?.exitCode??1,o=typeof i==`object`&&i&&`prefix`in i?i.prefix:void 0,s=t(r);throw e.writeStderr(n(e.color.red,o,s)),e.exit(a),Error(`unreachable`)},out(t){if(typeof t==`string`){e.writeStdout(t.endsWith(`
2
2
  `)?t:`${t}\n`);return}try{e.writeStdout(`${JSON.stringify(t,null,2)}\n`)}catch{e.writeStdout(`${String(t)}\n`)}},warn(n,i){let a=typeof i==`object`&&i&&`prefix`in i?i.prefix:void 0;e.writeStderr(r(a,t(n)))},help(t){throw e.writeStdout(t.endsWith(`
3
3
  `)?t:`${t}\n`),e.exit(0),Error(`unreachable`)}}}const M={reset:`\x1B[0m`,green:`\x1B[32m`,red:`\x1B[31m`,yellow:`\x1B[33m`,gray:`\x1B[90m`,bold:`\x1B[1m`,cyan:`\x1B[36m`,dim:`\x1B[2m`};function Te(e){let t=e.isTTY&&!e.noColor,n=e=>n=>t?`${e}${n}${M.reset}`:String(n);return{enabled:t,green:n(M.green),red:n(M.red),yellow:n(M.yellow),gray:n(M.gray),bold:n(M.bold),cyan:n(M.cyan),dim:n(M.dim)}}const Ee=/\u001b\[[0-9;]*m/g;function De(e){return e.replace(Ee,``)}function Oe(e){return De(e).length}function ke(e,t){let n=String(e??``);return t<=0?``:Oe(n)<=t?n:t<=1?n.slice(0,t):`${De(n).slice(0,t-1)}…`}function Ae(e,t){let n=String(e??``),r=Oe(n);return r===t?n:r>t?ke(n,t):n+` `.repeat(t-r)}function je(e,t){if(!e.length)return``;let n=Math.max(...e.map(e=>e.length)),r=[];for(let i=0;i<n;i++)if(t&&t[i]!==void 0)r[i]=t[i];else{let t=0;for(let n of e){let e=i<n.length?String(n[i]??``):``;t=Math.max(t,Oe(e))}r[i]=t}return e.map(e=>r.map((t,n)=>Ae(n<e.length?String(e[n]??``):``,t)).join(` `).replace(/\s+$/,``)).join(`
4
4
  `)}function Me(e){return e instanceof Date?e:new Date(e)}function Ne(e){return e<10?`0${e}`:String(e)}function Pe(e,t=`short`){let n=Me(e);if(Number.isNaN(n.getTime()))return String(e);if(t===`iso`)return n.toISOString();if(t===`locale`)return new Intl.DateTimeFormat(void 0,{dateStyle:`medium`}).format(n);if(t===`human`){let e=Date.now()-n.getTime(),t=Math.abs(e);if(t<6e4)return e>=0?`just now`:`in a moment`;let r=(t,n)=>e>=0?`${t} ${n}${t===1?``:`s`} ago`:`in ${t} ${n}${t===1?``:`s`}`;return t<36e5?r(Math.round(t/6e4),`minute`):t<864e5?r(Math.round(t/36e5),`hour`):t<26298e5?r(Math.round(t/864e5),`day`):t<315576e5?r(Math.round(t/26298e5),`month`):r(Math.round(t/315576e5),`year`)}return`${n.getFullYear()}-${Ne(n.getMonth()+1)}-${Ne(n.getDate())}`}const Fe={trunc:ke,col:Ae,table:je,date:Pe};var N=class extends Error{actual;expected;operator;generatedMessage;code;constructor(e={}){let t=!e.message;super(e.message||`${Ie(e.actual)} ${e.operator||`!=`} ${Ie(e.expected)}`),this.name=`AssertionError`,this.actual=e.actual,this.expected=e.expected,this.operator=e.operator||``,this.generatedMessage=t,this.code=`ERR_ASSERTION`}};function Ie(e){if(typeof e==`string`)return JSON.stringify(e);if(e==null)return String(e);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function P(e,t){return e instanceof Error?e:typeof e==`string`?new N({message:e}):t()}function Le(e,t,n,r){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!ze(e[i],t[i],n,r))return!1;return!0}function Re(e,t,n,r){let i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let a of i)if(!Object.prototype.hasOwnProperty.call(t,a)||!ze(Reflect.get(e,a),Reflect.get(t,a),n,r))return!1;return!0}function ze(e,t,n,r){if((n?Object.is(e,t):e===t)||!n&&e==t)return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;let i=e,a=t;return n&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(a)?!1:r.get(i)===a||(r.set(i,a),Array.isArray(e)===Array.isArray(t)?Array.isArray(e)&&Array.isArray(t)?Le(e,t,n,r):Re(i,a,n,r):!1)}function Be(e,t){try{if(e instanceof t)return!0}catch{}try{return!!t(e)}catch{return!1}}function Ve(e,t){for(let[n,r]of Object.entries(t)){let t=Reflect.get(e,n);if(r instanceof RegExp){if(typeof t!=`string`||!r.test(t))return!1}else if(t!==r)return!1}return!0}function He(e,t){if(t===void 0)return!0;if(t instanceof RegExp){let n=e instanceof Error?e.message:String(e);return t.test(n)}return typeof t==`function`?Be(e,t):t&&typeof t==`object`?!e||typeof e!=`object`?!1:Ve(e,t):!1}function Ue(e){let t=(e,t)=>{if(!e)throw P(t,()=>new N({message:`The expression evaluated to a falsy value`,actual:e,expected:!0,operator:`==`}))},n=((e,n)=>t(e,n)),r=(e,t,n)=>{if(!Object.is(e,t))throw P(n,()=>new N({actual:e,expected:t,operator:`strictEqual`}))},i=(t,n,i)=>{if(e){r(t,n,i);return}if(t!=n)throw P(i,()=>new N({actual:t,expected:n,operator:`==`}))},a=(e,t,n)=>{if(Object.is(e,t))throw P(n,()=>new N({actual:e,expected:t,operator:`notStrictEqual`}))},o=(t,n,r)=>{if(e){a(t,n,r);return}if(t==n)throw P(r,()=>new N({actual:t,expected:n,operator:`!=`}))},s=(e,t,n)=>{if(!ze(e,t,!0,new WeakMap))throw P(n,()=>new N({actual:e,expected:t,operator:`deepStrictEqual`}))},c=(t,n,r)=>{if(e){s(t,n,r);return}if(!ze(t,n,!1,new WeakMap))throw P(r,()=>new N({actual:t,expected:n,operator:`deepEqual`}))},l=(e,t,n)=>{if(ze(e,t,!0,new WeakMap))throw P(n,()=>new N({actual:e,expected:t,operator:`notDeepStrictEqual`}))};return n.ok=t,n.equal=i,n.notEqual=o,n.strictEqual=r,n.notStrictEqual=a,n.deepEqual=c,n.deepStrictEqual=s,n.notDeepEqual=(t,n,r)=>{if(e){l(t,n,r);return}if(ze(t,n,!1,new WeakMap))throw P(r,()=>new N({actual:t,expected:n,operator:`notDeepEqual`}))},n.notDeepStrictEqual=l,n.throws=(e,t,n)=>{let r,i=!1;try{e()}catch(e){r=e,i=!0}if(!i)throw P(typeof t==`string`?t:n,()=>new N({message:`Missing expected exception`,operator:`throws`}));if(!(typeof t==`string`||t instanceof Error)&&!He(r,t))throw P(n,()=>new N({message:`Got unwanted exception`,actual:r,operator:`throws`}))},n.doesNotThrow=(e,t)=>{try{e()}catch(e){throw P(t,()=>new N({message:`Got unwanted exception`,actual:e,operator:`doesNotThrow`}))}},n.fail=e=>{throw P(e,()=>new N({message:`Failed`,operator:`fail`}))},n.AssertionError=N,n}const We=Ue(!0);We.strict=We;const Ge=Ue(!1);Ge.strict=We;function Ke(e,t){let n=globalThis.Buffer;if(!n)throw Error(`crypto.createHash: Buffer is unavailable in this environment`);return t?n.from(e,t):n.from(e)}var qe=class{_events=new Map;on(e,t){let n=this._events.get(e);return n?n.push(t):this._events.set(e,[t]),this}addListener(e,t){return this.on(e,t)}off(e,t){let n=this._events.get(e);if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&this._events.delete(e)}return this}removeListener(e,t){return this.off(e,t)}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}emit(e,...t){let n=this._events.get(e);if(!n||n.length===0)return!1;for(let e of[...n])e(...t);return!0}removeAllListeners(e){return e===void 0?this._events.clear():this._events.delete(e),this}listenerCount(e){return this._events.get(e)?.length??0}listeners(e){return[...this._events.get(e)??[]]}};const Je=Object.assign(qe,{EventEmitter:qe,default:qe});var Ye=class{_events=new Map;closeScheduled=!1;writable=!0;readable=!0;on(e,t){let n=this._events.get(e);return n?n.push(t):this._events.set(e,[t]),this}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}off(e,t){let n=this._events.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}emit(e,...t){let n=this._events.get(e);if(!n||n.length===0)return!1;for(let e of[...n])e(...t);return!0}pipe(e){return this.on(`data`,t=>e.write(t)),this.once(`end`,()=>e.end()),e}closeOnDestroy(){return this.closeScheduled?this:(this.closeScheduled=!0,queueMicrotask(()=>this.emit(`close`)),this)}removeListener(e,t){return this.off(e,t)}removeAllListeners(){return this._events.clear(),this}},Xe=class extends Ye{read(){return null}destroy(){return this.closeOnDestroy()}},Ze=class extends Ye{write(e,t,n){return n&&queueMicrotask(n),!0}end(e){return e&&queueMicrotask(e),this}destroy(){return this.closeOnDestroy()}},Qe=class extends Ye{write(e,t,n){return n&&queueMicrotask(n),!0}end(e){return e&&queueMicrotask(e),this}read(){return null}destroy(){return this.closeOnDestroy()}};const $e={Readable:Xe,Writable:Ze,Transform:Qe,PassThrough:class extends Qe{},Stream:Ye},et=Symbol.for(`nodejs.util.inspect.custom`),tt=Symbol.for(`nodejs.util.promisify.custom`);function nt(e){return`'${e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`).replace(/\n/g,`\\n`)}'`}function rt(e){if(e===null)return`null`;let t=typeof e;if(t===`string`)return nt(e);if(t===`number`)return Object.is(e,-0)?`-0`:String(e);if(t===`bigint`)return`${String(e)}n`;if(t===`boolean`||t===`undefined`)return String(e);if(t===`symbol`)return e.toString();if(t===`function`){let t=e.name;return t?`[Function: ${t}]`:`[Function (anonymous)]`}return null}function it(e){return e instanceof RegExp?e.toString():e instanceof Date?Number.isNaN(e.getTime())?`Invalid Date`:e.toISOString():e instanceof Error?e.stack||`${e.name}: ${e.message}`:null}function at(e,t,n){if(Array.isArray(e))return e.length===0?`[]`:`[ ${e.map(e=>ot(e,t+1,n)).join(`, `)} ]`;if(e instanceof Map){let r=[...e].map(([e,r])=>`${ot(e,t+1,n)} => ${ot(r,t+1,n)}`);return`Map(${e.size}) {${r.length?` ${r.join(`, `)} `:``}}`}if(e instanceof Set){let r=[...e].map(e=>ot(e,t+1,n));return`Set(${e.size}) {${r.length?` ${r.join(`, `)} `:``}}`}let r=Object.keys(e),i=e.constructor?e.constructor.name:``,a=i&&i!==`Object`?`${i} `:``;return r.length===0?`${a}{}`:`${a}{ ${r.map(r=>`${/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(r)?r:nt(r)}: ${ot(e[r],t+1,n)}`).join(`, `)} }`}function ot(e,t,n){let r=rt(e);if(r!==null)return r;let i=e,a=it(i);if(a!==null)return a;let o=i[et];if(typeof o==`function`)try{return String(o.call(i,n.maxDepth,n.opts))}catch{}if(n.seen.has(e))return`[Circular *1]`;if(n.maxDepth!==null&&t>n.maxDepth)return Array.isArray(e)?`[Array]`:`[Object]`;n.seen.add(e);try{return at(i,t,n)}finally{n.seen.delete(e)}}function st(e,t={}){let n=t.depth===void 0?2:t.depth;return ot(e,0,{seen:new Set,maxDepth:n,opts:t})}function ct(e,t,n,r){if(e===`%%`)return`%`;if(n.i>=t.length)return e;let i=t[n.i];switch(e){case`%s`:return n.i++,typeof i==`string`?i:typeof i==`bigint`?`${String(i)}n`:i==null||typeof i==`number`||typeof i==`boolean`?String(i):st(i,{depth:r.depth===void 0?2:r.depth});case`%d`:return n.i++,typeof i==`bigint`?`${String(i)}n`:Number.isNaN(Number(i))?`NaN`:String(Number(i));case`%i`:return n.i++,typeof i==`bigint`?`${String(i)}n`:String(Number.parseInt(i,10));case`%f`:return n.i++,String(typeof i==`bigint`?i:Number.parseFloat(i));case`%j`:n.i++;try{return JSON.stringify(i)??`undefined`}catch{return`[Circular]`}case`%o`:return n.i++,st(i,{depth:4});case`%O`:return n.i++,st(i,{depth:null});case`%c`:return n.i++,``;default:return e}}function lt(e,...t){let n=t[0];if(typeof n!=`string`)return t.map(e=>typeof e==`string`?e:st(e)).join(` `);let r={i:1},i=n.replace(/%[sdifjoOc%]/g,n=>ct(n,t,r,e));for(;r.i<t.length;r.i++){let e=t[r.i];i+=` ${typeof e==`string`?e:st(e)}`}return i}function ut(...e){return lt({},...e)}function dt(e,t){if(e==null)throw TypeError(`The constructor to "inherits" must not be null or undefined`);if(t==null)throw TypeError(`The super constructor to "inherits" must not be null or undefined`);if(t.prototype===void 0)throw TypeError(`The super constructor to "inherits" must have a prototype`);e.super_=t,Object.setPrototypeOf(e.prototype,t.prototype)}function ft(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type function`);let t=e[tt];if(t){if(typeof t!=`function`)throw TypeError(`The [util.promisify.custom] property must be of type function`);return t}function n(...t){return new Promise((n,r)=>{e.call(this,...t,(e,...t)=>{if(e){r(e);return}n(t.length>1?t:t[0])})})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),n}function pt(e){return function(t,n,r){if(typeof t!=`function`)throw TypeError(`The "fn" argument must be of type function`);let i=!1;function a(...a){return i||(i=!0,e(r?`[${r}] DeprecationWarning: ${n}`:`DeprecationWarning: ${n}`)),new.target?Reflect.construct(t,a,new.target):t.apply(this,a)}return Object.setPrototypeOf(a,Object.getPrototypeOf(t)),t.prototype&&(a.prototype=t.prototype),a}}const mt=st;mt.custom=et;const ht=ft;ht.custom=tt;function gt(e){return{format:ut,formatWithOptions:lt,inspect:mt,inherits:dt,promisify:ht,deprecate:pt(e)}}const _t=gt(()=>{});let vt=1;function yt(e){if(typeof e==`string`)return e;if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}return e==null?``:String(e)}function bt(e,t,n){return Object.assign(TypeError(`The "${e}" argument must be of type ${t}. Received ${n===null?`null`:Array.isArray(n)?`array`:typeof n}`),{code:`ERR_INVALID_ARG_TYPE`})}function xt(e){if(e===void 0)return;if(typeof e!=`object`||!e||Array.isArray(e))throw bt(`options.env`,`object`,e);let t={};for(let[n,r]of Object.entries(e))if(r!==void 0){if(typeof r!=`string`)throw bt(`options.env[${n}]`,`string`,r);t[n]=r}return t}function St(e){if(e!==void 0){if(typeof e!=`string`)throw bt(`options.cwd`,`string`,e);return e}}function Ct(e,t){return t===void 0||t===`utf8`||t===`utf-8`?e:t===`buffer`||t===null?Ke(e):Ke(e).toString(t)}function wt(e,t){if(e.length===0)return Ct(``,t);if(typeof e[0]==`string`)return e.join(``);let n=globalThis.Buffer;return n?n.concat(e):e[0]}function Tt(e,t,n){t.length>0&&e.emit(`data`,Ct(t,n)),e.readable=!1,e.emit(`end`)}function Et(e){let t=e=>{typeof e==`function`&&queueMicrotask(e)};return{writable:!0,write(n,r,i){return e.stdin.write(yt(n)),t(typeof r==`function`?r:i),!0},end(n,r,i){n!==void 0&&typeof n!=`function`&&e.stdin.write(yt(n)),e.stdin.end(),this.writable=!1,t(typeof n==`function`?n:typeof r==`function`?r:i)}}}var Dt=class extends qe{stdout;stderr;stdin;pid;exitCode=null;signalCode=null;killed=!1;spawnfile;spawnargs;handle;constructor(e,t,n,r){super(),this.handle=e,this.pid=vt++,this.spawnfile=n,this.spawnargs=r,this.stdout=new Xe,this.stderr=new Xe,this.stdin=Et(e),e.done.then(e=>this.finish(e,t),e=>this.emit(`error`,e instanceof Error?e:Error(String(e))))}finish(e,t){Tt(this.stdout,e.stdout,t),Tt(this.stderr,e.stderr,t),this.exitCode=e.exitCode;let n=this.killed?null:e.exitCode,r=this.killed?this.signalCode:null;this.emit(`exit`,n,r),this.emit(`close`,n,r)}kill(e=`SIGTERM`){return this.killed=!0,this.signalCode=e,this.handle.kill(e).catch(()=>{}),!0}};function Ot(e){let t=(t,n,r)=>{if(!e)throw Error(`child_process.${t} is not available in this browser realm (no synchronous bridge — the page has no controlling Service Worker). Use the async form instead: await promisify(${t.replace(/Sync$/,``)})(…).`);return e.run(n,r)},n=e=>{let t=St(e.cwd),n=xt(e.env);return{...e.input===void 0?{}:{input:yt(e.input)},...e.timeout===void 0?{}:{timeout:e.timeout},...t===void 0?{}:{cwd:t},...n===void 0?{}:{env:n}}},r=(e,r,i,a)=>{let o=a.encoding===void 0?`buffer`:a.encoding,s=t(e,r,n(a)),c=Ct(s.stdout,o),l=Ct(s.stderr,o);if(s.exitCode===0)return c;throw Object.assign(Error(`Command failed: ${i}\n${s.stderr}`),{status:s.exitCode,signal:null,stdout:c,stderr:l,output:[null,c,l],pid:vt++})},i=(e,t)=>({args:Array.isArray(e)?e:[],options:(Array.isArray(e)?t:e)??{}});return{execSync:(e,t={})=>r(`execSync`,e,e,t),execFileSync:(e,t,n)=>{let{args:a,options:o}=i(t,n),s=[e,...a];return r(`execFileSync`,s,s.join(` `),o)},spawnSync:(e,r,a)=>{let{args:o,options:s}=i(r,a),c=s.encoding===void 0?`buffer`:s.encoding,l=vt++,u=s.shell?`${e}${o.length?` ${o.join(` `)}`:``}`:[e,...o],d;try{d=t(`spawnSync`,u,n(s))}catch(e){if(e instanceof TypeError)throw e;let t=Ct(``,c);return{pid:l,status:null,signal:null,stdout:t,stderr:t,output:[null,t,t],error:e instanceof Error?e:Error(String(e))}}let f=Ct(d.stdout,c),p=Ct(d.stderr,c);return{pid:l,status:d.exitCode,signal:null,stdout:f,stderr:p,output:[null,f,p]}}}}function kt(e,t){let n=(t,n,r,i,a)=>{let o=St(n.cwd),s=xt(n.env),c={...o===void 0?{}:{cwd:o},...s===void 0?{}:{env:s}},l=e.start(t,c),u=new Dt(l,r,i,a);return n.input!==void 0&&u.stdin.write(yt(n.input)),queueMicrotask(()=>l.stdin.end()),u},r=(e,t,n,r)=>{if(typeof r!=`function`)return;let i=[],a=[];e.stdout.on(`data`,e=>i.push(e)),e.stderr.on(`data`,e=>a.push(e)),e.once(`error`,e=>r(e,wt(i,t),wt(a,t))),e.once(`close`,(o,s)=>{let c=wt(i,t),l=wt(a,t);if(o===0){r(null,c,l);return}r(Object.assign(Error(`Command failed: ${n}\n${yt(l)}`),{code:o===null?void 0:o,killed:e.killed,signal:s??null,cmd:n}),c,l)})},i=(e,t,i)=>{let a=typeof t==`function`?t:i,o=t&&typeof t==`object`?t:{},s=o.encoding===void 0?`utf8`:o.encoding,c=n(e,o,s,e,[]);return r(c,s,e,a),c},a=(e,t,i,a)=>{let o=[],s={},c;Array.isArray(t)?(o=t,typeof i==`function`?c=i:(s=i??{},c=typeof a==`function`?a:void 0)):typeof t==`function`?c=t:t&&typeof t==`object`&&(s=t,c=typeof i==`function`?i:void 0);let l=s.encoding===void 0?`utf8`:s.encoding,u=[e,...o],d=n(u,s,l,e,o);return r(d,l,u.join(` `),c),d},o=(e,t,r)=>{let i=[],a={};Array.isArray(t)?(i=t,a=r??{}):t&&typeof t==`object`&&(a=t);let o=a.encoding===void 0?`buffer`:a.encoding,s=a.shell?`${e}${i.length?` ${i.join(` `)}`:``}`:[e,...i];return n(s,a,o,e,i)},s=(e,t)=>new Promise((n,r)=>{i(e,t,(e,t,i)=>{if(e){r(Object.assign(e,{stdout:t,stderr:i}));return}n({stdout:t,stderr:i})})}),c=(e,t,n)=>new Promise((r,i)=>{a(e,Array.isArray(t)?t:[],Array.isArray(t)?n:t,(e,t,n)=>{if(e){i(Object.assign(e,{stdout:t,stderr:n}));return}r({stdout:t,stderr:n})})}),l=e=>()=>{throw Error(`child_process.${e} is not available in the browser realm`)},u=Ot(t),d=(e,t)=>{Object.defineProperty(e,tt,{value:t,enumerable:!1,configurable:!0})};return d(i,s),d(a,c),{exec:i,execFile:a,spawn:o,execSync:u.execSync,spawnSync:u.spawnSync,execFileSync:u.execFileSync,fork:l(`fork`),ChildProcess:Dt}}function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var jt={exports:{}};
@@ -1 +1 @@
1
- import{l as e}from"./main-BfonTdzP.js";async function t(){try{let e=await navigator.serviceWorker?.getRegistrations?.();e&&await Promise.all(e.map(e=>e.unregister().catch(()=>!1)))}catch{}try{let e=await indexedDB.databases();await Promise.all(e.filter(e=>!!e.name).map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e.name);n.onsuccess=()=>t(),n.onerror=()=>t(),n.onblocked=()=>t()})))}catch{}try{let e=navigator.storage;if(typeof e?.getDirectory==`function`){let t=await e.getDirectory(),n=[];for await(let e of t.keys())n.push(e);await Promise.all(n.map(e=>t.removeEntry(e,{recursive:!0}).catch(()=>{})))}}catch{}}function n(n,r,i={}){if(n.dataset.recoveryBusy===`1`)return;let a=i.wipe??t,o=i.reload??(()=>location.reload()),s=r instanceof Error?r.message:String(r),c=i.verdict===`browser-wedged`,l=document.createElement(`div`);l.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let u=document.createElement(`h1`);u.style.color=`var(--s2-negative, #e34850)`,u.textContent=c?`Your browser needs a restart`:`Failed to start`;let d=document.createElement(`p`);d.style.color=`var(--s2-content-tertiary, #717171)`,d.textContent=s;let f=document.createElement(`div`);f.style.cssText=`display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;`;let p=document.createElement(`button`);p.type=`button`,p.textContent=`Reset local data & reload`,p.dataset.variant=c?`demoted`:`destructive`,p.style.cssText=c?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-negative, #e34850);background:var(--s2-negative, #e34850);color:#fff;border-radius:4px;`;let m=document.createElement(`button`);if(m.type=`button`,m.textContent=`Reload`,m.style.cssText=c?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-accent, #0265dc);background:var(--s2-accent, #0265dc);color:#fff;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`,p.addEventListener(`click`,()=>{p.disabled=!0,m.disabled=!0,p.textContent=`Resetting…`,n.dataset.recoveryBusy=`1`,(async()=>{try{await a()}catch{}for(let t of e)try{localStorage.removeItem(t)}catch{}o()})()}),m.addEventListener(`click`,()=>{o()}),c){let e=document.createElement(`p`);e.style.cssText=`max-width:34rem;margin:1rem auto 0;`,e.textContent=`This browser has stopped starting web workers — a browser process issue, not a problem with your data. Quit the browser completely, reopen it, and come back. Your local data is intact; resetting it will not fix this.`,l.append(u,d,e),f.append(m,p)}else l.append(u,d),f.append(p,m);for(l.append(f);n.firstChild;)n.removeChild(n.firstChild);n.appendChild(l)}export{n as renderBootRecoveryScreen};
1
+ import{l as e}from"./main-DkeGbe_z.js";async function t(){try{let e=await navigator.serviceWorker?.getRegistrations?.();e&&await Promise.all(e.map(e=>e.unregister().catch(()=>!1)))}catch{}try{let e=await indexedDB.databases();await Promise.all(e.filter(e=>!!e.name).map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e.name);n.onsuccess=()=>t(),n.onerror=()=>t(),n.onblocked=()=>t()})))}catch{}try{let e=navigator.storage;if(typeof e?.getDirectory==`function`){let t=await e.getDirectory(),n=[];for await(let e of t.keys())n.push(e);await Promise.all(n.map(e=>t.removeEntry(e,{recursive:!0}).catch(()=>{})))}}catch{}}function n(n,r,i={}){if(n.dataset.recoveryBusy===`1`)return;let a=i.wipe??t,o=i.reload??(()=>location.reload()),s=r instanceof Error?r.message:String(r),c=i.verdict===`browser-wedged`,l=document.createElement(`div`);l.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let u=document.createElement(`h1`);u.style.color=`var(--s2-negative, #e34850)`,u.textContent=c?`Your browser needs a restart`:`Failed to start`;let d=document.createElement(`p`);d.style.color=`var(--s2-content-tertiary, #717171)`,d.textContent=s;let f=document.createElement(`div`);f.style.cssText=`display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;`;let p=document.createElement(`button`);p.type=`button`,p.textContent=`Reset local data & reload`,p.dataset.variant=c?`demoted`:`destructive`,p.style.cssText=c?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-negative, #e34850);background:var(--s2-negative, #e34850);color:#fff;border-radius:4px;`;let m=document.createElement(`button`);if(m.type=`button`,m.textContent=`Reload`,m.style.cssText=c?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-accent, #0265dc);background:var(--s2-accent, #0265dc);color:#fff;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`,p.addEventListener(`click`,()=>{p.disabled=!0,m.disabled=!0,p.textContent=`Resetting…`,n.dataset.recoveryBusy=`1`,(async()=>{try{await a()}catch{}for(let t of e)try{localStorage.removeItem(t)}catch{}o()})()}),m.addEventListener(`click`,()=>{o()}),c){let e=document.createElement(`p`);e.style.cssText=`max-width:34rem;margin:1rem auto 0;`,e.textContent=`This browser has stopped starting web workers — a browser process issue, not a problem with your data. Quit the browser completely, reopen it, and come back. Your local data is intact; resetting it will not fix this.`,l.append(u,d,e),f.append(m,p)}else l.append(u,d),f.append(p,m);for(l.append(f);n.firstChild;)n.removeChild(n.firstChild);n.appendChild(l)}export{n as renderBootRecoveryScreen};
@@ -1 +1 @@
1
- import{c as e,n as t,t as n}from"./almost-bash-shell-headless-CXYALRet.js";import{n as r}from"./browser-eoO4vY7w.js";import{c as i}from"./sudoers-BdBYQPUn.js";import{r as a}from"./sudo-fs-C6r_MIIY.js";import{n as o}from"./jsh-discovery-D3Gk1cKA.js";import{o as s}from"./just-bash-compat-B-SPHuh_.js";import{n as c,r as l}from"./supervisor-BGSiMwrr.js";function u(t,n){return new Map(Object.entries({HOME:e,PATH:o,USER:`user`,SHELL:`/bin/bash`,TMPDIR:`/tmp`,PWD:t.cwd,...n,...t.env}))}function d(e,t,n,i){let a=u(t,i);return r({fs:e,cwd:t.cwd,env:a,stdin:s(``),exec:(e,r)=>n.exec(e,{env:r?.env??Object.fromEntries(a),cwd:r?.cwd??t.cwd,args:r?.args,...r?.env===void 0?{}:{replaceEnv:!0}})})}const f={requestApproval:async()=>({decision:`deny`})};async function p(e){let r=h(e.fs,e.sudo),i=new t(r),a=new n({fs:r,cwd:`/workspace`,processManager:e.processManager,processOwner:{kind:`jshd`}}),o={exec:(e,t)=>a.getBash().exec(e,{env:t?.env??a.getEnv(),cwd:t?.cwd??`/workspace`,args:t?.args,...t?.env===void 0?{}:{replaceEnv:!0}})},s=c({fs:e.fs,processManager:e.processManager,lickManager:e.lickManager,...e.realmFactory?{realmFactory:e.realmFactory}:{},buildContext:e=>m(i,e,o)}),u=(await l(e.fs)).filter(e=>e.enabled);if(u.length===0)return[];let d=[];for(let e of u)try{await s.start(e),d.push(e.name)}catch{}return d}function m(e,t,n){return d(e,t,n)}function h(e,t){return a(e,{broker:t?.broker??f,getPolicy:t?.getPolicy??i,defaultDisposition:`allow`})}export{p as restoreEnabledJshdUnits};
1
+ import{c as e,n as t,t as n}from"./almost-bash-shell-headless-CASw-xzD.js";import{n as r}from"./browser-eoO4vY7w.js";import{c as i}from"./sudoers-BdBYQPUn.js";import{r as a}from"./sudo-fs-C6r_MIIY.js";import{n as o}from"./jsh-discovery-D3Gk1cKA.js";import{o as s}from"./just-bash-compat-B-SPHuh_.js";import{n as c,r as l}from"./supervisor-CgihFU-m.js";function u(t,n){return new Map(Object.entries({HOME:e,PATH:o,USER:`user`,SHELL:`/bin/bash`,TMPDIR:`/tmp`,PWD:t.cwd,...n,...t.env}))}function d(e,t,n,i){let a=u(t,i);return r({fs:e,cwd:t.cwd,env:a,stdin:s(``),exec:(e,r)=>n.exec(e,{env:r?.env??Object.fromEntries(a),cwd:r?.cwd??t.cwd,args:r?.args,...r?.env===void 0?{}:{replaceEnv:!0}})})}const f={requestApproval:async()=>({decision:`deny`})};async function p(e){let r=h(e.fs,e.sudo),i=new t(r),a=new n({fs:r,cwd:`/workspace`,processManager:e.processManager,processOwner:{kind:`jshd`}}),o={exec:(e,t)=>a.getBash().exec(e,{env:t?.env??a.getEnv(),cwd:t?.cwd??`/workspace`,args:t?.args,...t?.env===void 0?{}:{replaceEnv:!0}})},s=c({fs:e.fs,processManager:e.processManager,lickManager:e.lickManager,...e.realmFactory?{realmFactory:e.realmFactory}:{},buildContext:e=>m(i,e,o)}),u=(await l(e.fs)).filter(e=>e.enabled);if(u.length===0)return[];let d=[];for(let e of u)try{await s.start(e),d.push(e.name)}catch{}return d}function m(e,t,n){return d(e,t,n)}function h(e,t){return a(e,{broker:t?.broker??f,getPolicy:t?.getPolicy??i,defaultDisposition:`allow`})}export{p as restoreEnabledJshdUnits};