sliccy 5.6.1 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/ui/assets/{account-store-CH2NbbAn.js → account-store-Dc1fxjXw.js} +2 -2
  2. package/dist/ui/assets/{account-store-jgOmpUmY.js → account-store-Dxwe8EsY.js} +2 -2
  3. package/dist/ui/assets/{adobe-D87aGrmN.js → adobe--oSW4CGI.js} +1 -1
  4. package/dist/ui/assets/{adobe-FikuLFoD.js → adobe-CLWBcgAB.js} +1 -1
  5. package/dist/ui/assets/{adobe-oauth-state-BdKaWsXN.js → adobe-oauth-state-BQvp5gzM.js} +1 -1
  6. package/dist/ui/assets/{agent-message-to-chat-Nwvddlmn.js → agent-message-to-chat-DJq4l5Os.js} +1 -1
  7. package/dist/ui/assets/{apps-CKJzTc73.js → apps-3JIOI11m.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-CvcNyzlv.js → azure-openai-B8O7vWcA.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-CwXRWIYs.js → azure-openai-OuC2Ep8f.js} +1 -1
  10. package/dist/ui/assets/{connect-surface-Bw8BgtBl.js → connect-surface-CQ4FskrY.js} +1 -1
  11. package/dist/ui/assets/dip-BFmzIJYT.js +1 -0
  12. package/dist/ui/assets/{dist-Bb7pIN53.js → dist-B-7ogmSb.js} +1 -1
  13. package/dist/ui/assets/{dist-CdQT8b8_.js → dist-DYZ5RYTi.js} +1 -1
  14. package/dist/ui/assets/{ensure-speech-assets-2_ZqVIo_.js → ensure-speech-assets-e2KUXG_d.js} +1 -1
  15. package/dist/ui/assets/esp8266-DDuafqfm.js +1 -0
  16. package/dist/ui/assets/{esptool-operations-BTYq-rsn.js → esptool-operations-piu4J4Nw.js} +2 -2
  17. package/dist/ui/assets/{fs-DxOD90dG.js → fs-B2aOzJSq.js} +2 -2
  18. package/dist/ui/assets/{fs-BuXDW00H.js → fs-DKB9QQ1D.js} +1 -1
  19. package/dist/ui/assets/{github-DqSDAKva.js → github-CMrNiTg9.js} +1 -1
  20. package/dist/ui/assets/{github-BAe6Phj-.js → github-DFAGIZc9.js} +2 -2
  21. package/dist/ui/assets/{github-copilot-CQ-12DTO.js → github-copilot-BPysGtiF.js} +1 -1
  22. package/dist/ui/assets/{github-copilot-C3qqS9kr.js → github-copilot-DiEwl4Za.js} +1 -1
  23. package/dist/ui/assets/{hear-Cd2vPPex.js → hear-0TLf-NV2.js} +1 -1
  24. package/dist/ui/assets/{kernel-worker-BB4ucwOb.js → kernel-worker-BHTQbRVg.js} +7254 -7256
  25. package/dist/ui/assets/{kokoro-engine-ZlcRyBtS.js → kokoro-engine-Dqxzr1p_.js} +1 -1
  26. package/dist/ui/assets/{lick-ws-bridge-D_xIMbwN.js → lick-ws-bridge-BBdxtLkF.js} +1 -1
  27. package/dist/ui/assets/{lick-ws-bridge-CkM45NV0.js → lick-ws-bridge-BWgHB8Mm.js} +1 -1
  28. package/dist/ui/assets/{local-llm-BM9SYhps.js → local-llm-B-wFy26p.js} +1 -1
  29. package/dist/ui/assets/{main-BTG0dDCp.js → main-Adg2tAFx.js} +4 -4
  30. package/dist/ui/assets/{mount-FFactNt1.js → mount-DEi0sp7Z.js} +2 -2
  31. package/dist/ui/assets/{mount-pa0dyUVA.js → mount-DPWetasY.js} +1 -1
  32. package/dist/ui/assets/{new-session-DYitAfPV.js → new-session-Cb6vBKth.js} +2 -2
  33. package/dist/ui/assets/{oauth-bootstrap-3rigSH-I.js → oauth-bootstrap-JRNDYo5M.js} +2 -2
  34. package/dist/ui/assets/{openai-codex-eBpSUyBo.js → openai-codex-BR2wnaLC.js} +1 -1
  35. package/dist/ui/assets/{openai-codex-BhH6kwre.js → openai-codex-C_J0ka68.js} +1 -1
  36. package/dist/ui/assets/{page-follower-tray-C1dk5xWh.js → page-follower-tray-B8PlRSgj.js} +1 -1
  37. package/dist/ui/assets/{panel-rpc-handlers-Dz9nQwqE.js → panel-rpc-handlers-DSix4MB0.js} +1 -1
  38. package/dist/ui/assets/{provider-CJFtXqVT.js → provider-BHB2jXSJ.js} +1 -1
  39. package/dist/ui/assets/{provider-D-I1IjO9.js → provider-CKTI8xj9.js} +2 -2
  40. package/dist/ui/assets/provider-store-access-BTGmOGN3.js +1 -0
  41. package/dist/ui/assets/provider-store-access-D3cxgK3U.js +1 -0
  42. package/dist/ui/assets/{providers-DGOqoXQd.js → providers-Bs-uFcFP.js} +1 -1
  43. package/dist/ui/assets/{quick-llm-pLpl_QRW.js → quick-llm-CycdqfYy.js} +1 -1
  44. package/dist/ui/assets/session-freezer-DfS-tJMu.js +1 -0
  45. package/dist/ui/assets/{speak-Bx861DrO.js → speak-BeDx_WsJ.js} +1 -1
  46. package/dist/ui/assets/{sprinkle-manager-Tq9NhPtG.js → sprinkle-manager-DFmzxkMb.js} +1 -1
  47. package/dist/ui/assets/{store-RQM1sI8r.js → store-n3jCQwXL.js} +1 -1
  48. package/dist/ui/assets/{sudo-Ds-J8BBd.js → sudo-QalJSmeJ.js} +1 -1
  49. package/dist/ui/assets/{transformers-env-DKTiQ4eu.js → transformers-env-D3a1ujzs.js} +1 -1
  50. package/dist/ui/assets/{tray-leader-PvMLzazb.js → tray-leader-vew7MfYo.js} +1 -1
  51. package/dist/ui/assets/{tray-leave-runtime-ClGPjCuC.js → tray-leave-runtime-D_Ie9yG4.js} +1 -1
  52. package/dist/ui/assets/{upgrade-detection-Dk2JMEq7.js → upgrade-detection-BVHP2OHZ.js} +1 -1
  53. package/dist/ui/assets/{wc-attach-BusISI-_.js → wc-attach-BSV3H-ll.js} +2 -2
  54. package/dist/ui/assets/{wc-detached-CAUPPnQI.js → wc-detached-Bp7JdDks.js} +1 -1
  55. package/dist/ui/assets/{wc-extension-CCFMnSzY.js → wc-extension-CvNRpyiG.js} +2 -2
  56. package/dist/ui/assets/wc-follower-CDeOFfip.js +2 -0
  57. package/dist/ui/assets/{wc-live-DBr_6xmS.js → wc-live-D6xN2jey.js} +5 -5
  58. package/dist/ui/assets/{wc-nav-tcMq6OwU.js → wc-nav-CQCfsGJ-.js} +2 -2
  59. package/dist/ui/assets/{wc-onboarding-C4gMQpTI.js → wc-onboarding-DCFNFuNq.js} +2 -2
  60. package/dist/ui/assets/{wc-placeholder-CyS91vA8.js → wc-placeholder-Cu71r8Mz.js} +3 -3
  61. package/dist/ui/assets/{wc-settings-CaLzstu3.js → wc-settings-CK450rVK.js} +2 -2
  62. package/dist/ui/assets/{wc-shell-wtCxfcP9.js → wc-shell-DE5Fham9.js} +20 -19
  63. package/dist/ui/assets/{wc-sprinkles-BwzM0r-w.js → wc-sprinkles-FwmHOcRi.js} +2 -2
  64. package/dist/ui/assets/{wc-tray-DGeCVBhc.js → wc-tray-BDjVLrgj.js} +2 -2
  65. package/dist/ui/assets/{whisper-engine-D4l8-orW.js → whisper-engine-BJYgChx7.js} +1 -1
  66. package/dist/ui/assets/{xai-grok-Bwubc853.js → xai-grok-DA2KaLdL.js} +1 -1
  67. package/dist/ui/assets/{xai-grok-DRw2vNtj.js → xai-grok-FXhgnguU.js} +1 -1
  68. package/dist/ui/electron-overlay-entry.js +84 -83
  69. package/dist/ui/index.html +2 -2
  70. package/dist/ui/packages/webapp/index.html +2 -2
  71. package/package.json +1 -1
  72. package/dist/ui/assets/dip-OVVHVqoi.js +0 -1
  73. package/dist/ui/assets/esp8266-923WHtTW.js +0 -1
  74. package/dist/ui/assets/provider-store-access-DJJR8bFo.js +0 -1
  75. package/dist/ui/assets/provider-store-access-m3GptYFh.js +0 -1
  76. package/dist/ui/assets/session-freezer-Zkp3ngu2.js +0 -1
  77. package/dist/ui/assets/wc-follower-o_W3RobI.js +0 -2
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-BTG0dDCp.js","assets/chunk-aKtaBQYM.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/preload-helper-zJ_50EbN.js","assets/account-store-jgOmpUmY.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-B5vr_AP8.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/panel-rpc-DqT2FG7c.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/clipboard-DgFtRQbq.js","assets/wc-settings-CaLzstu3.js","assets/wc-detached-CAUPPnQI.js","assets/legacy-styles-4PP74ISo.js","assets/sync-dialog-BFKWO6DT.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{n as t}from"./clipboard-DgFtRQbq.js";import{b as n,c as r,p as i,r as a}from"./main-BTG0dDCp.js";import{n as o}from"./tray-leader-PvMLzazb.js";function s(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 c(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}async function l(t){let{refs:n,client:i,log:l}=t,{getAllAvailableModels:h,getAccounts:g}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t}=await import(`./main-BTG0dDCp.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),_=()=>{n.composerMeta.models=c(h())};_();let v=null;await p(n,i,()=>{let e=v;v=null,e!=null&&n.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let y=typeof chrome<`u`&&!!chrome?.runtime?.id,b=()=>{let e=s(g()),t=n.avatarMenu.querySelector(`slicc-avatar`),r=n.inputCard.querySelector(`slicc-send-button`);e?(t?.removeAttribute(`initials`),t?.setAttribute(`name`,e.name),e.avatarUrl&&(t?.setAttribute(`src`,e.avatarUrl),r?.setAttribute(`src`,e.avatarUrl)),n.avatarMenu.user={name:e.name,provider:e.provider}):(t?.removeAttribute(`name`),t?.removeAttribute(`src`),t?.removeAttribute(`initials`),r?.removeAttribute(`src`),n.avatarMenu.user={name:`SLICC`,provider:y?`extension`:`standalone`})};b();let x=()=>{if(y)return[];let e=a(o(),r()),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},S=new URLSearchParams(window.location.search).has(`detached`),C=()=>y&&!S?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],w=()=>{n.avatarMenu.items=[{id:`settings`,label:`Account settings…`,icon:`settings`},...C(),...x()]};w(),n.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&w()});let T=e=>u(e,l),E=()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-CaLzstu3.js`);return{showWcSettings:e}},__vite__mapDeps([21,3])).then(({showWcSettings:e})=>e(l)).then(()=>{_(),b(),i.updateModel()}).catch(e=>l.error(`WC settings dialog failed`,e))};n.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n&&T(n)){w();return}if(n===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-CAUPPnQI.js`);return{requestDetachedPopout:e}},__vite__mapDeps([22,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])).then(({requestDetachedPopout:e})=>e()).catch(e=>l.error(`detached popout request failed`,e));return}n===`settings`&&E()}),n.composerMeta.addEventListener(`add-ai`,E),n.thread?.addEventListener(`slicc-error-open-settings`,E),d({refs:n,log:l,openSettings:E,setPendingReplayMessageId:e=>{v=e}}),await f({refs:n,log:l,openSettings:E,refreshModels:_,applyIdentity:b,client:i}),m({refreshModels:_,applyIdentity:b,client:i})}function u(r,a){if(r===`tray-enable`)return n({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:i}).then(e=>{if(!e)return a.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0;if(r===`tray-copy`){let n=o().session?.joinUrl;return n&&(t(n).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-4PP74ISo.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([23,3])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-BFKWO6DT.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([24,20,1]));t({joinUrl:n,copied:!0})}).catch(e=>a.error(`sync dialog failed`,e))),!0}return r===`tray-stop`?(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0):!1}function d(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 f(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-BTG0dDCp.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]));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 p(t,n,r){let{resolveModelById:i,resolveCurrentModel:a,setSelectedModelId:o}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-BTG0dDCp.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])),s=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},c=e=>{try{let n=e?i(s(e)):a();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};c(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail?.id;t&&(o(t),c(t),n.updateModel(),r?.())})}async function m(t){let{refreshModels:n,applyIdentity:r,client:i}=t,{getAccounts:a,getProviderConfig:o}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-BTG0dDCp.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]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i.updateModel();for(let e of a()){let t=o(e.providerId)?.refreshModels;t&&t().then(()=>{n(),i.updateModel()}).catch(()=>void 0)}})}export{l as wireWcNav};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-Adg2tAFx.js","assets/chunk-aKtaBQYM.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/preload-helper-zJ_50EbN.js","assets/account-store-Dxwe8EsY.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-B5vr_AP8.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/panel-rpc-DqT2FG7c.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/clipboard-DgFtRQbq.js","assets/wc-settings-CK450rVK.js","assets/wc-detached-Bp7JdDks.js","assets/legacy-styles-4PP74ISo.js","assets/sync-dialog-BFKWO6DT.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{n as t}from"./clipboard-DgFtRQbq.js";import{b as n,c as r,p as i,r as a}from"./main-Adg2tAFx.js";import{n as o}from"./tray-leader-vew7MfYo.js";function s(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 c(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}async function l(t){let{refs:n,client:i,log:l}=t,{getAllAvailableModels:h,getAccounts:g}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t}=await import(`./main-Adg2tAFx.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),_=()=>{n.composerMeta.models=c(h())};_();let v=null;await p(n,i,()=>{let e=v;v=null,e!=null&&n.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let y=typeof chrome<`u`&&!!chrome?.runtime?.id,b=()=>{let e=s(g()),t=n.avatarMenu.querySelector(`slicc-avatar`),r=n.inputCard.querySelector(`slicc-send-button`);e?(t?.removeAttribute(`initials`),t?.setAttribute(`name`,e.name),e.avatarUrl&&(t?.setAttribute(`src`,e.avatarUrl),r?.setAttribute(`src`,e.avatarUrl)),n.avatarMenu.user={name:e.name,provider:e.provider}):(t?.removeAttribute(`name`),t?.removeAttribute(`src`),t?.removeAttribute(`initials`),r?.removeAttribute(`src`),n.avatarMenu.user={name:`SLICC`,provider:y?`extension`:`standalone`})};b();let x=()=>{if(y)return[];let e=a(o(),r()),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},S=new URLSearchParams(window.location.search).has(`detached`),C=()=>y&&!S?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],w=()=>{n.avatarMenu.items=[{id:`settings`,label:`Account settings…`,icon:`settings`},...C(),...x()]};w(),n.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&w()});let T=e=>u(e,l),E=()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-CK450rVK.js`);return{showWcSettings:e}},__vite__mapDeps([21,3])).then(({showWcSettings:e})=>e(l)).then(()=>{_(),b(),i.updateModel()}).catch(e=>l.error(`WC settings dialog failed`,e))};n.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n&&T(n)){w();return}if(n===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-Bp7JdDks.js`);return{requestDetachedPopout:e}},__vite__mapDeps([22,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])).then(({requestDetachedPopout:e})=>e()).catch(e=>l.error(`detached popout request failed`,e));return}n===`settings`&&E()}),n.composerMeta.addEventListener(`add-ai`,E),n.thread?.addEventListener(`slicc-error-open-settings`,E),d({refs:n,log:l,openSettings:E,setPendingReplayMessageId:e=>{v=e}}),await f({refs:n,log:l,openSettings:E,refreshModels:_,applyIdentity:b,client:i}),m({refreshModels:_,applyIdentity:b,client:i})}function u(r,a){if(r===`tray-enable`)return n({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:i}).then(e=>{if(!e)return a.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0;if(r===`tray-copy`){let n=o().session?.joinUrl;return n&&(t(n).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-4PP74ISo.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([23,3])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-BFKWO6DT.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([24,20,1]));t({joinUrl:n,copied:!0})}).catch(e=>a.error(`sync dialog failed`,e))),!0}return r===`tray-stop`?(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0):!1}function d(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 f(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-Adg2tAFx.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]));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 p(t,n,r){let{resolveModelById:i,resolveCurrentModel:a,setSelectedModelId:o}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-Adg2tAFx.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])),s=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},c=e=>{try{let n=e?i(s(e)):a();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};c(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail?.id;t&&(o(t),c(t),n.updateModel(),r?.())})}async function m(t){let{refreshModels:n,applyIdentity:r,client:i}=t,{getAccounts:a,getProviderConfig:o}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-Adg2tAFx.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]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i.updateModel();for(let e of a()){let t=o(e.providerId)?.refreshModels;t&&t().then(()=>{n(),i.updateModel()}).catch(()=>void 0)}})}export{l as wireWcNav};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-w98EfZg7.js","assets/logger-DDBAeTLF.js","assets/welcome-detection-Cr8mNEkt.js","assets/chunk-aKtaBQYM.js","assets/oauth-service-ahaKd8Mt.js","assets/preload-helper-zJ_50EbN.js","assets/proxied-fetch-B5vr_AP8.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DqT2FG7c.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/main-BTG0dDCp.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-jgOmpUmY.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/clipboard-DgFtRQbq.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{v as t}from"./main-BTG0dDCp.js";import{t as n}from"./welcome-detection-Cr8mNEkt.js";import{l as r}from"./wc-live-DBr_6xmS.js";function i(e){let{vfs:r,storage:i,firedWelcomeActions:a,persistFiredWelcomeActions:o,getOrchestrator:s,log:c}=e;t(i)||n(r).then(e=>{if(e.isFirstRun){if(a.has(`first-run`)){c.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}a.add(`first-run`),o(a),s().handleFirstRun()}}).catch(e=>c.warn(`Welcome detection failed`,e))}function a(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 o(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 s(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 c(t){let{OnboardingOrchestrator:n}=await e(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-w98EfZg7.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2,3])),r=null;return{get:()=>r||(r=new n({fs:t.fs,postSystemMessage:t.postSystemMessage,postDipReference:t.postDipReference,getProviderCatalogue:()=>s(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 l(e,n??null,t)}),r),peek:()=>r,buildCatalogue:()=>s(t.providers)}}async function l(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-ahaKd8Mt.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([4,5,6,3,7,8,9,10])),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-ahaKd8Mt.js`);return{createOAuthLauncher:e}},__vite__mapDeps([4,5,6,3,7,8,9,10])),n=t();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:o(t,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var u=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),d=`slicc:welcome-flow-fired`;function f(){try{let e=typeof localStorage<`u`?localStorage.getItem(d):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 p(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(d,JSON.stringify([...e]))}catch{}}function m(e,t,n,r,i){if(u.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}u.has(e)&&(t.add(e),p(t)),n()}var h=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`]);function g(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:d,log:f}=e;return e=>{if(e.type!==`sprinkle`)return!1;let m=e.sprinkleName===`welcome`||e.sprinkleName===`inline`?e.body?.action:void 0;if(m&&u.has(m)){if(t.has(m))return f.debug(`Suppressing duplicate welcome lick (${l})`,{action:m}),!0;t.add(m),p(t)}if(!m||!h.has(m))return!1;let g=e.body;return S(m,g,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:d,log:f})}}function _(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function v(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 y(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:_(n,`baseUrl`),deployment:_(n,`deployment`),apiVersion:_(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function b(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:_(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var x={"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":v,"connect-ready":(e,t)=>C(t),"connect-attempt":y,"oauth-attempt":b,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0)};function S(e,t,n){return x[e]?.(t,n)??!1}function C(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),w(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function w(t,n,r){let{hasOnboardingFinalLickInHistory:i}=await e(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-Cr8mNEkt.js`).then(e=>e.r);return{hasOnboardingFinalLickInHistory:e}},__vite__mapDeps([2,3,1]));if(await i())return;let a=t?await T(t):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await e(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-BTG0dDCp.js`).then(e=>e.t);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([11,3,12,5,13,14,15,16,17,18,1,7,6,8,19,20,9,21,22,23,24])),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 T(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 E(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 D(t){let{client:n,getController:o,openVfs:s,log:l}=t,u=await e(()=>import(`./main-BTG0dDCp.js`).then(e=>e.t),__vite__mapDeps([11,3,12,5,13,14,15,16,17,18,1,7,6,8,19,20,9,21,22,23,24])),{createSprinkleDeviceCodePrompter:d,resolveDeviceCodeDecision:h}=await e(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),_=E(await s()),v=f(),y=e=>{let t=o();t?t.addAssistantMessage(e):l.warn(`WC onboarding: no controller to post welcome line`)},b=await c({fs:_,log:l,providers:u,deviceCode:{createSprinkleDeviceCodePrompter:d},postSystemMessage:y,postDipReference:y,broadcastToDip:e=>r(e),onFireFinalLick:e=>{a(n),m(String(e?.action??``),v,()=>n.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,l)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){l.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),x=g({firedWelcomeActions:v,getAccounts:u.getAccounts,getProviderConfig:u.getProviderConfig,resolveDeviceCodeDecision:h,getOnboardingOrchestrator:()=>b.get(),fastForward:{fire:e=>{m(String(e.action??``),v,()=>n.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,l)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return u.getProviderConfig(e)?.name??null}catch{return null}})();r({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{_.writeFile(`/shared/.welcomed`,`1`).catch(e=>l.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:_,log:l});return i({vfs:_,storage:window.localStorage,firedWelcomeActions:v,persistFiredWelcomeActions:p,getOrchestrator:()=>b.get(),log:l}),{interceptWelcomeLick:x}}export{D as wireWcOnboarding};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-w98EfZg7.js","assets/logger-DDBAeTLF.js","assets/welcome-detection-Cr8mNEkt.js","assets/chunk-aKtaBQYM.js","assets/oauth-service-ahaKd8Mt.js","assets/preload-helper-zJ_50EbN.js","assets/proxied-fetch-B5vr_AP8.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DqT2FG7c.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/main-Adg2tAFx.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-Dxwe8EsY.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/clipboard-DgFtRQbq.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{v as t}from"./main-Adg2tAFx.js";import{t as n}from"./welcome-detection-Cr8mNEkt.js";import{l as r}from"./wc-live-D6xN2jey.js";function i(e){let{vfs:r,storage:i,firedWelcomeActions:a,persistFiredWelcomeActions:o,getOrchestrator:s,log:c}=e;t(i)||n(r).then(e=>{if(e.isFirstRun){if(a.has(`first-run`)){c.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}a.add(`first-run`),o(a),s().handleFirstRun()}}).catch(e=>c.warn(`Welcome detection failed`,e))}function a(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 o(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 s(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 c(t){let{OnboardingOrchestrator:n}=await e(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-w98EfZg7.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2,3])),r=null;return{get:()=>r||(r=new n({fs:t.fs,postSystemMessage:t.postSystemMessage,postDipReference:t.postDipReference,getProviderCatalogue:()=>s(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 l(e,n??null,t)}),r),peek:()=>r,buildCatalogue:()=>s(t.providers)}}async function l(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-ahaKd8Mt.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([4,5,6,3,7,8,9,10])),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-ahaKd8Mt.js`);return{createOAuthLauncher:e}},__vite__mapDeps([4,5,6,3,7,8,9,10])),n=t();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:o(t,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var u=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),d=`slicc:welcome-flow-fired`;function f(){try{let e=typeof localStorage<`u`?localStorage.getItem(d):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 p(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(d,JSON.stringify([...e]))}catch{}}function m(e,t,n,r,i){if(u.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}u.has(e)&&(t.add(e),p(t)),n()}var h=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`]);function g(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:d,log:f}=e;return e=>{if(e.type!==`sprinkle`)return!1;let m=e.sprinkleName===`welcome`||e.sprinkleName===`inline`?e.body?.action:void 0;if(m&&u.has(m)){if(t.has(m))return f.debug(`Suppressing duplicate welcome lick (${l})`,{action:m}),!0;t.add(m),p(t)}if(!m||!h.has(m))return!1;let g=e.body;return S(m,g,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:d,log:f})}}function _(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function v(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 y(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:_(n,`baseUrl`),deployment:_(n,`deployment`),apiVersion:_(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function b(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:_(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var x={"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":v,"connect-ready":(e,t)=>C(t),"connect-attempt":y,"oauth-attempt":b,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0)};function S(e,t,n){return x[e]?.(t,n)??!1}function C(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),w(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function w(t,n,r){let{hasOnboardingFinalLickInHistory:i}=await e(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-Cr8mNEkt.js`).then(e=>e.r);return{hasOnboardingFinalLickInHistory:e}},__vite__mapDeps([2,3,1]));if(await i())return;let a=t?await T(t):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await e(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-Adg2tAFx.js`).then(e=>e.t);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([11,3,12,5,13,14,15,16,17,18,1,7,6,8,19,20,9,21,22,23,24])),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 T(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 E(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 D(t){let{client:n,getController:o,openVfs:s,log:l}=t,u=await e(()=>import(`./main-Adg2tAFx.js`).then(e=>e.t),__vite__mapDeps([11,3,12,5,13,14,15,16,17,18,1,7,6,8,19,20,9,21,22,23,24])),{createSprinkleDeviceCodePrompter:d,resolveDeviceCodeDecision:h}=await e(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),_=E(await s()),v=f(),y=e=>{let t=o();t?t.addAssistantMessage(e):l.warn(`WC onboarding: no controller to post welcome line`)},b=await c({fs:_,log:l,providers:u,deviceCode:{createSprinkleDeviceCodePrompter:d},postSystemMessage:y,postDipReference:y,broadcastToDip:e=>r(e),onFireFinalLick:e=>{a(n),m(String(e?.action??``),v,()=>n.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,l)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){l.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),x=g({firedWelcomeActions:v,getAccounts:u.getAccounts,getProviderConfig:u.getProviderConfig,resolveDeviceCodeDecision:h,getOnboardingOrchestrator:()=>b.get(),fastForward:{fire:e=>{m(String(e.action??``),v,()=>n.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,l)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return u.getProviderConfig(e)?.name??null}catch{return null}})();r({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{_.writeFile(`/shared/.welcomed`,`1`).catch(e=>l.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:_,log:l});return i({vfs:_,storage:window.localStorage,firedWelcomeActions:v,persistFiredWelcomeActions:p,getOrchestrator:()=>b.get(),log:l}),{interceptWelcomeLick:x}}export{D as wireWcOnboarding};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-pLpl_QRW.js","assets/chunk-aKtaBQYM.js","assets/account-store-jgOmpUmY.js","assets/preload-helper-zJ_50EbN.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-B5vr_AP8.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/panel-rpc-DqT2FG7c.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/icons-BU6llBsN.js","assets/llm-session-id-DVmZ9C2t.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{b as t}from"./wc-shell-wtCxfcP9.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-CycdqfYy.js","assets/chunk-aKtaBQYM.js","assets/account-store-Dxwe8EsY.js","assets/preload-helper-zJ_50EbN.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-B5vr_AP8.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/panel-rpc-DqT2FG7c.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/icons-BU6llBsN.js","assets/llm-session-id-DVmZ9C2t.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{b as t}from"./wc-shell-DE5Fham9.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-pLpl_QRW.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]))).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-CycdqfYy.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]))).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,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-ahaKd8Mt.js","assets/preload-helper-zJ_50EbN.js","assets/proxied-fetch-B5vr_AP8.js","assets/chunk-aKtaBQYM.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DqT2FG7c.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/main-BTG0dDCp.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-jgOmpUmY.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/clipboard-DgFtRQbq.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-ahaKd8Mt.js","assets/preload-helper-zJ_50EbN.js","assets/proxied-fetch-B5vr_AP8.js","assets/chunk-aKtaBQYM.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DqT2FG7c.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/main-Adg2tAFx.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-Dxwe8EsY.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/clipboard-DgFtRQbq.js"])))=>i.map(i=>d[i]);
2
2
  import{t as e}from"./preload-helper-zJ_50EbN.js";var t=`slicc-wc-settings-style`,n=`
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. */
@@ -21,4 +21,4 @@ slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
21
21
  .wcset__select:focus,.wcset__input:focus{border-color:var(--ctx);}
22
22
  .wcset__status{font-size:11.5px;color:var(--txt-3);min-height:14px;}
23
23
  .wcset__status[data-error]{color:#b91c1c;}
24
- `;function r(e){if(e.getElementById(t))return;let r=e.createElement(`style`);r.id=t,r.textContent=n,e.head.appendChild(r)}function i(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function a(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function o(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function s(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:o(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function c(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-ahaKd8Mt.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),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-ahaKd8Mt.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7]));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 l(e,t,n){let{ps:r,log:o,setStatus:l,renderList:u}=n,d=i(`wcset__row`),f=i(`wcset__info`);if(f.append(i(`wcset__name`,t.name),i(`wcset__detail`,s(e))),d.append(f),t.isOAuth){let t=e.loggedOut===!0;d.append(a(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?c(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(u).catch(t=>{o.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),l(`Logout failed.`,!0)})}))}return d.append(a(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(u).catch(t=>{o.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),l(`Remove failed.`,!0)})})),d}function u(e){let{ps:t,setStatus:n}=e,r=i(`wcset__add`);r.append(i(`wcset__label`,`Add account`));let o=document.createElement(`select`);o.className=`wcset__select`;let s=document.createElement(`option`);s.value=``,s.textContent=`Choose a provider…`,o.append(s);let l=new Set(t.getAccounts().map(e=>e.providerId)),u=t.getAvailableProviders().filter(e=>!l.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of u){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,o.append(n)}r.append(o);let d=i(`wcset__controls`);return d.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(d),o.addEventListener(`change`,()=>{d.replaceChildren(),n(``);let r=o.value;if(!r)return;let i=t.getProviderConfig(r),s=document.createElement(`input`);if(s.className=`wcset__input`,s.placeholder=i.baseUrlPlaceholder??`Base URL`,s.value=t.getBaseUrlForProvider(r)??``,i.requiresBaseUrl&&d.append(s),i.isOAuth){d.append(a(`wcset__btn wcset__btn--primary`,`Login with ${i.name}`,()=>{c(r,s.value,e)}));return}let l=document.createElement(`input`);l.className=`wcset__input`,l.placeholder=i.deploymentPlaceholder??`Model IDs (comma-separated)`,l.value=t.getDeploymentForProvider(r)??``,i.requiresDeployment&&d.append(l);let u=document.createElement(`input`);u.className=`wcset__input`,u.type=`password`,u.placeholder=i.apiKeyPlaceholder??`API key`,u.setAttribute(`data-testid`,`wcset-api-key`),(i.requiresApiKey||i.optionalApiKey)&&d.append(u),d.append(a(`wcset__btn wcset__btn--primary`,`Save`,()=>{let a=u.value.trim();if(i.requiresApiKey&&!a){n(`An API key is required.`,!0),u.focus();return}if(i.requiresBaseUrl&&!s.value.trim()){n(`Base URL is required.`,!0),s.focus();return}if(i.requiresDeployment&&!l.value.trim()){n(`Model IDs are required.`,!0),l.focus();return}t.addAccount(r,a,s.value.trim()||void 0,l.value.trim()||void 0),u.value=``,n(`${i.name} connected.`),e.renderList()}))}),r}async function d(t){let n=await e(()=>import(`./main-BTG0dDCp.js`).then(e=>e.t),__vite__mapDeps([8,3,9,1,10,11,12,13,14,15,16,4,2,5,17,18,6,19,20,21,22]));r(document);let o=JSON.stringify(n.getAccounts());return new Promise(e=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Accounts`);let s=i(`wcset`),c=i(`wcset__list`),d=i(`wcset__status`),f=(e,t=!1)=>{d.textContent=e,d.toggleAttribute(`data-error`,t)},p=o,m=()=>{let e=JSON.stringify(n.getAccounts());e!==p&&(p=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},h=i(``),g={ps:n,log:t,setStatus:f,renderList:()=>{m(),c.replaceChildren();let e=n.getAccounts();if(e.length===0)c.append(i(`wcset__empty`,`No accounts configured.`));else for(let t of e)c.append(l(t,n.getProviderConfig(t.providerId),g));h.replaceChildren(u(g))}};g.renderList(),s.append(c,h,d),r.append(s);let _=a(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});_.setAttribute(`slot`,`footer`),r.append(_),r.addEventListener(`slicc-dialog-close`,()=>{r.remove(),e(JSON.stringify(n.getAccounts())!==o)}),document.body.append(r),r.show?.()})}export{d as showWcSettings};
24
+ `;function r(e){if(e.getElementById(t))return;let r=e.createElement(`style`);r.id=t,r.textContent=n,e.head.appendChild(r)}function i(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function a(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function o(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function s(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:o(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function c(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-ahaKd8Mt.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),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-ahaKd8Mt.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7]));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 l(e,t,n){let{ps:r,log:o,setStatus:l,renderList:u}=n,d=i(`wcset__row`),f=i(`wcset__info`);if(f.append(i(`wcset__name`,t.name),i(`wcset__detail`,s(e))),d.append(f),t.isOAuth){let t=e.loggedOut===!0;d.append(a(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?c(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(u).catch(t=>{o.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),l(`Logout failed.`,!0)})}))}return d.append(a(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(u).catch(t=>{o.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),l(`Remove failed.`,!0)})})),d}function u(e){let{ps:t,setStatus:n}=e,r=i(`wcset__add`);r.append(i(`wcset__label`,`Add account`));let o=document.createElement(`select`);o.className=`wcset__select`;let s=document.createElement(`option`);s.value=``,s.textContent=`Choose a provider…`,o.append(s);let l=new Set(t.getAccounts().map(e=>e.providerId)),u=t.getAvailableProviders().filter(e=>!l.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of u){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,o.append(n)}r.append(o);let d=i(`wcset__controls`);return d.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(d),o.addEventListener(`change`,()=>{d.replaceChildren(),n(``);let r=o.value;if(!r)return;let i=t.getProviderConfig(r),s=document.createElement(`input`);if(s.className=`wcset__input`,s.placeholder=i.baseUrlPlaceholder??`Base URL`,s.value=t.getBaseUrlForProvider(r)??``,i.requiresBaseUrl&&d.append(s),i.isOAuth){d.append(a(`wcset__btn wcset__btn--primary`,`Login with ${i.name}`,()=>{c(r,s.value,e)}));return}let l=document.createElement(`input`);l.className=`wcset__input`,l.placeholder=i.deploymentPlaceholder??`Model IDs (comma-separated)`,l.value=t.getDeploymentForProvider(r)??``,i.requiresDeployment&&d.append(l);let u=document.createElement(`input`);u.className=`wcset__input`,u.type=`password`,u.placeholder=i.apiKeyPlaceholder??`API key`,u.setAttribute(`data-testid`,`wcset-api-key`),(i.requiresApiKey||i.optionalApiKey)&&d.append(u),d.append(a(`wcset__btn wcset__btn--primary`,`Save`,()=>{let a=u.value.trim();if(i.requiresApiKey&&!a){n(`An API key is required.`,!0),u.focus();return}if(i.requiresBaseUrl&&!s.value.trim()){n(`Base URL is required.`,!0),s.focus();return}if(i.requiresDeployment&&!l.value.trim()){n(`Model IDs are required.`,!0),l.focus();return}t.addAccount(r,a,s.value.trim()||void 0,l.value.trim()||void 0),u.value=``,n(`${i.name} connected.`),e.renderList()}))}),r}async function d(t){let n=await e(()=>import(`./main-Adg2tAFx.js`).then(e=>e.t),__vite__mapDeps([8,3,9,1,10,11,12,13,14,15,16,4,2,5,17,18,6,19,20,21,22]));r(document);let o=JSON.stringify(n.getAccounts());return new Promise(e=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Accounts`);let s=i(`wcset`),c=i(`wcset__list`),d=i(`wcset__status`),f=(e,t=!1)=>{d.textContent=e,d.toggleAttribute(`data-error`,t)},p=o,m=()=>{let e=JSON.stringify(n.getAccounts());e!==p&&(p=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},h=i(``),g={ps:n,log:t,setStatus:f,renderList:()=>{m(),c.replaceChildren();let e=n.getAccounts();if(e.length===0)c.append(i(`wcset__empty`,`No accounts configured.`));else for(let t of e)c.append(l(t,n.getProviderConfig(t.providerId),g));h.replaceChildren(u(g))}};g.renderList(),s.append(c,h,d),r.append(s);let _=a(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});_.setAttribute(`slot`,`footer`),r.append(_),r.addEventListener(`slicc-dialog-close`,()=>{r.remove(),e(JSON.stringify(n.getAccounts())!==o)}),document.body.append(r),r.show?.()})}export{d as showWcSettings};