sliccy 6.141.0 → 6.141.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 (115) hide show
  1. package/dist/ui/.vite/manifest.json +155 -155
  2. package/dist/ui/assets/{SKILL-cpVS35My.js → SKILL-CJIzo9DA.js} +1 -1
  3. package/dist/ui/assets/{account-store-CW3jE2sF.js → account-store-1giUExSS.js} +1 -1
  4. package/dist/ui/assets/{account-store-lxoAGWoo.js → account-store-CEOiQheZ.js} +1 -1
  5. package/dist/ui/assets/adobe-CAJTksuy.js +2 -0
  6. package/dist/ui/assets/adobe-CuKX_Gw4.js +1 -0
  7. package/dist/ui/assets/{agent-bridge-DClELdY1.js → agent-bridge-UBo80Ndw.js} +1 -1
  8. package/dist/ui/assets/{agent-panels-Cmyd2b4K.js → agent-panels-DyOEhG6c.js} +1 -1
  9. package/dist/ui/assets/{apply-layout-D66WbFkT.js → apply-layout-VtuQ2xkc.js} +1 -1
  10. package/dist/ui/assets/{apps-Bh_w9HOv.js → apps-U1kwfX_v.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-BTOUPEim.js → azure-openai-Cqv8rGOp.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-B9gQTUIy.js → azure-openai-Ddl-lvTg.js} +1 -1
  13. package/dist/ui/assets/{budget-usage-source-8V_0_Lud.js → budget-usage-source-D542v3BA.js} +1 -1
  14. package/dist/ui/assets/{cdp-B-Tb1RrY.js → cdp-CLhbRC4S.js} +1 -1
  15. package/dist/ui/assets/{cerebras-C60nLw-V.js → cerebras-CjIkFcWP.js} +1 -1
  16. package/dist/ui/assets/{cerebras-BFNeV8W4.js → cerebras-_Db4_aiE.js} +1 -1
  17. package/dist/ui/assets/{composer-speech-tbFuevfm.js → composer-speech-DaflYjI9.js} +1 -1
  18. package/dist/ui/assets/{connect-surface-BWV5zd7D.js → connect-surface-XZmKRFD-.js} +1 -1
  19. package/dist/ui/assets/{directed-approval-BdcRpqjJ.js → directed-approval-BN6dULqi.js} +1 -1
  20. package/dist/ui/assets/{fs-DgWyb2zr.js → fs-BA09m1QZ.js} +2 -2
  21. package/dist/ui/assets/{fs-CA1eGBjq.js → fs-CGTZ8FRd.js} +1 -1
  22. package/dist/ui/assets/{github-BeNtOuZs.js → github-Cq2ILMY9.js} +1 -1
  23. package/dist/ui/assets/{github-BnVI-Ric.js → github-PSX9aEBn.js} +2 -2
  24. package/dist/ui/assets/{github-copilot-CyCKuKZj.js → github-copilot-D-4VMd3T.js} +1 -1
  25. package/dist/ui/assets/{github-copilot-DexJoQxv.js → github-copilot-DG4ZIs2I.js} +1 -1
  26. package/dist/ui/assets/{github-install-D_hW3Upl.js → github-install-ldpkPFFj.js} +1 -1
  27. package/dist/ui/assets/{github-zip-B9lV3nxS.js → github-zip-CNnBN_eK.js} +1 -1
  28. package/dist/ui/assets/{hear-BnXHHP3B.js → hear-D1MeyTuZ.js} +1 -1
  29. package/dist/ui/assets/{help-CoC7qDFN.js → help-CtvHLjUb.js} +1 -1
  30. package/dist/ui/assets/{js-realm-worker-DXyLExOV.js → js-realm-worker-CWWdnszr.js} +11 -12
  31. package/dist/ui/assets/{jsh-runtime-extensions-BA7Q4hGB.js → jsh-runtime-extensions-6coWmZ2q.js} +1 -1
  32. package/dist/ui/assets/{kernel-worker-l5bqAeZu.js → kernel-worker-gHxPjWqC.js} +613 -614
  33. package/dist/ui/assets/{local-llm-CPxw769h.js → local-llm-795gKzFO.js} +1 -1
  34. package/dist/ui/assets/{local-llm-BSwhSOD7.js → local-llm-D9n5Pv4v.js} +1 -1
  35. package/dist/ui/assets/{main-BM_U535K.js → main-CmEbg5ii.js} +3 -3
  36. package/dist/ui/assets/{main-cherry-dPJsvicv.js → main-cherry--4qAV7sk.js} +1 -1
  37. package/dist/ui/assets/{mount-BkvJQUCm.js → mount-Cb23pYLO.js} +3 -3
  38. package/dist/ui/assets/{mount-CD47fnQP.js → mount-WtleT3fD.js} +1 -1
  39. package/dist/ui/assets/{mount-recovery-B1OZnCNp.js → mount-recovery-BaCu7G48.js} +1 -1
  40. package/dist/ui/assets/{new-session-CQ1A7aX8.js → new-session-64SepVcs.js} +2 -2
  41. package/dist/ui/assets/{oauth-bootstrap-D3Iei3Zi.js → oauth-bootstrap-D-BY9eAI.js} +2 -2
  42. package/dist/ui/assets/{onboarding-orchestrator-DGMltmI2.js → onboarding-orchestrator-bfS34kjc.js} +1 -1
  43. package/dist/ui/assets/{openai-codex-CEFY1RZQ.js → openai-codex-D-x53dS9.js} +1 -1
  44. package/dist/ui/assets/{openai-codex-B-NKToAX.js → openai-codex-zU3F7KlY.js} +1 -1
  45. package/dist/ui/assets/{openrouter-BwMSsjrv.js → openrouter-Ba1JpnSb.js} +1 -1
  46. package/dist/ui/assets/{openrouter-tfJth7Fv.js → openrouter-CmS2rYhd.js} +1 -1
  47. package/dist/ui/assets/{openrouter-free-DIf8PqRY.js → openrouter-free-BqJ3pQB2.js} +1 -1
  48. package/dist/ui/assets/{openrouter-free-BGaKcxNa.js → openrouter-free-DQcwC3UT.js} +1 -1
  49. package/dist/ui/assets/{openrouter-oauth-DzILOImT.js → openrouter-oauth-C-erOniu.js} +1 -1
  50. package/dist/ui/assets/{openrouter-oauth-Df0fJUGO.js → openrouter-oauth-DHUr88fi.js} +1 -1
  51. package/dist/ui/assets/{panel-rpc-handlers-Dfr8nTRt.js → panel-rpc-handlers-98Ajkixu.js} +2 -2
  52. package/dist/ui/assets/{panelize-shell-BdklWMUU.js → panelize-shell-BMyKc1pp.js} +1 -1
  53. package/dist/ui/assets/{provider-C8soaib4.js → provider-C5Z0FLhi.js} +1 -1
  54. package/dist/ui/assets/{provider-h58TGW7D.js → provider-D9l25_oW.js} +2 -2
  55. package/dist/ui/assets/provider-settings-CqIZoy7n.js +1 -0
  56. package/dist/ui/assets/provider-store-access-B7Zu_WTv.js +1 -0
  57. package/dist/ui/assets/provider-store-access-CzfqGk9d.js +1 -0
  58. package/dist/ui/assets/{providers-_GHbVO2y.js → providers-CDNZj56F.js} +2 -2
  59. package/dist/ui/assets/{providers-B9G2bMde.js → providers-DU6K5lm4.js} +1 -1
  60. package/dist/ui/assets/{quick-llm-bHa2oqGs.js → quick-llm-CGmdkAbo.js} +1 -1
  61. package/dist/ui/assets/{recovery-screen-xN1A_3mu.js → recovery-screen-DbUQYiGt.js} +1 -1
  62. package/dist/ui/assets/{run--1CF_9e0.js → run-BdNihxEm.js} +1 -1
  63. package/dist/ui/assets/{run-S0cfYmJs.js → run-CEO6EbaH.js} +1 -1
  64. package/dist/ui/assets/{run-DWnB4CKu.js → run-D5XnzhFr.js} +2 -2
  65. package/dist/ui/assets/{setup-feature-flags-remote-BPdpV20y.js → setup-feature-flags-remote-Cvdn6hdM.js} +1 -1
  66. package/dist/ui/assets/sidecar-repair-Codn4wCd.js +1 -0
  67. package/dist/ui/assets/{silent-renew-backoff-iLJU1iEI.js → silent-renew-backoff-CtePV08H.js} +1 -1
  68. package/dist/ui/assets/{skills-B4AcVnHX.js → skills-B-6EX8_-.js} +1 -1
  69. package/dist/ui/assets/slicc-version-C4ygb52b.js +1 -0
  70. package/dist/ui/assets/{snapshot-CnPDMiyS.js → snapshot-WlEbVfgz.js} +1 -1
  71. package/dist/ui/assets/{snapshot-features-DFeOru8I.js → snapshot-features-ChRer_go.js} +1 -1
  72. package/dist/ui/assets/{soundscape-DaGKjr14.js → soundscape-BVUWKD0V.js} +1 -1
  73. package/dist/ui/assets/{speak-DLb73QOR.js → speak-CgSo0rXK.js} +1 -1
  74. package/dist/ui/assets/{sprinkle-manager-BvDUG75y.js → sprinkle-manager-LMSdR63e.js} +1 -1
  75. package/dist/ui/assets/{sprinkle-renderer-C3YzieNR.js → sprinkle-renderer-BGx8hJZ_.js} +1 -1
  76. package/dist/ui/assets/{state-CVrrA2OS.js → state-97_6_0AF.js} +1 -1
  77. package/dist/ui/assets/{store-l8lAck84.js → store-BsYziZmA.js} +1 -1
  78. package/dist/ui/assets/{store-DOh745T1.js → store-Czh0k7Ej.js} +1 -1
  79. package/dist/ui/assets/{sudo-Cjr4qYWs.js → sudo-BLu3k0lA.js} +1 -1
  80. package/dist/ui/assets/{sync-dialog-D1BCRX-_.js → sync-dialog-C2VQi8rS.js} +1 -1
  81. package/dist/ui/assets/{transformers-env-C-3qKvFJ.js → transformers-env-Dtjt9IFM.js} +1 -1
  82. package/dist/ui/assets/{tray-sidecar-CMNiM9jc.js → tray-sidecar-CyZO4AI3.js} +1 -1
  83. package/dist/ui/assets/{upgrade-detection-1FdN6g-s.js → upgrade-detection-BtelIV1o.js} +1 -1
  84. package/dist/ui/assets/{voice-reply-Cf-6qPVU.js → voice-reply-DP6xzedi.js} +1 -1
  85. package/dist/ui/assets/{wc-attach-BO5oVNEK.js → wc-attach-CzsJrwZF.js} +2 -2
  86. package/dist/ui/assets/{wc-extension-BHT1dE4q.js → wc-extension-wMcey-Cc.js} +2 -2
  87. package/dist/ui/assets/{wc-follower-DbtQT-q2.js → wc-follower-ByN9dVQ1.js} +3 -3
  88. package/dist/ui/assets/{wc-follower-oauth-kJXHbCAd.js → wc-follower-oauth-9hxhD2eL.js} +1 -1
  89. package/dist/ui/assets/{wc-live-BEgauFg4.js → wc-live-TppgvY0W.js} +6 -6
  90. package/dist/ui/assets/{wc-nav-Tk-HlDK1.js → wc-nav-CgkpNqYH.js} +2 -2
  91. package/dist/ui/assets/{wc-onboarding-Hmnu5dDs.js → wc-onboarding-D4pn4la8.js} +2 -2
  92. package/dist/ui/assets/{wc-placeholder-CEivPNy0.js → wc-placeholder-BWlJ100a.js} +3 -3
  93. package/dist/ui/assets/{wc-settings-DEAKPCX_.js → wc-settings-nW_MRain.js} +3 -3
  94. package/dist/ui/assets/{wc-shell-CzfjGWqF.js → wc-shell-BFq7cCkV.js} +3 -3
  95. package/dist/ui/assets/{wc-shortcut-config-CWEfOJqF.js → wc-shortcut-config-DX1ZeRvp.js} +1 -1
  96. package/dist/ui/assets/{wc-shortcuts-B76JiuPn.js → wc-shortcuts-Cofh5Gbv.js} +1 -1
  97. package/dist/ui/assets/{wc-sprinkles-JYa1gihw.js → wc-sprinkles-f2qsZXFn.js} +2 -2
  98. package/dist/ui/assets/{wc-transcript-export-8vlKlVH3.js → wc-transcript-export-DaV1rNpE.js} +2 -2
  99. package/dist/ui/assets/{wc-tray-B76S5VYB.js → wc-tray-ijuKOV8w.js} +4 -4
  100. package/dist/ui/assets/welcome-detection-BPEhaGvB.js +1 -0
  101. package/dist/ui/assets/{whisper-session-IRFMfzfE.js → whisper-session-CargUQnZ.js} +2 -2
  102. package/dist/ui/assets/{xai-grok-D1MYSPx5.js → xai-grok-Bk0i1-e4.js} +1 -1
  103. package/dist/ui/assets/{xai-grok-BCQxFHDD.js → xai-grok-DXFRDUbJ.js} +1 -1
  104. package/dist/ui/index.html +3 -3
  105. package/dist/ui/llm-proxy-sw.js +1 -1
  106. package/dist/ui/packages/webapp/index.html +3 -3
  107. package/package.json +2 -2
  108. package/dist/ui/assets/adobe-CMsAmLgr.js +0 -2
  109. package/dist/ui/assets/adobe-Ctii1c2c.js +0 -1
  110. package/dist/ui/assets/provider-settings-CMhb9uDe.js +0 -1
  111. package/dist/ui/assets/provider-store-access-DFLRLZG9.js +0 -1
  112. package/dist/ui/assets/provider-store-access-DmAUjGS4.js +0 -1
  113. package/dist/ui/assets/sidecar-repair-DacCJIQE.js +0 -1
  114. package/dist/ui/assets/slicc-version-gM32b-cO.js +0 -1
  115. package/dist/ui/assets/welcome-detection-Bdv20Fw6.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-BM_U535K.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-lxoAGWoo.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-detached-B3WCbbZT.js","assets/wc-settings-DEAKPCX_.js","assets/wc-shortcuts-B76JiuPn.js","assets/icons-BXcp4CBT.js","assets/slugify-BYJ6QVAt.js","assets/theme-engine-By4GU_Wc.js","assets/theme-CXRqxpw6.js","assets/discovery-preference-B9KlkVuR.js","assets/legacy-styles-B3nS5QUo.js","assets/sync-dialog-D1BCRX-_.js","assets/wc-live-BEgauFg4.js","assets/sprinkle-renderer-C3YzieNR.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BsAiCAWF.js","assets/usb-device-registry-DmUBqrA-.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/transcript-export-DP-r8eDz.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-Dgm4REV3.js","assets/browser-DGwroBSO.js","assets/tray-leader-DaLUK8LB.js","assets/record-DOq72weu.js","assets/wc-shell-CzfjGWqF.js","assets/wc-shell-WkeczD9x.css","assets/wc-unit-context-Cl6J7YTp.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./runtime-env-Dlaokqg1.js";import{_ as n,c as r,s as i,v as a}from"./wc-live-BEgauFg4.js";import{l as o,t as s}from"./tray-runtime-config-BQL-GPqt.js";import{r as c}from"./feature-flags-DaSRRz0w.js";import{t as l}from"./tray-follower-status-BAjnN7Ar.js";import{n as u}from"./clipboard-eqmn97SP.js";import{t as d}from"./tray-join-url-BIvzbiFR.js";import{r as f}from"./tray-leader-DaLUK8LB.js";import{o as p}from"./record-DOq72weu.js";import{a as m}from"./wc-unit-context-Cl6J7YTp.js";function h(e){let t=e.find(e=>e.userAvatar&&e.userName)??e.find(e=>e.userName);return t?.userName?{name:t.userName,avatarUrl:t.userAvatar,provider:t.providerId}:null}function g(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}function _(e,t,n){try{let r=t();e.setAttribute(`model`,r.name??r.id),n&&(e.selectedModelId=n())}catch{}}function v(e,t){let n=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...t?[{id:`shortcuts`,label:`Keyboard mode`,icon:`keyboard`}]:[],{id:`export-transcript`,label:`Export transcript`,icon:`download`,disabled:e||void 0}];return c(`experimental-settings`)&&n.push({id:`experimental-settings`,label:`Experimental features…`,icon:`flask-conical`}),n}function y(e,t){return()=>{e.models=g(t()),a()}}function b(e,t,n){return()=>_(e,t,()=>{let e=t();return`${n()}:${e.id}`})}function x(e,t,n){return()=>{let r=h(t()),i=e.avatarMenu.querySelector(`slicc-avatar`),a=e.inputCard.querySelector(`slicc-send-button`);if(r){i?.removeAttribute(`initials`),i?.setAttribute(`name`,r.name),r.avatarUrl&&(i?.setAttribute(`src`,r.avatarUrl),a?.setAttribute(`src`,r.avatarUrl)),e.avatarMenu.user={name:r.name,provider:r.provider};return}i?.removeAttribute(`name`),i?.removeAttribute(`src`),i?.removeAttribute(`initials`),a?.removeAttribute(`src`),e.avatarMenu.user={name:`SLICC`,provider:n?`extension`:`standalone`}}}async function S(n){let{refs:r,client:i,log:a,onExportTranscript:o}=n,{getAllAvailableModels:s,getAccounts:c,getSelectedProvider:u,resolveCurrentModel:p}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}=await import(`./main-BM_U535K.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}},__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,28,29,30,31,32,33])),m=y(r.composerMeta,s),h=b(r.composerMeta,p,u);m();let g=null;await N(r,i,n.workUnits,n.getUnits,()=>{let e=g;g=null,e!=null&&r.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let _=t(),S=x(r,c,_);S();let O=()=>{if(_)return[];let e=d(f(),l()),t=[{kind:`separator`}];return e.kind===`leader-offer`?t.push({id:`tray-enable`,label:e.label,icon:`radio`}):e.kind===`leader-copy`?(t.push({id:`tray-copy`,label:`Copy tray join URL`,icon:`link`}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):e.kind===`leader-pending`?(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0})),t},P=new URLSearchParams(window.location.search).has(`detached`),I=()=>_&&!P?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],L=!1,R=()=>{r.avatarMenu.items=[...v(L,!!n.shortcuts),...I(),...O()]};R(),r.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&R()});let z=C(a,m,S,()=>i.updateModel());n.shortcuts?.setAction(`accounts`,z);let B=w(a,T(n)),V=E(a);D(r,a),r.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let r=t.detail?.id;if(r&&k(r,a)){R();return}if(r===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-B3WCbbZT.js`);return{requestDetachedPopout:e}},__vite__mapDeps([34,28])).then(({requestDetachedPopout:e})=>e()).catch(e=>a.error(`detached popout request failed`,e));return}r===`shortcuts`&&n.shortcuts?.showHelp(),r===`settings`&&z(),r===`theme`&&B(),r===`experimental-settings`&&V(),r===`export-transcript`&&o&&(L=!0,R(),o().finally(()=>{L=!1,R()}))}),r.composerMeta.addEventListener(`add-ai`,z),A(r,z),j({refs:r,log:a,openSettings:z,setPendingReplayMessageId:e=>{g=e}}),await M({refs:r,log:a,openSettings:z,refreshModels:m,applyIdentity:S,client:i}),await F({refreshModels:m,refreshModelPill:h,applyIdentity:S,client:i})}function C(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-DEAKPCX_.js`);return{showWcSettings:e}},__vite__mapDeps([35,4,36,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,37,38,30,39,40,41])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function w(t,n){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-DEAKPCX_.js`);return{showThemeSettings:e}},__vite__mapDeps([35,4,36,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,37,38,30,39,40,41])).then(({showThemeSettings:e})=>e(t,n?{getTrigger:n.getTrigger,setTrigger:n.setTrigger,persistTrigger:n.persistTrigger}:void 0)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function T(e){let t=e.shortcuts;if(t)return{getTrigger:()=>t.trigger(),setTrigger:e=>t.setTrigger(e),persistTrigger:e.persistKeyboardTrigger}}function E(t){return()=>{e(async()=>{let{showExperimentalSettings:e}=await import(`./wc-settings-DEAKPCX_.js`);return{showExperimentalSettings:e}},__vite__mapDeps([35,4,36,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,37,38,30,39,40,41])).then(({showExperimentalSettings:e})=>e(t)).catch(e=>t.error(`Experimental settings dialog failed`,e))}}function D(e,t){e.floatbar.addEventListener(`slicc-followers-click`,()=>{O(t,{copy:!1,initialTab:`status`})})}function O(t,n){let a=f().session?.joinUrl;a&&(n.copy&&u(a).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([42,4])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-D1BCRX-_.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([43,26,44,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,36,37,45,46,47,48,49,50,51,40,39,38,52,27,28,29,30,31,0,2,32,33,53,54,55,56,57,58,59,60,61,62]));t({joinUrl:a,copied:n.copy,initialTab:n.initialTab,followers:i(),onReset:r()??null})}).catch(e=>t.error(`sync dialog failed`,e)))}function k(e,t){return e===`tray-enable`?(o({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:s}).then(e=>{if(!e)return t.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0):e===`tray-copy`?(O(t,{copy:!0}),!0):e===`tray-stop`&&(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0)}function A(e,t){e.thread?.addEventListener(`slicc-error-open-settings`,t),window.addEventListener(`slicc:open-settings-from-panel`,()=>t())}function j(e){let{refs:t,log:n,openSettings:r,setPendingReplayMessageId:i}=e;t.thread?.addEventListener(`slicc-error-change-model`,e=>{i(e.detail?.messageId??null);let a=t.composerMeta,o=a.models;if(Array.isArray(o)&&o.length===0){r();return}try{a.openMenu?.()}catch(e){n.error(`opening composer model picker failed`,e)}})}async function M(t){let{refs:n,log:r,openSettings:i,refreshModels:a,applyIdentity:o,client:s}=t,{getSelectedProvider:c,getProviderConfig:l,reloginOAuthAccount:u}=await e(async()=>{let{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}=await import(`./main-BM_U535K.js`).then(e=>e.t);return{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}},__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,28,29,30,31,32,33]));n.thread?.addEventListener(`slicc-error-login`,()=>{let e=c(),t=e?l(e):null;if(!t||!t.onOAuthLogin&&!t.onOAuthLoginIntercepted){i();return}u(t,()=>{a(),o(),s.updateModel()}).catch(e=>r.error(`re-login from error card failed`,e))})}async function N(t,n,r,i,a){let{resolveModelById:o,resolveCurrentModel:s,setSelectedModelId:c}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-BM_U535K.js`).then(e=>e.t);return{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}},__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,28,29,30,31,32,33])),l=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},u=e=>{try{let n=e?o(l(e)):s();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};u(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail,o=t?.id;o&&t?.source!==`follower`&&(c(o),u(o),P(n,r,i(),o),a?.())})}async function P(e,t,r,i,a=n){let o=p(i);if(!o)return!1;let s=e.selectedScoopJid,c=m(r,s?{id:s}:null);if(!c)return!1;let l=await t.setModel(c.id,o);return l&&a(),l===!0}async function F(t){let{refreshModels:n,refreshModelPill:r,applyIdentity:i,client:a}=t,{getAccounts:o,getProviderConfig:s}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-BM_U535K.js`).then(e=>e.t);return{getAccounts:e,getProviderConfig:t}},__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,28,29,30,31,32,33]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i(),a.updateModel();for(let e of o()){let t=s(e.providerId)?.refreshModels;t&&t().then(()=>{n(),r(),a.updateModel()}).catch(()=>void 0)}})}export{S as wireWcNav};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-CmEbg5ii.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-CEOiQheZ.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-detached-B3WCbbZT.js","assets/wc-settings-nW_MRain.js","assets/wc-shortcuts-Cofh5Gbv.js","assets/icons-BXcp4CBT.js","assets/slugify-BYJ6QVAt.js","assets/theme-engine-By4GU_Wc.js","assets/theme-CXRqxpw6.js","assets/discovery-preference-B9KlkVuR.js","assets/legacy-styles-B3nS5QUo.js","assets/sync-dialog-C2VQi8rS.js","assets/wc-live-TppgvY0W.js","assets/sprinkle-renderer-BGx8hJZ_.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BsAiCAWF.js","assets/usb-device-registry-DmUBqrA-.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/transcript-export-DP-r8eDz.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-Dgm4REV3.js","assets/browser-DGwroBSO.js","assets/tray-leader-DaLUK8LB.js","assets/record-DOq72weu.js","assets/wc-shell-BFq7cCkV.js","assets/wc-shell-WkeczD9x.css","assets/wc-unit-context-Cl6J7YTp.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./runtime-env-Dlaokqg1.js";import{_ as n,c as r,s as i,v as a}from"./wc-live-TppgvY0W.js";import{l as o,t as s}from"./tray-runtime-config-BQL-GPqt.js";import{r as c}from"./feature-flags-DaSRRz0w.js";import{t as l}from"./tray-follower-status-BAjnN7Ar.js";import{n as u}from"./clipboard-eqmn97SP.js";import{t as d}from"./tray-join-url-BIvzbiFR.js";import{r as f}from"./tray-leader-DaLUK8LB.js";import{o as p}from"./record-DOq72weu.js";import{a as m}from"./wc-unit-context-Cl6J7YTp.js";function h(e){let t=e.find(e=>e.userAvatar&&e.userName)??e.find(e=>e.userName);return t?.userName?{name:t.userName,avatarUrl:t.userAvatar,provider:t.providerId}:null}function g(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}function _(e,t,n){try{let r=t();e.setAttribute(`model`,r.name??r.id),n&&(e.selectedModelId=n())}catch{}}function v(e,t){let n=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...t?[{id:`shortcuts`,label:`Keyboard mode`,icon:`keyboard`}]:[],{id:`export-transcript`,label:`Export transcript`,icon:`download`,disabled:e||void 0}];return c(`experimental-settings`)&&n.push({id:`experimental-settings`,label:`Experimental features…`,icon:`flask-conical`}),n}function y(e,t){return()=>{e.models=g(t()),a()}}function b(e,t,n){return()=>_(e,t,()=>{let e=t();return`${n()}:${e.id}`})}function x(e,t,n){return()=>{let r=h(t()),i=e.avatarMenu.querySelector(`slicc-avatar`),a=e.inputCard.querySelector(`slicc-send-button`);if(r){i?.removeAttribute(`initials`),i?.setAttribute(`name`,r.name),r.avatarUrl&&(i?.setAttribute(`src`,r.avatarUrl),a?.setAttribute(`src`,r.avatarUrl)),e.avatarMenu.user={name:r.name,provider:r.provider};return}i?.removeAttribute(`name`),i?.removeAttribute(`src`),i?.removeAttribute(`initials`),a?.removeAttribute(`src`),e.avatarMenu.user={name:`SLICC`,provider:n?`extension`:`standalone`}}}async function S(n){let{refs:r,client:i,log:a,onExportTranscript:o}=n,{getAllAvailableModels:s,getAccounts:c,getSelectedProvider:u,resolveCurrentModel:p}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}=await import(`./main-CmEbg5ii.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}},__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,28,29,30,31,32,33])),m=y(r.composerMeta,s),h=b(r.composerMeta,p,u);m();let g=null;await N(r,i,n.workUnits,n.getUnits,()=>{let e=g;g=null,e!=null&&r.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let _=t(),S=x(r,c,_);S();let O=()=>{if(_)return[];let e=d(f(),l()),t=[{kind:`separator`}];return e.kind===`leader-offer`?t.push({id:`tray-enable`,label:e.label,icon:`radio`}):e.kind===`leader-copy`?(t.push({id:`tray-copy`,label:`Copy tray join URL`,icon:`link`}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):e.kind===`leader-pending`?(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0})),t},P=new URLSearchParams(window.location.search).has(`detached`),I=()=>_&&!P?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],L=!1,R=()=>{r.avatarMenu.items=[...v(L,!!n.shortcuts),...I(),...O()]};R(),r.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&R()});let z=C(a,m,S,()=>i.updateModel());n.shortcuts?.setAction(`accounts`,z);let B=w(a,T(n)),V=E(a);D(r,a),r.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let r=t.detail?.id;if(r&&k(r,a)){R();return}if(r===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-B3WCbbZT.js`);return{requestDetachedPopout:e}},__vite__mapDeps([34,28])).then(({requestDetachedPopout:e})=>e()).catch(e=>a.error(`detached popout request failed`,e));return}r===`shortcuts`&&n.shortcuts?.showHelp(),r===`settings`&&z(),r===`theme`&&B(),r===`experimental-settings`&&V(),r===`export-transcript`&&o&&(L=!0,R(),o().finally(()=>{L=!1,R()}))}),r.composerMeta.addEventListener(`add-ai`,z),A(r,z),j({refs:r,log:a,openSettings:z,setPendingReplayMessageId:e=>{g=e}}),await M({refs:r,log:a,openSettings:z,refreshModels:m,applyIdentity:S,client:i}),await F({refreshModels:m,refreshModelPill:h,applyIdentity:S,client:i})}function C(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-nW_MRain.js`);return{showWcSettings:e}},__vite__mapDeps([35,4,36,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,37,38,30,39,40,41])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function w(t,n){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-nW_MRain.js`);return{showThemeSettings:e}},__vite__mapDeps([35,4,36,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,37,38,30,39,40,41])).then(({showThemeSettings:e})=>e(t,n?{getTrigger:n.getTrigger,setTrigger:n.setTrigger,persistTrigger:n.persistTrigger}:void 0)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function T(e){let t=e.shortcuts;if(t)return{getTrigger:()=>t.trigger(),setTrigger:e=>t.setTrigger(e),persistTrigger:e.persistKeyboardTrigger}}function E(t){return()=>{e(async()=>{let{showExperimentalSettings:e}=await import(`./wc-settings-nW_MRain.js`);return{showExperimentalSettings:e}},__vite__mapDeps([35,4,36,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,37,38,30,39,40,41])).then(({showExperimentalSettings:e})=>e(t)).catch(e=>t.error(`Experimental settings dialog failed`,e))}}function D(e,t){e.floatbar.addEventListener(`slicc-followers-click`,()=>{O(t,{copy:!1,initialTab:`status`})})}function O(t,n){let a=f().session?.joinUrl;a&&(n.copy&&u(a).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([42,4])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-C2VQi8rS.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([43,26,44,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,36,37,45,46,47,48,49,50,51,40,39,38,52,27,28,29,30,31,0,2,32,33,53,54,55,56,57,58,59,60,61,62]));t({joinUrl:a,copied:n.copy,initialTab:n.initialTab,followers:i(),onReset:r()??null})}).catch(e=>t.error(`sync dialog failed`,e)))}function k(e,t){return e===`tray-enable`?(o({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:s}).then(e=>{if(!e)return t.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0):e===`tray-copy`?(O(t,{copy:!0}),!0):e===`tray-stop`&&(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0)}function A(e,t){e.thread?.addEventListener(`slicc-error-open-settings`,t),window.addEventListener(`slicc:open-settings-from-panel`,()=>t())}function j(e){let{refs:t,log:n,openSettings:r,setPendingReplayMessageId:i}=e;t.thread?.addEventListener(`slicc-error-change-model`,e=>{i(e.detail?.messageId??null);let a=t.composerMeta,o=a.models;if(Array.isArray(o)&&o.length===0){r();return}try{a.openMenu?.()}catch(e){n.error(`opening composer model picker failed`,e)}})}async function M(t){let{refs:n,log:r,openSettings:i,refreshModels:a,applyIdentity:o,client:s}=t,{getSelectedProvider:c,getProviderConfig:l,reloginOAuthAccount:u}=await e(async()=>{let{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}=await import(`./main-CmEbg5ii.js`).then(e=>e.t);return{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}},__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,28,29,30,31,32,33]));n.thread?.addEventListener(`slicc-error-login`,()=>{let e=c(),t=e?l(e):null;if(!t||!t.onOAuthLogin&&!t.onOAuthLoginIntercepted){i();return}u(t,()=>{a(),o(),s.updateModel()}).catch(e=>r.error(`re-login from error card failed`,e))})}async function N(t,n,r,i,a){let{resolveModelById:o,resolveCurrentModel:s,setSelectedModelId:c}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-CmEbg5ii.js`).then(e=>e.t);return{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}},__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,28,29,30,31,32,33])),l=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},u=e=>{try{let n=e?o(l(e)):s();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};u(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail,o=t?.id;o&&t?.source!==`follower`&&(c(o),u(o),P(n,r,i(),o),a?.())})}async function P(e,t,r,i,a=n){let o=p(i);if(!o)return!1;let s=e.selectedScoopJid,c=m(r,s?{id:s}:null);if(!c)return!1;let l=await t.setModel(c.id,o);return l&&a(),l===!0}async function F(t){let{refreshModels:n,refreshModelPill:r,applyIdentity:i,client:a}=t,{getAccounts:o,getProviderConfig:s}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-CmEbg5ii.js`).then(e=>e.t);return{getAccounts:e,getProviderConfig:t}},__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,28,29,30,31,32,33]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i(),a.updateModel();for(let e of o()){let t=s(e.providerId)?.refreshModels;t&&t().then(()=>{n(),r(),a.updateModel()}).catch(()=>void 0)}})}export{S as wireWcNav};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-DGMltmI2.js","assets/logger-DDBAeTLF.js","assets/slugify-BYJ6QVAt.js","assets/oauth-service-t2taQm3p.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-CiijUcSt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-BM_U535K.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-lxoAGWoo.js","assets/claude-model-version-CSATLzrT.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/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{L as n}from"./wc-live-BEgauFg4.js";import{o as r}from"./tray-runtime-config-BQL-GPqt.js";import{n as i,t as a}from"./record-DOq72weu.js";var o=t(`welcome-detection`),s=`/shared/.welcomed`,c=`browser-coding-agent`,l=1,u=`sessions`,d=i({folder:a}),f=`[Sprinkle Event: welcome]`;function p(){return new Promise((e,t)=>{let n=indexedDB.open(c,l);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(u)||e.createObjectStore(u,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function m(){return p().catch(()=>new Promise((e,t)=>{setTimeout(()=>{p().then(e,t)},120)}))}async function h(){let e=await m();try{return await new Promise((t,n)=>{let r=e.transaction(u,`readonly`).objectStore(u).get(d);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function g(){try{let e=await h();return!e||!Array.isArray(e.messages)?!1:e.messages.some(e=>_(e))}catch(e){return o.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function _(e){let t=e.content;return typeof t==`string`?t.includes(f):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(f);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(f)}return!1}):!1}async function v(e){let t=!1;try{t=await e.exists(s)}catch(e){return o.warn(`Failed to read welcomed marker`,{path:s,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await g()?{isFirstRun:!1}:{isFirstRun:!0}}async function y(e){await e.writeFile(s,`1`)}var b=`"action":"onboarding-complete-with-provider"`;function x(e){let t=e.content;return typeof t==`string`?t.includes(b):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(b);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(b)}return!1}):!1}async function S(){try{let e=await h();return!e||!Array.isArray(e.messages)?!1:e.messages.some(e=>x(e))}catch(e){return o.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function C(e){let{vfs:t,storage:n,firedWelcomeActions:i,persistFiredWelcomeActions:a,getOrchestrator:o,log:s}=e;r(n)||v(t).then(e=>{if(e.isFirstRun){if(i.has(`first-run`)){s.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}i.add(`first-run`),a(i),o().handleFirstRun()}}).catch(e=>s.warn(`Welcome detection failed`,e))}function w(e){for(let t of[`slicc_accounts`,`selected-model`]){let n=localStorage.getItem(t);n!=null&&e.sendRaw({type:`local-storage-set`,key:t,value:n})}}function T(e,t,n,r){let i=n(e).filter(e=>!r(e.id)),a=t.defaultModelId?i.find(e=>e.id===t.defaultModelId):void 0,o=t.defaultModelId?i.find(e=>e.id.toLowerCase().includes(t.defaultModelId.toLowerCase())):void 0,s=a??o??i[0];return s?`${e}:${s.id}`:void 0}function E(e){let t=e.getAvailableProviders().filter(t=>e.providerOffersLlmModels(t)),n=t.map(t=>{let n=e.getProviderConfig(t);return{id:n.id,name:n.name??n.id,description:n.description,requiresApiKey:n.requiresApiKey??!0,requiresBaseUrl:n.requiresBaseUrl??!1,requiresDeployment:!!n.requiresDeployment,requiresApiVersion:!!n.requiresApiVersion,apiKeyPlaceholder:n.apiKeyPlaceholder??void 0,apiKeyEnvVar:n.apiKeyEnvVar??void 0,defaultBaseUrl:n.baseUrlPlaceholder??void 0,baseUrlDescription:n.baseUrlDescription??void 0,deploymentPlaceholder:n.deploymentPlaceholder??void 0,deploymentDescription:n.deploymentDescription??void 0,apiVersionDefault:n.apiVersionDefault??void 0,apiVersionDescription:n.apiVersionDescription??void 0,isOAuth:!!n.isOAuth}}).sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),r={};for(let n of t)try{r[n]=e.getProviderModels(n).filter(t=>!e.isModelHiddenFromPicker(t.id)).map(e=>({id:e.id,name:e.name}))}catch{r[n]=[]}return{providers:n,models:r}}async function D(t){let{OnboardingOrchestrator:n}=await e(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-DGMltmI2.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2])),r=null;return{get:()=>r||(r=new n({fs:t.fs,postSystemMessage:t.postSystemMessage,postDipReference:t.postDipReference,getProviderCatalogue:()=>E(t.providers),saveAccount:(e,n,r,i,a)=>t.providers.addAccount(e,n,r,i,a),setSelectedModel:e=>t.providers.setSelectedModelId(e),resolveModelLabel:(e,n)=>{try{return t.providers.getProviderModels(e).find(e=>e.id===n)?.name??null}catch{return null}},broadcastToDip:e=>t.broadcastToDip(e),fireFinalLick:e=>t.onFireFinalLick(e),onAccountsChanged:t.onAccountsChanged?()=>t.onAccountsChanged?.():void 0,launchOAuth:async(e,n)=>await O(e,n??null,t)}),r),peek:()=>r,buildCatalogue:()=>E(t.providers)}}async function O(t,n,r){try{let i=r.providers.getProviderConfig(t);if(!i.isOAuth||!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return{ok:!1,message:`Provider does not support OAuth.`};if(i.requiresBaseUrl&&n&&r.providers.addAccount(t,``,n),i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-t2taQm3p.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=await t();if(!n)return{ok:!1,message:`Intercepted OAuth requires the controlled-browser transport — open SLICC in standalone or extension mode.`};await i.onOAuthLoginIntercepted(n,()=>void 0,{presentDeviceCode:r.deviceCode.createSprinkleDeviceCodePrompter({broadcastToDip:e=>r.broadcastToDip(e)})})}else if(i.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-t2taQm3p.js`);return{createOAuthLauncher:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=t();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:T(t,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var k=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),A=`slicc:welcome-flow-fired`;function j(){try{let e=typeof localStorage<`u`?localStorage.getItem(A):null;if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}}function M(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(A,JSON.stringify([...e]))}catch{}}function N(e,t,n,r,i){if(k.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}k.has(e)&&(t.add(e),M(t)),n()}var P=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`]);function F(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:u,log:d}=e;return e=>{if(e.type!==`sprinkle`)return!1;let f=e.sprinkleName===`welcome`||e.sprinkleName===`inline`?e.body?.action:void 0;if(f&&k.has(f)){if(t.has(f))return d.debug(`Suppressing duplicate welcome lick (${l})`,{action:f}),!0;t.add(f),M(t)}if(!f||!P.has(f))return!1;let p=e.body;return V(f,p,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:u,log:d})}}function I(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function L(e,t){let n=t.getOnboardingOrchestrator(),r=e?.data??{};return r.mountWorkspace&&t.applyPendingMount&&t.applyPendingMount().catch(e=>t.log.warn(`Failed to mount workspace from onboarding`,e)),n.handleOnboardingComplete(r).catch(e=>t.log.warn(`OnboardingOrchestrator failed`,e)),!0}function R(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:I(n,`baseUrl`),deployment:I(n,`deployment`),apiVersion:I(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function z(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:I(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var B={"device-code-decision":(e,t)=>{let n=e?.data?.decision;return t.resolveDeviceCodeDecision(n===`cancel`?`cancel`:`continue`),!0},"first-run":(e,t)=>(t.getOnboardingOrchestrator().handleFirstRun(),!0),"onboarding-complete":L,"connect-ready":(e,t)=>H(t),"connect-attempt":R,"oauth-attempt":z,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0)};function V(e,t,n){return B[e]?.(t,n)??!1}function H(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),U(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function U(t,n,r){let{hasOnboardingFinalLickInHistory:i}=await e(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-Bdv20Fw6.js`);return{hasOnboardingFinalLickInHistory:e}},[]);if(await i())return;let a=t?await W(t):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await e(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-BM_U535K.js`).then(e=>e.t);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([13,6,14,15,4,16,17,18,19,20,21,22,1,7,5,8,9,10,23,24,25,26,27,28,11,29,30,31,32,33,34,35,36,37])),l=(()=>{try{return o()||null}catch{return null}})(),u=(()=>{if(!l)return null;try{return c(n).find(e=>e.id===l)?.name??l}catch{return l}})(),d=null;try{d=s(n).name??null}catch{}r({action:`onboarding-complete-with-provider`,data:{profile:a,provider:n,providerName:d,model:l,modelLabel:u,validation:`preexisting`}})}async function W(e){try{let t=await e.readDir(`/home`),n=null;for(let r of t){if(r.type!==`directory`)continue;let t=`/home/${r.name}/.welcome.json`;try{let r=(await e.stat(t)).mtime??0;if(n&&r<=n.mtime)continue;let i=await e.readFile(t,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i));a&&typeof a==`object`&&(n={profile:a,mtime:r})}catch{}}return n?.profile??{}}catch{return{}}}function G(e){let{writer:t}=e;return{readFile:t.readFile.bind(t),writeFile:t.writeFile.bind(t),readDir:t.readDir.bind(t),stat:t.stat.bind(t),mkdir:t.mkdir.bind(t),exists:async e=>{try{return await t.stat(e),!0}catch{return!1}}}}async function K(t){let{client:r,getController:i,openVfs:a,log:o}=t,s=await e(()=>import(`./main-BM_U535K.js`).then(e=>e.t),__vite__mapDeps([13,6,14,15,4,16,17,18,19,20,21,22,1,7,5,8,9,10,23,24,25,26,27,28,11,29,30,31,32,33,34,35,36,37])),{createSprinkleDeviceCodePrompter:c,resolveDeviceCodeDecision:l}=await e(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),u=G(await a()),d=j(),f=e=>{let t=i();t?t.addAssistantMessage(e):o.warn(`WC onboarding: no controller to post welcome line`)},p=await D({fs:u,log:o,providers:s,deviceCode:{createSprinkleDeviceCodePrompter:c},postSystemMessage:f,postDipReference:f,broadcastToDip:e=>n(e),onFireFinalLick:e=>{w(r),N(String(e.action??``),d,()=>r.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,o)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){o.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),m=F({firedWelcomeActions:d,getAccounts:s.getAccounts,getProviderConfig:s.getProviderConfig,resolveDeviceCodeDecision:l,getOnboardingOrchestrator:()=>p.get(),fastForward:{fire:e=>{N(String(e.action??``),d,()=>r.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,o)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return s.getProviderConfig(e)?.name??null}catch{return null}})();n({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{u.writeFile(`/shared/.welcomed`,`1`).catch(e=>o.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:u,log:o});return C({vfs:u,storage:window.localStorage,firedWelcomeActions:d,persistFiredWelcomeActions:M,getOrchestrator:()=>p.get(),log:o}),{interceptWelcomeLick:m}}export{y as i,S as n,g as r,v as t,K as wireWcOnboarding};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-bfS34kjc.js","assets/logger-DDBAeTLF.js","assets/slugify-BYJ6QVAt.js","assets/oauth-service-t2taQm3p.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-CiijUcSt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-CmEbg5ii.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-CEOiQheZ.js","assets/claude-model-version-CSATLzrT.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/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{L as n}from"./wc-live-TppgvY0W.js";import{o as r}from"./tray-runtime-config-BQL-GPqt.js";import{n as i,t as a}from"./record-DOq72weu.js";var o=t(`welcome-detection`),s=`/shared/.welcomed`,c=`browser-coding-agent`,l=1,u=`sessions`,d=i({folder:a}),f=`[Sprinkle Event: welcome]`;function p(){return new Promise((e,t)=>{let n=indexedDB.open(c,l);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(u)||e.createObjectStore(u,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function m(){return p().catch(()=>new Promise((e,t)=>{setTimeout(()=>{p().then(e,t)},120)}))}async function h(){let e=await m();try{return await new Promise((t,n)=>{let r=e.transaction(u,`readonly`).objectStore(u).get(d);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function g(){try{let e=await h();return!e||!Array.isArray(e.messages)?!1:e.messages.some(e=>_(e))}catch(e){return o.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function _(e){let t=e.content;return typeof t==`string`?t.includes(f):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(f);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(f)}return!1}):!1}async function v(e){let t=!1;try{t=await e.exists(s)}catch(e){return o.warn(`Failed to read welcomed marker`,{path:s,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await g()?{isFirstRun:!1}:{isFirstRun:!0}}async function y(e){await e.writeFile(s,`1`)}var b=`"action":"onboarding-complete-with-provider"`;function x(e){let t=e.content;return typeof t==`string`?t.includes(b):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(b);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(b)}return!1}):!1}async function S(){try{let e=await h();return!e||!Array.isArray(e.messages)?!1:e.messages.some(e=>x(e))}catch(e){return o.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function C(e){let{vfs:t,storage:n,firedWelcomeActions:i,persistFiredWelcomeActions:a,getOrchestrator:o,log:s}=e;r(n)||v(t).then(e=>{if(e.isFirstRun){if(i.has(`first-run`)){s.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}i.add(`first-run`),a(i),o().handleFirstRun()}}).catch(e=>s.warn(`Welcome detection failed`,e))}function w(e){for(let t of[`slicc_accounts`,`selected-model`]){let n=localStorage.getItem(t);n!=null&&e.sendRaw({type:`local-storage-set`,key:t,value:n})}}function T(e,t,n,r){let i=n(e).filter(e=>!r(e.id)),a=t.defaultModelId?i.find(e=>e.id===t.defaultModelId):void 0,o=t.defaultModelId?i.find(e=>e.id.toLowerCase().includes(t.defaultModelId.toLowerCase())):void 0,s=a??o??i[0];return s?`${e}:${s.id}`:void 0}function E(e){let t=e.getAvailableProviders().filter(t=>e.providerOffersLlmModels(t)),n=t.map(t=>{let n=e.getProviderConfig(t);return{id:n.id,name:n.name??n.id,description:n.description,requiresApiKey:n.requiresApiKey??!0,requiresBaseUrl:n.requiresBaseUrl??!1,requiresDeployment:!!n.requiresDeployment,requiresApiVersion:!!n.requiresApiVersion,apiKeyPlaceholder:n.apiKeyPlaceholder??void 0,apiKeyEnvVar:n.apiKeyEnvVar??void 0,defaultBaseUrl:n.baseUrlPlaceholder??void 0,baseUrlDescription:n.baseUrlDescription??void 0,deploymentPlaceholder:n.deploymentPlaceholder??void 0,deploymentDescription:n.deploymentDescription??void 0,apiVersionDefault:n.apiVersionDefault??void 0,apiVersionDescription:n.apiVersionDescription??void 0,isOAuth:!!n.isOAuth}}).sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),r={};for(let n of t)try{r[n]=e.getProviderModels(n).filter(t=>!e.isModelHiddenFromPicker(t.id)).map(e=>({id:e.id,name:e.name}))}catch{r[n]=[]}return{providers:n,models:r}}async function D(t){let{OnboardingOrchestrator:n}=await e(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-bfS34kjc.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2])),r=null;return{get:()=>r||(r=new n({fs:t.fs,postSystemMessage:t.postSystemMessage,postDipReference:t.postDipReference,getProviderCatalogue:()=>E(t.providers),saveAccount:(e,n,r,i,a)=>t.providers.addAccount(e,n,r,i,a),setSelectedModel:e=>t.providers.setSelectedModelId(e),resolveModelLabel:(e,n)=>{try{return t.providers.getProviderModels(e).find(e=>e.id===n)?.name??null}catch{return null}},broadcastToDip:e=>t.broadcastToDip(e),fireFinalLick:e=>t.onFireFinalLick(e),onAccountsChanged:t.onAccountsChanged?()=>t.onAccountsChanged?.():void 0,launchOAuth:async(e,n)=>await O(e,n??null,t)}),r),peek:()=>r,buildCatalogue:()=>E(t.providers)}}async function O(t,n,r){try{let i=r.providers.getProviderConfig(t);if(!i.isOAuth||!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return{ok:!1,message:`Provider does not support OAuth.`};if(i.requiresBaseUrl&&n&&r.providers.addAccount(t,``,n),i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-t2taQm3p.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=await t();if(!n)return{ok:!1,message:`Intercepted OAuth requires the controlled-browser transport — open SLICC in standalone or extension mode.`};await i.onOAuthLoginIntercepted(n,()=>void 0,{presentDeviceCode:r.deviceCode.createSprinkleDeviceCodePrompter({broadcastToDip:e=>r.broadcastToDip(e)})})}else if(i.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-t2taQm3p.js`);return{createOAuthLauncher:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=t();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:T(t,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var k=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),A=`slicc:welcome-flow-fired`;function j(){try{let e=typeof localStorage<`u`?localStorage.getItem(A):null;if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}}function M(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(A,JSON.stringify([...e]))}catch{}}function N(e,t,n,r,i){if(k.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}k.has(e)&&(t.add(e),M(t)),n()}var P=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`]);function F(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:u,log:d}=e;return e=>{if(e.type!==`sprinkle`)return!1;let f=e.sprinkleName===`welcome`||e.sprinkleName===`inline`?e.body?.action:void 0;if(f&&k.has(f)){if(t.has(f))return d.debug(`Suppressing duplicate welcome lick (${l})`,{action:f}),!0;t.add(f),M(t)}if(!f||!P.has(f))return!1;let p=e.body;return V(f,p,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:u,log:d})}}function I(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function L(e,t){let n=t.getOnboardingOrchestrator(),r=e?.data??{};return r.mountWorkspace&&t.applyPendingMount&&t.applyPendingMount().catch(e=>t.log.warn(`Failed to mount workspace from onboarding`,e)),n.handleOnboardingComplete(r).catch(e=>t.log.warn(`OnboardingOrchestrator failed`,e)),!0}function R(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:I(n,`baseUrl`),deployment:I(n,`deployment`),apiVersion:I(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function z(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:I(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var B={"device-code-decision":(e,t)=>{let n=e?.data?.decision;return t.resolveDeviceCodeDecision(n===`cancel`?`cancel`:`continue`),!0},"first-run":(e,t)=>(t.getOnboardingOrchestrator().handleFirstRun(),!0),"onboarding-complete":L,"connect-ready":(e,t)=>H(t),"connect-attempt":R,"oauth-attempt":z,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0)};function V(e,t,n){return B[e]?.(t,n)??!1}function H(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),U(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function U(t,n,r){let{hasOnboardingFinalLickInHistory:i}=await e(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-BPEhaGvB.js`);return{hasOnboardingFinalLickInHistory:e}},[]);if(await i())return;let a=t?await W(t):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await e(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-CmEbg5ii.js`).then(e=>e.t);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([13,6,14,15,4,16,17,18,19,20,21,22,1,7,5,8,9,10,23,24,25,26,27,28,11,29,30,31,32,33,34,35,36,37])),l=(()=>{try{return o()||null}catch{return null}})(),u=(()=>{if(!l)return null;try{return c(n).find(e=>e.id===l)?.name??l}catch{return l}})(),d=null;try{d=s(n).name??null}catch{}r({action:`onboarding-complete-with-provider`,data:{profile:a,provider:n,providerName:d,model:l,modelLabel:u,validation:`preexisting`}})}async function W(e){try{let t=await e.readDir(`/home`),n=null;for(let r of t){if(r.type!==`directory`)continue;let t=`/home/${r.name}/.welcome.json`;try{let r=(await e.stat(t)).mtime??0;if(n&&r<=n.mtime)continue;let i=await e.readFile(t,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i));a&&typeof a==`object`&&(n={profile:a,mtime:r})}catch{}}return n?.profile??{}}catch{return{}}}function G(e){let{writer:t}=e;return{readFile:t.readFile.bind(t),writeFile:t.writeFile.bind(t),readDir:t.readDir.bind(t),stat:t.stat.bind(t),mkdir:t.mkdir.bind(t),exists:async e=>{try{return await t.stat(e),!0}catch{return!1}}}}async function K(t){let{client:r,getController:i,openVfs:a,log:o}=t,s=await e(()=>import(`./main-CmEbg5ii.js`).then(e=>e.t),__vite__mapDeps([13,6,14,15,4,16,17,18,19,20,21,22,1,7,5,8,9,10,23,24,25,26,27,28,11,29,30,31,32,33,34,35,36,37])),{createSprinkleDeviceCodePrompter:c,resolveDeviceCodeDecision:l}=await e(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),u=G(await a()),d=j(),f=e=>{let t=i();t?t.addAssistantMessage(e):o.warn(`WC onboarding: no controller to post welcome line`)},p=await D({fs:u,log:o,providers:s,deviceCode:{createSprinkleDeviceCodePrompter:c},postSystemMessage:f,postDipReference:f,broadcastToDip:e=>n(e),onFireFinalLick:e=>{w(r),N(String(e.action??``),d,()=>r.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,o)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){o.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),m=F({firedWelcomeActions:d,getAccounts:s.getAccounts,getProviderConfig:s.getProviderConfig,resolveDeviceCodeDecision:l,getOnboardingOrchestrator:()=>p.get(),fastForward:{fire:e=>{N(String(e.action??``),d,()=>r.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,o)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return s.getProviderConfig(e)?.name??null}catch{return null}})();n({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{u.writeFile(`/shared/.welcomed`,`1`).catch(e=>o.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:u,log:o});return C({vfs:u,storage:window.localStorage,firedWelcomeActions:d,persistFiredWelcomeActions:M,getOrchestrator:()=>p.get(),log:o}),{interceptWelcomeLick:m}}export{y as i,S as n,g as r,v as t,K as wireWcOnboarding};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-bHa2oqGs.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-lxoAGWoo.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BXcp4CBT.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{W as t}from"./wc-shortcuts-B76JiuPn.js";var n=400,r=800,i=`You suggest the user's next prompt in a coding-agent chat. Based on the recent conversation, output ONE concrete follow-up the user might type next. Reply with just the prompt text — no quotes, no preamble, no list. Max 80 characters. If nothing useful comes to mind, reply exactly: What shall we build?`;function a(e,t){return e.length>t?`${e.slice(0,t)}…`:e}function o(e){let i=e.filter(e=>!e.isStreaming&&!e.queued&&e.source!==`lick`),o=[...i].reverse().find(e=>e.role===`assistant`),s=i.filter(e=>e.role===`user`).slice(-3);return!o||s.length===0?null:[...s.map(e=>`[user]: ${a(t(e.content),n)}`),`[assistant]: ${a(o.content,r)}`].join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-CGmdkAbo.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-CEOiQheZ.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BXcp4CBT.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{W as t}from"./wc-shortcuts-Cofh5Gbv.js";var n=400,r=800,i=`You suggest the user's next prompt in a coding-agent chat. Based on the recent conversation, output ONE concrete follow-up the user might type next. Reply with just the prompt text — no quotes, no preamble, no list. Max 80 characters. If nothing useful comes to mind, reply exactly: What shall we build?`;function a(e,t){return e.length>t?`${e.slice(0,t)}…`:e}function o(e){let i=e.filter(e=>!e.isStreaming&&!e.queued&&e.source!==`lick`),o=[...i].reverse().find(e=>e.role===`assistant`),s=i.filter(e=>e.role===`user`).slice(-3);return!o||s.length===0?null:[...s.map(e=>`[user]: ${a(t(e.content),n)}`),`[assistant]: ${a(o.content,r)}`].join(`
3
3
 
4
- `)}async function s(t){if(t.currentValue.length>0)return;let n=o(t.messages);if(!n){t.setPlaceholder(t.defaultPlaceholder);return}let r=await(t.quickLabelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-bHa2oqGs.js`).then(e=>e.n);return{quickLabel:e}},__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]))).quickLabel)({system:i,prompt:`Recent conversation:\n${n}`,maxTokens:40,signal:t.signal});t.signal?.aborted||t.currentValue.length>0||t.setPlaceholder(r&&r.length>0?r:t.defaultPlaceholder)}function c(e,t,n){t===n?(e.removeAttribute(`suggestion`),e.setAttribute(`placeholder`,t)):e.setAttribute(`suggestion`,t)}function l(e){let t=null;return()=>{e.inputCard.hasAttribute(`disabled`)||(t?.abort(),t=new AbortController,s({messages:e.getMessages(),currentValue:e.inputCard.value??``,setPlaceholder:t=>c(e.inputCard,t,e.defaultPlaceholder),defaultPlaceholder:e.defaultPlaceholder,signal:t.signal}).catch(()=>void 0))}}export{l as createPlaceholderRefresher};
4
+ `)}async function s(t){if(t.currentValue.length>0)return;let n=o(t.messages);if(!n){t.setPlaceholder(t.defaultPlaceholder);return}let r=await(t.quickLabelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-CGmdkAbo.js`).then(e=>e.n);return{quickLabel:e}},__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]))).quickLabel)({system:i,prompt:`Recent conversation:\n${n}`,maxTokens:40,signal:t.signal});t.signal?.aborted||t.currentValue.length>0||t.setPlaceholder(r&&r.length>0?r:t.defaultPlaceholder)}function c(e,t,n){t===n?(e.removeAttribute(`suggestion`),e.setAttribute(`placeholder`,t)):e.setAttribute(`suggestion`,t)}function l(e){let t=null;return()=>{e.inputCard.hasAttribute(`disabled`)||(t?.abort(),t=new AbortController,s({messages:e.getMessages(),currentValue:e.inputCard.value??``,setPlaceholder:t=>c(e.inputCard,t,e.defaultPlaceholder),defaultPlaceholder:e.defaultPlaceholder,signal:t.signal}).catch(()=>void 0))}}export{l as createPlaceholderRefresher};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-t2taQm3p.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-CiijUcSt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-BM_U535K.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-lxoAGWoo.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{I as t,P as n}from"./wc-shortcuts-B76JiuPn.js";import{t as r}from"./slugify-BYJ6QVAt.js";import{a as i,i as a,r as o}from"./feature-flags-DaSRRz0w.js";import{a as s,c,d as l,f as u,i as d,l as f,m as p,o as m,s as h,t as g,u as _}from"./theme-engine-By4GU_Wc.js";import{t as v}from"./theme-CXRqxpw6.js";import{n as y,t as b}from"./discovery-preference-B9KlkVuR.js";var x={surfaces:[`--s2-gray-25`,`--s2-gray-50`,`--s2-gray-75`,`--s2-gray-100`,`--s2-gray-200`,`--s2-bg-base`,`--s2-bg-layer-1`,`--s2-bg-layer-2`,`--s2-bg-elevated`,`--s2-bg-sunken`],text:[`--s2-gray-800`,`--s2-gray-900`,`--s2-gray-1000`,`--s2-content-default`,`--s2-content-secondary`,`--s2-content-tertiary`,`--s2-content-disabled`],accents:[`--slicc-cone`,`--slicc-scoop-blue`,`--slicc-scoop-purple`,`--slicc-scoop-teal`,`--slicc-accent`,`--s2-accent`,`--s2-accent-hover`,`--s2-accent-down`],semantic:[`--s2-negative`,`--s2-positive`,`--s2-informative`,`--s2-notice`],chrome:[`--s2-border-default`,`--s2-border-subtle`,`--s2-border-focus`,`--s2-shadow-elevated`,`--s2-shadow-container`]},S=`slicc-wc-settings-style`,C=`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-t2taQm3p.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-CiijUcSt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-B3MSVImO.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-CmEbg5ii.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/account-store-CEOiQheZ.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{I as t,P as n}from"./wc-shortcuts-Cofh5Gbv.js";import{t as r}from"./slugify-BYJ6QVAt.js";import{a as i,i as a,r as o}from"./feature-flags-DaSRRz0w.js";import{a as s,c,d as l,f as u,i as d,l as f,m as p,o as m,s as h,t as g,u as _}from"./theme-engine-By4GU_Wc.js";import{t as v}from"./theme-CXRqxpw6.js";import{n as y,t as b}from"./discovery-preference-B9KlkVuR.js";var x={surfaces:[`--s2-gray-25`,`--s2-gray-50`,`--s2-gray-75`,`--s2-gray-100`,`--s2-gray-200`,`--s2-bg-base`,`--s2-bg-layer-1`,`--s2-bg-layer-2`,`--s2-bg-elevated`,`--s2-bg-sunken`],text:[`--s2-gray-800`,`--s2-gray-900`,`--s2-gray-1000`,`--s2-content-default`,`--s2-content-secondary`,`--s2-content-tertiary`,`--s2-content-disabled`],accents:[`--slicc-cone`,`--slicc-scoop-blue`,`--slicc-scoop-purple`,`--slicc-scoop-teal`,`--slicc-accent`,`--s2-accent`,`--s2-accent-hover`,`--s2-accent-down`],semantic:[`--s2-negative`,`--s2-positive`,`--s2-informative`,`--s2-notice`],chrome:[`--s2-border-default`,`--s2-border-subtle`,`--s2-border-focus`,`--s2-shadow-elevated`,`--s2-shadow-container`]},S=`slicc-wc-settings-style`,C=`
3
3
  /* Width is owned by the dialog card (via ::part) — a min-width on the body
4
4
  used to overflow the card's content box and clip the row borders. */
5
5
  slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
@@ -56,4 +56,4 @@ slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
56
56
  .wcset__radio-row__body{flex:1;min-width:0;}
57
57
  .wcset__radio-row__title{font-size:12.5px;font-weight:600;}
58
58
  .wcset__radio-row__detail{font-size:11px;color:var(--txt-3);margin-top:2px;line-height:1.4;}
59
- `;function w(e){if(e.getElementById(S))return;let t=e.createElement(`style`);t.id=S,t.textContent=C,e.head.appendChild(t)}function T(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function E(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function D(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function O(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:D(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function k(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-t2taQm3p.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-t2taQm3p.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function A(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=T(`wcset__row`),c=T(`wcset__info`);if(c.append(T(`wcset__name`,t.name),T(`wcset__detail`,O(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(E(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?k(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),a(`Logout failed.`,!0)})}))}return s.append(E(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),a(`Remove failed.`,!0)})})),s}function j(e){let{ps:t,setStatus:n}=e,r=T(`wcset__add`);r.append(T(`wcset__label`,`Add account`));let i=document.createElement(`select`);i.className=`wcset__select`;let a=document.createElement(`option`);a.value=``,a.textContent=`Choose a provider…`,i.append(a);let o=new Set(t.getAccounts().map(e=>e.providerId)),s=t.getAvailableProviders().filter(e=>!o.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of s){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,i.append(n)}r.append(i);let c=T(`wcset__controls`);return c.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(c),i.addEventListener(`change`,()=>{c.replaceChildren(),n(``);let r=i.value;if(!r)return;let a=t.getProviderConfig(r),o=document.createElement(`input`);if(o.className=`wcset__input`,o.placeholder=a.baseUrlPlaceholder??`Base URL`,o.value=t.getBaseUrlForProvider(r)??``,a.requiresBaseUrl&&c.append(o),a.isOAuth){c.append(E(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{k(r,o.value,e)}));return}let s=document.createElement(`input`);s.className=`wcset__input`,s.placeholder=a.deploymentPlaceholder??`Model IDs (comma-separated)`,s.value=t.getDeploymentForProvider(r)??``,a.requiresDeployment&&c.append(s);let l=document.createElement(`input`);l.className=`wcset__input`,l.type=`password`,l.placeholder=a.apiKeyPlaceholder??`API key`,l.setAttribute(`data-testid`,`wcset-api-key`),(a.requiresApiKey||a.optionalApiKey)&&c.append(l),c.append(E(`wcset__btn wcset__btn--primary`,`Save`,()=>{let i=l.value.trim();if(a.requiresApiKey&&!i){n(`An API key is required.`,!0),l.focus();return}if(a.requiresBaseUrl&&!o.value.trim()){n(`Base URL is required.`,!0),o.focus();return}if(a.requiresDeployment&&!s.value.trim()){n(`Model IDs are required.`,!0),s.focus();return}t.addAccount(r,i,o.value.trim()||void 0,s.value.trim()||void 0),l.value=``,n(`${a.name} connected.`),e.renderList()}))}),r}function M(){let e=T(`wcset__add`);e.append(T(`wcset__section-label`,`Chat`));let r=T(`wcset__toggle-row`),i=document.createElement(`label`);i.textContent=`Show timestamps`;let a=document.createElement(`input`);return a.type=`checkbox`,a.checked=n(),a.addEventListener(`change`,()=>t(a.checked)),r.append(i,a),e.append(r),e}function N(){let e=T(`wcset__add`);e.append(T(`wcset__section-label`,`Browsing`));let t=T(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=b(),r.addEventListener(`change`,()=>y(r.checked)),t.append(n,r),e.append(t),e}function P(e,t,n){let r=T(`wcset__add`);r.append(T(`wcset__section-label`,`Keyboard mode`));let i=T(`wcset__radio-list`),a=[{value:`auto`,title:`Auto`,detail:`On whenever you are not typing — click outside the composer to command.`},{value:`esc`,title:`Esc`,detail:`Press Esc to enter. Blurring the composer does not turn it on.`},{value:null,title:`Off`,detail:`Keyboard mode disabled. Shortcuts stay unavailable until you pick Auto or Esc.`}],o=e.getTrigger();for(let r of a){let a=document.createElement(`label`);a.className=`wcset__radio-row`;let s=document.createElement(`input`);s.type=`radio`,s.name=`wcset-keyboard-trigger`,s.value=r.value===null?`off`:r.value,s.checked=o===r.value,s.addEventListener(`change`,()=>{if(!s.checked)return;let i=r.value;e.setTrigger(i),t(`Saved.`),e.persistTrigger?.(i).catch(e=>{n.error(`Could not persist keyboard trigger`,e),t(`Applied for this session; could not write /etc/slicc/keys.json.`,!0)})});let c=T(`wcset__radio-row__body`);c.append(T(`wcset__radio-row__title`,r.title),T(`wcset__radio-row__detail`,r.detail)),a.append(s,c),i.append(a)}return r.append(i),r}function F(e){let t=T(`wcset__list`),n=a().filter(e=>e.userToggleable);n.length===0&&t.append(T(`wcset__empty`,`No experimental features are available right now.`));for(let r of n){let n=T(`wcset__toggle-row`),a=T(`wcset__info`),s=document.createElement(`label`),c=document.createElement(`input`);c.id=`wcset-feature-${r.id}`,c.type=`checkbox`,c.checked=o(r.id),s.htmlFor=c.id,s.textContent=r.label,a.append(s,T(`wcset__detail`,r.description)),c.addEventListener(`change`,()=>{try{i(r.id,c.checked?`on`:`off`),c.checked=o(r.id),e.setStatus(`Saved.`)}catch(t){e.log.error(`Experimental settings update failed`,{flagId:r.id,err:t}),e.setStatus(`Unable to save this feature setting.`,!0)}}),n.append(a,c),t.append(n)}return t}function I(e){let t=T(`wcset__appearance`);t.append(T(`wcset__section-label`,`Appearance`));let n=c(),r=T(`wcset__preset-grid`),i=document.createElement(`div`);i.className=`wcset__preset-swatch${n?``:` wcset__preset-swatch--active`}`,i.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,i.addEventListener(`click`,()=>{d(),v(),g()}),r.append(i);for(let e of p){let t=document.createElement(`div`);t.className=`wcset__preset-swatch${n===e.id?` wcset__preset-swatch--active`:``}`,t.innerHTML=`<div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-25`]||`#1a1a1a`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-100`]||`#2c2c2c`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-accent`]||`#3562ff`}"></div><div class="wcset__preset-name">${e.name}</div>`,t.addEventListener(`click`,()=>{u(e.id),v(),g()}),r.append(t)}t.append(r);let a=f().filter(e=>e.id!==`__preview`);if(a.length>0){let e=T(`wcset__custom-themes`);e.append(T(`wcset__section-label`,`My Themes`));for(let t of a){let r=T(`wcset__custom-row`),i=T(`wcset__custom-row__name`,t.name);n===t.id&&(i.style.fontWeight=`700`),r.append(i),r.append(E(`wcset__btn`,`Use`,()=>{u(t.id),v(),g()})),r.append(E(`wcset__btn`,`Edit`,()=>{y(t)})),r.append(E(`wcset__btn`,`Export`,()=>{let e=new Blob([h(t)],{type:`application/json`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`${t.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(n)})),r.append(E(`wcset__btn wcset__btn--danger`,`×`,()=>{s(t.id),v(),g()})),e.append(r)}t.append(e)}let o=T(``);o.style.cssText=`display:flex;gap:8px;`,o.append(E(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{y(null)})),o.append(E(`wcset__btn`,`Import Theme…`,()=>{let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.addEventListener(`change`,()=>{let n=t.files?.[0];n&&n.text().then(t=>{try{let n=_(t);l(n),e.setStatus(`Imported "${n.name}".`),g()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),t.append(o);let m=T(``);t.append(m);function g(){let n=t.parentElement;if(!n)return;let r=I(e);n.replaceChild(r,t)}function y(t){m.replaceChildren(U(t,e,g))}return t}function L(e,t,n,r){let i=[],a=m(e,t);for(let[e,t]of Object.entries(x)){i.push(T(`wcset__section-label`,e));let o=T(`wcset__advanced-grid`);for(let e of t){let t=T(`wcset__advanced-token`),i=document.createElement(`input`);i.type=`color`;let s=n[e]||a[e]||`#000000`;i.value=s.startsWith(`#`)?s:`#000000`,i.addEventListener(`input`,()=>{n[e]=i.value,r()});let c=document.createElement(`span`);c.textContent=e.replace(`--s2-`,``).replace(`--slicc-`,``),t.append(i,c),o.append(t)}i.push(o)}return i}function R(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=T(`wcset__builder-row`),c=document.createElement(`label`);c.textContent=o;let l=document.createElement(`input`);l.type=`color`,l.value=e[r],l.addEventListener(`input`,()=>{e[r]=l.value,i()});let u=document.createElement(`input`);if(u.type=`range`,u.min=`0`,u.max=`100`,u.value=String(Math.round((t[r]??1)*100)),u.style.cssText=`width:60px;margin-left:6px;`,u.title=`Opacity`,u.addEventListener(`input`,()=>{t[r]=Number(u.value)/100,i()}),s.append(c,l,u),r===`background`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=n.disabled,e.style.cssText=`width:auto;margin:0 0 0 8px;`,e.title=`Hide animated background`,e.addEventListener(`change`,()=>{n.disabled=e.checked,i()});let t=document.createElement(`span`);t.textContent=`Static`,t.style.cssText=`font-size:10px;color:var(--txt-3);`,s.append(e,t)}a.push(s)}a.push(T(`wcset__section-label`,`Components`));for(let[e,t]of[[`bubbleBg`,`User bubble bg`],[`bubbleText`,`User bubble text`],[`navBg`,`Nav bar`],[`composerBg`,`Input box`]]){let n=T(`wcset__builder-row`),o=document.createElement(`label`);o.textContent=t;let s=document.createElement(`input`);s.type=`color`,s.value=r[e]||`#000000`,s.addEventListener(`input`,()=>{r[e]=s.value,i()}),n.append(o,s),a.push(n)}return a}function z(e,t){let n=T(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=T(`wcset__base-toggle`);for(let n of[`dark`,`light`]){let r=document.createElement(`button`);r.textContent=n.charAt(0).toUpperCase()+n.slice(1),r.className=e===n?`active`:``,r.addEventListener(`click`,()=>t(n)),i.append(r)}return n.append(r,i),n}function B(e,t){let n=T(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(E(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(E(`wcset__btn`,`Cancel`,t)),n}function V(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function H(e,t){let n=t===`dark`;return{bubbleBg:e?.components?.userBubble?.background||(n?`#f5f5f2`:`#0a0a0a`),bubbleText:e?.components?.userBubble?.text||(n?`#0a0a0a`:`#ffffff`),navBg:e?.components?.nav?.background||(n?`#161618`:`#ffffff`),composerBg:e?.components?.composer?.background||(n?`#161618`:`#ffffff`)}}function U(e,t,n){let i=T(`wcset__builder`),a=e?.base??`dark`,o=e?.disableShader??!1,c=!1,f={background:e?.tokens[`--s2-gray-25`]||(a===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(a===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},p={background:1,text:1,accent:1},h=H(e,a),_={},y=document.createElement(`input`);y.className=`wcset__input`,y.placeholder=`Theme name`,y.value=e?.name??``;function b(){return r(y.value)||`custom-${Date.now()}`}function x(){let e=a===`dark`;f.surface=g(f.background,e?.1:-.08),f.border=g(f.background,e?.15:-.12),f.success=`#2d9d78`,f.error=`#e34850`}function S(){x();let e={...m(f,a),..._};for(let[t,n]of Object.entries(p))if(n<1&&f[t]){let r=f[t],i=Math.round(n*255).toString(16).padStart(2,`0`);for(let n of{background:[`--canvas`,`--s2-gray-25`,`--s2-bg-base`,`--shaderbg`],text:[`--ink`,`--s2-content-default`,`--s2-gray-900`],accent:[`--ctx`,`--waffle`,`--s2-accent`]}[t]||[])e[n]&&(e[n]=`${r}${i}`)}let t={id:`__preview`,name:`Preview`,base:a,tokens:e,disableShader:o,components:V(h)};l(t),u(`__preview`),v()}function C(){i.replaceChildren();let r=T(`wcset__builder-row`),g=document.createElement(`label`);g.textContent=`Name`,r.append(g,y),i.append(r),i.append(z(a,e=>{a=e,C(),S()}));let w={disabled:o};for(let e of R(f,p,w,h,()=>{o=w.disabled,S()}))i.append(e);let E=document.createElement(`button`);if(E.className=`wcset__advanced-toggle`,E.textContent=c?`Hide advanced`:`Show advanced`,E.addEventListener(`click`,()=>{c=!c,C()}),i.append(E),c)for(let e of L(f,a,_,S))i.append(e);i.append(B(()=>{let r=y.value.trim();if(!r){t.setStatus(`Name is required.`,!0);return}x();let i={...m(f,a),..._},c=e?.id??b(),d={id:c,name:r,base:a,tokens:i,disableShader:o,components:V(h)};s(`__preview`),l(d),u(c),v(),t.setStatus(`Saved "${r}".`),n()},()=>{s(`__preview`),e?u(e.id):d(),v(),n()}))}return C(),S(),i}async function W(t){let n=await e(()=>import(`./main-BM_U535K.js`).then(e=>e.t),__vite__mapDeps([10,3,11,12,1,13,14,15,16,17,18,19,20,4,2,5,6,7,21,22,23,24,25,26,8,27,28,29,30,31,32,33,34,35]));w(document);let r=JSON.stringify(n.getAccounts());return new Promise(e=>{let i=document.createElement(`slicc-dialog`);i.classList.add(`wcset-dialog`),i.setAttribute(`heading`,`Accounts`);let a=T(`wcset`),o=T(`wcset__list`),s=T(`wcset__status`),c=(e,t=!1)=>{s.textContent=e,s.toggleAttribute(`data-error`,t)},l=r,u=()=>{let e=JSON.stringify(n.getAccounts());e!==l&&(l=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},d=T(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(T(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(A(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(j(f))}};f.renderList(),a.append(o,d,s),i.append(a);let p=E(`wcset__btn wcset__btn--primary`,`Done`,()=>{i.hide?.()});p.setAttribute(`slot`,`footer`),i.append(p),i.addEventListener(`slicc-dialog-close`,()=>{i.remove(),e(JSON.stringify(n.getAccounts())!==r)}),document.body.append(i),i.show?.()})}async function G(e,t){return w(document),s(`__preview`),new Promise(n=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Theme`);let i=T(`wcset`),a=T(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},l=I({ps:null,log:e,setStatus:o,renderList:()=>{}}),f=M(),p=N();i.append(l,f,p),t&&i.append(P(t,o,e)),i.append(a),r.append(i);let m=E(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});m.setAttribute(`slot`,`footer`),r.append(m);let h=c();r.addEventListener(`slicc-dialog-close`,()=>{c()===`__preview`&&(s(`__preview`),h&&h!==`__preview`?u(h):d(),v()),r.remove(),n()}),document.body.append(r),r.show?.()})}async function K(e){if(o(`experimental-settings`))return w(document),new Promise(t=>{let n=document.createElement(`slicc-dialog`);n.classList.add(`wcset-dialog`),n.setAttribute(`heading`,`Experimental`);let r=T(`wcset`),i=T(`wcset__status`);r.append(F({log:e,setStatus:(e,t=!1)=>{i.textContent=e,i.toggleAttribute(`data-error`,t)}}),i),n.append(r);let a=E(`wcset__btn wcset__btn--primary`,`Done`,()=>{n.hide?.()});a.setAttribute(`slot`,`footer`),n.append(a),n.addEventListener(`slicc-dialog-close`,()=>{n.remove(),t()}),document.body.append(n),n.show?.()})}export{K as showExperimentalSettings,G as showThemeSettings,W as showWcSettings};
59
+ `;function w(e){if(e.getElementById(S))return;let t=e.createElement(`style`);t.id=S,t.textContent=C,e.head.appendChild(t)}function T(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function E(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function D(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function O(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:D(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function k(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-t2taQm3p.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-t2taQm3p.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function A(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=T(`wcset__row`),c=T(`wcset__info`);if(c.append(T(`wcset__name`,t.name),T(`wcset__detail`,O(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(E(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?k(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),a(`Logout failed.`,!0)})}))}return s.append(E(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),a(`Remove failed.`,!0)})})),s}function j(e){let{ps:t,setStatus:n}=e,r=T(`wcset__add`);r.append(T(`wcset__label`,`Add account`));let i=document.createElement(`select`);i.className=`wcset__select`;let a=document.createElement(`option`);a.value=``,a.textContent=`Choose a provider…`,i.append(a);let o=new Set(t.getAccounts().map(e=>e.providerId)),s=t.getAvailableProviders().filter(e=>!o.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of s){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,i.append(n)}r.append(i);let c=T(`wcset__controls`);return c.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(c),i.addEventListener(`change`,()=>{c.replaceChildren(),n(``);let r=i.value;if(!r)return;let a=t.getProviderConfig(r),o=document.createElement(`input`);if(o.className=`wcset__input`,o.placeholder=a.baseUrlPlaceholder??`Base URL`,o.value=t.getBaseUrlForProvider(r)??``,a.requiresBaseUrl&&c.append(o),a.isOAuth){c.append(E(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{k(r,o.value,e)}));return}let s=document.createElement(`input`);s.className=`wcset__input`,s.placeholder=a.deploymentPlaceholder??`Model IDs (comma-separated)`,s.value=t.getDeploymentForProvider(r)??``,a.requiresDeployment&&c.append(s);let l=document.createElement(`input`);l.className=`wcset__input`,l.type=`password`,l.placeholder=a.apiKeyPlaceholder??`API key`,l.setAttribute(`data-testid`,`wcset-api-key`),(a.requiresApiKey||a.optionalApiKey)&&c.append(l),c.append(E(`wcset__btn wcset__btn--primary`,`Save`,()=>{let i=l.value.trim();if(a.requiresApiKey&&!i){n(`An API key is required.`,!0),l.focus();return}if(a.requiresBaseUrl&&!o.value.trim()){n(`Base URL is required.`,!0),o.focus();return}if(a.requiresDeployment&&!s.value.trim()){n(`Model IDs are required.`,!0),s.focus();return}t.addAccount(r,i,o.value.trim()||void 0,s.value.trim()||void 0),l.value=``,n(`${a.name} connected.`),e.renderList()}))}),r}function M(){let e=T(`wcset__add`);e.append(T(`wcset__section-label`,`Chat`));let r=T(`wcset__toggle-row`),i=document.createElement(`label`);i.textContent=`Show timestamps`;let a=document.createElement(`input`);return a.type=`checkbox`,a.checked=n(),a.addEventListener(`change`,()=>t(a.checked)),r.append(i,a),e.append(r),e}function N(){let e=T(`wcset__add`);e.append(T(`wcset__section-label`,`Browsing`));let t=T(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=b(),r.addEventListener(`change`,()=>y(r.checked)),t.append(n,r),e.append(t),e}function P(e,t,n){let r=T(`wcset__add`);r.append(T(`wcset__section-label`,`Keyboard mode`));let i=T(`wcset__radio-list`),a=[{value:`auto`,title:`Auto`,detail:`On whenever you are not typing — click outside the composer to command.`},{value:`esc`,title:`Esc`,detail:`Press Esc to enter. Blurring the composer does not turn it on.`},{value:null,title:`Off`,detail:`Keyboard mode disabled. Shortcuts stay unavailable until you pick Auto or Esc.`}],o=e.getTrigger();for(let r of a){let a=document.createElement(`label`);a.className=`wcset__radio-row`;let s=document.createElement(`input`);s.type=`radio`,s.name=`wcset-keyboard-trigger`,s.value=r.value===null?`off`:r.value,s.checked=o===r.value,s.addEventListener(`change`,()=>{if(!s.checked)return;let i=r.value;e.setTrigger(i),t(`Saved.`),e.persistTrigger?.(i).catch(e=>{n.error(`Could not persist keyboard trigger`,e),t(`Applied for this session; could not write /etc/slicc/keys.json.`,!0)})});let c=T(`wcset__radio-row__body`);c.append(T(`wcset__radio-row__title`,r.title),T(`wcset__radio-row__detail`,r.detail)),a.append(s,c),i.append(a)}return r.append(i),r}function F(e){let t=T(`wcset__list`),n=a().filter(e=>e.userToggleable);n.length===0&&t.append(T(`wcset__empty`,`No experimental features are available right now.`));for(let r of n){let n=T(`wcset__toggle-row`),a=T(`wcset__info`),s=document.createElement(`label`),c=document.createElement(`input`);c.id=`wcset-feature-${r.id}`,c.type=`checkbox`,c.checked=o(r.id),s.htmlFor=c.id,s.textContent=r.label,a.append(s,T(`wcset__detail`,r.description)),c.addEventListener(`change`,()=>{try{i(r.id,c.checked?`on`:`off`),c.checked=o(r.id),e.setStatus(`Saved.`)}catch(t){e.log.error(`Experimental settings update failed`,{flagId:r.id,err:t}),e.setStatus(`Unable to save this feature setting.`,!0)}}),n.append(a,c),t.append(n)}return t}function I(e){let t=T(`wcset__appearance`);t.append(T(`wcset__section-label`,`Appearance`));let n=c(),r=T(`wcset__preset-grid`),i=document.createElement(`div`);i.className=`wcset__preset-swatch${n?``:` wcset__preset-swatch--active`}`,i.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,i.addEventListener(`click`,()=>{d(),v(),g()}),r.append(i);for(let e of p){let t=document.createElement(`div`);t.className=`wcset__preset-swatch${n===e.id?` wcset__preset-swatch--active`:``}`,t.innerHTML=`<div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-25`]||`#1a1a1a`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-100`]||`#2c2c2c`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-accent`]||`#3562ff`}"></div><div class="wcset__preset-name">${e.name}</div>`,t.addEventListener(`click`,()=>{u(e.id),v(),g()}),r.append(t)}t.append(r);let a=f().filter(e=>e.id!==`__preview`);if(a.length>0){let e=T(`wcset__custom-themes`);e.append(T(`wcset__section-label`,`My Themes`));for(let t of a){let r=T(`wcset__custom-row`),i=T(`wcset__custom-row__name`,t.name);n===t.id&&(i.style.fontWeight=`700`),r.append(i),r.append(E(`wcset__btn`,`Use`,()=>{u(t.id),v(),g()})),r.append(E(`wcset__btn`,`Edit`,()=>{y(t)})),r.append(E(`wcset__btn`,`Export`,()=>{let e=new Blob([h(t)],{type:`application/json`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`${t.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(n)})),r.append(E(`wcset__btn wcset__btn--danger`,`×`,()=>{s(t.id),v(),g()})),e.append(r)}t.append(e)}let o=T(``);o.style.cssText=`display:flex;gap:8px;`,o.append(E(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{y(null)})),o.append(E(`wcset__btn`,`Import Theme…`,()=>{let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.addEventListener(`change`,()=>{let n=t.files?.[0];n&&n.text().then(t=>{try{let n=_(t);l(n),e.setStatus(`Imported "${n.name}".`),g()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),t.append(o);let m=T(``);t.append(m);function g(){let n=t.parentElement;if(!n)return;let r=I(e);n.replaceChild(r,t)}function y(t){m.replaceChildren(U(t,e,g))}return t}function L(e,t,n,r){let i=[],a=m(e,t);for(let[e,t]of Object.entries(x)){i.push(T(`wcset__section-label`,e));let o=T(`wcset__advanced-grid`);for(let e of t){let t=T(`wcset__advanced-token`),i=document.createElement(`input`);i.type=`color`;let s=n[e]||a[e]||`#000000`;i.value=s.startsWith(`#`)?s:`#000000`,i.addEventListener(`input`,()=>{n[e]=i.value,r()});let c=document.createElement(`span`);c.textContent=e.replace(`--s2-`,``).replace(`--slicc-`,``),t.append(i,c),o.append(t)}i.push(o)}return i}function R(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=T(`wcset__builder-row`),c=document.createElement(`label`);c.textContent=o;let l=document.createElement(`input`);l.type=`color`,l.value=e[r],l.addEventListener(`input`,()=>{e[r]=l.value,i()});let u=document.createElement(`input`);if(u.type=`range`,u.min=`0`,u.max=`100`,u.value=String(Math.round((t[r]??1)*100)),u.style.cssText=`width:60px;margin-left:6px;`,u.title=`Opacity`,u.addEventListener(`input`,()=>{t[r]=Number(u.value)/100,i()}),s.append(c,l,u),r===`background`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=n.disabled,e.style.cssText=`width:auto;margin:0 0 0 8px;`,e.title=`Hide animated background`,e.addEventListener(`change`,()=>{n.disabled=e.checked,i()});let t=document.createElement(`span`);t.textContent=`Static`,t.style.cssText=`font-size:10px;color:var(--txt-3);`,s.append(e,t)}a.push(s)}a.push(T(`wcset__section-label`,`Components`));for(let[e,t]of[[`bubbleBg`,`User bubble bg`],[`bubbleText`,`User bubble text`],[`navBg`,`Nav bar`],[`composerBg`,`Input box`]]){let n=T(`wcset__builder-row`),o=document.createElement(`label`);o.textContent=t;let s=document.createElement(`input`);s.type=`color`,s.value=r[e]||`#000000`,s.addEventListener(`input`,()=>{r[e]=s.value,i()}),n.append(o,s),a.push(n)}return a}function z(e,t){let n=T(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=T(`wcset__base-toggle`);for(let n of[`dark`,`light`]){let r=document.createElement(`button`);r.textContent=n.charAt(0).toUpperCase()+n.slice(1),r.className=e===n?`active`:``,r.addEventListener(`click`,()=>t(n)),i.append(r)}return n.append(r,i),n}function B(e,t){let n=T(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(E(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(E(`wcset__btn`,`Cancel`,t)),n}function V(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function H(e,t){let n=t===`dark`;return{bubbleBg:e?.components?.userBubble?.background||(n?`#f5f5f2`:`#0a0a0a`),bubbleText:e?.components?.userBubble?.text||(n?`#0a0a0a`:`#ffffff`),navBg:e?.components?.nav?.background||(n?`#161618`:`#ffffff`),composerBg:e?.components?.composer?.background||(n?`#161618`:`#ffffff`)}}function U(e,t,n){let i=T(`wcset__builder`),a=e?.base??`dark`,o=e?.disableShader??!1,c=!1,f={background:e?.tokens[`--s2-gray-25`]||(a===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(a===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},p={background:1,text:1,accent:1},h=H(e,a),_={},y=document.createElement(`input`);y.className=`wcset__input`,y.placeholder=`Theme name`,y.value=e?.name??``;function b(){return r(y.value)||`custom-${Date.now()}`}function x(){let e=a===`dark`;f.surface=g(f.background,e?.1:-.08),f.border=g(f.background,e?.15:-.12),f.success=`#2d9d78`,f.error=`#e34850`}function S(){x();let e={...m(f,a),..._};for(let[t,n]of Object.entries(p))if(n<1&&f[t]){let r=f[t],i=Math.round(n*255).toString(16).padStart(2,`0`);for(let n of{background:[`--canvas`,`--s2-gray-25`,`--s2-bg-base`,`--shaderbg`],text:[`--ink`,`--s2-content-default`,`--s2-gray-900`],accent:[`--ctx`,`--waffle`,`--s2-accent`]}[t]||[])e[n]&&(e[n]=`${r}${i}`)}let t={id:`__preview`,name:`Preview`,base:a,tokens:e,disableShader:o,components:V(h)};l(t),u(`__preview`),v()}function C(){i.replaceChildren();let r=T(`wcset__builder-row`),g=document.createElement(`label`);g.textContent=`Name`,r.append(g,y),i.append(r),i.append(z(a,e=>{a=e,C(),S()}));let w={disabled:o};for(let e of R(f,p,w,h,()=>{o=w.disabled,S()}))i.append(e);let E=document.createElement(`button`);if(E.className=`wcset__advanced-toggle`,E.textContent=c?`Hide advanced`:`Show advanced`,E.addEventListener(`click`,()=>{c=!c,C()}),i.append(E),c)for(let e of L(f,a,_,S))i.append(e);i.append(B(()=>{let r=y.value.trim();if(!r){t.setStatus(`Name is required.`,!0);return}x();let i={...m(f,a),..._},c=e?.id??b(),d={id:c,name:r,base:a,tokens:i,disableShader:o,components:V(h)};s(`__preview`),l(d),u(c),v(),t.setStatus(`Saved "${r}".`),n()},()=>{s(`__preview`),e?u(e.id):d(),v(),n()}))}return C(),S(),i}async function W(t){let n=await e(()=>import(`./main-CmEbg5ii.js`).then(e=>e.t),__vite__mapDeps([10,3,11,12,1,13,14,15,16,17,18,19,20,4,2,5,6,7,21,22,23,24,25,26,8,27,28,29,30,31,32,33,34,35]));w(document);let r=JSON.stringify(n.getAccounts());return new Promise(e=>{let i=document.createElement(`slicc-dialog`);i.classList.add(`wcset-dialog`),i.setAttribute(`heading`,`Accounts`);let a=T(`wcset`),o=T(`wcset__list`),s=T(`wcset__status`),c=(e,t=!1)=>{s.textContent=e,s.toggleAttribute(`data-error`,t)},l=r,u=()=>{let e=JSON.stringify(n.getAccounts());e!==l&&(l=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},d=T(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(T(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(A(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(j(f))}};f.renderList(),a.append(o,d,s),i.append(a);let p=E(`wcset__btn wcset__btn--primary`,`Done`,()=>{i.hide?.()});p.setAttribute(`slot`,`footer`),i.append(p),i.addEventListener(`slicc-dialog-close`,()=>{i.remove(),e(JSON.stringify(n.getAccounts())!==r)}),document.body.append(i),i.show?.()})}async function G(e,t){return w(document),s(`__preview`),new Promise(n=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Theme`);let i=T(`wcset`),a=T(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},l=I({ps:null,log:e,setStatus:o,renderList:()=>{}}),f=M(),p=N();i.append(l,f,p),t&&i.append(P(t,o,e)),i.append(a),r.append(i);let m=E(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});m.setAttribute(`slot`,`footer`),r.append(m);let h=c();r.addEventListener(`slicc-dialog-close`,()=>{c()===`__preview`&&(s(`__preview`),h&&h!==`__preview`?u(h):d(),v()),r.remove(),n()}),document.body.append(r),r.show?.()})}async function K(e){if(o(`experimental-settings`))return w(document),new Promise(t=>{let n=document.createElement(`slicc-dialog`);n.classList.add(`wcset-dialog`),n.setAttribute(`heading`,`Experimental`);let r=T(`wcset`),i=T(`wcset__status`);r.append(F({log:e,setStatus:(e,t=!1)=>{i.textContent=e,i.toggleAttribute(`data-error`,t)}}),i),n.append(r);let a=E(`wcset__btn wcset__btn--primary`,`Done`,()=>{n.hide?.()});a.setAttribute(`slot`,`footer`),n.append(a),n.addEventListener(`slicc-dialog-close`,()=>{n.remove(),t()}),document.body.append(n),n.show?.()})}export{K as showExperimentalSettings,G as showThemeSettings,W as showWcSettings};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-bHa2oqGs.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-lxoAGWoo.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BXcp4CBT.js","assets/isomorphic-git-Cgji39_P.js","assets/safe-buffer-iah92gQe.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as t,h as n,k as r}from"./account-store-lxoAGWoo.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{t as a}from"./logger-DDBAeTLF.js";import{F as o,G as s,J as c,N as l,O as u,R as d,W as f,_ as p,a as m,c as ee,d as h,f as te,g as ne,h as re,o as ie,q as ae,s as oe,u as se,v as g,x as _}from"./wc-shortcuts-B76JiuPn.js";import{i as ce,n as le,r as ue,t as de}from"./mime-types-D0xZwlMO.js";import{n as v,t as fe}from"./base64-DJRlyqZu.js";import{i as pe}from"./bridge-protocol-06nbmp2X.js";import{c as me,f as he,i as ge,l as _e,u as ve}from"./telemetry-BWAgv6Hm.js";import{a as y,t as b}from"./icons-BXcp4CBT.js";var ye=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`discovery`,`upgrade`,`workflow`,`bash`,`preview`,`scoop-notify`,`scoop-idle`,`scoop-wait`,`sudo-request`]);function be(e){return e!=null&&ye.has(e)}var xe=`#b07823`,Se=[`#06b6d4`,`#8b5cf6`,`#f59e0b`,`#10b981`,`#3b82f6`,`#ef4444`];function Ce(e){if(e.isRoot)return xe;let t=0;for(let n of e.name)t=t*31+n.charCodeAt(0)>>>0;return Se[t%Se.length]}var we=new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,4,0,0,0,181,28,12,2,0,0,0,11,73,68,65,84,120,218,99,100,96,0,0,0,6,0,2,48,129,208,47,0,0,0,0,73,69,78,68,174,66,96,130]);function Te(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return typeof btoa==`function`?btoa(t):Buffer.from(t,`binary`).toString(`base64`)}var Ee=new Date(`2024-01-01T10:00:00`).getTime();function x(e){return Ee+e*6e4}var S=`ui-fixture`;function De(){return[{id:`fx-user-1`,role:`user`,content:`Hey sliccy — can you summarize what this fixture covers?`,timestamp:x(0)},{id:`fx-assistant-1`,role:`assistant`,content:`Sure! This session walks through every chat UI variant I know about. You'll see user and assistant bubbles, tool calls in every status, the six lick channels, a delegation, queued messages, and a streaming tail at the end so you can inspect the live state.`,timestamp:x(.2)}]}function C(){return[{id:`fx-user-2`,role:`user`,content:`Show me some **markdown** — headings, lists, code, a blockquote.`,timestamp:x(1)},{id:`fx-user-attachment`,role:`user`,content:`Use these attachments as visual and text context.`,timestamp:x(1.1),attachments:[{id:`fx-att-image`,name:`dot.png`,mimeType:`image/png`,size:we.byteLength,kind:`image`,data:Te(we)},{id:`fx-att-text`,name:`notes.txt`,mimeType:`text/plain`,size:21,kind:`text`,text:`Fixture attachment text`}]},{id:`fx-assistant-2`,role:`assistant`,content:"## Rich content sample,,Here is a short list:,,- `renderAssistantMessageContent` handles GFM markdown,- Code blocks get syntax highlighting,- Inline `code` uses the mono token,,A fenced code block:,,```ts,import { createChatFixture } from './chat-fixture.js';,,const msgs = createChatFixture();,console.log(msgs.length);,```,,> Blockquotes should feel quieter than regular text.,,And a nested ordered list:,,1. First step,2. Second step, 1. Sub-step A, 2. Sub-step B,3. Third step".split(`,`).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-CGmdkAbo.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-CEOiQheZ.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BXcp4CBT.js","assets/isomorphic-git-Cgji39_P.js","assets/safe-buffer-iah92gQe.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as t,h as n,k as r}from"./account-store-CEOiQheZ.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{t as a}from"./logger-DDBAeTLF.js";import{F as o,G as s,J as c,N as l,O as u,R as d,W as f,_ as p,a as m,c as ee,d as h,f as te,g as ne,h as re,o as ie,q as ae,s as oe,u as se,v as g,x as _}from"./wc-shortcuts-Cofh5Gbv.js";import{i as ce,n as le,r as ue,t as de}from"./mime-types-D0xZwlMO.js";import{n as v,t as fe}from"./base64-DJRlyqZu.js";import{i as pe}from"./bridge-protocol-06nbmp2X.js";import{c as me,f as he,i as ge,l as _e,u as ve}from"./telemetry-BWAgv6Hm.js";import{a as y,t as b}from"./icons-BXcp4CBT.js";var ye=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`discovery`,`upgrade`,`workflow`,`bash`,`preview`,`scoop-notify`,`scoop-idle`,`scoop-wait`,`sudo-request`]);function be(e){return e!=null&&ye.has(e)}var xe=`#b07823`,Se=[`#06b6d4`,`#8b5cf6`,`#f59e0b`,`#10b981`,`#3b82f6`,`#ef4444`];function Ce(e){if(e.isRoot)return xe;let t=0;for(let n of e.name)t=t*31+n.charCodeAt(0)>>>0;return Se[t%Se.length]}var we=new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,4,0,0,0,181,28,12,2,0,0,0,11,73,68,65,84,120,218,99,100,96,0,0,0,6,0,2,48,129,208,47,0,0,0,0,73,69,78,68,174,66,96,130]);function Te(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return typeof btoa==`function`?btoa(t):Buffer.from(t,`binary`).toString(`base64`)}var Ee=new Date(`2024-01-01T10:00:00`).getTime();function x(e){return Ee+e*6e4}var S=`ui-fixture`;function De(){return[{id:`fx-user-1`,role:`user`,content:`Hey sliccy — can you summarize what this fixture covers?`,timestamp:x(0)},{id:`fx-assistant-1`,role:`assistant`,content:`Sure! This session walks through every chat UI variant I know about. You'll see user and assistant bubbles, tool calls in every status, the six lick channels, a delegation, queued messages, and a streaming tail at the end so you can inspect the live state.`,timestamp:x(.2)}]}function C(){return[{id:`fx-user-2`,role:`user`,content:`Show me some **markdown** — headings, lists, code, a blockquote.`,timestamp:x(1)},{id:`fx-user-attachment`,role:`user`,content:`Use these attachments as visual and text context.`,timestamp:x(1.1),attachments:[{id:`fx-att-image`,name:`dot.png`,mimeType:`image/png`,size:we.byteLength,kind:`image`,data:Te(we)},{id:`fx-att-text`,name:`notes.txt`,mimeType:`text/plain`,size:21,kind:`text`,text:`Fixture attachment text`}]},{id:`fx-assistant-2`,role:`assistant`,content:"## Rich content sample,,Here is a short list:,,- `renderAssistantMessageContent` handles GFM markdown,- Code blocks get syntax highlighting,- Inline `code` uses the mono token,,A fenced code block:,,```ts,import { createChatFixture } from './chat-fixture.js';,,const msgs = createChatFixture();,console.log(msgs.length);,```,,> Blockquotes should feel quieter than regular text.,,And a nested ordered list:,,1. First step,2. Second step, 1. Sub-step A, 2. Sub-step B,3. Third step".split(`,`).join(`
3
3
  `),timestamp:x(1.3)}]}function Oe(){return[{id:`fx-assistant-3`,role:`assistant`,content:`Let me check a few things before I answer.`,timestamp:x(2),toolCalls:[{id:`fx-tc-read`,name:`read_file`,input:{path:`/workspace/README.md`},result:`# Sample README
4
4
 
5
5
  This is the contents that read_file returned.`},{id:`fx-tc-bash`,name:`bash`,input:{command:`ls -la /workspace`},result:`total 24
@@ -116,7 +116,7 @@ Example input:
116
116
  2. bash: {"command":"ls /published"}
117
117
  3. bash: {"command":"diff /drafts /published"}
118
118
  Example output: Compare drafts against published files`;function Na(e){return e.length>=6&&/[a-zA-Z]/.test(e)&&/\s/.test(e.trim())}function Pa(e,t){if(e.length===0)return;let n=ja(e);if(!n)return;let r=Oa.get(n);if(r){t.setAttribute(`label`,r);return}let a=e[0]?.id;if(a){let e=Aa.get(a);e&&t.setAttribute(`label`,e)}if(ka.has(n))return;ka.add(n);let o=e.map((e,t)=>{let n;try{n=JSON.stringify(e.input??{})}catch{n=String(e.input??``)}return n.length>300&&(n=`${n.slice(0,300)}…`),`${t+1}. ${e.name}: ${n}`}).join(`
119
- `);i(async()=>{let{quickLabel:e}=await import(`./quick-llm-bHa2oqGs.js`).then(e=>e.n);return{quickLabel:e}},__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])).then(({quickLabel:e})=>e({system:Ma,prompt:`Label these tool calls (inputs only):\n${o}`,maxTokens:40})).then(e=>{let r=e?.replace(/^["']|["']$|\.$/g,``).trim()??``;Na(r)&&(Oa.set(n,r),a&&Aa.set(a,r),t.isConnected&&t.setAttribute(`label`,r))}).catch(()=>void 0).finally(()=>ka.delete(n))}function Fa(e,t={}){let n=X(`slicc-tool-cluster`,{count:String(e.length)});return t.open&&n.setAttribute(`open`,``),n.append(...e),t.toolCalls&&t.toolCalls.length>0&&Pa(t.toolCalls,n),n}function Ia(e){let t=document.createElement(`slicc-agent-message`);t.setAttribute(`data-msg-id`,e.id);let n=(e.content??``).trim().length>0,r=l(e.timestamp);return r&&n&&t.setAttribute(`timestamp`,r),e.isStreaming&&t.setAttribute(`streaming`,``),t.setBodyHtml(Ii(e.content,e.isStreaming===!0)),n||t.setAttribute(`data-empty`,``),[t,...(e.toolCalls??[]).map(t=>Ta(t,e.id))]}function La(e,t){let n=e.querySelectorAll(`:scope > slicc-tool-cluster`);for(let e of n){let n=Array.from(e.querySelectorAll(`slicc-action-row`));Ra(e,n,t);let r=e.parentNode;if(!r){e.remove();continue}for(let t of n)za(t,r,e);e.remove()}}function Ra(e,t,n){if(!e.hasAttribute(`open`))return;let r=t[0]?.dataset.msgId;r&&n.add(r)}function za(e,t,n){let r=e.dataset.msgId,i=r&&t instanceof Element?t.querySelector(`:scope > slicc-agent-message[data-msg-id="${r}"]`):null;if(!i||i.parentNode!==t){t.insertBefore(e,n);return}let a=i;for(;a.nextSibling instanceof HTMLElement&&a.nextSibling.tagName.toLowerCase()===`slicc-action-row`&&a.nextSibling.dataset.msgId===r;)a=a.nextSibling;t.insertBefore(e,a.nextSibling)}var Ba=new Set([`slicc-user-message`,`slicc-lick-card`,`slicc-error-card`,`slicc-delegation-line`,`slicc-day-separator`,`slicc-compaction-marker`]);function Va(e){return e instanceof HTMLElement?Ba.has(e.tagName.toLowerCase()):!0}function Ha(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-action-row`}function Ua(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-agent-message`}function Wa(e){let t=[],n=[];for(let r of e)Ua(r)?!r.hasAttribute(`data-empty`)&&n.length>0&&(t.push(n),n=[]):Ha(r)&&n.push(r);return n.length>0&&t.push(n),t}function Ga(e,t){let n=[];for(let r of e){let e=r.dataset.msgId,i=r.dataset.toolId;if(!e||!i)return;let a=t(e,i);if(!a)return;n.push(a)}return n}function Ka(e,t){let n=e[0],r=n.parentNode;if(!r)return;let i=new Set(e),a=n.nextSibling;for(;a&&i.has(a);)a=a.nextSibling;let o=n.dataset.msgId,s=Fa(e,{open:!!(o&&t.openClusterAnchors.has(o)),toolCalls:t.toolCallLookup?Ga(e,t.toolCallLookup):void 0});r.insertBefore(s,a)}function qa(e,t){La(e,t.openClusterAnchors);let n=Array.from(e.children),r=0;for(;r<n.length;){if(Va(n[r])){r++;continue}let e=r;for(;e<n.length&&!Va(n[e]);)e++;let i=Wa(n.slice(r,e));for(let e of i)e.length>=3&&Ka(e,t);r=e}t.openClusterAnchors.clear()}function Ja(e){let t=Ri.exec(e.content),n=e.lickCount??1,r=Hi.exec(e.content),i=r?Ui(r[1]):null,a=X(`slicc-lick-card`,{kind:e.channel??`webhook`,"event-label":qi(e.content,e.channel,t,i),collapsible:``,collapsed:``});i&&a.setAttribute(`hue`,Ce({isRoot:!1,name:i})),n>1&&a.setAttribute(`count`,String(n)),e.lickState&&e.lickState!==`pending`&&a.setAttribute(`state`,e.lickState);let o=e.lickParts??[e.content];for(let e of o){let t=document.createElement(`div`);t.innerHTML=Fi(Bi(e)),a.append(t)}return a}function Ya(e){let t=X(`slicc-delegation-line`,{kind:`feed`,verb:`feed_scoop`,label:Wi(e.content.replace(/\*\*\[[^\]]*\]\*\*\s*/,``))}),n=document.createElement(`slicc-user-message`);return n.setBodyHtml(Fi(e.content)),[t,n]}var Xa=`Out of AI budget`;function Za(){try{return n(r())}catch{return[]}}function Qa(e){if(e.resetsAt===null||/reset/i.test(e.message))return e.message;let t=new Date(e.resetsAt);return Number.isNaN(t.getTime())?e.message:`${e.message} Resets on ${t.toLocaleDateString(void 0,{dateStyle:`long`})}.`}function $a(){return Za().length===0?{action:`settings`,"button-label":`Add a provider`}:{action:`change-model`,"button-label":`Switch provider and try again`,"secondary-action":`settings`,"secondary-button-label":`Add a provider`}}function eo(e,t){let n={message:e.content,"message-id":e.id},r=he(e.content);return r&&(n.label=Xa,n.message=Qa(r)),t?(n[`no-action`]=``,X(`slicc-error-card`,n)):r?X(`slicc-error-card`,{...n,...$a()}):(ve(e.content)?n.action=`settings`:_e(e.content)?n.action=`change-model`:me(e.content)&&(n.action=`login`),X(`slicc-error-card`,n))}function to(e){return X(`slicc-compaction-marker`,{trigger:e.trigger,state:e.state,...e.transcriptPath?{transcript:e.transcriptPath}:{}})}function no(e,t={}){if(e.compaction)return e.compaction.state===`discarded`?[]:[to(e.compaction)];if(e.source===`lick`)return[Ja(e)];if(e.source===`delegation`||e.channel===`delegation`)return Ya(e);if(e.error)return[eo(e,t.readOnly===!0)];if(e.role===`assistant`)return Ia(e);let n=Vi(e.content);return n?[Ja({...e,source:`lick`,channel:n})]:[Ea(e)]}function ro(e){let t=[];for(let n of e){let e=n;if(!n.source&&n.role===`user`){let t=Vi(n.content);t&&(e={...n,source:`lick`,channel:t})}let r=t[t.length-1];if(!(e.lickId||r?.lickId)&&e.source===`lick`&&r?.source===`lick`&&r.channel===e.channel){r.lickParts=[...r.lickParts??[r.content],e.content],r.lickCount=r.lickParts.length,r.content+=`\n\n${e.content}`;continue}t.push({...e})}return t}function io(e){return new Date(e).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`})}function ao(e){return X(`slicc-day-separator`,{label:io(e)})}function oo(e,t={}){let n=[],r=``;for(let i of e){let e=new Date(i.timestamp).toDateString();e!==r&&(n.push(ao(i.timestamp)),r=e),n.push(...no(i,t))}let i=document.createElement(`div`);return i.append(...n),qa(i,{openClusterAnchors:new Set,toolCallLookup:(t,n)=>e.find(e=>e.id===t)?.toolCalls?.find(e=>e.id===n)}),Array.from(i.children)}var so=40,co=56,lo=`wcsc-caps`,uo=`wcsc-caps__ghost`,fo=`wcsc-caps-style`,po=`
119
+ `);i(async()=>{let{quickLabel:e}=await import(`./quick-llm-CGmdkAbo.js`).then(e=>e.n);return{quickLabel:e}},__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])).then(({quickLabel:e})=>e({system:Ma,prompt:`Label these tool calls (inputs only):\n${o}`,maxTokens:40})).then(e=>{let r=e?.replace(/^["']|["']$|\.$/g,``).trim()??``;Na(r)&&(Oa.set(n,r),a&&Aa.set(a,r),t.isConnected&&t.setAttribute(`label`,r))}).catch(()=>void 0).finally(()=>ka.delete(n))}function Fa(e,t={}){let n=X(`slicc-tool-cluster`,{count:String(e.length)});return t.open&&n.setAttribute(`open`,``),n.append(...e),t.toolCalls&&t.toolCalls.length>0&&Pa(t.toolCalls,n),n}function Ia(e){let t=document.createElement(`slicc-agent-message`);t.setAttribute(`data-msg-id`,e.id);let n=(e.content??``).trim().length>0,r=l(e.timestamp);return r&&n&&t.setAttribute(`timestamp`,r),e.isStreaming&&t.setAttribute(`streaming`,``),t.setBodyHtml(Ii(e.content,e.isStreaming===!0)),n||t.setAttribute(`data-empty`,``),[t,...(e.toolCalls??[]).map(t=>Ta(t,e.id))]}function La(e,t){let n=e.querySelectorAll(`:scope > slicc-tool-cluster`);for(let e of n){let n=Array.from(e.querySelectorAll(`slicc-action-row`));Ra(e,n,t);let r=e.parentNode;if(!r){e.remove();continue}for(let t of n)za(t,r,e);e.remove()}}function Ra(e,t,n){if(!e.hasAttribute(`open`))return;let r=t[0]?.dataset.msgId;r&&n.add(r)}function za(e,t,n){let r=e.dataset.msgId,i=r&&t instanceof Element?t.querySelector(`:scope > slicc-agent-message[data-msg-id="${r}"]`):null;if(!i||i.parentNode!==t){t.insertBefore(e,n);return}let a=i;for(;a.nextSibling instanceof HTMLElement&&a.nextSibling.tagName.toLowerCase()===`slicc-action-row`&&a.nextSibling.dataset.msgId===r;)a=a.nextSibling;t.insertBefore(e,a.nextSibling)}var Ba=new Set([`slicc-user-message`,`slicc-lick-card`,`slicc-error-card`,`slicc-delegation-line`,`slicc-day-separator`,`slicc-compaction-marker`]);function Va(e){return e instanceof HTMLElement?Ba.has(e.tagName.toLowerCase()):!0}function Ha(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-action-row`}function Ua(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-agent-message`}function Wa(e){let t=[],n=[];for(let r of e)Ua(r)?!r.hasAttribute(`data-empty`)&&n.length>0&&(t.push(n),n=[]):Ha(r)&&n.push(r);return n.length>0&&t.push(n),t}function Ga(e,t){let n=[];for(let r of e){let e=r.dataset.msgId,i=r.dataset.toolId;if(!e||!i)return;let a=t(e,i);if(!a)return;n.push(a)}return n}function Ka(e,t){let n=e[0],r=n.parentNode;if(!r)return;let i=new Set(e),a=n.nextSibling;for(;a&&i.has(a);)a=a.nextSibling;let o=n.dataset.msgId,s=Fa(e,{open:!!(o&&t.openClusterAnchors.has(o)),toolCalls:t.toolCallLookup?Ga(e,t.toolCallLookup):void 0});r.insertBefore(s,a)}function qa(e,t){La(e,t.openClusterAnchors);let n=Array.from(e.children),r=0;for(;r<n.length;){if(Va(n[r])){r++;continue}let e=r;for(;e<n.length&&!Va(n[e]);)e++;let i=Wa(n.slice(r,e));for(let e of i)e.length>=3&&Ka(e,t);r=e}t.openClusterAnchors.clear()}function Ja(e){let t=Ri.exec(e.content),n=e.lickCount??1,r=Hi.exec(e.content),i=r?Ui(r[1]):null,a=X(`slicc-lick-card`,{kind:e.channel??`webhook`,"event-label":qi(e.content,e.channel,t,i),collapsible:``,collapsed:``});i&&a.setAttribute(`hue`,Ce({isRoot:!1,name:i})),n>1&&a.setAttribute(`count`,String(n)),e.lickState&&e.lickState!==`pending`&&a.setAttribute(`state`,e.lickState);let o=e.lickParts??[e.content];for(let e of o){let t=document.createElement(`div`);t.innerHTML=Fi(Bi(e)),a.append(t)}return a}function Ya(e){let t=X(`slicc-delegation-line`,{kind:`feed`,verb:`feed_scoop`,label:Wi(e.content.replace(/\*\*\[[^\]]*\]\*\*\s*/,``))}),n=document.createElement(`slicc-user-message`);return n.setBodyHtml(Fi(e.content)),[t,n]}var Xa=`Out of AI budget`;function Za(){try{return n(r())}catch{return[]}}function Qa(e){if(e.resetsAt===null||/reset/i.test(e.message))return e.message;let t=new Date(e.resetsAt);return Number.isNaN(t.getTime())?e.message:`${e.message} Resets on ${t.toLocaleDateString(void 0,{dateStyle:`long`})}.`}function $a(){return Za().length===0?{action:`settings`,"button-label":`Add a provider`}:{action:`change-model`,"button-label":`Switch provider and try again`,"secondary-action":`settings`,"secondary-button-label":`Add a provider`}}function eo(e,t){let n={message:e.content,"message-id":e.id},r=he(e.content);return r&&(n.label=Xa,n.message=Qa(r)),t?(n[`no-action`]=``,X(`slicc-error-card`,n)):r?X(`slicc-error-card`,{...n,...$a()}):(ve(e.content)?n.action=`settings`:_e(e.content)?n.action=`change-model`:me(e.content)&&(n.action=`login`),X(`slicc-error-card`,n))}function to(e){return X(`slicc-compaction-marker`,{trigger:e.trigger,state:e.state,...e.transcriptPath?{transcript:e.transcriptPath}:{}})}function no(e,t={}){if(e.compaction)return e.compaction.state===`discarded`?[]:[to(e.compaction)];if(e.source===`lick`)return[Ja(e)];if(e.source===`delegation`||e.channel===`delegation`)return Ya(e);if(e.error)return[eo(e,t.readOnly===!0)];if(e.role===`assistant`)return Ia(e);let n=Vi(e.content);return n?[Ja({...e,source:`lick`,channel:n})]:[Ea(e)]}function ro(e){let t=[];for(let n of e){let e=n;if(!n.source&&n.role===`user`){let t=Vi(n.content);t&&(e={...n,source:`lick`,channel:t})}let r=t[t.length-1];if(!(e.lickId||r?.lickId)&&e.source===`lick`&&r?.source===`lick`&&r.channel===e.channel){r.lickParts=[...r.lickParts??[r.content],e.content],r.lickCount=r.lickParts.length,r.content+=`\n\n${e.content}`;continue}t.push({...e})}return t}function io(e){return new Date(e).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`})}function ao(e){return X(`slicc-day-separator`,{label:io(e)})}function oo(e,t={}){let n=[],r=``;for(let i of e){let e=new Date(i.timestamp).toDateString();e!==r&&(n.push(ao(i.timestamp)),r=e),n.push(...no(i,t))}let i=document.createElement(`div`);return i.append(...n),qa(i,{openClusterAnchors:new Set,toolCallLookup:(t,n)=>e.find(e=>e.id===t)?.toolCalls?.find(e=>e.id===n)}),Array.from(i.children)}var so=40,co=56,lo=`wcsc-caps`,uo=`wcsc-caps__ghost`,fo=`wcsc-caps-style`,po=`
120
120
  .${lo}{position:fixed;inset:0;z-index:${so};pointer-events:none;}
121
121
  .${uo}{position:absolute;pointer-events:none;}
122
122
  `;function mo(e,t){let n=e.commands.map(e=>ie(t,e)).filter(e=>e!==null);return n.length===0?null:n.join(` `)}function ho(e){return{commands:[e],find:t=>{let n=oe(e);return n?t.root.ownerDocument.querySelector(`slicc-dock-item[item-id="${go(n)}"]`):null}}}function go(e){return typeof globalThis.CSS?.escape==`function`?globalThis.CSS.escape(e):e.replace(/["\\]/g,`\\$&`)}var _o=[{commands:[`prevAgent`,`nextAgent`],find:e=>e.switcher.scoops.length>1?e.root.ownerDocument.querySelector(`slicc-agent-tabs [part="track-frame"]`):null,placement:`end`},ho(`tabs`),ho(`files`),ho(`terminal`),ho(`memory`),ho(`monitor`),{commands:[`sprinkles`],find:e=>e.root.ownerDocument.querySelector(`slicc-dock-item[kind="sprinkle"]`)},{commands:[`leftRail`],find:e=>e.root.ownerDocument.querySelector(`slicc-freezer [part="toggle"]`)},{commands:[`attach`],find:e=>e.inputCard.querySelector(`slicc-add-menu`),placement:`top-start`},{commands:[`stop`],find:e=>e.inputCard.querySelector(`slicc-send-button`)},{commands:[`composer`],find:e=>e.inputCard.querySelector(`textarea`),placement:`top-start`}];function vo(e,t,n=globalThis.innerWidth){return e.endsWith(`end`)&&t.right+co>n?e.replace(/end$/,`start`):e.endsWith(`start`)&&t.left-co<0?e.replace(/start$/,`end`):e}function yo(e){if(e.getElementById(fo))return;let t=e.createElement(`style`);t.id=fo,t.textContent=po,(e.head??e.documentElement)?.append(t)}function bo(e){let t=e.root.ownerDocument,n=t.defaultView,r=null,i={},a=new Map,o=0,s=null,c=null,l=()=>{!r||o!==0||!n||(o=n.requestAnimationFrame(()=>{o=0,r&&d()}))},u=e=>{let t=a.get(e);t&&(t.cap.anchor=null,t.ghost.remove(),a.delete(e))};function d(){r&&_o.forEach((n,o)=>{let c=mo(n,i),l=c===null?null:n.find(e),d=l?.getBoundingClientRect();if(c===null||!l||!d||d.width===0||d.height===0){u(o);return}let f=a.get(o);if(!f){let e=t.createElement(`div`);e.className=uo;let n=t.createElement(`slicc-keycap`);n.setAttribute(`stagger`,String(o)),e.append(n),r?.append(e),f={ghost:e,cap:n},a.set(o,f)}let p=vo(n.placement??`top-end`,d);f.cap.getAttribute(`placement`)!==p&&f.cap.setAttribute(`placement`,p),f.cap.getAttribute(`cap`)!==c&&f.cap.setAttribute(`cap`,c),f.cap.anchor!==l&&(f.cap.anchor=l);let m=f.ghost.style;m.left=`${d.left}px`,m.top=`${d.top}px`,m.width=`${d.width}px`,m.height=`${d.height}px`,s?.observe(l)})}let f=a=>{if(i=a,r){d();return}if(yo(t),r=t.createElement(`div`),r.className=lo,r.dataset.wcShortcuts=`caps`,t.body.append(r),n?.ResizeObserver&&(s=new n.ResizeObserver(l)),n?.MutationObserver){c=new n.MutationObserver(l),c.observe(e.inputCard,{childList:!0,subtree:!0});let r=t.querySelector(`slicc-dock`);r&&c.observe(r,{childList:!0,subtree:!0})}n?.addEventListener(`resize`,l),t.addEventListener(`scroll`,l,{capture:!0,passive:!0}),s?.observe(t.documentElement),d()},p=()=>{if(r){o!==0&&(n?.cancelAnimationFrame(o),o=0);for(let e of[...a.keys()])u(e);s?.disconnect(),s=null,c?.disconnect(),c=null,n?.removeEventListener(`resize`,l),t.removeEventListener(`scroll`,l,{capture:!0}),r.remove(),r=null}};return{show:f,hide:p,destroy:p}}var xo=`slicc-dock-select`,So=`freezer-toggle`;function Co(e){let t=e.detail;return typeof t?.id==`string`?t.id:null}function wo(e){let t=new Map,n=new Map,r=0,i=e=>{ee(e)&&(t.set(e,(t.get(e)??0)+1),r+=1,n.set(e,r))},a=!1,o=e=>{i(e),!a&&(a=!0,queueMicrotask(()=>{a=!1}))},s=e=>{a||i(e)},c=e=>{let t=Co(e);if(t===null)return;let n=m(t);s(n??`sprinkles`)},l=()=>s(`leftRail`);return e.addEventListener(xo,c,!0),e.addEventListener(So,l,!0),{record:o,used:e=>t.has(e),ranked:()=>[...t.entries()].map(([e,t])=>({id:e,count:t})).sort((e,t)=>t.count-e.count||(n.get(t.id)??0)-(n.get(e.id)??0)),dispose:()=>{e.removeEventListener(xo,c,!0),e.removeEventListener(So,l,!0),t.clear(),n.clear()}}}function To(e){e.inputCard.dispatchEvent(new CustomEvent(`stop`,{bubbles:!0,composed:!0}))}function Eo(e){e.inputCard.querySelector(`slicc-add-menu`)?.open?.()}function Do(e){e.composer.toggleHandsFree?.()}function Oo(e){let t=e.thread.ownerDocument.querySelector(`slicc-tab-overlay`);t&&(t.peeking=!0),e.dock.selectItem?.(`browser`)}function ko(e,t){let n=e.thread,r=n.getBoundingClientRect().top,i=[...n.children].map(e=>e.getBoundingClientRect().top-r),a=t>0?i.find(e=>e>1):i.filter(e=>e<-1).at(-1);a!==void 0&&(n.scrollTop+=a)}function Ao(e,t){e.thread.querySelector(`.wc-copy-row slicc-press-button`)?.dispatchEvent(new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:{}}))}function jo(e){Ao(e,`short-click`)}function Mo(e){Ao(e,`long-press`)}function No(e){if(!e)return null;try{return e.contentDocument}catch{return null}}function Po(e){let t=[...e.thread.querySelectorAll(`[data-tool-ui-request]`)];if(t.length===0)return;let n=e.thread.ownerDocument.activeElement,r=t[(t.findIndex(e=>n instanceof Node&&e.contains(n))+1)%t.length];if(!r)return;let i=r.querySelector(`iframe`),a=No(i)?.querySelector(`button[data-action]`);(r.querySelector(`button[data-action]:not([disabled])`)??a??i)?.focus?.(),r.scrollIntoView?.({block:`nearest`})}function Fo(e){let t=e.dock.active;t&&u(e.frame??e.dockTree,t)}function Io(e){let t=(e,t)=>({size:()=>e().querySelectorAll(t).length,selectAt:n=>{e().querySelectorAll(t)[n]?.click()}});return{files:{size:()=>e.fileTree.visibleIds().length,selectAt:t=>{let n=e.fileTree.visibleIds()[t];n&&e.fileTree.selectFile(n)}},memory:t(()=>e.memoryHost,`slicc-memrow`),sessions:t(()=>e.freezer,`slicc-freezer-card:not(.match-hidden):not([hidden])`)}}function Lo(e){return se({switcher:e.switcher,dock:e.dock,freezer:e.freezer,composerMeta:e.composerMeta,hudHost:e.chatPane,composerBand:e.composer,focusComposer:()=>e.inputCard.focus(),composerAvailable:()=>!e.composer.hasAttribute(`hidden`)&&!e.inputCard.hasAttribute(`disabled`),stopTurn:()=>To(e),toggleVoice:()=>Do(e),scrollMessage:t=>ko(e,t),focusApproval:()=>Po(e),openAttachMenu:()=>Eo(e),copyReply:()=>jo(e),copyChat:()=>Mo(e),zoomSurface:()=>Fo(e),peekTabs:()=>Oo(e),lists:Io(e),caps:bo({inputCard:e.inputCard,root:e.chatPane,switcher:e.switcher}),usage:wo(e.chatPane.ownerDocument)})}var Ro=/data:([\w.+-]+\/[\w.+-]+)(?:;[\w.+-]+=[^;,]*)*;base64,([A-Za-z0-9+/=]+)/g,zo=RegExp(`(?:^|[\\s"'\`(\\[{<,;:=])([A-Za-z0-9+/]{128,}={0,2})(?=$|[\\s"'\`)\\]}>,;:.!?])`,`g`),Bo=16;function Vo(e){let t=[],n=0;for(;;){let r=e.indexOf(`
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{c as t,i as n,l as r,n as i,r as a,t as o}from"./wc-shortcuts-B76JiuPn.js";var s=`{
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{c as t,i as n,l as r,n as i,r as a,t as o}from"./wc-shortcuts-Cofh5Gbv.js";var s=`{
2
2
  "//": [
3
3
  "Keyboard-mode shortcuts. How the mode is entered is controlled by",
4
4
  "\\"trigger\\" (also switchable in Theme settings):",
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-kBT87Ea7.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import"./account-store-lxoAGWoo.js";import{t}from"./preload-helper-Czpn1I53.js";import{n}from"./runtime-env-Dlaokqg1.js";import{n as r,t as i}from"./icons-BXcp4CBT.js";function a(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=10||r===0?Math.round(n):Math.round(n*10)/10} ${t[r]}`}function o(e){let t=e.mimeType||`application/octet-stream`;return`${e.name} (${t}, ${a(e.size)})`}function s(e,t=`The original file lives on a remote runtime and is not accessible here.`){return e?.length?e.map(e=>{if(!e.path)return{...e};let{path:n,...r}=e;return e.kind===`image`&&e.data||e.kind===`text`&&e.text!==void 0?r:{...r,error:r.error??t}}):[]}function c(e,t){let r=n(),i=`/preview${e}${t?`?projectRoot=${encodeURIComponent(t)}`:``}`;if(r){let e=globalThis.chrome?.runtime?.getURL;if(e)return e(i)}let a=`http://localhost:5710`;return typeof window<`u`&&window.location?.origin?a=window.location.origin:typeof self<`u`&&self.location?.origin&&(a=self.location.origin),`${a}${i}`}var l={camera:`Camera`,microphone:`Microphone`};function u(e,t,n){return(e??``).trim()||`${l[n]} ${t+1}`}function d(e,t){return e.map((e,n)=>({deviceId:e.deviceId,label:u(e.label,n,t)}))}function f(e){return e.length>=2}function p(e){if(e.length===0)return null;let t=e.find(e=>e.deviceId==="default");if(t)return t.deviceId;let n=e.find(e=>(e.label??``).trim().toLowerCase().startsWith(`default`));return n?n.deviceId:e[0].deviceId}function m(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var h=3e3,g={engine:`builtin`,state:`idle`};function _(){return{async permission(){try{return(await navigator.permissions.query({name:`microphone`})).state}catch{return`prompt`}},async requestPermission(){if(!navigator.mediaDevices?.getUserMedia)return!1;try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop();return!0}catch{return!1}},async microphones(){if(!navigator.mediaDevices?.enumerateDevices)return[];try{return d((await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`),`microphone`)}catch{return[]}},async start(e){let t=m();if(!t)throw Error(`Speech recognition is not supported in this browser.`);let n=new t;n.continuous=!0,n.interimResults=!0,e.lang&&(n.lang=e.lang);let r=``,i=``,a=!1,o=[],s=()=>{a=!0;let e=o;o=[];for(let t of e)t()};n.onresult=t=>{i=``;for(let e=t.resultIndex;e<t.results.length;e++){let n=t.results[e];n.isFinal?r+=n[0].transcript:i+=n[0].transcript}let n=`${r}${i}`.trim();n&&e.onPartial?.(n)},n.onerror=t=>{t.error!==`no-speech`&&t.error!==`aborted`&&e.onError?.(`Speech recognition error: ${t.error}`)},n.onend=s,n.start();let c=()=>`${r}${i}`.trim();return{stop(){return a?Promise.resolve(c()):new Promise(e=>{let t=setTimeout(()=>e(c()),h);o.push(()=>{clearTimeout(t),e(c())});try{n.stop()}catch{clearTimeout(t),e(c())}})},cancel(){n.onresult=null,n.onerror=null,n.onend=null;try{(n.abort??n.stop).call(n)}catch{}s()}}},status(){return g},onStatus(e){return e(g),()=>{}},warmup(){}}}var v=e({applyDictationMarkers:()=>te,consumeDictationFirst:()=>re,parseReplyLang:()=>T,resetDictationPriming:()=>ie,stripDictationMarkers:()=>w,stripReplyLangMarker:()=>ne}),y=`◁This message has been sent through text to speech, consider possible phonetic alternatives and transcription errors. Future dictated messages will have the 🎙️ emoji appended. Your responses to dictated messages will be read out loud, avoid urls, acronyms, numbers, formatting. Begin every reply with the language you are replying in as a hidden HTML comment, e.g. <!--lang:en--> for English or <!--lang:de--> for German; it stays hidden from the user and selects a matching voice▷`,b=/\uD83C\uDF99\uFE0F?/g,x=/\u25C1[\s\S]*?\u25B7/g,S=/<!--\s*lang:\s*([A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*)\s*-->/i,C=/<!--\s*lang:\s*[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*\s*-->/gi,ee=!0;function te(e,t){let n=e.endsWith(` `)?e:`${e} `;return t?`${n}\uD83C\uDF99\uFE0F${y}`:`${n}\uD83C\uDF99\uFE0F`}function w(e){return e.replace(x,``).replace(b,``).replace(/[ \t]+$/g,``).trimEnd()}function T(e){return S.exec(e)?.[1]}function ne(e){return e.replace(C,``)}function re(){return ee?(ee=!1,!0):!1}function ie(){ee=!0}var ae={sent:{freq:660,freqSlideTo:990,duration:.12,peakGain:.06,type:`sine`},"tool-start":{freq:520,freq2:780,duration:.07,peakGain:.04,type:`triangle`},"tool-finish":{freq:880,freq2:1320,duration:.07,peakGain:.04,type:`sine`}};function E(e,t){let n=ae[t],r=e.currentTime,i=r+n.duration,a=e.createGain();a.gain.setValueAtTime(1e-4,r),a.gain.exponentialRampToValueAtTime(n.peakGain,r+n.duration*.2),a.gain.exponentialRampToValueAtTime(1e-4,i),a.connect(e.destination);let o=e.createOscillator();if(o.type=n.type,o.frequency.setValueAtTime(n.freq,r),n.freqSlideTo!==void 0&&o.frequency.linearRampToValueAtTime(n.freqSlideTo,i),o.connect(a),o.start(r),o.stop(i),n.freq2!==void 0){let t=e.createOscillator();t.type=n.type,t.frequency.setValueAtTime(n.freq2,r),t.connect(a),t.start(r),t.stop(i)}}function oe(e){let t=/^\[@[^\]\s]+ (completed|idle)\]/.exec(e);return t?t[1]===`idle`?`scoop-idle`:`scoop-notify`:/^\[@[^\]\s]+ sudo-request\]/.test(e)?`sudo-request`:/^\[scoop_wait [^\]]+\]/.test(e)?`scoop-wait`:e.startsWith(`[Session Reload]`)?`session-reload`:null}var D=e({applyTimestampVisibility:()=>me,formatMessageTimestamp:()=>ge,getShowTimestamps:()=>fe,initTimestampPreference:()=>he,setShowTimestamps:()=>pe}),se=`slicc_show_timestamps`,ce=`slicc-show-timestamps`,le=`slicc-timestamp-visibility`,ue=!1;function de(e){if(e.getElementById(le))return;let t=e.createElement(`style`);t.id=le,t.textContent=[`slicc-user-message::part(timestamp),`,`slicc-agent-message .msg-ts {`,` display: none;`,`}`,`.${ce} slicc-user-message::part(timestamp),`,`.${ce} slicc-agent-message .msg-ts {`,` display: block;`,`}`].join(`
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import"./account-store-CEOiQheZ.js";import{t}from"./preload-helper-Czpn1I53.js";import{n}from"./runtime-env-Dlaokqg1.js";import{n as r,t as i}from"./icons-BXcp4CBT.js";function a(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=10||r===0?Math.round(n):Math.round(n*10)/10} ${t[r]}`}function o(e){let t=e.mimeType||`application/octet-stream`;return`${e.name} (${t}, ${a(e.size)})`}function s(e,t=`The original file lives on a remote runtime and is not accessible here.`){return e?.length?e.map(e=>{if(!e.path)return{...e};let{path:n,...r}=e;return e.kind===`image`&&e.data||e.kind===`text`&&e.text!==void 0?r:{...r,error:r.error??t}}):[]}function c(e,t){let r=n(),i=`/preview${e}${t?`?projectRoot=${encodeURIComponent(t)}`:``}`;if(r){let e=globalThis.chrome?.runtime?.getURL;if(e)return e(i)}let a=`http://localhost:5710`;return typeof window<`u`&&window.location?.origin?a=window.location.origin:typeof self<`u`&&self.location?.origin&&(a=self.location.origin),`${a}${i}`}var l={camera:`Camera`,microphone:`Microphone`};function u(e,t,n){return(e??``).trim()||`${l[n]} ${t+1}`}function d(e,t){return e.map((e,n)=>({deviceId:e.deviceId,label:u(e.label,n,t)}))}function f(e){return e.length>=2}function p(e){if(e.length===0)return null;let t=e.find(e=>e.deviceId==="default");if(t)return t.deviceId;let n=e.find(e=>(e.label??``).trim().toLowerCase().startsWith(`default`));return n?n.deviceId:e[0].deviceId}function m(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var h=3e3,g={engine:`builtin`,state:`idle`};function _(){return{async permission(){try{return(await navigator.permissions.query({name:`microphone`})).state}catch{return`prompt`}},async requestPermission(){if(!navigator.mediaDevices?.getUserMedia)return!1;try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop();return!0}catch{return!1}},async microphones(){if(!navigator.mediaDevices?.enumerateDevices)return[];try{return d((await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`),`microphone`)}catch{return[]}},async start(e){let t=m();if(!t)throw Error(`Speech recognition is not supported in this browser.`);let n=new t;n.continuous=!0,n.interimResults=!0,e.lang&&(n.lang=e.lang);let r=``,i=``,a=!1,o=[],s=()=>{a=!0;let e=o;o=[];for(let t of e)t()};n.onresult=t=>{i=``;for(let e=t.resultIndex;e<t.results.length;e++){let n=t.results[e];n.isFinal?r+=n[0].transcript:i+=n[0].transcript}let n=`${r}${i}`.trim();n&&e.onPartial?.(n)},n.onerror=t=>{t.error!==`no-speech`&&t.error!==`aborted`&&e.onError?.(`Speech recognition error: ${t.error}`)},n.onend=s,n.start();let c=()=>`${r}${i}`.trim();return{stop(){return a?Promise.resolve(c()):new Promise(e=>{let t=setTimeout(()=>e(c()),h);o.push(()=>{clearTimeout(t),e(c())});try{n.stop()}catch{clearTimeout(t),e(c())}})},cancel(){n.onresult=null,n.onerror=null,n.onend=null;try{(n.abort??n.stop).call(n)}catch{}s()}}},status(){return g},onStatus(e){return e(g),()=>{}},warmup(){}}}var v=e({applyDictationMarkers:()=>te,consumeDictationFirst:()=>re,parseReplyLang:()=>T,resetDictationPriming:()=>ie,stripDictationMarkers:()=>w,stripReplyLangMarker:()=>ne}),y=`◁This message has been sent through text to speech, consider possible phonetic alternatives and transcription errors. Future dictated messages will have the 🎙️ emoji appended. Your responses to dictated messages will be read out loud, avoid urls, acronyms, numbers, formatting. Begin every reply with the language you are replying in as a hidden HTML comment, e.g. <!--lang:en--> for English or <!--lang:de--> for German; it stays hidden from the user and selects a matching voice▷`,b=/\uD83C\uDF99\uFE0F?/g,x=/\u25C1[\s\S]*?\u25B7/g,S=/<!--\s*lang:\s*([A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*)\s*-->/i,C=/<!--\s*lang:\s*[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*\s*-->/gi,ee=!0;function te(e,t){let n=e.endsWith(` `)?e:`${e} `;return t?`${n}\uD83C\uDF99\uFE0F${y}`:`${n}\uD83C\uDF99\uFE0F`}function w(e){return e.replace(x,``).replace(b,``).replace(/[ \t]+$/g,``).trimEnd()}function T(e){return S.exec(e)?.[1]}function ne(e){return e.replace(C,``)}function re(){return ee?(ee=!1,!0):!1}function ie(){ee=!0}var ae={sent:{freq:660,freqSlideTo:990,duration:.12,peakGain:.06,type:`sine`},"tool-start":{freq:520,freq2:780,duration:.07,peakGain:.04,type:`triangle`},"tool-finish":{freq:880,freq2:1320,duration:.07,peakGain:.04,type:`sine`}};function E(e,t){let n=ae[t],r=e.currentTime,i=r+n.duration,a=e.createGain();a.gain.setValueAtTime(1e-4,r),a.gain.exponentialRampToValueAtTime(n.peakGain,r+n.duration*.2),a.gain.exponentialRampToValueAtTime(1e-4,i),a.connect(e.destination);let o=e.createOscillator();if(o.type=n.type,o.frequency.setValueAtTime(n.freq,r),n.freqSlideTo!==void 0&&o.frequency.linearRampToValueAtTime(n.freqSlideTo,i),o.connect(a),o.start(r),o.stop(i),n.freq2!==void 0){let t=e.createOscillator();t.type=n.type,t.frequency.setValueAtTime(n.freq2,r),t.connect(a),t.start(r),t.stop(i)}}function oe(e){let t=/^\[@[^\]\s]+ (completed|idle)\]/.exec(e);return t?t[1]===`idle`?`scoop-idle`:`scoop-notify`:/^\[@[^\]\s]+ sudo-request\]/.test(e)?`sudo-request`:/^\[scoop_wait [^\]]+\]/.test(e)?`scoop-wait`:e.startsWith(`[Session Reload]`)?`session-reload`:null}var D=e({applyTimestampVisibility:()=>me,formatMessageTimestamp:()=>ge,getShowTimestamps:()=>fe,initTimestampPreference:()=>he,setShowTimestamps:()=>pe}),se=`slicc_show_timestamps`,ce=`slicc-show-timestamps`,le=`slicc-timestamp-visibility`,ue=!1;function de(e){if(e.getElementById(le))return;let t=e.createElement(`style`);t.id=le,t.textContent=[`slicc-user-message::part(timestamp),`,`slicc-agent-message .msg-ts {`,` display: none;`,`}`,`.${ce} slicc-user-message::part(timestamp),`,`.${ce} slicc-agent-message .msg-ts {`,` display: block;`,`}`].join(`
3
3
  `),e.head.appendChild(t)}function fe(){if(typeof localStorage>`u`||typeof localStorage?.getItem!=`function`)return!0;let e=localStorage.getItem(se);return e===null||e===`true`}function pe(e){typeof localStorage<`u`&&typeof localStorage?.setItem==`function`&&localStorage.setItem(se,String(e)),me()}function me(e){if(typeof document>`u`)return;de(document);let t=e===void 0?fe():e;document.documentElement.classList.toggle(ce,t),ue=!0}function he(){ue||me()}function ge(e){return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):null}var _e=[`top`,`right`,`bottom`,`left`,`center`];function ve(e){return e!=null&&_e.includes(e)}function ye(e){let t=e?.panelMeta;return t&&typeof t.id==`string`?t:void 0}var be=new Map,xe=new EventTarget;function Se(e,t){xe.dispatchEvent(new CustomEvent(`panel-registry-change`,{detail:{id:e,change:t}}))}function Ce(e){let{id:t}=e.meta,n=be.has(t);return be.set(t,e),Se(t,`registered`),!n}function we(e){return be.delete(e)?(Se(e,`unregistered`),!0):!1}function Te(){return[...be.values()]}function Ee(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}var De=`.dock-tree__parking, .slicc-layout__parking`;function Oe(e,t){let n=e.querySelector(`[surface-id="${Ee(t)}"]`);return!n||n.closest(De)?!1:(n.requestFullscreen?.()?.catch(()=>{}),!0)}var ke=e({DEFAULT_ZONE_AXIS:()=>Me,LAYOUT_SCHEMA_VERSION:()=>1,ZONE_NAMES:()=>je,cloneLayout:()=>k,emptyLayout:()=>O,isPanelLocked:()=>Ue,isSplitNode:()=>Pe,layoutPanelIds:()=>Ie,moveToZone:()=>Re,parseLayoutDocument:()=>Ke,removeFromZones:()=>ze,resolveLayout:()=>He,sizeToFlex:()=>Ge,variantMatches:()=>Fe,walkCenter:()=>Ve,zoneAxis:()=>Ne,zoneOfPanel:()=>Le,zonesFromCenter:()=>Be}),Ae=1,je=[`top`,`left`,`center`,`right`,`bottom`],Me={top:`row`,bottom:`row`,left:`col`,right:`col`,center:`col`};function Ne(e,t){return e.axes?.[t]??Me[t]}function O(e=`empty`){return{version:1,id:e,base:{}}}function k(e){return JSON.parse(JSON.stringify(e))}function Pe(e){return`split`in e}function Fe(e,t){return!(e.minWidth!=null&&t.width<e.minWidth||e.maxWidth!=null&&t.width>e.maxWidth||e.minHeight!=null&&t.height<e.minHeight||e.maxHeight!=null&&t.height>e.maxHeight||e.orientation!=null&&(t.width>=t.height?`landscape`:`portrait`)!==e.orientation||e.platform!=null&&t.platform!=null&&e.platform!==t.platform)}function Ie(e){let t=[],n=new Set,r=e=>{n.has(e)||(n.add(e),t.push(e))};for(let t of e.docks)for(let e of t.panels)r(e);if(e.zones)for(let t of je)for(let n of e.zones[t]??[])r(n);else e.center&&Ve(e.center,e=>r(e.panel));for(let t of e.floating)r(t.panel);return t}function Le(e,t){for(let n of je)if((e[n]??[]).includes(t))return n;return null}function Re(e,t,n){if(Le(e,t)===n)return e;let r=k(e);for(let e of je){let n=r[e];n&&(r[e]=n.filter(e=>e!==t))}return r[n]=[...r[n]??[],t],r}function ze(e,t){let n=k(e);for(let e of je){let r=n[e];r&&(n[e]=r.filter(e=>e!==t))}return n}function Be(e){let t=[];return e&&Ve(e,e=>t.push(e.panel)),{center:t}}function Ve(e,t){if(!Pe(e)){t(e);return}for(let n of e.children)Ve(n,t)}function He(e,t){let n={id:e.id,locked:e.locked===!0,docks:k(e.base.docks??[]),zones:k(e.base.zones??null),center:k(e.base.center??null),floating:k(e.base.floating??[]),panels:k(e.panels??{}),appliedVariants:[]};return(e.variants??[]).forEach((e,r)=>{if(Fe(e.when,t)){n.appliedVariants.push(r),e.docks!==void 0&&(n.docks=k(e.docks)),e.zones!==void 0&&(n.zones=k(e.zones)),e.center!==void 0&&(n.center=k(e.center)),e.floating!==void 0&&(n.floating=k(e.floating));for(let[t,r]of Object.entries(e.panels??{}))n.panels[t]={...n.panels[t],...r}}}),n}function Ue(e,t){if(e.locked||e.panels[t]?.locked===!0)return!0;for(let n of e.docks)if(n.panels.includes(t))return n.locked===!0;for(let n of e.floating)if(n.panel===t)return n.locked===!0;if(e.zones){let n=Le(e.zones,t);return n?(e.zones.locked??[]).includes(n):!1}return e.center?We(e.center,t,!1):!1}function We(e,t,n){let r=n||e.locked===!0;return Pe(e)?e.children.some(e=>We(e,t,r)):e.panel===t&&r}function Ge(e){if(e==null)return`1 1 auto`;if(typeof e==`number`)return`${e} 1 0`;let t=e.trim(),n=/^([\d.]+)fr$/.exec(t);return n?`${n[1]} 1 0`:/^[\d.]+$/.test(t)?`${t} 1 0`:`0 0 ${t}`}function Ke(e){if(!e||typeof e!=`object`)return{error:`layout must be an object`};let t=e;if(typeof t.id!=`string`||t.id.trim()===``)return{error:`layout.id must be a non-empty string`};if(typeof t.version!=`number`)return{error:`layout.version must be a number`};if(t.version>1)return{error:`layout.version ${t.version} is newer than supported (1)`};if(!t.base||typeof t.base!=`object`)return{error:`layout.base must be an object`};for(let e of t.base.docks??[]){if(!qe(e?.edge))return{error:`invalid dock edge: ${String(e?.edge)}`};if(!Array.isArray(e.panels))return{error:`dock.${e.edge}.panels must be an array`}}if(t.base.center!=null){let e=Je(t.base.center);if(e)return{error:e}}return t}function qe(e){return e===`top`||e===`right`||e===`bottom`||e===`left`}function Je(e){if(!e||typeof e!=`object`)return`center node must be an object`;let t=e;if(typeof t.panel==`string`)return null;if(t.split!==`row`&&t.split!==`col`)return'center node needs a `panel` string or a `split` of "row"/"col"';if(!Array.isArray(t.children)||t.children.length===0)return"a split node needs a non-empty `children` array";for(let e of t.children){let t=Je(e);if(t)return t}return null}var Ye=[`top-left`,`top-right`,`bottom-left`,`bottom-right`,`top`,`right`,`bottom`,`left`],Xe=`top-right`,Ze=`slicc-launcher-corner`,Qe=[`disconnected`,`connected`,`error`],$e=`disconnected`,A=`follower-status`,et=new Set(Ye),tt=new Set(Qe);function nt(e,t=Xe){return e&&et.has(e)?e:t}function rt(e,t=$e){return e&&tt.has(e)?e:t}function it(e){return e>=6}function at({clientX:e,clientY:t,viewportWidth:n,viewportHeight:r,velocityXPxPerMs:i=0,velocityYPxPerMs:a=0,flickProjectionMs:o=180}){let s=ot(e+i*o,0,n),c=ot(t+a*o,0,r),l=s/n,u=c/r,d=l>1/3&&l<2/3,f=u>1/3&&u<2/3;if(d&&f){let e=u,t=1-u,n=l,r=1-l,i=Math.min(e,t,n,r);return i===e?`top`:i===t?`bottom`:i===n?`left`:`right`}return d?u<.5?`top`:`bottom`:f?l<.5?`left`:`right`:`${u<.5?`top`:`bottom`}-${l<.5?`left`:`right`}`}function ot(e,t,n){return Math.min(Math.max(e,t),n)}var st=`<?xml version="1.0" encoding="UTF-8"?>
4
4
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="100%" height="100%"><g transform="translate(151.53125, -171.3125) scale(1.25)"><g transform="translate(0, 21)"><g id="Cone">
5
5
  <path id="Cone_Bottom" data-name="Cone Bottom" d="M108.22,414.88l189.84,460.03c1.36,3.3,6.09,3.16,7.25-.22l159.34-463.34c.87-2.53-1.03-5.16-3.7-5.13l-349.18,3.32c-2.74.03-4.59,2.82-3.55,5.35Z" style="fill: rgb(34, 34, 34); stroke: rgb(255, 255, 255); stroke-linejoin: round; stroke-width: 20px;"></path>
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-B3nS5QUo.js","assets/preload-helper-Czpn1I53.js","assets/sprinkle-manager-BvDUG75y.js","assets/logger-DDBAeTLF.js","assets/sprinkle-renderer-C3YzieNR.js","assets/wc-shortcuts-B76JiuPn.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-lxoAGWoo.js","assets/claude-model-version-CSATLzrT.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/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/icons-BXcp4CBT.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BsAiCAWF.js","assets/usb-device-registry-DmUBqrA-.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/telemetry-BWAgv6Hm.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/sprinkle-instances-B8n7h-oP.js","assets/setup-sprinkle-exec-BX_Qq-Su.js","assets/wc-live-BEgauFg4.js","assets/slugify-BYJ6QVAt.js","assets/transcript-export-DP-r8eDz.js","assets/tray-runtime-config-BQL-GPqt.js","assets/bridge-protocol-06nbmp2X.js","assets/messages-BD4p8GuF.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-BM_U535K.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-Dgm4REV3.js","assets/browser-DGwroBSO.js","assets/tray-leader-DaLUK8LB.js","assets/record-DOq72weu.js","assets/wc-shell-CzfjGWqF.js","assets/wc-shell-WkeczD9x.css","assets/wc-unit-context-Cl6J7YTp.js","assets/quick-llm-bHa2oqGs.js","assets/llm-session-id-bZQs6gBN.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{O as t}from"./wc-shortcuts-B76JiuPn.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./wc-unit-context-Cl6J7YTp.js";var i=`sprinkle:`,a=`slicc-sprinkle-icons`;function o(){try{let e=localStorage.getItem(a);if(!e)return{};let t=JSON.parse(e);if(typeof t!=`object`||!t)return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return{}}}function s(e){try{let t=new Set(e),n=Object.fromEntries(Object.entries(o()).filter(([e])=>t.has(e)));localStorage.setItem(a,JSON.stringify(n))}catch{}}function c(e,t){try{localStorage.setItem(a,JSON.stringify({...o(),[e]:t}))}catch{}}function l(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function u(e){return`${i}${e}`}function d(e){return e?.startsWith(i)?e.slice(9):null}var f=`chat`,p=new Set([`files`,`term`,`memory`,`monitor`]),m=`right`,h=m;function g(e){return p.has(e)}var _=class{#e;#t=new Map;#n=new Map;#r=new Set;#i=[];#a;constructor(e,t={}){this.#e=e,this.#a=t}#o(){return this.#e.dockTree}applyLayout(e){let t=this.#o();t?.setTree(e);for(let e of this.#i)t?.placeSurface(u(e),h)}placeSurface(e,t){let n=this.#o();if(n&&!this.#a.hostSprinkleSurface)for(let e of n.getSurfaceIds())e!==t&&e!==`chat`&&this.removeSurface(e);if(n?.placeSurface(t,e),!this.#a.hostSprinkleSurface){let e=this.#e.dock;e&&(e.active=t)}g(t)&&this.#a.onToolPanelActivate?.(t)}moveSurfaceToZone(e,t){this.#o()?.moveSurfaceToZone(e,t)}removeSurface(e){this.#o()?.removeSurface(e),g(e)&&this.#a.onToolPanelDeactivate?.(e)}setSurfaceSize(e,t){return this.#o()?.setSurfaceSize(e,t)??!1}seedDockItems(e){let t=o(),n=!1;for(let r of e)this.#t.has(r)||(this.#r.add(r),this.#t.set(r,{id:u(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#p()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#r)this.#n.has(t)||(this.#t.delete(t),e=!0);this.#r.clear(),e&&this.#p()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#s(e,t,n,i),removeSprinkle:e=>this.#c(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#l(e),registerSprinkle:(e,t,n)=>this.#u(e,t,n?.icon),unregisterSprinkle:e=>this.#f(e),closeSprinkleContent:e=>this.#c(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#t.get(e);!n||n.icon===t||(this.#t.set(e,{...n,icon:t}),this.#p())}defaultIconNames(){return[...this.#t.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#n.has(e)}#s(e,t,n,r){let i=u(e),a=this.#a.hostSprinkleSurface,o=this.#n.get(e),s=!o;if(o||(o=document.createElement(`slicc-surface`),o.setAttribute(`surface-id`,i),o.setAttribute(`layout`,`flex`),a||this.#e.dockTree?.append(o),this.#n.set(e,o)),o.replaceChildren(n),this.#u(e,t,r?.icon),this.#i.includes(e)||this.#i.push(e),a){s&&a(i,o);return}r?.attention||r?.background||this.placeSurface(h,i)}#c(e,t){let n=u(e);this.#n.get(e)?.remove(),this.#n.delete(e),t.keepDockItem||this.#t.delete(e);let r=this.#i.indexOf(e);if(r>=0&&this.#i.splice(r,1),this.#p(),this.#a.removeSprinkleSurface){this.#a.removeSprinkleSurface(n);return}this.#e.dockTree?.removeSurface(n)}#l(e){this.#e.dock.removeAttribute(`active`),!this.#a.hostSprinkleSurface&&this.removeSurface(u(e))}#u(e,t,n){this.#r.delete(e);let r=this.#d(e,n);this.#t.set(e,{id:u(e),icon:r,label:t,kind:`sprinkle`}),this.#p()}#d(e,t){return l(t)?t:o()[e]??`sparkles`}#f(e){this.#n.has(e)||(this.#t.delete(e),this.#p())}#p(){this.#e.dock.items=[...this.#t.values()]}},v=180;function y(e){e.dock.addEventListener(`slicc-dock-longpress`,n=>{let r=n.detail?.id;if(!r||d(r)===null&&!g(r))return;let i=n=>{t(e.frame??e.dockTree,r)||n<=0||requestAnimationFrame(()=>i(n-1))};i(v)})}async function b(t){let{refs:i,client:a,fs:o,instanceId:c,onAttachImage:l,onToolPanelActivate:u,onToolPanelDeactivate:f,hostSprinkleSurface:p,removeSprinkleSurface:h,log:v}=t,b=new _(i,{onToolPanelActivate:u,onToolPanelDeactivate:f,hostSprinkleSurface:p,removeSprinkleSurface:h}),{loadSprinkleStyles:S}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await S();let{SprinkleManager:C,readKnownSprinkleNames:w}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-BvDUG75y.js`);return{SprinkleManager:e,readKnownSprinkleNames:t}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));b.seedDockItems(w());let{installSprinkleManagerHandlerOverChannel:T}=await e(async()=>{let{installSprinkleManagerHandlerOverChannel:e}=await import(`./sprinkle-bridge-channel-Clwu-X1e.js`);return{installSprinkleManagerHandlerOverChannel:e}},[]),{createSprinkleExecHandler:E}=await e(async()=>{let{createSprinkleExecHandler:e}=await import(`./setup-sprinkle-exec-BX_Qq-Su.js`);return{createSprinkleExecHandler:e}},__vite__mapDeps([41,1])),{setDipExecHandler:D}=await e(async()=>{let{setDipExecHandler:e}=await import(`./wc-live-BEgauFg4.js`).then(e=>e.R);return{setDipExecHandler:e}},__vite__mapDeps([42,6,7,1,8,9,10,11,12,13,14,3,15,16,17,18,19,20,21,22,23,24,25,26,27,5,28,4,29,30,31,32,33,34,35,36,43,44,45,46,47,37,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63])),O=n(),k=E(a),A=new C(o,e=>{e.type===`sprinkle`&&e.sprinkleName&&a.sendSprinkleLick(e.sprinkleName,e.body,e.targetScoop)},b.callbacks(),()=>{let e=r(t.getUnits());e&&a.stopScoop(e.id)},{...O?{autoOpenBehavior:`attention`}:{},inlineSprinkles:new Set([`welcome`]),execHandler:k,onAttachImage:l??(()=>{})});if(window.__slicc_sprinkleManager=A,D(k),c!==void 0){let e=T(A,{instanceId:c});window.addEventListener(`beforeunload`,()=>e(),{once:!0})}else if(O){let{handleSprinkleOp:t}=await e(async()=>{let{handleSprinkleOp:e}=await import(`./sprinkle-op-handler-Cb1pl8Ok.js`);return{handleSprinkleOp:e}},[]);a.setSprinkleOpHandler(e=>{let{id:n,op:r,name:i,data:a,target:o}=e;t(A,n,r,i,a,o)})}i.dock.addEventListener(`slicc-dock-select`,e=>{let t=e.detail?.id,n=d(t);if(n){A.activate(n).catch(e=>v.error(`WC sprinkle activate failed`,e));return}t&&g(t)&&b.placeSurface(m,t)}),i.dock.addEventListener(`slicc-dock-collapse`,e=>{let t=e.detail?.id;if(!t)return;if(g(t)){b.removeSurface(t);return}let n=d(t);n&&A.minimize(n)}),y(i);let j=!1,M=async()=>{if(await A.refresh(),A.available().length>0){b.dropUnconfirmedSeeds();let t=A.available().map(e=>e.name),{pruneKnownSprinkleNames:n}=await e(async()=>{let{pruneKnownSprinkleNames:e}=await import(`./sprinkle-manager-BvDUG75y.js`);return{pruneKnownSprinkleNames:e}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));n(t),s(t)}await A.restoreOpenSprinkles().catch(e=>{v.warn(`WC shell: failed to restore open sprinkles`,e)}),j||(j=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-bHa2oqGs.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([64,6,7,1,8,9,10,11,12,13,14,3,15,16,17,18,19,20,21,22,23,24,25,26,27,65,28])).then(({pickLucideIcon:e})=>x(b,A.available(),t=>e({subject:t}))).catch(()=>void 0).finally(()=>{j=!1}))};return M().catch(e=>v.warn(`WC shell: initial sprinkle resync failed`,e)),{manager:A,zone:b,resync:M}}async function x(e,t,n){let r=new Set(e.defaultIconNames()),i=o();for(let a of t){if(!r.has(a.name)||l(a.icon))continue;let t=i[a.name];if(t){e.updateDockIcon(a.name,t);continue}let o=await n(`"${a.title}" — a SLICC sprinkle panel (${a.name})`);o&&(c(a.name,o),e.updateDockIcon(a.name,o))}}export{f as CHAT_SURFACE_ID,_ as WcSprinkleZone,b as wireWcSprinkles};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-B3nS5QUo.js","assets/preload-helper-Czpn1I53.js","assets/sprinkle-manager-LMSdR63e.js","assets/logger-DDBAeTLF.js","assets/sprinkle-renderer-BGx8hJZ_.js","assets/wc-shortcuts-Cofh5Gbv.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-CEOiQheZ.js","assets/claude-model-version-CSATLzrT.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/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/icons-BXcp4CBT.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BsAiCAWF.js","assets/usb-device-registry-DmUBqrA-.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/telemetry-BWAgv6Hm.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/sprinkle-instances-B8n7h-oP.js","assets/setup-sprinkle-exec-BX_Qq-Su.js","assets/wc-live-TppgvY0W.js","assets/slugify-BYJ6QVAt.js","assets/transcript-export-DP-r8eDz.js","assets/tray-runtime-config-BQL-GPqt.js","assets/bridge-protocol-06nbmp2X.js","assets/messages-BD4p8GuF.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-CmEbg5ii.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-Dgm4REV3.js","assets/browser-DGwroBSO.js","assets/tray-leader-DaLUK8LB.js","assets/record-DOq72weu.js","assets/wc-shell-BFq7cCkV.js","assets/wc-shell-WkeczD9x.css","assets/wc-unit-context-Cl6J7YTp.js","assets/quick-llm-CGmdkAbo.js","assets/llm-session-id-bZQs6gBN.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{O as t}from"./wc-shortcuts-Cofh5Gbv.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./wc-unit-context-Cl6J7YTp.js";var i=`sprinkle:`,a=`slicc-sprinkle-icons`;function o(){try{let e=localStorage.getItem(a);if(!e)return{};let t=JSON.parse(e);if(typeof t!=`object`||!t)return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return{}}}function s(e){try{let t=new Set(e),n=Object.fromEntries(Object.entries(o()).filter(([e])=>t.has(e)));localStorage.setItem(a,JSON.stringify(n))}catch{}}function c(e,t){try{localStorage.setItem(a,JSON.stringify({...o(),[e]:t}))}catch{}}function l(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function u(e){return`${i}${e}`}function d(e){return e?.startsWith(i)?e.slice(9):null}var f=`chat`,p=new Set([`files`,`term`,`memory`,`monitor`]),m=`right`,h=m;function g(e){return p.has(e)}var _=class{#e;#t=new Map;#n=new Map;#r=new Set;#i=[];#a;constructor(e,t={}){this.#e=e,this.#a=t}#o(){return this.#e.dockTree}applyLayout(e){let t=this.#o();t?.setTree(e);for(let e of this.#i)t?.placeSurface(u(e),h)}placeSurface(e,t){let n=this.#o();if(n&&!this.#a.hostSprinkleSurface)for(let e of n.getSurfaceIds())e!==t&&e!==`chat`&&this.removeSurface(e);if(n?.placeSurface(t,e),!this.#a.hostSprinkleSurface){let e=this.#e.dock;e&&(e.active=t)}g(t)&&this.#a.onToolPanelActivate?.(t)}moveSurfaceToZone(e,t){this.#o()?.moveSurfaceToZone(e,t)}removeSurface(e){this.#o()?.removeSurface(e),g(e)&&this.#a.onToolPanelDeactivate?.(e)}setSurfaceSize(e,t){return this.#o()?.setSurfaceSize(e,t)??!1}seedDockItems(e){let t=o(),n=!1;for(let r of e)this.#t.has(r)||(this.#r.add(r),this.#t.set(r,{id:u(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#p()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#r)this.#n.has(t)||(this.#t.delete(t),e=!0);this.#r.clear(),e&&this.#p()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#s(e,t,n,i),removeSprinkle:e=>this.#c(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#l(e),registerSprinkle:(e,t,n)=>this.#u(e,t,n?.icon),unregisterSprinkle:e=>this.#f(e),closeSprinkleContent:e=>this.#c(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#t.get(e);!n||n.icon===t||(this.#t.set(e,{...n,icon:t}),this.#p())}defaultIconNames(){return[...this.#t.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#n.has(e)}#s(e,t,n,r){let i=u(e),a=this.#a.hostSprinkleSurface,o=this.#n.get(e),s=!o;if(o||(o=document.createElement(`slicc-surface`),o.setAttribute(`surface-id`,i),o.setAttribute(`layout`,`flex`),a||this.#e.dockTree?.append(o),this.#n.set(e,o)),o.replaceChildren(n),this.#u(e,t,r?.icon),this.#i.includes(e)||this.#i.push(e),a){s&&a(i,o);return}r?.attention||r?.background||this.placeSurface(h,i)}#c(e,t){let n=u(e);this.#n.get(e)?.remove(),this.#n.delete(e),t.keepDockItem||this.#t.delete(e);let r=this.#i.indexOf(e);if(r>=0&&this.#i.splice(r,1),this.#p(),this.#a.removeSprinkleSurface){this.#a.removeSprinkleSurface(n);return}this.#e.dockTree?.removeSurface(n)}#l(e){this.#e.dock.removeAttribute(`active`),!this.#a.hostSprinkleSurface&&this.removeSurface(u(e))}#u(e,t,n){this.#r.delete(e);let r=this.#d(e,n);this.#t.set(e,{id:u(e),icon:r,label:t,kind:`sprinkle`}),this.#p()}#d(e,t){return l(t)?t:o()[e]??`sparkles`}#f(e){this.#n.has(e)||(this.#t.delete(e),this.#p())}#p(){this.#e.dock.items=[...this.#t.values()]}},v=180;function y(e){e.dock.addEventListener(`slicc-dock-longpress`,n=>{let r=n.detail?.id;if(!r||d(r)===null&&!g(r))return;let i=n=>{t(e.frame??e.dockTree,r)||n<=0||requestAnimationFrame(()=>i(n-1))};i(v)})}async function b(t){let{refs:i,client:a,fs:o,instanceId:c,onAttachImage:l,onToolPanelActivate:u,onToolPanelDeactivate:f,hostSprinkleSurface:p,removeSprinkleSurface:h,log:v}=t,b=new _(i,{onToolPanelActivate:u,onToolPanelDeactivate:f,hostSprinkleSurface:p,removeSprinkleSurface:h}),{loadSprinkleStyles:S}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await S();let{SprinkleManager:C,readKnownSprinkleNames:w}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-LMSdR63e.js`);return{SprinkleManager:e,readKnownSprinkleNames:t}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));b.seedDockItems(w());let{installSprinkleManagerHandlerOverChannel:T}=await e(async()=>{let{installSprinkleManagerHandlerOverChannel:e}=await import(`./sprinkle-bridge-channel-Clwu-X1e.js`);return{installSprinkleManagerHandlerOverChannel:e}},[]),{createSprinkleExecHandler:E}=await e(async()=>{let{createSprinkleExecHandler:e}=await import(`./setup-sprinkle-exec-BX_Qq-Su.js`);return{createSprinkleExecHandler:e}},__vite__mapDeps([41,1])),{setDipExecHandler:D}=await e(async()=>{let{setDipExecHandler:e}=await import(`./wc-live-TppgvY0W.js`).then(e=>e.R);return{setDipExecHandler:e}},__vite__mapDeps([42,6,7,1,8,9,10,11,12,13,14,3,15,16,17,18,19,20,21,22,23,24,25,26,27,5,28,4,29,30,31,32,33,34,35,36,43,44,45,46,47,37,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63])),O=n(),k=E(a),A=new C(o,e=>{e.type===`sprinkle`&&e.sprinkleName&&a.sendSprinkleLick(e.sprinkleName,e.body,e.targetScoop)},b.callbacks(),()=>{let e=r(t.getUnits());e&&a.stopScoop(e.id)},{...O?{autoOpenBehavior:`attention`}:{},inlineSprinkles:new Set([`welcome`]),execHandler:k,onAttachImage:l??(()=>{})});if(window.__slicc_sprinkleManager=A,D(k),c!==void 0){let e=T(A,{instanceId:c});window.addEventListener(`beforeunload`,()=>e(),{once:!0})}else if(O){let{handleSprinkleOp:t}=await e(async()=>{let{handleSprinkleOp:e}=await import(`./sprinkle-op-handler-Cb1pl8Ok.js`);return{handleSprinkleOp:e}},[]);a.setSprinkleOpHandler(e=>{let{id:n,op:r,name:i,data:a,target:o}=e;t(A,n,r,i,a,o)})}i.dock.addEventListener(`slicc-dock-select`,e=>{let t=e.detail?.id,n=d(t);if(n){A.activate(n).catch(e=>v.error(`WC sprinkle activate failed`,e));return}t&&g(t)&&b.placeSurface(m,t)}),i.dock.addEventListener(`slicc-dock-collapse`,e=>{let t=e.detail?.id;if(!t)return;if(g(t)){b.removeSurface(t);return}let n=d(t);n&&A.minimize(n)}),y(i);let j=!1,M=async()=>{if(await A.refresh(),A.available().length>0){b.dropUnconfirmedSeeds();let t=A.available().map(e=>e.name),{pruneKnownSprinkleNames:n}=await e(async()=>{let{pruneKnownSprinkleNames:e}=await import(`./sprinkle-manager-LMSdR63e.js`);return{pruneKnownSprinkleNames:e}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));n(t),s(t)}await A.restoreOpenSprinkles().catch(e=>{v.warn(`WC shell: failed to restore open sprinkles`,e)}),j||(j=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CGmdkAbo.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([64,6,7,1,8,9,10,11,12,13,14,3,15,16,17,18,19,20,21,22,23,24,25,26,27,65,28])).then(({pickLucideIcon:e})=>x(b,A.available(),t=>e({subject:t}))).catch(()=>void 0).finally(()=>{j=!1}))};return M().catch(e=>v.warn(`WC shell: initial sprinkle resync failed`,e)),{manager:A,zone:b,resync:M}}async function x(e,t,n){let r=new Set(e.defaultIconNames()),i=o();for(let a of t){if(!r.has(a.name)||l(a.icon))continue;let t=i[a.name];if(t){e.updateDockIcon(a.name,t);continue}let o=await n(`"${a.title}" — a SLICC sprinkle panel (${a.name})`);o&&(c(a.name,o),e.updateDockIcon(a.name,o))}}export{f as CHAT_SURFACE_ID,_ as WcSprinkleZone,b as wireWcSprinkles};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-live-BEgauFg4.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-lxoAGWoo.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-_GHbVO2y.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/wc-shortcuts-B76JiuPn.js","assets/icons-BXcp4CBT.js","assets/sprinkle-renderer-C3YzieNR.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BsAiCAWF.js","assets/usb-device-registry-DmUBqrA-.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/slugify-BYJ6QVAt.js","assets/transcript-export-DP-r8eDz.js","assets/tray-runtime-config-BQL-GPqt.js","assets/bridge-protocol-06nbmp2X.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-BM_U535K.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-Dgm4REV3.js","assets/browser-DGwroBSO.js","assets/tray-leader-DaLUK8LB.js","assets/record-DOq72weu.js","assets/wc-shell-CzfjGWqF.js","assets/wc-shell-WkeczD9x.css","assets/wc-unit-context-Cl6J7YTp.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./transcript-export-DP-r8eDz.js";import{t as n}from"./export-spool-CuNzzI8a.js";async function r(e){let t=n(`local-${crypto.randomUUID()}`);try{let n=0;for await(let r of e.chunks)await t.append(r,n++);let r=await e.completion;return await t.finalize(n,r.byteLength,r.sha256)}catch(e){throw await t.cancel(),e}}async function i(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.setAttribute(`data-transcript-dl`,``),r.style.display=`none`,document.body.appendChild(r);try{r.click()}finally{r.remove(),URL.revokeObjectURL(n)}}function a(e){return e instanceof t?e.detail?`${e.code}: ${e.detail}`:e.code:e instanceof Error&&e.message?e.message:`unknown error`}function o(e){if(typeof document>`u`||!customElements.get(`slicc-dialog`))return;let t=document.createElement(`slicc-dialog`);t.setAttribute(`heading`,`Export failed`);let n=document.createElement(`p`);n.style.cssText=`margin:0;padding:0.25rem 0;font-size:0.9375rem;line-height:1.5;`,n.textContent=`No transcript was written — ${a(e)}.`,t.append(n);let r=document.createElement(`button`);r.setAttribute(`slot`,`footer`),r.type=`button`,r.dataset.transcriptExportAction=`close`,r.textContent=`Close`,r.addEventListener(`click`,()=>t.remove()),t.append(r),t.addEventListener(`slicc-dialog-close`,()=>t.remove()),document.body.appendChild(t),t.show?.()}async function s(t,n,r){let{getTranscriptExportService:i}=await e(async()=>{let{getTranscriptExportService:e}=await import(`./wc-live-BEgauFg4.js`).then(e=>e.z);return{getTranscriptExportService:e}},__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,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57])),a=i(),o=t.kind===`frozen`?{kind:`frozen`,sessionId:t.sessionId}:{kind:`active`};return a.export(o,{signal:n})}export{i as downloadTranscriptBlob,s as runTranscriptExportForFollower,o as showTranscriptExportFailure,r as transcriptZipToBlob};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-live-TppgvY0W.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-CEOiQheZ.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.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/logger-DDBAeTLF.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-CiijUcSt.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CDNZj56F.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/wc-shortcuts-Cofh5Gbv.js","assets/icons-BXcp4CBT.js","assets/sprinkle-renderer-BGx8hJZ_.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BsAiCAWF.js","assets/usb-device-registry-DmUBqrA-.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/slugify-BYJ6QVAt.js","assets/transcript-export-DP-r8eDz.js","assets/tray-runtime-config-BQL-GPqt.js","assets/bridge-protocol-06nbmp2X.js","assets/messages-BD4p8GuF.js","assets/telemetry-BWAgv6Hm.js","assets/feature-flags-DaSRRz0w.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-CmEbg5ii.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/permissions-surface-registry-CilCRwhh.js","assets/types-Dgm4REV3.js","assets/browser-DGwroBSO.js","assets/tray-leader-DaLUK8LB.js","assets/record-DOq72weu.js","assets/wc-shell-BFq7cCkV.js","assets/wc-shell-WkeczD9x.css","assets/wc-unit-context-Cl6J7YTp.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./transcript-export-DP-r8eDz.js";import{t as n}from"./export-spool-CuNzzI8a.js";async function r(e){let t=n(`local-${crypto.randomUUID()}`);try{let n=0;for await(let r of e.chunks)await t.append(r,n++);let r=await e.completion;return await t.finalize(n,r.byteLength,r.sha256)}catch(e){throw await t.cancel(),e}}async function i(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.setAttribute(`data-transcript-dl`,``),r.style.display=`none`,document.body.appendChild(r);try{r.click()}finally{r.remove(),URL.revokeObjectURL(n)}}function a(e){return e instanceof t?e.detail?`${e.code}: ${e.detail}`:e.code:e instanceof Error&&e.message?e.message:`unknown error`}function o(e){if(typeof document>`u`||!customElements.get(`slicc-dialog`))return;let t=document.createElement(`slicc-dialog`);t.setAttribute(`heading`,`Export failed`);let n=document.createElement(`p`);n.style.cssText=`margin:0;padding:0.25rem 0;font-size:0.9375rem;line-height:1.5;`,n.textContent=`No transcript was written — ${a(e)}.`,t.append(n);let r=document.createElement(`button`);r.setAttribute(`slot`,`footer`),r.type=`button`,r.dataset.transcriptExportAction=`close`,r.textContent=`Close`,r.addEventListener(`click`,()=>t.remove()),t.append(r),t.addEventListener(`slicc-dialog-close`,()=>t.remove()),document.body.appendChild(t),t.show?.()}async function s(t,n,r){let{getTranscriptExportService:i}=await e(async()=>{let{getTranscriptExportService:e}=await import(`./wc-live-TppgvY0W.js`).then(e=>e.z);return{getTranscriptExportService:e}},__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,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57])),a=i(),o=t.kind===`frozen`?{kind:`frozen`,sessionId:t.sessionId}:{kind:`active`};return a.export(o,{signal:n})}export{i as downloadTranscriptBlob,s as runTranscriptExportForFollower,o as showTranscriptExportFailure,r as transcriptZipToBlob};