sliccy 5.29.4 → 5.29.6

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 (83) hide show
  1. package/dist/ui/assets/{account-store-D4VPSOZh.js → account-store-Bu5ljYss.js} +1 -1
  2. package/dist/ui/assets/{account-store-VpQvyu1p.js → account-store-DEsArzGl.js} +2 -2
  3. package/dist/ui/assets/{adobe-wV64hSzE.js → adobe-BqsDg6Cy.js} +1 -1
  4. package/dist/ui/assets/{adobe-CrQDf60l.js → adobe-DRKyOCC6.js} +1 -1
  5. package/dist/ui/assets/{adobe-oauth-state-Lb_JvwyB.js → adobe-oauth-state-BFUgKuRa.js} +1 -1
  6. package/dist/ui/assets/{agent-message-to-chat-CMRDw7bs.js → agent-message-to-chat-D68DzRjd.js} +1 -1
  7. package/dist/ui/assets/{apps-CQ4XhYtC.js → apps-CWr2BYSy.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-CiQGm0QY.js → azure-openai-UPQHa8Li.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-CQfo8rRO.js → azure-openai-UdyB_ZyI.js} +1 -1
  10. package/dist/ui/assets/{cerebras-BENM2dyC.js → cerebras-DXj5EoBh.js} +1 -1
  11. package/dist/ui/assets/{cerebras-C9eHh-1F.js → cerebras-DaUWBKgC.js} +1 -1
  12. package/dist/ui/assets/{connect-surface-qjZ2FMfY.js → connect-surface-BmpmvkhF.js} +1 -1
  13. package/dist/ui/assets/dialog-Dk5NB8fi.css +1 -0
  14. package/dist/ui/assets/dip-C9ThQEer.js +1 -0
  15. package/dist/ui/assets/{dist-CnzHTw9v.js → dist-CMuKibZa.js} +1 -1
  16. package/dist/ui/assets/{dist-1TyX2c44.js → dist-DkroiWss.js} +1 -1
  17. package/dist/ui/assets/{ensure-speech-assets-DaeIAQfC.js → ensure-speech-assets-Dptn65YB.js} +1 -1
  18. package/dist/ui/assets/esp8266-B2AYXK24.js +1 -0
  19. package/dist/ui/assets/{esptool-operations-Cu6VuGRF.js → esptool-operations-bCa0mCcG.js} +2 -2
  20. package/dist/ui/assets/{fs-OaP73ltC.js → fs--_upV_U7.js} +2 -2
  21. package/dist/ui/assets/{fs-DQkvQxLZ.js → fs-CBpCKI5r.js} +1 -1
  22. package/dist/ui/assets/{github-ChNzgKRA.js → github-CGmUbc2v.js} +1 -1
  23. package/dist/ui/assets/{github-wdfcKJD0.js → github-Dkn78JF5.js} +2 -2
  24. package/dist/ui/assets/{github-copilot-EgYYz7oV.js → github-copilot-BkyuuCBU.js} +1 -1
  25. package/dist/ui/assets/{github-copilot-HtFFZDRW.js → github-copilot-D17I3ZKc.js} +1 -1
  26. package/dist/ui/assets/{hear-DuYXld7l.js → hear-DGVQzABs.js} +1 -1
  27. package/dist/ui/assets/{kernel-worker-BWyneFfa.js → kernel-worker-BdGtIGLb.js} +18 -18
  28. package/dist/ui/assets/{kokoro-engine-Bm8eIOW-.js → kokoro-engine-DLM6_rLC.js} +1 -1
  29. package/dist/ui/assets/{legacy-styles-CF6h7ytf.js → legacy-styles-CuB1P3LZ.js} +1 -1
  30. package/dist/ui/assets/{lick-ws-bridge-NAIC4TXa.js → lick-ws-bridge-BWmCiOAI.js} +1 -1
  31. package/dist/ui/assets/{lick-ws-bridge-CmOpOEQD.js → lick-ws-bridge-B_02JAC_.js} +1 -1
  32. package/dist/ui/assets/{local-llm-BgoR8fjn.js → local-llm-B2GPTM7K.js} +1 -1
  33. package/dist/ui/assets/{main-B8BQYvi-.js → main-BZD1yR6G.js} +4 -4
  34. package/dist/ui/assets/{mount-BbFL5MYZ.js → mount-BaYNkpZw.js} +1 -1
  35. package/dist/ui/assets/{mount-DlA63DrP.js → mount-C2lk3YAP.js} +2 -2
  36. package/dist/ui/assets/{new-session-CZfgFwDC.js → new-session-CIhwlqgm.js} +2 -2
  37. package/dist/ui/assets/{oauth-bootstrap-2veX7GNG.js → oauth-bootstrap-BngDQ0uw.js} +2 -2
  38. package/dist/ui/assets/{openai-codex-DCiGBxcR.js → openai-codex-CO5fvxJB.js} +1 -1
  39. package/dist/ui/assets/{openai-codex-CF9OcH8y.js → openai-codex-E_5210yw.js} +1 -1
  40. package/dist/ui/assets/{page-follower-tray-WVE2qN_F.js → page-follower-tray-D1DcEOnN.js} +1 -1
  41. package/dist/ui/assets/{panel-rpc-handlers-CNZbJjzK.js → panel-rpc-handlers-YEVJgq-Z.js} +2 -2
  42. package/dist/ui/assets/{provider-BSJWO4cD.js → provider-Cx6oGDaH.js} +2 -2
  43. package/dist/ui/assets/{provider-CdzO8rlB.js → provider-DfvZs9II.js} +1 -1
  44. package/dist/ui/assets/provider-store-access-BIOAmBGb.js +1 -0
  45. package/dist/ui/assets/provider-store-access-DDSYNfbW.js +1 -0
  46. package/dist/ui/assets/{providers-DukNl5RZ.js → providers-BBxlkWE4.js} +2 -2
  47. package/dist/ui/assets/{providers-BXaY5J0E.js → providers-BZhHIFg0.js} +1 -1
  48. package/dist/ui/assets/{quick-llm-DugUbqXs.js → quick-llm-SrUvWlQL.js} +1 -1
  49. package/dist/ui/assets/session-freezer-gSz0mPiW.js +1 -0
  50. package/dist/ui/assets/{speak-CEPJy7PQ.js → speak-pzPxTGme.js} +1 -1
  51. package/dist/ui/assets/{sprinkle-manager-BaM7BWWg.js → sprinkle-manager-BJl27Tzb.js} +1 -1
  52. package/dist/ui/assets/sprinkle-renderer-CR39pmoz.js +192 -0
  53. package/dist/ui/assets/{store-_QG0EqLZ.js → store-zX0NOf7_.js} +1 -1
  54. package/dist/ui/assets/{sudo-CbM-xH4s.js → sudo-DhYYIx_B.js} +1 -1
  55. package/dist/ui/assets/{transformers-env-By7HyBRw.js → transformers-env-BLN55aPP.js} +1 -1
  56. package/dist/ui/assets/{tray-leader-JDSZRBe-.js → tray-leader-G0KMHsg0.js} +1 -1
  57. package/dist/ui/assets/{tray-leave-runtime-CUEC2s79.js → tray-leave-runtime-BQQJXben.js} +1 -1
  58. package/dist/ui/assets/{upgrade-detection-C2pqxEvT.js → upgrade-detection-CZFt06Im.js} +1 -1
  59. package/dist/ui/assets/{voice-reply-C3JNppH1.js → voice-reply-BRGIoGzh.js} +1 -1
  60. package/dist/ui/assets/{wc-attach-CmziQAkQ.js → wc-attach-DNO7iG8W.js} +2 -2
  61. package/dist/ui/assets/{wc-extension-DPZifef9.js → wc-extension-RuJWbaRx.js} +2 -2
  62. package/dist/ui/assets/{wc-follower-CkxAS8sj.js → wc-follower-COrvTmMD.js} +3 -3
  63. package/dist/ui/assets/{wc-live-Bkjczn8x.js → wc-live-CxkQzku9.js} +7 -7
  64. package/dist/ui/assets/{wc-nav-C82YIWHr.js → wc-nav-DhAPutCa.js} +2 -2
  65. package/dist/ui/assets/{wc-onboarding-DBuOe-4Z.js → wc-onboarding-4zmaOgF7.js} +2 -2
  66. package/dist/ui/assets/{wc-placeholder-DwXu4by3.js → wc-placeholder-DCOTxmJU.js} +3 -3
  67. package/dist/ui/assets/{wc-settings-DjxFnySy.js → wc-settings-ZQp5gK1o.js} +2 -2
  68. package/dist/ui/assets/{wc-shell-F4c_qK1k.js → wc-shell-CknN8aLi.js} +3 -3
  69. package/dist/ui/assets/{wc-sprinkles-7cEAdNxM.js → wc-sprinkles-BNucIG8d.js} +2 -2
  70. package/dist/ui/assets/{wc-tray-Bx75xP9b.js → wc-tray-DBqj4dPt.js} +2 -2
  71. package/dist/ui/assets/{whisper-engine-CDmwra_0.js → whisper-engine-COnODX5X.js} +1 -1
  72. package/dist/ui/assets/{xai-grok-Cl1-gLNY.js → xai-grok-DaihEjGG.js} +1 -1
  73. package/dist/ui/assets/{xai-grok-B1aUHswl.js → xai-grok-VfSb4aSC.js} +1 -1
  74. package/dist/ui/index.html +3 -3
  75. package/dist/ui/packages/webapp/index.html +3 -3
  76. package/package.json +1 -1
  77. package/dist/ui/assets/dialog-DnPdZfH5.css +0 -1
  78. package/dist/ui/assets/dip-BgbJ3HkB.js +0 -1
  79. package/dist/ui/assets/esp8266-CDOU0Qhl.js +0 -1
  80. package/dist/ui/assets/provider-store-access-DY2cvTIj.js +0 -1
  81. package/dist/ui/assets/provider-store-access-DjSbII6f.js +0 -1
  82. package/dist/ui/assets/session-freezer-1vroog1g.js +0 -1
  83. package/dist/ui/assets/sprinkle-renderer-gM4_fsfp.js +0 -192
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-Cw_D7c_n.js","assets/rolldown-runtime-aKtaBQYM.js","assets/logger-DDBAeTLF.js","assets/picker-popup-CpulHQsi.js","assets/usb-picker-SsbXAvwt.js","assets/serial-picker-1VVNQI8D.js","assets/hid-picker-CE6gGmQt.js","assets/usb-device-registry-k6vTKonT.js","assets/serial-port-registry-DsPZvGpT.js","assets/hid-device-registry-6w-g8ZpF.js","assets/quick-llm-DugUbqXs.js","assets/dist-D69OmKNn.js","assets/preload-helper-CZgWQFsJ.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/account-store-D4VPSOZh.js","assets/context-compaction-DvlXtgVG.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-Bht31_rT.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DukNl5RZ.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/main-B8BQYvi-.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/new-session-CZfgFwDC.js","assets/session-store-DAM8GRJ0.js","assets/wc-shell-F4c_qK1k.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/remote-vfs-client-Z2qM01yP.js","assets/types-idfTVsM8.js","assets/writable-vfs-client-BKZGifKZ.js","assets/wc-onboarding-DBuOe-4Z.js","assets/welcome-detection-CQY88hjL.js","assets/legacy-styles-CF6h7ytf.js","assets/theme-Bgsl5v2i.js","assets/theme-engine-DqVfCCym.js","assets/soundscape-TvriK11t.js","assets/voice-reply-C3JNppH1.js","assets/speak-DU69S7oq.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-DcPrWXZ_.js","assets/shared-CrHp2zdc.js","assets/mime-types-ugOWOUZ9.js","assets/wc-placeholder-DwXu4by3.js","assets/wc-attach-CmziQAkQ.js","assets/wc-permissions-registry-Blyunq37.js","assets/remote-terminal-view-e7H-FPmf.js","assets/picker-approval-Dc390nC7.js","assets/browser-2wdq8OwU.js","assets/terminal-session-client-CbAduNfC.js","assets/secret-env-C-5TIS7_.js","assets/wc-permissions-BEqQSC-7.js","assets/wc-permissions-providers-Cdznv6xX.js","assets/tray-leader-JDSZRBe-.js","assets/mount-table-store-CfQUN_2R.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-7cEAdNxM.js","assets/wc-tray-Bx75xP9b.js","assets/remote-cdp-transport-DTCu2BgA.js","assets/page-follower-tray-WVE2qN_F.js","assets/sprinkle-renderer-gM4_fsfp.js","assets/wc-nav-C82YIWHr.js","assets/composer-speech-DGdt7VJq.js","assets/whisper-session-B4a9LHkF.js","assets/wc-float-label-bfJhTEza.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./dist-D69OmKNn.js";import{t}from"./preload-helper-CZgWQFsJ.js";import{F as n,I as r}from"./account-store-D4VPSOZh.js";import{i,n as a,r as o,t as s}from"./context-compaction-DvlXtgVG.js";import{t as c}from"./logger-DDBAeTLF.js";import{i as l,r as u}from"./src-x0cJ68Fe.js";import{t as d}from"./tool-ui-DfXu6quJ.js";import{C as f,a as p,c as m,g as h,i as g,l as _,m as ee,u as te}from"./main-B8BQYvi-.js";import{t as ne}from"./wc-permissions-registry-Blyunq37.js";import{n as v,r as re}from"./hid-device-registry-6w-g8ZpF.js";import{a as ie,i as ae}from"./serial-port-registry-DsPZvGpT.js";import{C as oe,D as se,E as ce,S as le,_ as ue,a as de,g as fe,h as pe,k as me,l as he,m as ge,n as _e,o as ve,s as ye,w as be,x as xe,y as Se}from"./usb-operations-D-YdmmuG.js";import{i as Ce,r as we}from"./usb-device-registry-k6vTKonT.js";import{t as Te}from"./icons-C5g936Qd.js";import{r as Ee}from"./tray-leader-JDSZRBe-.js";import{n as De}from"./shared-CrHp2zdc.js";import{_ as Oe,b as ke,c as Ae,d as y,g as je,h as Me,i as Ne,l as Pe,m as Fe,n as Ie,o as Le,p as Re,r as ze,s as Be,t as Ve,u as He}from"./wc-shell-F4c_qK1k.js";import{n as Ue}from"./sprinkle-bridge-DL0PzEfD.js";import{a as We,n as Ge,r as b}from"./theme-Bgsl5v2i.js";import{n as Ke}from"./sprinkle-renderer-gM4_fsfp.js";var qe=typeof chrome<`u`&&!!chrome?.runtime?.id;async function x(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await C(e,!0,t);if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);if(n===null)throw Error(`VFS read failed: ${e}`);return typeof n==`string`?n:new TextDecoder().decode(n)}var S=null;function Je(){if(S)return S;if(typeof BroadcastChannel>`u`)return null;try{S=new BroadcastChannel(`preview-vfs`)}catch{return null}return S}async function C(e,t,n){let r=Je();if(!r)return null;let i=`dip-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise(a=>{let o=!1,s=()=>{r.removeEventListener(`message`,c),n?.removeEventListener(`abort`,l)},c=e=>{if(!o&&!(e.data?.type!==`preview-vfs-response`||e.data.id!==i)){if(o=!0,s(),e.data.error){a(null);return}a(e.data.content??null)}},l=()=>{o||(o=!0,s(),a(null))};r.addEventListener(`message`,c),n?.addEventListener(`abort`,l),setTimeout(()=>{o||(o=!0,s(),a(null))},5e3),r.postMessage({type:`preview-vfs-read`,id:i,path:e,asText:t})})}var Ye=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Xe=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function Ze(e){return Ye.some(t=>e.startsWith(t))}function Qe(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Xe.some(t=>e.startsWith(t))}var w=new WeakSet,$e=`,
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-Cw_D7c_n.js","assets/rolldown-runtime-aKtaBQYM.js","assets/logger-DDBAeTLF.js","assets/picker-popup-CpulHQsi.js","assets/usb-picker-SsbXAvwt.js","assets/serial-picker-1VVNQI8D.js","assets/hid-picker-CE6gGmQt.js","assets/usb-device-registry-k6vTKonT.js","assets/serial-port-registry-DsPZvGpT.js","assets/hid-device-registry-6w-g8ZpF.js","assets/quick-llm-SrUvWlQL.js","assets/dist-D69OmKNn.js","assets/preload-helper-CZgWQFsJ.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/account-store-Bu5ljYss.js","assets/context-compaction-DvlXtgVG.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-Bht31_rT.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BBxlkWE4.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/main-BZD1yR6G.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/new-session-CIhwlqgm.js","assets/session-store-DAM8GRJ0.js","assets/wc-shell-CknN8aLi.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/remote-vfs-client-Z2qM01yP.js","assets/types-idfTVsM8.js","assets/writable-vfs-client-BKZGifKZ.js","assets/wc-onboarding-4zmaOgF7.js","assets/welcome-detection-CQY88hjL.js","assets/legacy-styles-CuB1P3LZ.js","assets/theme-Bgsl5v2i.js","assets/theme-engine-DqVfCCym.js","assets/soundscape-TvriK11t.js","assets/voice-reply-BRGIoGzh.js","assets/speak-DU69S7oq.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-DcPrWXZ_.js","assets/shared-CrHp2zdc.js","assets/mime-types-ugOWOUZ9.js","assets/wc-placeholder-DCOTxmJU.js","assets/wc-attach-DNO7iG8W.js","assets/wc-permissions-registry-Blyunq37.js","assets/remote-terminal-view-e7H-FPmf.js","assets/picker-approval-Dc390nC7.js","assets/browser-2wdq8OwU.js","assets/terminal-session-client-CbAduNfC.js","assets/secret-env-C-5TIS7_.js","assets/wc-permissions-BEqQSC-7.js","assets/wc-permissions-providers-Cdznv6xX.js","assets/tray-leader-G0KMHsg0.js","assets/mount-table-store-CfQUN_2R.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-BNucIG8d.js","assets/wc-tray-DBqj4dPt.js","assets/remote-cdp-transport-DTCu2BgA.js","assets/page-follower-tray-D1DcEOnN.js","assets/sprinkle-renderer-CR39pmoz.js","assets/wc-nav-DhAPutCa.js","assets/composer-speech-DGdt7VJq.js","assets/whisper-session-B4a9LHkF.js","assets/wc-float-label-bfJhTEza.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./dist-D69OmKNn.js";import{t}from"./preload-helper-CZgWQFsJ.js";import{F as n,I as r}from"./account-store-Bu5ljYss.js";import{i,n as a,r as o,t as s}from"./context-compaction-DvlXtgVG.js";import{t as c}from"./logger-DDBAeTLF.js";import{i as l,r as u}from"./src-x0cJ68Fe.js";import{t as d}from"./tool-ui-DfXu6quJ.js";import{C as f,a as p,c as m,g as h,i as g,l as _,m as ee,u as te}from"./main-BZD1yR6G.js";import{t as ne}from"./wc-permissions-registry-Blyunq37.js";import{n as v,r as re}from"./hid-device-registry-6w-g8ZpF.js";import{a as ie,i as ae}from"./serial-port-registry-DsPZvGpT.js";import{C as oe,D as se,E as ce,S as le,_ as ue,a as de,g as fe,h as pe,k as me,l as he,m as ge,n as _e,o as ve,s as ye,w as be,x as xe,y as Se}from"./usb-operations-D-YdmmuG.js";import{i as Ce,r as we}from"./usb-device-registry-k6vTKonT.js";import{t as Te}from"./icons-C5g936Qd.js";import{r as Ee}from"./tray-leader-G0KMHsg0.js";import{n as De}from"./shared-CrHp2zdc.js";import{_ as Oe,b as ke,c as Ae,d as y,g as je,h as Me,i as Ne,l as Pe,m as Fe,n as Ie,o as Le,p as Re,r as ze,s as Be,t as Ve,u as He}from"./wc-shell-CknN8aLi.js";import{n as Ue}from"./sprinkle-bridge-DL0PzEfD.js";import{n as We}from"./sprinkle-renderer-CR39pmoz.js";import{a as Ge,n as Ke,r as b}from"./theme-Bgsl5v2i.js";var qe=typeof chrome<`u`&&!!chrome?.runtime?.id;async function x(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await C(e,!0,t);if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);if(n===null)throw Error(`VFS read failed: ${e}`);return typeof n==`string`?n:new TextDecoder().decode(n)}var S=null;function Je(){if(S)return S;if(typeof BroadcastChannel>`u`)return null;try{S=new BroadcastChannel(`preview-vfs`)}catch{return null}return S}async function C(e,t,n){let r=Je();if(!r)return null;let i=`dip-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise(a=>{let o=!1,s=()=>{r.removeEventListener(`message`,c),n?.removeEventListener(`abort`,l)},c=e=>{if(!o&&!(e.data?.type!==`preview-vfs-response`||e.data.id!==i)){if(o=!0,s(),e.data.error){a(null);return}a(e.data.content??null)}},l=()=>{o||(o=!0,s(),a(null))};r.addEventListener(`message`,c),n?.addEventListener(`abort`,l),setTimeout(()=>{o||(o=!0,s(),a(null))},5e3),r.postMessage({type:`preview-vfs-read`,id:i,path:e,asText:t})})}var Ye=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Xe=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function Ze(e){return Ye.some(t=>e.startsWith(t))}function Qe(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Xe.some(t=>e.startsWith(t))}var w=new WeakSet,$e=`,
3
3
  exec: Object.assign(function(cmd) {
4
4
  return _vfsCall('dip-exec', { cmd: cmd }, function(m) { return m.result; });
5
5
  }, { spawn: function(argv) {
@@ -218,7 +218,7 @@ mark{background:color-mix(in srgb,var(--s2-accent) 25%,transparent);color:inheri
218
218
  try { window.lucide.createIcons(); } catch(ex){}
219
219
  }
220
220
  });
221
- })();`;function at(e,t,n=!1){let r=Ke(),i=Ge()?` class="theme-light"`:``,a=t||e.includes(`<slicc-editor`),o=t||e.includes(`<slicc-diff`),s=t?`<script>${it}<\/script>`:``;return`<!DOCTYPE html>
221
+ })();`;function at(e,t,n=!1){let r=We(),i=Ke()?` class="theme-light"`:``,a=t||e.includes(`<slicc-editor`),o=t||e.includes(`<slicc-diff`),s=t?`<script>${it}<\/script>`:``;return`<!DOCTYPE html>
222
222
  <html${i}><head>
