sliccy 5.58.0 → 5.59.1

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 (89) hide show
  1. package/dist/ui/assets/{account-store-DeH3wiFo.js → account-store-B2gG-qc_.js} +1 -1
  2. package/dist/ui/assets/{account-store-vuw_HYi3.js → account-store-HRvOCmO4.js} +2 -2
  3. package/dist/ui/assets/{adobe-DvNOyoXS.js → adobe-CHBAf7Hs.js} +1 -1
  4. package/dist/ui/assets/{adobe-DNQRukss.js → adobe-CJZTrRE1.js} +1 -1
  5. package/dist/ui/assets/{adobe-oauth-state-DVHpvwZF.js → adobe-oauth-state-C9eB9J5F.js} +1 -1
  6. package/dist/ui/assets/{agent-message-to-chat-C1KU3v3M.js → agent-message-to-chat-ColCoNOH.js} +1 -1
  7. package/dist/ui/assets/{apps-BK6JupOo.js → apps-Bs4OZdLX.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-iKx1U0sg.js → azure-openai-EZeNxE7d.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-B2QtYE4i.js → azure-openai-hnPmyx7n.js} +1 -1
  10. package/dist/ui/assets/backend-local-J_dSen8g.js +12 -0
  11. package/dist/ui/assets/backend-local-smcj-_Ox.js +1 -0
  12. package/dist/ui/assets/{cerebras-BKzAvJCs.js → cerebras-C2wowhxn.js} +1 -1
  13. package/dist/ui/assets/{cerebras-xBxjmrc-.js → cerebras-CPDv_lSy.js} +1 -1
  14. package/dist/ui/assets/clipboard-B_tsQU_u.js +1 -0
  15. package/dist/ui/assets/{connect-surface-dlct_w-J.js → connect-surface-Ccit9qN8.js} +1 -1
  16. package/dist/ui/assets/dip-DjQjKj4G.js +1 -0
  17. package/dist/ui/assets/{dist-CONhOaPx.js → dist-CF1SACsY.js} +1 -1
  18. package/dist/ui/assets/{dist-0NnHP0j4.js → dist-DH3_TPic.js} +1 -1
  19. package/dist/ui/assets/{ensure-speech-assets-BHJG5H3M.js → ensure-speech-assets-DOfhoSLd.js} +1 -1
  20. package/dist/ui/assets/{fs-BP1ycbTv.js → fs-BuwyzyMW.js} +2 -2
  21. package/dist/ui/assets/{fs-CZLyw6X8.js → fs-C4sVSIbi.js} +1 -1
  22. package/dist/ui/assets/{github-BXXTJfnG.js → github-Bypbpxj_.js} +1 -1
  23. package/dist/ui/assets/{github-C97Vqbxa.js → github-C85Bo5sl.js} +2 -2
  24. package/dist/ui/assets/{github-copilot-BITa1j16.js → github-copilot-Bl3DpxDS.js} +1 -1
  25. package/dist/ui/assets/{github-copilot-DFz_D79x.js → github-copilot-BzF1rbqF.js} +1 -1
  26. package/dist/ui/assets/{hear-DK3SE9UZ.js → hear-C7y434Fx.js} +1 -1
  27. package/dist/ui/assets/{kernel-worker-Rrx0aK7m.js → kernel-worker-BwALz4mK.js} +25 -25
  28. package/dist/ui/assets/{kokoro-engine-DYUZ5mft.js → kokoro-engine-DENIKgTV.js} +1 -1
  29. package/dist/ui/assets/{legacy-styles-CuB1P3LZ.js → legacy-styles-kYboUbpI.js} +1 -1
  30. package/dist/ui/assets/{lick-ws-bridge-BXfKVz1B.js → lick-ws-bridge-Cu9jmlYC.js} +1 -1
  31. package/dist/ui/assets/{lick-ws-bridge-CEw7zXWb.js → lick-ws-bridge-DpPrSP8R.js} +1 -1
  32. package/dist/ui/assets/{local-llm-DEpCPL3N.js → local-llm-wgOnNpVi.js} +1 -1
  33. package/dist/ui/assets/{main-DLz5qyR7.js → main-CGnZl3f-.js} +4 -4
  34. package/dist/ui/assets/{mount-0ZiASF_5.js → mount-C0YbhdMr.js} +1 -1
  35. package/dist/ui/assets/{mount-C1swqkaU.js → mount-D5pPoQkC.js} +2 -2
  36. package/dist/ui/assets/{new-session-BQx4lnyb.js → new-session-Bs6AOhFK.js} +2 -2
  37. package/dist/ui/assets/{oauth-bootstrap-B9vY-BRE.js → oauth-bootstrap-CE5ZvKUd.js} +2 -2
  38. package/dist/ui/assets/{openai-codex-zTDkFxq_.js → openai-codex-8wcYifFj.js} +1 -1
  39. package/dist/ui/assets/{openai-codex-D4UsQa8g.js → openai-codex-xmVYehg_.js} +1 -1
  40. package/dist/ui/assets/{page-follower-tray-DmAd_GWW.js → page-follower-tray-CowMs-O6.js} +1 -1
  41. package/dist/ui/assets/{panel-rpc-handlers-NhfnH6G9.js → panel-rpc-handlers-D7f3wT75.js} +2 -2
  42. package/dist/ui/assets/picker-approval-CdWaB1mR.js +12 -0
  43. package/dist/ui/assets/{provider-Cu28qTkm.js → provider-DgMyEny4.js} +2 -2
  44. package/dist/ui/assets/{provider-NTQuGPsR.js → provider-m3ooafCg.js} +1 -1
  45. package/dist/ui/assets/{provider-settings-CYYH3vDR.js → provider-settings-DJevRg9o.js} +1 -1
  46. package/dist/ui/assets/provider-store-access-QXzphIMd.js +1 -0
  47. package/dist/ui/assets/provider-store-access-ZxL11bFB.js +1 -0
  48. package/dist/ui/assets/{providers-B9nw-ePd.js → providers-B3oFOoQS.js} +1 -1
  49. package/dist/ui/assets/{providers-BRleMLiy.js → providers-BW6jnLVy.js} +2 -2
  50. package/dist/ui/assets/{quick-llm-D69J7_RA.js → quick-llm-8fakxnYS.js} +1 -1
  51. package/dist/ui/assets/{remote-terminal-view-DddvZDMC.js → remote-terminal-view-BOSJ_t1v.js} +1 -1
  52. package/dist/ui/assets/session-freezer-jxkdAA5Q.js +1 -0
  53. package/dist/ui/assets/{speak-DvAyaogi.js → speak-CcZ3Uni4.js} +1 -1
  54. package/dist/ui/assets/sprinkle-components-Bqvrxol0.css +1 -0
  55. package/dist/ui/assets/{sprinkle-manager-rpkrbAvW.js → sprinkle-manager-Bvx4CxCm.js} +1 -1
  56. package/dist/ui/assets/{store-vSe4KiU_.js → store-B7DeyKtl.js} +1 -1
  57. package/dist/ui/assets/{sudo-Cm3hirW9.js → sudo-CBMei9fD.js} +1 -1
  58. package/dist/ui/assets/{transformers-env-B3kpk97f.js → transformers-env-BwX2ts-q.js} +1 -1
  59. package/dist/ui/assets/{tray-leader-DdBEL_nf.js → tray-leader-DKj3IyXq.js} +1 -1
  60. package/dist/ui/assets/{tray-leave-runtime-BLySFWqC.js → tray-leave-runtime-CPrd1hfA.js} +1 -1
  61. package/dist/ui/assets/{upgrade-detection-CaN4us1y.js → upgrade-detection-B_nKAXxR.js} +1 -1
  62. package/dist/ui/assets/{voice-reply-Cd2cQZ1O.js → voice-reply-D08ppelD.js} +1 -1
  63. package/dist/ui/assets/{wc-attach-B_sJtvrP.js → wc-attach-BD0vIfkn.js} +2 -2
  64. package/dist/ui/assets/{wc-extension-BA8Trhas.js → wc-extension-B6ny75yf.js} +2 -2
  65. package/dist/ui/assets/{wc-follower-JCOA6Od2.js → wc-follower-DBHiqt6g.js} +3 -3
  66. package/dist/ui/assets/{wc-live-Hbl4Ji2P.js → wc-live-CuefElQr.js} +23 -23
  67. package/dist/ui/assets/{wc-nav-vGWYhcSN.js → wc-nav-CQU9lWdP.js} +2 -2
  68. package/dist/ui/assets/{wc-onboarding-BAq8GkX1.js → wc-onboarding-DaQiGWxH.js} +2 -2
  69. package/dist/ui/assets/{wc-permissions-CKtVglvh.js → wc-permissions-CAEOwurQ.js} +2 -2
  70. package/dist/ui/assets/{wc-placeholder-pJKktrh8.js → wc-placeholder-DCIY4YK0.js} +3 -3
  71. package/dist/ui/assets/{wc-settings-4_1h_265.js → wc-settings-BDh89SFJ.js} +3 -3
  72. package/dist/ui/assets/{wc-shell-OJSz86We.js → wc-shell-ChAQky0u.js} +3 -3
  73. package/dist/ui/assets/{wc-sprinkles-DMgKUvY4.js → wc-sprinkles-CxI-YvJH.js} +2 -2
  74. package/dist/ui/assets/{wc-tray-BdeVxo6d.js → wc-tray-DL8LCTDP.js} +2 -2
  75. package/dist/ui/assets/{whisper-engine-De27HbRj.js → whisper-engine-DBy-Rgc0.js} +1 -1
  76. package/dist/ui/assets/{xai-grok-19HQKb_w.js → xai-grok-BnqGjgBw.js} +1 -1
  77. package/dist/ui/assets/{xai-grok-CRjHls8r.js → xai-grok-yL8zMte6.js} +1 -1
  78. package/dist/ui/index.html +3 -3
  79. package/dist/ui/packages/webapp/index.html +3 -3
  80. package/package.json +2 -2
  81. package/dist/ui/assets/backend-local-BIUWSGz_.js +0 -1
  82. package/dist/ui/assets/backend-local-Xd3x-KgI.js +0 -9
  83. package/dist/ui/assets/clipboard-tweg-07U.js +0 -1
  84. package/dist/ui/assets/dip-CfZnFlBK.js +0 -1
  85. package/dist/ui/assets/picker-approval-Dc390nC7.js +0 -9
  86. package/dist/ui/assets/provider-store-access-BGuwAmCa.js +0 -1
  87. package/dist/ui/assets/provider-store-access-C_AVf_E8.js +0 -1
  88. package/dist/ui/assets/session-freezer-CDMn8WnP.js +0 -1
  89. package/dist/ui/assets/sprinkle-components-Z-5QHGGU.css +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-D69J7_RA.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-DeH3wiFo.js","assets/context-compaction-LYFtS2_f.js","assets/src-BvERX0WZ.js","assets/proxied-fetch-D3wsof0i.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-_rfIhUjY.js","assets/secrets-bridge-client-a5aLwwny.js","assets/port-bridge-client-Btb0CfZS.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BRleMLiy.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-DLz5qyR7.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/new-session-BQx4lnyb.js","assets/session-store-DAM8GRJ0.js","assets/wc-shell-OJSz86We.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-Cb6FWsgc.js","assets/wc-onboarding-BAq8GkX1.js","assets/welcome-detection-CQY88hjL.js","assets/legacy-styles-CuB1P3LZ.js","assets/theme-C8b_iQ_9.js","assets/theme-engine-jfuTMXZM.js","assets/soundscape-TvriK11t.js","assets/voice-reply-Cd2cQZ1O.js","assets/speak-DG2fJcBd.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-w-btTDFl.js","assets/shared-Cq5Q0noX.js","assets/mime-types-ugOWOUZ9.js","assets/wc-placeholder-pJKktrh8.js","assets/wc-attach-B_sJtvrP.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-CGjJCzwN.js","assets/wc-permissions-CKtVglvh.js","assets/wc-permissions-providers-CbkqRh4J.js","assets/tray-leader-DdBEL_nf.js","assets/mount-table-store-CfQUN_2R.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-DMgKUvY4.js","assets/wc-tray-BdeVxo6d.js","assets/handoff-link-CLvhqfpd.js","assets/remote-cdp-transport-DspFAFy_.js","assets/synthetic-cdp-transport-DLIt5SkY.js","assets/page-follower-tray-DmAd_GWW.js","assets/sprinkle-renderer-Bk_e6Kbr.js","assets/wc-nav-vGWYhcSN.js","assets/composer-speech-CgPswGW1.js","assets/whisper-session-C8cizjJD.js","assets/wc-float-label-CNeJqRLg.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-DeH3wiFo.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{f as l,p as u}from"./src-BvERX0WZ.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 v,u as ie}from"./main-DLz5qyR7.js";import{t as ae}from"./wc-permissions-registry-Blyunq37.js";import{n as oe,r as se}from"./hid-device-registry-6w-g8ZpF.js";import{a as ce,i as le}from"./serial-port-registry-DsPZvGpT.js";import{C as ue,D as de,E as fe,S as pe,_ as me,a as he,g as ge,h as _e,k as ve,l as ye,m as be,n as xe,o as Se,s as Ce,w as we,x as Te,y as Ee}from"./usb-operations-D-YdmmuG.js";import{i as De,r as Oe}from"./usb-device-registry-k6vTKonT.js";import{t as ke}from"./icons-C5g936Qd.js";import{r as Ae}from"./tray-leader-DdBEL_nf.js";import{n as je}from"./shared-Cq5Q0noX.js";import{C as Me,b as Ne,c as Pe,d as y,h as Fe,i as Ie,l as Le,m as Re,n as ze,o as Be,p as Ve,r as He,s as Ue,t as We,u as Ge,y as Ke}from"./wc-shell-OJSz86We.js";import{i as qe,n as Je,r as Ye}from"./sprinkle-renderer-Bk_e6Kbr.js";import{n as Xe}from"./sprinkle-bridge-C0ycYX8f.js";import{a as Ze,n as Qe,r as b}from"./theme-C8b_iQ_9.js";var $e=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 et(){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=et();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 tt=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],nt=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function rt(e){return tt.some(t=>e.startsWith(t))}function it(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:nt.some(t=>e.startsWith(t))}var w=new WeakSet,at=`,
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-8fakxnYS.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-B2gG-qc_.js","assets/context-compaction-LYFtS2_f.js","assets/src-BvERX0WZ.js","assets/proxied-fetch-D3wsof0i.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-_rfIhUjY.js","assets/secrets-bridge-client-a5aLwwny.js","assets/port-bridge-client-Btb0CfZS.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BW6jnLVy.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-CGnZl3f-.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DuHpK59o.js","assets/new-session-Bs6AOhFK.js","assets/session-store-DAM8GRJ0.js","assets/wc-shell-ChAQky0u.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-Cb6FWsgc.js","assets/wc-onboarding-DaQiGWxH.js","assets/welcome-detection-CQY88hjL.js","assets/legacy-styles-kYboUbpI.js","assets/theme-C8b_iQ_9.js","assets/theme-engine-jfuTMXZM.js","assets/soundscape-TvriK11t.js","assets/voice-reply-D08ppelD.js","assets/speak-DG2fJcBd.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-w-btTDFl.js","assets/shared-Cq5Q0noX.js","assets/mime-types-ugOWOUZ9.js","assets/wc-placeholder-DCIY4YK0.js","assets/wc-attach-BD0vIfkn.js","assets/wc-permissions-registry-Blyunq37.js","assets/remote-terminal-view-BOSJ_t1v.js","assets/picker-approval-CdWaB1mR.js","assets/browser-2wdq8OwU.js","assets/terminal-session-client-CbAduNfC.js","assets/secret-env-CGjJCzwN.js","assets/wc-permissions-CAEOwurQ.js","assets/wc-permissions-providers-CbkqRh4J.js","assets/tray-leader-DKj3IyXq.js","assets/mount-table-store-CfQUN_2R.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-CxI-YvJH.js","assets/wc-tray-DL8LCTDP.js","assets/handoff-link-CLvhqfpd.js","assets/remote-cdp-transport-DspFAFy_.js","assets/synthetic-cdp-transport-DLIt5SkY.js","assets/page-follower-tray-CowMs-O6.js","assets/sprinkle-renderer-Bk_e6Kbr.js","assets/wc-nav-CQU9lWdP.js","assets/composer-speech-CgPswGW1.js","assets/whisper-session-C8cizjJD.js","assets/wc-float-label-CNeJqRLg.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-B2gG-qc_.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{f as l,p as u}from"./src-BvERX0WZ.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 v,u as ie}from"./main-CGnZl3f-.js";import{t as ae}from"./wc-permissions-registry-Blyunq37.js";import{t as oe}from"./types-idfTVsM8.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-DKj3IyXq.js";import{n as Me}from"./shared-Cq5Q0noX.js";import{C as Ne,b as Pe,c as Fe,d as y,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-ChAQky0u.js";import{i as Je,n as Ye,r as Xe}from"./sprinkle-renderer-Bk_e6Kbr.js";import{n as Ze}from"./sprinkle-bridge-C0ycYX8f.js";import{a as Qe,n as $e,r as b}from"./theme-C8b_iQ_9.js";var et=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 tt(){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=tt();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 nt=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],rt=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function it(e){return nt.some(t=>e.startsWith(t))}function at(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:rt.some(t=>e.startsWith(t))}var w=new WeakSet,ot=`,
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
- }`,ot=`,
11
+ }`,st=`,
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
- }`,st=`,
30
+ }`,ct=`,
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 ct(e){return`(function() {
56
+ }`;function lt(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?at:``}${e?ot:``}${e?st:``}
91
+ }${e?ot:``}${e?st:``}${e?ct:``}
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 lt=`html,body{margin:0;padding:0;overflow:hidden;background:transparent;box-sizing:border-box}
177
+ })();`}var ut=`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}`,ut=`(function(){
212
+ .c-green{background:#27500A;color:#EAF3DE}`,dt=`(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 dt(e,t,n=!1){let r=Je(),i=Qe()?` class="theme-light"`:``,a=t||e.includes(`<slicc-editor`),o=t||e.includes(`<slicc-diff`),s=t?`<script>${ut}<\/script>`:``;return`<!DOCTYPE html>
221
+ })();`;function ft(e,t,n=!1){let r=Ye(),i=$e()?` class="theme-light"`:``,a=t||e.includes(`<slicc-editor`),o=t||e.includes(`<slicc-diff`),s=t?`<script>${dt}<\/script>`:``;return`<!DOCTYPE html>
222
222
  <html${i}><head>
223
223
  <meta charset="utf-8">
224
224
  <style>${r}</style>
225
- <style>${lt}</style>
226
- <script>${ct(n&&!t)}<\/script>
225
+ <style>${ut}</style>
226
+ <script>${lt(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 ft(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 pt(e){E=e}function D(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function mt(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 ht(e,t){let n=await O(mt(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function gt(e,t){let n=await Xe(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 _t(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function vt(e,t){let n=k.get(e);if(n||(n=new Map,k.set(e,n)),n.has(t))return;let r=await pe(se(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);_t(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function yt(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 bt(e){let t=k.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}k.delete(e)}}function xt(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 St(e,t,n){let r=se();switch(t){case`list`:{let e=oe();if(!e)throw Error(`WebHID is unavailable in this browser`);return ge(r,e)}case`request`:{let e=oe();if(!e)throw Error(`WebHID is unavailable in this browser`);return Ee(r,e,n[0]??[])}case`info`:return _e(r,n[0]);case`open`:{let t=n[0];return await me(r,t),await vt(e,t),{ok:!0}}case`close`:{let t=n[0];return await yt(e,t),await be(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=xt(n[2]);return await Te(r,e,t,i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function Ct(e,t){let n=ce();switch(e){case`list`:{let e=le();if(!e)throw Error(`Web Serial is unavailable in this browser`);return fe(n,e)}case`request`:{let e=le();if(!e)throw Error(`Web Serial is unavailable in this browser`);return ve(n,e,t[0]??[])}case`info`:return we(n,t[0]);case`open`:{let e=t[0];return await de(n,e,t[1]??{baudRate:9600}),{ok:!0}}case`close`:return await ue(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function wt(e,t){let n=De();switch(e){case`list`:{let e=Oe();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Se(n,e)}case`request`:{let e=Oe();if(!e)throw Error(`WebUSB is unavailable in this browser`);return ye(n,e,t[0]??[])}case`info`:return he(n,t[0]);case`open`:return await Ce(n,t[0]),{ok:!0};case`close`:return await xe(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function Tt(e,t,n,r){switch(t){case`hid`:return St(e,n,r);case`serial`:return Ct(n,r);case`usb`:return wt(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 Tt(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 Et(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 ht(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await gt(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=dt(t,!1,r);if($e)return It(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)),Ye()&&qe(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`?Ot(t.url):t.type===`dip-picker-action`?M(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?Dt(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Et(a.contentWindow,t):t.type===`dip-device-op`&&A(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(Ye()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),qe(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),Ze(a.contentWindow),a.contentWindow&&(T.delete(a.contentWindow),w.delete(a.contentWindow),bt(a.contentWindow)),a.remove()}}}async function Dt(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(!it(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 Ot(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}function kt(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&&rt(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 At(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($e){await jt(e.picker,e.action,r,t);return}switch(e.picker){case`directory`:await Mt(e.action,t);return;case`usb-device`:await Nt(e.action,r,t);return;case`serial-port`:await Pt(e.action,r,t);return;case`hid-device`:await Ft(e.action,r,t);return;default:t(e.action,e.data);return}}async function jt(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=ae();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 Mt(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 Nt(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 Pt(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 Ft(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 It(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`?Ot(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?Dt(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Et(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:Qe()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Ze(i.contentWindow),i.contentWindow&&(T.delete(i.contentWindow),w.delete(i.contentWindow),bt(i.contentWindow)),i.remove()}}}var F=c(`cone-memory-budget`),Lt=4e3,Rt=2e3,zt=1.25,I=`/workspace/CLAUDE.md`,Bt=`/sessions/index.json`,Vt=4096,Ht=/^## Auto-extracted/m,Ut=`Consolidate the auto-extracted memory bullets below into a single tighter set of durable memories.
232
+ <body class="sprinkle-inline">${e}</body></html>`}var T=new Set;function pt(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 mt(e){E=e}function D(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function ht(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 gt(e,t){let n=await O(ht(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function _t(e,t){let n=await Ze(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 vt(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function yt(e,t){let n=k.get(e);if(n||(n=new Map,k.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);vt(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function bt(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 xt(e){let t=k.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}k.delete(e)}}function St(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 Ct(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 yt(e,t),{ok:!0}}case`close`:{let t=n[0];return await bt(e,t),await xe(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=St(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 wt(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 Tt(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 Et(e,t,n,r){switch(t){case`hid`:return Ct(e,n,r);case`serial`:return wt(n,r);case`usb`:return Tt(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 Et(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 Dt(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 gt(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await _t(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=ft(t,!1,r);if(et)return Lt(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)),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`?kt(t.url):t.type===`dip-picker-action`?M(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?Ot(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Dt(a.contentWindow,t):t.type===`dip-device-op`&&A(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),Qe(a.contentWindow),a.contentWindow&&(T.delete(a.contentWindow),w.delete(a.contentWindow),xt(a.contentWindow)),a.remove()}}}async function Ot(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(!at(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 kt(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}function At(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&&it(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 jt(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(et){await Mt(e.picker,e.action,r,t);return}switch(e.picker){case`directory`:await Nt(e.action,t);return;case`usb-device`:await Pt(e.action,r,t);return;case`serial-port`:await Ft(e.action,r,t);return;case`hid-device`:await It(e.action,r,t);return;default:t(e.action,e.data);return}}async function Mt(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=ae();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 Nt(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 Pt(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 Ft(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 It(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 Lt(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`?kt(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?Ot(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Dt(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:$e()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Qe(i.contentWindow),i.contentWindow&&(T.delete(i.contentWindow),w.delete(i.contentWindow),xt(i.contentWindow)),i.remove()}}}var F=c(`cone-memory-budget`),Rt=4e3,zt=2e3,Bt=1.25,I=`/workspace/CLAUDE.md`,Vt=`/sessions/index.json`,Ht=4096,Ut=/^## Auto-extracted/m,Wt=`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 Wt(e){return Math.round(Lt+Rt*Math.log2((Number.isFinite(e)&&e>=0?e:0)+2))}function Gt(e){let t=Ht.exec(e);if(!t)return{header:e,autoExtracted:``};let n=t.index;return{header:e.slice(0,n),autoExtracted:e.slice(n)}}async function Kt(e){try{let t=await e.readFile(Bt,{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 qt(e){let{header:n,autoExtracted:r}=Gt(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 Gt(e){return Math.round(Rt+zt*Math.log2((Number.isFinite(e)&&e>=0?e:0)+2))}function Kt(e){let t=Ut.exec(e);if(!t)return{header:e,autoExtracted:``};let n=t.index;return{header:e.slice(0,n),autoExtracted:e.slice(n)}}async function qt(e){try{let t=await e.readFile(Vt,{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 Jt(e){let{header:n,autoExtracted:r}=Kt(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:Ut}],timestamp:Date.now()},o=await t(e.model,{systemPrompt:i,messages:[a]},{apiKey:e.apiKey,maxTokens:Vt,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:Wt}],timestamp:Date.now()},o=await t(e.model,{systemPrompt:i,messages:[a]},{apiKey:e.apiKey,maxTokens:Ht,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 Jt(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 Kt(e.vfs),r=Wt(n),i=r*zt;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 qt({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`?Me(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`),Yt=4,Xt=2048,Zt=40,z=`/sessions`,Qt=`${z}/attachments`,B=`/sessions/index.json`;async function $t(e){let t=await fn(e.sessionStore);if(!t||t.messages.length<Yt)return R.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=pn(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);await nn(e,n,i);let a=await rn(e,n,i)||yn(t.messages);return await an(e,t,a,r,i?await en(e,a):void 0)}async function en(t,n){try{return tn(await(t.pickIcon??(await e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-D69J7_RA.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 tn(e){if(e)return ke(e)?e:void 0}async function nn(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:Xt,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 H(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 rn(e,t,n){if(!n)return``;try{return vn(await o({messages:t,instruction:a,model:e.model,apiKey:e.apiKey,maxTokens:Zt,headers:e.headers}))}catch(e){return R.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function an(e,t,n,r,i){let a=new Date().toISOString(),o=r===`quick`?`pending-${xn()}.md`:`${a.replace(/[:.]/g,`-`)}-${bn(n)}.md`,s={filename:o,title:n,frozenAt:a,messageCount:t.messages.length,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{}};try{await V(e.vfs,z);let r=await on(e.vfs,t.messages,o.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:a,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r},c=_n(i);return await e.vfs.writeFile(`${z}/${o}`,c),await Sn(e.vfs,s),await e.vfs.flush(),R.info(`Cone session frozen`,{filename:o,title:n,messageCount:t.messages.length}),{...s,archive:i}}catch(e){return R.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}async function on(e,t,n){let r={vfs:e,archiveDir:`${Qt}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(ln)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await sn(r,n));i.push({...e,attachments:t})}return i}async function sn(e,t){if(!ln(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await cn(e.vfs,t.path);if(!r)return dn(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await V(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function cn(e,t){try{if(!await un(e,t))return null;let n=await e.readFile(t,{encoding:`binary`});if(!(n instanceof Uint8Array))throw Error(`Expected binary attachment content at ${t}`);return n}catch{return null}}function ln(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function un(e,t){let n=t.split(`/`).slice(1);if(n.length<2||n[0]!==`tmp`||n.some(e=>!e||e===`.`||e===`..`))return!1;let r=`/`;for(let t=0;t<n.length;t+=1){let i=(await e.readDir(r)).find(e=>e.name===n[t]);if(!i)return!1;if(t===n.length-1)return i.type===`file`;if(i.type!==`directory`)return!1;r=r===`/`?`/${n[t]}`:`${r}/${n[t]}`}return!1}function dn(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}async function fn(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 pn(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var mn=`<!-- slicc:session-data
249
- `,hn=`
250
- -->`;function gn(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 _n(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=`${mn}${JSON.stringify(gn(e.messages)).replace(/-->/g,`-- >`)}${hn}\n\n`,r=`# ${e.title}\n\n`;return t+n+r+L(e.messages)}function vn(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 yn(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 bn(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)||`session`}function xn(){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 H(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 Yt(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 qt(e.vfs),r=Gt(n),i=r*Bt;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 Jt({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`?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 R=c(`session-freezer`),Xt=4,Zt=2048,Qt=40,z=`/sessions`,$t=`${z}/attachments`,B=`/sessions/index.json`;async function en(e){let t=await pn(e.sessionStore);if(!t||t.messages.length<Xt)return R.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=mn(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);await rn(e,n,i);let a=await an(e,n,i)||bn(t.messages);return await on(e,t,a,r,i?await tn(e,a):void 0)}async function tn(t,n){try{return nn(await(t.pickIcon??(await e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-8fakxnYS.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 nn(e){if(e)return Ae(e)?e:void 0}async function rn(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:Zt,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 H(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 an(e,t,n){if(!n)return``;try{return yn(await o({messages:t,instruction:a,model:e.model,apiKey:e.apiKey,maxTokens:Qt,headers:e.headers}))}catch(e){return R.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function on(e,t,n,r,i){let a=new Date().toISOString(),o=r===`quick`?`pending-${Sn()}.md`:`${a.replace(/[:.]/g,`-`)}-${xn(n)}.md`,s={filename:o,title:n,frozenAt:a,messageCount:t.messages.length,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{}};try{await V(e.vfs,z);let r=await sn(e.vfs,t.messages,o.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:a,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r},c=vn(i);return await e.vfs.writeFile(`${z}/${o}`,c),await Cn(e.vfs,s),await e.vfs.flush(),R.info(`Cone session frozen`,{filename:o,title:n,messageCount:t.messages.length}),{...s,archive:i}}catch(e){return R.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}async function sn(e,t,n){let r={vfs:e,archiveDir:`${$t}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(un)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await cn(r,n));i.push({...e,attachments:t})}return i}async function cn(e,t){if(!un(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ln(e.vfs,t.path);if(!r)return fn(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await V(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ln(e,t){try{if(!await dn(e,t))return null;let n=await e.readFile(t,{encoding:`binary`});if(!(n instanceof Uint8Array))throw Error(`Expected binary attachment content at ${t}`);return n}catch{return null}}function un(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function dn(e,t){let n=t.split(`/`).slice(1);if(n.length<2||n[0]!==`tmp`||n.some(e=>!e||e===`.`||e===`..`))return!1;let r=`/`;for(let t=0;t<n.length;t+=1){let i=(await e.readDir(r)).find(e=>e.name===n[t]);if(!i)return!1;if(t===n.length-1)return i.type===`file`;if(i.type!==`directory`)return!1;r=r===`/`?`/${n[t]}`:`${r}/${n[t]}`}return!1}function fn(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}async function pn(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 mn(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var hn=`<!-- slicc:session-data
249
+ `,gn=`
250
+ -->`;function _n(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 vn(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=`${hn}${JSON.stringify(_n(e.messages)).replace(/-->/g,`-- >`)}${gn}\n\n`,r=`# ${e.title}\n\n`;return t+n+r+L(e.messages)}function yn(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 bn(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 xn(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)||`session`}function Sn(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`}async function V(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function H(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(t){if(!(t instanceof oe)||t.code!==`ENOENT`)throw t;await V(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 Jt({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 Sn(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 Cn(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 U(e){return`${z}/${e.filename}`}async function wn(e,t,n){if(!t.pendingEnrichment)return null;let r=await En(e,t);if(r===null)return null;let i=Dn(t,r);if(i===null)return null;let a=await On(t,i,n);if(a===null)return null;let o=await Tn(n,a.newTitle);return await kn(e,t,a.bullets,n),await An(e,t,r,a.newTitle,o)}async function Tn(e,t){if(e.pickIcon)try{return await tn(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 En(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`?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 Dn(e,t){let n;try{n=W(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):pn(n)}async function On(e,t,n){let r=``;try{r=await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Xt,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=vn(await o({messages:t,instruction:a,model:n.model,apiKey:n.apiKey,maxTokens:Zt,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 kn(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await H(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 An(e,t,n,r,i){let a=U(t),o=jn(n,r),s=`${t.frozenAt.replace(/[:.]/g,`-`)}-${bn(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 Nn(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 jn(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 Mn=Promise.resolve();async function Nn(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=Mn.then(r,r);return Mn=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:Pn(t)}}function Pn(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 Fn=`__slicc_binary__`,In=`b64`;function Ln(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[Fn]===In&&typeof t.data==`string`}function G(e){if(e instanceof Uint8Array)return{[Fn]:In,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(Ln(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 Rn=c(`panel-transport`);function zn(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Bn(){return{onMessage:e=>{let t=(t,n,r)=>(zn(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=>{Rn.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var q=c(`offscreen-client`),Vn=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??Bn(),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;Hn(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&&Hn(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 Hn(e,t){Ae({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),v({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 Un(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 Wn(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 Gn(e){let t=Wn(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function Kn(e,t){let n=Wn(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 qn(){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 Jn(e){let{worker:t,realCdpTransport:n,callbacks:r}=e,i=e.readyTimeoutMs??3e4,a=e.localStorageSeed??{},o=new MessageChannel,s=new MessageChannel,c=new Vn(r,Gn(o.port1));e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Kn(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 Yn(e){return Jn({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-Rrx0aK7m.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??qn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,onWorkerScriptError:e.onWorkerScriptError})}var Xn=`<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 Zn(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 Qn(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(Xn));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{await t(Zn(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 X(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function $n(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 er(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function tr(e){return`
252
+ `}\n${o}\n\n${t}\n`;await e.writeFile(i,a+s);try{await Yt({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 Cn(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 wn(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 U(e){return`${z}/${e.filename}`}async function Tn(e,t,n){if(!t.pendingEnrichment)return null;let r=await Dn(e,t);if(r===null)return null;let i=On(t,r);if(i===null)return null;let a=await kn(t,i,n);if(a===null)return null;let o=await En(n,a.newTitle);return await An(e,t,a.bullets,n),await jn(e,t,r,a.newTitle,o)}async function En(e,t){if(e.pickIcon)try{return await nn(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 Dn(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`?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 On(e,t){let n;try{n=W(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):mn(n)}async function kn(e,t,n){let r=``;try{r=await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Zt,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=yn(await o({messages:t,instruction:a,model:n.model,apiKey:n.apiKey,maxTokens:Qt,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 An(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await H(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 jn(e,t,n,r,i){let a=U(t),o=Mn(n,r),s=`${t.frozenAt.replace(/[:.]/g,`-`)}-${xn(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 Pn(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 Mn(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 Nn=Promise.resolve();async function Pn(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=Nn.then(r,r);return Nn=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:Fn(t)}}function Fn(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 In=`__slicc_binary__`,Ln=`b64`;function Rn(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[In]===Ln&&typeof t.data==`string`}function G(e){if(e instanceof Uint8Array)return{[In]:Ln,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(Rn(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 zn=c(`panel-transport`);function Bn(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Vn(){return{onMessage:e=>{let t=(t,n,r)=>(Bn(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=>{zn.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var q=c(`offscreen-client`),Hn=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??Vn(),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;Un(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&&Un(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 Un(e,t){je({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),v({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 Wn(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 Gn(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 Kn(e){let t=Gn(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function qn(e,t){let n=Gn(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 Jn(){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 Yn(e){let{worker:t,realCdpTransport:n,callbacks:r}=e,i=e.readyTimeoutMs??3e4,a=e.localStorageSeed??{},o=new MessageChannel,s=new MessageChannel,c=new Hn(r,Kn(o.port1));e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=qn(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 Xn(e){return Yn({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-BwALz4mK.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Jn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,onWorkerScriptError:e.onWorkerScriptError})}var Zn=`<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 Qn(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 $n(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(Zn));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{await t(Qn(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 X(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function er(e){try{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.sprinkle-action-card__header`);if(t){t.querySelector(`.sprinkle-badge`)?.remove(),t.querySelector(`.sprinkle-action-card__meta`)?.remove();let e=t.textContent?.trim();if(e)return e}}catch{}return`Approval requested`}function tr(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function nr(e){return`
253
253
  <div class="sprinkle-action-card">
254
- <div class="sprinkle-action-card__header">${er($n(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
254
+ <div class="sprinkle-action-card__header">${tr(er(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 nr(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var rr=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(nr)}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(nr))}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=Be(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(Ue(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?Me(i):i;this.#p?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#M(e){return Ke(e,Ne())}#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??=Qn({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(ie(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=j(r,tr(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)}#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 Pe(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(){Ge(this.#te(),this.#D)}#re(){Le(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 ir(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function ar(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,ir(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function or(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(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 Z(e){let t=await sr(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function sr(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 cr(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 lr(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(ar))}async function ur(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 dr={".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 fr(e){return dr[e.slice(e.lastIndexOf(`.`)).toLowerCase()]||`application/octet-stream`}function pr(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}async function mr(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 hr(e,t){try{return await e.stat(t),!0}catch{return!1}}function gr(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=fr(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}Ve.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=fr(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:pr(n)},{id:`delete`,label:`Delete`,destructive:!0}];Re.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 hr(n,t)&&!confirm(`${t} already exists. Overwrite?`))break;await mr(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 hr(a,n)&&!confirm(`${n} already exists. Overwrite?`))break;await mr(a,i,n),await a.rm(i);break}}}catch(e){o.error(`Overflow action "${t}" failed`,e)}})}var _r=`/workspace/CLAUDE.md`,Q=64;function vr(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 yr(e){let t=[],n=null,r=()=>{if(!n)return;let e=n.join(` `).trim();e&&t.push(vr(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(vr(e.trim())),t}async function br(e){let t=``;try{let n=await e.readFile(_r,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return yr(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 xr(e){let t=e.getScoops(),[n,r,i,a,o,s]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>[])]),c=e.getOAuthProviders(),l=Object.entries(a);return[{id:`cost`,label:`Cost`,count:o?.models.length??0,meta:o?`$${o.totalCost.toFixed(2)}`:void 0,rows:o?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`}))??[]},{id:`scoops`,label:`Scoops`,count:t.length,rows:t.map(t=>{let n=t.isCone?`${t.name||`sliccy`} (cone)`:t.name,r=e.isProcessing(t.jid);return{name:n,meta:r?`processing`:`idle`,active:r}})},{id:`processes`,label:`Processes`,count:s.length,rows:s.map(e=>{let t=e.argv.length>40?e.argv.slice(0,37)+`...`:e.argv,n=e.status===`running`;return{name:`${e.pid}`,meta:t,active:n}})},{id:`cron`,label:`Cron Tasks`,count:n.length,rows:n.map(e=>({name:e.name,meta:e.cron,active:e.status===`active`}))},{id:`webhooks`,label:`Webhooks`,count:r.length,rows:r.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`}))},{id:`workflows`,label:`Workflows`,count:0,rows:[]},{id:`mounts`,label:`Mounts`,count:i.length,rows:i.map(e=>({name:e.targetPath,meta:e.descriptor.kind}))},{id:`mcp`,label:`MCP Servers`,count:l.length,rows:l.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`${n} tool${n===1?``:`s`}`}})},{id:`oauth`,label:`OAuth`,count:c.length,rows:c.map(e=>({name:e,meta:``}))}]}var Sr=[`/workspace`,`/shared`],Cr=3,wr=200;async function Tr(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,wr),s=o.filter(e=>e.type===`file`).map(e=>`${t}/${e.name}`),c=await Promise.allSettled(s.map(t=>e.stat(t))),l=new Map;s.forEach((e,t)=>{let n=c[t];n?.status===`fulfilled`&&l.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<Cr?await Tr(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 Er(e){let t=[];for(let n of Sr)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await Tr(e,n,1)});return t}function Dr(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await Er(t),a||(a=!0,gr({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:je,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 br(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 xr(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 Or={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},kr={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function Ar(e){return e?Or[e]:void 0}function jr(e){return e===`max`?`max`:void 0}function Mr(e,t){return t===`max`?`max`:(e&&kr[e])??`off`}function Nr(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 Pr(e,t,n){return[...e].sort((e,t)=>Number(t.isCone)-Number(e.isCone)).map(e=>{let r=n?.get(e.jid);return{key:e.jid,type:e.isCone?`cone`:`scoop`,color:y(e),label:e.isCone?`sliccy`:e.name,eyes:$(t?.get(e.jid)),fill:typeof r==`number`?Math.round(r*100):void 0}})}function Fr(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=Pr(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`&&Fe(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 Ir(t,n){t.thread.setAttribute(`context`,n.isCone?`cone`:`scoop:${n.name}`),t.thread.setAttribute(`accent`,y(n)),ze(t,n.isCone?{kind:`cone`}:{kind:`scoop`,accent:y(n)}),t.switcher.setAttribute(`active`,n.jid);let r=localStorage.getItem(`slicc_locked_effort_level`);t.composerMeta.setAttribute(`thinking`,Mr(r??n.config?.thinkingLevel,n.config?.effortOverride));try{let{resolveCurrentModel:i,resolveModelById:a}=await e(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-DLz5qyR7.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 Lr(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 sr(r)).kind!==`corrupt`||(l.warn(`WC freezer index corrupt — rebuilding from archives`),a=await cr(r),a.length===0))return;await i.writeFile(B,JSON.stringify(a,null,2))}t===d&&(u=a,lr(n.freezer,a),!f&&a.some(e=>!e.icon&&!e.pendingEnrichment)&&(f=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-D69J7_RA.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})=>or({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{let{writer:n}=await r(),{resetNewSessionTmp:o,runNewSessionFreeze:c,runNewSessionFreezeQuick:l}=await e(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-BQx4lnyb.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__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!==`erase`&&(t===`save`?await c({vfs:n,onProgress:e=>{let t=h();t&&(e===null?t.removeAttribute(`progress`):t.setAttribute(`progress`,String(e)))},onBackgroundEnriched:()=>p()}):await l({vfs:n})),await o(n),await i.clearAllMessages(),a()?.loadMessages([]),e(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-OJSz86We.js`).then(e=>e.x);return{resetDictationPriming:e}},__vite__mapDeps([38,1,14,19,32,33,17,12,13,15,16,18,2,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 u=i.getScoops().find(e=>e.isCone);u&&s(u)}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 ur(t,i??{filename:e,title:e,frozenAt:``,messageCount:0});n.thread.setAttribute(`context`,`freezer:${i?.filename??e}`),a()?.loadMessages(o),n.thread.setAttribute(`accent`,We),ze(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 Rr(e,t){let n=null,r=He(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`),Ir(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 zr(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-Cb6FWsgc.js`),__vite__mapDeps([44,43]))]);return{reader:n({transport:t.getTransport()}),writer:r({transport:t.getTransport()})}})(),n)}function Br(t,n,r,i,a){t.onClientReady(()=>{i.intercept||e(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-BAq8GkX1.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 Vr(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-C8b_iQ_9.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-jfuTMXZM.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 rr({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-Cd2cQZ1O.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([51,2,38,1,14,19,32,33,17,12,13,15,16,18,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&&(At(t),c.delete(e))},onMessageRendered:(e,t)=>{let n=t[0];n&&c.set(e.id,kt(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 Hr(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-pJKktrh8.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([57,14,38,1,19,32,33,17,12,13,15,16,18,2,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(Nr(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-B_sJtvrP.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-CDMn8WnP.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=Ie(t);if(!r)return;let i=t.detail?.source===`dictation`;i&&(e(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-Cd2cQZ1O.js`);return{markVoiceSubmission:e}},__vite__mapDeps([51,2,38,1,14,19,32,33,17,12,13,15,16,18,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=Ar(t),a=jr(t),o=n.getSelected();o&&i&&r.setScoopThinkingLevel(o.jid,i,a)}),{getAttachStage:()=>c}}function Ur(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=Pr(t.getScoops(),e.statuses,e.fills)})};return setInterval(n,15e3),n}function Wr(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 Gr(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)}),qr({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function Kr(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 qr(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-D69J7_RA.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 Jr(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-CGjJCzwN.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 Yr(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 Xr(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:Zr(t,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e))}function Zr(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 Qr(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 $r(t,n,r,i={}){e(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-OJSz86We.js`).then(e=>e.v);return{initTimestampPreference:e}},__vite__mapDeps([38,1,14,19,32,33,17,12,13,15,16,18,2,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=Ur(t.wiring,n),c=()=>o?.(),l={intercept:null},{controller:u,agentHandle:d}=Vr(a,n,()=>t.getSelected(),Kr({boot:t,triggerPlaceholder:c,refreshStats:s}),l);t.setController(u),t.onClientReady(s);let f=zr(n),p=async()=>(await f()).reader;i.standalone?.runtimeMode!==`cherry`&&i.standalone?.runtimeMode!==`hosted-leader`&&Br(t,n,f,l,r);let m=Hr({boot:t,client:n,agentHandle:d,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:p,openWriter:async()=>(await f()).writer,log:r});Gr(t,n),Wr(t,i,r),Xr(t,n,i,r),t.setActivateSurface(Dr({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-DdBEL_nf.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-DdBEL_nf.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=>Jr(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}=Lr({refs:a,openVfs:f,client:n,getController:()=>t.getController(),getSelected:()=>t.getSelected(),selectScoop:t.selectScoop,clearSelection:t.clearSelection,log:r});h(),t.onClientReady(h),Yr(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-DMgKUvY4.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:Qr(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-BdeVxo6d.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,73,62,67,38,31,39,40,41,74,75,55,56,76,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-vGWYhcSN.js`);return{wireWcNav:e}},__vite__mapDeps([77,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-CgPswGW1.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([78,2,4,59,1,39,53,54,20,14,19,21,55,56,79])).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-DG2fJcBd.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 ei(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-CNeJqRLg.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([80,20,1,14,19,4,21])),h=r===`standalone`||r===`electron-overlay`?await f():m,g=Rr(t,h);o&&p(o);let _=Yn({realCdpTransport:a,instanceId:o,callbacks:Fr(g.wiring),localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,onWorkerScriptError:()=>{ne()}});Un({send:e=>_.client.sendRaw(e)}),d?.(_.client),$r(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-DLz5qyR7.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});let{consumeAutoPrompt:re}=await e(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),v=re(window.location.search);v&&(g.getController()?.sendUserMessage(v),n.info(`Auto-prompt submitted`,{length:v.length}))}export{$t as a,$r as attachWcClient,Cn as c,Fr as createWcLiveCallbacks,M as d,kt as f,wn as i,ft as l,pt as m,ei as mountWcUiLive,Vn as n,U as o,j as p,Rr as prepareWcShell,B as r,W as s,rr as t,At as u};
257
+ `}function rr(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var ir=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(rr)}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(rr))}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??=$n({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(ie(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=j(r,nr(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)}#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 ar(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function or(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,ar(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function sr(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(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 Z(e){let t=await cr(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function cr(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 lr(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 ur(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(or))}async function dr(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 fr={".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 pr(e){return fr[e.slice(e.lastIndexOf(`.`)).toLowerCase()]||`application/octet-stream`}function mr(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}async function hr(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 gr(e,t){try{return await e.stat(t),!0}catch{return!1}}function _r(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=pr(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=pr(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:mr(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 gr(n,t)&&!confirm(`${t} already exists. Overwrite?`))break;await hr(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 gr(a,n)&&!confirm(`${n} already exists. Overwrite?`))break;await hr(a,i,n),await a.rm(i);break}}}catch(e){o.error(`Overflow action "${t}" failed`,e)}})}var vr=`/workspace/CLAUDE.md`,Q=64;function yr(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 br(e){let t=[],n=null,r=()=>{if(!n)return;let e=n.join(` `).trim();e&&t.push(yr(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(yr(e.trim())),t}async function xr(e){let t=``;try{let n=await e.readFile(vr,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return br(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 Sr(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 Cr=[`/workspace`,`/shared`],wr=3,Tr=200;async function Er(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,Tr),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<wr?await Er(e,i,n+1):[]});else{let e=l.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function Dr(e){let t=[];for(let n of Cr)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await Er(e,n,1)});return t}function Or(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await Dr(t),a||(a=!0,_r({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 xr(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 Sr(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 kr={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Ar={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function jr(e){return e?kr[e]:void 0}function Mr(e){return e===`max`?`max`:void 0}function Nr(e,t){return t===`max`?`max`:(e&&Ar[e])??`off`}function Pr(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 Fr(e,t,n){return[...e].sort((e,t)=>Number(t.isCone)-Number(e.isCone)).map(e=>{let r=n?.get(e.jid);return{key:e.jid,type:e.isCone?`cone`:`scoop`,color:y(e),label:e.isCone?`sliccy`:e.name,eyes:$(t?.get(e.jid)),fill:typeof r==`number`?Math.round(r*100):void 0}})}function Ir(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=Fr(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 Lr(t,n){t.thread.setAttribute(`context`,n.isCone?`cone`:`scoop:${n.name}`),t.thread.setAttribute(`accent`,y(n)),Be(t,n.isCone?{kind:`cone`}:{kind:`scoop`,accent:y(n)}),t.switcher.setAttribute(`active`,n.jid);let r=localStorage.getItem(`slicc_locked_effort_level`);t.composerMeta.setAttribute(`thinking`,Nr(r??n.config?.thinkingLevel,n.config?.effortOverride));try{let{resolveCurrentModel:i,resolveModelById:a}=await e(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-CGnZl3f-.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 Rr(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 cr(r)).kind!==`corrupt`||(l.warn(`WC freezer index corrupt — rebuilding from archives`),a=await lr(r),a.length===0))return;await i.writeFile(B,JSON.stringify(a,null,2))}t===d&&(u=a,ur(n.freezer,a),!f&&a.some(e=>!e.icon&&!e.pendingEnrichment)&&(f=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-8fakxnYS.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})=>sr({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{let{writer:n}=await r(),{resetNewSessionTmp:o,runNewSessionFreeze:c,runNewSessionFreezeQuick:l}=await e(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-Bs6AOhFK.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__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!==`erase`&&(t===`save`?await c({vfs:n,onProgress:e=>{let t=h();t&&(e===null?t.removeAttribute(`progress`):t.setAttribute(`progress`,String(e)))},onBackgroundEnriched:()=>p()}):await l({vfs:n})),await o(n),await i.clearAllMessages(),a()?.loadMessages([]),e(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-ChAQky0u.js`).then(e=>e.x);return{resetDictationPriming:e}},__vite__mapDeps([38,1,14,19,32,33,17,12,13,15,16,18,2,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 u=i.getScoops().find(e=>e.isCone);u&&s(u)}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 dr(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 zr(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`),Lr(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 Br(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-Cb6FWsgc.js`),__vite__mapDeps([44,43]))]);return{reader:n({transport:t.getTransport()}),writer:r({transport:t.getTransport()})}})(),n)}function Vr(t,n,r,i,a){t.onClientReady(()=>{i.intercept||e(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DaQiGWxH.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 Hr(t,i,a,o,s){let c=new Map;e(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-kYboUbpI.js`);return{loadDipStyles:e}},__vite__mapDeps([47,14])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),e(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-C8b_iQ_9.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-jfuTMXZM.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 ir({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-D08ppelD.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([51,2,38,1,14,19,32,33,17,12,13,15,16,18,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&&(jt(t),c.delete(e))},onMessageRendered:(e,t)=>{let n=t[0];n&&c.set(e.id,At(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 Ur(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-DCIY4YK0.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([57,14,38,1,19,32,33,17,12,13,15,16,18,2,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(Pr(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-BD0vIfkn.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-jxkdAA5Q.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-D08ppelD.js`);return{markVoiceSubmission:e}},__vite__mapDeps([51,2,38,1,14,19,32,33,17,12,13,15,16,18,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=jr(t),a=Mr(t),o=n.getSelected();o&&i&&r.setScoopThinkingLevel(o.jid,i,a)}),{getAttachStage:()=>c}}function Wr(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=Fr(t.getScoops(),e.statuses,e.fills)})};return setInterval(n,15e3),n}function Gr(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 Kr(e,t){let{refs:n}=e;n.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.getScoops().find(e=>e.jid===r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)}),Jr({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function qr(e){return()=>{e.triggerPlaceholder(),e.refreshStats();let t=e.boot.getSelected()?.jid;if(!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function Jr(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-8fakxnYS.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 Yr(t,n,r){let{RemoteTerminalView:i}=await e(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-BOSJ_t1v.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-CGjJCzwN.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 Xr(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 Zr(t,n,r,i){e(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CAEOwurQ.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:Qr(t,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e))}function Qr(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 $r(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 ei(t,n,r,i={}){e(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-ChAQky0u.js`).then(e=>e.v);return{initTimestampPreference:e}},__vite__mapDeps([38,1,14,19,32,33,17,12,13,15,16,18,2,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=Wr(t.wiring,n),c=()=>o?.(),l={intercept:null},{controller:u,agentHandle:d}=Hr(a,n,()=>t.getSelected(),qr({boot:t,triggerPlaceholder:c,refreshStats:s}),l);t.setController(u),t.onClientReady(s);let f=Br(n),p=async()=>(await f()).reader;i.standalone?.runtimeMode!==`cherry`&&i.standalone?.runtimeMode!==`hosted-leader`&&Vr(t,n,f,l,r);let m=Ur({boot:t,client:n,agentHandle:d,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:p,openWriter:async()=>(await f()).writer,log:r});Kr(t,n),Gr(t,i,r),Zr(t,n,i,r),t.setActivateSurface(Or({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-DKj3IyXq.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-DKj3IyXq.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=>Yr(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}=Rr({refs:a,openVfs:f,client:n,getController:()=>t.getController(),getSelected:()=>t.getSelected(),selectScoop:t.selectScoop,clearSelection:t.clearSelection,log:r});h(),t.onClientReady(h),Xr(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-CxI-YvJH.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:$r(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-DL8LCTDP.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,73,62,67,38,31,39,40,41,74,75,55,56,76,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-CQU9lWdP.js`);return{wireWcNav:e}},__vite__mapDeps([77,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-CgPswGW1.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([78,2,4,59,1,39,53,54,20,14,19,21,55,56,79])).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-DG2fJcBd.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 ti(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-CNeJqRLg.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([80,20,1,14,19,4,21])),h=r===`standalone`||r===`electron-overlay`?await f():m,g=zr(t,h);o&&p(o);let _=Xn({realCdpTransport:a,instanceId:o,callbacks:Ir(g.wiring),localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,onWorkerScriptError:()=>{ne()}});Wn({send:e=>_.client.sendRaw(e)}),d?.(_.client),ei(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-CGnZl3f-.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});let{consumeAutoPrompt:re}=await e(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),v=re(window.location.search);v&&(g.getController()?.sendUserMessage(v),n.info(`Auto-prompt submitted`,{length:v.length}))}export{en as a,ei as attachWcClient,wn as c,Ir as createWcLiveCallbacks,M as d,At as f,Tn as i,pt as l,mt as m,ti as mountWcUiLive,Hn as n,U as o,j as p,zr as prepareWcShell,B as r,W as s,ir as t,jt as u};