sliccy 5.40.1 → 5.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/ui/assets/{account-store-GtFnwH-H.js → account-store-B6ZJJHvy.js} +2 -2
  2. package/dist/ui/assets/{account-store-DnfeinGB.js → account-store-Cc0LlOh0.js} +1 -1
  3. package/dist/ui/assets/{adobe-Czhfxi0p.js → adobe-B1BRYIRE.js} +1 -1
  4. package/dist/ui/assets/{adobe-DMK4xEaO.js → adobe-BN-bE_SL.js} +1 -1
  5. package/dist/ui/assets/{adobe-oauth-state-DyQZzetd.js → adobe-oauth-state-Cn7LWTPZ.js} +1 -1
  6. package/dist/ui/assets/{agent-message-to-chat-Cxc2ezE3.js → agent-message-to-chat-DpqjbP5x.js} +1 -1
  7. package/dist/ui/assets/{apps-ClA05CCZ.js → apps-CaQ1gkO4.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-BLtYWDqq.js → azure-openai-CsaPL24q.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-BvCVBwdH.js → azure-openai-DZpoByWz.js} +1 -1
  10. package/dist/ui/assets/{cerebras-DFlg7DL9.js → cerebras-CSyaZ_JD.js} +1 -1
  11. package/dist/ui/assets/{cerebras-CGfTW8cv.js → cerebras-D9qOK7yO.js} +1 -1
  12. package/dist/ui/assets/{connect-surface-DxFQNDWS.js → connect-surface-BX9u-44v.js} +1 -1
  13. package/dist/ui/assets/dip-CjRcTAWq.js +1 -0
  14. package/dist/ui/assets/{dist-C4FoRFNu.js → dist-PxfR5esr.js} +1 -1
  15. package/dist/ui/assets/{dist-xJPdMGJR.js → dist-UblS7Ad_.js} +1 -1
  16. package/dist/ui/assets/{ensure-speech-assets-DN2tBkA3.js → ensure-speech-assets-c4Yyh5Hl.js} +1 -1
  17. package/dist/ui/assets/esp8266-DUadcjG-.js +1 -0
  18. package/dist/ui/assets/{esptool-operations-CSixDQRB.js → esptool-operations-C6yQIM3h.js} +2 -2
  19. package/dist/ui/assets/{fs-CLbTXqU7.js → fs-Be9_eBTx.js} +2 -2
  20. package/dist/ui/assets/{fs-B80Ome53.js → fs-r9jcBgqR.js} +1 -1
  21. package/dist/ui/assets/{github-CF0ypnjs.js → github-789iE9_f.js} +2 -2
  22. package/dist/ui/assets/{github-CDGV9LOr.js → github-CBrBpJFF.js} +1 -1
  23. package/dist/ui/assets/{github-copilot-CKMgyVP3.js → github-copilot-BpWUXuYW.js} +1 -1
  24. package/dist/ui/assets/{github-copilot-1jO5YhBA.js → github-copilot-CHXKNa6E.js} +1 -1
  25. package/dist/ui/assets/{hear-BA7LmzBZ.js → hear-Bag-j0V7.js} +1 -1
  26. package/dist/ui/assets/{kernel-worker-BFPqa_y4.js → kernel-worker-DzzwltLv.js} +1081 -1081
  27. package/dist/ui/assets/{kokoro-engine-DmKFV5gN.js → kokoro-engine-BY5-MJ4F.js} +1 -1
  28. package/dist/ui/assets/{lick-ws-bridge-Dvo0A29q.js → lick-ws-bridge-BA7kFq6f.js} +1 -1
  29. package/dist/ui/assets/{lick-ws-bridge-BWokgV-S.js → lick-ws-bridge-BBONAMUp.js} +1 -1
  30. package/dist/ui/assets/{local-llm-CHb97cbD.js → local-llm-CZI41QZ8.js} +1 -1
  31. package/dist/ui/assets/main-BBWzFPQm.js +24 -0
  32. package/dist/ui/assets/{mount-BvBmQ0-0.js → mount-CB_TFmaj.js} +1 -1
  33. package/dist/ui/assets/{mount-B7EzmUC0.js → mount-x5DyWWmZ.js} +2 -2
  34. package/dist/ui/assets/{new-session-DGwIj1BV.js → new-session-bNLCxDOi.js} +2 -2
  35. package/dist/ui/assets/{oauth-bootstrap-2pqa5H30.js → oauth-bootstrap-CbMHDv7j.js} +2 -2
  36. package/dist/ui/assets/{openai-codex-CN1uYxxv.js → openai-codex-Bno6nph_.js} +1 -1
  37. package/dist/ui/assets/{openai-codex-PE2VxSOv.js → openai-codex-DO53z_Lp.js} +1 -1
  38. package/dist/ui/assets/{page-follower-tray-fj4kD6LU.js → page-follower-tray-BnjUXDPD.js} +1 -1
  39. package/dist/ui/assets/{panel-rpc-handlers-BvcCKs0_.js → panel-rpc-handlers-B8qUvr10.js} +2 -2
  40. package/dist/ui/assets/{provider-CjYJAk12.js → provider-DC8kAP4A.js} +2 -2
  41. package/dist/ui/assets/{provider-C5S_5LXL.js → provider-mu81QxQG.js} +1 -1
  42. package/dist/ui/assets/provider-store-access-BuFw0JKG.js +1 -0
  43. package/dist/ui/assets/provider-store-access-C_kNLQdJ.js +1 -0
  44. package/dist/ui/assets/{providers-EOfV9vdZ.js → providers-D8GpXQnB.js} +2 -2
  45. package/dist/ui/assets/{providers-BLSeI6gZ.js → providers-Ddxs0W8T.js} +1 -1
  46. package/dist/ui/assets/{quick-llm-CvbElujR.js → quick-llm-Quagspyf.js} +1 -1
  47. package/dist/ui/assets/session-freezer-ChBPlDLR.js +1 -0
  48. package/dist/ui/assets/{speak-CeaHsGEi.js → speak-OWEJeikh.js} +1 -1
  49. package/dist/ui/assets/{sprinkle-manager-D17pd_PU.js → sprinkle-manager-BKxGmOIl.js} +1 -1
  50. package/dist/ui/assets/{store-C1dmcd_Z.js → store-CHYvCaH1.js} +1 -1
  51. package/dist/ui/assets/{sudo-BaZeZrKO.js → sudo-D4b0hE0I.js} +1 -1
  52. package/dist/ui/assets/{transformers-env-BtZiU9Zy.js → transformers-env-1gFISbS1.js} +1 -1
  53. package/dist/ui/assets/{tray-leader-DySjWLR-.js → tray-leader-CwiLM5-x.js} +1 -1
  54. package/dist/ui/assets/{tray-leave-runtime-BTy8ZdNr.js → tray-leave-runtime-DQafc8zo.js} +1 -1
  55. package/dist/ui/assets/{upgrade-detection-D1RzsLJG.js → upgrade-detection-487abG_R.js} +1 -1
  56. package/dist/ui/assets/{voice-reply-DLFM5K98.js → voice-reply-BWuWySTa.js} +1 -1
  57. package/dist/ui/assets/{wc-attach-COndISMH.js → wc-attach-D0-Z2ZnU.js} +2 -2
  58. package/dist/ui/assets/{wc-extension-DqsWFOzt.js → wc-extension-DPoDkrXB.js} +2 -2
  59. package/dist/ui/assets/{wc-follower-8V6fEQ4R.js → wc-follower-CMZy0UC8.js} +3 -3
  60. package/dist/ui/assets/{wc-live-CWjluHxO.js → wc-live-B6XBQ3Ph.js} +23 -23
  61. package/dist/ui/assets/{wc-nav-CXUL4V4Y.js → wc-nav-Bip6J07i.js} +2 -2
  62. package/dist/ui/assets/{wc-onboarding-D9584JBU.js → wc-onboarding-D0f-t12r.js} +2 -2
  63. package/dist/ui/assets/{wc-placeholder-WEW27YLe.js → wc-placeholder-C48kBOSX.js} +3 -3
  64. package/dist/ui/assets/{wc-settings-DuuwHWSv.js → wc-settings-kViiUzrv.js} +3 -3
  65. package/dist/ui/assets/{wc-shell-BRXA9i_k.js → wc-shell-C6CXABEp.js} +3 -3
  66. package/dist/ui/assets/{wc-sprinkles-C14qdDwd.js → wc-sprinkles-CybsDQpb.js} +2 -2
  67. package/dist/ui/assets/{wc-tray-C9VyD3aS.js → wc-tray-CkppgzxX.js} +2 -2
  68. package/dist/ui/assets/{whisper-engine-DT9tB6ou.js → whisper-engine-D7GZgIFR.js} +1 -1
  69. package/dist/ui/assets/{xai-grok-B2ak-_nc.js → xai-grok-B73mxnXH.js} +1 -1
  70. package/dist/ui/assets/{xai-grok-iwV6WbVP.js → xai-grok-Bv-1jkIm.js} +1 -1
  71. package/dist/ui/index.html +3 -3
  72. package/dist/ui/packages/webapp/index.html +3 -3
  73. package/package.json +1 -1
  74. package/dist/ui/assets/dip-BjEsG-Hy.js +0 -1
  75. package/dist/ui/assets/esp8266-X1cHLEke.js +0 -1
  76. package/dist/ui/assets/main-CMLc_YHL.js +0 -24
  77. package/dist/ui/assets/provider-store-access-DbX-7uoI.js +0 -1
  78. package/dist/ui/assets/provider-store-access-vQAeypVR.js +0 -1
  79. package/dist/ui/assets/session-freezer-CKE1FQU0.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-Bs1o43Z5.js","assets/rolldown-runtime-aKtaBQYM.js","assets/logger-DDBAeTLF.js","assets/picker-popup-BvzmBsGL.js","assets/runtime-env-DH4NDw4t.js","assets/usb-picker-DJjZemi7.js","assets/serial-picker-bJGym01W.js","assets/hid-picker-Cp7Sp5N-.js","assets/usb-device-registry-k6vTKonT.js","assets/serial-port-registry-DsPZvGpT.js","assets/hid-device-registry-6w-g8ZpF.js","assets/quick-llm-CvbElujR.js","assets/compat-FrhC6T45.js","assets/models-ByRUWfA-.js","assets/preload-helper-CZgWQFsJ.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/account-store-DnfeinGB.js","assets/context-compaction-LYFtS2_f.js","assets/src-CAHYy5iz.js","assets/proxied-fetch-D_z2v-ZE.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-C29BvT4E.js","assets/secrets-bridge-client-Br74C9hX.js","assets/port-bridge-client-BnzDL5Fz.js","assets/tool-ui-DfXu6quJ.js","assets/providers-EOfV9vdZ.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-CZFsedRI.js","assets/transform-messages-DwI5R8if.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/main-CMLc_YHL.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/new-session-DGwIj1BV.js","assets/session-store-DAM8GRJ0.js","assets/wc-shell-BRXA9i_k.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-D9584JBU.js","assets/welcome-detection-CQY88hjL.js","assets/legacy-styles-CuB1P3LZ.js","assets/theme-BWT6ZRD3.js","assets/theme-engine-BEk-Upnk.js","assets/soundscape-TvriK11t.js","assets/voice-reply-DLFM5K98.js","assets/speak-nvJ9brr6.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BlOLPtGr.js","assets/shared-Cq5Q0noX.js","assets/mime-types-ugOWOUZ9.js","assets/wc-placeholder-WEW27YLe.js","assets/wc-attach-COndISMH.js","assets/wc-permissions-registry-Blyunq37.js","assets/remote-terminal-view-DddvZDMC.js","assets/picker-approval-Dc390nC7.js","assets/browser-2wdq8OwU.js","assets/terminal-session-client-CbAduNfC.js","assets/secret-env-C5wufPdt.js","assets/wc-permissions-CKtVglvh.js","assets/wc-permissions-providers-CbkqRh4J.js","assets/tray-leader-DySjWLR-.js","assets/mount-table-store-CfQUN_2R.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-C14qdDwd.js","assets/wc-tray-C9VyD3aS.js","assets/remote-cdp-transport-m_T16Bkr.js","assets/synthetic-cdp-transport-DLIt5SkY.js","assets/page-follower-tray-fj4kD6LU.js","assets/sprinkle-renderer-Cx1zoxx1.js","assets/wc-nav-CXUL4V4Y.js","assets/composer-speech-HWEPGUzG.js","assets/whisper-session-HYYDJgwO.js","assets/wc-float-label-DTyHQboN.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45.js";import{F as n,I as r}from"./account-store-DnfeinGB.js";import{i,n as a,r as o,t as s}from"./context-compaction-LYFtS2_f.js";import{t as c}from"./logger-DDBAeTLF.js";import{d as l,f as u}from"./src-CAHYy5iz.js";import{n as d}from"./runtime-env-DH4NDw4t.js";import{t as f}from"./tool-ui-DfXu6quJ.js";import{C as p,a as m,c as h,g,i as _,l as ee,m as te,u as ne}from"./main-CMLc_YHL.js";import{t as re}from"./wc-permissions-registry-Blyunq37.js";import{n as ie,r as ae}from"./hid-device-registry-6w-g8ZpF.js";import{a as oe,i as se}from"./serial-port-registry-DsPZvGpT.js";import{C as ce,D as le,E as ue,S as de,_ as fe,a as pe,g as me,h as he,k as ge,l as _e,m as ve,n as ye,o as be,s as xe,w as Se,x as Ce,y as we}from"./usb-operations-D-YdmmuG.js";import{i as Te,r as Ee}from"./usb-device-registry-k6vTKonT.js";import{t as De}from"./icons-C5g936Qd.js";import{r as Oe}from"./tray-leader-DySjWLR-.js";import{n as ke}from"./shared-Cq5Q0noX.js";import{C as Ae,b as je,c as Me,d as v,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve,t as He,u as Ue,y as We}from"./wc-shell-BRXA9i_k.js";import{i as Ge,n as Ke,r as y}from"./sprinkle-renderer-Cx1zoxx1.js";import{n as qe}from"./sprinkle-bridge-C0ycYX8f.js";import{a as Je,n as Ye,r as b}from"./theme-BWT6ZRD3.js";var Xe=d();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 Ze(){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=Ze();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 Qe=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],$e=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function et(e){return Qe.some(t=>e.startsWith(t))}function tt(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:$e.some(t=>e.startsWith(t))}var w=new WeakSet,nt=`,
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-Bs1o43Z5.js","assets/rolldown-runtime-aKtaBQYM.js","assets/logger-DDBAeTLF.js","assets/picker-popup-BvzmBsGL.js","assets/runtime-env-DH4NDw4t.js","assets/usb-picker-DJjZemi7.js","assets/serial-picker-bJGym01W.js","assets/hid-picker-Cp7Sp5N-.js","assets/usb-device-registry-k6vTKonT.js","assets/serial-port-registry-DsPZvGpT.js","assets/hid-device-registry-6w-g8ZpF.js","assets/quick-llm-Quagspyf.js","assets/compat-FrhC6T45.js","assets/models-ByRUWfA-.js","assets/preload-helper-CZgWQFsJ.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/account-store-Cc0LlOh0.js","assets/context-compaction-LYFtS2_f.js","assets/src-CAHYy5iz.js","assets/proxied-fetch-D_z2v-ZE.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-C29BvT4E.js","assets/secrets-bridge-client-Br74C9hX.js","assets/port-bridge-client-BnzDL5Fz.js","assets/tool-ui-DfXu6quJ.js","assets/providers-D8GpXQnB.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-CZFsedRI.js","assets/transform-messages-DwI5R8if.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/main-BBWzFPQm.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/new-session-bNLCxDOi.js","assets/session-store-DAM8GRJ0.js","assets/wc-shell-C6CXABEp.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-D0f-t12r.js","assets/welcome-detection-CQY88hjL.js","assets/legacy-styles-CuB1P3LZ.js","assets/theme-BWT6ZRD3.js","assets/theme-engine-BEk-Upnk.js","assets/soundscape-TvriK11t.js","assets/voice-reply-BWuWySTa.js","assets/speak-nvJ9brr6.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BlOLPtGr.js","assets/shared-Cq5Q0noX.js","assets/mime-types-ugOWOUZ9.js","assets/wc-placeholder-C48kBOSX.js","assets/wc-attach-D0-Z2ZnU.js","assets/wc-permissions-registry-Blyunq37.js","assets/remote-terminal-view-DddvZDMC.js","assets/picker-approval-Dc390nC7.js","assets/browser-2wdq8OwU.js","assets/terminal-session-client-CbAduNfC.js","assets/secret-env-C5wufPdt.js","assets/wc-permissions-CKtVglvh.js","assets/wc-permissions-providers-CbkqRh4J.js","assets/tray-leader-CwiLM5-x.js","assets/mount-table-store-CfQUN_2R.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-CybsDQpb.js","assets/wc-tray-CkppgzxX.js","assets/remote-cdp-transport-m_T16Bkr.js","assets/synthetic-cdp-transport-DLIt5SkY.js","assets/page-follower-tray-BnjUXDPD.js","assets/sprinkle-renderer-Cx1zoxx1.js","assets/wc-nav-Bip6J07i.js","assets/composer-speech-HWEPGUzG.js","assets/whisper-session-HYYDJgwO.js","assets/wc-float-label-DTyHQboN.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45.js";import{F as n,I as r}from"./account-store-Cc0LlOh0.js";import{i,n as a,r as o,t as s}from"./context-compaction-LYFtS2_f.js";import{t as c}from"./logger-DDBAeTLF.js";import{d as l,f as u}from"./src-CAHYy5iz.js";import{n as d}from"./runtime-env-DH4NDw4t.js";import{t as f}from"./tool-ui-DfXu6quJ.js";import{A as p,C as m,O as h,a as g,c as _,g as ee,i as te,k as ne,l as re,m as ie,u as ae}from"./main-BBWzFPQm.js";import{t as oe}from"./wc-permissions-registry-Blyunq37.js";import{n as se,r as ce}from"./hid-device-registry-6w-g8ZpF.js";import{a as le,i as ue}from"./serial-port-registry-DsPZvGpT.js";import{C as de,D as fe,E as pe,S as me,_ as he,a as ge,g as _e,h as ve,k as ye,l as be,m as xe,n as Se,o as Ce,s as we,w as Te,x as Ee,y as De}from"./usb-operations-D-YdmmuG.js";import{i as Oe,r as ke}from"./usb-device-registry-k6vTKonT.js";import{t as Ae}from"./icons-C5g936Qd.js";import{r as je}from"./tray-leader-CwiLM5-x.js";import{n as Me}from"./shared-Cq5Q0noX.js";import{C as Ne,b as Pe,c as Fe,d as v,h as Ie,i as Le,l as Re,m as ze,n as Be,o as Ve,p as He,r as Ue,s as We,t as Ge,u as Ke,y as qe}from"./wc-shell-C6CXABEp.js";import{i as Je,n as Ye,r as Xe}from"./sprinkle-renderer-Cx1zoxx1.js";import{n as Ze}from"./sprinkle-bridge-C0ycYX8f.js";import{a as y,n as Qe,r as b}from"./theme-BWT6ZRD3.js";var x=d();async function S(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await w(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 C=null;function $e(){if(C)return C;if(typeof BroadcastChannel>`u`)return null;try{C=new BroadcastChannel(`preview-vfs`)}catch{return null}return C}async function w(e,t,n){let r=$e();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 et=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],tt=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function nt(e){return et.some(t=>e.startsWith(t))}function rt(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:tt.some(t=>e.startsWith(t))}var T=new WeakSet,it=`,
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) {
@@ -8,7 +8,7 @@ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45
8
8
  agent: function(prompt, opts) {
9
9
  return _vfsCall('dip-agent', { prompt: prompt, opts: opts || null },
10
10
  function(m) { return m.result; });
11
- }`,rt=`,
11
+ }`,at=`,
12
12
  fetch: function(url, init) {
13
13
  return _vfsCall('dip-jsh', { op: 'fetch', args: [url, init || null] }, function(m) { return m.result; });
14
14
  },