223
223
  <meta charset="utf-8">
224
224
  <style>${r}</style>
@@ -230,7 +230,7 @@ ${o?`<script src="/slicc-diff.js"><\/script>`:``}
230
230
  <script src="/lucide-icons.js"><\/script>
231
231
  </head>
232
232
  <body class="sprinkle-inline">${e}</body></html>`}var T=new Set;function ot(e){if(typeof e?.type!=`string`||e.type.indexOf(`slicc-`)!==0)throw Error(`broadcastToDips: payload.type must start with 'slicc-'`);for(let t of T)try{t.postMessage(e,`*`)}catch{}}var E;function st(e){E=e}function D(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function ct(e,t){let n=t?.cwd??`.`,r=t?.allowedCommands??`*`,i=[`agent`];return t?.model&&i.push(`--model`,D(t.model)),t?.thinking&&i.push(`--thinking`,D(t.thinking)),t?.readOnly&&i.push(`--read-only`,D(t.readOnly)),i.push(D(n),D(r),D(e)),i.join(` `)}async function O(e){if(!E)return{stdout:``,stderr:`exec: shell bridge not available
233
- `,exitCode:127};try{return await E(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function lt(e,t){let n=await O(ct(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function ut(e,t){let n=await Ue(O,e,t);if(e===`fetch`){let e=n,t=atob(e.bodyBase64),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return{...e,body:new TextDecoder(`utf-8`).decode(r)}}return n}var k=new WeakMap;function dt(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function ft(e,t){let n=k.get(e);if(n||(n=new Map,k.set(e,n)),n.has(t))return;let r=await le(re(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);dt(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function pt(e,t){let n=k.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&k.delete(e)}function mt(e){let t=k.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}k.delete(e)}}function ht(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}async function gt(e,t,n){let r=re();switch(t){case`list`:{let e=v();if(!e)throw Error(`WebHID is unavailable in this browser`);return fe(r,e)}case`request`:{let e=v();if(!e)throw Error(`WebHID is unavailable in this browser`);return Se(r,e,n[0]??[])}case`info`:return pe(r,n[0]);case`open`:{let t=n[0];return await ue(r,t),await ft(e,t),{ok:!0}}case`close`:{let t=n[0];return await pt(e,t),await ge(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=ht(n[2]);return await xe(r,e,t,i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function _t(e,t){let n=ie();switch(e){case`list`:{let e=ae();if(!e)throw Error(`Web Serial is unavailable in this browser`);return ce(n,e)}case`request`:{let e=ae();if(!e)throw Error(`Web Serial is unavailable in this browser`);return me(n,e,t[0]??[])}case`info`:return be(n,t[0]);case`open`:{let e=t[0];return await se(n,e,t[1]??{baudRate:9600}),{ok:!0}}case`close`:return await oe(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function vt(e,t){let n=Ce();switch(e){case`list`:{let e=we();if(!e)throw Error(`WebUSB is unavailable in this browser`);return ve(n,e)}case`request`:{let e=we();if(!e)throw Error(`WebUSB is unavailable in this browser`);return he(n,e,t[0]??[])}case`info`:return de(n,t[0]);case`open`:return await ye(n,t[0]),{ok:!0};case`close`:return await _e(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function yt(e,t,n,r){switch(t){case`hid`:return gt(e,n,r);case`serial`:return _t(n,r);case`usb`:return vt(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function bt(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!w.has(e))return n({type:`dip-device-op-response`,error:`device access not allowed for this dip`}),!0;let r=t.channel;if(r!==`hid`&&r!==`serial`&&r!==`usb`)return n({type:`dip-device-op-response`,error:`unknown device channel '${r}'`}),!0;try{n({type:`dip-device-op-response`,result:await yt(e,r,typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-device-op-response`,error:e instanceof Error?e.message:String(e)})}return!0}async function xt(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!w.has(e))return n({type:`${t.type}-response`,error:`exec not allowed for this dip`}),!0;if(t.type===`dip-exec`)return n({type:`dip-exec-response`,result:await O(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await lt(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await ut(typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-jsh-response`,error:e instanceof Error?e.message:String(e)})}return!0}return!1}function A(e,t,n,r=!1){let i=at(t,!1,r);if(qe)return At(e,i,n,r);let a=document.createElement(`iframe`);a.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),a.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,a.srcdoc=i,e.appendChild(a),a.contentWindow&&(b(a.contentWindow),T.add(a.contentWindow),r&&w.add(a.contentWindow)),a.addEventListener(`load`,()=>{b(a.contentWindow),a.contentWindow&&(T.add(a.contentWindow),r&&w.add(a.contentWindow))},{once:!0});let o=e=>{if(e.source!==a.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?a.style.height=t.height+`px`:t.type===`dip-open-link`?St(t.url):t.type===`dip-picker-action`?M(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?j(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?xt(a.contentWindow,t):t.type===`dip-device-op`&&bt(a.contentWindow,t))};return window.addEventListener(`message`,o),{dispose(){window.removeEventListener(`message`,o),We(a.contentWindow),a.contentWindow&&(T.delete(a.contentWindow),w.delete(a.contentWindow),mt(a.contentWindow)),a.remove()}}}async function j(e,t){if(!e||typeof t.id!=`number`)return!1;let n=typeof t.path==`string`?t.path:``,r=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!w.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!Qe(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await C(n,!0);return e===null?(r({type:`dip-readfile-response`,error:`Read failed`}),!0):(r({type:`dip-readfile-response`,content:typeof e==`string`?e:new TextDecoder().decode(e)}),!0)}if(t.type===`dip-exists`)return r({type:`dip-exists-response`,exists:await C(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await C(n,!1);return e===null?(r({type:`dip-stat-response`,error:`Stat failed`}),!0):(r({type:`dip-stat-response`,stat:{isFile:!0,isDirectory:!1,size:typeof e==`string`?e.length:e.byteLength,mtimeMs:0}}),!0)}return!1}function St(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}function Ct(e,t){let n=[],r=e.querySelectorAll(`pre > code.language-shtml`);for(let e of r){let r=e.parentElement,i=e.textContent??``,a=document.createElement(`div`);a.className=`msg__dip`,r.replaceWith(a),n.push(A(a,i,t,!1))}let i=e.querySelectorAll(`img[src$=".shtml"]`);for(let e of i){let r=e.getAttribute(`src`);if(!r)continue;let i=document.createElement(`div`);i.className=`msg__dip`,e.alt&&i.setAttribute(`title`,e.alt),e.replaceWith(i);let a=new AbortController,o=null,s=!1;n.push({dispose(){s=!0,a.abort(),o&&=(o.dispose(),null)}});let c=r.startsWith(`/`),l=typeof navigator<`u`&&!!navigator.serviceWorker?.controller,u=c?`/preview${r}`:r,d=async()=>{if(c&&!l)return x(r,a.signal);let e;try{e=await fetch(u,{signal:a.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(c)return x(r,a.signal);throw e}if(e.ok)return e.text();if(c)return x(r,a.signal);throw Error(`HTTP ${e.status}`)},f=c&&Ze(r);d().then(e=>{s||!i.isConnected||(o=A(i,e,t,f))}).catch(e=>{s||e?.name===`AbortError`||(i.textContent=`Failed to load dip: ${r}`,i.style.cssText=`padding:8px;font-size:12px;color:var(--s2-negative);font-family:var(--s2-font-mono)`)})}return n}function wt(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function M(e,t){let n=e.data??null,r=Array.isArray(n?.filters)?n.filters:[];if(qe){await Tt(e.picker,e.action,r,t);return}switch(e.picker){case`directory`:await Et(e.action,t);return;case`usb-device`:await Dt(e.action,r,t);return;case`serial-port`:await Ot(e.action,r,t);return;case`hid-device`:await kt(e.action,r,t);return;default:t(e.action,e.data);return}}async function Tt(e,n,r,i){try{switch(e){case`directory`:{let{openMountPickerPopup:e}=await t(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-Cw_D7c_n.js`).then(e=>e.n);return{openMountPickerPopup:e}},__vite__mapDeps([0,1,2,3])),r=await e();r.cancelled?i(n,{cancelled:!0}):r.error?i(n,{error:r.error}):r.idbKey?i(n,{handleInIdb:!0,idbKey:r.idbKey,dirName:r.dirName??``}):i(n,{error:`mount picker returned no handle key`});return}case`usb-device`:{let{openUsbPickerPopup:e}=await t(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-SsbXAvwt.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([4,1,3])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`serial-port`:{let{openSerialPickerPopup:e}=await t(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-1VVNQI8D.js`).then(e=>e.t);return{openSerialPickerPopup:e}},__vite__mapDeps([5,1,3])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`hid-device`:{let{openHidPickerPopup:e}=await t(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-CE6gGmQt.js`).then(e=>e.t);return{openHidPickerPopup:e}},__vite__mapDeps([6,1,3])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}default:i(n,{error:`unknown picker kind: ${e??`(none)`}`});return}}catch(e){i(n,{error:e instanceof Error?e.message:String(e)})}}async function N(e,t){let n=ne();if(!n)return null;let r={current:null},i=t=>{let n=t.detail;n.kind===e&&(r.current=n)};n.addEventListener(`slicc-permission-deny`,i);try{let i=await n.request(e,t);if(i)return{ok:!0,grant:i};let a=r.current;return{ok:!1,reason:a?.reason??`error`,...a?.message?{message:a.message}:{}}}finally{n.removeEventListener(`slicc-permission-deny`,i)}}function P(e,t,n,r){if(t.reason===`cancelled`){r(e,{cancelled:!0});return}if(t.reason===`unavailable`){r(e,{error:n});return}r(e,{error:t.message??`unknown error`})}async function Et(e,n){let r=await N(`filesystem`);if(!r){n(e,{error:`File System Access API not available`});return}if(!r.ok){P(e,r,`File System Access API not available`,n);return}let i=r.grant.handle,a=`pendingMount:dip-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;try{let{storePendingHandle:e}=await t(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-Cw_D7c_n.js`).then(e=>e.n);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3]));await e(a,i)}catch(t){n(e,{error:`failed to store directory handle: ${t instanceof Error?t.message:String(t)}`});return}n(e,{handleInIdb:!0,idbKey:a,dirName:i.name})}async function Dt(e,n,r){let i=await N(`usb`,{filters:n});if(!i){r(e,{error:`WebUSB is not available`});return}if(!i.ok){P(e,i,`WebUSB is not available`,r);return}let a=i.grant,{getSharedUsbRegistry:o,deviceToInfo:s}=await t(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry-k6vTKonT.js`).then(e=>e.a);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([7,1])),c=o().register(a.device);r(e,{granted:!0,handle:c,info:s(c,a.device)})}async function Ot(e,n,r){let i=await N(`serial`,n.length?{filters:n}:void 0);if(!i){r(e,{error:`Web Serial is not available`});return}if(!i.ok){P(e,i,`Web Serial is not available`,r);return}let a=i.grant,o=await t(()=>import(`./serial-port-registry-DsPZvGpT.js`).then(e=>e.o),__vite__mapDeps([8,1])),s=o.getSharedSerialRegistry(),c=s.register(a.port),l=s.get(c);r(e,{granted:!0,handle:c,info:l?o.deviceToInfo(c,l):{handle:c}})}async function kt(e,n,r){let i=await N(`hid`,{filters:n});if(!i){r(e,{error:`WebHID is not available`});return}if(!i.ok){P(e,i,`WebHID is not available`,r);return}let a=i.grant,{getSharedHidRegistry:o,hidDeviceToInfo:s}=await t(async()=>{let{getSharedHidRegistry:e,hidDeviceToInfo:t}=await import(`./hid-device-registry-6w-g8ZpF.js`).then(e=>e.a);return{getSharedHidRegistry:e,hidDeviceToInfo:t}},__vite__mapDeps([9,1])),c=o(),l=a.devices.map(e=>s(c.register(e),e)),u=l[0];r(e,{granted:!0,handle:u.handle,info:u,devices:l})}function At(e,t,n,r=!1){let i=document.createElement(`iframe`);i.src=chrome.runtime.getURL(`sprinkle-sandbox.html`),i.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,e.appendChild(i);let a=e=>{if(e.source!==i.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?i.style.height=t.height+`px`:t.type===`dip-open-link`?St(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?j(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?xt(i.contentWindow,t):t.type===`dip-device-op`?bt(i.contentWindow,t):t.type===`dip-picker-action`&&M(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{b(i.contentWindow),i.contentWindow&&(T.add(i.contentWindow),r&&w.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:Ge()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),We(i.contentWindow),i.contentWindow&&(T.delete(i.contentWindow),w.delete(i.contentWindow),mt(i.contentWindow)),i.remove()}}}var F=c(`cone-memory-budget`),jt=4e3,Mt=2e3,Nt=1.25,Pt=`/workspace/CLAUDE.md`,Ft=`/sessions/index.json`,It=4096,Lt=/^## Auto-extracted/m,Rt=`Consolidate the auto-extracted memory bullets below into a single tighter set of durable memories.
233
+ `,exitCode:127};try{return await E(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function lt(e,t){let n=await O(ct(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function ut(e,t){let n=await Ue(O,e,t);if(e===`fetch`){let e=n,t=atob(e.bodyBase64),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return{...e,body:new TextDecoder(`utf-8`).decode(r)}}return n}var k=new WeakMap;function dt(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function ft(e,t){let n=k.get(e);if(n||(n=new Map,k.set(e,n)),n.has(t))return;let r=await le(re(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);dt(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function pt(e,t){let n=k.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&k.delete(e)}function mt(e){let t=k.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}k.delete(e)}}function ht(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}async function gt(e,t,n){let r=re();switch(t){case`list`:{let e=v();if(!e)throw Error(`WebHID is unavailable in this browser`);return fe(r,e)}case`request`:{let e=v();if(!e)throw Error(`WebHID is unavailable in this browser`);return Se(r,e,n[0]??[])}case`info`:return pe(r,n[0]);case`open`:{let t=n[0];return await ue(r,t),await ft(e,t),{ok:!0}}case`close`:{let t=n[0];return await pt(e,t),await ge(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=ht(n[2]);return await xe(r,e,t,i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function _t(e,t){let n=ie();switch(e){case`list`:{let e=ae();if(!e)throw Error(`Web Serial is unavailable in this browser`);return ce(n,e)}case`request`:{let e=ae();if(!e)throw Error(`Web Serial is unavailable in this browser`);return me(n,e,t[0]??[])}case`info`:return be(n,t[0]);case`open`:{let e=t[0];return await se(n,e,t[1]??{baudRate:9600}),{ok:!0}}case`close`:return await oe(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function vt(e,t){let n=Ce();switch(e){case`list`:{let e=we();if(!e)throw Error(`WebUSB is unavailable in this browser`);return ve(n,e)}case`request`:{let e=we();if(!e)throw Error(`WebUSB is unavailable in this browser`);return he(n,e,t[0]??[])}case`info`:return de(n,t[0]);case`open`:return await ye(n,t[0]),{ok:!0};case`close`:return await _e(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function yt(e,t,n,r){switch(t){case`hid`:return gt(e,n,r);case`serial`:return _t(n,r);case`usb`:return vt(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function bt(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!w.has(e))return n({type:`dip-device-op-response`,error:`device access not allowed for this dip`}),!0;let r=t.channel;if(r!==`hid`&&r!==`serial`&&r!==`usb`)return n({type:`dip-device-op-response`,error:`unknown device channel '${r}'`}),!0;try{n({type:`dip-device-op-response`,result:await yt(e,r,typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-device-op-response`,error:e instanceof Error?e.message:String(e)})}return!0}async function xt(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!w.has(e))return n({type:`${t.type}-response`,error:`exec not allowed for this dip`}),!0;if(t.type===`dip-exec`)return n({type:`dip-exec-response`,result:await O(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await lt(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await ut(typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-jsh-response`,error:e instanceof Error?e.message:String(e)})}return!0}return!1}function A(e,t,n,r=!1){let i=at(t,!1,r);if(qe)return At(e,i,n,r);let a=document.createElement(`iframe`);a.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),a.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,a.srcdoc=i,e.appendChild(a),a.contentWindow&&(b(a.contentWindow),T.add(a.contentWindow),r&&w.add(a.contentWindow)),a.addEventListener(`load`,()=>{b(a.contentWindow),a.contentWindow&&(T.add(a.contentWindow),r&&w.add(a.contentWindow))},{once:!0});let o=e=>{if(e.source!==a.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?a.style.height=t.height+`px`:t.type===`dip-open-link`?St(t.url):t.type===`dip-picker-action`?M(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?j(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?xt(a.contentWindow,t):t.type===`dip-device-op`&&bt(a.contentWindow,t))};return window.addEventListener(`message`,o),{dispose(){window.removeEventListener(`message`,o),Ge(a.contentWindow),a.contentWindow&&(T.delete(a.contentWindow),w.delete(a.contentWindow),mt(a.contentWindow)),a.remove()}}}async function j(e,t){if(!e||typeof t.id!=`number`)return!1;let n=typeof t.path==`string`?t.path:``,r=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!w.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!Qe(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await C(n,!0);return e===null?(r({type:`dip-readfile-response`,error:`Read failed`}),!0):(r({type:`dip-readfile-response`,content:typeof e==`string`?e:new TextDecoder().decode(e)}),!0)}if(t.type===`dip-exists`)return r({type:`dip-exists-response`,exists:await C(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await C(n,!1);return e===null?(r({type:`dip-stat-response`,error:`Stat failed`}),!0):(r({type:`dip-stat-response`,stat:{isFile:!0,isDirectory:!1,size:typeof e==`string`?e.length:e.byteLength,mtimeMs:0}}),!0)}return!1}function St(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}function Ct(e,t){let n=[],r=e.querySelectorAll(`pre > code.language-shtml`);for(let e of r){let r=e.parentElement,i=e.textContent??``,a=document.createElement(`div`);a.className=`msg__dip`,r.replaceWith(a),n.push(A(a,i,t,!1))}let i=e.querySelectorAll(`img[src$=".shtml"]`);for(let e of i){let r=e.getAttribute(`src`);if(!r)continue;let i=document.createElement(`div`);i.className=`msg__dip`,e.alt&&i.setAttribute(`title`,e.alt),e.replaceWith(i);let a=new AbortController,o=null,s=!1;n.push({dispose(){s=!0,a.abort(),o&&=(o.dispose(),null)}});let c=r.startsWith(`/`),l=typeof navigator<`u`&&!!navigator.serviceWorker?.controller,u=c?`/preview${r}`:r,d=async()=>{if(c&&!l)return x(r,a.signal);let e;try{e=await fetch(u,{signal:a.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(c)return x(r,a.signal);throw e}if(e.ok)return e.text();if(c)return x(r,a.signal);throw Error(`HTTP ${e.status}`)},f=c&&Ze(r);d().then(e=>{s||!i.isConnected||(o=A(i,e,t,f))}).catch(e=>{s||e?.name===`AbortError`||(i.textContent=`Failed to load dip: ${r}`,i.style.cssText=`padding:8px;font-size:12px;color:var(--s2-negative);font-family:var(--s2-font-mono)`)})}return n}function wt(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function M(e,t){let n=e.data??null,r=Array.isArray(n?.filters)?n.filters:[];if(qe){await Tt(e.picker,e.action,r,t);return}switch(e.picker){case`directory`:await Et(e.action,t);return;case`usb-device`:await Dt(e.action,r,t);return;case`serial-port`:await Ot(e.action,r,t);return;case`hid-device`:await kt(e.action,r,t);return;default:t(e.action,e.data);return}}async function Tt(e,n,r,i){try{switch(e){case`directory`:{let{openMountPickerPopup:e}=await t(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-Cw_D7c_n.js`).then(e=>e.n);return{openMountPickerPopup:e}},__vite__mapDeps([0,1,2,3])),r=await e();r.cancelled?i(n,{cancelled:!0}):r.error?i(n,{error:r.error}):r.idbKey?i(n,{handleInIdb:!0,idbKey:r.idbKey,dirName:r.dirName??``}):i(n,{error:`mount picker returned no handle key`});return}case`usb-device`:{let{openUsbPickerPopup:e}=await t(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-SsbXAvwt.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([4,1,3])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`serial-port`:{let{openSerialPickerPopup:e}=await t(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-1VVNQI8D.js`).then(e=>e.t);return{openSerialPickerPopup:e}},__vite__mapDeps([5,1,3])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`hid-device`:{let{openHidPickerPopup:e}=await t(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-CE6gGmQt.js`).then(e=>e.t);return{openHidPickerPopup:e}},__vite__mapDeps([6,1,3])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}default:i(n,{error:`unknown picker kind: ${e??`(none)`}`});return}}catch(e){i(n,{error:e instanceof Error?e.message:String(e)})}}async function N(e,t){let n=ne();if(!n)return null;let r={current:null},i=t=>{let n=t.detail;n.kind===e&&(r.current=n)};n.addEventListener(`slicc-permission-deny`,i);try{let i=await n.request(e,t);if(i)return{ok:!0,grant:i};let a=r.current;return{ok:!1,reason:a?.reason??`error`,...a?.message?{message:a.message}:{}}}finally{n.removeEventListener(`slicc-permission-deny`,i)}}function P(e,t,n,r){if(t.reason===`cancelled`){r(e,{cancelled:!0});return}if(t.reason===`unavailable`){r(e,{error:n});return}r(e,{error:t.message??`unknown error`})}async function Et(e,n){let r=await N(`filesystem`);if(!r){n(e,{error:`File System Access API not available`});return}if(!r.ok){P(e,r,`File System Access API not available`,n);return}let i=r.grant.handle,a=`pendingMount:dip-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;try{let{storePendingHandle:e}=await t(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-Cw_D7c_n.js`).then(e=>e.n);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3]));await e(a,i)}catch(t){n(e,{error:`failed to store directory handle: ${t instanceof Error?t.message:String(t)}`});return}n(e,{handleInIdb:!0,idbKey:a,dirName:i.name})}async function Dt(e,n,r){let i=await N(`usb`,{filters:n});if(!i){r(e,{error:`WebUSB is not available`});return}if(!i.ok){P(e,i,`WebUSB is not available`,r);return}let a=i.grant,{getSharedUsbRegistry:o,deviceToInfo:s}=await t(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry-k6vTKonT.js`).then(e=>e.a);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([7,1])),c=o().register(a.device);r(e,{granted:!0,handle:c,info:s(c,a.device)})}async function Ot(e,n,r){let i=await N(`serial`,n.length?{filters:n}:void 0);if(!i){r(e,{error:`Web Serial is not available`});return}if(!i.ok){P(e,i,`Web Serial is not available`,r);return}let a=i.grant,o=await t(()=>import(`./serial-port-registry-DsPZvGpT.js`).then(e=>e.o),__vite__mapDeps([8,1])),s=o.getSharedSerialRegistry(),c=s.register(a.port),l=s.get(c);r(e,{granted:!0,handle:c,info:l?o.deviceToInfo(c,l):{handle:c}})}async function kt(e,n,r){let i=await N(`hid`,{filters:n});if(!i){r(e,{error:`WebHID is not available`});return}if(!i.ok){P(e,i,`WebHID is not available`,r);return}let a=i.grant,{getSharedHidRegistry:o,hidDeviceToInfo:s}=await t(async()=>{let{getSharedHidRegistry:e,hidDeviceToInfo:t}=await import(`./hid-device-registry-6w-g8ZpF.js`).then(e=>e.a);return{getSharedHidRegistry:e,hidDeviceToInfo:t}},__vite__mapDeps([9,1])),c=o(),l=a.devices.map(e=>s(c.register(e),e)),u=l[0];r(e,{granted:!0,handle:u.handle,info:u,devices:l})}function At(e,t,n,r=!1){let i=document.createElement(`iframe`);i.src=chrome.runtime.getURL(`sprinkle-sandbox.html`),i.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,e.appendChild(i);let a=e=>{if(e.source!==i.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?i.style.height=t.height+`px`:t.type===`dip-open-link`?St(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?j(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?xt(i.contentWindow,t):t.type===`dip-device-op`?bt(i.contentWindow,t):t.type===`dip-picker-action`&&M(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{b(i.contentWindow),i.contentWindow&&(T.add(i.contentWindow),r&&w.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:Ke()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Ge(i.contentWindow),i.contentWindow&&(T.delete(i.contentWindow),w.delete(i.contentWindow),mt(i.contentWindow)),i.remove()}}}var F=c(`cone-memory-budget`),jt=4e3,Mt=2e3,Nt=1.25,Pt=`/workspace/CLAUDE.md`,Ft=`/sessions/index.json`,It=4096,Lt=/^## Auto-extracted/m,Rt=`Consolidate the auto-extracted memory bullets below into a single tighter set of durable memories.
234
234
 
235
235
  Rules:
236
236
  - Output ONLY a single \`## Auto-extracted (consolidated)\` heading followed by markdown bullets.
@@ -245,14 +245,14 @@ ${r}
245
245
  `).trim();if(!s)throw Error(`Restructure call returned empty content`);return`${n}${n.length===0||n.endsWith(`
246
246
  `)?``:`
247
247
  `}${s}\n`}async function Ut(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=``;try{let n=await e.vfs.readFile(Pt,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{return{restructured:!1,reason:`missing-file`}}let n=await Vt(e.vfs),r=zt(n),i=r*Nt;if(t.length<=i)return{restructured:!1,reason:`under-threshold`};F.info(`Cone memory over threshold — restructuring`,{size:t.length,budget:r,threshold:i,sessionCount:n});try{let n=await Ht({currentContent:t,budget:r,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(Pt,n),F.info(`Cone memory restructured`,{before:t.length,after:n.length}),{restructured:!0}}catch(e){return F.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}function I(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?ke(n.content):n.content;if(t+=`## ${e}\n${r}\n\n`,n.attachments?.length&&(t+=`Attachments:\n${n.attachments.map(e=>`- ${i(e)}`).join(`
248
- `)}\n\n`),n.toolCalls)for(let e of n.toolCalls)t+=`### Tool: ${e.name}\nInput: ${JSON.stringify(e.input,null,2)}\nResult: ${e.result??``}\n\n`}return t}var L=c(`session-freezer`),Wt=4,R=2048,z=40,B=`/sessions`,V=`/sessions/index.json`;async function Gt(e){let t=await Zt(e.sessionStore);if(!t||t.messages.length<Wt)return L.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=Qt(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);await Jt(e,n,i);let a=await Yt(e,n,i)||an(t.messages);return await Xt(e,t,a,r,i?await Kt(e,a):void 0)}async function Kt(e,n){try{return qt(await(e.pickIcon??(await t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DugUbqXs.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([10,1,11,12,13,14,15,16,17,2,18,19,20,21,22,23,24,25,26,27,28,29]))).pickLucideIcon)({subject:`"${n}" — an archived chat session`})??void 0)}catch(e){L.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function qt(e){if(e)return Te(e)?e:void 0}async function Jt(e,t,n){if(!n){L.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await o({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:R,headers:e.headers})}catch(e){L.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){L.info(`Memory extraction returned no durable memories`);return}try{await cn(e.vfs,r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),L.info(`Memory extracted and appended on new-session`)}catch(e){L.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function Yt(e,t,n){if(!n)return``;try{return rn(await o({messages:t,instruction:a,model:e.model,apiKey:e.apiKey,maxTokens:z,headers:e.headers}))}catch(e){return L.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function Xt(e,t,n,r,i){let a=new Date().toISOString(),o=r===`quick`?`pending-${sn()}.md`:`${a.replace(/[:.]/g,`-`)}-${on(n)}.md`,s={id:t.id,title:n,frozenAt:a,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:t.messages},c=nn(s),l={filename:o,title:n,frozenAt:a,messageCount:t.messages.length,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{}};try{return await H(e.vfs,B),await e.vfs.writeFile(`${B}/${o}`,c),await ln(e.vfs,l),await e.vfs.flush(),L.info(`Cone session frozen`,{filename:o,title:n,messageCount:t.messages.length}),{...l,archive:s}}catch(e){return L.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}async function Zt(e){try{return await e.load(`session-cone`)}catch(e){return L.warn(`Failed to load session-cone`,{error:e instanceof Error?e.message:String(e)}),null}}function Qt(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var $t=`<!-- slicc:session-data
248
+ `)}\n\n`),n.toolCalls)for(let e of n.toolCalls)t+=`### Tool: ${e.name}\nInput: ${JSON.stringify(e.input,null,2)}\nResult: ${e.result??``}\n\n`}return t}var L=c(`session-freezer`),Wt=4,R=2048,z=40,B=`/sessions`,V=`/sessions/index.json`;async function Gt(e){let t=await Zt(e.sessionStore);if(!t||t.messages.length<Wt)return L.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=Qt(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);await Jt(e,n,i);let a=await Yt(e,n,i)||an(t.messages);return await Xt(e,t,a,r,i?await Kt(e,a):void 0)}async function Kt(e,n){try{return qt(await(e.pickIcon??(await t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-SrUvWlQL.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([10,1,11,12,13,14,15,16,17,2,18,19,20,21,22,23,24,25,26,27,28,29]))).pickLucideIcon)({subject:`"${n}" — an archived chat session`})??void 0)}catch(e){L.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function qt(e){if(e)return Te(e)?e:void 0}async function Jt(e,t,n){if(!n){L.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await o({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:R,headers:e.headers})}catch(e){L.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){L.info(`Memory extraction returned no durable memories`);return}try{await cn(e.vfs,r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),L.info(`Memory extracted and appended on new-session`)}catch(e){L.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function Yt(e,t,n){if(!n)return``;try{return rn(await o({messages:t,instruction:a,model:e.model,apiKey:e.apiKey,maxTokens:z,headers:e.headers}))}catch(e){return L.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function Xt(e,t,n,r,i){let a=new Date().toISOString(),o=r===`quick`?`pending-${sn()}.md`:`${a.replace(/[:.]/g,`-`)}-${on(n)}.md`,s={id:t.id,title:n,frozenAt:a,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:t.messages},c=nn(s),l={filename:o,title:n,frozenAt:a,messageCount:t.messages.length,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{}};try{return await H(e.vfs,B),await e.vfs.writeFile(`${B}/${o}`,c),await ln(e.vfs,l),await e.vfs.flush(),L.info(`Cone session frozen`,{filename:o,title:n,messageCount:t.messages.length}),{...l,archive:s}}catch(e){return L.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}async function Zt(e){try{return await e.load(`session-cone`)}catch(e){return L.warn(`Failed to load session-cone`,{error:e instanceof Error?e.message:String(e)}),null}}function Qt(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var $t=`<!-- slicc:session-data
249
249
  `,en=`
250
250
  -->`;function tn(e){return e.map(e=>{let t={id:e.id,role:e.role,content:e.content,timestamp:e.timestamp};return e.attachments?.length&&(t.attachments=e.attachments),e.toolCalls?.length&&(t.toolCalls=e.toolCalls.map(e=>({id:e.id,name:e.name,input:e.input,...e.result===void 0?{}:{result:e.result},...e.isError?{isError:e.isError}:{}}))),e.source&&(t.source=e.source),e.channel&&(t.channel=e.channel),t})}function nn(e){let t=`---\nid: ${e.id}\ntitle: ${JSON.stringify(e.title)}\nfrozenAt: ${e.frozenAt}\ncreatedAt: ${e.createdAt}\nupdatedAt: ${e.updatedAt}\nmessageCount: ${e.messageCount}\n---\n\n`,n=`${$t}${JSON.stringify(tn(e.messages)).replace(/-->/g,`-- >`)}${en}\n\n`,r=`# ${e.title}\n\n`;return t+n+r+I(e.messages)}function rn(e){let t=e.trim();return t=t.replace(/^["'`]+|["'`]+$/g,``).trim(),t=t.replace(/\s+/g,` `),t.length>80&&(t=t.slice(0,80).trimEnd()),t}function an(e){let t=e.find(e=>e.role===`user`);if(!t?.content)return`untitled-session`;let n=t.content.trim().replace(/\s+/g,` `);return n.length>60?`${n.slice(0,60)}…`:n||`untitled-session`}function on(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)||`session`}function sn(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`}async function H(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function cn(e,t,n,r){let i=`/workspace/CLAUDE.md`,a=``;try{let t=await e.readFile(i,{encoding:`utf-8`});a=typeof t==`string`?t:new TextDecoder().decode(t)}catch{await H(e,`/workspace`)}let o=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${n})`,s=`${a.length===0||a.endsWith(`
251
251
  `)?``:`
252
- `}\n${o}\n\n${t}\n`;await e.writeFile(i,a+s);try{await Ut({vfs:e,model:r?.model,apiKey:r?.apiKey,headers:r?.headers,signal:r?.signal})}catch(e){L.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function ln(e,t){let n=[];try{let t=await e.readFile(V,{encoding:`utf-8`}),r=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(r);Array.isArray(i)&&(n=i)}catch{}let r=[t,...n.filter(e=>e.filename!==t.filename)];await e.writeFile(V,JSON.stringify(r,null,2))}async function un(e){try{let t=await e.readFile(V,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r:[]}catch{return[]}}function U(e){return`${B}/${e.filename}`}async function dn(e,t,n){if(!t.pendingEnrichment)return null;let r=await pn(e,t);if(r===null)return null;let i=mn(t,r);if(i===null)return null;let a=await hn(t,i,n);if(a===null)return null;let o=await fn(n,a.newTitle);return await gn(e,t,a.bullets,n),await _n(e,t,r,a.newTitle,o)}async function fn(e,t){if(e.pickIcon)try{return await qt(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){L.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function pn(e,t){try{let n=await e.readFile(U(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?L.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):L.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}function mn(e,t){let n;try{n=W(t).messages}catch(t){return L.warn(`Failed to parse pending archive — leaving entry intact`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return n.length===0?(L.info(`Pending archive has no messages — skipping enrichment`,{filename:e.filename}),null):Qt(n)}async function hn(e,t,n){let r=``;try{r=await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:R,headers:n.headers})}catch(t){return L.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let i=``;try{i=rn(await o({messages:t,instruction:a,model:n.model,apiKey:n.apiKey,maxTokens:z,headers:n.headers}))}catch(t){return L.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return i?{bullets:r,newTitle:i}:(L.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function gn(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await cn(e,i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){L.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}async function _n(e,t,n,r,i){let a=U(t),o=vn(n,r),s=`${t.frozenAt.replace(/[:.]/g,`-`)}-${on(r)}.md`,c=`${B}/${s}`;try{await H(e,B),await e.writeFile(c,o)}catch(e){return L.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let l=i??t.icon,u={filename:s,title:r,frozenAt:t.frozenAt,messageCount:t.messageCount,...l?{icon:l}:{}};try{await bn(e,t.filename,u)}catch(e){return L.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}if(c!==a)try{await e.rm(a)}catch(e){L.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:a,error:e instanceof Error?e.message:String(e)})}try{await e.flush()}catch{}return L.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:s,title:r}),u}function vn(e,t){let n=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!n)return e;let r=n[1].replace(/^title:\s*.+$/m,`title: ${JSON.stringify(t)}`),i=n[2];return i=i.replace(/^#\s+[^\n]*$/m,`# ${t}`),`---\n${r}\n---\n${i}`}var yn=Promise.resolve();async function bn(e,t,n){let r=async()=>{let r=[];try{let t=await e.readFile(V,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(n);Array.isArray(i)&&(r=i)}catch{}let i=r.findIndex(e=>e.filename===t),a;i===-1?a=[n,...r.filter(e=>e.filename!==n.filename)]:(a=r.slice(),a[i]=n,a=a.filter((e,t)=>t===i||e.filename!==n.filename)),await e.writeFile(V,JSON.stringify(a,null,2))},i=yn.then(r,r);return yn=i.then(()=>void 0,()=>void 0),i}function W(e){let t=e,n=`Untitled`,r=t.match(/^---\n([\s\S]*?)\n---\n+/);if(r){t=t.slice(r[0].length);let e=r[1].match(/^title:\s*(.+?)\s*$/m);if(e){let t=e[1].trim();if(t.startsWith(`"`))try{let e=JSON.parse(t);typeof e==`string`&&(n=e)}catch{n=t.replace(/^"|"$/g,``)}else n=t}}let i=t.match(/<!-- slicc:session-data\n([\s\S]*?)\n-->\n*/);if(i){try{let e=i[1].replace(/-- >/g,`-->`),t=JSON.parse(e);if(Array.isArray(t))return{title:n,messages:t}}catch{}t=t.replace(/<!-- slicc:session-data\n[\s\S]*?\n-->\n*/,``)}return t=t.replace(/^#\s+[^\n]*\n+/,``),{title:n,messages:xn(t)}}function xn(e){let t=[],n=/^## (User|Assistant)\s*\n/gm,r=[],i;for(;(i=n.exec(e))!==null;)r.push({role:i[1]===`User`?`user`:`assistant`,start:i.index,bodyStart:i.index+i[0].length});for(let n=0;n<r.length;n++){let i=n+1<r.length?r[n+1].start:e.length,a=e.slice(r[n].bodyStart,i).trim();t.push({id:`frozen-${n}`,role:r[n].role,content:a,timestamp:0})}return t}var Sn=`__slicc_binary__`,Cn=`b64`;function wn(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[Sn]===Cn&&typeof t.data==`string`}function G(e){if(e instanceof Uint8Array)return{[Sn]:Cn,data:l(e)};if(Array.isArray(e))return e.map(G);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=G(r);return t}return e}function K(e){if(wn(e))return u(e.data);if(Array.isArray(e))return e.map(K);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=K(r);return t}return e}var Tn=c(`panel-transport`);function En(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Dn(){return{onMessage:e=>{let t=(t,n,r)=>(En(t)&&e(K(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=G(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{Tn.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var q=c(`offscreen-client`),On=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingTranscriptRequests=new Map;pendingStatsRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){q.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Dn(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}createAgentHandle(){return{sendMessage:(e,t,n)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e){if(!e.isCone)throw Error(`OffscreenClient.registerScoop is cone-only; use scoop_scoop for non-cone scoops`);this.scoops.find(t=>t.name===e.name)||(this.scoops.push(e),this.scoopStatuses.set(e.jid,`initializing`)),this.send({type:`cone-create`,name:e.name})}async unregisterScoop(e){this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t){this.send({type:`set-thinking-level`,scoopJid:e,level:t})}async clearAllMessages(){let e=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingClearAcks.set(e,t)});this.send({type:`clear-chat`,requestId:e}),await Promise.race([t,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(e)}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}q.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,originLabel:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}sendWebhookEvent(e,t,n){this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n})}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(q.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):q.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,fills:t.fills,models:t.models??[],scoops:t.scoops??[]}));break}case`tray-runtime-status`:{let t=e;kn(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){q.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}break}}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid);break}if(e.scoopJid===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${J()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${J()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError});break}case`tool_ui`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${J()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});break}case`tool_ui_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});break}case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${J()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}handleScoopStatus(e){this.scoopStatuses.set(e.scoopJid,e.status),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){q.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&kn(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return{jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,type:e.isCone?`cone`:`scoop`,requiresTrigger:!e.isCone,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}}}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){q.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function J(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function kn(e,t){Ee({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),ee({state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime})}function Y(e){return!e.includes(`\0`)}function An(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!Y(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!Y(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!Y(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!Y(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(Y(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function jn(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:(t,n)=>{n&&n.length>0?e.postMessage(t,n):e.postMessage(t)}}}function Mn(e){let t=jn(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function Nn(e,t){let n=jn(e),r=new Map,i=n.onMessage(async e=>{let i=e;if(i?.type){if(i.type===`cdp-cmd`){let r=e;try{let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(i.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(i.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i);return}}});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function Pn(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function Fn(e){let{worker:t,realCdpTransport:n,callbacks:r}=e,i=e.readyTimeoutMs??3e4,a=e.localStorageSeed??{},o=new MessageChannel,s=new MessageChannel,c=new On(r,Mn(o.port1)),l=Nn(s.port1,n),u=null,d=new Promise((e,t)=>{let n=null,r=null,a=()=>{n!==null&&(clearTimeout(n),n=null)};u=()=>{r!==null&&(o.port1.removeEventListener(`message`,r),r=null),a()},r=t=>{t.data?.type===`kernel-worker-ready`&&(u?.(),e())},o.port1.addEventListener(`message`,r),a(),n=setTimeout(()=>{u?.(),t(Error(`Kernel worker did not signal ready within ${i}ms`))},i)}),f={type:`kernel-worker-init`,kernelPort:o.port2,cdpPort:s.port2,localStorageSeed:a,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null};t.postMessage(f,[o.port2,s.port2]);let p=!1;return{client:c,ready:d,dispose(){if(!p){p=!0,u?.(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),o.port1.close(),s.port1.close()}}}}function In(e){return Fn({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-BWyneFfa.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Pn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId})}var Ln=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function Rn(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function zn(e){let t=e.writeText??(e=>navigator.clipboard.writeText(e)),n=document.createElement(`div`);n.className=`wc-copy-row`,n.style.cssText=`display:flex;justify-content:flex-start;margin:-8px 0 14px;`;let r=document.createElement(`slicc-press-button`);r.setAttribute(`tooltip`,`Copy last response · hold to copy chat`),r.setAttribute(`label`,`Copy last response — hold to copy entire chat`),r.setAttribute(`disable-double-click`,``),r.style.cssText=`color:var(--txt-3);cursor:pointer;display:inline-flex;`;let i=document.createRange();r.append(i.createContextualFragment(Ln));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{await t(Rn(e.getMessages())??I([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=I([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function X(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Bn(e){try{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.sprinkle-action-card__header`);if(t){t.querySelector(`.sprinkle-badge`)?.remove();let e=t.textContent?.trim();if(e)return e}}catch{}return`Approval requested`}function Vn(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Hn(e){return`
252
+ `}\n${o}\n\n${t}\n`;await e.writeFile(i,a+s);try{await Ut({vfs:e,model:r?.model,apiKey:r?.apiKey,headers:r?.headers,signal:r?.signal})}catch(e){L.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function ln(e,t){let n=[];try{let t=await e.readFile(V,{encoding:`utf-8`}),r=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(r);Array.isArray(i)&&(n=i)}catch{}let r=[t,...n.filter(e=>e.filename!==t.filename)];await e.writeFile(V,JSON.stringify(r,null,2))}async function un(e){try{let t=await e.readFile(V,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r:[]}catch{return[]}}function U(e){return`${B}/${e.filename}`}async function dn(e,t,n){if(!t.pendingEnrichment)return null;let r=await pn(e,t);if(r===null)return null;let i=mn(t,r);if(i===null)return null;let a=await hn(t,i,n);if(a===null)return null;let o=await fn(n,a.newTitle);return await gn(e,t,a.bullets,n),await _n(e,t,r,a.newTitle,o)}async function fn(e,t){if(e.pickIcon)try{return await qt(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){L.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function pn(e,t){try{let n=await e.readFile(U(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?L.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):L.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}function mn(e,t){let n;try{n=W(t).messages}catch(t){return L.warn(`Failed to parse pending archive — leaving entry intact`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return n.length===0?(L.info(`Pending archive has no messages — skipping enrichment`,{filename:e.filename}),null):Qt(n)}async function hn(e,t,n){let r=``;try{r=await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:R,headers:n.headers})}catch(t){return L.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let i=``;try{i=rn(await o({messages:t,instruction:a,model:n.model,apiKey:n.apiKey,maxTokens:z,headers:n.headers}))}catch(t){return L.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return i?{bullets:r,newTitle:i}:(L.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function gn(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await cn(e,i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){L.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}async function _n(e,t,n,r,i){let a=U(t),o=vn(n,r),s=`${t.frozenAt.replace(/[:.]/g,`-`)}-${on(r)}.md`,c=`${B}/${s}`;try{await H(e,B),await e.writeFile(c,o)}catch(e){return L.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let l=i??t.icon,u={filename:s,title:r,frozenAt:t.frozenAt,messageCount:t.messageCount,...l?{icon:l}:{}};try{await bn(e,t.filename,u)}catch(e){return L.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}if(c!==a)try{await e.rm(a)}catch(e){L.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:a,error:e instanceof Error?e.message:String(e)})}try{await e.flush()}catch{}return L.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:s,title:r}),u}function vn(e,t){let n=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!n)return e;let r=n[1].replace(/^title:\s*.+$/m,`title: ${JSON.stringify(t)}`),i=n[2];return i=i.replace(/^#\s+[^\n]*$/m,`# ${t}`),`---\n${r}\n---\n${i}`}var yn=Promise.resolve();async function bn(e,t,n){let r=async()=>{let r=[];try{let t=await e.readFile(V,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(n);Array.isArray(i)&&(r=i)}catch{}let i=r.findIndex(e=>e.filename===t),a;i===-1?a=[n,...r.filter(e=>e.filename!==n.filename)]:(a=r.slice(),a[i]=n,a=a.filter((e,t)=>t===i||e.filename!==n.filename)),await e.writeFile(V,JSON.stringify(a,null,2))},i=yn.then(r,r);return yn=i.then(()=>void 0,()=>void 0),i}function W(e){let t=e,n=`Untitled`,r=t.match(/^---\n([\s\S]*?)\n---\n+/);if(r){t=t.slice(r[0].length);let e=r[1].match(/^title:\s*(.+?)\s*$/m);if(e){let t=e[1].trim();if(t.startsWith(`"`))try{let e=JSON.parse(t);typeof e==`string`&&(n=e)}catch{n=t.replace(/^"|"$/g,``)}else n=t}}let i=t.match(/<!-- slicc:session-data\n([\s\S]*?)\n-->\n*/);if(i){try{let e=i[1].replace(/-- >/g,`-->`),t=JSON.parse(e);if(Array.isArray(t))return{title:n,messages:t}}catch{}t=t.replace(/<!-- slicc:session-data\n[\s\S]*?\n-->\n*/,``)}return t=t.replace(/^#\s+[^\n]*\n+/,``),{title:n,messages:xn(t)}}function xn(e){let t=[],n=/^## (User|Assistant)\s*\n/gm,r=[],i;for(;(i=n.exec(e))!==null;)r.push({role:i[1]===`User`?`user`:`assistant`,start:i.index,bodyStart:i.index+i[0].length});for(let n=0;n<r.length;n++){let i=n+1<r.length?r[n+1].start:e.length,a=e.slice(r[n].bodyStart,i).trim();t.push({id:`frozen-${n}`,role:r[n].role,content:a,timestamp:0})}return t}var Sn=`__slicc_binary__`,Cn=`b64`;function wn(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[Sn]===Cn&&typeof t.data==`string`}function G(e){if(e instanceof Uint8Array)return{[Sn]:Cn,data:l(e)};if(Array.isArray(e))return e.map(G);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=G(r);return t}return e}function K(e){if(wn(e))return u(e.data);if(Array.isArray(e))return e.map(K);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=K(r);return t}return e}var Tn=c(`panel-transport`);function En(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Dn(){return{onMessage:e=>{let t=(t,n,r)=>(En(t)&&e(K(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=G(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{Tn.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var q=c(`offscreen-client`),On=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingTranscriptRequests=new Map;pendingStatsRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){q.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Dn(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}createAgentHandle(){return{sendMessage:(e,t,n)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e){if(!e.isCone)throw Error(`OffscreenClient.registerScoop is cone-only; use scoop_scoop for non-cone scoops`);this.scoops.find(t=>t.name===e.name)||(this.scoops.push(e),this.scoopStatuses.set(e.jid,`initializing`)),this.send({type:`cone-create`,name:e.name})}async unregisterScoop(e){this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t){this.send({type:`set-thinking-level`,scoopJid:e,level:t})}async clearAllMessages(){let e=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingClearAcks.set(e,t)});this.send({type:`clear-chat`,requestId:e}),await Promise.race([t,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(e)}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}q.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,originLabel:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}sendWebhookEvent(e,t,n){this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n})}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(q.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):q.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,fills:t.fills,models:t.models??[],scoops:t.scoops??[]}));break}case`tray-runtime-status`:{let t=e;kn(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){q.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}break}}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid);break}if(e.scoopJid===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${J()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${J()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError});break}case`tool_ui`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${J()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});break}case`tool_ui_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});break}case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${J()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}handleScoopStatus(e){this.scoopStatuses.set(e.scoopJid,e.status),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){q.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&kn(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return{jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,type:e.isCone?`cone`:`scoop`,requiresTrigger:!e.isCone,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}}}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){q.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function J(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function kn(e,t){Ee({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),ee({state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime})}function Y(e){return!e.includes(`\0`)}function An(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!Y(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!Y(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!Y(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!Y(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(Y(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function jn(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:(t,n)=>{n&&n.length>0?e.postMessage(t,n):e.postMessage(t)}}}function Mn(e){let t=jn(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function Nn(e,t){let n=jn(e),r=new Map,i=n.onMessage(async e=>{let i=e;if(i?.type){if(i.type===`cdp-cmd`){let r=e;try{let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(i.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(i.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i);return}}});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function Pn(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function Fn(e){let{worker:t,realCdpTransport:n,callbacks:r}=e,i=e.readyTimeoutMs??3e4,a=e.localStorageSeed??{},o=new MessageChannel,s=new MessageChannel,c=new On(r,Mn(o.port1)),l=Nn(s.port1,n),u=null,d=new Promise((e,t)=>{let n=null,r=null,a=()=>{n!==null&&(clearTimeout(n),n=null)};u=()=>{r!==null&&(o.port1.removeEventListener(`message`,r),r=null),a()},r=t=>{t.data?.type===`kernel-worker-ready`&&(u?.(),e())},o.port1.addEventListener(`message`,r),a(),n=setTimeout(()=>{u?.(),t(Error(`Kernel worker did not signal ready within ${i}ms`))},i)}),f={type:`kernel-worker-init`,kernelPort:o.port2,cdpPort:s.port2,localStorageSeed:a,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null};t.postMessage(f,[o.port2,s.port2]);let p=!1;return{client:c,ready:d,dispose(){if(!p){p=!0,u?.(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),o.port1.close(),s.port1.close()}}}}function In(e){return Fn({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-BdGtIGLb.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Pn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId})}var Ln=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function Rn(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function zn(e){let t=e.writeText??(e=>navigator.clipboard.writeText(e)),n=document.createElement(`div`);n.className=`wc-copy-row`,n.style.cssText=`display:flex;justify-content:flex-start;margin:-8px 0 14px;`;let r=document.createElement(`slicc-press-button`);r.setAttribute(`tooltip`,`Copy last response · hold to copy chat`),r.setAttribute(`label`,`Copy last response — hold to copy entire chat`),r.setAttribute(`disable-double-click`,``),r.style.cssText=`color:var(--txt-3);cursor:pointer;display:inline-flex;`;let i=document.createRange();r.append(i.createContextualFragment(Ln));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{await t(Rn(e.getMessages())??I([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=I([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function X(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Bn(e){try{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.sprinkle-action-card__header`);if(t){t.querySelector(`.sprinkle-badge`)?.remove();let e=t.textContent?.trim();if(e)return e}}catch{}return`Approval requested`}function Vn(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Hn(e){return`
253
253
  <div class="sprinkle-action-card">
254
254
  <div class="sprinkle-action-card__header">${Vn(Bn(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
255
255
  <div class="sprinkle-action-card__body">Waiting for approval on the leader&hellip;</div>
256
256
  </div>
257
257
  `}function Un(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Wn=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g=[];#_=[];#v=new Map;#y=null;#b=null;#x=``;#S=!1;#C=!1;#w=`thinking`;#T=0;#E=null;#D=new Set;#O=new Map;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onMessageRendered,this.#a=e.onMessageDisposed,this.#o=e.onTurnComplete,this.#s=e.resolveTelemetryContext,this.#c=e.onQueuedChange,this.#l=e.onQueuedCancel,this.#u=e.onToolUiAction,this.#d=e.readOnlyToolUi??!1,this.#f=e.agent.onEvent(e=>this.#I(e)),this.#h=e=>this.#Y(e),this.#e.addEventListener(`slicc-error-retry`,this.#h)}dispose(){this.#f(),this.#e.removeEventListener(`slicc-error-retry`,this.#h);for(let e of[...this.#O.keys()])this.#J(e)}get processing(){return this.#C}getMessages(){return this.#g.map(e=>({...e}))}setAgent(e){this.#f(),this.#t=e,this.#f=e.onEvent(e=>this.#I(e))}setOnLocalUserMessage(e){this.#p=e}setOnLocalProcessingChange(e){this.#m=e}addUserMessage(e,t){this.#Q({id:X(),role:`user`,content:e,timestamp:Date.now()})}getQueuedMessages(){return this.#_.map(Un)}removeQueuedMessage(e){let t=this.#_.filter(t=>t.id!==e);t.length!==this.#_.length&&(this.#_=t,this.#A())}#k(){if(this.#_.length===0)return;let e=this.#_;this.#_=[];for(let t of e)this.#Q(t);this.#A()}#A(){this.#c?.(this.#_.map(Un))}addAssistantMessage(e){this.#Q({id:X(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e){for(let e of this.#v.keys())this.#a?.(e);for(let e of[...this.#O.keys()])this.#J(e);if(this.#_.length>0){if(this.#l)for(let e of this.#_)try{this.#l(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#_=[],this.#A()}this.#g=Le(e);let t=[...this.#g].reverse().find(e=>e.isStreaming);this.#y=t?.id??null,t&&(this.#b=t.id),this.#x=``,this.#S=!1,this.#v.clear();let n=[],r=``;for(let e of this.#g){let t=new Date(e.timestamp).toDateString();t!==r&&(n.push(Be(e.timestamp)),r=t);let i=this.#Z(e);this.#v.set(e.id,i),n.push(...i)}let i=this.#e;typeof i.replaceContent==`function`?i.replaceContent(...n):i.replaceChildren(...n),this.#ne();for(let e of this.#g)e.isStreaming||this.#i?.(e,this.#v.get(e.id)??[]);this.#F(),this.#ie()}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#j(r):r,a={id:X(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#C?(this.#_.push(a),this.#A()):this.#Q(a),this.#t.sendMessage(i,a.id,a.attachments),this.#M();try{let e=n?.dictation?ke(i):i;this.#p?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#j(e){return je(e,Oe())}#M(){if(this.#s)try{let e=this.#s();if(!e)return;g(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#g[this.#g.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#$(a);return}this.#Q({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#C?!0:void 0})}updateLickState(e,t){let n=this.#g.find(t=>t.lickId===e);n&&(n.lickState=t,this.#$(n))}setProcessing(e){if(this.#C!==e){this.#C=e,e&&(this.#b=null),e&&(this.#T=0,this.#N(`thinking`)),e&&this.#k(),e||this.#F(),this.#n?.(e);try{this.#m?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#P()}}#N(e){this.#w!==e&&(this.#w=e,this.#r?.(e))}#P(){let e=this.#b;if(this.#b=null,!this.#o)return;let t=e?this.#X(e):null;this.#o(t?{...t}:null)}#F(){let e=this.#g[this.#g.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#E?.remove();return}this.#E??=zn({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#E)}#I(e){switch(e.type){case`message_start`:this.#L(e.messageId);break;case`content_delta`:this.#R(e.messageId,e.text);break;case`content_done`:this.#B(e.messageId);break;case`tool_use_start`:this.#V(e.messageId,e.toolName,e.toolInput);break;case`tool_result`:this.#H(e.messageId,e.toolName,e.result,e.isError);break;case`tool_ui`:this.#K(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#q(e.requestId);break;case`turn_end`:this.#U(e.messageId);break;case`error`:this.#W(e.error);break;case`screenshot`:case`terminal_output`:break;default:break}}#L(e){this.setProcessing(!0),this.#y=e,this.#b=e,this.#Q({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#R(e,t){this.#X(e)&&(this.#x+=t,!this.#S&&(this.#S=!0,requestAnimationFrame(()=>this.#z(e))))}#z(e){if(this.#S=!1,!this.#x)return;let t=this.#X(e);t&&(t.content+=this.#x,this.#x=``,this.#$(t))}#B(e){let t=this.#X(e);t&&(this.#x&&this.#y===e&&(t.content+=this.#x),this.#x=``,this.#S=!1,t.isStreaming=!1,this.#$(t))}#V(e,t,n){let r=this.#X(e);r&&(r.toolCalls=r.toolCalls??[],r.toolCalls.push({id:X(),name:t,input:n}),this.#T+=1,this.#N(`tool`),this.#$(r))}#H(e,t,n,r){let i=this.#X(e),a=[...i?.toolCalls??[]].reverse().find(e=>e.name===t&&e.result===void 0);!i||!a||(a.result=n,a.isError=r,this.#T=Math.max(0,this.#T-1),this.#T===0&&this.#N(`thinking`),this.#$(i))}#U(e){let t=this.#X(e);t?.isStreaming&&(t.isStreaming=!1,this.#$(t)),this.#y=null,this.setProcessing(!1)}#W(e){this.setProcessing(!1),this.#Q({id:X(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#G(e)}#G(e){try{if(te(e)||_(e)||m(e))return;p(`error-card`,e)}catch{}}#K(e,t,n){this.#J(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#d){let e=A(r,Hn(n),()=>{},!1);this.#O.set(t,{instance:e,container:r});return}let i=A(r,n,(e,n)=>{this.#u?.(t,e,n)},!1);this.#O.set(t,{instance:i,container:r}),this.#u?.(t,d,void 0)}#q(e){this.#J(e)}#J(e){let t=this.#O.get(e);if(t){this.#O.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#Y(e){if(this.#C)return;let t=e.detail?.messageId??null,n=this.#g.length;if(t){let e=this.#g.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#g[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,X(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#g[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,X(),i.attachments)}#X(e){return this.#g.find(t=>t.id===e)}#Z(e){try{return Ae(e)}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#Q(e){this.#te(),this.#g.push(e);let t=this.#Z(e);this.#v.set(e.id,t),this.#e.append(...t),this.#ne(),e.isStreaming||this.#i?.(e,t),e.role===`user`?this.#ie():this.#ae()}#$(e){this.#te(),this.#a?.(e.id);let t=this.#v.get(e.id)??[],n=this.#Z(e),r=t[0]??null,i=r?.parentNode;if(i){for(let e of n)i.insertBefore(e,r);for(let e of t)e.remove()}else this.#e.append(...n);this.#v.set(e.id,n),this.#ne(),e.isStreaming||this.#i?.(e,n),this.#ae()}#ee(){return this.#e.inner??this.#e}#te(){He(this.#ee(),this.#D)}#ne(){Pe(this.#ee(),{openClusterAnchors:this.#D,toolCallLookup:(e,t)=>this.#re(e,t)})}#re(e,t){return this.#g.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#ie(){this.#e.scrollTop=this.#e.scrollHeight}#ae(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#ie()}};function Gn(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function Kn(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Gn(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function qn(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size===0)return;let n=await Z(e.reader);if(n===null||n.length===0)return;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});await e.writer.writeFile(V,JSON.stringify(r,null,2));for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Z(e){let t=await Jn(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Jn(e){let t;try{let n=await e.readFile(V,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?{kind:`missing`}:{kind:`fault`}}try{let e=JSON.parse(t);return Array.isArray(e)?{kind:`ok`,entries:e}:{kind:`corrupt`}}catch{return{kind:`corrupt`}}}async function Yn(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=(typeof t==`string`?t:new TextDecoder().decode(t)).slice(0,2e3),a=/^title:\s*"?(.*?)"?\s*$/m.exec(i)?.[1]??r,o=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(i)?.[1]??new Date(0).toISOString(),s=Number(/^messageCount:\s*(\d+)\s*$/m.exec(i)?.[1]??0);n.push({filename:r,title:a,frozenAt:o,messageCount:s,...r.startsWith(`pending-`)?{pendingEnrichment:!0}:{}})}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Xn(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Kn))}async function Zn(e,t){let n=await e.readFile(U(t),{encoding:`utf-8`}),r=W(typeof n==`string`?n:new TextDecoder().decode(n));return{title:r.title||t.title,messages:r.messages}}var Qn={".md":`text/markdown`,".txt":`text/plain`,".ts":`text/typescript`,".js":`text/javascript`,".json":`application/json`,".html":`text/html`,".css":`text/css`,".svg":`image/svg+xml`,".png":`image/png`,".jpg":`image/jpeg`,".jpeg":`image/jpeg`,".gif":`image/gif`,".webp":`image/webp`,".mp3":`audio/mpeg`,".wav":`audio/wav`,".ogg":`audio/ogg`,".m4a":`audio/mp4`,".mp4":`video/mp4`,".webm":`video/webm`,".mov":`video/quicktime`};function $n(e){return Qn[e.slice(e.lastIndexOf(`.`)).toLowerCase()]||`application/octet-stream`}function er(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}function tr(e){let{fileTree:t,openFs:n,insertReference:r,toPreviewUrl:i,log:a}=e;t.addEventListener(`file-preview`,async e=>{let{path:t}=e.detail;try{let e=await n(),r=$n(t),i;if(r.startsWith(`text/`)||r===`application/json`)i=await e.readFile(t,{encoding:`utf-8`});else{let n=await e.readFile(t,{encoding:`binary`}),r=new Uint8Array(n.length);r.set(n),i=r.buffer}Re.open({path:t,content:i,mimeType:r})}catch(e){a.error(`File preview failed`,e)}}),t.addEventListener(`file-reference`,e=>{let{path:t}=e.detail;r(t)}),t.addEventListener(`file-download`,async e=>{let{path:t}=e.detail;try{let e=await(await n()).readFile(t,{encoding:`binary`}),r=new Uint8Array(e.length);r.set(e);let i=t.split(`/`).pop()||`download`,a=$n(t),o=new Blob([r],{type:a}),s=URL.createObjectURL(o),c=document.createElement(`a`);c.href=s,c.download=i,c.click(),URL.revokeObjectURL(s)}catch(e){a.error(`File download failed`,e)}}),t.addEventListener(`file-overflow`,e=>{let{path:t,anchor:n}=e.detail,r=[{id:`rename`,label:`Rename`},{id:`duplicate`,label:`Duplicate`},{id:`copy-path`,label:`Copy path`},{id:`open-browser`,label:`Open in browser`,visible:er(t)},{id:`delete`,label:`Delete`,destructive:!0}];Fe.show({anchor:n,items:r,context:{path:t}})}),t.addEventListener(`overflow-action`,async e=>{let{action:t,context:r}=e.detail,{path:o}=r;try{switch(t){case`copy-path`:await navigator.clipboard.writeText(o);break;case`open-browser`:window.open(i(o),`_blank`);break;case`duplicate`:{let e=await n(),t=await e.readFile(o),r=o.lastIndexOf(`.`),i=r>0?`${o.slice(0,r)}_copy${o.slice(r)}`:`${o}_copy`;await e.writeFile(i,t);break}case`delete`:confirm(`Delete ${o.split(`/`).pop()}?`)&&await(await n()).rm(o);break;case`rename`:break}}catch(e){a.error(`Overflow action "${t}" failed`,e)}})}var nr=`/workspace/CLAUDE.md`,Q=64;function rr(e){if(e.length<=Q)return{title:e,summary:``};let t=e.lastIndexOf(` `,Q),n=t>Q/2?t:Q;return{title:`${e.slice(0,n)}…`,summary:e.slice(n).trim()}}function ir(e){let t=[],n=null,r=()=>{if(!n)return;let e=n.join(` `).trim();e&&t.push(rr(e)),n=null};for(let t of e.split(`
258
- `)){let e=/^\s*[-*]\s+(.*)$/.exec(t);e?(r(),n=[e[1]]):n&&t.trim()&&!t.startsWith(`#`)?n.push(t.trim()):(t.startsWith(`#`)||!t.trim())&&r()}return r(),t.length===0&&e.trim()&&t.push(rr(e.trim())),t}async function ar(e){let t=``;try{let n=await e.readFile(nr,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return ir(t).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`title`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`tag`,`project`),t})}async function or(e){let t=e.getScoops(),[n,r,i,a,o,s]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>[])]),c=e.getOAuthProviders(),l=Object.entries(a);return[{id:`cost`,label:`Cost`,count:o?.models.length??0,meta:o?`$${o.totalCost.toFixed(2)}`:void 0,rows:o?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`}))??[]},{id:`scoops`,label:`Scoops`,count:t.length,rows:t.map(t=>{let n=t.isCone?`${t.name||`sliccy`} (cone)`:t.name,r=e.isProcessing(t.jid);return{name:n,meta:r?`processing`:`idle`,active:r}})},{id:`processes`,label:`Processes`,count:s.length,rows:s.map(e=>{let t=e.argv.length>40?e.argv.slice(0,37)+`...`:e.argv,n=e.status===`running`;return{name:`${e.pid}`,meta:t,active:n}})},{id:`cron`,label:`Cron Tasks`,count:n.length,rows:n.map(e=>({name:e.name,meta:e.cron,active:e.status===`active`}))},{id:`webhooks`,label:`Webhooks`,count:r.length,rows:r.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`}))},{id:`workflows`,label:`Workflows`,count:0,rows:[]},{id:`mounts`,label:`Mounts`,count:i.length,rows:i.map(e=>({name:e.targetPath,meta:e.descriptor.kind}))},{id:`mcp`,label:`MCP Servers`,count:l.length,rows:l.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`${n} tool${n===1?``:`s`}`}})},{id:`oauth`,label:`OAuth`,count:c.length,rows:c.map(e=>({name:e,meta:``}))}]}var sr=[`/workspace`,`/shared`],cr=3,lr=200;async function ur(e,t,n){let r;try{r=await e.readDir(t)}catch{return[]}let i=r.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)),a=r.filter(e=>e.type===`file`).sort((e,t)=>e.name.localeCompare(t.name)),o=[...i,...a].slice(0,lr),s=o.filter(e=>e.type===`file`).map(e=>`${t}/${e.name}`),c=await Promise.allSettled(s.map(t=>e.stat(t))),l=new Map;s.forEach((e,t)=>{let n=c[t];n?.status===`fulfilled`&&l.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<cr?await ur(e,i,n+1):[]});else{let e=l.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function dr(e){let t=[];for(let n of sr)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await ur(e,n,1)});return t}function fr(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await dr(t),a||(a=!0,tr({fileTree:e.fileTree,openFs:e.openFs,insertReference:e.insertReference,toPreviewUrl:De,log:e.log}))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},s=()=>{i=!1,n!=null&&(clearInterval(n),n=null),r!=null&&(clearInterval(r),r=null)};return a=>{if(a===`files`){s(),i=!0,e.onKernelReady(()=>{i&&(i=!1,o(),n=setInterval(o,3e3))});return}if(s(),a===`memory`){e.openFs().then(async t=>{e.memoryHost.replaceChildren(...await ar(t))}).catch(t=>e.log.error(`WC memory refresh failed`,t));return}if(a===`monitor`){r!=null&&clearInterval(r);let t=()=>{(async()=>{try{let t=await or(e.getMonitorDeps());e.monitor.sections=t}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};e.monitor.addEventListener(`slicc-monitor-refresh`,t),t(),r=setInterval(t,5e3);return}a===`term`&&!t&&(t=!0,e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}))}}var pr={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},mr={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function hr(e){return e?pr[e]:void 0}function gr(e){return(e&&mr[e])??`off`}function _r(e,t){return e!=null&&e!==`cone`||new URL(t.location.href).searchParams.get(`cherry`)===`1`?!0:f(t.localStorage)}function $(e){return e===`error`?`dead`:e===`initializing`?`none`:`open`}function vr(e,t,n){return[...e].sort((e,t)=>Number(t.isCone)-Number(e.isCone)).map(e=>{let r=n?.get(e.jid);return{key:e.jid,type:e.isCone?`cone`:`scoop`,color:y(e),label:e.isCone?`sliccy`:e.name,eyes:$(t?.get(e.jid)),fill:typeof r==`number`?Math.round(r*100):void 0}})}function yr(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=vr(t.getScoops(),e.statuses,e.fills))},n=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),r=()=>{if(e.getSelected()||n())return;let t=e.getClient()?.getScoops()??[],r=e.pendingUrlContext;if(r?.startsWith(`freezer:`))return;if(r?.startsWith(`scoop:`)){let n=r.slice(6),i=t.find(e=>!e.isCone&&e.name===n);if(i){e.pendingUrlContext=null,e.selectScoop(i);return}}let i=t.find(e=>e.isCone);i&&(e.pendingUrlContext=null,e.selectScoop(i))};return{onStatusChange:(n,r)=>{let i=e.statuses.get(n);e.statuses.set(n,r),$(i)!==$(r)&&t(),e.getSelected()?.jid===n&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:r=>{t(),!e.getSelected()&&!n()&&!e.pendingUrlContext&&e.selectScoop(r)},onScoopListUpdate:()=>{t(),r()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.jid===t&&n.channel!==`web`&&Me(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onMessageUpdate:(t,n)=>{e.getSelected()?.jid===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onScoopMessagesReplaced:(t,n)=>{e.getSelected()?.jid===t&&e.getController()?.loadMessages(n)},onReady:()=>{t(),r(),e.notifyReady?.()}}}async function br(e,n){e.thread.setAttribute(`context`,n.isCone?`cone`:`scoop:${n.name}`),e.thread.setAttribute(`accent`,y(n)),Ie(e,n.isCone?{kind:`cone`}:{kind:`scoop`,accent:y(n)}),e.switcher.setAttribute(`active`,n.jid),e.composerMeta.setAttribute(`thinking`,gr(n.config?.thinkingLevel));try{let{resolveCurrentModel:r,resolveModelById:i}=await t(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-B8BQYvi-.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([30,1,31,12,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33])),a=n.config?.modelId,o=a?i(a):r();e.composerMeta.setAttribute(`model`,o.name??o.id),e.composerMeta.toggleAttribute(`no-thinking`,o.reasoning!==!0)}catch{}}function xr(e){let{refs:n,openVfs:r,client:i,getController:a,getSelected:o,selectScoop:s,clearSelection:c,log:l}=e,u=[],d=0,f=!1,p=()=>{let e=++d;r().then(async({reader:r,writer:i})=>{let a=await Z(r);if(a===null){if((await Jn(r)).kind!==`corrupt`||(l.warn(`WC freezer index corrupt — rebuilding from archives`),a=await Yn(r),a.length===0))return;await i.writeFile(V,JSON.stringify(a,null,2))}e===d&&(u=a,Xn(n.freezer,a),!f&&a.some(e=>!e.icon&&!e.pendingEnrichment)&&(f=!0,t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DugUbqXs.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([10,1,11,12,13,14,15,16,17,2,18,19,20,21,22,23,24,25,26,27,28,29])).then(({pickLucideIcon:e})=>qn({reader:r,writer:i,freezer:n.freezer,entries:a,pickIcon:t=>e({subject:t})})).catch(e=>l.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{f=!1})))}).catch(e=>l.error(`WC freezer refresh failed`,e))},m=!1,h=()=>n.freezer.querySelector(`slicc-freezer-new`),g=e=>{m||(m=!0,h()?.setAttribute(`busy`,``),(async()=>{try{if(e!==`erase`){let{writer:n}=await r(),{runNewSessionFreeze:i,runNewSessionFreezeQuick:a}=await t(async()=>{let{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}=await import(`./new-session-CZfgFwDC.js`);return{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}},__vite__mapDeps([34,12,16,1,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,30,31,32,33,28,35]));e===`save`?await i({vfs:n,onProgress:e=>{let t=h();t&&(e===null?t.removeAttribute(`progress`):t.setAttribute(`progress`,String(e)))},onBackgroundEnriched:()=>p()}):await a({vfs:n})}await i.clearAllMessages(),a()?.loadMessages([]),t(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-F4c_qK1k.js`).then(e=>e.v);return{resetDictationPriming:e}},__vite__mapDeps([36,1,12,30,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0),p();let n=i.getScoops().find(e=>e.isCone);n&&s(n)}catch(e){l.error(`WC new session failed`,e)}finally{m=!1;let e=h();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])n.freezer.addEventListener(`new-chat-${e}`,()=>g(e));let _=async e=>{try{let{reader:t}=await r(),i=u.find(t=>t.filename===e);i||=(await Z(t)??[]).find(t=>t.filename===e);let{messages:o}=await Zn(t,i??{filename:e,title:e,frozenAt:``,messageCount:0});a()?.loadMessages(o),n.thread.setAttribute(`context`,`freezer:${i?.filename??e}`),n.thread.setAttribute(`accent`,Ve),Ie(n,{kind:`freezer`}),n.inputCard.setAttribute(`disabled`,``),n.switcher.removeAttribute(`active`),c()}catch(e){if(l.error(`WC thaw failed`,e),!o()){let e=i.getScoops().find(e=>e.isCone);e&&s(e)}}};return n.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&_(t)}),{refreshFreezer:p,openFrozen:_}}function Sr(e,t){let n=null,r=ze(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,onSurfaceActivate:e=>n?.(e),urlState:!0}),i=null,a=null,o=null,s=!1,c=new Set,l=e=>{if(o=e,!a)return;let t=a.selectedScoopJid;if(t&&t!==e.jid){let e=i?.getQueuedMessages()??[];for(let n of e)a.deleteQueuedMessage(t,n.id).catch(()=>void 0)}a.setSelectedScoopJid(e.jid),r.inputCard.removeAttribute(`disabled`),br(r,e),a.requestScoopMessages(e.jid),i?.setProcessing(a.isProcessing(e.jid)),r.switcher.hasAttribute(`attention`)||r.switcher.setAttribute(`attention`,e.jid)};return{refs:r,wiring:{refs:r,statuses:new Map,fills:new Map,lastActivity:new Map,pendingUrlContext:r.thread.urlContext??null,getController:()=>i,getClient:()=>a,getSelected:()=>o,selectScoop:l,notifyReady:()=>{s=!0;for(let e of c)e()}},setClient:e=>{a=e},selectScoop:l,getSelected:()=>o,clearSelection:()=>{o=null},getController:()=>i,setController:e=>{i=e},setActivateSurface:e=>{n=e;let t=r.workbenchBody.getAttribute(`active`);t&&r.shell.hasAttribute(`open`)&&(s?e(t):c.add(()=>e(t)))},onClientReady:e=>{c.add(e),s&&e()}}}function Cr(e){let n=null;return()=>(n??=(async()=>{let[{createRemoteVfsClient:n},{createRemoteWritableVfsClient:r}]=await Promise.all([t(()=>import(`./remote-vfs-client-Z2qM01yP.js`),__vite__mapDeps([40,41])),t(()=>import(`./writable-vfs-client-BKZGifKZ.js`),__vite__mapDeps([42,41]))]);return{reader:n({transport:e.getTransport()}),writer:r({transport:e.getTransport()})}})(),n)}function wr(e,n,r,i,a){e.onClientReady(()=>{i.intercept||t(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DBuOe-4Z.js`);return{wireWcOnboarding:e}},__vite__mapDeps([43,12,30,1,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33,44])).then(({wireWcOnboarding:t})=>t({client:n,getController:()=>e.getController(),openVfs:r,log:a})).then(e=>{i.intercept=e.interceptWelcomeLick}).catch(e=>a.error(`WC onboarding wiring failed`,e))})}function Tr(e,i,a,o,s){let c=new Map;t(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-CF6h7ytf.js`);return{loadDipStyles:e}},__vite__mapDeps([45,12])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),t(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-Bgsl5v2i.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([46,1,47,2])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),t(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-DqVfCCym.js`).then(e=>e.f);return{applyThemeOverrides:e}},__vite__mapDeps([47,1,2])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let l=i.createAgentHandle();l.onEvent(e=>{e.type!==`tool_use_start`&&e.type!==`tool_result`||t(async()=>{let{playCue:e}=await import(`./soundscape-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([48,2,38])).then(({playCue:t})=>t(e.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0)});let u=new Wn({thread:e.thread,agent:l,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let t=e.isCone?`cone`:e.name;try{let i=e.config?.modelId;return{scoopName:t,model:(i?r(i):n()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{t(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-C3JNppH1.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([49,2,36,1,12,30,31,16,11,13,14,15,17,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39,50,51,52,53,54])).then(async({consumeVoiceSubmission:n,speakReplyMarkdown:r})=>{if(!n())return;let{endVoiceTurn:i,setTtsActive:a}=await t(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([48,2,38]));try{if(e?.content){a(!0);try{await r(e.content)}finally{a(!1)}}}finally{i()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||o?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onMessageDisposed:e=>{let t=c.get(e);t&&(wt(t),c.delete(e))},onMessageRendered:(e,t)=>{let n=t[0];n&&c.set(e.id,Ct(n,(e,t)=>{let n={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};s?.intercept?.(n)||i.sendSprinkleLick(`inline`,{action:e,data:t})}))},onQueuedChange:t=>{e.queuedStack.setMessages(t)},onToolUiAction:(e,t,n)=>{i.sendToolUiAction(e,t,n)},onQueuedCancel:e=>{let t=i.selectedScoopJid;t&&i.deleteQueuedMessage(t,e).catch(()=>void 0)}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;u.removeQueuedMessage(t);let n=i.selectedScoopJid;n&&i.deleteQueuedMessage(n,t).catch(()=>void 0)}),{controller:u,agentHandle:l}}function Er(e){let{boot:n,client:r,agentHandle:i,openReader:a,log:o}=e,{refs:s}=n;t(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-DwXu4by3.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([55,12,36,1,30,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39])).then(({createPlaceholderRefresher:t})=>{e.setRefreshPlaceholder(t({inputCard:s.inputCard,getMessages:()=>n.getController()?.getMessages()??[],defaultPlaceholder:s.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),(async()=>{try{if(_r(n.wiring.pendingUrlContext,window))return;let{SessionStore:r}=await t(async()=>{let{SessionStore:e}=await import(`./session-store-DAM8GRJ0.js`);return{SessionStore:e}},[]),i=new r;await i.init();let a=await i.load(`session-cone`);a&&a.messages.length>0&&!n.getSelected()&&(n.getController()?.loadMessages(a.messages),e.triggerPlaceholder())}catch(e){o.warn(`WC session hydration failed`,e)}})();let c=null;return t(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-CmziQAkQ.js`);return{wireWcAttach:e}},__vite__mapDeps([56,12,18,57,1])).then(({wireWcAttach:n})=>{c=n({inputCard:s.inputCard,freezer:s.freezer,composer:s.composer,openReader:a,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await t(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-1vroog1g.js`);return{readSessionsIndex:e}},[]);return(await e(await a())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:o})}).catch(e=>o.error(`WC add-menu wiring failed`,e)),s.inputCard.addEventListener(`submit`,e=>{let r=Ne(e);if(!r)return;let i=e.detail?.source===`dictation`;i&&(t(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-C3JNppH1.js`);return{markVoiceSubmission:e}},__vite__mapDeps([49,2,36,1,12,30,31,16,11,13,14,15,17,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39,50,51,52,53,54])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),t(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([48,2,38])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),n.getController()?.sendUserMessage(r,c?.take(),{dictation:i}),s.inputCard.clear?.();let a=n.getSelected()?.jid;a&&(s.switcher.setAttribute(`attention`,a),n.wiring.lastActivity.set(a,r.slice(0,600)))}),s.inputCard.addEventListener(`stop`,()=>{n.getController()?.processing&&i.stop()}),t(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:s.thread,inputCard:s.inputCard})).catch(e=>o.error(`WC history nav wiring failed`,e)),s.composerMeta.addEventListener(`thinking-change`,e=>{let t=e.detail?.thinking,i=hr(t),a=n.getSelected();a&&i&&r.setScoopThinkingLevel(a.jid,i)}),{getAttachStage:()=>c}}function Dr(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2));let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=vr(t.getScoops(),e.statuses,e.fills)})};return setInterval(n,15e3),n}function Or(e,n,r){let i=n.standalone;i&&t(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DunWpcR7.js`);return{wireWcBrowser:e}},[]).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:i.browser,log:r})).catch(e=>r.error(`WC browser overlay wiring failed`,e))}function kr(e,t){let{refs:n}=e;n.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.getScoops().find(e=>e.jid===r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)}),jr({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function Ar(e){return()=>{e.triggerPlaceholder(),e.refreshStats();let t=e.boot.getSelected()?.jid;if(!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function jr(e){let n=new Map,r=new Set;e.switcher.addEventListener(`pointerover`,i=>{let a=i.target?.closest?.(`slicc-pill.scoop`);if(!a||!e.switcher.contains(a))return;let o=a.dataset.k??``,s=e.getScoops().find(e=>e.jid===o);if(!s)return;let c=e.lastActivity.get(o)??``,l=n.get(o);if(l&&l.activity===c){a.title=l.tip;return}a.title||=s.isCone?`sliccy`:s.name,!(!c||r.has(o))&&(r.add(o),(async()=>{try{let r=await(e.labelFn??(await t(async()=>{let{quickLabel:e}=await import(`./quick-llm-DugUbqXs.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([10,1,11,12,13,14,15,16,17,2,18,19,20,21,22,23,24,25,26,27,28,29]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${s.isCone?`sliccy (the main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});r&&(n.set(o,{activity:c,tip:r}),a.title=r)}finally{r.delete(o)}})())})}async function Mr(e,n,r){let{RemoteTerminalView:i}=await t(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-e7H-FPmf.js`);return{RemoteTerminalView:e}},__vite__mapDeps([58,1,12,23,2,57,59,0,3,9,60,8,5,6,7,4,61])),{fetchSecretEnvVars:a}=await t(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-C-5TIS7_.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([62,2,19,1,12,18,20,21,22])),o=await a(),s=new i({client:n,cwd:`/`,env:Object.keys(o).length>0?o:void 0});await new Promise(t=>e.onClientReady(t)),await s.mount(r),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function Nr(e,t,n){let r=r=>{if(r.startsWith(`freezer:`)){n(r.slice(8));return}let i=t.getScoops(),a=r.startsWith(`scoop:`)?i.find(e=>!e.isCone&&e.name===r.slice(6)):i.find(e=>e.isCone);a&&a.jid!==e.getSelected()?.jid&&e.selectScoop(a)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function Pr(e,n,r,i){t(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-BEqQSC-7.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([63,12,2,57,1])).then(async({installLeaderPermissionsSurface:i,installMountPendingConsumer:a})=>{let o=r.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await t(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-Cdznv6xX.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([64,12]));i({runtimeMode:o,providers:await s(c()||o===`extension`||o===`extension-detached`)}),a({runShell:Fr(e,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e))}function Fr(e,n){let r=null,i=()=>(r||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:r}=await t(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-CbAduNfC.js`);return{TerminalSessionClient:e}},[]),i=new r({client:n,sid:`mount-drop-${Date.now()}`});return await i.open({cwd:`/workspace`}),i})().catch(e=>{throw r=null,e}),r);return async e=>(await i()).exec(e)}function Ir(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function Lr(e,n,r,i={}){let{refs:a}=e;e.setClient(n);let o=null,s=Dr(e.wiring,n),c=()=>o?.(),l={intercept:null},{controller:u,agentHandle:d}=Tr(a,n,()=>e.getSelected(),Ar({boot:e,triggerPlaceholder:c,refreshStats:s}),l);e.setController(u),e.onClientReady(s);let f=Cr(n),p=async()=>(await f()).reader;i.standalone?.runtimeMode!==`cherry`&&i.standalone?.runtimeMode!==`hosted-leader`&&wr(e,n,f,l,r);let m=Er({boot:e,client:n,agentHandle:d,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:p,openWriter:async()=>(await f()).writer,log:r});kr(e,n),Or(e,i,r),Pr(e,n,i,r),e.setActivateSurface(fr({fileTree:a.fileTree,termSurface:a.termSurface,memoryHost:a.memoryHost,monitor:a.monitor,openFs:p,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>({getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await t(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-JDSZRBe-.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([65,1,2,19,12,18,20,30,31,16,11,13,14,15,17,21,22,23,24,25,26,27,32,33]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await t(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-JDSZRBe-.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([65,1,2,19,12,18,20,30,31,16,11,13,14,15,17,21,22,23,24,25,26,27,32,33]));return e()},getMounts:async()=>{let{getAllMountEntries:e}=await t(async()=>{let{getAllMountEntries:e}=await import(`./mount-table-store-CfQUN_2R.js`).then(e=>e.r);return{getAllMountEntries:e}},__vite__mapDeps([66,1]));return e()},getMcpServers:async()=>{try{let e=await(await p()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=localStorage.getItem(`slicc_accounts`);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=t.map(e=>e.providerId).filter(e=>typeof e==`string`);return[...new Set(n)]}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await p(),t=await e.readDir(`/proc`),n=[];for(let r of t.filter(e=>e.type===`directory`&&/^\d+$/.test(e.name)))try{let t=await e.readFile(`/proc/${r.name}/status`,{encoding:`utf-8`}),i=await e.readFile(`/proc/${r.name}/cmdline`,{encoding:`utf-8`});n.push({pid:parseInt(r.name,10),argv:String(i).trim(),status:String(t).trim()})}catch{}return n}catch{return[]}}}),mountTerminal:t=>Mr(e,n,t),insertReference:e=>{let t=a.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:r})),a.floatbar.addEventListener(`click`,()=>{a.shell.hasAttribute(`open`)&&a.workbenchBody.getAttribute(`active`)===`monitor`?(a.shell.removeAttribute(`open`),a.dock.removeAttribute(`active`)):a.dock.selectItem(`monitor`)});let{refreshFreezer:h,openFrozen:g}=xr({refs:a,openVfs:f,client:n,getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:r});h(),e.onClientReady(h),Nr(e,n,g),f().then(async({reader:e})=>{let{installPreviewVfsResponder:n}=await t(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Dhck1Brc.js`);return{installPreviewVfsResponder:e}},[]);n({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:r})}).catch(e=>r.warn(`WC page-VFS support wiring failed`,e)),f().then(async({reader:o,writer:s})=>{let{createRemoteSprinkleVfs:c}=await t(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-e81pZJKo.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([67,41])),{wireWcSprinkles:l}=await t(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-7cEAdNxM.js`);return{wireWcSprinkles:e}},__vite__mapDeps([68,12])),u=await l({refs:a,client:n,fs:c({reader:o,writer:s}),instanceId:i.instanceId,onAttachImage:Ir(m,r),log:r});if(e.onClientReady(()=>void u.resync()),i.standalone&&i.instanceId){let{wireWcTray:o}=await t(async()=>{let{wireWcTray:e}=await import(`./wc-tray-Bx75xP9b.js`);return{wireWcTray:e}},__vite__mapDeps([69,12,16,1,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,30,31,32,33,70,60,65,36,29,37,38,39,71,53,54,72,46,47])),s=u.zone.callbacks();await o({refs:a,client:n,browser:i.standalone.browser,realCdpTransport:i.standalone.realCdpTransport,instanceId:i.instanceId,runtimeMode:i.standalone.runtimeMode,sprinkleManager:u.manager,addSprinkle:(e,t,n)=>s.addSprinkle(e,t,n),removeSprinkle:e=>s.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.jid??`cone`,agentHandle:d,openFs:p,baseFloatLabel:i.standalone.baseFloatLabel,window,log:r})}}).catch(e=>r.error(`WC sprinkle/tray wiring failed`,e)),t(async()=>{let{wireWcNav:e}=await import(`./wc-nav-C82YIWHr.js`);return{wireWcNav:e}},__vite__mapDeps([73,12,33,1,30,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,65])).then(({wireWcNav:e})=>e({refs:a,client:n,log:r})).catch(e=>r.error(`WC nav wiring failed`,e)),t(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-DGdt7VJq.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([74,2,57,1,37,51,52,19,12,18,20,53,54,75])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=a.composer;t(i.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>r.error(`WC push-to-talk wiring failed`,e)),t(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-DU69S7oq.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([50,12,2,51,52,19,1,18,20,53,54])).then(({setSpeakAssetsInstanceId:e})=>e(i.instanceId)).catch(e=>r.error(`WC say warmup wiring failed`,e))}async function Rr(e,n,r=`standalone`){let{browser:i,realCdpTransport:a,instanceId:o,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await h({runtimeMode:r,envBaseUrl:null,window,log:n}),{resolveStandaloneFloatLabel:f,DEFAULT_STANDALONE_LABEL:p}=await t(async()=>{let{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}=await import(`./wc-float-label-bfJhTEza.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([76,19,1,12,18,20])),m=r===`standalone`||r===`electron-overlay`?await f():p,g=Sr(e,m),_=In({realCdpTransport:a,instanceId:o,callbacks:yr(g.wiring),localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u});An({send:e=>_.client.sendRaw(e)}),d?.(_.client),Lr(g,_.client,n,{instanceId:o,standalone:{browser:i,realCdpTransport:a,runtimeMode:r,baseFloatLabel:m}});let{setupSudoStandalone:ee}=await t(async()=>{let{setupSudoStandalone:e}=await import(`./main-B8BQYvi-.js`).then(e=>e._);return{setupSudoStandalone:e}},__vite__mapDeps([30,1,31,12,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33]));await ee({log:n}),await _.ready,g.wiring.notifyReady?.(),n.info(`WC live shell ready`,{scoops:_.client.getScoops().length})}export{Gt as a,Lr as attachWcClient,un as c,yr as createWcLiveCallbacks,M as d,Ct as f,dn as i,ot as l,st as m,Rr as mountWcUiLive,On as n,U as o,A as p,Sr as prepareWcShell,V as r,W as s,Wn as t,wt as u};
258
+ `)){let e=/^\s*[-*]\s+(.*)$/.exec(t);e?(r(),n=[e[1]]):n&&t.trim()&&!t.startsWith(`#`)?n.push(t.trim()):(t.startsWith(`#`)||!t.trim())&&r()}return r(),t.length===0&&e.trim()&&t.push(rr(e.trim())),t}async function ar(e){let t=``;try{let n=await e.readFile(nr,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return ir(t).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`title`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`tag`,`project`),t})}async function or(e){let t=e.getScoops(),[n,r,i,a,o,s]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>[])]),c=e.getOAuthProviders(),l=Object.entries(a);return[{id:`cost`,label:`Cost`,count:o?.models.length??0,meta:o?`$${o.totalCost.toFixed(2)}`:void 0,rows:o?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`}))??[]},{id:`scoops`,label:`Scoops`,count:t.length,rows:t.map(t=>{let n=t.isCone?`${t.name||`sliccy`} (cone)`:t.name,r=e.isProcessing(t.jid);return{name:n,meta:r?`processing`:`idle`,active:r}})},{id:`processes`,label:`Processes`,count:s.length,rows:s.map(e=>{let t=e.argv.length>40?e.argv.slice(0,37)+`...`:e.argv,n=e.status===`running`;return{name:`${e.pid}`,meta:t,active:n}})},{id:`cron`,label:`Cron Tasks`,count:n.length,rows:n.map(e=>({name:e.name,meta:e.cron,active:e.status===`active`}))},{id:`webhooks`,label:`Webhooks`,count:r.length,rows:r.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`}))},{id:`workflows`,label:`Workflows`,count:0,rows:[]},{id:`mounts`,label:`Mounts`,count:i.length,rows:i.map(e=>({name:e.targetPath,meta:e.descriptor.kind}))},{id:`mcp`,label:`MCP Servers`,count:l.length,rows:l.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`${n} tool${n===1?``:`s`}`}})},{id:`oauth`,label:`OAuth`,count:c.length,rows:c.map(e=>({name:e,meta:``}))}]}var sr=[`/workspace`,`/shared`],cr=3,lr=200;async function ur(e,t,n){let r;try{r=await e.readDir(t)}catch{return[]}let i=r.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)),a=r.filter(e=>e.type===`file`).sort((e,t)=>e.name.localeCompare(t.name)),o=[...i,...a].slice(0,lr),s=o.filter(e=>e.type===`file`).map(e=>`${t}/${e.name}`),c=await Promise.allSettled(s.map(t=>e.stat(t))),l=new Map;s.forEach((e,t)=>{let n=c[t];n?.status===`fulfilled`&&l.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<cr?await ur(e,i,n+1):[]});else{let e=l.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function dr(e){let t=[];for(let n of sr)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await ur(e,n,1)});return t}function fr(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await dr(t),a||(a=!0,tr({fileTree:e.fileTree,openFs:e.openFs,insertReference:e.insertReference,toPreviewUrl:De,log:e.log}))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},s=()=>{i=!1,n!=null&&(clearInterval(n),n=null),r!=null&&(clearInterval(r),r=null)};return a=>{if(a===`files`){s(),i=!0,e.onKernelReady(()=>{i&&(i=!1,o(),n=setInterval(o,3e3))});return}if(s(),a===`memory`){e.openFs().then(async t=>{e.memoryHost.replaceChildren(...await ar(t))}).catch(t=>e.log.error(`WC memory refresh failed`,t));return}if(a===`monitor`){r!=null&&clearInterval(r);let t=()=>{(async()=>{try{let t=await or(e.getMonitorDeps());e.monitor.sections=t}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};e.monitor.addEventListener(`slicc-monitor-refresh`,t),t(),r=setInterval(t,5e3);return}a===`term`&&!t&&(t=!0,e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}))}}var pr={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},mr={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function hr(e){return e?pr[e]:void 0}function gr(e){return(e&&mr[e])??`off`}function _r(e,t){return e!=null&&e!==`cone`||new URL(t.location.href).searchParams.get(`cherry`)===`1`?!0:f(t.localStorage)}function $(e){return e===`error`?`dead`:e===`initializing`?`none`:`open`}function vr(e,t,n){return[...e].sort((e,t)=>Number(t.isCone)-Number(e.isCone)).map(e=>{let r=n?.get(e.jid);return{key:e.jid,type:e.isCone?`cone`:`scoop`,color:y(e),label:e.isCone?`sliccy`:e.name,eyes:$(t?.get(e.jid)),fill:typeof r==`number`?Math.round(r*100):void 0}})}function yr(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=vr(t.getScoops(),e.statuses,e.fills))},n=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),r=()=>{if(e.getSelected()||n())return;let t=e.getClient()?.getScoops()??[],r=e.pendingUrlContext;if(r?.startsWith(`freezer:`))return;if(r?.startsWith(`scoop:`)){let n=r.slice(6),i=t.find(e=>!e.isCone&&e.name===n);if(i){e.pendingUrlContext=null,e.selectScoop(i);return}}let i=t.find(e=>e.isCone);i&&(e.pendingUrlContext=null,e.selectScoop(i))};return{onStatusChange:(n,r)=>{let i=e.statuses.get(n);e.statuses.set(n,r),$(i)!==$(r)&&t(),e.getSelected()?.jid===n&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:r=>{t(),!e.getSelected()&&!n()&&!e.pendingUrlContext&&e.selectScoop(r)},onScoopListUpdate:()=>{t(),r()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.jid===t&&n.channel!==`web`&&Me(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onMessageUpdate:(t,n)=>{e.getSelected()?.jid===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onScoopMessagesReplaced:(t,n)=>{e.getSelected()?.jid===t&&e.getController()?.loadMessages(n)},onReady:()=>{t(),r(),e.notifyReady?.()}}}async function br(e,n){e.thread.setAttribute(`context`,n.isCone?`cone`:`scoop:${n.name}`),e.thread.setAttribute(`accent`,y(n)),Ie(e,n.isCone?{kind:`cone`}:{kind:`scoop`,accent:y(n)}),e.switcher.setAttribute(`active`,n.jid),e.composerMeta.setAttribute(`thinking`,gr(n.config?.thinkingLevel));try{let{resolveCurrentModel:r,resolveModelById:i}=await t(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-BZD1yR6G.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([30,1,31,12,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33])),a=n.config?.modelId,o=a?i(a):r();e.composerMeta.setAttribute(`model`,o.name??o.id),e.composerMeta.toggleAttribute(`no-thinking`,o.reasoning!==!0)}catch{}}function xr(e){let{refs:n,openVfs:r,client:i,getController:a,getSelected:o,selectScoop:s,clearSelection:c,log:l}=e,u=[],d=0,f=!1,p=()=>{let e=++d;r().then(async({reader:r,writer:i})=>{let a=await Z(r);if(a===null){if((await Jn(r)).kind!==`corrupt`||(l.warn(`WC freezer index corrupt — rebuilding from archives`),a=await Yn(r),a.length===0))return;await i.writeFile(V,JSON.stringify(a,null,2))}e===d&&(u=a,Xn(n.freezer,a),!f&&a.some(e=>!e.icon&&!e.pendingEnrichment)&&(f=!0,t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-SrUvWlQL.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([10,1,11,12,13,14,15,16,17,2,18,19,20,21,22,23,24,25,26,27,28,29])).then(({pickLucideIcon:e})=>qn({reader:r,writer:i,freezer:n.freezer,entries:a,pickIcon:t=>e({subject:t})})).catch(e=>l.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{f=!1})))}).catch(e=>l.error(`WC freezer refresh failed`,e))},m=!1,h=()=>n.freezer.querySelector(`slicc-freezer-new`),g=e=>{m||(m=!0,h()?.setAttribute(`busy`,``),(async()=>{try{if(e!==`erase`){let{writer:n}=await r(),{runNewSessionFreeze:i,runNewSessionFreezeQuick:a}=await t(async()=>{let{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}=await import(`./new-session-CIhwlqgm.js`);return{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}},__vite__mapDeps([34,12,16,1,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,30,31,32,33,28,35]));e===`save`?await i({vfs:n,onProgress:e=>{let t=h();t&&(e===null?t.removeAttribute(`progress`):t.setAttribute(`progress`,String(e)))},onBackgroundEnriched:()=>p()}):await a({vfs:n})}await i.clearAllMessages(),a()?.loadMessages([]),t(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-CknN8aLi.js`).then(e=>e.v);return{resetDictationPriming:e}},__vite__mapDeps([36,1,12,30,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0),p();let n=i.getScoops().find(e=>e.isCone);n&&s(n)}catch(e){l.error(`WC new session failed`,e)}finally{m=!1;let e=h();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])n.freezer.addEventListener(`new-chat-${e}`,()=>g(e));let _=async e=>{try{let{reader:t}=await r(),i=u.find(t=>t.filename===e);i||=(await Z(t)??[]).find(t=>t.filename===e);let{messages:o}=await Zn(t,i??{filename:e,title:e,frozenAt:``,messageCount:0});a()?.loadMessages(o),n.thread.setAttribute(`context`,`freezer:${i?.filename??e}`),n.thread.setAttribute(`accent`,Ve),Ie(n,{kind:`freezer`}),n.inputCard.setAttribute(`disabled`,``),n.switcher.removeAttribute(`active`),c()}catch(e){if(l.error(`WC thaw failed`,e),!o()){let e=i.getScoops().find(e=>e.isCone);e&&s(e)}}};return n.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&_(t)}),{refreshFreezer:p,openFrozen:_}}function Sr(e,t){let n=null,r=ze(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,onSurfaceActivate:e=>n?.(e),urlState:!0}),i=null,a=null,o=null,s=!1,c=new Set,l=e=>{if(o=e,!a)return;let t=a.selectedScoopJid;if(t&&t!==e.jid){let e=i?.getQueuedMessages()??[];for(let n of e)a.deleteQueuedMessage(t,n.id).catch(()=>void 0)}a.setSelectedScoopJid(e.jid),r.inputCard.removeAttribute(`disabled`),br(r,e),a.requestScoopMessages(e.jid),i?.setProcessing(a.isProcessing(e.jid)),r.switcher.hasAttribute(`attention`)||r.switcher.setAttribute(`attention`,e.jid)};return{refs:r,wiring:{refs:r,statuses:new Map,fills:new Map,lastActivity:new Map,pendingUrlContext:r.thread.urlContext??null,getController:()=>i,getClient:()=>a,getSelected:()=>o,selectScoop:l,notifyReady:()=>{s=!0;for(let e of c)e()}},setClient:e=>{a=e},selectScoop:l,getSelected:()=>o,clearSelection:()=>{o=null},getController:()=>i,setController:e=>{i=e},setActivateSurface:e=>{n=e;let t=r.workbenchBody.getAttribute(`active`);t&&r.shell.hasAttribute(`open`)&&(s?e(t):c.add(()=>e(t)))},onClientReady:e=>{c.add(e),s&&e()}}}function Cr(e){let n=null;return()=>(n??=(async()=>{let[{createRemoteVfsClient:n},{createRemoteWritableVfsClient:r}]=await Promise.all([t(()=>import(`./remote-vfs-client-Z2qM01yP.js`),__vite__mapDeps([40,41])),t(()=>import(`./writable-vfs-client-BKZGifKZ.js`),__vite__mapDeps([42,41]))]);return{reader:n({transport:e.getTransport()}),writer:r({transport:e.getTransport()})}})(),n)}function wr(e,n,r,i,a){e.onClientReady(()=>{i.intercept||t(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-4zmaOgF7.js`);return{wireWcOnboarding:e}},__vite__mapDeps([43,12,30,1,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33,44])).then(({wireWcOnboarding:t})=>t({client:n,getController:()=>e.getController(),openVfs:r,log:a})).then(e=>{i.intercept=e.interceptWelcomeLick}).catch(e=>a.error(`WC onboarding wiring failed`,e))})}function Tr(e,i,a,o,s){let c=new Map;t(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-CuB1P3LZ.js`);return{loadDipStyles:e}},__vite__mapDeps([45,12])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),t(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-Bgsl5v2i.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([46,1,47,2])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),t(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-DqVfCCym.js`).then(e=>e.f);return{applyThemeOverrides:e}},__vite__mapDeps([47,1,2])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let l=i.createAgentHandle();l.onEvent(e=>{e.type!==`tool_use_start`&&e.type!==`tool_result`||t(async()=>{let{playCue:e}=await import(`./soundscape-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([48,2,38])).then(({playCue:t})=>t(e.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0)});let u=new Wn({thread:e.thread,agent:l,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let t=e.isCone?`cone`:e.name;try{let i=e.config?.modelId;return{scoopName:t,model:(i?r(i):n()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{t(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-BRGIoGzh.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([49,2,36,1,12,30,31,16,11,13,14,15,17,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39,50,51,52,53,54])).then(async({consumeVoiceSubmission:n,speakReplyMarkdown:r})=>{if(!n())return;let{endVoiceTurn:i,setTtsActive:a}=await t(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([48,2,38]));try{if(e?.content){a(!0);try{await r(e.content)}finally{a(!1)}}}finally{i()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||o?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onMessageDisposed:e=>{let t=c.get(e);t&&(wt(t),c.delete(e))},onMessageRendered:(e,t)=>{let n=t[0];n&&c.set(e.id,Ct(n,(e,t)=>{let n={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};s?.intercept?.(n)||i.sendSprinkleLick(`inline`,{action:e,data:t})}))},onQueuedChange:t=>{e.queuedStack.setMessages(t)},onToolUiAction:(e,t,n)=>{i.sendToolUiAction(e,t,n)},onQueuedCancel:e=>{let t=i.selectedScoopJid;t&&i.deleteQueuedMessage(t,e).catch(()=>void 0)}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;u.removeQueuedMessage(t);let n=i.selectedScoopJid;n&&i.deleteQueuedMessage(n,t).catch(()=>void 0)}),{controller:u,agentHandle:l}}function Er(e){let{boot:n,client:r,agentHandle:i,openReader:a,log:o}=e,{refs:s}=n;t(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-DCOTxmJU.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([55,12,36,1,30,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39])).then(({createPlaceholderRefresher:t})=>{e.setRefreshPlaceholder(t({inputCard:s.inputCard,getMessages:()=>n.getController()?.getMessages()??[],defaultPlaceholder:s.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),(async()=>{try{if(_r(n.wiring.pendingUrlContext,window))return;let{SessionStore:r}=await t(async()=>{let{SessionStore:e}=await import(`./session-store-DAM8GRJ0.js`);return{SessionStore:e}},[]),i=new r;await i.init();let a=await i.load(`session-cone`);a&&a.messages.length>0&&!n.getSelected()&&(n.getController()?.loadMessages(a.messages),e.triggerPlaceholder())}catch(e){o.warn(`WC session hydration failed`,e)}})();let c=null;return t(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-DNO7iG8W.js`);return{wireWcAttach:e}},__vite__mapDeps([56,12,18,57,1])).then(({wireWcAttach:n})=>{c=n({inputCard:s.inputCard,freezer:s.freezer,composer:s.composer,openReader:a,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await t(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-gSz0mPiW.js`);return{readSessionsIndex:e}},[]);return(await e(await a())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:o})}).catch(e=>o.error(`WC add-menu wiring failed`,e)),s.inputCard.addEventListener(`submit`,e=>{let r=Ne(e);if(!r)return;let i=e.detail?.source===`dictation`;i&&(t(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-BRGIoGzh.js`);return{markVoiceSubmission:e}},__vite__mapDeps([49,2,36,1,12,30,31,16,11,13,14,15,17,18,19,20,21,22,23,24,25,26,27,32,33,29,37,38,39,50,51,52,53,54])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),t(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([48,2,38])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),n.getController()?.sendUserMessage(r,c?.take(),{dictation:i}),s.inputCard.clear?.();let a=n.getSelected()?.jid;a&&(s.switcher.setAttribute(`attention`,a),n.wiring.lastActivity.set(a,r.slice(0,600)))}),s.inputCard.addEventListener(`stop`,()=>{n.getController()?.processing&&i.stop()}),t(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:s.thread,inputCard:s.inputCard})).catch(e=>o.error(`WC history nav wiring failed`,e)),s.composerMeta.addEventListener(`thinking-change`,e=>{let t=e.detail?.thinking,i=hr(t),a=n.getSelected();a&&i&&r.setScoopThinkingLevel(a.jid,i)}),{getAttachStage:()=>c}}function Dr(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2));let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=vr(t.getScoops(),e.statuses,e.fills)})};return setInterval(n,15e3),n}function Or(e,n,r){let i=n.standalone;i&&t(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DunWpcR7.js`);return{wireWcBrowser:e}},[]).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:i.browser,log:r})).catch(e=>r.error(`WC browser overlay wiring failed`,e))}function kr(e,t){let{refs:n}=e;n.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.getScoops().find(e=>e.jid===r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)}),jr({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function Ar(e){return()=>{e.triggerPlaceholder(),e.refreshStats();let t=e.boot.getSelected()?.jid;if(!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function jr(e){let n=new Map,r=new Set;e.switcher.addEventListener(`pointerover`,i=>{let a=i.target?.closest?.(`slicc-pill.scoop`);if(!a||!e.switcher.contains(a))return;let o=a.dataset.k??``,s=e.getScoops().find(e=>e.jid===o);if(!s)return;let c=e.lastActivity.get(o)??``,l=n.get(o);if(l&&l.activity===c){a.title=l.tip;return}a.title||=s.isCone?`sliccy`:s.name,!(!c||r.has(o))&&(r.add(o),(async()=>{try{let r=await(e.labelFn??(await t(async()=>{let{quickLabel:e}=await import(`./quick-llm-SrUvWlQL.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([10,1,11,12,13,14,15,16,17,2,18,19,20,21,22,23,24,25,26,27,28,29]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${s.isCone?`sliccy (the main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});r&&(n.set(o,{activity:c,tip:r}),a.title=r)}finally{r.delete(o)}})())})}async function Mr(e,n,r){let{RemoteTerminalView:i}=await t(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-e7H-FPmf.js`);return{RemoteTerminalView:e}},__vite__mapDeps([58,1,12,23,2,57,59,0,3,9,60,8,5,6,7,4,61])),{fetchSecretEnvVars:a}=await t(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-C-5TIS7_.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([62,2,19,1,12,18,20,21,22])),o=await a(),s=new i({client:n,cwd:`/`,env:Object.keys(o).length>0?o:void 0});await new Promise(t=>e.onClientReady(t)),await s.mount(r),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function Nr(e,t,n){let r=r=>{if(r.startsWith(`freezer:`)){n(r.slice(8));return}let i=t.getScoops(),a=r.startsWith(`scoop:`)?i.find(e=>!e.isCone&&e.name===r.slice(6)):i.find(e=>e.isCone);a&&a.jid!==e.getSelected()?.jid&&e.selectScoop(a)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function Pr(e,n,r,i){t(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-BEqQSC-7.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([63,12,2,57,1])).then(async({installLeaderPermissionsSurface:i,installMountPendingConsumer:a})=>{let o=r.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await t(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-Cdznv6xX.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([64,12]));i({runtimeMode:o,providers:await s(c()||o===`extension`||o===`extension-detached`)}),a({runShell:Fr(e,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e))}function Fr(e,n){let r=null,i=()=>(r||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:r}=await t(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-CbAduNfC.js`);return{TerminalSessionClient:e}},[]),i=new r({client:n,sid:`mount-drop-${Date.now()}`});return await i.open({cwd:`/workspace`}),i})().catch(e=>{throw r=null,e}),r);return async e=>(await i()).exec(e)}function Ir(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function Lr(e,n,r,i={}){let{refs:a}=e;e.setClient(n);let o=null,s=Dr(e.wiring,n),c=()=>o?.(),l={intercept:null},{controller:u,agentHandle:d}=Tr(a,n,()=>e.getSelected(),Ar({boot:e,triggerPlaceholder:c,refreshStats:s}),l);e.setController(u),e.onClientReady(s);let f=Cr(n),p=async()=>(await f()).reader;i.standalone?.runtimeMode!==`cherry`&&i.standalone?.runtimeMode!==`hosted-leader`&&wr(e,n,f,l,r);let m=Er({boot:e,client:n,agentHandle:d,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:p,openWriter:async()=>(await f()).writer,log:r});kr(e,n),Or(e,i,r),Pr(e,n,i,r),e.setActivateSurface(fr({fileTree:a.fileTree,termSurface:a.termSurface,memoryHost:a.memoryHost,monitor:a.monitor,openFs:p,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>({getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await t(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-G0KMHsg0.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([65,1,2,19,12,18,20,30,31,16,11,13,14,15,17,21,22,23,24,25,26,27,32,33]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await t(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-G0KMHsg0.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([65,1,2,19,12,18,20,30,31,16,11,13,14,15,17,21,22,23,24,25,26,27,32,33]));return e()},getMounts:async()=>{let{getAllMountEntries:e}=await t(async()=>{let{getAllMountEntries:e}=await import(`./mount-table-store-CfQUN_2R.js`).then(e=>e.r);return{getAllMountEntries:e}},__vite__mapDeps([66,1]));return e()},getMcpServers:async()=>{try{let e=await(await p()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=localStorage.getItem(`slicc_accounts`);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=t.map(e=>e.providerId).filter(e=>typeof e==`string`);return[...new Set(n)]}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await p(),t=await e.readDir(`/proc`),n=[];for(let r of t.filter(e=>e.type===`directory`&&/^\d+$/.test(e.name)))try{let t=await e.readFile(`/proc/${r.name}/status`,{encoding:`utf-8`}),i=await e.readFile(`/proc/${r.name}/cmdline`,{encoding:`utf-8`});n.push({pid:parseInt(r.name,10),argv:String(i).trim(),status:String(t).trim()})}catch{}return n}catch{return[]}}}),mountTerminal:t=>Mr(e,n,t),insertReference:e=>{let t=a.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:r})),a.floatbar.addEventListener(`click`,()=>{a.shell.hasAttribute(`open`)&&a.workbenchBody.getAttribute(`active`)===`monitor`?(a.shell.removeAttribute(`open`),a.dock.removeAttribute(`active`)):a.dock.selectItem(`monitor`)});let{refreshFreezer:h,openFrozen:g}=xr({refs:a,openVfs:f,client:n,getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:r});h(),e.onClientReady(h),Nr(e,n,g),f().then(async({reader:e})=>{let{installPreviewVfsResponder:n}=await t(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Dhck1Brc.js`);return{installPreviewVfsResponder:e}},[]);n({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:r})}).catch(e=>r.warn(`WC page-VFS support wiring failed`,e)),f().then(async({reader:o,writer:s})=>{let{createRemoteSprinkleVfs:c}=await t(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-e81pZJKo.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([67,41])),{wireWcSprinkles:l}=await t(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-BNucIG8d.js`);return{wireWcSprinkles:e}},__vite__mapDeps([68,12])),u=await l({refs:a,client:n,fs:c({reader:o,writer:s}),instanceId:i.instanceId,onAttachImage:Ir(m,r),log:r});if(e.onClientReady(()=>void u.resync()),i.standalone&&i.instanceId){let{wireWcTray:o}=await t(async()=>{let{wireWcTray:e}=await import(`./wc-tray-DBqj4dPt.js`);return{wireWcTray:e}},__vite__mapDeps([69,12,16,1,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,30,31,32,33,70,60,65,36,29,37,38,39,71,53,54,72,46,47])),s=u.zone.callbacks();await o({refs:a,client:n,browser:i.standalone.browser,realCdpTransport:i.standalone.realCdpTransport,instanceId:i.instanceId,runtimeMode:i.standalone.runtimeMode,sprinkleManager:u.manager,addSprinkle:(e,t,n)=>s.addSprinkle(e,t,n),removeSprinkle:e=>s.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.jid??`cone`,agentHandle:d,openFs:p,baseFloatLabel:i.standalone.baseFloatLabel,window,log:r})}}).catch(e=>r.error(`WC sprinkle/tray wiring failed`,e)),t(async()=>{let{wireWcNav:e}=await import(`./wc-nav-DhAPutCa.js`);return{wireWcNav:e}},__vite__mapDeps([73,12,33,1,30,31,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,65])).then(({wireWcNav:e})=>e({refs:a,client:n,log:r})).catch(e=>r.error(`WC nav wiring failed`,e)),t(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-DGdt7VJq.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([74,2,57,1,37,51,52,19,12,18,20,53,54,75])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=a.composer;t(i.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>r.error(`WC push-to-talk wiring failed`,e)),t(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-DU69S7oq.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([50,12,2,51,52,19,1,18,20,53,54])).then(({setSpeakAssetsInstanceId:e})=>e(i.instanceId)).catch(e=>r.error(`WC say warmup wiring failed`,e))}async function Rr(e,n,r=`standalone`){let{browser:i,realCdpTransport:a,instanceId:o,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await h({runtimeMode:r,envBaseUrl:null,window,log:n}),{resolveStandaloneFloatLabel:f,DEFAULT_STANDALONE_LABEL:p}=await t(async()=>{let{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}=await import(`./wc-float-label-bfJhTEza.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([76,19,1,12,18,20])),m=r===`standalone`||r===`electron-overlay`?await f():p,g=Sr(e,m),_=In({realCdpTransport:a,instanceId:o,callbacks:yr(g.wiring),localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u});An({send:e=>_.client.sendRaw(e)}),d?.(_.client),Lr(g,_.client,n,{instanceId:o,standalone:{browser:i,realCdpTransport:a,runtimeMode:r,baseFloatLabel:m}});let{setupSudoStandalone:ee}=await t(async()=>{let{setupSudoStandalone:e}=await import(`./main-BZD1yR6G.js`).then(e=>e._);return{setupSudoStandalone:e}},__vite__mapDeps([30,1,31,12,16,11,13,14,15,17,2,18,19,20,21,22,23,24,25,26,27,32,33]));await ee({log:n}),await _.ready,g.wiring.notifyReady?.(),n.info(`WC live shell ready`,{scoops:_.client.getScoops().length})}export{Gt as a,Lr as attachWcClient,un as c,yr as createWcLiveCallbacks,M as d,Ct as f,dn as i,ot as l,st as m,Rr as mountWcUiLive,On as n,U as o,A as p,Sr as prepareWcShell,V as r,W as s,Wn as t,wt as u};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-B8BQYvi-.js","assets/rolldown-runtime-aKtaBQYM.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/preload-helper-CZgWQFsJ.js","assets/account-store-D4VPSOZh.js","assets/dist-D69OmKNn.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/context-compaction-DvlXtgVG.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-Bht31_rT.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DukNl5RZ.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/wc-detached-B3WCbbZT.js","assets/wc-settings-DjxFnySy.js","assets/theme-engine-DqVfCCym.js","assets/theme-Bgsl5v2i.js","assets/legacy-styles-CF6h7ytf.js","assets/sync-dialog-Ie_5SqoO.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-CZgWQFsJ.js";import{n as t}from"./clipboard-DuHpK59o.js";import{T as n,f as r,r as i,v as a}from"./main-B8BQYvi-.js";import{n as o}from"./tray-leader-JDSZRBe-.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}`})))}function l(e,t){try{let n=t();e.setAttribute(`model`,n.name??n.id)}catch{}}async function u(t){let{refs:n,client:a,log:u}=t,{getAllAvailableModels:v,getAccounts:y,resolveCurrentModel:b}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,resolveCurrentModel:n}=await import(`./main-B8BQYvi-.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t,resolveCurrentModel: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])),x=()=>{n.composerMeta.models=c(v())},S=()=>l(n.composerMeta,b);x();let C=null;await g(n,a,()=>{let e=C;C=null,e!=null&&n.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let w=typeof chrome<`u`&&!!chrome?.runtime?.id,T=()=>{let e=s(y()),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:w?`extension`:`standalone`})};T();let E=()=>{if(w)return[];let e=i(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},D=new URLSearchParams(window.location.search).has(`detached`),O=()=>w&&!D?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],k=()=>{n.avatarMenu.items=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...O(),...E()]};k(),n.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&k()});let A=d(u,x,T,()=>a.updateModel()),j=f(u);n.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n&&p(n,u)){k();return}if(n===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-B3WCbbZT.js`);return{requestDetachedPopout:e}},__vite__mapDeps([23,21])).then(({requestDetachedPopout:e})=>e()).catch(e=>u.error(`detached popout request failed`,e));return}n===`settings`&&A(),n===`theme`&&j()}),n.composerMeta.addEventListener(`add-ai`,A),n.thread?.addEventListener(`slicc-error-open-settings`,A),m({refs:n,log:u,openSettings:A,setPendingReplayMessageId:e=>{C=e}}),await h({refs:n,log:u,openSettings:A,refreshModels:x,applyIdentity:T,client:a}),_({refreshModels:x,refreshModelPill:S,applyIdentity:T,client:a})}function d(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-DjxFnySy.js`);return{showWcSettings:e}},__vite__mapDeps([24,3,25,1,10,26])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function f(t){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-DjxFnySy.js`);return{showThemeSettings:e}},__vite__mapDeps([24,3,25,1,10,26])).then(({showThemeSettings:e})=>e(t)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function p(r,i){if(r===`tray-enable`)return n({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:a}).then(e=>{if(!e)return i.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-CF6h7ytf.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([27,3])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-Ie_5SqoO.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([28,22,1]));t({joinUrl:n,copied:!0})}).catch(e=>i.error(`sync dialog failed`,e))),!0}return r===`tray-stop`?(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0):!1}function m(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 h(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-B8BQYvi-.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]));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 g(t,n,r){let{resolveModelById:i,resolveCurrentModel:a,setSelectedModelId:o}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-B8BQYvi-.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])),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 _(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-B8BQYvi-.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]));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{u as wireWcNav};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-BZD1yR6G.js","assets/rolldown-runtime-aKtaBQYM.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/preload-helper-CZgWQFsJ.js","assets/account-store-Bu5ljYss.js","assets/dist-D69OmKNn.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/context-compaction-DvlXtgVG.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-Bht31_rT.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BBxlkWE4.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/wc-detached-B3WCbbZT.js","assets/wc-settings-ZQp5gK1o.js","assets/theme-engine-DqVfCCym.js","assets/theme-Bgsl5v2i.js","assets/legacy-styles-CuB1P3LZ.js","assets/sync-dialog-Ie_5SqoO.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{n as t}from"./clipboard-DuHpK59o.js";import{T as n,f as r,r as i,v as a}from"./main-BZD1yR6G.js";import{n as o}from"./tray-leader-G0KMHsg0.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}`})))}function l(e,t){try{let n=t();e.setAttribute(`model`,n.name??n.id)}catch{}}async function u(t){let{refs:n,client:a,log:u}=t,{getAllAvailableModels:v,getAccounts:y,resolveCurrentModel:b}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,resolveCurrentModel:n}=await import(`./main-BZD1yR6G.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t,resolveCurrentModel: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])),x=()=>{n.composerMeta.models=c(v())},S=()=>l(n.composerMeta,b);x();let C=null;await g(n,a,()=>{let e=C;C=null,e!=null&&n.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let w=typeof chrome<`u`&&!!chrome?.runtime?.id,T=()=>{let e=s(y()),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:w?`extension`:`standalone`})};T();let E=()=>{if(w)return[];let e=i(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},D=new URLSearchParams(window.location.search).has(`detached`),O=()=>w&&!D?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],k=()=>{n.avatarMenu.items=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...O(),...E()]};k(),n.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&k()});let A=d(u,x,T,()=>a.updateModel()),j=f(u);n.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n&&p(n,u)){k();return}if(n===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-B3WCbbZT.js`);return{requestDetachedPopout:e}},__vite__mapDeps([23,21])).then(({requestDetachedPopout:e})=>e()).catch(e=>u.error(`detached popout request failed`,e));return}n===`settings`&&A(),n===`theme`&&j()}),n.composerMeta.addEventListener(`add-ai`,A),n.thread?.addEventListener(`slicc-error-open-settings`,A),m({refs:n,log:u,openSettings:A,setPendingReplayMessageId:e=>{C=e}}),await h({refs:n,log:u,openSettings:A,refreshModels:x,applyIdentity:T,client:a}),_({refreshModels:x,refreshModelPill:S,applyIdentity:T,client:a})}function d(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-ZQp5gK1o.js`);return{showWcSettings:e}},__vite__mapDeps([24,3,25,1,10,26])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function f(t){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-ZQp5gK1o.js`);return{showThemeSettings:e}},__vite__mapDeps([24,3,25,1,10,26])).then(({showThemeSettings:e})=>e(t)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function p(r,i){if(r===`tray-enable`)return n({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:a}).then(e=>{if(!e)return i.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-CuB1P3LZ.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([27,3])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-Ie_5SqoO.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([28,22,1]));t({joinUrl:n,copied:!0})}).catch(e=>i.error(`sync dialog failed`,e))),!0}return r===`tray-stop`?(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0):!1}function m(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 h(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-BZD1yR6G.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]));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 g(t,n,r){let{resolveModelById:i,resolveCurrentModel:a,setSelectedModelId:o}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-BZD1yR6G.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])),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 _(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-BZD1yR6G.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]));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{u as wireWcNav};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-cZ36aqC6.js","assets/logger-DDBAeTLF.js","assets/welcome-detection-CQY88hjL.js","assets/rolldown-runtime-aKtaBQYM.js","assets/oauth-service-DY8Ud2Yu.js","assets/preload-helper-CZgWQFsJ.js","assets/proxied-fetch-Bht31_rT.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DmJSNs0I.js","assets/wc-permissions-registry-Blyunq37.js","assets/main-B8BQYvi-.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-D4VPSOZh.js","assets/dist-D69OmKNn.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/context-compaction-DvlXtgVG.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DukNl5RZ.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-CZgWQFsJ.js";import{C as t}from"./main-B8BQYvi-.js";import{t as n}from"./welcome-detection-CQY88hjL.js";import{l as r}from"./wc-live-Bkjczn8x.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-cZ36aqC6.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-DY8Ud2Yu.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-DY8Ud2Yu.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-CQY88hjL.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-B8BQYvi-.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,21,22,9,23,24,25,26])),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-B8BQYvi-.js`).then(e=>e.t),__vite__mapDeps([11,3,12,5,13,14,15,16,17,18,1,7,6,8,19,20,21,22,9,23,24,25,26])),{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-cZ36aqC6.js","assets/logger-DDBAeTLF.js","assets/welcome-detection-CQY88hjL.js","assets/rolldown-runtime-aKtaBQYM.js","assets/oauth-service-DY8Ud2Yu.js","assets/preload-helper-CZgWQFsJ.js","assets/proxied-fetch-Bht31_rT.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DmJSNs0I.js","assets/wc-permissions-registry-Blyunq37.js","assets/main-BZD1yR6G.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-Bu5ljYss.js","assets/dist-D69OmKNn.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/context-compaction-DvlXtgVG.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BBxlkWE4.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{C as t}from"./main-BZD1yR6G.js";import{t as n}from"./welcome-detection-CQY88hjL.js";import{l as r}from"./wc-live-CxkQzku9.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-cZ36aqC6.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-DY8Ud2Yu.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-DY8Ud2Yu.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-CQY88hjL.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-BZD1yR6G.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,21,22,9,23,24,25,26])),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-BZD1yR6G.js`).then(e=>e.t),__vite__mapDeps([11,3,12,5,13,14,15,16,17,18,1,7,6,8,19,20,21,22,9,23,24,25,26])),{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-DugUbqXs.js","assets/rolldown-runtime-aKtaBQYM.js","assets/dist-D69OmKNn.js","assets/preload-helper-CZgWQFsJ.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/account-store-D4VPSOZh.js","assets/context-compaction-DvlXtgVG.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-Bht31_rT.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DukNl5RZ.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-CZgWQFsJ.js";import{b as t}from"./wc-shell-F4c_qK1k.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-SrUvWlQL.js","assets/rolldown-runtime-aKtaBQYM.js","assets/dist-D69OmKNn.js","assets/preload-helper-CZgWQFsJ.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/account-store-Bu5ljYss.js","assets/context-compaction-DvlXtgVG.js","assets/logger-DDBAeTLF.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-Bht31_rT.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BBxlkWE4.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{b as t}from"./wc-shell-CknN8aLi.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-DugUbqXs.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]))).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-SrUvWlQL.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]))).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};