@@ -27,7 +27,7 @@ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45
27
27
  },
28
28
  fetchToFile: function(url, path) {
29
29
  return _vfsCall('dip-jsh', { op: 'fetchToFile', args: [url, path] }, function(m) { return m.result; });
30
- }`,it=`,
30
+ }`,ot=`,
31
31
  _device: function(channel, op, args) {
32
32
  return _vfsCall('dip-device-op',
33
33
  { channel: channel, op: op, args: args || [] },
@@ -53,7 +53,7 @@ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45
53
53
  request: function(filters) { return _vfsCall('dip-device-op', { channel: 'usb', op: 'request', args: [filters || []] }, function(m) { return m.result; }); },
54
54
  open: function(handle) { return _vfsCall('dip-device-op', { channel: 'usb', op: 'open', args: [handle] }, function(m) { return m.result; }).then(function() {}); },
55
55
  close: function(handle) { return _vfsCall('dip-device-op', { channel: 'usb', op: 'close', args: [handle] }, function(m) { return m.result; }).then(function() {}); }
56
- }`;function at(e){return`(function() {
56
+ }`;function st(e){return`(function() {
57
57
  var _cbId = 0;
58
58
  var _callbacks = {};
59
59
  var _hidInputReportListeners = new Set();
@@ -88,7 +88,7 @@ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45
88
88
  },
89
89
  stat: function(path) {
90
90
  return _vfsCall('dip-stat', { path: path }, function(m) { return m.stat; });
91
- }${e?nt:``}${e?rt:``}${e?it:``}
91
+ }${e?it:``}${e?at:``}${e?ot:``}
92
92
  };
93
93
  function reportHeight() {
94
94
  parent.postMessage({ type: 'dip-height',
@@ -174,7 +174,7 @@ import{t as e}from"./preload-helper-CZgWQFsJ.js";import{t}from"./compat-FrhC6T45
174
174
  el = el.parentElement;
175
175
  }
176
176
  });
177
- })();`}var ot=`html,body{margin:0;padding:0;overflow:hidden;background:transparent;box-sizing:border-box}
177
+ })();`}var ct=`html,body{margin:0;padding:0;overflow:hidden;background:transparent;box-sizing:border-box}
178
178
  *,*::before,*::after{box-sizing:inherit}
179
179
  /* Vertical breathing room around dip content. Horizontal padding is owned
180
180
  by the dip's own content (e.g. .sprinkle-action-card__body) so shtml
@@ -209,7 +209,7 @@ mark{background:color-mix(in srgb,var(--s2-accent) 25%,transparent);color:inheri
209
209
  .c-coral{background:#712B13;color:#FAECE7}.c-pink{background:#72243E;color:#FBEAF0}
210
210
  .c-gray{background:#444441;color:#F1EFE8}.c-blue{background:#0C447C;color:#E6F1FB}
211
211
  .c-amber{background:#633806;color:#FAEEDA}.c-red{background:#791F1F;color:#FCEBEB}
212
- .c-green{background:#27500A;color:#EAF3DE}`,st=`(function(){
212
+ .c-green{background:#27500A;color:#EAF3DE}`,lt=`(function(){
213
213
  window.addEventListener('message', function(e){
214
214
  if (!e.data || e.data.type !== 'dip-draft-update') return;
215
215
  var content = typeof e.data.content === 'string' ? e.data.content : '';
@@ -218,41 +218,41 @@ 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 ct(e,t,n=!1){let r=Ke(),i=Ye()?` class="theme-light"`:``,a=t||e.includes(`<slicc-editor`),o=t||e.includes(`<slicc-diff`),s=t?`<script>${st}<\/script>`:``;return`<!DOCTYPE html>
221
+ })();`;function ut(e,t,n=!1){let r=Ye(),i=Qe()?` class="theme-light"`:``,a=t||e.includes(`<slicc-editor`),o=t||e.includes(`<slicc-diff`),s=t?`<script>${lt}<\/script>`:``;return`<!DOCTYPE html>
222
222
  <html${i}><head>
223
223
  <meta charset="utf-8">
224
224
  <style>${r}</style>
225
- <style>${ot}</style>
226
- <script>${at(n&&!t)}<\/script>
225
+ <style>${ct}</style>
226
+ <script>${st(n&&!t)}<\/script>
227
227
  ${s}
228
228
  ${a?`<script src="/slicc-editor.js"><\/script>`:``}
229
229
  ${o?`<script src="/slicc-diff.js"><\/script>`:``}
230
230
  <script src="/lucide-icons.js"><\/script>
231
231
  </head>
232
- <body class="sprinkle-inline">${e}</body></html>`}var T=new Set;function lt(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 ut(e){E=e}function D(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function dt(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 ft(e,t){let n=await O(dt(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function pt(e,t){let n=await qe(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 mt(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function ht(e,t){let n=k.get(e);if(n||(n=new Map,k.set(e,n)),n.has(t))return;let r=await de(ae(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);mt(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function gt(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 _t(e){let t=k.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}k.delete(e)}}function vt(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 yt(e,t,n){let r=ae();switch(t){case`list`:{let e=ie();if(!e)throw Error(`WebHID is unavailable in this browser`);return me(r,e)}case`request`:{let e=ie();if(!e)throw Error(`WebHID is unavailable in this browser`);return we(r,e,n[0]??[])}case`info`:return he(r,n[0]);case`open`:{let t=n[0];return await fe(r,t),await ht(e,t),{ok:!0}}case`close`:{let t=n[0];return await gt(e,t),await ve(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=vt(n[2]);return await Ce(r,e,t,i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function bt(e,t){let n=oe();switch(e){case`list`:{let e=se();if(!e)throw Error(`Web Serial is unavailable in this browser`);return ue(n,e)}case`request`:{let e=se();if(!e)throw Error(`Web Serial is unavailable in this browser`);return ge(n,e,t[0]??[])}case`info`:return Se(n,t[0]);case`open`:{let e=t[0];return await le(n,e,t[1]??{baudRate:9600}),{ok:!0}}case`close`:return await ce(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function xt(e,t){let n=Te();switch(e){case`list`:{let e=Ee();if(!e)throw Error(`WebUSB is unavailable in this browser`);return be(n,e)}case`request`:{let e=Ee();if(!e)throw Error(`WebUSB is unavailable in this browser`);return _e(n,e,t[0]??[])}case`info`:return pe(n,t[0]);case`open`:return await xe(n,t[0]),{ok:!0};case`close`:return await ye(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function St(e,t,n,r){switch(t){case`hid`:return yt(e,n,r);case`serial`:return bt(n,r);case`usb`:return xt(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function A(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 St(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 Ct(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 ft(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await pt(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 j(e,t,n,r=!1){let i=ct(t,!1,r);if(Xe)return Nt(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)),y()&&Ge(a)},{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`?Tt(t.url):t.type===`dip-picker-action`?M(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?wt(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Ct(a.contentWindow,t):t.type===`dip-device-op`&&A(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(y()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),Ge(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),Je(a.contentWindow),a.contentWindow&&(T.delete(a.contentWindow),w.delete(a.contentWindow),_t(a.contentWindow)),a.remove()}}}async function wt(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(!tt(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 Tt(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}function Et(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(j(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&&et(r);d().then(e=>{s||!i.isConnected||(o=j(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 Dt(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(Xe){await Ot(e.picker,e.action,r,t);return}switch(e.picker){case`directory`:await kt(e.action,t);return;case`usb-device`:await At(e.action,r,t);return;case`serial-port`:await jt(e.action,r,t);return;case`hid-device`:await Mt(e.action,r,t);return;default:t(e.action,e.data);return}}async function Ot(t,n,r,i){try{switch(t){case`directory`:{let{openMountPickerPopup:t}=await e(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-Bs1o43Z5.js`).then(e=>e.n);return{openMountPickerPopup:e}},__vite__mapDeps([0,1,2,3,4])),r=await t();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:t}=await e(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-DJjZemi7.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([5,1,3,4])),a=await t(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:t}=await e(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-bJGym01W.js`).then(e=>e.t);return{openSerialPickerPopup:e}},__vite__mapDeps([6,1,3,4])),a=await t(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:t}=await e(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-Cp7Sp5N-.js`).then(e=>e.t);return{openHidPickerPopup:e}},__vite__mapDeps([7,1,3,4])),a=await t(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: ${t??`(none)`}`});return}}catch(e){i(n,{error:e instanceof Error?e.message:String(e)})}}async function N(e,t){let n=re();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 kt(t,n){let r=await N(`filesystem`);if(!r){n(t,{error:`File System Access API not available`});return}if(!r.ok){P(t,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:t}=await e(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-Bs1o43Z5.js`).then(e=>e.n);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3,4]));await t(a,i)}catch(e){n(t,{error:`failed to store directory handle: ${e instanceof Error?e.message:String(e)}`});return}n(t,{handleInIdb:!0,idbKey:a,dirName:i.name})}async function At(t,n,r){let i=await N(`usb`,{filters:n});if(!i){r(t,{error:`WebUSB is not available`});return}if(!i.ok){P(t,i,`WebUSB is not available`,r);return}let a=i.grant,{getSharedUsbRegistry:o,deviceToInfo:s}=await e(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry-k6vTKonT.js`).then(e=>e.a);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([8,1])),c=o().register(a.device);r(t,{granted:!0,handle:c,info:s(c,a.device)})}async function jt(t,n,r){let i=await N(`serial`,n.length?{filters:n}:void 0);if(!i){r(t,{error:`Web Serial is not available`});return}if(!i.ok){P(t,i,`Web Serial is not available`,r);return}let a=i.grant,o=await e(()=>import(`./serial-port-registry-DsPZvGpT.js`).then(e=>e.o),__vite__mapDeps([9,1])),s=o.getSharedSerialRegistry(),c=s.register(a.port),l=s.get(c);r(t,{granted:!0,handle:c,info:l?o.deviceToInfo(c,l):{handle:c}})}async function Mt(t,n,r){let i=await N(`hid`,{filters:n});if(!i){r(t,{error:`WebHID is not available`});return}if(!i.ok){P(t,i,`WebHID is not available`,r);return}let a=i.grant,{getSharedHidRegistry:o,hidDeviceToInfo:s}=await e(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([10,1])),c=o(),l=a.devices.map(e=>s(c.register(e),e)),u=l[0];r(t,{granted:!0,handle:u.handle,info:u,devices:l})}function Nt(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`?Tt(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?wt(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Ct(i.contentWindow,t):t.type===`dip-device-op`?A(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:Ye()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Je(i.contentWindow),i.contentWindow&&(T.delete(i.contentWindow),w.delete(i.contentWindow),_t(i.contentWindow)),i.remove()}}}var F=c(`cone-memory-budget`),Pt=4e3,Ft=2e3,It=1.25,I=`/workspace/CLAUDE.md`,Lt=`/sessions/index.json`,Rt=4096,zt=/^## Auto-extracted/m,Bt=`Consolidate the auto-extracted memory bullets below into a single tighter set of durable memories.
232
+ <body class="sprinkle-inline">${e}</body></html>`}var E=new Set;function dt(e){if(typeof e?.type!=`string`||e.type.indexOf(`slicc-`)!==0)throw Error(`broadcastToDips: payload.type must start with 'slicc-'`);for(let t of E)try{t.postMessage(e,`*`)}catch{}}var D;function ft(e){D=e}function O(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function pt(e,t){let n=t?.cwd??`.`,r=t?.allowedCommands??`*`,i=[`agent`];return t?.model&&i.push(`--model`,O(t.model)),t?.thinking&&i.push(`--thinking`,O(t.thinking)),t?.readOnly&&i.push(`--read-only`,O(t.readOnly)),i.push(O(n),O(r),O(e)),i.join(` `)}async function k(e){if(!D)return{stdout:``,stderr:`exec: shell bridge not available
233
+ `,exitCode:127};try{return await D(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function mt(e,t){let n=await k(pt(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function ht(e,t){let n=await Ze(k,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 A=new WeakMap;function gt(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function _t(e,t){let n=A.get(e);if(n||(n=new Map,A.set(e,n)),n.has(t))return;let r=await me(ce(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);gt(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function vt(e,t){let n=A.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&A.delete(e)}function yt(e){let t=A.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}A.delete(e)}}function bt(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 xt(e,t,n){let r=ce();switch(t){case`list`:{let e=se();if(!e)throw Error(`WebHID is unavailable in this browser`);return _e(r,e)}case`request`:{let e=se();if(!e)throw Error(`WebHID is unavailable in this browser`);return De(r,e,n[0]??[])}case`info`:return ve(r,n[0]);case`open`:{let t=n[0];return await he(r,t),await _t(e,t),{ok:!0}}case`close`:{let t=n[0];return await vt(e,t),await xe(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=bt(n[2]);return await Ee(r,e,t,i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function St(e,t){let n=le();switch(e){case`list`:{let e=ue();if(!e)throw Error(`Web Serial is unavailable in this browser`);return pe(n,e)}case`request`:{let e=ue();if(!e)throw Error(`Web Serial is unavailable in this browser`);return ye(n,e,t[0]??[])}case`info`:return Te(n,t[0]);case`open`:{let e=t[0];return await fe(n,e,t[1]??{baudRate:9600}),{ok:!0}}case`close`:return await de(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function Ct(e,t){let n=Oe();switch(e){case`list`:{let e=ke();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Ce(n,e)}case`request`:{let e=ke();if(!e)throw Error(`WebUSB is unavailable in this browser`);return be(n,e,t[0]??[])}case`info`:return ge(n,t[0]);case`open`:return await we(n,t[0]),{ok:!0};case`close`:return await Se(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function wt(e,t,n,r){switch(t){case`hid`:return xt(e,n,r);case`serial`:return St(n,r);case`usb`:return Ct(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function j(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!T.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 wt(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 Tt(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!T.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 k(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await mt(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await ht(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 M(e,t,n,r=!1){let i=ut(t,!1,r);if(x)return Ft(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),E.add(a.contentWindow),r&&T.add(a.contentWindow)),a.addEventListener(`load`,()=>{b(a.contentWindow),a.contentWindow&&(E.add(a.contentWindow),r&&T.add(a.contentWindow)),Xe()&&Je(a)},{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`?Dt(t.url):t.type===`dip-picker-action`?N(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?Et(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Tt(a.contentWindow,t):t.type===`dip-device-op`&&j(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(Xe()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),Je(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),y(a.contentWindow),a.contentWindow&&(E.delete(a.contentWindow),T.delete(a.contentWindow),yt(a.contentWindow)),a.remove()}}}async function Et(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(!T.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!rt(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await w(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 w(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await w(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 Dt(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}function Ot(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(M(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 S(r,a.signal);let e;try{e=await fetch(u,{signal:a.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(c)return S(r,a.signal);throw e}if(e.ok)return e.text();if(c)return S(r,a.signal);throw Error(`HTTP ${e.status}`)},f=c&&nt(r);d().then(e=>{s||!i.isConnected||(o=M(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 kt(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function N(e,t){let n=e.data??null,r=Array.isArray(n?.filters)?n.filters:[];if(x){await At(e.picker,e.action,r,t);return}switch(e.picker){case`directory`:await jt(e.action,t);return;case`usb-device`:await Mt(e.action,r,t);return;case`serial-port`:await Nt(e.action,r,t);return;case`hid-device`:await Pt(e.action,r,t);return;default:t(e.action,e.data);return}}async function At(t,n,r,i){try{switch(t){case`directory`:{let{openMountPickerPopup:t}=await e(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-Bs1o43Z5.js`).then(e=>e.n);return{openMountPickerPopup:e}},__vite__mapDeps([0,1,2,3,4])),r=await t();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:t}=await e(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-DJjZemi7.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([5,1,3,4])),a=await t(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:t}=await e(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-bJGym01W.js`).then(e=>e.t);return{openSerialPickerPopup:e}},__vite__mapDeps([6,1,3,4])),a=await t(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:t}=await e(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-Cp7Sp5N-.js`).then(e=>e.t);return{openHidPickerPopup:e}},__vite__mapDeps([7,1,3,4])),a=await t(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: ${t??`(none)`}`});return}}catch(e){i(n,{error:e instanceof Error?e.message:String(e)})}}async function P(e,t){let n=oe();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 F(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 jt(t,n){let r=await P(`filesystem`);if(!r){n(t,{error:`File System Access API not available`});return}if(!r.ok){F(t,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:t}=await e(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-Bs1o43Z5.js`).then(e=>e.n);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3,4]));await t(a,i)}catch(e){n(t,{error:`failed to store directory handle: ${e instanceof Error?e.message:String(e)}`});return}n(t,{handleInIdb:!0,idbKey:a,dirName:i.name})}async function Mt(t,n,r){let i=await P(`usb`,{filters:n});if(!i){r(t,{error:`WebUSB is not available`});return}if(!i.ok){F(t,i,`WebUSB is not available`,r);return}let a=i.grant,{getSharedUsbRegistry:o,deviceToInfo:s}=await e(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry-k6vTKonT.js`).then(e=>e.a);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([8,1])),c=o().register(a.device);r(t,{granted:!0,handle:c,info:s(c,a.device)})}async function Nt(t,n,r){let i=await P(`serial`,n.length?{filters:n}:void 0);if(!i){r(t,{error:`Web Serial is not available`});return}if(!i.ok){F(t,i,`Web Serial is not available`,r);return}let a=i.grant,o=await e(()=>import(`./serial-port-registry-DsPZvGpT.js`).then(e=>e.o),__vite__mapDeps([9,1])),s=o.getSharedSerialRegistry(),c=s.register(a.port),l=s.get(c);r(t,{granted:!0,handle:c,info:l?o.deviceToInfo(c,l):{handle:c}})}async function Pt(t,n,r){let i=await P(`hid`,{filters:n});if(!i){r(t,{error:`WebHID is not available`});return}if(!i.ok){F(t,i,`WebHID is not available`,r);return}let a=i.grant,{getSharedHidRegistry:o,hidDeviceToInfo:s}=await e(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([10,1])),c=o(),l=a.devices.map(e=>s(c.register(e),e)),u=l[0];r(t,{granted:!0,handle:u.handle,info:u,devices:l})}function Ft(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`?Dt(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?Et(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Tt(i.contentWindow,t):t.type===`dip-device-op`?j(i.contentWindow,t):t.type===`dip-picker-action`&&N(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{b(i.contentWindow),i.contentWindow&&(E.add(i.contentWindow),r&&T.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:Qe()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),y(i.contentWindow),i.contentWindow&&(E.delete(i.contentWindow),T.delete(i.contentWindow),yt(i.contentWindow)),i.remove()}}}var I=c(`cone-memory-budget`),It=4e3,Lt=2e3,Rt=1.25,L=`/workspace/CLAUDE.md`,zt=`/sessions/index.json`,Bt=4096,Vt=/^## Auto-extracted/m,Ht=`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.
237
237
  - One fact per bullet. Drop duplicates and superseded facts. Keep the most recent / specific phrasing.
238
238
  - Preserve concrete identifiers (file paths, URLs, IDs, names) verbatim.
239
239
  - Be terse. Aim well under the original size.
240
- - Do NOT add preamble, commentary, or any heading other than the single consolidated one.`;function Vt(e){return Math.round(Pt+Ft*Math.log2((Number.isFinite(e)&&e>=0?e:0)+2))}function Ht(e){let t=zt.exec(e);if(!t)return{header:e,autoExtracted:``};let n=t.index;return{header:e.slice(0,n),autoExtracted:e.slice(n)}}async function Ut(e){try{let t=await e.readFile(Lt,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r.length:0}catch{return 0}}async function Wt(e){let{header:n,autoExtracted:r}=Ht(e.currentContent);if(!r.trim())return e.currentContent;let i=`You are a memory consolidation assistant. You are given a markdown file's "auto-extracted" section — a list of memory bullets accumulated across sessions of an AI coding assistant. Your job is to rewrite that section as a tighter, deduplicated set of durable memories that fits well within ${e.budget} characters.
240
+ - Do NOT add preamble, commentary, or any heading other than the single consolidated one.`;function Ut(e){return Math.round(It+Lt*Math.log2((Number.isFinite(e)&&e>=0?e:0)+2))}function Wt(e){let t=Vt.exec(e);if(!t)return{header:e,autoExtracted:``};let n=t.index;return{header:e.slice(0,n),autoExtracted:e.slice(n)}}async function Gt(e){try{let t=await e.readFile(zt,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r.length:0}catch{return 0}}async function Kt(e){let{header:n,autoExtracted:r}=Wt(e.currentContent);if(!r.trim())return e.currentContent;let i=`You are a memory consolidation assistant. You are given a markdown file's "auto-extracted" section — a list of memory bullets accumulated across sessions of an AI coding assistant. Your job is to rewrite that section as a tighter, deduplicated set of durable memories that fits well within ${e.budget} characters.
241
241
 
242
242
  <auto-extracted>
243
243
  ${r}
244
- </auto-extracted>`,a={role:`user`,content:[{type:`text`,text:Bt}],timestamp:Date.now()},o=await t(e.model,{systemPrompt:i,messages:[a]},{apiKey:e.apiKey,maxTokens:Rt,headers:e.headers,signal:e.signal});if(o.stopReason===`error`)throw Error(`Restructure call failed: ${o.errorMessage||`Unknown error`}`);let s=o.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
244
+ </auto-extracted>`,a={role:`user`,content:[{type:`text`,text:Ht}],timestamp:Date.now()},o=await t(e.model,{systemPrompt:i,messages:[a]},{apiKey:e.apiKey,maxTokens:Bt,headers:e.headers,signal:e.signal});if(o.stopReason===`error`)throw Error(`Restructure call failed: ${o.errorMessage||`Unknown error`}`);let s=o.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
245
245
  `).trim();if(!s)throw Error(`Restructure call returned empty content`);return`${n}${n.length===0||n.endsWith(`
246
246
  `)?``:`
247
- `}${s}\n`}async function Gt(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=``;try{let n=await e.vfs.readFile(I,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{return{restructured:!1,reason:`missing-file`}}let n=await Ut(e.vfs),r=Vt(n),i=r*It;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 Wt({currentContent:t,budget:r,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(I,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 L(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?Ae(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 R=c(`session-freezer`),Kt=4,qt=2048,Jt=40,z=`/sessions`,B=`/sessions/index.json`;async function Yt(e){let t=await tn(e.sessionStore);if(!t||t.messages.length<Kt)return R.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=nn(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);await Qt(e,n,i);let a=await $t(e,n,i)||ln(t.messages);return await en(e,t,a,r,i?await Xt(e,a):void 0)}async function Xt(t,n){try{return Zt(await(t.pickIcon??(await e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CvbElujR.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,1,12,13,14,15,16,17,18,2,19,20,4,21,22,23,24,25,26,27,28,29,30,31]))).pickLucideIcon)({subject:`"${n}" — an archived chat session`})??void 0)}catch(e){R.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function Zt(e){if(e)return De(e)?e:void 0}async function Qt(e,t,n){if(!n){R.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:qt,headers:e.headers})}catch(e){R.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){R.info(`Memory extraction returned no durable memories`);return}try{await fn(e.vfs,r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),R.info(`Memory extracted and appended on new-session`)}catch(e){R.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function $t(e,t,n){if(!n)return``;try{return cn(await o({messages:t,instruction:a,model:e.model,apiKey:e.apiKey,maxTokens:Jt,headers:e.headers}))}catch(e){return R.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function en(e,t,n,r,i){let a=new Date().toISOString(),o=r===`quick`?`pending-${dn()}.md`:`${a.replace(/[:.]/g,`-`)}-${un(n)}.md`,s={id:t.id,title:n,frozenAt:a,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:t.messages},c=sn(s),l={filename:o,title:n,frozenAt:a,messageCount:t.messages.length,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{}};try{return await V(e.vfs,z),await e.vfs.writeFile(`${z}/${o}`,c),await pn(e.vfs,l),await e.vfs.flush(),R.info(`Cone session frozen`,{filename:o,title:n,messageCount:t.messages.length}),{...l,archive:s}}catch(e){return R.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}async function tn(e){try{return await e.load(`session-cone`)}catch(e){return R.warn(`Failed to load session-cone`,{error:e instanceof Error?e.message:String(e)}),null}}function nn(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var rn=`<!-- slicc:session-data
249
- `,an=`
250
- -->`;function on(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 sn(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=`${rn}${JSON.stringify(on(e.messages)).replace(/-->/g,`-- >`)}${an}\n\n`,r=`# ${e.title}\n\n`;return t+n+r+L(e.messages)}function cn(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 ln(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 un(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)||`session`}function dn(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`}async function V(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function fn(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 V(e,`/workspace`)}let o=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${n})`,s=`${a.length===0||a.endsWith(`
247
+ `}${s}\n`}async function qt(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=``;try{let n=await e.vfs.readFile(L,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{return{restructured:!1,reason:`missing-file`}}let n=await Gt(e.vfs),r=Ut(n),i=r*Rt;if(t.length<=i)return{restructured:!1,reason:`under-threshold`};I.info(`Cone memory over threshold — restructuring`,{size:t.length,budget:r,threshold:i,sessionCount:n});try{let n=await Kt({currentContent:t,budget:r,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(L,n),I.info(`Cone memory restructured`,{before:t.length,after:n.length}),{restructured:!0}}catch(e){return I.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}function R(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?Ne(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 z=c(`session-freezer`),Jt=4,Yt=2048,Xt=40,B=`/sessions`,V=`/sessions/index.json`;async function Zt(e){let t=await rn(e.sessionStore);if(!t||t.messages.length<Jt)return z.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=an(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);await en(e,n,i);let a=await tn(e,n,i)||dn(t.messages);return await nn(e,t,a,r,i?await Qt(e,a):void 0)}async function Qt(t,n){try{return $t(await(t.pickIcon??(await e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-Quagspyf.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,1,12,13,14,15,16,17,18,2,19,20,4,21,22,23,24,25,26,27,28,29,30,31]))).pickLucideIcon)({subject:`"${n}" — an archived chat session`})??void 0)}catch(e){z.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function $t(e){if(e)return Ae(e)?e:void 0}async function en(e,t,n){if(!n){z.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:Yt,headers:e.headers})}catch(e){z.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){z.info(`Memory extraction returned no durable memories`);return}try{await mn(e.vfs,r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),z.info(`Memory extracted and appended on new-session`)}catch(e){z.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function tn(e,t,n){if(!n)return``;try{return un(await o({messages:t,instruction:a,model:e.model,apiKey:e.apiKey,maxTokens:Xt,headers:e.headers}))}catch(e){return z.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function nn(e,t,n,r,i){let a=new Date().toISOString(),o=r===`quick`?`pending-${pn()}.md`:`${a.replace(/[:.]/g,`-`)}-${fn(n)}.md`,s={id:t.id,title:n,frozenAt:a,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:t.messages},c=ln(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 hn(e.vfs,l),await e.vfs.flush(),z.info(`Cone session frozen`,{filename:o,title:n,messageCount:t.messages.length}),{...l,archive:s}}catch(e){return z.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}async function rn(e){try{return await e.load(`session-cone`)}catch(e){return z.warn(`Failed to load session-cone`,{error:e instanceof Error?e.message:String(e)}),null}}function an(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var on=`<!-- slicc:session-data
249
+ `,sn=`
250
+ -->`;function cn(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 ln(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=`${on}${JSON.stringify(cn(e.messages)).replace(/-->/g,`-- >`)}${sn}\n\n`,r=`# ${e.title}\n\n`;return t+n+r+R(e.messages)}function un(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 dn(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 fn(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)||`session`}function pn(){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 mn(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 Gt({vfs:e,model:r?.model,apiKey:r?.apiKey,headers:r?.headers,signal:r?.signal})}catch(e){R.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function pn(e,t){let n=[];try{let t=await e.readFile(B,{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(B,JSON.stringify(r,null,2))}async function mn(e){try{let t=await e.readFile(B,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r:[]}catch{return[]}}function H(e){return`${z}/${e.filename}`}async function hn(e,t,n){if(!t.pendingEnrichment)return null;let r=await _n(e,t);if(r===null)return null;let i=vn(t,r);if(i===null)return null;let a=await yn(t,i,n);if(a===null)return null;let o=await gn(n,a.newTitle);return await bn(e,t,a.bullets,n),await xn(e,t,r,a.newTitle,o)}async function gn(e,t){if(e.pickIcon)try{return await Zt(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){R.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function _n(e,t){try{let n=await e.readFile(H(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?R.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):R.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}function vn(e,t){let n;try{n=U(t).messages}catch(t){return R.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?(R.info(`Pending archive has no messages — skipping enrichment`,{filename:e.filename}),null):nn(n)}async function yn(e,t,n){let r=``;try{r=await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:qt,headers:n.headers})}catch(t){return R.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let i=``;try{i=cn(await o({messages:t,instruction:a,model:n.model,apiKey:n.apiKey,maxTokens:Jt,headers:n.headers}))}catch(t){return R.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}:(R.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function bn(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await fn(e,i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){R.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}async function xn(e,t,n,r,i){let a=H(t),o=Sn(n,r),s=`${t.frozenAt.replace(/[:.]/g,`-`)}-${un(r)}.md`,c=`${z}/${s}`;try{await V(e,z),await e.writeFile(c,o)}catch(e){return R.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 wn(e,t.filename,u)}catch(e){return R.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){R.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:a,error:e instanceof Error?e.message:String(e)})}try{await e.flush()}catch{}return R.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:s,title:r}),u}function Sn(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 Cn=Promise.resolve();async function wn(e,t,n){let r=async()=>{let r=[];try{let t=await e.readFile(B,{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(B,JSON.stringify(a,null,2))},i=Cn.then(r,r);return Cn=i.then(()=>void 0,()=>void 0),i}function U(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:Tn(t)}}function Tn(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 En=`__slicc_binary__`,Dn=`b64`;function On(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[En]===Dn&&typeof t.data==`string`}function W(e){if(e instanceof Uint8Array)return{[En]:Dn,data:u(e)};if(Array.isArray(e))return e.map(W);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=W(r);return t}return e}function G(e){if(On(e))return l(e.data);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}var kn=c(`panel-transport`);function An(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function jn(){return{onMessage:e=>{let t=(t,n,r)=>(An(t)&&e(G(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=W(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{kn.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var K=c(`offscreen-client`),Mn=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=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){K.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??jn(),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,n){this.send({type:`set-thinking-level`,scoopJid:e,level:t,effortOverride:n})}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 getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&K.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}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}K.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})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}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?(K.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):K.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`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));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;Nn(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){K.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}-${q()}`,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}-${q()}`,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}-${q()}`,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}-${q()}`;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){K.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&&Nn(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){K.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 q(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function Nn(e,t){Oe({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),te({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 J(e){return!e.includes(`\0`)}function Pn(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(!J(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(!J(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),!J(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),!J(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(J(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 Fn(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 In(e){let t=Fn(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function Ln(e,t){let n=Fn(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 Rn(){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 zn(e){let{worker:t,realCdpTransport:n,callbacks:r}=e,i=e.readyTimeoutMs??3e4,a=e.localStorageSeed??{},o=new MessageChannel,s=new MessageChannel,c=new Mn(r,In(o.port1)),l=Ln(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 Bn(e){return zn({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-BFPqa_y4.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Rn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId})}var Vn=`<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 Hn(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 Un(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(Vn));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{await t(Hn(e.getMessages())??L([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=L([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function Y(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Wn(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 Gn(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Kn(e){return`
252
+ `}\n${o}\n\n${t}\n`;await e.writeFile(i,a+s);try{await qt({vfs:e,model:r?.model,apiKey:r?.apiKey,headers:r?.headers,signal:r?.signal})}catch(e){z.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function hn(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 gn(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 _n(e,t,n){if(!t.pendingEnrichment)return null;let r=await yn(e,t);if(r===null)return null;let i=bn(t,r);if(i===null)return null;let a=await xn(t,i,n);if(a===null)return null;let o=await vn(n,a.newTitle);return await Sn(e,t,a.bullets,n),await Cn(e,t,r,a.newTitle,o)}async function vn(e,t){if(e.pickIcon)try{return await $t(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){z.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function yn(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`?z.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):z.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}function bn(e,t){let n;try{n=W(t).messages}catch(t){return z.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?(z.info(`Pending archive has no messages — skipping enrichment`,{filename:e.filename}),null):an(n)}async function xn(e,t,n){let r=``;try{r=await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Yt,headers:n.headers})}catch(t){return z.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let i=``;try{i=un(await o({messages:t,instruction:a,model:n.model,apiKey:n.apiKey,maxTokens:Xt,headers:n.headers}))}catch(t){return z.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}:(z.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Sn(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await mn(e,i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){z.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}async function Cn(e,t,n,r,i){let a=U(t),o=wn(n,r),s=`${t.frozenAt.replace(/[:.]/g,`-`)}-${fn(r)}.md`,c=`${B}/${s}`;try{await H(e,B),await e.writeFile(c,o)}catch(e){return z.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 En(e,t.filename,u)}catch(e){return z.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){z.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:a,error:e instanceof Error?e.message:String(e)})}try{await e.flush()}catch{}return z.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:s,title:r}),u}function wn(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 Tn=Promise.resolve();async function En(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=Tn.then(r,r);return Tn=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:Dn(t)}}function Dn(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 On=`__slicc_binary__`,kn=`b64`;function An(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[On]===kn&&typeof t.data==`string`}function G(e){if(e instanceof Uint8Array)return{[On]:kn,data:u(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(An(e))return l(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 jn=c(`panel-transport`);function Mn(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Nn(){return{onMessage:e=>{let t=(t,n,r)=>(Mn(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=>{jn.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var q=c(`offscreen-client`),Pn=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=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??Nn(),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,n){this.send({type:`set-thinking-level`,scoopJid:e,level:t,effortOverride:n})}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 getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&q.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}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})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}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`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));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;Fn(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&&Fn(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 Fn(e,t){je({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),ie({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 In(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 Ln(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 Rn(e){let t=Ln(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function zn(e,t){let n=Ln(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 Bn(){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 Vn(e){let{worker:t,realCdpTransport:n,callbacks:r}=e,i=e.readyTimeoutMs??3e4,a=e.localStorageSeed??{},o=new MessageChannel,s=new MessageChannel,c=new Pn(r,Rn(o.port1));e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=zn(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 Hn(e){return Vn({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-DzzwltLv.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Bn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,onWorkerScriptError:e.onWorkerScriptError})}var Un=`<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 Wn(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 Gn(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(Un));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{await t(Wn(e.getMessages())??R([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=R([...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 Kn(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 qn(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Jn(e){return`
253
253
  <div class="sprinkle-action-card">
254
- <div class="sprinkle-action-card__header">${Gn(Wn(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
254
+ <div class="sprinkle-action-card__header">${qn(Kn(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
- `}function qn(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Jn=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:Y(),role:`user`,content:e,timestamp:Date.now()})}getQueuedMessages(){return this.#_.map(qn)}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(qn))}addAssistantMessage(e){this.#Q({id:Y(),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=Re(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(Ve(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:Y(),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?Ae(i):i;this.#p?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#j(e){return We(e,je())}#M(){if(this.#s)try{let e=this.#s();if(!e)return;_(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??=Un({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:Y(),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:Y(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#G(e)}#G(e){try{if(ne(e)||ee(e)||h(e))return;m(`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=j(r,Kn(n),()=>{},!1);this.#O.set(t,{instance:e,container:r});return}let i=j(r,n,(e,n)=>{this.#u?.(t,e,n)},!1);this.#O.set(t,{instance:i,container:r}),this.#u?.(t,f,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,Y(),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,Y(),i.attachments)}#X(e){return this.#g.find(t=>t.id===e)}#Z(e){try{return Me(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(){Ue(this.#ee(),this.#D)}#ne(){Fe(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 Yn(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function Xn(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Yn(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function Zn(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 X(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(B,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 X(e){let t=await Qn(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Qn(e){let t;try{let n=await e.readFile(B,{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 $n(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 er(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Xn))}async function tr(e,t){let n=await e.readFile(H(t),{encoding:`utf-8`}),r=U(typeof n==`string`?n:new TextDecoder().decode(n));return{title:r.title||t.title,messages:r.messages}}var nr={".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 rr(e){return nr[e.slice(e.lastIndexOf(`.`)).toLowerCase()]||`application/octet-stream`}function ir(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}async function ar(e,t,n){let r=await e.readFile(t,{encoding:`binary`}),i=typeof r==`string`?r:Uint8Array.from(r);await e.writeFile(n,i)}async function Z(e,t){try{return await e.stat(t),!0}catch{return!1}}function or(e){let{fileTree:t,openFs:n,openWriter:r,insertReference:i,toPreviewUrl:a,log:o}=e;t.addEventListener(`file-preview`,async e=>{let{path:t}=e.detail;try{let e=await n(),r=rr(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}ze.open({path:t,content:i,mimeType:r})}catch(e){o.error(`File preview failed`,e)}}),t.addEventListener(`file-reference`,e=>{let{path:t}=e.detail;i(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=rr(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){o.error(`File download failed`,e)}}),t.addEventListener(`file-overflow`,e=>{let{path:n,anchor:r}=e.detail,i=[{id:`rename`,label:`Rename`},{id:`duplicate`,label:`Duplicate`},{id:`copy-path`,label:`Copy path`},{id:`open-browser`,label:`Open in browser`,visible:ir(n)},{id:`delete`,label:`Delete`,destructive:!0}];Ie.show({anchor:r,items:i,context:{path:n},dispatchTarget:t})}),t.addEventListener(`overflow-action`,async e=>{let{action:t,context:n}=e.detail,{path:i}=n;try{switch(t){case`copy-path`:await navigator.clipboard.writeText(i);break;case`open-browser`:window.open(a(i),`_blank`);break;case`duplicate`:{let e=i.lastIndexOf(`.`),t=e>0?`${i.slice(0,e)}_copy${i.slice(e)}`:`${i}_copy`,n=await r();if(await Z(n,t)&&!confirm(`${t} already exists. Overwrite?`))break;await ar(n,i,t);break}case`delete`:confirm(`Delete ${i}?`)&&await(await r()).rm(i);break;case`rename`:{let e=i.split(`/`).pop()??``,t=prompt(`Rename ${i} to:`,e)?.trim();if(!t||t===e||t.includes(`/`))break;let n=`${i.slice(0,i.length-e.length)}${t}`,a=await r();if(await Z(a,n)&&!confirm(`${n} already exists. Overwrite?`))break;await ar(a,i,n),await a.rm(i);break}}}catch(e){o.error(`Overflow action "${t}" failed`,e)}})}var sr=`/workspace/CLAUDE.md`,Q=64;function cr(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 lr(e){let t=[],n=null,r=()=>{if(!n)return;let e=n.join(` `).trim();e&&t.push(cr(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(cr(e.trim())),t}async function ur(e){let t=``;try{let n=await e.readFile(sr,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return lr(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 dr(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 fr=[`/workspace`,`/shared`],pr=3,mr=200;async function hr(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,mr),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<pr?await hr(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 gr(e){let t=[];for(let n of fr)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await hr(e,n,1)});return t}function _r(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await gr(t),a||(a=!0,or({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:ke,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 ur(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 dr(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 vr={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},yr={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function br(e){return e?vr[e]:void 0}function xr(e){return e===`max`?`max`:void 0}function Sr(e,t){return t===`max`?`max`:(e&&yr[e])??`off`}function Cr(e,t){return e!=null&&e!==`cone`||new URL(t.location.href).searchParams.get(`cherry`)===`1`?!0:p(t.localStorage)}function $(e){return e===`error`?`dead`:e===`initializing`?`none`:`open`}function wr(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:v(e),label:e.isCone?`sliccy`:e.name,eyes:$(t?.get(e.jid)),fill:typeof r==`number`?Math.round(r*100):void 0}})}function Tr(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=wr(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`&&Ne(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 Er(t,n){t.thread.setAttribute(`context`,n.isCone?`cone`:`scoop:${n.name}`),t.thread.setAttribute(`accent`,v(n)),Le(t,n.isCone?{kind:`cone`}:{kind:`scoop`,accent:v(n)}),t.switcher.setAttribute(`active`,n.jid);let r=localStorage.getItem(`slicc_locked_effort_level`);t.composerMeta.setAttribute(`thinking`,Sr(r??n.config?.thinkingLevel,n.config?.effortOverride));try{let{resolveCurrentModel:i,resolveModelById:a}=await e(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-CMLc_YHL.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([32,1,33,14,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35])),o=n.config?.modelId,s=o?a(o):i();t.composerMeta.setAttribute(`model`,s.name??s.id),t.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!r)}catch{}}function Dr(t){let{refs:n,openVfs:r,client:i,getController:a,getSelected:o,selectScoop:s,clearSelection:c,log:l}=t,u=[],d=0,f=!1,p=()=>{let t=++d;r().then(async({reader:r,writer:i})=>{let a=await X(r);if(a===null){if((await Qn(r)).kind!==`corrupt`||(l.warn(`WC freezer index corrupt — rebuilding from archives`),a=await $n(r),a.length===0))return;await i.writeFile(B,JSON.stringify(a,null,2))}t===d&&(u=a,er(n.freezer,a),!f&&a.some(e=>!e.icon&&!e.pendingEnrichment)&&(f=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CvbElujR.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,1,12,13,14,15,16,17,18,2,19,20,4,21,22,23,24,25,26,27,28,29,30,31])).then(({pickLucideIcon:e})=>Zn({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=t=>{m||(m=!0,h()?.setAttribute(`busy`,``),(async()=>{try{if(t!==`erase`){let{writer:n}=await r(),{runNewSessionFreeze:i,runNewSessionFreezeQuick:a}=await e(async()=>{let{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}=await import(`./new-session-DGwIj1BV.js`);return{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}},__vite__mapDeps([36,14,17,1,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,32,33,34,35,30,37]));t===`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([]),e(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-BRXA9i_k.js`).then(e=>e.x);return{resetDictationPriming:e}},__vite__mapDeps([38,1,14,32,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41])).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 X(t)??[]).find(t=>t.filename===e);let{messages:o}=await tr(t,i??{filename:e,title:e,frozenAt:``,messageCount:0});a()?.loadMessages(o),n.thread.setAttribute(`context`,`freezer:${i?.filename??e}`),n.thread.setAttribute(`accent`,He),Le(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 Or(e,t){let n=null,r=Be(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`),Er(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 kr(t){let n=null;return()=>(n??=(async()=>{let[{createRemoteVfsClient:n},{createRemoteWritableVfsClient:r}]=await Promise.all([e(()=>import(`./remote-vfs-client-Z2qM01yP.js`),__vite__mapDeps([42,43])),e(()=>import(`./writable-vfs-client-BKZGifKZ.js`),__vite__mapDeps([44,43]))]);return{reader:n({transport:t.getTransport()}),writer:r({transport:t.getTransport()})}})(),n)}function Ar(t,n,r,i,a){t.onClientReady(()=>{i.intercept||e(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-D9584JBU.js`);return{wireWcOnboarding:e}},__vite__mapDeps([45,14,32,1,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,46])).then(({wireWcOnboarding:e})=>e({client:n,getController:()=>t.getController(),openVfs:r,log:a})).then(e=>{i.intercept=e.interceptWelcomeLick}).catch(e=>a.error(`WC onboarding wiring failed`,e))})}function jr(t,i,a,o,s){let c=new Map;e(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-CuB1P3LZ.js`);return{loadDipStyles:e}},__vite__mapDeps([47,14])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),e(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-BWT6ZRD3.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([48,1,49,2])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),e(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-BEk-Upnk.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([49,1,2])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let l=i.createAgentHandle();l.onEvent(t=>{t.type!==`tool_use_start`&&t.type!==`tool_result`||e(async()=>{let{playCue:e}=await import(`./soundscape-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([50,2,40])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0)});let u=new Jn({thread:t.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:t=>{e(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-DLFM5K98.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([51,2,38,1,14,32,33,17,12,13,15,16,18,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41,52,53,54,55,56])).then(async({consumeVoiceSubmission:n,speakReplyMarkdown:r})=>{if(!n())return;let{endVoiceTurn:i,setTtsActive:a}=await e(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([50,2,40]));try{if(t?.content){a(!0);try{await r(t.content)}finally{a(!1)}}}finally{i()}}).catch(()=>void 0)},onProcessingChange:e=>{t.frame.toggleAttribute(`data-processing`,e),t.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,e),e||o?.()},onBusyPhaseChange:e=>{t.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,e)},onMessageDisposed:e=>{let t=c.get(e);t&&(Dt(t),c.delete(e))},onMessageRendered:(e,t)=>{let n=t[0];n&&c.set(e.id,Et(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:e=>{t.queuedStack.setMessages(e)},onToolUiAction:(e,t,n)=>{i.sendToolUiAction(e,t,n)},onQueuedCancel:e=>{let t=i.selectedScoopJid;t&&i.deleteQueuedMessage(t,e).catch(()=>void 0)}});return t.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 Mr(t){let{boot:n,client:r,agentHandle:i,openReader:a,log:o}=t,{refs:s}=n;e(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-WEW27YLe.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([57,14,38,1,32,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41])).then(({createPlaceholderRefresher:e})=>{t.setRefreshPlaceholder(e({inputCard:s.inputCard,getMessages:()=>n.getController()?.getMessages()??[],defaultPlaceholder:s.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),(async()=>{try{if(Cr(n.wiring.pendingUrlContext,window))return;let{SessionStore:r}=await e(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),t.triggerPlaceholder())}catch(e){o.warn(`WC session hydration failed`,e)}})();let c=null;return e(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-COndISMH.js`);return{wireWcAttach:e}},__vite__mapDeps([58,14,19,59,1])).then(({wireWcAttach:n})=>{c=n({inputCard:s.inputCard,freezer:s.freezer,composer:s.composer,openReader:a,openWriter:t.openWriter,listConversations:async()=>{let{readSessionsIndex:t}=await e(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-CKE1FQU0.js`);return{readSessionsIndex:e}},[]);return(await t(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`,t=>{let r=Pe(t);if(!r)return;let i=t.detail?.source===`dictation`;i&&(e(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-DLFM5K98.js`);return{markVoiceSubmission:e}},__vite__mapDeps([51,2,38,1,14,32,33,17,12,13,15,16,18,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41,52,53,54,55,56])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),e(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([50,2,40])).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()}),e(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=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let t=e.detail?.thinking,i=br(t),a=xr(t),o=n.getSelected();o&&i&&r.setScoopThinkingLevel(o.jid,i,a)}),{getAttachStage:()=>c}}function Nr(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=wr(t.getScoops(),e.statuses,e.fills)})};return setInterval(n,15e3),n}function Pr(t,n,r){let i=n.standalone;i&&e(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DunWpcR7.js`);return{wireWcBrowser:e}},[]).then(({wireWcBrowser:e})=>e({refs:t.refs,browser:i.browser,log:r})).catch(e=>r.error(`WC browser overlay wiring failed`,e))}function Fr(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)}),Lr({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function Ir(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 Lr(t){let n=new Map,r=new Set;t.switcher.addEventListener(`pointerover`,i=>{let a=i.target?.closest?.(`slicc-pill.scoop`);if(!a||!t.switcher.contains(a))return;let o=a.dataset.k??``,s=t.getScoops().find(e=>e.jid===o);if(!s)return;let c=t.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(t.labelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-CvbElujR.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,1,12,13,14,15,16,17,18,2,19,20,4,21,22,23,24,25,26,27,28,29,30,31]))).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 Rr(t,n,r){let{RemoteTerminalView:i}=await e(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-DddvZDMC.js`);return{RemoteTerminalView:e}},__vite__mapDeps([60,1,14,25,2,59,61,0,3,4,10,62,9,6,7,8,5,63])),{fetchSecretEnvVars:a}=await e(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-C5wufPdt.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([64,2,20,1,14,19,4,21,22,23,24])),o=await a(),s=new i({client:n,cwd:`/`,env:Object.keys(o).length>0?o:void 0});await new Promise(e=>t.onClientReady(e)),await s.mount(r),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function zr(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 Br(t,n,r,i){e(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CKtVglvh.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([65,14,2,59,1])).then(async({installLeaderPermissionsSurface:i,installMountPendingConsumer:a})=>{let o=r.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await e(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-CbkqRh4J.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([66,14,4]));i({runtimeMode:o,providers:await s(c()||o===`extension`||o===`extension-detached`)}),a({runShell:Vr(t,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e))}function Vr(t,n){let r=null,i=()=>(r||=(async()=>{await new Promise(e=>t.onClientReady(e));let{TerminalSessionClient:r}=await e(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 Hr(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 Ur(t,n,r,i={}){e(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-BRXA9i_k.js`).then(e=>e.v);return{initTimestampPreference:e}},__vite__mapDeps([38,1,14,32,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:a}=t;t.setClient(n);let o=null,s=Nr(t.wiring,n),c=()=>o?.(),l={intercept:null},{controller:u,agentHandle:d}=jr(a,n,()=>t.getSelected(),Ir({boot:t,triggerPlaceholder:c,refreshStats:s}),l);t.setController(u),t.onClientReady(s);let f=kr(n),p=async()=>(await f()).reader;i.standalone?.runtimeMode!==`cherry`&&i.standalone?.runtimeMode!==`hosted-leader`&&Ar(t,n,f,l,r);let m=Mr({boot:t,client:n,agentHandle:d,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:p,openWriter:async()=>(await f()).writer,log:r});Fr(t,n),Pr(t,i,r),Br(t,n,i,r),t.setActivateSurface(_r({fileTree:a.fileTree,termSurface:a.termSurface,memoryHost:a.memoryHost,monitor:a.monitor,openFs:p,openWriter:async()=>(await f()).writer,onKernelReady:e=>t.onClientReady(e),getMonitorDeps:()=>({getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:t}=await e(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-DySjWLR-.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([67,1,2,20,14,19,4,21,32,33,17,12,13,15,16,18,22,23,24,25,26,27,28,29,34,35]));return t()},getWebhooks:async()=>{let{getAllWebhooks:t}=await e(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-DySjWLR-.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([67,1,2,20,14,19,4,21,32,33,17,12,13,15,16,18,22,23,24,25,26,27,28,29,34,35]));return t()},getMounts:async()=>{let{getAllMountEntries:t}=await e(async()=>{let{getAllMountEntries:e}=await import(`./mount-table-store-CfQUN_2R.js`).then(e=>e.r);return{getAllMountEntries:e}},__vite__mapDeps([68,1]));return t()},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:e=>Rr(t,n,e),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}=Dr({refs:a,openVfs:f,client:n,getController:()=>t.getController(),getSelected:()=>t.getSelected(),selectScoop:t.selectScoop,clearSelection:t.clearSelection,log:r});h(),t.onClientReady(h),zr(t,n,g),f().then(async({reader:t})=>{let{installPreviewVfsResponder:n}=await e(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Dhck1Brc.js`);return{installPreviewVfsResponder:e}},[]);n({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>t,logger:r})}).catch(e=>r.warn(`WC page-VFS support wiring failed`,e)),f().then(async({reader:o,writer:s})=>{let{createRemoteSprinkleVfs:c}=await e(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-e81pZJKo.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([69,43])),{wireWcSprinkles:l}=await e(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-C14qdDwd.js`);return{wireWcSprinkles:e}},__vite__mapDeps([70,14,4])),u=await l({refs:a,client:n,fs:c({reader:o,writer:s}),instanceId:i.instanceId,onAttachImage:Hr(m,r),log:r});if(t.onClientReady(()=>void u.resync()),i.standalone&&i.instanceId){let{wireWcTray:o}=await e(async()=>{let{wireWcTray:e}=await import(`./wc-tray-C9VyD3aS.js`);return{wireWcTray:e}},__vite__mapDeps([71,14,17,1,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,32,33,34,35,72,62,67,38,31,39,40,41,73,74,55,56,75,48,49])),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:()=>t.getController(),getSelectedJid:()=>t.getSelected()?.jid??`cone`,agentHandle:d,openFs:p,baseFloatLabel:i.standalone.baseFloatLabel,window,log:r})}}).catch(e=>r.error(`WC sprinkle/tray wiring failed`,e)),e(async()=>{let{wireWcNav:e}=await import(`./wc-nav-CXUL4V4Y.js`);return{wireWcNav:e}},__vite__mapDeps([76,14,4,35,1,32,33,17,12,13,15,16,18,2,19,20,21,22,23,24,25,26,27,28,29,34,67])).then(({wireWcNav:e})=>e({refs:a,client:n,log:r})).catch(e=>r.error(`WC nav wiring failed`,e)),e(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-HWEPGUzG.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([77,2,4,59,1,39,53,54,20,14,19,21,55,56,78])).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)),e(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-nvJ9brr6.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([52,14,2,4,53,54,20,1,19,21,55,56])).then(({setSpeakAssetsInstanceId:e})=>e(i.instanceId)).catch(e=>r.error(`WC say warmup wiring failed`,e))}async function Wr(t,n,r=`standalone`){let{browser:i,realCdpTransport:a,instanceId:o,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await g({runtimeMode:r,envBaseUrl:null,window,log:n}),{resolveStandaloneFloatLabel:f,DEFAULT_STANDALONE_LABEL:p}=await e(async()=>{let{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}=await import(`./wc-float-label-DTyHQboN.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([79,20,1,14,19,4,21])),m=r===`standalone`||r===`electron-overlay`?await f():p,h=Or(t,m),_=Bn({realCdpTransport:a,instanceId:o,callbacks:Tr(h.wiring),localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u});Pn({send:e=>_.client.sendRaw(e)}),d?.(_.client),Ur(h,_.client,n,{instanceId:o,standalone:{browser:i,realCdpTransport:a,runtimeMode:r,baseFloatLabel:m}});let{setupSudoStandalone:ee}=await e(async()=>{let{setupSudoStandalone:e}=await import(`./main-CMLc_YHL.js`).then(e=>e._);return{setupSudoStandalone:e}},__vite__mapDeps([32,1,33,14,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35]));await ee({log:n}),await _.ready,h.wiring.notifyReady?.(),n.info(`WC live shell ready`,{scoops:_.client.getScoops().length})}export{Yt as a,Ur as attachWcClient,mn as c,Tr as createWcLiveCallbacks,M as d,Et as f,hn as i,lt as l,ut as m,Wr as mountWcUiLive,Mn as n,H as o,j as p,Or as prepareWcShell,B as r,U as s,Jn as t,Dt as u};
257
+ `}function Yn(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Xn=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.#L(e)),this.#h=e=>this.#X(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.#Y(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.#L(e))}setOnLocalUserMessage(e){this.#p=e}setOnLocalProcessingChange(e){this.#m=e}addUserMessage(e,t){this.#$({id:X(),role:`user`,content:e,timestamp:Date.now()})}getQueuedMessages(){return this.#_.map(Yn)}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.#$(t);this.#A()}#A(){this.#c?.(this.#_.map(Yn))}addAssistantMessage(e){this.#$({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.#Y(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=Ve(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(We(e.timestamp)),r=t);let i=this.#Q(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.#re();for(let e of this.#g)e.isStreaming||this.#i?.(e,this.#v.get(e.id)??[]);this.#I(),this.#ae(),this.#j()}#j(){if(this.#e.getAttribute(`context`)!==`cone`||this.#g.length===0||!h()||this.#C)return;let e=this.#g[this.#g.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#X(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#M(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.#$(a),this.#t.sendMessage(i,a.id,a.attachments),this.#N();try{let e=n?.dictation?Ne(i):i;this.#p?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#M(e){return qe(e,Pe())}#N(){if(this.#s)try{let e=this.#s();if(!e)return;te(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.#ee(a);return}this.#$({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.#ee(n))}setProcessing(e){if(this.#C!==e){this.#C=e,e&&(this.#b=null),e&&(this.#T=0,this.#P(`thinking`)),e&&this.#k(),e||this.#I(),this.#n?.(e);try{this.#m?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#F()}}#P(e){this.#w!==e&&(this.#w=e,this.#r?.(e))}#F(){let e=this.#b;if(this.#b=null,!this.#o)return;let t=e?this.#Z(e):null;this.#o(t?{...t}:null)}#I(){let e=this.#g[this.#g.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#E?.remove();return}this.#E??=Gn({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#E)}#L(e){switch(e.type){case`message_start`:this.#R(e.messageId);break;case`content_delta`:this.#z(e.messageId,e.text);break;case`content_done`:this.#V(e.messageId);break;case`tool_use_start`:this.#H(e.messageId,e.toolName,e.toolInput);break;case`tool_result`:this.#U(e.messageId,e.toolName,e.result,e.isError);break;case`tool_ui`:this.#q(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#J(e.requestId);break;case`turn_end`:this.#W(e.messageId);break;case`error`:this.#G(e.error);break;case`screenshot`:case`terminal_output`:break;default:break}}#R(e){this.setProcessing(!0),this.#y=e,this.#b=e,this.#$({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#z(e,t){this.#Z(e)&&(this.#x+=t,!this.#S&&(this.#S=!0,requestAnimationFrame(()=>this.#B(e))))}#B(e){if(this.#S=!1,!this.#x)return;let t=this.#Z(e);t&&(t.content+=this.#x,this.#x=``,this.#ee(t))}#V(e){let t=this.#Z(e);t&&(this.#x&&this.#y===e&&(t.content+=this.#x),this.#x=``,this.#S=!1,t.isStreaming=!1,this.#ee(t))}#H(e,t,n){let r=this.#Z(e);r&&(r.toolCalls=r.toolCalls??[],r.toolCalls.push({id:X(),name:t,input:n}),this.#T+=1,this.#P(`tool`),this.#ee(r))}#U(e,t,n,r){let i=this.#Z(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.#P(`thinking`),this.#ee(i))}#W(e){let t=this.#Z(e);t?.isStreaming&&(t.isStreaming=!1,this.#ee(t)),this.#y=null,this.setProcessing(!1)}#G(e){this.setProcessing(!1),this.#$({id:X(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#K(e)}#K(e){try{if(ae(e)||re(e)||_(e))return;g(`error-card`,e)}catch{}}#q(e,t,n){this.#Y(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=M(r,Jn(n),()=>{},!1);this.#O.set(t,{instance:e,container:r});return}let i=M(r,n,(e,n)=>{this.#u?.(t,e,n)},!1);this.#O.set(t,{instance:i,container:r}),this.#u?.(t,f,void 0)}#J(e){this.#Y(e)}#Y(e){let t=this.#O.get(e);if(t){this.#O.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#X(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)}#Z(e){return this.#g.find(t=>t.id===e)}#Q(e){try{return Fe(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]}}#$(e){this.#ne(),this.#g.push(e);let t=this.#Q(e);this.#v.set(e.id,t),this.#e.append(...t),this.#re(),e.isStreaming||this.#i?.(e,t),e.role===`user`?this.#ae():this.#oe()}#ee(e){this.#ne(),this.#a?.(e.id);let t=this.#v.get(e.id)??[],n=this.#Q(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.#re(),e.isStreaming||this.#i?.(e,n),this.#oe()}#te(){return this.#e.inner??this.#e}#ne(){Ke(this.#te(),this.#D)}#re(){Re(this.#te(),{openClusterAnchors:this.#D,toolCallLookup:(e,t)=>this.#ie(e,t)})}#ie(e,t){return this.#g.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#ae(){this.#e.scrollTop=this.#e.scrollHeight}#oe(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#ae()}};function Zn(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function Qn(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Zn(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function $n(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 er(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function er(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 tr(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 nr(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Qn))}async function rr(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 ir={".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 ar(e){return ir[e.slice(e.lastIndexOf(`.`)).toLowerCase()]||`application/octet-stream`}function or(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}async function sr(e,t,n){let r=await e.readFile(t,{encoding:`binary`}),i=typeof r==`string`?r:Uint8Array.from(r);await e.writeFile(n,i)}async function cr(e,t){try{return await e.stat(t),!0}catch{return!1}}function lr(e){let{fileTree:t,openFs:n,openWriter:r,insertReference:i,toPreviewUrl:a,log:o}=e;t.addEventListener(`file-preview`,async e=>{let{path:t}=e.detail;try{let e=await n(),r=ar(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}He.open({path:t,content:i,mimeType:r})}catch(e){o.error(`File preview failed`,e)}}),t.addEventListener(`file-reference`,e=>{let{path:t}=e.detail;i(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=ar(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){o.error(`File download failed`,e)}}),t.addEventListener(`file-overflow`,e=>{let{path:n,anchor:r}=e.detail,i=[{id:`rename`,label:`Rename`},{id:`duplicate`,label:`Duplicate`},{id:`copy-path`,label:`Copy path`},{id:`open-browser`,label:`Open in browser`,visible:or(n)},{id:`delete`,label:`Delete`,destructive:!0}];ze.show({anchor:r,items:i,context:{path:n},dispatchTarget:t})}),t.addEventListener(`overflow-action`,async e=>{let{action:t,context:n}=e.detail,{path:i}=n;try{switch(t){case`copy-path`:await navigator.clipboard.writeText(i);break;case`open-browser`:window.open(a(i),`_blank`);break;case`duplicate`:{let e=i.lastIndexOf(`.`),t=e>0?`${i.slice(0,e)}_copy${i.slice(e)}`:`${i}_copy`,n=await r();if(await cr(n,t)&&!confirm(`${t} already exists. Overwrite?`))break;await sr(n,i,t);break}case`delete`:confirm(`Delete ${i}?`)&&await(await r()).rm(i);break;case`rename`:{let e=i.split(`/`).pop()??``,t=prompt(`Rename ${i} to:`,e)?.trim();if(!t||t===e||t.includes(`/`))break;let n=`${i.slice(0,i.length-e.length)}${t}`,a=await r();if(await cr(a,n)&&!confirm(`${n} already exists. Overwrite?`))break;await sr(a,i,n),await a.rm(i);break}}}catch(e){o.error(`Overflow action "${t}" failed`,e)}})}var ur=`/workspace/CLAUDE.md`,Q=64;function dr(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 fr(e){let t=[],n=null,r=()=>{if(!n)return;let e=n.join(` `).trim();e&&t.push(dr(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(dr(e.trim())),t}async function pr(e){let t=``;try{let n=await e.readFile(ur,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return fr(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 mr(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 hr=[`/workspace`,`/shared`],gr=3,_r=200;async function vr(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,_r),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<gr?await vr(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 yr(e){let t=[];for(let n of hr)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await vr(e,n,1)});return t}function br(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await yr(t),a||(a=!0,lr({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:Me,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 pr(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 mr(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 xr={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Sr={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function Cr(e){return e?xr[e]:void 0}function wr(e){return e===`max`?`max`:void 0}function Tr(e,t){return t===`max`?`max`:(e&&Sr[e])??`off`}function Er(e,t){return e!=null&&e!==`cone`||new URL(t.location.href).searchParams.get(`cherry`)===`1`?!0:m(t.localStorage)}function $(e){return e===`error`?`dead`:e===`initializing`?`none`:`open`}function Dr(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:v(e),label:e.isCone?`sliccy`:e.name,eyes:$(t?.get(e.jid)),fill:typeof r==`number`?Math.round(r*100):void 0}})}function Or(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=Dr(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`&&Ie(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 kr(t,n){t.thread.setAttribute(`context`,n.isCone?`cone`:`scoop:${n.name}`),t.thread.setAttribute(`accent`,v(n)),Be(t,n.isCone?{kind:`cone`}:{kind:`scoop`,accent:v(n)}),t.switcher.setAttribute(`active`,n.jid);let r=localStorage.getItem(`slicc_locked_effort_level`);t.composerMeta.setAttribute(`thinking`,Tr(r??n.config?.thinkingLevel,n.config?.effortOverride));try{let{resolveCurrentModel:i,resolveModelById:a}=await e(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-BBWzFPQm.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([32,1,33,14,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35])),o=n.config?.modelId,s=o?a(o):i();t.composerMeta.setAttribute(`model`,s.name??s.id),t.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!r)}catch{}}function Ar(t){let{refs:n,openVfs:r,client:i,getController:a,getSelected:o,selectScoop:s,clearSelection:c,log:l}=t,u=[],d=0,f=!1,p=()=>{let t=++d;r().then(async({reader:r,writer:i})=>{let a=await Z(r);if(a===null){if((await er(r)).kind!==`corrupt`||(l.warn(`WC freezer index corrupt — rebuilding from archives`),a=await tr(r),a.length===0))return;await i.writeFile(V,JSON.stringify(a,null,2))}t===d&&(u=a,nr(n.freezer,a),!f&&a.some(e=>!e.icon&&!e.pendingEnrichment)&&(f=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-Quagspyf.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,1,12,13,14,15,16,17,18,2,19,20,4,21,22,23,24,25,26,27,28,29,30,31])).then(({pickLucideIcon:e})=>$n({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=t=>{m||(m=!0,h()?.setAttribute(`busy`,``),(async()=>{try{if(t!==`erase`){let{writer:n}=await r(),{runNewSessionFreeze:i,runNewSessionFreezeQuick:a}=await e(async()=>{let{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}=await import(`./new-session-bNLCxDOi.js`);return{runNewSessionFreeze:e,runNewSessionFreezeQuick:t}},__vite__mapDeps([36,14,17,1,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,32,33,34,35,30,37]));t===`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([]),e(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-C6CXABEp.js`).then(e=>e.x);return{resetDictationPriming:e}},__vite__mapDeps([38,1,14,32,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41])).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 rr(t,i??{filename:e,title:e,frozenAt:``,messageCount:0});n.thread.setAttribute(`context`,`freezer:${i?.filename??e}`),a()?.loadMessages(o),n.thread.setAttribute(`accent`,Ge),Be(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 jr(e,t){let n=null,r=Ue(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`),kr(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 Mr(t){let n=null;return()=>(n??=(async()=>{let[{createRemoteVfsClient:n},{createRemoteWritableVfsClient:r}]=await Promise.all([e(()=>import(`./remote-vfs-client-Z2qM01yP.js`),__vite__mapDeps([42,43])),e(()=>import(`./writable-vfs-client-BKZGifKZ.js`),__vite__mapDeps([44,43]))]);return{reader:n({transport:t.getTransport()}),writer:r({transport:t.getTransport()})}})(),n)}function Nr(t,n,r,i,a){t.onClientReady(()=>{i.intercept||e(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-D0f-t12r.js`);return{wireWcOnboarding:e}},__vite__mapDeps([45,14,32,1,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,46])).then(({wireWcOnboarding:e})=>e({client:n,getController:()=>t.getController(),openVfs:r,log:a})).then(e=>{i.intercept=e.interceptWelcomeLick}).catch(e=>a.error(`WC onboarding wiring failed`,e))})}function Pr(t,i,a,o,s){let c=new Map;e(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-CuB1P3LZ.js`);return{loadDipStyles:e}},__vite__mapDeps([47,14])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),e(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-BWT6ZRD3.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([48,1,49,2])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),e(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-BEk-Upnk.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([49,1,2])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let l=i.createAgentHandle();l.onEvent(t=>{t.type!==`tool_use_start`&&t.type!==`tool_result`||e(async()=>{let{playCue:e}=await import(`./soundscape-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([50,2,40])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0)});let u=new Xn({thread:t.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:t=>{e(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-BWuWySTa.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([51,2,38,1,14,32,33,17,12,13,15,16,18,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41,52,53,54,55,56])).then(async({consumeVoiceSubmission:n,speakReplyMarkdown:r})=>{if(!n())return;let{endVoiceTurn:i,setTtsActive:a}=await e(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([50,2,40]));try{if(t?.content){a(!0);try{await r(t.content)}finally{a(!1)}}}finally{i()}}).catch(()=>void 0)},onProcessingChange:e=>{t.frame.toggleAttribute(`data-processing`,e),t.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,e),e||o?.()},onBusyPhaseChange:e=>{t.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,e)},onMessageDisposed:e=>{let t=c.get(e);t&&(kt(t),c.delete(e))},onMessageRendered:(e,t)=>{let n=t[0];n&&c.set(e.id,Ot(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:e=>{t.queuedStack.setMessages(e)},onToolUiAction:(e,t,n)=>{i.sendToolUiAction(e,t,n)},onQueuedCancel:e=>{let t=i.selectedScoopJid;t&&i.deleteQueuedMessage(t,e).catch(()=>void 0)}});return t.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 Fr(t){let{boot:n,client:r,agentHandle:i,openReader:a,log:o}=t,{refs:s}=n;e(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-C48kBOSX.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([57,14,38,1,32,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41])).then(({createPlaceholderRefresher:e})=>{t.setRefreshPlaceholder(e({inputCard:s.inputCard,getMessages:()=>n.getController()?.getMessages()??[],defaultPlaceholder:s.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),(async()=>{try{if(Er(n.wiring.pendingUrlContext,window))return;let{SessionStore:r}=await e(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),t.triggerPlaceholder())}catch(e){o.warn(`WC session hydration failed`,e)}})();let c=null;return e(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-D0-Z2ZnU.js`);return{wireWcAttach:e}},__vite__mapDeps([58,14,19,59,1])).then(({wireWcAttach:n})=>{c=n({inputCard:s.inputCard,freezer:s.freezer,composer:s.composer,openReader:a,openWriter:t.openWriter,listConversations:async()=>{let{readSessionsIndex:t}=await e(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-ChBPlDLR.js`);return{readSessionsIndex:e}},[]);return(await t(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`,t=>{let r=Le(t);if(!r)return;let i=t.detail?.source===`dictation`;i&&(e(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-BWuWySTa.js`);return{markVoiceSubmission:e}},__vite__mapDeps([51,2,38,1,14,32,33,17,12,13,15,16,18,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41,52,53,54,55,56])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),e(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([50,2,40])).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()}),e(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=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let t=e.detail?.thinking,i=Cr(t),a=wr(t),o=n.getSelected();o&&i&&r.setScoopThinkingLevel(o.jid,i,a)}),{getAttachStage:()=>c}}function Ir(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=Dr(t.getScoops(),e.statuses,e.fills)})};return setInterval(n,15e3),n}function Lr(t,n,r){let i=n.standalone;i&&e(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DunWpcR7.js`);return{wireWcBrowser:e}},[]).then(({wireWcBrowser:e})=>e({refs:t.refs,browser:i.browser,log:r})).catch(e=>r.error(`WC browser overlay wiring failed`,e))}function Rr(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)}),Br({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function zr(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 Br(t){let n=new Map,r=new Set;t.switcher.addEventListener(`pointerover`,i=>{let a=i.target?.closest?.(`slicc-pill.scoop`);if(!a||!t.switcher.contains(a))return;let o=a.dataset.k??``,s=t.getScoops().find(e=>e.jid===o);if(!s)return;let c=t.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(t.labelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-Quagspyf.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,1,12,13,14,15,16,17,18,2,19,20,4,21,22,23,24,25,26,27,28,29,30,31]))).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 Vr(t,n,r){let{RemoteTerminalView:i}=await e(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-DddvZDMC.js`);return{RemoteTerminalView:e}},__vite__mapDeps([60,1,14,25,2,59,61,0,3,4,10,62,9,6,7,8,5,63])),{fetchSecretEnvVars:a}=await e(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-C5wufPdt.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([64,2,20,1,14,19,4,21,22,23,24])),o=await a(),s=new i({client:n,cwd:`/`,env:Object.keys(o).length>0?o:void 0});await new Promise(e=>t.onClientReady(e)),await s.mount(r),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function Hr(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 Ur(t,n,r,i){e(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CKtVglvh.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([65,14,2,59,1])).then(async({installLeaderPermissionsSurface:i,installMountPendingConsumer:a})=>{let o=r.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await e(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-CbkqRh4J.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([66,14,4]));i({runtimeMode:o,providers:await s(c()||o===`extension`||o===`extension-detached`)}),a({runShell:Wr(t,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e))}function Wr(t,n){let r=null,i=()=>(r||=(async()=>{await new Promise(e=>t.onClientReady(e));let{TerminalSessionClient:r}=await e(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 Gr(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 Kr(t,n,r,i={}){e(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-C6CXABEp.js`).then(e=>e.v);return{initTimestampPreference:e}},__vite__mapDeps([38,1,14,32,33,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35,31,39,40,41])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:a}=t;t.setClient(n);let o=null,s=Ir(t.wiring,n),c=()=>o?.(),l={intercept:null},{controller:u,agentHandle:d}=Pr(a,n,()=>t.getSelected(),zr({boot:t,triggerPlaceholder:c,refreshStats:s}),l);t.setController(u),t.onClientReady(s);let f=Mr(n),p=async()=>(await f()).reader;i.standalone?.runtimeMode!==`cherry`&&i.standalone?.runtimeMode!==`hosted-leader`&&Nr(t,n,f,l,r);let m=Fr({boot:t,client:n,agentHandle:d,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:p,openWriter:async()=>(await f()).writer,log:r});Rr(t,n),Lr(t,i,r),Ur(t,n,i,r),t.setActivateSurface(br({fileTree:a.fileTree,termSurface:a.termSurface,memoryHost:a.memoryHost,monitor:a.monitor,openFs:p,openWriter:async()=>(await f()).writer,onKernelReady:e=>t.onClientReady(e),getMonitorDeps:()=>({getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:t}=await e(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-CwiLM5-x.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([67,1,2,20,14,19,4,21,32,33,17,12,13,15,16,18,22,23,24,25,26,27,28,29,34,35]));return t()},getWebhooks:async()=>{let{getAllWebhooks:t}=await e(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-CwiLM5-x.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([67,1,2,20,14,19,4,21,32,33,17,12,13,15,16,18,22,23,24,25,26,27,28,29,34,35]));return t()},getMounts:async()=>{let{getAllMountEntries:t}=await e(async()=>{let{getAllMountEntries:e}=await import(`./mount-table-store-CfQUN_2R.js`).then(e=>e.r);return{getAllMountEntries:e}},__vite__mapDeps([68,1]));return t()},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:e=>Vr(t,n,e),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}=Ar({refs:a,openVfs:f,client:n,getController:()=>t.getController(),getSelected:()=>t.getSelected(),selectScoop:t.selectScoop,clearSelection:t.clearSelection,log:r});h(),t.onClientReady(h),Hr(t,n,g),f().then(async({reader:t})=>{let{installPreviewVfsResponder:n}=await e(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Dhck1Brc.js`);return{installPreviewVfsResponder:e}},[]);n({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>t,logger:r})}).catch(e=>r.warn(`WC page-VFS support wiring failed`,e)),f().then(async({reader:o,writer:s})=>{let{createRemoteSprinkleVfs:c}=await e(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-e81pZJKo.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([69,43])),{wireWcSprinkles:l}=await e(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-CybsDQpb.js`);return{wireWcSprinkles:e}},__vite__mapDeps([70,14,4])),u=await l({refs:a,client:n,fs:c({reader:o,writer:s}),instanceId:i.instanceId,onAttachImage:Gr(m,r),log:r});if(t.onClientReady(()=>void u.resync()),i.standalone&&i.instanceId){let{wireWcTray:o}=await e(async()=>{let{wireWcTray:e}=await import(`./wc-tray-CkppgzxX.js`);return{wireWcTray:e}},__vite__mapDeps([71,14,17,1,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,32,33,34,35,72,62,67,38,31,39,40,41,73,74,55,56,75,48,49])),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:()=>t.getController(),getSelectedJid:()=>t.getSelected()?.jid??`cone`,agentHandle:d,openFs:p,baseFloatLabel:i.standalone.baseFloatLabel,window,log:r})}}).catch(e=>r.error(`WC sprinkle/tray wiring failed`,e)),e(async()=>{let{wireWcNav:e}=await import(`./wc-nav-Bip6J07i.js`);return{wireWcNav:e}},__vite__mapDeps([76,14,4,35,1,32,33,17,12,13,15,16,18,2,19,20,21,22,23,24,25,26,27,28,29,34,67])).then(({wireWcNav:e})=>e({refs:a,client:n,log:r})).catch(e=>r.error(`WC nav wiring failed`,e)),e(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-HWEPGUzG.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([77,2,4,59,1,39,53,54,20,14,19,21,55,56,78])).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)),e(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-nvJ9brr6.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([52,14,2,4,53,54,20,1,19,21,55,56])).then(({setSpeakAssetsInstanceId:e})=>e(i.instanceId)).catch(e=>r.error(`WC say warmup wiring failed`,e))}async function qr(t,n,r=`standalone`){let{browser:i,realCdpTransport:a,instanceId:o,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await ee({runtimeMode:r,envBaseUrl:null,window,log:n}),{resolveStandaloneFloatLabel:f,DEFAULT_STANDALONE_LABEL:m}=await e(async()=>{let{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}=await import(`./wc-float-label-DTyHQboN.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([79,20,1,14,19,4,21])),h=r===`standalone`||r===`electron-overlay`?await f():m,g=jr(t,h);o&&p(o);let _=Hn({realCdpTransport:a,instanceId:o,callbacks:Or(g.wiring),localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,onWorkerScriptError:()=>{ne()}});In({send:e=>_.client.sendRaw(e)}),d?.(_.client),Kr(g,_.client,n,{instanceId:o,standalone:{browser:i,realCdpTransport:a,runtimeMode:r,baseFloatLabel:h}});let{setupSudoStandalone:te}=await e(async()=>{let{setupSudoStandalone:e}=await import(`./main-BBWzFPQm.js`).then(e=>e._);return{setupSudoStandalone:e}},__vite__mapDeps([32,1,33,14,17,12,13,15,16,18,2,19,20,4,21,22,23,24,25,26,27,28,29,34,35]));await te({log:n}),await _.ready,g.wiring.notifyReady?.(),n.info(`WC live shell ready`,{scoops:_.client.getScoops().length})}export{Zt as a,Kr as attachWcClient,gn as c,Or as createWcLiveCallbacks,N as d,Ot as f,_n as i,dt as l,ft as m,qr as mountWcUiLive,Pn as n,U as o,M as p,jr as prepareWcShell,V as r,W as s,Xn as t,kt as u};