sliccy 6.131.1 → 6.131.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/ui/.vite/manifest.json +144 -144
  2. package/dist/ui/assets/{account-store-B2fM_hVm.js → account-store-BcQeOBmj.js} +1 -1
  3. package/dist/ui/assets/{account-store-CnTVyV3B.js → account-store-ChQLfZgz.js} +1 -1
  4. package/dist/ui/assets/{adobe-Cwc5x2uv.js → adobe-D10Mg1h_.js} +1 -1
  5. package/dist/ui/assets/{adobe-DDIBiAPC.js → adobe-DEKdi3oD.js} +1 -1
  6. package/dist/ui/assets/{agent-bridge-BNzVNteR.js → agent-bridge-Bvzfs8rB.js} +1 -1
  7. package/dist/ui/assets/{apply-layout-CaZC02vG.js → apply-layout-wFAir12c.js} +1 -1
  8. package/dist/ui/assets/{apps-BKCcSwUS.js → apps-B97sfmxi.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-BbS3zNfN.js → azure-openai-CBu-puRS.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-DS9LetAu.js → azure-openai-DY2D8FBl.js} +1 -1
  11. package/dist/ui/assets/{cerebras-Bl6JS-Zz.js → cerebras-C18SmUxs.js} +1 -1
  12. package/dist/ui/assets/{cerebras-CXTvGhJy.js → cerebras-DRjpuHAs.js} +1 -1
  13. package/dist/ui/assets/{connect-surface-Cga7yA1x.js → connect-surface-DHUhaoge.js} +1 -1
  14. package/dist/ui/assets/{directed-approval-D5JxaPCg.js → directed-approval-fA2Km1F9.js} +1 -1
  15. package/dist/ui/assets/{dist-iMxkf8fm.js → dist-BPZbDBP1.js} +1 -1
  16. package/dist/ui/assets/{dist-DHO9E-gl.js → dist-DOnCyc4g.js} +1 -1
  17. package/dist/ui/assets/{fs-WglxnM0m.js → fs-DWYk-XaG.js} +2 -2
  18. package/dist/ui/assets/{fs-B5l0OgHF.js → fs-DWgVdrZr.js} +1 -1
  19. package/dist/ui/assets/{github-CipnBUW0.js → github-C5jWaC1B.js} +1 -1
  20. package/dist/ui/assets/{github-rNEu9Il2.js → github-D0NGzYdm.js} +2 -2
  21. package/dist/ui/assets/{github-copilot-ByPeJOvj.js → github-copilot-7nHjLcI7.js} +1 -1
  22. package/dist/ui/assets/{github-copilot-CPGYy73b.js → github-copilot-Ci9xf6YE.js} +1 -1
  23. package/dist/ui/assets/{github-install-B7uGR7D1.js → github-install-aoLT8eLh.js} +1 -1
  24. package/dist/ui/assets/{github-zip-CXwGYOT2.js → github-zip-q8IzoiWD.js} +1 -1
  25. package/dist/ui/assets/{help-aOXHqJ8Q.js → help-BDi4nJVZ.js} +1 -1
  26. package/dist/ui/assets/icons-ClfjE6Ij.js +1 -0
  27. package/dist/ui/assets/{js-realm-worker-BNIyA4hZ.js → js-realm-worker-BTzYdudb.js} +1 -1
  28. package/dist/ui/assets/{kernel-worker-_zyksCUm.js → kernel-worker-mpO2ngRI.js} +30 -30
  29. package/dist/ui/assets/{local-llm-DZNM8DQQ.js → local-llm-CQkvkABD.js} +1 -1
  30. package/dist/ui/assets/{local-llm-mXBzcfos.js → local-llm-DOTvMYuW.js} +1 -1
  31. package/dist/ui/assets/{main-B-nfOo4q.js → main-EFFZWAZj.js} +3 -3
  32. package/dist/ui/assets/{mount-B4KSGLVw.js → mount-B9qMwVml.js} +1 -1
  33. package/dist/ui/assets/{mount-Ch4xd9rB.js → mount-DXpXq69M.js} +3 -3
  34. package/dist/ui/assets/{mount-recovery-Di7nIeaF.js → mount-recovery-DwetnkcN.js} +1 -1
  35. package/dist/ui/assets/{new-session-ClnfXCAZ.js → new-session-D3H9k43E.js} +2 -2
  36. package/dist/ui/assets/{oauth-bootstrap-DESksVSP.js → oauth-bootstrap-BZdvwVda.js} +2 -2
  37. package/dist/ui/assets/{openai-codex-nfIOpXSu.js → openai-codex-BGFoQXPR.js} +1 -1
  38. package/dist/ui/assets/{openai-codex-ByROFNSi.js → openai-codex-CqCN43Vp.js} +1 -1
  39. package/dist/ui/assets/{openrouter-CqAv3VZj.js → openrouter-CyO_8clr.js} +1 -1
  40. package/dist/ui/assets/{openrouter-BfHAZQmK.js → openrouter-CyuFwjSD.js} +1 -1
  41. package/dist/ui/assets/{openrouter-oauth-DQITUCdi.js → openrouter-oauth-Bl5DUyyK.js} +1 -1
  42. package/dist/ui/assets/{openrouter-oauth-BoC1y3uz.js → openrouter-oauth-ukqAIszR.js} +1 -1
  43. package/dist/ui/assets/{panel-rpc-handlers-B6r8KSY4.js → panel-rpc-handlers-q48hKE-j.js} +2 -2
  44. package/dist/ui/assets/{panelize-shell-KNX1XTnq.js → panelize-shell-n4cz4LHX.js} +1 -1
  45. package/dist/ui/assets/{provider-CuvQQp10.js → provider-BJTW8Inb.js} +2 -2
  46. package/dist/ui/assets/{provider-NGK7XrJs.js → provider-BiFOaUnO.js} +1 -1
  47. package/dist/ui/assets/provider-settings-D3GCdjWv.js +1 -0
  48. package/dist/ui/assets/{provider-settings-C_7ia6Wg.js → provider-settings-DxvegOPb.js} +1 -1
  49. package/dist/ui/assets/{provider-store-access-CMt1lgF6.js → provider-store-access-P8QylrtO.js} +2 -2
  50. package/dist/ui/assets/provider-store-access-tUb6KDi9.js +1 -0
  51. package/dist/ui/assets/{providers-Cc4NoSCd.js → providers-BvcoVwoV.js} +2 -2
  52. package/dist/ui/assets/{providers-CtPlPUAl.js → providers-nRNq_HqB.js} +1 -1
  53. package/dist/ui/assets/{quick-llm-By0alwjq.js → quick-llm-vmNyLwWF.js} +1 -1
  54. package/dist/ui/assets/{recovery-screen-Cr55gwtB.js → recovery-screen-D3feoocF.js} +1 -1
  55. package/dist/ui/assets/{run-Bf9B4QDH.js → run-CAXyjr03.js} +2 -2
  56. package/dist/ui/assets/{run-Bub_JJ9Q.js → run-D5UZFh8p.js} +1 -1
  57. package/dist/ui/assets/{run-mzRo2_pR.js → run-R83PHioW.js} +1 -1
  58. package/dist/ui/assets/{session-freezer-FCAjtzB9.js → session-freezer-ChfPSkjG.js} +3 -3
  59. package/dist/ui/assets/{setup-feature-flags-remote-AO0av6y4.js → setup-feature-flags-remote-B7YsGX1C.js} +1 -1
  60. package/dist/ui/assets/{setup-standalone-prelude-C-gDZsJ6.js → setup-standalone-prelude-DMtkl-2o.js} +1 -1
  61. package/dist/ui/assets/{setup-sudo-CyDP6flA.js → setup-sudo-BbqNoR1S.js} +2 -2
  62. package/dist/ui/assets/{skills-CoT8PzSA.js → skills-BkBm2fAz.js} +1 -1
  63. package/dist/ui/assets/slicc-version-B55cSOI0.js +1 -0
  64. package/dist/ui/assets/{snapshot-C26Hnrzl.js → snapshot-CLXWXjqM.js} +1 -1
  65. package/dist/ui/assets/{snapshot-features-DMqvwv22.js → snapshot-features-qD3Jv7eK.js} +1 -1
  66. package/dist/ui/assets/{src-Bex_z_yH.js → src-CWTsG5Zz.js} +1 -1
  67. package/dist/ui/assets/{state-DihPwc0x.js → state-Du90LXhH.js} +1 -1
  68. package/dist/ui/assets/{store-BFQaIUNf.js → store-BW6jwedj.js} +1 -1
  69. package/dist/ui/assets/{store-jCHEXPsn.js → store-G_IzwEbI.js} +1 -1
  70. package/dist/ui/assets/{sudo-DV79W8d_.js → sudo-CiGYbddr.js} +1 -1
  71. package/dist/ui/assets/{sync-dialog-D7Wg49Up.js → sync-dialog-Bpp9Sloe.js} +1 -1
  72. package/dist/ui/assets/{upgrade-detection-DS0TnOrq.js → upgrade-detection-qaPo2iNP.js} +1 -1
  73. package/dist/ui/assets/{wc-attach-BbT2famN.js → wc-attach-Bmy0D7zx.js} +2 -2
  74. package/dist/ui/assets/{wc-extension-NZBjLMIl.js → wc-extension-HpEFmEaM.js} +2 -2
  75. package/dist/ui/assets/{wc-float-label-CnFnKVLC.js → wc-float-label-D-EfJUCy.js} +1 -1
  76. package/dist/ui/assets/{wc-follower-BdUaqkeK.js → wc-follower-CaCmbsFC.js} +3 -3
  77. package/dist/ui/assets/{wc-live-Doom1Cuk.js → wc-live-nJl674nq.js} +3 -3
  78. package/dist/ui/assets/{wc-nav-DX0vhaA2.js → wc-nav-Bnfi20v0.js} +2 -2
  79. package/dist/ui/assets/{wc-onboarding-DWR8Cofn.js → wc-onboarding-yJakorfA.js} +2 -2
  80. package/dist/ui/assets/{wc-placeholder-EhKkP8p0.js → wc-placeholder-BIs0O5Tv.js} +2 -2
  81. package/dist/ui/assets/{wc-settings-D_ym_qw0.js → wc-settings-C4sBkTAZ.js} +2 -2
  82. package/dist/ui/assets/{wc-shell-p7cHxhJQ.js → wc-shell-D0eljkIj.js} +3 -3
  83. package/dist/ui/assets/{wc-sprinkles-Bm5U1hNI.js → wc-sprinkles-Dxi8ZWGE.js} +2 -2
  84. package/dist/ui/assets/{wc-tray-DL-rVcIK.js → wc-tray-bViGindn.js} +4 -4
  85. package/dist/ui/assets/{xai-grok-DbCJs1Ps.js → xai-grok-BfUF5UgI.js} +1 -1
  86. package/dist/ui/assets/{xai-grok-QZxyqlOs.js → xai-grok-BxzPJBhW.js} +1 -1
  87. package/dist/ui/index.html +6 -6
  88. package/dist/ui/lucide-icons.js +190 -186
  89. package/dist/ui/packages/webapp/index.html +6 -6
  90. package/package.json +2 -2
  91. package/dist/ui/assets/icons-BJsliYCh.js +0 -1
  92. package/dist/ui/assets/provider-settings-s-43s4y0.js +0 -1
  93. package/dist/ui/assets/provider-store-access-BLtf32eE.js +0 -1
  94. package/dist/ui/assets/slicc-version-C11usX8a.js +0 -1
@@ -1,8 +1,8 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/provider-settings-C_7ia6Wg.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-B2fM_hVm.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-BJLrDjmH.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-CiijUcSt.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/image-markers-BFDmhPy4.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-Cc4NoSCd.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-MJ77Fp1a.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/chat-session-store-pWb1-jNp.js","assets/wc-placeholder-EhKkP8p0.js","assets/dictation-priming-CNllGgNq.js","assets/wc-attach-BbT2famN.js","assets/permissions-surface-registry-CilCRwhh.js","assets/session-freezer-FCAjtzB9.js","assets/agent-message-to-chat-Df4an5Ei.js","assets/types-Dgm4REV3.js","assets/icons-BJsliYCh.js","assets/record-DOq72weu.js","assets/export-provider-CqI0pk50.js","assets/transcript-export-DP-r8eDz.js","assets/quick-llm-By0alwjq.js","assets/llm-session-id-bZQs6gBN.js","assets/new-session-ClnfXCAZ.js","assets/feature-flags-DaSRRz0w.js","assets/db-cKsBsMMN.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-TvriK11t.js","assets/soundscape-cues-5_sT5Un6.js","assets/voice-reply-B43Nr1Xr.js","assets/speak-BxNdNjKi.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BmBEKck6.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/preview-url-r19H6zH1.js","assets/remote-vfs-client-DdFPlnwq.js","assets/writable-vfs-client-Czpbtd8Y.js","assets/wc-onboarding-DWR8Cofn.js","assets/welcome-detection-Ddf03FcG.js","assets/dip-1TiuHkUR.js","assets/sprinkle-renderer-BnSqYzuY.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BBXJ4GF8.js","assets/usb-device-registry-CRsCisej.js","assets/sprinkle-bridge-BNzhEsPj.js","assets/wc-browser-Ctsf5Y23.js","assets/slicc-app-url-B9OxaBDe.js","assets/tab-teleport-PAaKnGkm.js","assets/teleport-storage-Beud1T6_.js","assets/remote-terminal-view-BHs39pzZ.js","assets/mount-picker-popup--ijSfN8u.js","assets/picker-popup-sQtXmfAo.js","assets/browser-DGwroBSO.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-CtpVPUh5.js","assets/wc-permissions-CppSymRx.js","assets/wc-permissions-providers-BjqCnuQT.js","assets/timestamp-preference-sKwBl5I8.js","assets/panelize-shell-KNX1XTnq.js","assets/virtual-device-paths-D45tpPP6.js","assets/src-Bex_z_yH.js","assets/speech-C5U8h4In.js","assets/panel-registry-CJdOibpf.js","assets/layout-schema-m9_VAwOw.js","assets/layout-apply-registry-Cw730jao.js","assets/trusted-layer-ghPA1ENf.js","assets/wc-shortcut-config-CjOJXjsp.js","assets/wc-shortcuts-BDQiHczD.js","assets/remote-sprinkle-vfs-BY9A-xsx.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-Bm5U1hNI.js","assets/surface-fullscreen-4YjALjE7.js","assets/wc-unit-context-1szdc5sL.js","assets/agent-panels-B92KQapO.js","assets/apply-layout-CaZC02vG.js","assets/wc-tray-DL-rVcIK.js","assets/tray-webrtc-uW6sTyIA.js","assets/tray-sync-protocol-jKTx-dCF.js","assets/wc-follower-oauth-B6m2XpVI.js","assets/pending-request-table-Dgn6qYdL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/wc-shell-p7cHxhJQ.js","assets/wc-shell-WkeczD9x.css","assets/tray-leader-DabyaEs-.js","assets/synthetic-cdp-transport-Ds83IPjw.js","assets/sprinkle-instances-B8n7h-oP.js","assets/follower-presentation-DqBw0YiV.js","assets/host-command-29ain4NA.js","assets/agent-handle-CNeA3sd0.js","assets/wc-transcript-export-DdEuCfi6.js","assets/wc-nav-DX0vhaA2.js","assets/composer-speech-CElQJ4q_.js","assets/whisper-session-DW7HkDu2.js","assets/wc-float-label-CnFnKVLC.js","assets/setup-sudo-CyDP6flA.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t,L as n,R as r,S as i,d as a}from"./account-store-B2fM_hVm.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{t as s}from"./logger-DDBAeTLF.js";import{r as c,t as l}from"./base64-DJRlyqZu.js";import"./proxied-fetch-CiijUcSt.js";import{a as u,i as d,n as f,r as p}from"./setup-standalone-prelude-C-gDZsJ6.js";import{a as m,i as h,n as g,t as _}from"./transcript-export-DP-r8eDz.js";import{f as v,h as y,m as b,o as x}from"./tray-runtime-config-BQL-GPqt.js";import{a as S,t as C}from"./api-endpoint-DGxXvrur.js";import{n as w}from"./float-topology-hfgMx1Yq.js";import"./secret-topology-Yt0aO4Gz.js";import{n as T}from"./secrets-bridge-client-BVl0YuB2.js";import{t as ee}from"./tool-ui-eSQ1g2I1.js";import{a as te,c as E,l as ne,n as re,r as ie,u as ae}from"./telemetry-MJ77Fp1a.js";import{r as D}from"./feature-flags-DaSRRz0w.js";import{a as oe,i as se,t as ce}from"./tray-follower-status-BAjnN7Ar.js";import{n as le}from"./src-BWaKqLvQ.js";import{C as ue,S as O,_ as de,a as fe,b as pe,c as me,d as he,f as ge,g as _e,h as ve,i as ye,l as be,m as xe,n as Se,o as Ce,p as we,r as Te,t as Ee,u as De,v as Oe,w as ke,x as Ae,y as je}from"./wc-shell-p7cHxhJQ.js";import{t as Me}from"./chat-session-store-pWb1-jNp.js";import{a as Ne,i as Pe,r as Fe}from"./tray-leader-DabyaEs-.js";import{a as Ie,c as Le,f as k,i as Re,l as ze,m as Be,n as Ve,p as He,u as A}from"./record-DOq72weu.js";import"./shared-Djytys1b.js";import{t as Ue}from"./preview-url-r19H6zH1.js";import{a as We,n as Ge,t as Ke}from"./dictation-priming-CNllGgNq.js";import{n as qe}from"./export-provider-CqI0pk50.js";import{a as Je,i as Ye,r as Xe}from"./dip-1TiuHkUR.js";import{c as Ze,d as Qe,f as $e,h as et,l as tt,m as nt,p as rt,s as it,u as j}from"./session-freezer-FCAjtzB9.js";import{a as at,c as ot,i as st,o as ct,s as lt}from"./follower-presentation-DqBw0YiV.js";import"./src-Bex_z_yH.js";import{a as M,c as ut,f as dt,i as ft,l as pt,m as mt,n as ht,o as N,p as P,r as gt,s as _t,t as F,u as I}from"./wc-unit-context-1szdc5sL.js";import{l as vt,t as yt}from"./host-command-29ain4NA.js";import{a as bt,n as xt,o as St,r as Ct,s as wt,t as Tt}from"./agent-handle-CNeA3sd0.js";import{t as Et}from"./wc-float-label-CnFnKVLC.js";var Dt=[{category:`jwt`,source:String.raw`ey[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+`,flags:`g`},{category:`private-key`,source:`-----BEGIN [A-Z ]* PRIVATE KEY-----`+String.raw`[\s\S]*?`+`-----END [A-Z ]* PRIVATE KEY-----`,flags:`g`},{category:`bearer-token`,source:`Bearer [A-Za-z0-9._~+/=!-]+`,flags:`gi`},{category:`api-key`,source:`(?:sk-(?:live|test|prod|proj)-[A-Za-z0-9]{8,}|sk-ant-[A-Za-z0-9-]{8,}|xoxb-[A-Za-z0-9-]{10,}|xoxp-[A-Za-z0-9-]{10,}|AKIA[A-Z0-9]{16}|ghp_[A-Za-z0-9]{36}|hf_[A-Za-z0-9]{34})`,flags:`g`},{category:`password`,source:String.raw`\b(?:password|passwd|token|secret|api_key)\s*[=:]\s*\S+`,flags:`gi`}],Ot=`⟦REDACTED:[^⟧]*⟧`;function kt(e,t){return e.start<t.end&&t.start<e.end}function At(e){let t=[];for(let n of e.matchAll(new RegExp(Ot,`g`))){let e=n.index;e!==void 0&&t.push({start:e,end:e+n[0].length})}return t}function jt(e,t,n=1){let r=At(e),i=[],a=n;for(let{category:n,source:o,flags:s}of Dt)for(let c of e.matchAll(new RegExp(o,s))){let e=c.index;if(e===void 0)continue;let o={start:e,end:e+c[0].length};r.some(e=>kt(e,o))||i.some(e=>kt(e,o))||i.push({...o,id:`${t}${a++}`,category:n})}i.sort((e,t)=>e.start-t.start);let o=``,s=0;for(let{start:t,end:n,id:r,category:a}of i)o+=e.slice(s,t),o+=`⟦REDACTED:${a}:${r}⟧`,s=n;return o+=e.slice(s),{text:o,matches:i.map(({id:e,category:t})=>({id:e,category:t})),nextId:a}}var Mt=`agent-sessions`,Nt=1,L=`sessions`;function Pt(){return new Promise((e,t)=>{let n=indexedDB.open(Mt,Nt);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(L)||e.createObjectStore(L,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var Ft=class{dbPromise=null;getDB(){return this.dbPromise||=Pt().then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(L,`readwrite`).objectStore(L).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(L,`readonly`).objectStore(L).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(L,`readwrite`).objectStore(L).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async loadAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(L,`readonly`).objectStore(L).getAll();r.onsuccess=()=>t(r.result??[]),r.onerror=()=>n(r.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(L,`readonly`).objectStore(L).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(L,`readwrite`).objectStore(L).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}},It=`__slicc_binary__`,Lt=`b64`;function Rt(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[It]===Lt&&typeof t.data==`string`}function zt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function Bt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!Rt(e)}function R(e){if(e instanceof Uint8Array)return{[It]:Lt,data:c(e)};if(Array.isArray(e))return e.map(R);if(zt(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=R(r);return t}return e}function z(e){if(Rt(e))return l(e.data);if(Array.isArray(e))return e.map(z);if(Bt(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=z(r);return t}return e}var Vt=s(`panel-transport`);function Ht(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Ut(){return{onMessage:e=>{let t=(t,n,r)=>(Ht(t)&&e(z(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=R(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{Vt.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var Wt=2e3,B=s(`offscreen-client`),Gt={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},Kt=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionNoticeIds=new Map;compactionSettledRows=new Map;toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingModelAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=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){B.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Ut(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{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)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},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,t={}){if(!A(e))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,...t.description?{description:t.description}:{},...t.prompt?{prompt:t.prompt}:{},...e.model?{model:e.model}:{}})}async unregisterScoop(e){let t=this.scoops.find(t=>t.jid===e);if(t&&A(t)&&k(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);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`})}setScoopModel(e,t){let n=`model-${V()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${V()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${V()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}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&&B.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),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}B.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,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${V()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),Wt))])}finally{this.pendingWebhookDeliveries.delete(r)}}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?(B.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):B.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.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);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`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});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,t.queuedIds);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`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[]}));break}case`tray-runtime-status`:{let t=e;qt(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){B.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}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)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${V()}`,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??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${V()}`,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}-${V()}`,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,toolCallId:e.toolCallId});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,toolCallId:e.toolCallId});break}case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${V()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t,n){if(t===`extracting-memory`)return;let r=this.compactionNoticeIds.get(e)??this.lateRetraction(e,t,n);if(t!==`summarizing`&&!r)return;(t===`idle`||t===`cancelled`||t===`fallback`)&&(this.compactionNoticeIds.delete(e),this.compactionSettledRows.delete(e));let i=r??`compaction-${e}-${V()}`;t===`summarizing`&&this.compactionNoticeIds.set(e,i),(t===`idle`||t===`fallback`)&&n.roundId&&this.compactionSettledRows.set(e,{messageId:i,roundId:n.roundId}),e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i,marker:{trigger:n.trigger,state:Gt[t],...n.transcriptPath?{transcriptPath:n.transcriptPath}:{}}})}lateRetraction(e,t,n){if(t!==`cancelled`||!n.roundId)return;let r=this.compactionSettledRows.get(e);return r?.roundId===n.roundId?r.messageId:void 0}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),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)}wireScoops(){return this.scoops.map(e=>{let t=Re(e),n=ze(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&Le(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}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){B.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&&qt(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 Ie({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,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){B.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 V(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function qt(e,t){Pe({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),se({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 Jt(e){let t=e.createAgentHandle(),n=null,r=null;return{onAgentEvent:e=>t.onEvent(e),sendSprinkleLick:(t,n,r,i)=>e.sendSprinkleLick(t,n,r,i?{unitJid:i}:void 0),sendToolUiAction:(t,n,r)=>e.sendToolUiAction(t,n,r),deleteQueuedMessage:(t,n)=>e.deleteQueuedMessage(t,n),emitAgentError:t=>e.emitAgentError(t),getRecord:t=>e.getScoops().find(e=>e.jid===t),speaksReplies:!0,takeAttachments:()=>n?.(),onTurnIdle:()=>r?.(),welcome:{intercept:null},setAttachmentSource:e=>{n=e},setTurnIdleHook:e=>{r=e}}}var Yt={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},Xt=`A follower cannot cancel the leader’s queued message`;function Zt(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(Xt)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function H(e){return!e.includes(`\0`)}function Qt(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(!H(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(!H(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),!H(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),!H(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(H(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 $t(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 en(e){let t=$t(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function tn(e,t,n,r){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)}}}function nn(e,t){let n=$t(e),r=new Map,i=n.onMessage(e=>{tn(e,t,n,r)});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function rn(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function an(e,t,n){let r=()=>{};return{ready:new Promise((i,a)=>{let o=null,s=null,c=()=>{o!==null&&(clearTimeout(o),o=null)},l=Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),u=Date.now(),d=0,f=!1,p=()=>{c(),o=setTimeout(()=>{if(d+=1,d<l){t.onReadyStall?.({elapsedMs:Date.now()-u,stalls:d}),p();return}t.onLateReady?c():r(),f=!0,a(Error(`Kernel worker did not signal ready within ${n*l}ms`))},n)};r=()=>{s!==null&&(e.removeEventListener(`message`,s),s=null),c()},s=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){d=0,p();return}if(n?.type===`kernel-worker-ready`){if(r(),f){t.onLateReady?.();return}i();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),a(i)}},e.addEventListener(`message`,s),p()}),cleanup:()=>r()}}function on(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=en(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=nn(o.port1,n),{ready:u,cleanup:d}=an(a.port1,e,r),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.131.1-mtnznakv`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:u,dispose(){if(!p){p=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function sn(e){return on({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-_zyksCUm.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??rn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var cn=1048576,ln=`r`;function un(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function U(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function dn(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)dn(e[r],`${t}/${r}`,n);return}if(U(e))for(let[r,i]of Object.entries(e))dn(i,`${t}/${un(r)}`,n)}function fn(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=fn(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(U(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=fn(o,`${t}/${un(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function pn(e,t,n){if(U(e))return fn(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=pn(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function mn(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function hn(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new g(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>cn)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new g(`redaction-unavailable`)}if(c.length!==s.length)throw new g(`redaction-unavailable`);r.push(...c),i=o}return r}function gn(e,t,n,r){let i=[],a=mn(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=mn(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=jt(t,ln,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function _n(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function vn(e,t,n,r){if(r?.aborted)throw new g(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];dn(a,``,o);let s=o.filter(e=>!h(e.pointer)),c=[...t.entries()],l=await hn([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=gn(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}_n(m,u,d);let _=new Map,v=s.length,y=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=gn(n,l[v+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,_.set(t,r.finalText),y.push(r)}_n(y,u,d);let b=pn(e,``,p);return{document:{...b,privacy:{...b.privacy,redactionCounts:d,redactions:u}},textAttachments:_}}function yn(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function bn(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var xn={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function Sn(e,t){return xn[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Cn(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${Sn(t,n)}`}function wn(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Tn(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function En(e,t,n,r,i){let a=yn(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(wn(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=wn(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function Dn(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:wn(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(En(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function On(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function kn(e,t,n,r,i,a,o){let s=On(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(En(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function An(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=kn(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function jn(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Cn(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function Mn(e,t,n,r,i){let{rawAttachments:a,textMap:o}=jn(e,n),s,c;try{let e=await vn({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof g?e:new g(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new g(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new g(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await bn(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function Nn(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=Dn(Tn(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=An(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await Mn(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var Pn=50;function Fn(e){return Ve(e)}function In(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function Ln(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:A(t)?`cone`:`scoop`,name:t.name,...t.folder&&!A(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=Fn(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function Rn(e,t,n={}){let r=e=>n.rootJid===void 0?e:He(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(Pn,t),t?.aborted))throw new g(`transfer-aborted`);let i=In(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new g(`transfer-aborted`);let s=r(e.listScoops());if(i===In(s,e))return Ln(s,a,o,e)}}function zn(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function Bn(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function Vn(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(Bn(t,r++));return n}function Hn(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=Bn(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function Un(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=Bn(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function Wn(e,t,n){let r=zn(t,n),i=Vn(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function Gn(e,t,n){let r=zn(t,n),{blocks:i,excluded:a,images:o}=Hn(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function Kn(e,t,n){let r=zn(t,n),{blocks:i,images:a}=Un(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function qn(e,t,n){return e.role===`user`?Wn(e,t,n):e.role===`assistant`?Gn(e,t,n):e.role===`toolResult`?Kn(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function Jn(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function Yn(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=qn(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:Jn(e),excludedReasoningBlocks:t,canonicalImages:n}}var Xn=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Zn(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Xn[(t^e[n])&255];return~t>>>0}var Qn=new TextEncoder;function W(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function G(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function $n(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,W(r,4,20),W(r,6,2048),W(r,8,0),W(r,10,0),W(r,12,0),G(r,14,n),G(r,18,t),G(r,22,t),W(r,26,e.length),W(r,28,0),r.set(e,30),r}function er(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,W(i,4,20),W(i,6,20),W(i,8,2048),W(i,10,0),W(i,12,0),W(i,14,0),G(i,16,n),G(i,20,t),G(i,24,t),W(i,28,e.length),W(i,30,0),W(i,32,0),W(i,34,0),W(i,36,0),G(i,38,0),G(i,42,r),i.set(e,46),i}function tr(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,W(r,4,0),W(r,6,0),W(r,8,e),W(r,10,e),G(r,12,t),G(r,16,n),W(r,20,0),r}function nr(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function rr(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${e.session.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,40)||`transcript`}-${n}.zip`}async function*ir(e,t,n,r,i){if(n?.aborted)throw i(new g(`transfer-aborted`)),new g(`transfer-aborted`);let a=()=>i(new g(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=le.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=Qn.encode(`transcript.json`),f=Zn(i),p=$n(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new g(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new g(`transfer-aborted`);let t=Qn.encode(e),i=Zn(r),a=$n(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new g(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new g(`transfer-aborted`);yield*d(er(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new g(`transfer-aborted`);yield*d(tr(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new g(`transfer-aborted`)))}}var ar=4294967295,or=65535;function sr(e,t,n){for(let e of t.keys())if(!nr(e))throw new g(`schema-invalid`);if(t.size+1>or)throw new g(`schema-invalid`);for(let e of t.values())if(e.byteLength>ar)throw new g(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:rr(e),chunks:ir(e,t,n,r,i),completion:a}}function cr(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:_},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function lr(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function ur(e){let t=m(e);if(!t.ok)throw new g(`schema-invalid`,t.error)}function dr(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path)){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function fr(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function pr(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var mr=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),ur(i.document),r?.({phase:`packaging`}),sr(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await Rn(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=Yn(n.sources),{document:i,bundleFiles:a}=await Nn({document:cr(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});ur(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await Rn(this.deps.collection,e),r=Yn(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=cr(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),Nn({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await vn(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new g(`redaction-unavailable`)}let a=dr(r.attachments,i,e.attachments),o=await fr(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await Qe(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new g(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new g(`session-not-found`)}let{title:a,messages:o}=j(i),s=`legacy-cone`,c=lr(o,s),l=pr(i),u={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:_},session:{id:e,title:a,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...l,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:s,kind:`cone`,name:a,messages:c}],delegations:[],attachments:[]},d=new Map([[s,o]]);return n?.({phase:`redacting`}),Nn({document:u,chatMessagesByConversation:d,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new g(`attachment-unreadable`);return t}},hr=`/sessions/data`,gr=`document.json`;async function _r(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function vr(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new g(`session-not-found`)}function yr(e){return`${hr}/${e}`}function br(e){return`${hr}/.tmp-${e}`}async function xr(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function K(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await K(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Sr(e,t,n){await xr(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Sr(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function Cr(e,t,n){vr(t);let r=br(t),i=yr(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new g(`schema-invalid`);await K(e,i),await xr(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await _r(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${gr}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await xr(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Sr(e,r,i),await e.flush()}catch(t){throw await K(e,r),t}await K(e,r)}async function wr(e,t){vr(t);let n=yr(t),r=`${n}/${gr}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new g(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new g(`schema-invalid`)}if(!m(a).ok)throw new g(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new g(`transfer-corrupt`)}if(await _r(i)!==t.sha256)throw new g(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function Tr(e){return`error`in e}function q(){throw new g(`redaction-unavailable`)}function Er(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&q(),e.texts}function Dr(){return{async redact(e){let t;try{t=await fetch(S(`/api/secrets/redact-export`),{method:`POST`,headers:C({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{q()}t.ok||q();let n;try{n=await t.json()}catch{q()}return Er(n,e.length)}}}function Or(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{q()}return typeof t==`object`&&t&&Tr(t)&&q(),Er(t,e.length)}}}function kr(){return{async redact(e){let t;try{t=await T(`secrets.redact-export`,{texts:e})}catch{q()}return t??q(),typeof t==`object`&&t&&Tr(t)&&q(),Er(t,e.length)}}}function Ar(){return{async redact(e){q()}}}function jr(){let e=w();return e===`connect`?Ar():e===`extension-direct`?Or():e===`extension-delegate`?kr():Dr()}function J(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function Y(e,t={}){let n=J(t.status),r=Re(e);return{id:e.jid,parentId:e.parentJid,role:A(e)?`primary`:`child`,name:e.name,folder:e.folder,assistantLabel:e.assistantLabel,state:n,...n===`working`&&t.phase?{phase:t.phase}:{},...n===`idle`&&t.awaiting?{awaiting:!0}:{},fill:typeof t.fill==`number`?Math.round(t.fill*100):0,...r?{model:r}:{},...e.trigger?{trigger:e.trigger}:{},...e.addedAt?{addedAt:e.addedAt}:{}}}function Mr(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:Nr(e,r),a={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...i?{config:i,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{},...!n&&e.onParentClose===`detach`?{onParentClose:`detach`}:{}};return n||(a.trigger=`@${r}`),a}function Nr(e,t){let n=Be(e.workspace?.mode??e.config?.workspaceMode),r=e.workspace?.from??`/workspace`,i=rt(n,t,{root:r},e.workspace?.from),a=e.config;return{...a,workspaceMode:n,visiblePaths:a?.visiblePaths===void 0?i.visiblePaths:a.visiblePaths,writablePaths:a?.writablePaths===void 0?i.writablePaths:a.writablePaths}}var Pr=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,Fr=`${Pr}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,Ir=`${Pr}border:none;background:#d23;color:#fff;`,Lr=`${Pr}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function Rr(e,t,n){return{...Mr({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function zr(e,t){let n=e.createElement(`slicc-dialog`);n.setAttribute(`heading`,t.heading),n.append(t.body);for(let r of t.actions){let t=e.createElement(`button`);t.setAttribute(`slot`,`footer`),t.type=`button`,t.dataset.coneAction=r.data,t.textContent=r.text,t.style.cssText=r.style,t.addEventListener(`click`,r.onClick),n.append(t)}return n.addEventListener(`slicc-dialog-close`,()=>t.onDismiss(n)),n}function Br(e,t){let n=e.createElement(`form`);n.style.cssText=`display:flex;flex-direction:column;gap:0.5rem;padding:0.25rem 0;`;let r=`font-size:0.9375rem;padding:0.5rem 0.625rem;border:1px solid var(--s2-border-color,#e0e0e0);border-radius:0.375rem;background:transparent;color:inherit;font-family:inherit;`,i=e.createElement(`input`);i.type=`text`,i.name=`name`,i.placeholder=`Name`,i.setAttribute(`aria-label`,`Cone name`),i.maxLength=40,i.autocomplete=`off`,i.required=!0,i.style.cssText=r;let a=e.createElement(`textarea`);a.name=`brief`,a.placeholder=`What should it work on? (optional)`,a.setAttribute(`aria-label`,`What the cone should work on`),a.rows=3,a.style.cssText=`${r}resize:vertical;`,n.append(i,a);let o=()=>({name:i.value.trim(),brief:a.value.trim()});return n.addEventListener(`submit`,e=>{e.preventDefault(),t(o())}),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(o()))}),n.readDraft=o,n}function Vr(e){let{freezer:t,client:n,log:r}=e,i=t.ownerDocument,a=null,o=!1,s=null,c=()=>t.querySelector(`slicc-freezer-new`),l=()=>M(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??Y(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=zr(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},p=t=>{if(!t.name)return;d();let i=l(),o=Rr(t.name,n.getScoops(),P(e.getUnits(),i?.id));a=t.name,n.registerScoop(o,t.brief?{description:t.brief,prompt:t.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),_()},m=()=>{let e=Br(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:Fr,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:Lr,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=k(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){_();return}o=!0,_(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.id===a.jid;try{await n.unregisterScoop(a.jid)}catch(e){r.warn(`WC cone drop failed`,e)}if(t){let t=k(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=N(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,f({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:Ir,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:Lr,data:`cancel`,onClick:d}]})},_=()=>{let t=k(n.getScoops());if(a!==null){let n=t.find(e=>e.name===a&&!e.folder.startsWith(`cone-pending-`));n&&(a=null,e.getSelected()?.id!==n.jid&&e.selectScoop(u(n)))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,m),t.addEventListener(`drop-cone`,()=>{let e=l();!e||k(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var Hr=5e3,Ur=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;retriedSnapshots=new Set;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return Y(e,{awaiting:this.deps.getAwaiting?.()===e.jid,fill:this.deps.fills.get(e.jid),phase:this.deps.phases.get(e.jid),status:this.deps.statuses.get(e.jid)})}snapshotFor(e,t,n){let r=this.deps.getClient()?.getScoops().find(t=>t.jid===e);return r?{summary:this.toSummary(r),messages:t,...n?{queuedIds:n}:{}}:null}currentUnits(){return(this.deps.getClient()?.getScoops()??[]).map(e=>this.toSummary(e))}publishSnapshot(e,t){this.retriedSnapshots.delete(e),this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainOrphanedReplays(){for(let[e,t]of this.orphanedReplays){let n=this.snapshotFor(e,t.messages,t.queuedIds);n&&(this.orphanedReplays.delete(e),this.publishSnapshot(e,n))}}recoverUnanswered(e){if(this.unitListeners.has(e)){if(this.retriedSnapshots.has(e)){this.publishRecovery(e);return}this.retriedSnapshots.add(e),this.deps.getClient()?.requestScoopMessages(e),setTimeout(()=>{this.retriedSnapshots.has(e)&&this.publishRecovery(e)},Hr)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:J(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let a,o=new Promise(t=>{a=setTimeout(()=>{a=void 0;let n=this.pendingSnapshots.get(e)?.has(r)===!0;this.forgetWaiter(e,r),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},Hr)});return Promise.race([i.then(e=>(a!==void 0&&(clearTimeout(a),a=void 0),e)),o]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();return n?(n.sendRaw({attachments:t.attachments,messageId:t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Wr(e,t,n,r,i,a){let o=e.map(e=>Y(e,{awaiting:i===e.jid,fill:n?.get(e.jid),phase:r?.get(e.jid),status:t?.get(e.jid)}));return mt(o,a,O)}function X(e){return e.workUnits??=new Ur({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses}),e.workUnits}function Gr(e){let t=X(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=ut(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=F(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),J(i)!==J(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(Y(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.id===t&&n.channel!==`web`&&ue(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.id!==t)return;let i=I(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}async function Kr(e,t,n,r,i=vt){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function qr(e,t){return gt(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||x(t.localStorage)}async function Jr(e,t,n,r,i){let a=pt(t),s=ht(a);e.thread.setAttribute(`context`,_t(t));let c=dt(t),l=O({isRoot:c,name:t.name});e.thread.setAttribute(`accent`,l),e.switcher.setAttribute(`active`,t.id),Te(e,c?{kind:`cone`}:{kind:`scoop`,accent:l}),Se(e,s);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?ze(d):{};e.composerMeta.setAttribute(`thinking`,St(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await o(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./provider-settings-C_7ia6Wg.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),a=P(n,t.id),s=a?i(a.id,a.provider):r();e.composerMeta.setAttribute(`model`,s.name??s.id),e.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!u)}catch{}}async function Yr(e){if(qr(e.pendingUrlContext,e.win))return;let t=gt(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await o(async()=>{let{SessionStore:e}=await import(`./chat-session-store-pWb1-jNp.js`).then(e=>e.n);return{SessionStore:e}},__vite__mapDeps([33,1])),r=new n;await r.init();let i=await r.load(Ve({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Xr(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;o(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-EhKkP8p0.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([34,3,35,1])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Yr({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>i.warn(`WC session hydration failed`,e));let s=null;return o(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-BbT2famN.js`);return{wireWcAttach:e}},__vite__mapDeps([36,3,13,37])).then(({wireWcAttach:t})=>{s=t({inputCard:a.inputCard,freezer:a.freezer,composer:a.composer,openReader:r,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await o(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-FCAjtzB9.js`).then(e=>e.o);return{readSessionsIndex:e}},__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,39,40,41,42,35]));return(await e(await r())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:i})}).catch(e=>i.error(`WC add-menu wiring failed`,e)),o(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:a.thread,inputCard:a.inputCard})).catch(e=>i.error(`WC history nav wiring failed`,e)),a.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,a=wt(r),o=bt(r),s=t.getSelected();s&&a&&Kr(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>s}}function Zr(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function Qr(e){let t=`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`;return e.live?`${t} · in progress`:t}function $r(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Qr(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function ei(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 ti(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(Ze,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 ti(e){let t=await ni(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function ni(e){let t;try{let n=await e.readFile(Ze,{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 ri(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);n.push(ii(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function ii(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=j(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.id?{sessionId:o.id}:{},...s?{pendingEnrichment:!0}:{}}}function ai(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map($r))}async function oi(e,t){let n=await e.readFile(tt(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=j(r);return{title:i.title||t.title,messages:i.messages}}async function si(e,t){let{getTranscriptExportService:n}=await o(async()=>{let{getTranscriptExportService:e}=await import(`./export-provider-CqI0pk50.js`).then(e=>e.t);return{getTranscriptExportService:e}},__vite__mapDeps([43,1,44]));await n().captureFrozen({sessionId:t.sessionId??t.archive.id,title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}})}function ci(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function li(e){return{folder:e.folder,label:N({assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}),jid:e.jid}}async function ui(e){let{root:t}=e,n=t?li(t):void 0,r=e=>si(t,e);if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:n,captureCompleteSnapshot:r});return}await e.runNewSessionFreeze({vfs:e.writer,cone:n,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:r,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function di(e,t){e!==`erase`&&await ui({...t,action:e})}async function fi(e){try{await e.resetNewSessionTmp(e.writer,e.tmpDir)}catch(t){e.log.warn(`WC new session /tmp reset failed — clearing anyway`,t)}await e.client.clearAllMessages(e.root?.jid,e.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}),e.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(xt)),o(async()=>{let{resetDictationPriming:e}=await import(`./dictation-priming-CNllGgNq.js`).then(e=>e.r);return{resetDictationPriming:e}},__vite__mapDeps([35,1])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function pi(e,t){let n=t?Zr(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}function mi(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:s,log:c}=e,l=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await ti(n);if(i===null){if((await ni(n)).kind!==`corrupt`||(c.warn(`WC freezer index corrupt — rebuilding from archives`),i=await ri(n),i.length===0))return;await r.writeFile(Ze,JSON.stringify(i,null,2))}e===f&&(l=i,ai(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,o(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-By0alwjq.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,46,41])).then(({pickLucideIcon:e})=>ei({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>c.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>c.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=t=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let s=ci(r,M(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:l,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await o(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-ClnfXCAZ.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([47,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,48,0,26,27,28,29,30,31,32,46,33,38,39,40,41,42,35]));await di(t,{writer:a,root:s,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}),await fi({writer:a,root:s,client:r,getController:i,log:c,resetNewSessionTmp:l,tmpDir:et(r.getScoops(),s),discardLiveSnapshot:t===`erase`}),m();let p=e.getUnits().find(e=>e.id===s?.jid)??F(e.getUnits());p&&d(p)}catch(e){c.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await o(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-ClnfXCAZ.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([47,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,48,0,26,27,28,29,30,31,32,46,33,38,39,40,41,42,35]));await r({vfs:t,cone:li(e),captureCompleteSnapshot:t=>si(e,t)}),m()};D(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(Ct,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async r=>{let o=l.find(e=>e.filename===r);try{let{reader:e}=await n();o||=(await ti(e)??[]).find(e=>e.filename===r);let{messages:a}=await oi(e,o??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${o?.filename??r}`),u=o?.sessionId??o?.filename??null,i()?.loadMessages(a),(t.thread.inner??t.thread).prepend(pi(t.thread.ownerDocument,o)),t.thread.setAttribute(`accent`,Ee),Te(t,{kind:`freezer`}),t.inputCard.setAttribute(`disabled`,``),t.switcher.removeAttribute(`active`),s()}catch(t){if(c.error(`WC thaw failed`,t),!a()){let t=ft(e.getUnits(),o?.cone);t&&d(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}function hi(e){try{let t=JSON.parse(e);return{processes:(t.processes??[]).filter(e=>e.status===`running`||e.status===`pending`).map(e=>({pid:Number(e.pid??0),argv:String(e.argv??``),status:String(e.status??`unknown`)})),terminated:Number(t.stats?.terminated??0)}}catch{return{processes:[],terminated:0}}}function gi(e){let t=ce();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:v(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=Fe();if(n.state!==`inactive`)return{role:`leader`,state:n.state,joinUrl:n.session?.joinUrl,sessionId:n.session?.trayId,workerBaseUrl:n.session?.workerBaseUrl};let r=null;try{r=y(e.getItem(b))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function _i(e){let{client:n,openReader:r,storage:s}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await o(async()=>{let{getAllCronTasks:e}=await import(`./db-cKsBsMMN.js`).then(e=>e.t);return{getAllCronTasks:e}},__vite__mapDeps([49,1]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await o(async()=>{let{getAllWebhooks:e}=await import(`./db-cKsBsMMN.js`).then(e=>e.t);return{getAllWebhooks:e}},__vite__mapDeps([49,1]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await o(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([50,1])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).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=new Set,n=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!t(r.providerId)?.isOAuth){n.push({providerId:r.providerId});continue}let a=i(r.providerId),o=r.loggedOut?!1:a?!a.expired:!1;n.push({providerId:r.providerId,valid:o})}return n}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return hi(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>gi(s),getConnectedFollowers:yt}}var vi=`sync-fs-nonce`;function yi(e={}){let t=e.navigator??(typeof navigator<`u`?navigator:void 0),n=e.document??(typeof document<`u`?document:void 0),r=e.window??(typeof window<`u`?window:void 0),i=e.randomUUID??(()=>crypto.randomUUID()),a=!!t?.serviceWorker?.controller,o=a?i():void 0;if(!o||!t?.serviceWorker)return{syncFsBridgeEnabled:a,syncFsChannelNonce:o};let s=t.serviceWorker,c={type:vi,nonce:o},l=()=>s.controller?.postMessage(c);return l(),s.addEventListener(`controllerchange`,l),s.addEventListener(`message`,e=>{e.data?.type===`sync-fs-need-nonce`&&l()}),n?.addEventListener(`visibilitychange`,()=>{n.visibilityState===`visible`&&l()}),r?.addEventListener(`focus`,l),{syncFsBridgeEnabled:a,syncFsChannelNonce:o}}var bi=`<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 xi(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 Si(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(bi));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=xi(e.getMessages());await t(n??it([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=it([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function Z(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Ci(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 wi(e){return`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/provider-settings-DxvegOPb.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-BcQeOBmj.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-BJLrDjmH.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-CiijUcSt.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-DGxXvrur.js","assets/runtime-env-Dlaokqg1.js","assets/float-topology-hfgMx1Yq.js","assets/secret-topology-Yt0aO4Gz.js","assets/secrets-bridge-client-BVl0YuB2.js","assets/port-bridge-client-C1tBBqwu.js","assets/image-markers-BFDmhPy4.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-BvcoVwoV.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-BQL-GPqt.js","assets/messages-BD4p8GuF.js","assets/telemetry-MJ77Fp1a.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/chat-session-store-pWb1-jNp.js","assets/wc-placeholder-BIs0O5Tv.js","assets/dictation-priming-CNllGgNq.js","assets/wc-attach-Bmy0D7zx.js","assets/permissions-surface-registry-CilCRwhh.js","assets/session-freezer-ChfPSkjG.js","assets/agent-message-to-chat-Df4an5Ei.js","assets/types-Dgm4REV3.js","assets/icons-ClfjE6Ij.js","assets/record-DOq72weu.js","assets/export-provider-CqI0pk50.js","assets/transcript-export-DP-r8eDz.js","assets/quick-llm-vmNyLwWF.js","assets/llm-session-id-bZQs6gBN.js","assets/new-session-D3H9k43E.js","assets/feature-flags-DaSRRz0w.js","assets/db-cKsBsMMN.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-TvriK11t.js","assets/soundscape-cues-5_sT5Un6.js","assets/voice-reply-B43Nr1Xr.js","assets/speak-BxNdNjKi.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BmBEKck6.js","assets/shared-Djytys1b.js","assets/mime-types-D0xZwlMO.js","assets/preview-url-r19H6zH1.js","assets/remote-vfs-client-DdFPlnwq.js","assets/writable-vfs-client-Czpbtd8Y.js","assets/wc-onboarding-yJakorfA.js","assets/welcome-detection-Ddf03FcG.js","assets/dip-1TiuHkUR.js","assets/sprinkle-renderer-BnSqYzuY.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-operations-BBXJ4GF8.js","assets/usb-device-registry-CRsCisej.js","assets/sprinkle-bridge-BNzhEsPj.js","assets/wc-browser-Ctsf5Y23.js","assets/slicc-app-url-B9OxaBDe.js","assets/tab-teleport-PAaKnGkm.js","assets/teleport-storage-Beud1T6_.js","assets/remote-terminal-view-BHs39pzZ.js","assets/mount-picker-popup--ijSfN8u.js","assets/picker-popup-sQtXmfAo.js","assets/browser-DGwroBSO.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-CtpVPUh5.js","assets/wc-permissions-CppSymRx.js","assets/wc-permissions-providers-BjqCnuQT.js","assets/timestamp-preference-sKwBl5I8.js","assets/panelize-shell-n4cz4LHX.js","assets/virtual-device-paths-D45tpPP6.js","assets/src-CWTsG5Zz.js","assets/speech-C5U8h4In.js","assets/panel-registry-CJdOibpf.js","assets/layout-schema-m9_VAwOw.js","assets/layout-apply-registry-Cw730jao.js","assets/trusted-layer-ghPA1ENf.js","assets/wc-shortcut-config-CjOJXjsp.js","assets/wc-shortcuts-BDQiHczD.js","assets/remote-sprinkle-vfs-BY9A-xsx.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-Dxi8ZWGE.js","assets/surface-fullscreen-4YjALjE7.js","assets/wc-unit-context-1szdc5sL.js","assets/agent-panels-B92KQapO.js","assets/apply-layout-wFAir12c.js","assets/wc-tray-bViGindn.js","assets/tray-webrtc-uW6sTyIA.js","assets/tray-sync-protocol-jKTx-dCF.js","assets/wc-follower-oauth-B6m2XpVI.js","assets/pending-request-table-Dgn6qYdL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/wc-shell-D0eljkIj.js","assets/wc-shell-WkeczD9x.css","assets/tray-leader-DabyaEs-.js","assets/synthetic-cdp-transport-Ds83IPjw.js","assets/sprinkle-instances-B8n7h-oP.js","assets/follower-presentation-DqBw0YiV.js","assets/host-command-29ain4NA.js","assets/agent-handle-CNeA3sd0.js","assets/wc-transcript-export-DdEuCfi6.js","assets/wc-nav-Bnfi20v0.js","assets/composer-speech-CElQJ4q_.js","assets/whisper-session-DW7HkDu2.js","assets/wc-float-label-D-EfJUCy.js","assets/setup-sudo-BbqNoR1S.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t,L as n,R as r,S as i,d as a}from"./account-store-BcQeOBmj.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{t as s}from"./logger-DDBAeTLF.js";import{r as c,t as l}from"./base64-DJRlyqZu.js";import"./proxied-fetch-CiijUcSt.js";import{a as u,i as d,n as f,r as p}from"./setup-standalone-prelude-DMtkl-2o.js";import{a as m,i as h,n as g,t as _}from"./transcript-export-DP-r8eDz.js";import{f as v,h as y,m as b,o as x}from"./tray-runtime-config-BQL-GPqt.js";import{a as S,t as C}from"./api-endpoint-DGxXvrur.js";import{n as w}from"./float-topology-hfgMx1Yq.js";import"./secret-topology-Yt0aO4Gz.js";import{n as T}from"./secrets-bridge-client-BVl0YuB2.js";import{t as ee}from"./tool-ui-eSQ1g2I1.js";import{a as te,c as E,l as ne,n as re,r as ie,u as ae}from"./telemetry-MJ77Fp1a.js";import{r as D}from"./feature-flags-DaSRRz0w.js";import{a as oe,i as se,t as ce}from"./tray-follower-status-BAjnN7Ar.js";import{n as le}from"./src-BWaKqLvQ.js";import{C as ue,S as O,_ as de,a as fe,b as pe,c as me,d as he,f as ge,g as _e,h as ve,i as ye,l as be,m as xe,n as Se,o as Ce,p as we,r as Te,t as Ee,u as De,v as Oe,w as ke,x as Ae,y as je}from"./wc-shell-D0eljkIj.js";import{t as Me}from"./chat-session-store-pWb1-jNp.js";import{a as Ne,i as Pe,r as Fe}from"./tray-leader-DabyaEs-.js";import{a as Ie,c as Le,f as k,i as Re,l as ze,m as Be,n as Ve,p as He,u as A}from"./record-DOq72weu.js";import"./shared-Djytys1b.js";import{t as Ue}from"./preview-url-r19H6zH1.js";import{a as We,n as Ge,t as Ke}from"./dictation-priming-CNllGgNq.js";import{n as qe}from"./export-provider-CqI0pk50.js";import{a as Je,i as Ye,r as Xe}from"./dip-1TiuHkUR.js";import{c as Ze,d as Qe,f as $e,h as et,l as tt,m as nt,p as rt,s as it,u as j}from"./session-freezer-ChfPSkjG.js";import{a as at,c as ot,i as st,o as ct,s as lt}from"./follower-presentation-DqBw0YiV.js";import"./src-CWTsG5Zz.js";import{a as M,c as ut,f as dt,i as ft,l as pt,m as mt,n as ht,o as N,p as P,r as gt,s as _t,t as F,u as I}from"./wc-unit-context-1szdc5sL.js";import{l as vt,t as yt}from"./host-command-29ain4NA.js";import{a as bt,n as xt,o as St,r as Ct,s as wt,t as Tt}from"./agent-handle-CNeA3sd0.js";import{t as Et}from"./wc-float-label-D-EfJUCy.js";var Dt=[{category:`jwt`,source:String.raw`ey[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+`,flags:`g`},{category:`private-key`,source:`-----BEGIN [A-Z ]* PRIVATE KEY-----`+String.raw`[\s\S]*?`+`-----END [A-Z ]* PRIVATE KEY-----`,flags:`g`},{category:`bearer-token`,source:`Bearer [A-Za-z0-9._~+/=!-]+`,flags:`gi`},{category:`api-key`,source:`(?:sk-(?:live|test|prod|proj)-[A-Za-z0-9]{8,}|sk-ant-[A-Za-z0-9-]{8,}|xoxb-[A-Za-z0-9-]{10,}|xoxp-[A-Za-z0-9-]{10,}|AKIA[A-Z0-9]{16}|ghp_[A-Za-z0-9]{36}|hf_[A-Za-z0-9]{34})`,flags:`g`},{category:`password`,source:String.raw`\b(?:password|passwd|token|secret|api_key)\s*[=:]\s*\S+`,flags:`gi`}],Ot=`⟦REDACTED:[^⟧]*⟧`;function kt(e,t){return e.start<t.end&&t.start<e.end}function At(e){let t=[];for(let n of e.matchAll(new RegExp(Ot,`g`))){let e=n.index;e!==void 0&&t.push({start:e,end:e+n[0].length})}return t}function jt(e,t,n=1){let r=At(e),i=[],a=n;for(let{category:n,source:o,flags:s}of Dt)for(let c of e.matchAll(new RegExp(o,s))){let e=c.index;if(e===void 0)continue;let o={start:e,end:e+c[0].length};r.some(e=>kt(e,o))||i.some(e=>kt(e,o))||i.push({...o,id:`${t}${a++}`,category:n})}i.sort((e,t)=>e.start-t.start);let o=``,s=0;for(let{start:t,end:n,id:r,category:a}of i)o+=e.slice(s,t),o+=`⟦REDACTED:${a}:${r}⟧`,s=n;return o+=e.slice(s),{text:o,matches:i.map(({id:e,category:t})=>({id:e,category:t})),nextId:a}}var Mt=`agent-sessions`,Nt=1,L=`sessions`;function Pt(){return new Promise((e,t)=>{let n=indexedDB.open(Mt,Nt);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(L)||e.createObjectStore(L,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var Ft=class{dbPromise=null;getDB(){return this.dbPromise||=Pt().then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(L,`readwrite`).objectStore(L).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(L,`readonly`).objectStore(L).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(L,`readwrite`).objectStore(L).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async loadAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(L,`readonly`).objectStore(L).getAll();r.onsuccess=()=>t(r.result??[]),r.onerror=()=>n(r.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(L,`readonly`).objectStore(L).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(L,`readwrite`).objectStore(L).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}},It=`__slicc_binary__`,Lt=`b64`;function Rt(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[It]===Lt&&typeof t.data==`string`}function zt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function Bt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!Rt(e)}function R(e){if(e instanceof Uint8Array)return{[It]:Lt,data:c(e)};if(Array.isArray(e))return e.map(R);if(zt(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=R(r);return t}return e}function z(e){if(Rt(e))return l(e.data);if(Array.isArray(e))return e.map(z);if(Bt(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=z(r);return t}return e}var Vt=s(`panel-transport`);function Ht(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Ut(){return{onMessage:e=>{let t=(t,n,r)=>(Ht(t)&&e(z(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=R(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{Vt.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var Wt=2e3,B=s(`offscreen-client`),Gt={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},Kt=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionNoticeIds=new Map;compactionSettledRows=new Map;toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingModelAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=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){B.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Ut(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{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)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},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,t={}){if(!A(e))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,...t.description?{description:t.description}:{},...t.prompt?{prompt:t.prompt}:{},...e.model?{model:e.model}:{}})}async unregisterScoop(e){let t=this.scoops.find(t=>t.jid===e);if(t&&A(t)&&k(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);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`})}setScoopModel(e,t){let n=`model-${V()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${V()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${V()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}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&&B.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),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}B.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,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${V()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),Wt))])}finally{this.pendingWebhookDeliveries.delete(r)}}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?(B.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):B.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.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);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`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});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,t.queuedIds);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`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[]}));break}case`tray-runtime-status`:{let t=e;qt(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){B.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}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)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${V()}`,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??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${V()}`,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}-${V()}`,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,toolCallId:e.toolCallId});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,toolCallId:e.toolCallId});break}case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${V()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t,n){if(t===`extracting-memory`)return;let r=this.compactionNoticeIds.get(e)??this.lateRetraction(e,t,n);if(t!==`summarizing`&&!r)return;(t===`idle`||t===`cancelled`||t===`fallback`)&&(this.compactionNoticeIds.delete(e),this.compactionSettledRows.delete(e));let i=r??`compaction-${e}-${V()}`;t===`summarizing`&&this.compactionNoticeIds.set(e,i),(t===`idle`||t===`fallback`)&&n.roundId&&this.compactionSettledRows.set(e,{messageId:i,roundId:n.roundId}),e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i,marker:{trigger:n.trigger,state:Gt[t],...n.transcriptPath?{transcriptPath:n.transcriptPath}:{}}})}lateRetraction(e,t,n){if(t!==`cancelled`||!n.roundId)return;let r=this.compactionSettledRows.get(e);return r?.roundId===n.roundId?r.messageId:void 0}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),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)}wireScoops(){return this.scoops.map(e=>{let t=Re(e),n=ze(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&Le(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}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){B.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&&qt(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 Ie({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,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){B.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 V(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function qt(e,t){Pe({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),se({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 Jt(e){let t=e.createAgentHandle(),n=null,r=null;return{onAgentEvent:e=>t.onEvent(e),sendSprinkleLick:(t,n,r,i)=>e.sendSprinkleLick(t,n,r,i?{unitJid:i}:void 0),sendToolUiAction:(t,n,r)=>e.sendToolUiAction(t,n,r),deleteQueuedMessage:(t,n)=>e.deleteQueuedMessage(t,n),emitAgentError:t=>e.emitAgentError(t),getRecord:t=>e.getScoops().find(e=>e.jid===t),speaksReplies:!0,takeAttachments:()=>n?.(),onTurnIdle:()=>r?.(),welcome:{intercept:null},setAttachmentSource:e=>{n=e},setTurnIdleHook:e=>{r=e}}}var Yt={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},Xt=`A follower cannot cancel the leader’s queued message`;function Zt(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(Xt)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function H(e){return!e.includes(`\0`)}function Qt(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(!H(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(!H(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),!H(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),!H(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(H(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 $t(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 en(e){let t=$t(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function tn(e,t,n,r){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)}}}function nn(e,t){let n=$t(e),r=new Map,i=n.onMessage(e=>{tn(e,t,n,r)});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function rn(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function an(e,t,n){let r=()=>{};return{ready:new Promise((i,a)=>{let o=null,s=null,c=()=>{o!==null&&(clearTimeout(o),o=null)},l=Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),u=Date.now(),d=0,f=!1,p=()=>{c(),o=setTimeout(()=>{if(d+=1,d<l){t.onReadyStall?.({elapsedMs:Date.now()-u,stalls:d}),p();return}t.onLateReady?c():r(),f=!0,a(Error(`Kernel worker did not signal ready within ${n*l}ms`))},n)};r=()=>{s!==null&&(e.removeEventListener(`message`,s),s=null),c()},s=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){d=0,p();return}if(n?.type===`kernel-worker-ready`){if(r(),f){t.onLateReady?.();return}i();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),a(i)}},e.addEventListener(`message`,s),p()}),cleanup:()=>r()}}function on(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=en(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=nn(o.port1,n),{ready:u,cleanup:d}=an(a.port1,e,r),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.131.2-mto19zyi`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:u,dispose(){if(!p){p=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function sn(e){return on({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-mpO2ngRI.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??rn(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var cn=1048576,ln=`r`;function un(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function U(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function dn(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)dn(e[r],`${t}/${r}`,n);return}if(U(e))for(let[r,i]of Object.entries(e))dn(i,`${t}/${un(r)}`,n)}function fn(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=fn(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(U(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=fn(o,`${t}/${un(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function pn(e,t,n){if(U(e))return fn(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=pn(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function mn(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function hn(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new g(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>cn)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new g(`redaction-unavailable`)}if(c.length!==s.length)throw new g(`redaction-unavailable`);r.push(...c),i=o}return r}function gn(e,t,n,r){let i=[],a=mn(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=mn(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=jt(t,ln,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function _n(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function vn(e,t,n,r){if(r?.aborted)throw new g(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];dn(a,``,o);let s=o.filter(e=>!h(e.pointer)),c=[...t.entries()],l=await hn([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=gn(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}_n(m,u,d);let _=new Map,v=s.length,y=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=gn(n,l[v+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,_.set(t,r.finalText),y.push(r)}_n(y,u,d);let b=pn(e,``,p);return{document:{...b,privacy:{...b.privacy,redactionCounts:d,redactions:u}},textAttachments:_}}function yn(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function bn(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var xn={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function Sn(e,t){return xn[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Cn(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${Sn(t,n)}`}function wn(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Tn(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function En(e,t,n,r,i){let a=yn(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(wn(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=wn(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function Dn(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:wn(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(En(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function On(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function kn(e,t,n,r,i,a,o){let s=On(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(En(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function An(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=kn(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function jn(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Cn(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function Mn(e,t,n,r,i){let{rawAttachments:a,textMap:o}=jn(e,n),s,c;try{let e=await vn({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof g?e:new g(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new g(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new g(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await bn(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function Nn(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=Dn(Tn(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=An(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await Mn(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var Pn=50;function Fn(e){return Ve(e)}function In(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function Ln(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:A(t)?`cone`:`scoop`,name:t.name,...t.folder&&!A(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=Fn(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function Rn(e,t,n={}){let r=e=>n.rootJid===void 0?e:He(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(Pn,t),t?.aborted))throw new g(`transfer-aborted`);let i=In(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new g(`transfer-aborted`);let s=r(e.listScoops());if(i===In(s,e))return Ln(s,a,o,e)}}function zn(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function Bn(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function Vn(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(Bn(t,r++));return n}function Hn(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=Bn(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function Un(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=Bn(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function Wn(e,t,n){let r=zn(t,n),i=Vn(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function Gn(e,t,n){let r=zn(t,n),{blocks:i,excluded:a,images:o}=Hn(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function Kn(e,t,n){let r=zn(t,n),{blocks:i,images:a}=Un(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function qn(e,t,n){return e.role===`user`?Wn(e,t,n):e.role===`assistant`?Gn(e,t,n):e.role===`toolResult`?Kn(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function Jn(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function Yn(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=qn(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:Jn(e),excludedReasoningBlocks:t,canonicalImages:n}}var Xn=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Zn(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Xn[(t^e[n])&255];return~t>>>0}var Qn=new TextEncoder;function W(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function G(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function $n(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,W(r,4,20),W(r,6,2048),W(r,8,0),W(r,10,0),W(r,12,0),G(r,14,n),G(r,18,t),G(r,22,t),W(r,26,e.length),W(r,28,0),r.set(e,30),r}function er(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,W(i,4,20),W(i,6,20),W(i,8,2048),W(i,10,0),W(i,12,0),W(i,14,0),G(i,16,n),G(i,20,t),G(i,24,t),W(i,28,e.length),W(i,30,0),W(i,32,0),W(i,34,0),W(i,36,0),G(i,38,0),G(i,42,r),i.set(e,46),i}function tr(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,W(r,4,0),W(r,6,0),W(r,8,e),W(r,10,e),G(r,12,t),G(r,16,n),W(r,20,0),r}function nr(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function rr(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${e.session.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,40)||`transcript`}-${n}.zip`}async function*ir(e,t,n,r,i){if(n?.aborted)throw i(new g(`transfer-aborted`)),new g(`transfer-aborted`);let a=()=>i(new g(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=le.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=Qn.encode(`transcript.json`),f=Zn(i),p=$n(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new g(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new g(`transfer-aborted`);let t=Qn.encode(e),i=Zn(r),a=$n(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new g(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new g(`transfer-aborted`);yield*d(er(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new g(`transfer-aborted`);yield*d(tr(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new g(`transfer-aborted`)))}}var ar=4294967295,or=65535;function sr(e,t,n){for(let e of t.keys())if(!nr(e))throw new g(`schema-invalid`);if(t.size+1>or)throw new g(`schema-invalid`);for(let e of t.values())if(e.byteLength>ar)throw new g(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:rr(e),chunks:ir(e,t,n,r,i),completion:a}}function cr(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:_},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function lr(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function ur(e){let t=m(e);if(!t.ok)throw new g(`schema-invalid`,t.error)}function dr(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path)){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function fr(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function pr(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var mr=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),ur(i.document),r?.({phase:`packaging`}),sr(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await Rn(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=Yn(n.sources),{document:i,bundleFiles:a}=await Nn({document:cr(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});ur(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await Rn(this.deps.collection,e),r=Yn(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=cr(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),Nn({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await vn(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new g(`redaction-unavailable`)}let a=dr(r.attachments,i,e.attachments),o=await fr(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await Qe(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new g(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new g(`session-not-found`)}let{title:a,messages:o}=j(i),s=`legacy-cone`,c=lr(o,s),l=pr(i),u={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:_},session:{id:e,title:a,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...l,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:s,kind:`cone`,name:a,messages:c}],delegations:[],attachments:[]},d=new Map([[s,o]]);return n?.({phase:`redacting`}),Nn({document:u,chatMessagesByConversation:d,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new g(`attachment-unreadable`);return t}},hr=`/sessions/data`,gr=`document.json`;async function _r(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function vr(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new g(`session-not-found`)}function yr(e){return`${hr}/${e}`}function br(e){return`${hr}/.tmp-${e}`}async function xr(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function K(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await K(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Sr(e,t,n){await xr(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Sr(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function Cr(e,t,n){vr(t);let r=br(t),i=yr(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new g(`schema-invalid`);await K(e,i),await xr(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await _r(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${gr}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await xr(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Sr(e,r,i),await e.flush()}catch(t){throw await K(e,r),t}await K(e,r)}async function wr(e,t){vr(t);let n=yr(t),r=`${n}/${gr}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new g(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new g(`schema-invalid`)}if(!m(a).ok)throw new g(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new g(`transfer-corrupt`)}if(await _r(i)!==t.sha256)throw new g(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function Tr(e){return`error`in e}function q(){throw new g(`redaction-unavailable`)}function Er(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&q(),e.texts}function Dr(){return{async redact(e){let t;try{t=await fetch(S(`/api/secrets/redact-export`),{method:`POST`,headers:C({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{q()}t.ok||q();let n;try{n=await t.json()}catch{q()}return Er(n,e.length)}}}function Or(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{q()}return typeof t==`object`&&t&&Tr(t)&&q(),Er(t,e.length)}}}function kr(){return{async redact(e){let t;try{t=await T(`secrets.redact-export`,{texts:e})}catch{q()}return t??q(),typeof t==`object`&&t&&Tr(t)&&q(),Er(t,e.length)}}}function Ar(){return{async redact(e){q()}}}function jr(){let e=w();return e===`connect`?Ar():e===`extension-direct`?Or():e===`extension-delegate`?kr():Dr()}function J(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function Y(e,t={}){let n=J(t.status),r=Re(e);return{id:e.jid,parentId:e.parentJid,role:A(e)?`primary`:`child`,name:e.name,folder:e.folder,assistantLabel:e.assistantLabel,state:n,...n===`working`&&t.phase?{phase:t.phase}:{},...n===`idle`&&t.awaiting?{awaiting:!0}:{},fill:typeof t.fill==`number`?Math.round(t.fill*100):0,...r?{model:r}:{},...e.trigger?{trigger:e.trigger}:{},...e.addedAt?{addedAt:e.addedAt}:{}}}function Mr(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:Nr(e,r),a={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...i?{config:i,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{},...!n&&e.onParentClose===`detach`?{onParentClose:`detach`}:{}};return n||(a.trigger=`@${r}`),a}function Nr(e,t){let n=Be(e.workspace?.mode??e.config?.workspaceMode),r=e.workspace?.from??`/workspace`,i=rt(n,t,{root:r},e.workspace?.from),a=e.config;return{...a,workspaceMode:n,visiblePaths:a?.visiblePaths===void 0?i.visiblePaths:a.visiblePaths,writablePaths:a?.writablePaths===void 0?i.writablePaths:a.writablePaths}}var Pr=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,Fr=`${Pr}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,Ir=`${Pr}border:none;background:#d23;color:#fff;`,Lr=`${Pr}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function Rr(e,t,n){return{...Mr({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function zr(e,t){let n=e.createElement(`slicc-dialog`);n.setAttribute(`heading`,t.heading),n.append(t.body);for(let r of t.actions){let t=e.createElement(`button`);t.setAttribute(`slot`,`footer`),t.type=`button`,t.dataset.coneAction=r.data,t.textContent=r.text,t.style.cssText=r.style,t.addEventListener(`click`,r.onClick),n.append(t)}return n.addEventListener(`slicc-dialog-close`,()=>t.onDismiss(n)),n}function Br(e,t){let n=e.createElement(`form`);n.style.cssText=`display:flex;flex-direction:column;gap:0.5rem;padding:0.25rem 0;`;let r=`font-size:0.9375rem;padding:0.5rem 0.625rem;border:1px solid var(--s2-border-color,#e0e0e0);border-radius:0.375rem;background:transparent;color:inherit;font-family:inherit;`,i=e.createElement(`input`);i.type=`text`,i.name=`name`,i.placeholder=`Name`,i.setAttribute(`aria-label`,`Cone name`),i.maxLength=40,i.autocomplete=`off`,i.required=!0,i.style.cssText=r;let a=e.createElement(`textarea`);a.name=`brief`,a.placeholder=`What should it work on? (optional)`,a.setAttribute(`aria-label`,`What the cone should work on`),a.rows=3,a.style.cssText=`${r}resize:vertical;`,n.append(i,a);let o=()=>({name:i.value.trim(),brief:a.value.trim()});return n.addEventListener(`submit`,e=>{e.preventDefault(),t(o())}),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(o()))}),n.readDraft=o,n}function Vr(e){let{freezer:t,client:n,log:r}=e,i=t.ownerDocument,a=null,o=!1,s=null,c=()=>t.querySelector(`slicc-freezer-new`),l=()=>M(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??Y(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=zr(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},p=t=>{if(!t.name)return;d();let i=l(),o=Rr(t.name,n.getScoops(),P(e.getUnits(),i?.id));a=t.name,n.registerScoop(o,t.brief?{description:t.brief,prompt:t.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),_()},m=()=>{let e=Br(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:Fr,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:Lr,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=k(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){_();return}o=!0,_(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.id===a.jid;try{await n.unregisterScoop(a.jid)}catch(e){r.warn(`WC cone drop failed`,e)}if(t){let t=k(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=N(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,f({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:Ir,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:Lr,data:`cancel`,onClick:d}]})},_=()=>{let t=k(n.getScoops());if(a!==null){let n=t.find(e=>e.name===a&&!e.folder.startsWith(`cone-pending-`));n&&(a=null,e.getSelected()?.id!==n.jid&&e.selectScoop(u(n)))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,m),t.addEventListener(`drop-cone`,()=>{let e=l();!e||k(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var Hr=5e3,Ur=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;retriedSnapshots=new Set;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return Y(e,{awaiting:this.deps.getAwaiting?.()===e.jid,fill:this.deps.fills.get(e.jid),phase:this.deps.phases.get(e.jid),status:this.deps.statuses.get(e.jid)})}snapshotFor(e,t,n){let r=this.deps.getClient()?.getScoops().find(t=>t.jid===e);return r?{summary:this.toSummary(r),messages:t,...n?{queuedIds:n}:{}}:null}currentUnits(){return(this.deps.getClient()?.getScoops()??[]).map(e=>this.toSummary(e))}publishSnapshot(e,t){this.retriedSnapshots.delete(e),this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainOrphanedReplays(){for(let[e,t]of this.orphanedReplays){let n=this.snapshotFor(e,t.messages,t.queuedIds);n&&(this.orphanedReplays.delete(e),this.publishSnapshot(e,n))}}recoverUnanswered(e){if(this.unitListeners.has(e)){if(this.retriedSnapshots.has(e)){this.publishRecovery(e);return}this.retriedSnapshots.add(e),this.deps.getClient()?.requestScoopMessages(e),setTimeout(()=>{this.retriedSnapshots.has(e)&&this.publishRecovery(e)},Hr)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:J(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let a,o=new Promise(t=>{a=setTimeout(()=>{a=void 0;let n=this.pendingSnapshots.get(e)?.has(r)===!0;this.forgetWaiter(e,r),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},Hr)});return Promise.race([i.then(e=>(a!==void 0&&(clearTimeout(a),a=void 0),e)),o]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();return n?(n.sendRaw({attachments:t.attachments,messageId:t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Wr(e,t,n,r,i,a){let o=e.map(e=>Y(e,{awaiting:i===e.jid,fill:n?.get(e.jid),phase:r?.get(e.jid),status:t?.get(e.jid)}));return mt(o,a,O)}function X(e){return e.workUnits??=new Ur({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses}),e.workUnits}function Gr(e){let t=X(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=ut(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=F(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),J(i)!==J(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(Y(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.id===t&&n.channel!==`web`&&ue(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.id!==t)return;let i=I(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}async function Kr(e,t,n,r,i=vt){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function qr(e,t){return gt(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||x(t.localStorage)}async function Jr(e,t,n,r,i){let a=pt(t),s=ht(a);e.thread.setAttribute(`context`,_t(t));let c=dt(t),l=O({isRoot:c,name:t.name});e.thread.setAttribute(`accent`,l),e.switcher.setAttribute(`active`,t.id),Te(e,c?{kind:`cone`}:{kind:`scoop`,accent:l}),Se(e,s);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?ze(d):{};e.composerMeta.setAttribute(`thinking`,St(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await o(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./provider-settings-DxvegOPb.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),a=P(n,t.id),s=a?i(a.id,a.provider):r();e.composerMeta.setAttribute(`model`,s.name??s.id),e.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!u)}catch{}}async function Yr(e){if(qr(e.pendingUrlContext,e.win))return;let t=gt(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await o(async()=>{let{SessionStore:e}=await import(`./chat-session-store-pWb1-jNp.js`).then(e=>e.n);return{SessionStore:e}},__vite__mapDeps([33,1])),r=new n;await r.init();let i=await r.load(Ve({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Xr(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;o(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-BIs0O5Tv.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([34,3,35,1])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Yr({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>i.warn(`WC session hydration failed`,e));let s=null;return o(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-Bmy0D7zx.js`);return{wireWcAttach:e}},__vite__mapDeps([36,3,13,37])).then(({wireWcAttach:t})=>{s=t({inputCard:a.inputCard,freezer:a.freezer,composer:a.composer,openReader:r,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await o(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-ChfPSkjG.js`).then(e=>e.o);return{readSessionsIndex:e}},__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,39,40,41,42,35]));return(await e(await r())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:i})}).catch(e=>i.error(`WC add-menu wiring failed`,e)),o(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:a.thread,inputCard:a.inputCard})).catch(e=>i.error(`WC history nav wiring failed`,e)),a.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,a=wt(r),o=bt(r),s=t.getSelected();s&&a&&Kr(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>s}}function Zr(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function Qr(e){let t=`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`;return e.live?`${t} · in progress`:t}function $r(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Qr(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function ei(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 ti(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(Ze,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 ti(e){let t=await ni(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function ni(e){let t;try{let n=await e.readFile(Ze,{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 ri(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);n.push(ii(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function ii(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=j(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.id?{sessionId:o.id}:{},...s?{pendingEnrichment:!0}:{}}}function ai(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map($r))}async function oi(e,t){let n=await e.readFile(tt(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=j(r);return{title:i.title||t.title,messages:i.messages}}async function si(e,t){let{getTranscriptExportService:n}=await o(async()=>{let{getTranscriptExportService:e}=await import(`./export-provider-CqI0pk50.js`).then(e=>e.t);return{getTranscriptExportService:e}},__vite__mapDeps([43,1,44]));await n().captureFrozen({sessionId:t.sessionId??t.archive.id,title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}})}function ci(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function li(e){return{folder:e.folder,label:N({assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}),jid:e.jid}}async function ui(e){let{root:t}=e,n=t?li(t):void 0,r=e=>si(t,e);if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:n,captureCompleteSnapshot:r});return}await e.runNewSessionFreeze({vfs:e.writer,cone:n,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:r,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function di(e,t){e!==`erase`&&await ui({...t,action:e})}async function fi(e){try{await e.resetNewSessionTmp(e.writer,e.tmpDir)}catch(t){e.log.warn(`WC new session /tmp reset failed — clearing anyway`,t)}await e.client.clearAllMessages(e.root?.jid,e.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}),e.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(xt)),o(async()=>{let{resetDictationPriming:e}=await import(`./dictation-priming-CNllGgNq.js`).then(e=>e.r);return{resetDictationPriming:e}},__vite__mapDeps([35,1])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function pi(e,t){let n=t?Zr(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}function mi(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:s,log:c}=e,l=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await ti(n);if(i===null){if((await ni(n)).kind!==`corrupt`||(c.warn(`WC freezer index corrupt — rebuilding from archives`),i=await ri(n),i.length===0))return;await r.writeFile(Ze,JSON.stringify(i,null,2))}e===f&&(l=i,ai(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,o(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-vmNyLwWF.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,46,41])).then(({pickLucideIcon:e})=>ei({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>c.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>c.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=t=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let s=ci(r,M(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:l,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await o(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-D3H9k43E.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([47,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,48,0,26,27,28,29,30,31,32,46,33,38,39,40,41,42,35]));await di(t,{writer:a,root:s,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}),await fi({writer:a,root:s,client:r,getController:i,log:c,resetNewSessionTmp:l,tmpDir:et(r.getScoops(),s),discardLiveSnapshot:t===`erase`}),m();let p=e.getUnits().find(e=>e.id===s?.jid)??F(e.getUnits());p&&d(p)}catch(e){c.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await o(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-D3H9k43E.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([47,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,48,0,26,27,28,29,30,31,32,46,33,38,39,40,41,42,35]));await r({vfs:t,cone:li(e),captureCompleteSnapshot:t=>si(e,t)}),m()};D(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(Ct,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async r=>{let o=l.find(e=>e.filename===r);try{let{reader:e}=await n();o||=(await ti(e)??[]).find(e=>e.filename===r);let{messages:a}=await oi(e,o??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${o?.filename??r}`),u=o?.sessionId??o?.filename??null,i()?.loadMessages(a),(t.thread.inner??t.thread).prepend(pi(t.thread.ownerDocument,o)),t.thread.setAttribute(`accent`,Ee),Te(t,{kind:`freezer`}),t.inputCard.setAttribute(`disabled`,``),t.switcher.removeAttribute(`active`),s()}catch(t){if(c.error(`WC thaw failed`,t),!a()){let t=ft(e.getUnits(),o?.cone);t&&d(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}function hi(e){try{let t=JSON.parse(e);return{processes:(t.processes??[]).filter(e=>e.status===`running`||e.status===`pending`).map(e=>({pid:Number(e.pid??0),argv:String(e.argv??``),status:String(e.status??`unknown`)})),terminated:Number(t.stats?.terminated??0)}}catch{return{processes:[],terminated:0}}}function gi(e){let t=ce();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:v(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=Fe();if(n.state!==`inactive`)return{role:`leader`,state:n.state,joinUrl:n.session?.joinUrl,sessionId:n.session?.trayId,workerBaseUrl:n.session?.workerBaseUrl};let r=null;try{r=y(e.getItem(b))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function _i(e){let{client:n,openReader:r,storage:s}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await o(async()=>{let{getAllCronTasks:e}=await import(`./db-cKsBsMMN.js`).then(e=>e.t);return{getAllCronTasks:e}},__vite__mapDeps([49,1]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await o(async()=>{let{getAllWebhooks:e}=await import(`./db-cKsBsMMN.js`).then(e=>e.t);return{getAllWebhooks:e}},__vite__mapDeps([49,1]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await o(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([50,1])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).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=new Set,n=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!t(r.providerId)?.isOAuth){n.push({providerId:r.providerId});continue}let a=i(r.providerId),o=r.loggedOut?!1:a?!a.expired:!1;n.push({providerId:r.providerId,valid:o})}return n}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return hi(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>gi(s),getConnectedFollowers:yt}}var vi=`sync-fs-nonce`;function yi(e={}){let t=e.navigator??(typeof navigator<`u`?navigator:void 0),n=e.document??(typeof document<`u`?document:void 0),r=e.window??(typeof window<`u`?window:void 0),i=e.randomUUID??(()=>crypto.randomUUID()),a=!!t?.serviceWorker?.controller,o=a?i():void 0;if(!o||!t?.serviceWorker)return{syncFsBridgeEnabled:a,syncFsChannelNonce:o};let s=t.serviceWorker,c={type:vi,nonce:o},l=()=>s.controller?.postMessage(c);return l(),s.addEventListener(`controllerchange`,l),s.addEventListener(`message`,e=>{e.data?.type===`sync-fs-need-nonce`&&l()}),n?.addEventListener(`visibilitychange`,()=>{n.visibilityState===`visible`&&l()}),r?.addEventListener(`focus`,l),{syncFsBridgeEnabled:a,syncFsChannelNonce:o}}var bi=`<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 xi(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 Si(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(bi));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=xi(e.getMessages());await t(n??it([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=it([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function Z(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Ci(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 wi(e){return`
3
3
  <div class="sprinkle-action-card">
4
4
  <div class="sprinkle-action-card__header">${ke(Ci(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
5
5
  <div class="sprinkle-action-card__body">Waiting for approval on the leader&hellip;</div>
6
6
  </div>
7
7
  `}function Ti(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Ei=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=!1;#D=!1;#O=`thinking`;#k=0;#A=null;#j=new Set;#M=new Map;#N=new Map;#P=new Set;#F=!1;#I=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#q(e)),this.#v=e=>this.#me(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#pe(e)}get readOnly(){return this.#F}get processing(){return this.#D}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#q(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#_e({id:Z(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Ti)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#z())}stashQueued(){let e=this.#b;return e.length===0?[]:(this.#b=[],this.#z(),e)}restoreQueued(e){this.#I=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#I||!e?.length)return new Set;let t=new Set(e);return new Set(this.#I.filter(e=>t.has(e.id)).map(e=>e.id))}#L(e,t){if(!this.#I)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#I.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#I=null,i.length===0)return;if(!t){this.#b=i,this.#z();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#D?o:[...o,...s],this.#z(),this.#D)for(let e of s)this.#_e(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#_e(t);this.#z()}#z(){this.#u?.(this.#b.map(Ti))}#B(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#B();return}this.#x={text:`${e} events waiting for the current turn`},this.#B();try{te(n,t)}catch{}}addAssistantMessage(e){this.#_e({id:Z(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#z();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=we(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#T=``,this.#E=!1,this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(xe(e.timestamp)),s=t);let n=this.#ge(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#xe();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#Ce(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!p()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#me(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#H(r):r,a={id:Z(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#D&&!n?.steer?(this.#b.push(a),this.#z()):this.#_e(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#U();try{let e=n?.dictation?We(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return Ke(e,Ge())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;re(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.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.#ve(a);return}this.#_e({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#D?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#ve(n))}setProcessing(e){if(this.#D!==e){this.#D=e,e&&(this.#w=null),e&&(this.#k=0,this.#W(`thinking`)),e&&this.#R(),e||(this.#x&&(this.#x=null,this.#B()),this.#K()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#G()}}#W(e){this.#O!==e&&(this.#O=e,this.#r?.(e))}#G(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#he(e):null;this.#c(t?{...t}:null)}#K(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#A?.remove();return}this.#A??=Si({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#A)}#q(e){switch(e.type){case`message_start`:this.#J(e.messageId);break;case`content_delta`:this.#Y(e.messageId,e.text);break;case`content_done`:this.#Z(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#$(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#te(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#se(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ce(e.requestId);break;case`tool_progress`:this.#le(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ie(e.messageId);break;case`compaction_notice`:this.#ne(e.messageId,e.marker);break;case`error`:this.#ae(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#he(e)&&(this.#T+=t,!this.#E&&(this.#E=!0,requestAnimationFrame(()=>this.#X(e))))}#X(e){if(this.#E=!1,!this.#T)return;let t=this.#he(e);t&&(t.content+=this.#T,this.#T=``,this.#ve(t))}#Z(e,t,n){let r=this.#he(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#T&&this.#C===e&&(r.content+=this.#T),this.#T=``,this.#E=!1,r.isStreaming=!1,this.#ve(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#he(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#Q(t,i):Z();this.#P.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#k+=1,this.#W(`tool`),this.#ve(a)}#ee(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#Q(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#te(e,t,n,r,i){let a=this.#he(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#fe()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ve(a))}#ne(e,t){let n=this.#he(e);if(t.state===`discarded`){n&&this.#re(n);return}if(n){n.compaction=t,this.#ve(n);return}this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#re(e){this.#be(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#xe(),this.#de()}#ie(e){let t=this.#he(e);t?.isStreaming&&(t.isStreaming=!1,this.#ve(t)),this.#C=null,this.setProcessing(!1)}#ae(e){this.setProcessing(!1),this.#_e({id:Z(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#oe(e)}#oe(e){try{if(ae(e)||ne(e)||E(e))return;ie(`error-card`,e)}catch{}}#se(e,t,n){if(this.#F)return;this.#pe(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.#m){let e=Je(r,wi(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=Je(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,ee,void 0)}#ce(e){this.#pe(e)}#le(e,t,n,r){let i=this.#he(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ue(a.id),this.#fe())}#ue(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&ge(t,this.#N.get(e)??null),this.#de()}#de(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#P.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#N.get(t)?.fraction}});he(t,De(e))}}#fe(){let e=null,t=[...this.#N.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#pe(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#me(e){if(this.#D)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,Z(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,Z(),i.attachments)}#he(e){return this.#y.find(t=>t.id===e)}#ge(e){try{return ve(e,{readOnly:this.#F})}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(e){this.#be(),this.#y.push(e);let t=this.#ge(e);this.#S.set(e.id,t),this.#e.append(...t),this.#xe(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#Ce():this.#we()}#ve(e){this.#be(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#ge(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.#S.set(e.id,n);for(let t of e.toolCalls??[])t.id&&this.#N.has(t.id)&&this.#ue(t.id);this.#xe(),this.#de(),e.isStreaming||this.#o?.(e,n),this.#we()}#ye(){return this.#e.inner??this.#e}#be(){de(this.#ye(),this.#j)}#xe(){_e(this.#ye(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#Se(e,t)})}#Se(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Ce(){this.#e.scrollTop=this.#e.scrollHeight}#we(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Ce()}};function Di(e,t,i,a,s,c){let l=new Map;o(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([51,3])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let u=[];i.subscribeList(e=>{u=e});let d=()=>t.addressableUnitId?t.addressableUnitId():a()?.id??null,f=Tt(i,{getSelectedId:d,onError:e=>t.emitAgentError(e),onEvent:e=>t.onAgentEvent(e)});f.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),o(async()=>{let{playCue:e}=await import(`./soundscape-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([52,11,53])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let p=new Ei({thread:e.thread,agent:f,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let t=I(e);try{let i=P(u,e.id);return{scoopName:t,model:(i?r(i.id,i.provider):n()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{t.speaksReplies&&o(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-B43Nr1Xr.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([54,11,35,1,55,3,16,56,57,12,13,14,15,58,59,60])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await o(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([52,11,53]));try{if(e?.content){i(!0);try{await n(e.content)}finally{i(!1)}}}finally{r()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||s?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onToolProgressChange:t=>{let n=e.inputCard.querySelector(`slicc-send-button`);n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,t.toFixed(3)))},onMessageDisposed:e=>{let t=l.get(e);t&&(Xe(t),l.delete(e))},onMessageRendered:(e,n)=>{let r=n[0];if(!r)return;t.onMessageRendered?.(r);let i=d()??void 0;l.set(e.id,Ye(r,(e,n)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:n}};c?.intercept?.(r)||t.sendSprinkleLick(`inline`,{action:e,data:n},void 0,i)}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,n,r)=>{t.sendToolUiAction(e,n,r)},onQueuedCancel:e=>{let n=a()?.id;n&&t.deleteQueuedMessage(n,e).catch(()=>void 0)},...t.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let n=e.detail?.id;if(!n)return;p.removeQueuedMessage(n);let r=a()?.id;r&&t.deleteQueuedMessage(r,n).catch(()=>void 0)}),{controller:p,agentHandle:f}}function Oi(e,t){let n=()=>{e.refs.switcher.scoops=mt(t.currentUnits(),e.getSelected()?.id,O),e.refreshConeActions?.()};return e.refreshScoops=n,t.subscribeList(()=>n()),n}function ki(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:i,agentHandle:a}=Di(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(i);let s=Oi(e.wiring,t);return r.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),r.switcher.setAttribute(`gaze-target`,`slicc-input-card`),r.inputCard.addEventListener(`input`,()=>{r.switcher.scrutinize(),r.switcher.wake()}),r.inputCard.addEventListener(`submit`,t=>{let a=Ce(t),s=n.takeAttachments?.();if(!a&&!s?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let c=t.detail?.source===`dictation`;c&&n.speaksReplies&&(o(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-B43Nr1Xr.js`);return{markVoiceSubmission:e}},__vite__mapDeps([54,11,35,1,55,3,16,56,57,12,13,14,15,58,59,60])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),o(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([52,11,53])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),i.sendUserMessage(a??``,s,{dictation:c,steer:fe(t)}),r.inputCard.clear?.();let l=e.getSelected()?.id;l&&(r.switcher.setAttribute(`attention`,l),e.wiring.lastActivity.set(l,(a??``).slice(0,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&a.stop()}),{agentHandle:a,controller:i,publishStrip:s}}function Ai(e,t){let n=t.label??Et(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=Fe(),i=ce(),a=()=>{let t=ji(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=Ne(e=>{r=e,a()}),s=oe(e=>{i=e,a()});return a(),()=>{o(),s()}}function ji(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:Ni(t),trayRole:`follower`}:{connection:Mi(e),trayRole:`leader`}}function Mi(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function Ni(e){if(e.stalled)return`stalled`;switch(e.state){case`connecting`:return`connecting`;case`connected`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}async function Pi(e,t,n){let r=n.floatLabel??Et(n.floatKind),i=ao(e,r);Ai(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=ki(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var Fi=36e5,Ii=2e3,Li=class{#e=[];#t;#n;constructor(e=Fi,t=Ii){this.#t=Math.max(1,Math.floor(e)),this.#n=Math.max(2,Math.floor(t))}get windowMs(){return this.#t}push(e){this.#e.push(e);let t=e.at-this.#t;for(;this.#e.length>0&&this.#e[0].at<t;)this.#e.shift();for(;this.#e.length>this.#n;)this.#e.shift()}get size(){return this.#e.length}series(e){if(!(this.#e.length<2))return{points:this.#e.map(t=>({at:t.at,value:t[e]})),windowMs:this.#t}}peak(e){return this.#e.length===0?null:this.#e.reduce((t,n)=>Math.max(t,n[e]),-1/0)}windowLabel(){if(this.#e.length<2)return null;let e=this.#e[this.#e.length-1].at-this.#e[0].at,t=Math.max(1,Math.round(e/1e3));if(t<90)return`last ${t}s`;let n=Math.round(t/60);return n<90?`last ${n}m`:`last ${Math.round(n/60)}h`}},Ri=64,zi=12,Bi=/\b(feedback|reviews?|corrections?|learnings?|observations?|testing|verification)\b/i,Vi=/\b(user|preferences?|identit(?:y|ies)|accounts?|personal|interface|working rhythm|keyboard|accessibility)\b/i,Hi=/^Auto-extracted \(/;function Ui(e){let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}function Wi(e){return(Ui(Oe(e)).textContent??``).replace(/\s+/g,` `).trim()}function Gi(e){let t=Wi(e);if(t.length<=Ri)return{title:t,summary:``,titleEnd:t.length,summaryStart:t.length};let n=[];for(let e of t.matchAll(/[.!?](?:[*_`'")\]]*)\s+|\s+[—–]\s+|[:;](?:[*_`]*)\s+|,\s+(?=(?:and|but|because|while|when|then|so)\b)/g)){let r=/^\s+[—–]|^[:;]/.test(e[0]),i=e.index+(r?0:e[0].trimEnd().length),a=e.index+e[0].length;t.slice(0,i).trim().length>=zi&&i<=96&&t.slice(a).trim()&&n.push({titleEnd:i,summaryStart:a})}let r=n.sort((e,t)=>Math.abs(e.titleEnd-Ri)-Math.abs(t.titleEnd-Ri))[0];if(r)return{title:t.slice(0,r.titleEnd).trim(),summary:t.slice(r.summaryStart).trim(),titleEnd:r.titleEnd,summaryStart:r.summaryStart};let i=t.slice(0,97).lastIndexOf(` `),a=i>=zi?i:96,o=t.slice(a).trim();return{title:t.slice(0,a).trim(),summary:o,titleEnd:a,summaryStart:t.indexOf(o,a)}}function Ki(e,t){let n=Wi(e),r=Hi.test(t),i=r?n:`${t} ${n}`;return Bi.test(i)?`feedback`:Vi.test(i)?`user`:r?null:`project`}function qi(e,t){let n=Gi(e);return{title:n.title,summary:n.summary,section:t,tag:Ki(e,t),bodyHtml:Oe(e),titleEnd:n.titleEnd,summaryStart:n.summaryStart}}function Ji(e){let t=[],n=`Memory`,r=``,i=``,a=null,o=()=>[r||n,i].filter(Boolean).join(` / `),s=()=>{if(!a)return;let e=a.lines.join(` `).trim();e&&t.push(qi(e,a.section)),a=null};for(let t of e.split(`
8
- `)){let e=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t.trim());if(e){s();let t=Wi(e[2]);e[1].length===1?(n=t||n,r=``,i=``):e[1].length===2?(r=t,i=``):e[1].length===3&&(i=t);continue}let c=/^\s*[-*]\s+(.*)$/.exec(t);c?(s(),a={lines:[c[1]],section:o()}):t.trim()?a?a.lines.push(t.trim()):a={lines:[t.trim()],section:o()}:s()}return s(),t}function Yi(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0,i=!1,a=!1,o=null,s=n.nextNode();for(;s;){for(let e=0;e<s.data.length;e+=1){if(/\s/.test(s.data[e])){i&&!a&&(a=!0,o={node:s,offset:e});continue}if(a){if(r===t)return o;r+=1}if(a=!1,o=null,r===t)return{node:s,offset:e};r+=1,i=!0}s=n.nextNode()}return r===t?{node:e,offset:e.childNodes.length}:null}function Xi(e,t,n){let r=Ui(e),i=Yi(r,t),a=n==null?{node:r,offset:r.childNodes.length}:Yi(r,n);if(!i||!a)return document.createDocumentFragment();let o=document.createRange();o.setStart(i.node,i.offset),o.setEnd(a.node,a.offset);let s=o.cloneContents();for(let e of[...s.childNodes])e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim()&&e.remove();let c=s.childNodes.length===1?s.firstChild:null;if(!(c instanceof HTMLParagraphElement))return s;let l=document.createDocumentFragment();return l.append(...c.childNodes),l}function Zi(e){return Ji(e).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`heading`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`section`,e.section),e.tag&&t.setAttribute(`tag`,e.tag),t.setHeadingContent(Xi(e.bodyHtml,0,e.titleEnd)),e.summary&&t.setBodyContent(Xi(e.bodyHtml,e.summaryStart,null)),t})}async function Qi(e,t=$e.memoryPath){let n=``;try{let r=await e.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{n=``}return Zi(n)}function $i(e){let t=e.filter(e=>e.health===`stalled`).length,n=e.filter(e=>e.health!==`stalled`&&e.peerState===`connecting`).length,r=e.length-t-n,i=[r>0?`${r} connected`:``,n>0?`${n} connecting`:``,t>0?`${t} stalled`:``].filter(Boolean);return{id:`followers`,label:`Followers`,icon:`radio`,count:e.filter(e=>e.peerState===`connected`).length,meta:i.join(` · `)||`none paired`,accent:`cyan`,emptyText:`No followers connected yet. Pair a phone, tablet, or CLI follower to this tray.`,rows:e.map(e=>{let t=e.motd??e.runtime??`Connected follower`,n=e.hostOrigin?`${t} · ${e.hostOrigin}`:t,r=[e.exec?`ssh`:``,e.cdp?`playwright`:``].filter(Boolean);return{name:lt(e),sublabel:n,meta:at(e),icon:st(e),badges:r,status:ct(e)}})}}function ea(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function ta(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function na(e){let t=ta(e),n=e.sessionId?`Session ${ot(e.sessionId)}`:null,r=e.workerBaseUrl?`Worker · ${e.workerBaseUrl}`:null;return{id:`tray`,label:`Tray`,icon:e.role===`follower`?`radio`:`cloud`,count:1,meta:`${e.role} · ${t}`,accent:`waffle`,status:ea(e),rows:[{name:e.role[0].toUpperCase()+e.role.slice(1),sublabel:[n,r].filter(Boolean).join(` · `)||`No tray session`,meta:t,icon:e.role===`follower`?`radio`:`cloud`,badges:e.joinUrl?[`join URL`]:[],status:ea(e)}]}}function ra(e,t){let n=e.filter(e=>A(e)),r=t=>e.filter(e=>!A(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:A(e)?`${e.name||`sliccy`} (cone)`:e.name,meta:r?`working`:`idle`,active:r,depth:n}},a=n.flatMap(e=>[i(e,0),...r(e.jid).map(e=>i(e,1))]),o=new Set(a.map(e=>e.name));for(let t of e){let e=i(t,0);o.has(e.name)||a.push(e)}let s=e.filter(e=>t(e.jid)).length;return{id:`scoops`,label:`Scoops`,icon:`bot`,count:e.length,meta:`${e.length} · ${s} working`,accent:`violet`,status:`active`,emptyText:`Delegate a focused task and its scoop will show up here.`,rows:a}}function ia(e){let t=e.filter(e=>e.valid===!1).length;return{id:`mounts`,label:`Mounts`,icon:`hard-drive`,count:e.length,meta:t>0?`${e.length} · ${t} need${t===1?`s`:``} re-grant`:`${e.length} · all granted`,status:t>0?`warn`:`active`,emptyText:`Mount a folder to give the workspace access to files on disk.`,rows:e.map(e=>({name:e.targetPath,meta:e.valid===!1?`permission lost`:e.descriptor.kind,status:e.valid===!0?`active`:e.valid===!1?`warn`:`idle`}))}}function aa(e,t){let n=t.filter(e=>e.valid===!1).length,r=e.reduce((e,[,t])=>e+(t.tools?.length??0),0),i=[`${e.length} server${e.length===1?``:`s`}`,`${r} tool${r===1?``:`s`}`,n>0?`${n} account expired`:`${t.length} accounts valid`].join(` · `);return{id:`integrations`,label:`Integrations`,icon:`blocks`,count:e.length+t.length,meta:i,accent:`waffle`,status:n>0?`error`:`active`,emptyText:`Connect an MCP server or a provider account to extend the workspace.`,rows:[...e.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`MCP · ${n} tool${n===1?``:`s`}`,status:`active`}}),...t.map(e=>({name:e.providerId,meta:e.valid===!1?`session expired`:`account`,status:e.valid===!0?`active`:e.valid===!1?`error`:`idle`}))]}}function oa(e,t){let n=[`${t.length} webhook${t.length===1?``:`s`}`,e.length>0?`${e.length} cron task${e.length===1?``:`s`}`:`no cron tasks`].join(` · `);return{id:`automations`,label:`Automations`,icon:`calendar-clock`,count:e.length+t.length,meta:n,accent:`amber`,emptyText:`Scheduled tasks and webhook-driven licks will appear here.`,rows:[...e.map(e=>({name:e.name,meta:e.cron,status:e.status===`active`?`active`:`idle`})),...t.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`,status:`idle`}))]}}function sa(e){return{id:`cost`,label:`Cost`,icon:`receipt`,count:e?.models.length??0,meta:e?`$${e.totalCost.toFixed(2)} across ${e.models.length} models`:`no spend yet`,accent:`rose`,emptyText:`Model usage will be summarized after the first turn.`,rows:e?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))??[]}}function ca(e){let t=[];for(let n of e.oauthProviders)n.valid===!1&&t.push({id:`oauth:${n.providerId}`,severity:`error`,icon:`key-round`,title:`${n.providerId} session expired`,detail:`Tool calls through this provider will fail until it is signed in again.`});let n=ea(e.tray);(n===`error`||n===`warn`)&&t.push({id:`tray`,severity:n===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${ta(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)ct(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${lt(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:at(n)});for(let n of e.mounts)n.valid===!1&&t.push({id:`mount:${n.targetPath}`,severity:`warn`,icon:`folder-lock`,title:`${n.targetPath} needs re-grant`,detail:`File System Access permission is no longer granted for this handle.`});return t.sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function la(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function ua(e){let{stats:t,workingUnits:n,totalUnits:r,liveProcesses:i,terminated:a,history:o}=e,s=o?.windowLabel(),c=t?.burnRate??0,l=t?.fills??[],u=l.reduce((e,t)=>Math.max(e,t.fill),0),d=[{id:`burn`,label:`Burn rate`,value:la(c),unit:`/hour`,hero:!0,series:o?.series(`burnRate`),foot:[t?`$${t.totalCost.toFixed(2)} this session`:`no spend yet`,s].filter(Boolean).join(` · `)},{id:`load`,label:`Agent load`,value:String(n),unit:`of ${r} working`,accent:`violet`,series:o?.series(`workingUnits`),foot:s??void 0},{id:`processes`,label:`Live processes`,value:String(i),unit:i===1?`process`:`processes`,accent:`cyan`,series:o?.series(`liveProcesses`),foot:a>0?`${a.toLocaleString()} exited this session`:s??void 0}];return l.length>0&&d.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:da(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d}function da(e,t){let n=new Map(t.map(e=>[e.jid,e]));return e.map(({jid:e,fill:t})=>{let r=n.get(e),i=r?A(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:O({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var fa={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function pa(e,t){if(!e)return;let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m ${n%60}s`:`${Math.floor(r/60)}h ${r%60}m`}function ma(e,t){return{pid:e.pid,ppid:e.ppid,state:fa[e.status]??`?`,status:e.status,command:e.argv,scoop:e.scoop,started:e.startedAt?new Date(e.startedAt).toTimeString().slice(0,5):void 0,elapsed:pa(e.startedAt,t)}}async function ha(e,t){let n=e.getScoops(),r=e.getTrayInfo(),i=e.getConnectedFollowers(),[a,o,s,c,l,u]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>({processes:[],terminated:0}))]),{processes:d,terminated:f}=u,p=e.getOAuthProviders(),m=Object.entries(c),h=n.filter(t=>e.isProcessing(t.jid)).length,g=Date.now();return t?.push({at:g,burnRate:l?.burnRate??0,workingUnits:h,liveProcesses:d.length}),{updated:`Streaming · updated just now`,vitals:ua({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n}),alerts:ca({tray:r,followers:i,mounts:s,oauthProviders:p}),sections:[na(r),$i(i),ra(n,t=>e.isProcessing(t)),ia(s),aa(m,p),oa(a,o),sa(l)],processes:{rows:d.map(e=>ma(e,g)),terminated:f}}}var ga=`/shared`,_a=3,va=200;async function ya(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,va),s=new Map,c=[];for(let e of o){if(e.type!==`file`)continue;let n=`${t}/${e.name}`;e.size===void 0?c.push(n):s.set(n,e.size)}let l=await Promise.allSettled(c.map(t=>e.stat(t)));c.forEach((e,t)=>{let n=l[t];n?.status===`fulfilled`&&s.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<_a?await ya(e,i,n+1):[]});else{let e=s.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function ba(e,t=$e.root){let n=[];for(let r of[t,ga])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await ya(e,r,1)});return n}var xa=200,Sa=1e3,Ca=3e3,wa=45e3;function Ta(e){let t=null,n=!1,r=!1,i=!1,a=0,o=0,s=null,c=null,l=0,u=()=>{let t=++o;e.openFs().then(async n=>{let i=await ba(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,be({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:Ue,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=Sa){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},xa)},f=()=>{t??=setInterval(u,Ca)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,ga];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},m=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){m(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:m,repoint(){!i||n||(u(),p())}}}function Ea(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new Li,s=Ta(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await Qi(n,e.getWorkspace().memoryPath);t===i&&(e.memoryHost.setRows?e.memoryHost.setRows(r):e.memoryHost.replaceChildren(...r))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},u=()=>{(async()=>{try{e.monitor.model=await ha(e.getMonitorDeps(),o)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,u),{activate(i){if(i===`files`){s.open();return}if(i===`memory`){r=!0,l();return}if(i===`monitor`){c(),u(),a=setInterval(u,5e3);return}if(i===`term`&&!t){t=!0;let r=!1,i=n?null:setTimeout(()=>{r||(n=!0,t=!1,e.log.error(`WC terminal mount did not settle within ${wa}ms; re-arming so the next term activation retries`))},wa);e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}).finally(()=>{r=!0,i&&clearTimeout(i)})}},deactivate(e){e===`files`?s.close():e===`monitor`?c():e===`memory`&&(r=!1)},refreshMemory(){r&&l()},refreshFiles(){s.repoint()}}}var Da=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Oa=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),ka=2e4,Aa=12,ja=3e4;function Ma(e){let t=e.trim();for(;t.startsWith(`./`)||t.startsWith(`../`);)t=t.slice(t.startsWith(`./`)?2:3);return t.startsWith(`~/`)&&(t=t.slice(2)),t.replace(/\/{2,}/g,`/`)}function Na(e){return e.slice(e.lastIndexOf(`/`)+1)}function Pa(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Fa(e,t){let n=Ma(e);return t.includes(`/`)?Pa(n,t):Na(n)===t}function Ia(e,t){let n=[],r=new Set;for(let i=t.length-1;i>=0;--i){let a=t[i];if(!(a===void 0||r.has(a))&&Fa(a,e)&&(r.add(a),n.push(Ma(a)),n.length>=La))break}return n}var La=4,Ra=class{#e;#t;#n;#r;#i;#a;#o=0;#s=null;#c=null;#l=new Map;#u=new Map;constructor(e,t={}){this.#e=e,this.#t=t.roots??Da,this.#n=t.ignoredDirs??Oa,this.#r=t.maxEntries??ka,this.#i=t.maxDepth??Aa,this.#a=t.ttlMs??ja}resolve(e,t=[]){this.#g();let n=Ma(e),r=this.#d(n),i=Ia(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Pa(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(Na(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Pa(t,e)).sort(za)}:{query:e,matches:[...t].sort(za)}}async#h(e){try{return(await this.#e.stat(e)).type===`file`}catch{return!1}}#g(){!this.#s||this.#a===1/0||Date.now()-this.#o<this.#a||this.invalidate()}#_(){return this.#s?Promise.resolve(this.#s):(this.#c??=this.#v().then(e=>(this.#s=e,this.#o=Date.now(),e)),this.#c)}async#v(){let e=new Map,t={left:this.#r};for(let n of this.#t){if(t.left<=0)break;await this.#y(n,0,e,t)}return e}async#y(e,t,n,r){if(r.left<=0||t>this.#i)return;let i;try{i=await this.#e.readDir(e)}catch{return}let a=this.#b(e,i,n,r);for(let e of a){if(r.left<=0)break;await this.#y(e,t+1,n,r)}}#b(e,t,n,r){let i=[];for(let a of t){if(r.left<=0)break;let t=e===`/`?`/${a.name}`:`${e}/${a.name}`;if(a.type===`directory`){this.#n.has(a.name)||i.push(t);continue}let o=n.get(a.name);o?o.push(t):n.set(a.name,[t]),--r.left}return i}};function za(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Ba=`file-mention`,Q=`data-file-mentions`;function Va(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Ha=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Ua=`file-mention-open`;async function Wa(e,t,n=[]){let r=Va(e);if(e.getAttribute(Q)===r)return;let i=Ga(e);if(i.length===0){e.setAttribute(Q,r);return}let a=[],o=new Set;for(let e of i){let t=Ae(e.data);if(t.length!==0){a.push({node:e,mentions:t});for(let e of t)o.add(e.path)}}if(a.length===0){e.setAttribute(Q,r);return}let s=[...o],c=await t.resolveAll(s,n),l=new Map(s.map((e,t)=>[e,c[t]?.matches??[]]));for(let{node:e,mentions:t}of a){if(!e.isConnected)continue;let n=t.filter(e=>(l.get(e.path)?.length??0)>0);n.length!==0&&Ka(e,n,l)}e.setAttribute(Q,Va(e))}function Ga(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(t){if(!t.nodeValue||t.nodeValue.trim().length===0)return NodeFilter.FILTER_REJECT;for(let n=t.parentElement;n&&n!==e;n=n.parentElement)if(Ha.has(n.tagName)||n.classList.contains(`file-mention`))return NodeFilter.FILTER_REJECT;return NodeFilter.FILTER_ACCEPT}}),n=[];for(let e=t.nextNode();e!==null;e=t.nextNode())n.push(e);return n}function Ka(e,t,n){let r=e.ownerDocument,i=e.data,a=r.createDocumentFragment(),o=0;for(let e of t){let t=n.get(e.path)??[],s=t[0];s&&(e.start>o&&a.appendChild(r.createTextNode(i.slice(o,e.start))),a.appendChild(qa(r,i.slice(e.start,e.end),s,t,e.line)),o=e.end)}o<i.length&&a.appendChild(r.createTextNode(i.slice(o))),e.parentNode?.replaceChild(a,e)}function qa(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Ba,a.textContent=t,a.href=`#${n}`,a.dataset.path=n,i!==void 0&&(a.dataset.line=String(i)),a.title=r.length>1?`${n}\n(+${r.length-1} other match${r.length>2?`es`:``})`:n,a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation();let t={path:n,alternatives:r,...i===void 0?{}:{line:i}};a.dispatchEvent(new CustomEvent(Ua,{detail:t,bubbles:!0,composed:!0}))}),a}var Ja=`slicc-agent-message`,Ya=`slicc-action-row[${je}]`;function Xa(e,t){let n=[],r=e.querySelectorAll(Ya);for(let e of r){if(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)break;n.push(e.getAttribute(`data-file-paths`)??``)}return n.slice(-40).flatMap(e=>pe(e))}function Za(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Qa(e){try{return $a(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function $a(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Ra(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;Ae(n.textContent??``).length!==0&&Za(()=>{let i=Xa(t,e);a().then(e=>Wa(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(Ja))o(t)};s(t);let c=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`){t.target instanceof HTMLElement&&o(t.target);continue}for(let e of t.addedNodes)e instanceof HTMLElement&&(e.tagName.toLowerCase()===Ja?o(e):s(e));let e=t.target?.closest?.(Ja);e&&o(e)}});c.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`streaming`]});let l=e=>{let{path:t,line:i}=e.detail;n().then(e=>me(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Ua,l),()=>{c.disconnect(),t.removeEventListener(Ua,l)}}var eo=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>vo,DOCK_TREE_STORAGE_KEY:()=>$,attachWcWorkbench:()=>xo,bootLeaderFloat:()=>So,makeSprinkleAttachImage:()=>bo,prepareWcShell:()=>ao,wireDockTreePersistence:()=>yo,wireWcChipTips:()=>po,workspaceForSelection:()=>ro});function to(e){let{controller:t,deleteQueued:n,destination:r,previousJid:i,readOnly:a,roster:o}=e,s=e.stashed,c=(e,t)=>{for(let r of t)n(e,r)},l=e=>{let t=e===void 0?void 0:o.find(t=>t.id===e);return t?M(o,t)?.id??t.id:void 0},u=l(r);if(i&&i!==r){let e=l(i);if(a&&u!==void 0&&u===e){let n=t?.stashQueued()??[];n.length>0&&(s={items:n,jid:e})}else c(i,(t?.getQueuedMessages()??[]).map(e=>e.id))}return s?s.jid===r?(t?.restoreQueued(s.items),null):u===s.jid?s:(c(s.jid,s.items.map(e=>e.id)),null):null}function no(e,t){let n=null,r=null;return{shownUnitId:()=>r,watch:i=>{r===i&&n||(n?.(),r=i,n=e().subscribe(i,e=>{e.type===`snapshot`&&r===i&&t(e.snapshot.messages,e.snapshot.queuedIds)}))}}}function ro(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),nt(t.getScoops(),r)}function io(e){let{refs:t}=e,n=null,r=null;return{clear:()=>{n=null},getSelected:()=>n,selectScoop:i=>{let a=n?.id??null;n=i;let o=ht(pt(i)),s=e.host();r=to({controller:e.controller(),deleteQueued:(e,t)=>void s.deleteQueuedMessage(e,t).catch(()=>void 0),destination:i.id,previousJid:a,readOnly:o,roster:e.client().currentUnits(),stashed:r});let c=e.lickBackpressure.get(i.id);e.controller()?.setLickBackpressure(c?.count??0,c?.waitingMs??0,I(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Jr(t,i,e.client().currentUnits(),s.getRecord?.bind(s),{skipModelPill:s.ownsModelPill===!0}),e.client().snapshot(i.id).catch(()=>void 0),e.watchUnit(i.id),e.controller()?.setProcessing(e.client().currentUnits().find(e=>e.id===i.id)?.state===`working`),t.switcher.hasAttribute(`attention`)||t.switcher.setAttribute(`attention`,i.id),e.wiring().refreshScoops?.(),e.workbench()?.refreshMemory(),e.workbench()?.refreshFiles(),s.onSelectionApplied?.()}}}function ao(e,t){let n=ye(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=Yt,o=null,s=()=>o??X(h),c=new Map,l=!1,u=null,d=new Set,f=no(()=>s(),(e,t)=>{r?.loadMessages(e,t),a.onSnapshotRendered?.(e)}).watch,p=io({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:f,wiring:()=>h,workbench:()=>u}),m=p.selectScoop,h={refs:n,statuses:new Map,fills:new Map,phases:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>p.getSelected(),selectScoop:m,notifyReady:()=>{l=!0;for(let e of d)e()}};return{refs:n,wiring:h,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:m,getSelected:()=>p.getSelected(),clearSelection:()=>p.clear(),watchUnit:f,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):d.add(()=>e.activate(n)))},onClientReady:e=>{d.add(e),l&&e()}}}function oo(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([o(()=>import(`./remote-vfs-client-DdFPlnwq.js`),__vite__mapDeps([61,40])),o(()=>import(`./writable-vfs-client-Czpbtd8Y.js`),__vite__mapDeps([62,40]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function so(e,t,n,r,i){e.onClientReady(()=>{r.intercept||o(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DWR8Cofn.js`);return{wireWcOnboarding:e}},__vite__mapDeps([63,3,27,26,12,1,13,14,15,16,28,64,11,42,65,66,67,68,37,69,70,71,72,73,58,59,60])).then(({wireWcOnboarding:r})=>r({client:t,getController:()=>e.getController(),openVfs:n,log:i})).then(e=>{r.intercept=e.interceptWelcomeLick}).catch(e=>i.error(`WC onboarding wiring failed`,e))})}function co(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2)),typeof n.burnRate==`number`&&Number.isFinite(n.burnRate)?e.refs.floatbar.setAttribute(`rate`,n.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=Wr(t.getScoops(),e.statuses,e.fills,e.phases,e.awaitingInput,e.getSelected()?.id)})};return setInterval(n,15e3),n}function lo(e,t,n){let r=t.standalone;r&&o(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-Ctsf5Y23.js`);return{wireWcBrowser:e}},__vite__mapDeps([74,75,26,76,11,77])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function uo(e){return{assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}}function fo(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!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 po(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,s=e.getScoops().find(e=>e.jid===a);if(!s)return;let c=e.lastActivity.get(a)??``,l=t.get(a);if(l&&l.activity===c){i.title=l.tip;return}i.title||=N(uo(s)),!(!c||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await o(async()=>{let{quickLabel:e}=await import(`./quick-llm-By0alwjq.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,46,41]))).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: ${A(s)?`${N(uo(s))} (a main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});n&&(t.set(a,{activity:c,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function mo(e,t,n){let{RemoteTerminalView:r}=await o(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-BHs39pzZ.js`);return{RemoteTerminalView:e}},__vite__mapDeps([78,1,3,22,11,37,79,80,16,69,81,10,70,72,82])),{fetchSecretEnvVars:i}=await o(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CtpVPUh5.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([83,11,12,1,3,13,14,15,16,17,18,19,20])),a=await i(),s=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await s.mount(n),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function ho(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=ut(X(e.wiring).currentUnits(),t);r&&r.id!==e.getSelected()?.id&&e.selectScoop(r)};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 go(e,t,n,r){o(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CppSymRx.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([84,3,11,37])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await o(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-BjqCnuQT.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([85,3,16]));r({runtimeMode:a,providers:await s(c()||a===`extension`||a===`extension-detached`)}),i({runShell:_o(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e))}function _o(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await o(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([82,1])),r=new n({client:t,sid:`mount-drop-${Date.now()}`});return await r.open({cwd:`/workspace`}),r})().catch(e=>{throw n=null,e}),n);return async e=>(await r()).exec(e)}var $=`slicc-dock-tree:default`,vo={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function yo(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem($,JSON.stringify(e))}catch{}};n.addEventListener(`dock-tree-change`,e=>{i(e.detail?.tree)}),n.addEventListener(`dock-tree-resize`,e=>{i(e.detail?.tree)});try{let e=localStorage.getItem($);r.setTree(e?JSON.parse(e):vo)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(vo)}}function bo(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 xo(e,t,n,r,i,a={}){o(async()=>{let{initTimestampPreference:e}=await import(`./timestamp-preference-sKwBl5I8.js`).then(e=>e.a);return{initTimestampPreference:e}},__vite__mapDeps([86,1])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:s}=e;e.setClient(t),o(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CXRqxpw6.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([67,1,68,11])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),o(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-By4GU_Wc.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([68,1,11])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=D(`panel-layouts`);s.dockTree.tilesMovable=c,c||yo(s,i);let l=null,u=co(e.wiring,t),d=()=>l?.(),f=r.welcome??{intercept:null},p=X(e.wiring),{agentHandle:m}=n;e.onClientReady(u);let h=oo(t),g=async()=>(await h()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`&&so(e,t,h,f,i);let _=Xr({boot:e,client:t,setRefreshPlaceholder:e=>{l=e},triggerPlaceholder:d,openReader:g,openWriter:async()=>(await h()).writer,log:i});r.setAttachmentSource(()=>_.getAttachStage()?.take()),r.setTurnIdleHook(fo({boot:e,triggerPlaceholder:d,refreshStats:u})),po({switcher:s.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),lo(e,a,i),go(e,t,a,i);let v=Ea({fileTree:s.fileTree,termSurface:s.termSurface,memoryHost:s.memoryHost,monitor:s.monitor,openFs:g,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>_i({client:t,openReader:g,storage:window.localStorage}),getWorkspace:()=>ro({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>mo(e,t,n),insertReference:e=>{let t=s.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(v),c&&o(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-KNX1XTnq.js`);return{panelizeShell:e}},__vite__mapDeps([87,11,88,41,1,89,3,90,53,91,92,93,94])).then(({panelizeShell:e})=>e(s,void 0,void 0,{onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),Qa({thread:s.thread,openFs:g,log:i}),s.floatbar.addEventListener(`click`,()=>{let e=s.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let y=mi({refs:s,openVfs:h,client:t,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:i}),{refreshFreezer:b,openFrozen:x,getViewedFrozenSessionId:S}=y;if(b(),e.onClientReady(b),D(`multiple-cones`)){let n=Vr({freezer:s.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:y.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}ho(e,t,x),e.onClientReady(()=>{h().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await o(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-CjOJXjsp.js`);return{loadShortcutConfig:e}},__vite__mapDeps([95,11,96]));await n({reader:e,writer:t,apply:({keymap:e,trigger:t})=>{s.shortcuts.setKeymap(e),s.shortcuts.setTrigger(t)}})}).catch(e=>i.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await o(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-CluNpFQR.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:i})}).catch(e=>i.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:c}=await o(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-BY9A-xsx.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([97,98,99,40])),l=(await o(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-KNX1XTnq.js`);return{getPanelizedShell:e}},__vite__mapDeps([87,11,88,41,1,89,3,90,53,91,92,93,94]))).getPanelizedShell(),{wireWcSprinkles:u}=await o(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-Bm5U1hNI.js`);return{wireWcSprinkles:e}},__vite__mapDeps([100,3,16,101,102,42])),d=await u({refs:s,client:t,getUnits:()=>p.currentUnits(),fs:c({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:bo(_,i),onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:f}=await o(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-KNX1XTnq.js`);return{getPanelizedShell:e}},__vite__mapDeps([87,11,88,41,1,89,3,90,53,91,92,93,94])),y=f();if(y){let e=c({reader:n,writer:r});y.attachFs(e);let{registerAgentPanels:t}=await o(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-B92KQapO.js`);return{registerAgentPanels:e}},__vite__mapDeps([103,11,91]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await o(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await o(async()=>{let{applyLayout:e}=await import(`./apply-layout-CaZC02vG.js`);return{applyLayout:e}},__vite__mapDeps([104,100,3,16,101,102,42]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await o(async()=>{let{wireWcTray:e}=await import(`./wc-tray-DL-rVcIK.js`);return{wireWcTray:e}},__vite__mapDeps([105,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,39,75,26,44,106,30,107,27,28,108,66,67,68,109,42,58,59,60,110,111,0,29,31,32,37,99,112,41,35,86,89,90,53,91,92,101,94,96,113,82,114,49,77,115,116,117,102,118,81,119])),r=d.zone.callbacks(),c=await n({refs:s,client:t,browser:a.standalone.browser,realCdpTransport:a.standalone.realCdpTransport,instanceId:a.instanceId,runtimeMode:a.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>r.addSprinkle(e,t,n),removeSprinkle:e=>r.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Jr(s,n,p.currentUnits(),e=>t.getScoop(e))},openFs:g,openWriter:async()=>(await h()).writer,window,log:i});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast()}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new Ft,r=new Me,i=new mr({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAll(),loadUiChatSessions:async()=>{let e=await r.list();return(await Promise.all(e.map(e=>r.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:jr(),snapshotStore:{read:async e=>{let{reader:t}=await h();return wr(t,e)},write:async(e,t)=>{let{writer:n}=await h();return Cr(n,e,t)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=F(X(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.131.1`}),a=qe(i);window.addEventListener(`unload`,a,{once:!0})}let C=!1,w=()=>C?Promise.resolve():(C=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([o(()=>import(`./export-provider-CqI0pk50.js`).then(e=>e.t),__vite__mapDeps([43,1,44])),o(()=>import(`./wc-transcript-export-DdEuCfi6.js`),__vite__mapDeps([120,3,44,110,111,1]))]),r=S(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:s}=a;await n(await t(a),s)}catch(e){i.error(`Transcript export failed`,e),o(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-DdEuCfi6.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([120,3,44,110,111,1])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{C=!1}})());if(o(async()=>{let{wireWcNav:e}=await import(`./wc-nav-DX0vhaA2.js`);return{wireWcNav:e}},__vite__mapDeps([121,3,16,27,26,12,1,13,14,15,28,48,30,31,32,114,11,49,42,102,118,81,10])).then(({wireWcNav:e})=>e({refs:s,client:t,workUnits:p,getUnits:()=>p.currentUnits(),log:i,onExportTranscript:w,shortcuts:s.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await h(),{writeShortcutTrigger:r}=await o(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-CjOJXjsp.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([95,11,96]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),o(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-CElQJ4q_.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([122,11,16,37,90,56,57,12,1,3,13,14,15,58,59,60,123])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=s.composer;t(a.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>i.error(`WC push-to-talk wiring failed`,e)),o(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-BxNdNjKi.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([55,3,11,16,56,57,12,1,13,14,15,58,59,60])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{o(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-ClnfXCAZ.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([47,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,48,0,26,27,28,29,30,31,32,46,33,38,39,40,41,42,35])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:b})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}async function So(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:p,attachLickForwardingClient:m}=await f({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:h,floatLabelForKind:g,resolveStandaloneFloatKind:_}=await o(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await import(`./wc-float-label-CnFnKVLC.js`).then(e=>e.n);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},__vite__mapDeps([124,1,12,3,13,14,15,16,89,41,90,53,91,92])),v=n===`standalone`?await _():h(n),y=g(v);a&&u(a);let{syncFsBridgeEnabled:b,syncFsChannelNonce:x}=yi(),S=!1,C,w,{boot:T}=await Pi(e,t,{floatKind:v,floatLabel:y,connect:e=>{C=sn({realCdpTransport:i,instanceId:a,makeClient:t=>new Kt(Gr(e.wiring),t),localApiBaseUrl:s,bridgeToken:c,syncFsBridgeEnabled:b,syncFsChannelNonce:x,localLickWsUrl:l,extensionDelegateId:p,flagFloat:n,onWorkerScriptError:()=>{d()},onReadyStall:e=>{S=!0,o(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{d()}}),Qt({send:e=>C.client.sendRaw(e)}),m?.(C.client);let u=Jt(C.client);return{client:X(e.wiring),host:u,workbench:(e,o)=>{w=xo(e,C.client,o,u,t,{instanceId:a,standalone:{browser:r,floatKind:v,realCdpTransport:i,runtimeMode:n}})}}}}),{setupSudoStandalone:ee}=await o(async()=>{let{setupSudoStandalone:e}=await import(`./setup-sudo-CyDP6flA.js`).then(e=>e.n);return{setupSudoStandalone:e}},__vite__mapDeps([125,1,3]));await ee({log:t});try{await C.ready}finally{S&&o(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}T.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:C.client.getScoops().length}),w?.();let{consumeAutoPrompt:te}=await o(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),E=te(window.location.search);E&&(T.getController()?.sendUserMessage(E),t.info(`Auto-prompt submitted`,{length:E.length}))}export{X as a,Kt as c,Gr as i,eo as n,Zt as o,Pi as r,Jt as s,xo as t};
8
+ `)){let e=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t.trim());if(e){s();let t=Wi(e[2]);e[1].length===1?(n=t||n,r=``,i=``):e[1].length===2?(r=t,i=``):e[1].length===3&&(i=t);continue}let c=/^\s*[-*]\s+(.*)$/.exec(t);c?(s(),a={lines:[c[1]],section:o()}):t.trim()?a?a.lines.push(t.trim()):a={lines:[t.trim()],section:o()}:s()}return s(),t}function Yi(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0,i=!1,a=!1,o=null,s=n.nextNode();for(;s;){for(let e=0;e<s.data.length;e+=1){if(/\s/.test(s.data[e])){i&&!a&&(a=!0,o={node:s,offset:e});continue}if(a){if(r===t)return o;r+=1}if(a=!1,o=null,r===t)return{node:s,offset:e};r+=1,i=!0}s=n.nextNode()}return r===t?{node:e,offset:e.childNodes.length}:null}function Xi(e,t,n){let r=Ui(e),i=Yi(r,t),a=n==null?{node:r,offset:r.childNodes.length}:Yi(r,n);if(!i||!a)return document.createDocumentFragment();let o=document.createRange();o.setStart(i.node,i.offset),o.setEnd(a.node,a.offset);let s=o.cloneContents();for(let e of[...s.childNodes])e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim()&&e.remove();let c=s.childNodes.length===1?s.firstChild:null;if(!(c instanceof HTMLParagraphElement))return s;let l=document.createDocumentFragment();return l.append(...c.childNodes),l}function Zi(e){return Ji(e).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`heading`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`section`,e.section),e.tag&&t.setAttribute(`tag`,e.tag),t.setHeadingContent(Xi(e.bodyHtml,0,e.titleEnd)),e.summary&&t.setBodyContent(Xi(e.bodyHtml,e.summaryStart,null)),t})}async function Qi(e,t=$e.memoryPath){let n=``;try{let r=await e.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{n=``}return Zi(n)}function $i(e){let t=e.filter(e=>e.health===`stalled`).length,n=e.filter(e=>e.health!==`stalled`&&e.peerState===`connecting`).length,r=e.length-t-n,i=[r>0?`${r} connected`:``,n>0?`${n} connecting`:``,t>0?`${t} stalled`:``].filter(Boolean);return{id:`followers`,label:`Followers`,icon:`radio`,count:e.filter(e=>e.peerState===`connected`).length,meta:i.join(` · `)||`none paired`,accent:`cyan`,emptyText:`No followers connected yet. Pair a phone, tablet, or CLI follower to this tray.`,rows:e.map(e=>{let t=e.motd??e.runtime??`Connected follower`,n=e.hostOrigin?`${t} · ${e.hostOrigin}`:t,r=[e.exec?`ssh`:``,e.cdp?`playwright`:``].filter(Boolean);return{name:lt(e),sublabel:n,meta:at(e),icon:st(e),badges:r,status:ct(e)}})}}function ea(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function ta(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function na(e){let t=ta(e),n=e.sessionId?`Session ${ot(e.sessionId)}`:null,r=e.workerBaseUrl?`Worker · ${e.workerBaseUrl}`:null;return{id:`tray`,label:`Tray`,icon:e.role===`follower`?`radio`:`cloud`,count:1,meta:`${e.role} · ${t}`,accent:`waffle`,status:ea(e),rows:[{name:e.role[0].toUpperCase()+e.role.slice(1),sublabel:[n,r].filter(Boolean).join(` · `)||`No tray session`,meta:t,icon:e.role===`follower`?`radio`:`cloud`,badges:e.joinUrl?[`join URL`]:[],status:ea(e)}]}}function ra(e,t){let n=e.filter(e=>A(e)),r=t=>e.filter(e=>!A(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:A(e)?`${e.name||`sliccy`} (cone)`:e.name,meta:r?`working`:`idle`,active:r,depth:n}},a=n.flatMap(e=>[i(e,0),...r(e.jid).map(e=>i(e,1))]),o=new Set(a.map(e=>e.name));for(let t of e){let e=i(t,0);o.has(e.name)||a.push(e)}let s=e.filter(e=>t(e.jid)).length;return{id:`scoops`,label:`Scoops`,icon:`bot`,count:e.length,meta:`${e.length} · ${s} working`,accent:`violet`,status:`active`,emptyText:`Delegate a focused task and its scoop will show up here.`,rows:a}}function ia(e){let t=e.filter(e=>e.valid===!1).length;return{id:`mounts`,label:`Mounts`,icon:`hard-drive`,count:e.length,meta:t>0?`${e.length} · ${t} need${t===1?`s`:``} re-grant`:`${e.length} · all granted`,status:t>0?`warn`:`active`,emptyText:`Mount a folder to give the workspace access to files on disk.`,rows:e.map(e=>({name:e.targetPath,meta:e.valid===!1?`permission lost`:e.descriptor.kind,status:e.valid===!0?`active`:e.valid===!1?`warn`:`idle`}))}}function aa(e,t){let n=t.filter(e=>e.valid===!1).length,r=e.reduce((e,[,t])=>e+(t.tools?.length??0),0),i=[`${e.length} server${e.length===1?``:`s`}`,`${r} tool${r===1?``:`s`}`,n>0?`${n} account expired`:`${t.length} accounts valid`].join(` · `);return{id:`integrations`,label:`Integrations`,icon:`blocks`,count:e.length+t.length,meta:i,accent:`waffle`,status:n>0?`error`:`active`,emptyText:`Connect an MCP server or a provider account to extend the workspace.`,rows:[...e.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`MCP · ${n} tool${n===1?``:`s`}`,status:`active`}}),...t.map(e=>({name:e.providerId,meta:e.valid===!1?`session expired`:`account`,status:e.valid===!0?`active`:e.valid===!1?`error`:`idle`}))]}}function oa(e,t){let n=[`${t.length} webhook${t.length===1?``:`s`}`,e.length>0?`${e.length} cron task${e.length===1?``:`s`}`:`no cron tasks`].join(` · `);return{id:`automations`,label:`Automations`,icon:`calendar-clock`,count:e.length+t.length,meta:n,accent:`amber`,emptyText:`Scheduled tasks and webhook-driven licks will appear here.`,rows:[...e.map(e=>({name:e.name,meta:e.cron,status:e.status===`active`?`active`:`idle`})),...t.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`,status:`idle`}))]}}function sa(e){return{id:`cost`,label:`Cost`,icon:`receipt`,count:e?.models.length??0,meta:e?`$${e.totalCost.toFixed(2)} across ${e.models.length} models`:`no spend yet`,accent:`rose`,emptyText:`Model usage will be summarized after the first turn.`,rows:e?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))??[]}}function ca(e){let t=[];for(let n of e.oauthProviders)n.valid===!1&&t.push({id:`oauth:${n.providerId}`,severity:`error`,icon:`key-round`,title:`${n.providerId} session expired`,detail:`Tool calls through this provider will fail until it is signed in again.`});let n=ea(e.tray);(n===`error`||n===`warn`)&&t.push({id:`tray`,severity:n===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${ta(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)ct(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${lt(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:at(n)});for(let n of e.mounts)n.valid===!1&&t.push({id:`mount:${n.targetPath}`,severity:`warn`,icon:`folder-lock`,title:`${n.targetPath} needs re-grant`,detail:`File System Access permission is no longer granted for this handle.`});return t.sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function la(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function ua(e){let{stats:t,workingUnits:n,totalUnits:r,liveProcesses:i,terminated:a,history:o}=e,s=o?.windowLabel(),c=t?.burnRate??0,l=t?.fills??[],u=l.reduce((e,t)=>Math.max(e,t.fill),0),d=[{id:`burn`,label:`Burn rate`,value:la(c),unit:`/hour`,hero:!0,series:o?.series(`burnRate`),foot:[t?`$${t.totalCost.toFixed(2)} this session`:`no spend yet`,s].filter(Boolean).join(` · `)},{id:`load`,label:`Agent load`,value:String(n),unit:`of ${r} working`,accent:`violet`,series:o?.series(`workingUnits`),foot:s??void 0},{id:`processes`,label:`Live processes`,value:String(i),unit:i===1?`process`:`processes`,accent:`cyan`,series:o?.series(`liveProcesses`),foot:a>0?`${a.toLocaleString()} exited this session`:s??void 0}];return l.length>0&&d.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:da(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d}function da(e,t){let n=new Map(t.map(e=>[e.jid,e]));return e.map(({jid:e,fill:t})=>{let r=n.get(e),i=r?A(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:O({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var fa={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function pa(e,t){if(!e)return;let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m ${n%60}s`:`${Math.floor(r/60)}h ${r%60}m`}function ma(e,t){return{pid:e.pid,ppid:e.ppid,state:fa[e.status]??`?`,status:e.status,command:e.argv,scoop:e.scoop,started:e.startedAt?new Date(e.startedAt).toTimeString().slice(0,5):void 0,elapsed:pa(e.startedAt,t)}}async function ha(e,t){let n=e.getScoops(),r=e.getTrayInfo(),i=e.getConnectedFollowers(),[a,o,s,c,l,u]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>({processes:[],terminated:0}))]),{processes:d,terminated:f}=u,p=e.getOAuthProviders(),m=Object.entries(c),h=n.filter(t=>e.isProcessing(t.jid)).length,g=Date.now();return t?.push({at:g,burnRate:l?.burnRate??0,workingUnits:h,liveProcesses:d.length}),{updated:`Streaming · updated just now`,vitals:ua({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n}),alerts:ca({tray:r,followers:i,mounts:s,oauthProviders:p}),sections:[na(r),$i(i),ra(n,t=>e.isProcessing(t)),ia(s),aa(m,p),oa(a,o),sa(l)],processes:{rows:d.map(e=>ma(e,g)),terminated:f}}}var ga=`/shared`,_a=3,va=200;async function ya(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,va),s=new Map,c=[];for(let e of o){if(e.type!==`file`)continue;let n=`${t}/${e.name}`;e.size===void 0?c.push(n):s.set(n,e.size)}let l=await Promise.allSettled(c.map(t=>e.stat(t)));c.forEach((e,t)=>{let n=l[t];n?.status===`fulfilled`&&s.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<_a?await ya(e,i,n+1):[]});else{let e=s.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function ba(e,t=$e.root){let n=[];for(let r of[t,ga])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await ya(e,r,1)});return n}var xa=200,Sa=1e3,Ca=3e3,wa=45e3;function Ta(e){let t=null,n=!1,r=!1,i=!1,a=0,o=0,s=null,c=null,l=0,u=()=>{let t=++o;e.openFs().then(async n=>{let i=await ba(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,be({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:Ue,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=Sa){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},xa)},f=()=>{t??=setInterval(u,Ca)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,ga];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},m=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){m(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:m,repoint(){!i||n||(u(),p())}}}function Ea(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new Li,s=Ta(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await Qi(n,e.getWorkspace().memoryPath);t===i&&(e.memoryHost.setRows?e.memoryHost.setRows(r):e.memoryHost.replaceChildren(...r))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},u=()=>{(async()=>{try{e.monitor.model=await ha(e.getMonitorDeps(),o)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,u),{activate(i){if(i===`files`){s.open();return}if(i===`memory`){r=!0,l();return}if(i===`monitor`){c(),u(),a=setInterval(u,5e3);return}if(i===`term`&&!t){t=!0;let r=!1,i=n?null:setTimeout(()=>{r||(n=!0,t=!1,e.log.error(`WC terminal mount did not settle within ${wa}ms; re-arming so the next term activation retries`))},wa);e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}).finally(()=>{r=!0,i&&clearTimeout(i)})}},deactivate(e){e===`files`?s.close():e===`monitor`?c():e===`memory`&&(r=!1)},refreshMemory(){r&&l()},refreshFiles(){s.repoint()}}}var Da=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Oa=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),ka=2e4,Aa=12,ja=3e4;function Ma(e){let t=e.trim();for(;t.startsWith(`./`)||t.startsWith(`../`);)t=t.slice(t.startsWith(`./`)?2:3);return t.startsWith(`~/`)&&(t=t.slice(2)),t.replace(/\/{2,}/g,`/`)}function Na(e){return e.slice(e.lastIndexOf(`/`)+1)}function Pa(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Fa(e,t){let n=Ma(e);return t.includes(`/`)?Pa(n,t):Na(n)===t}function Ia(e,t){let n=[],r=new Set;for(let i=t.length-1;i>=0;--i){let a=t[i];if(!(a===void 0||r.has(a))&&Fa(a,e)&&(r.add(a),n.push(Ma(a)),n.length>=La))break}return n}var La=4,Ra=class{#e;#t;#n;#r;#i;#a;#o=0;#s=null;#c=null;#l=new Map;#u=new Map;constructor(e,t={}){this.#e=e,this.#t=t.roots??Da,this.#n=t.ignoredDirs??Oa,this.#r=t.maxEntries??ka,this.#i=t.maxDepth??Aa,this.#a=t.ttlMs??ja}resolve(e,t=[]){this.#g();let n=Ma(e),r=this.#d(n),i=Ia(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Pa(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(Na(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Pa(t,e)).sort(za)}:{query:e,matches:[...t].sort(za)}}async#h(e){try{return(await this.#e.stat(e)).type===`file`}catch{return!1}}#g(){!this.#s||this.#a===1/0||Date.now()-this.#o<this.#a||this.invalidate()}#_(){return this.#s?Promise.resolve(this.#s):(this.#c??=this.#v().then(e=>(this.#s=e,this.#o=Date.now(),e)),this.#c)}async#v(){let e=new Map,t={left:this.#r};for(let n of this.#t){if(t.left<=0)break;await this.#y(n,0,e,t)}return e}async#y(e,t,n,r){if(r.left<=0||t>this.#i)return;let i;try{i=await this.#e.readDir(e)}catch{return}let a=this.#b(e,i,n,r);for(let e of a){if(r.left<=0)break;await this.#y(e,t+1,n,r)}}#b(e,t,n,r){let i=[];for(let a of t){if(r.left<=0)break;let t=e===`/`?`/${a.name}`:`${e}/${a.name}`;if(a.type===`directory`){this.#n.has(a.name)||i.push(t);continue}let o=n.get(a.name);o?o.push(t):n.set(a.name,[t]),--r.left}return i}};function za(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Ba=`file-mention`,Q=`data-file-mentions`;function Va(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Ha=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Ua=`file-mention-open`;async function Wa(e,t,n=[]){let r=Va(e);if(e.getAttribute(Q)===r)return;let i=Ga(e);if(i.length===0){e.setAttribute(Q,r);return}let a=[],o=new Set;for(let e of i){let t=Ae(e.data);if(t.length!==0){a.push({node:e,mentions:t});for(let e of t)o.add(e.path)}}if(a.length===0){e.setAttribute(Q,r);return}let s=[...o],c=await t.resolveAll(s,n),l=new Map(s.map((e,t)=>[e,c[t]?.matches??[]]));for(let{node:e,mentions:t}of a){if(!e.isConnected)continue;let n=t.filter(e=>(l.get(e.path)?.length??0)>0);n.length!==0&&Ka(e,n,l)}e.setAttribute(Q,Va(e))}function Ga(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(t){if(!t.nodeValue||t.nodeValue.trim().length===0)return NodeFilter.FILTER_REJECT;for(let n=t.parentElement;n&&n!==e;n=n.parentElement)if(Ha.has(n.tagName)||n.classList.contains(`file-mention`))return NodeFilter.FILTER_REJECT;return NodeFilter.FILTER_ACCEPT}}),n=[];for(let e=t.nextNode();e!==null;e=t.nextNode())n.push(e);return n}function Ka(e,t,n){let r=e.ownerDocument,i=e.data,a=r.createDocumentFragment(),o=0;for(let e of t){let t=n.get(e.path)??[],s=t[0];s&&(e.start>o&&a.appendChild(r.createTextNode(i.slice(o,e.start))),a.appendChild(qa(r,i.slice(e.start,e.end),s,t,e.line)),o=e.end)}o<i.length&&a.appendChild(r.createTextNode(i.slice(o))),e.parentNode?.replaceChild(a,e)}function qa(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Ba,a.textContent=t,a.href=`#${n}`,a.dataset.path=n,i!==void 0&&(a.dataset.line=String(i)),a.title=r.length>1?`${n}\n(+${r.length-1} other match${r.length>2?`es`:``})`:n,a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation();let t={path:n,alternatives:r,...i===void 0?{}:{line:i}};a.dispatchEvent(new CustomEvent(Ua,{detail:t,bubbles:!0,composed:!0}))}),a}var Ja=`slicc-agent-message`,Ya=`slicc-action-row[${je}]`;function Xa(e,t){let n=[],r=e.querySelectorAll(Ya);for(let e of r){if(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)break;n.push(e.getAttribute(`data-file-paths`)??``)}return n.slice(-40).flatMap(e=>pe(e))}function Za(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Qa(e){try{return $a(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function $a(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Ra(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;Ae(n.textContent??``).length!==0&&Za(()=>{let i=Xa(t,e);a().then(e=>Wa(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(Ja))o(t)};s(t);let c=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`){t.target instanceof HTMLElement&&o(t.target);continue}for(let e of t.addedNodes)e instanceof HTMLElement&&(e.tagName.toLowerCase()===Ja?o(e):s(e));let e=t.target?.closest?.(Ja);e&&o(e)}});c.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`streaming`]});let l=e=>{let{path:t,line:i}=e.detail;n().then(e=>me(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Ua,l),()=>{c.disconnect(),t.removeEventListener(Ua,l)}}var eo=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>vo,DOCK_TREE_STORAGE_KEY:()=>$,attachWcWorkbench:()=>xo,bootLeaderFloat:()=>So,makeSprinkleAttachImage:()=>bo,prepareWcShell:()=>ao,wireDockTreePersistence:()=>yo,wireWcChipTips:()=>po,workspaceForSelection:()=>ro});function to(e){let{controller:t,deleteQueued:n,destination:r,previousJid:i,readOnly:a,roster:o}=e,s=e.stashed,c=(e,t)=>{for(let r of t)n(e,r)},l=e=>{let t=e===void 0?void 0:o.find(t=>t.id===e);return t?M(o,t)?.id??t.id:void 0},u=l(r);if(i&&i!==r){let e=l(i);if(a&&u!==void 0&&u===e){let n=t?.stashQueued()??[];n.length>0&&(s={items:n,jid:e})}else c(i,(t?.getQueuedMessages()??[]).map(e=>e.id))}return s?s.jid===r?(t?.restoreQueued(s.items),null):u===s.jid?s:(c(s.jid,s.items.map(e=>e.id)),null):null}function no(e,t){let n=null,r=null;return{shownUnitId:()=>r,watch:i=>{r===i&&n||(n?.(),r=i,n=e().subscribe(i,e=>{e.type===`snapshot`&&r===i&&t(e.snapshot.messages,e.snapshot.queuedIds)}))}}}function ro(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),nt(t.getScoops(),r)}function io(e){let{refs:t}=e,n=null,r=null;return{clear:()=>{n=null},getSelected:()=>n,selectScoop:i=>{let a=n?.id??null;n=i;let o=ht(pt(i)),s=e.host();r=to({controller:e.controller(),deleteQueued:(e,t)=>void s.deleteQueuedMessage(e,t).catch(()=>void 0),destination:i.id,previousJid:a,readOnly:o,roster:e.client().currentUnits(),stashed:r});let c=e.lickBackpressure.get(i.id);e.controller()?.setLickBackpressure(c?.count??0,c?.waitingMs??0,I(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Jr(t,i,e.client().currentUnits(),s.getRecord?.bind(s),{skipModelPill:s.ownsModelPill===!0}),e.client().snapshot(i.id).catch(()=>void 0),e.watchUnit(i.id),e.controller()?.setProcessing(e.client().currentUnits().find(e=>e.id===i.id)?.state===`working`),t.switcher.hasAttribute(`attention`)||t.switcher.setAttribute(`attention`,i.id),e.wiring().refreshScoops?.(),e.workbench()?.refreshMemory(),e.workbench()?.refreshFiles(),s.onSelectionApplied?.()}}}function ao(e,t){let n=ye(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=Yt,o=null,s=()=>o??X(h),c=new Map,l=!1,u=null,d=new Set,f=no(()=>s(),(e,t)=>{r?.loadMessages(e,t),a.onSnapshotRendered?.(e)}).watch,p=io({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:f,wiring:()=>h,workbench:()=>u}),m=p.selectScoop,h={refs:n,statuses:new Map,fills:new Map,phases:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>p.getSelected(),selectScoop:m,notifyReady:()=>{l=!0;for(let e of d)e()}};return{refs:n,wiring:h,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:m,getSelected:()=>p.getSelected(),clearSelection:()=>p.clear(),watchUnit:f,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):d.add(()=>e.activate(n)))},onClientReady:e=>{d.add(e),l&&e()}}}function oo(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([o(()=>import(`./remote-vfs-client-DdFPlnwq.js`),__vite__mapDeps([61,40])),o(()=>import(`./writable-vfs-client-Czpbtd8Y.js`),__vite__mapDeps([62,40]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function so(e,t,n,r,i){e.onClientReady(()=>{r.intercept||o(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-yJakorfA.js`);return{wireWcOnboarding:e}},__vite__mapDeps([63,3,27,26,12,1,13,14,15,16,28,64,11,42,65,66,67,68,37,69,70,71,72,73,58,59,60])).then(({wireWcOnboarding:r})=>r({client:t,getController:()=>e.getController(),openVfs:n,log:i})).then(e=>{r.intercept=e.interceptWelcomeLick}).catch(e=>i.error(`WC onboarding wiring failed`,e))})}function co(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2)),typeof n.burnRate==`number`&&Number.isFinite(n.burnRate)?e.refs.floatbar.setAttribute(`rate`,n.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=Wr(t.getScoops(),e.statuses,e.fills,e.phases,e.awaitingInput,e.getSelected()?.id)})};return setInterval(n,15e3),n}function lo(e,t,n){let r=t.standalone;r&&o(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-Ctsf5Y23.js`);return{wireWcBrowser:e}},__vite__mapDeps([74,75,26,76,11,77])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function uo(e){return{assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}}function fo(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!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 po(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,s=e.getScoops().find(e=>e.jid===a);if(!s)return;let c=e.lastActivity.get(a)??``,l=t.get(a);if(l&&l.activity===c){i.title=l.tip;return}i.title||=N(uo(s)),!(!c||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await o(async()=>{let{quickLabel:e}=await import(`./quick-llm-vmNyLwWF.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,46,41]))).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: ${A(s)?`${N(uo(s))} (a main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});n&&(t.set(a,{activity:c,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function mo(e,t,n){let{RemoteTerminalView:r}=await o(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-BHs39pzZ.js`);return{RemoteTerminalView:e}},__vite__mapDeps([78,1,3,22,11,37,79,80,16,69,81,10,70,72,82])),{fetchSecretEnvVars:i}=await o(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CtpVPUh5.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([83,11,12,1,3,13,14,15,16,17,18,19,20])),a=await i(),s=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await s.mount(n),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function ho(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=ut(X(e.wiring).currentUnits(),t);r&&r.id!==e.getSelected()?.id&&e.selectScoop(r)};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 go(e,t,n,r){o(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CppSymRx.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([84,3,11,37])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await o(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-BjqCnuQT.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([85,3,16]));r({runtimeMode:a,providers:await s(c()||a===`extension`||a===`extension-detached`)}),i({runShell:_o(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e))}function _o(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await o(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([82,1])),r=new n({client:t,sid:`mount-drop-${Date.now()}`});return await r.open({cwd:`/workspace`}),r})().catch(e=>{throw n=null,e}),n);return async e=>(await r()).exec(e)}var $=`slicc-dock-tree:default`,vo={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function yo(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem($,JSON.stringify(e))}catch{}};n.addEventListener(`dock-tree-change`,e=>{i(e.detail?.tree)}),n.addEventListener(`dock-tree-resize`,e=>{i(e.detail?.tree)});try{let e=localStorage.getItem($);r.setTree(e?JSON.parse(e):vo)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(vo)}}function bo(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 xo(e,t,n,r,i,a={}){o(async()=>{let{initTimestampPreference:e}=await import(`./timestamp-preference-sKwBl5I8.js`).then(e=>e.a);return{initTimestampPreference:e}},__vite__mapDeps([86,1])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:s}=e;e.setClient(t),o(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CXRqxpw6.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([67,1,68,11])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),o(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-By4GU_Wc.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([68,1,11])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=D(`panel-layouts`);s.dockTree.tilesMovable=c,c||yo(s,i);let l=null,u=co(e.wiring,t),d=()=>l?.(),f=r.welcome??{intercept:null},p=X(e.wiring),{agentHandle:m}=n;e.onClientReady(u);let h=oo(t),g=async()=>(await h()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`&&so(e,t,h,f,i);let _=Xr({boot:e,client:t,setRefreshPlaceholder:e=>{l=e},triggerPlaceholder:d,openReader:g,openWriter:async()=>(await h()).writer,log:i});r.setAttachmentSource(()=>_.getAttachStage()?.take()),r.setTurnIdleHook(fo({boot:e,triggerPlaceholder:d,refreshStats:u})),po({switcher:s.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),lo(e,a,i),go(e,t,a,i);let v=Ea({fileTree:s.fileTree,termSurface:s.termSurface,memoryHost:s.memoryHost,monitor:s.monitor,openFs:g,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>_i({client:t,openReader:g,storage:window.localStorage}),getWorkspace:()=>ro({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>mo(e,t,n),insertReference:e=>{let t=s.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(v),c&&o(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-n4cz4LHX.js`);return{panelizeShell:e}},__vite__mapDeps([87,11,88,41,1,89,3,90,53,91,92,93,94])).then(({panelizeShell:e})=>e(s,void 0,void 0,{onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),Qa({thread:s.thread,openFs:g,log:i}),s.floatbar.addEventListener(`click`,()=>{let e=s.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let y=mi({refs:s,openVfs:h,client:t,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:i}),{refreshFreezer:b,openFrozen:x,getViewedFrozenSessionId:S}=y;if(b(),e.onClientReady(b),D(`multiple-cones`)){let n=Vr({freezer:s.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:y.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}ho(e,t,x),e.onClientReady(()=>{h().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await o(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-CjOJXjsp.js`);return{loadShortcutConfig:e}},__vite__mapDeps([95,11,96]));await n({reader:e,writer:t,apply:({keymap:e,trigger:t})=>{s.shortcuts.setKeymap(e),s.shortcuts.setTrigger(t)}})}).catch(e=>i.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await o(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-CluNpFQR.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:i})}).catch(e=>i.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:c}=await o(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-BY9A-xsx.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([97,98,99,40])),l=(await o(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-n4cz4LHX.js`);return{getPanelizedShell:e}},__vite__mapDeps([87,11,88,41,1,89,3,90,53,91,92,93,94]))).getPanelizedShell(),{wireWcSprinkles:u}=await o(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-Dxi8ZWGE.js`);return{wireWcSprinkles:e}},__vite__mapDeps([100,3,16,101,102,42])),d=await u({refs:s,client:t,getUnits:()=>p.currentUnits(),fs:c({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:bo(_,i),onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:f}=await o(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-n4cz4LHX.js`);return{getPanelizedShell:e}},__vite__mapDeps([87,11,88,41,1,89,3,90,53,91,92,93,94])),y=f();if(y){let e=c({reader:n,writer:r});y.attachFs(e);let{registerAgentPanels:t}=await o(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-B92KQapO.js`);return{registerAgentPanels:e}},__vite__mapDeps([103,11,91]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await o(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await o(async()=>{let{applyLayout:e}=await import(`./apply-layout-wFAir12c.js`);return{applyLayout:e}},__vite__mapDeps([104,100,3,16,101,102,42]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await o(async()=>{let{wireWcTray:e}=await import(`./wc-tray-bViGindn.js`);return{wireWcTray:e}},__vite__mapDeps([105,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,39,75,26,44,106,30,107,27,28,108,66,67,68,109,42,58,59,60,110,111,0,29,31,32,37,99,112,41,35,86,89,90,53,91,92,101,94,96,113,82,114,49,77,115,116,117,102,118,81,119])),r=d.zone.callbacks(),c=await n({refs:s,client:t,browser:a.standalone.browser,realCdpTransport:a.standalone.realCdpTransport,instanceId:a.instanceId,runtimeMode:a.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>r.addSprinkle(e,t,n),removeSprinkle:e=>r.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Jr(s,n,p.currentUnits(),e=>t.getScoop(e))},openFs:g,openWriter:async()=>(await h()).writer,window,log:i});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast()}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new Ft,r=new Me,i=new mr({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAll(),loadUiChatSessions:async()=>{let e=await r.list();return(await Promise.all(e.map(e=>r.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:jr(),snapshotStore:{read:async e=>{let{reader:t}=await h();return wr(t,e)},write:async(e,t)=>{let{writer:n}=await h();return Cr(n,e,t)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=F(X(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.131.2`}),a=qe(i);window.addEventListener(`unload`,a,{once:!0})}let C=!1,w=()=>C?Promise.resolve():(C=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([o(()=>import(`./export-provider-CqI0pk50.js`).then(e=>e.t),__vite__mapDeps([43,1,44])),o(()=>import(`./wc-transcript-export-DdEuCfi6.js`),__vite__mapDeps([120,3,44,110,111,1]))]),r=S(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:s}=a;await n(await t(a),s)}catch(e){i.error(`Transcript export failed`,e),o(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-DdEuCfi6.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([120,3,44,110,111,1])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{C=!1}})());if(o(async()=>{let{wireWcNav:e}=await import(`./wc-nav-Bnfi20v0.js`);return{wireWcNav:e}},__vite__mapDeps([121,3,16,27,26,12,1,13,14,15,28,48,30,31,32,114,11,49,42,102,118,81,10])).then(({wireWcNav:e})=>e({refs:s,client:t,workUnits:p,getUnits:()=>p.currentUnits(),log:i,onExportTranscript:w,shortcuts:s.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await h(),{writeShortcutTrigger:r}=await o(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-CjOJXjsp.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([95,11,96]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),o(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-CElQJ4q_.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([122,11,16,37,90,56,57,12,1,3,13,14,15,58,59,60,123])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=s.composer;t(a.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>i.error(`WC push-to-talk wiring failed`,e)),o(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-BxNdNjKi.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([55,3,11,16,56,57,12,1,13,14,15,58,59,60])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{o(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-D3H9k43E.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([47,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,48,0,26,27,28,29,30,31,32,46,33,38,39,40,41,42,35])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:b})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}async function So(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:p,attachLickForwardingClient:m}=await f({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:h,floatLabelForKind:g,resolveStandaloneFloatKind:_}=await o(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await import(`./wc-float-label-D-EfJUCy.js`).then(e=>e.n);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},__vite__mapDeps([124,1,12,3,13,14,15,16,89,41,90,53,91,92])),v=n===`standalone`?await _():h(n),y=g(v);a&&u(a);let{syncFsBridgeEnabled:b,syncFsChannelNonce:x}=yi(),S=!1,C,w,{boot:T}=await Pi(e,t,{floatKind:v,floatLabel:y,connect:e=>{C=sn({realCdpTransport:i,instanceId:a,makeClient:t=>new Kt(Gr(e.wiring),t),localApiBaseUrl:s,bridgeToken:c,syncFsBridgeEnabled:b,syncFsChannelNonce:x,localLickWsUrl:l,extensionDelegateId:p,flagFloat:n,onWorkerScriptError:()=>{d()},onReadyStall:e=>{S=!0,o(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{d()}}),Qt({send:e=>C.client.sendRaw(e)}),m?.(C.client);let u=Jt(C.client);return{client:X(e.wiring),host:u,workbench:(e,o)=>{w=xo(e,C.client,o,u,t,{instanceId:a,standalone:{browser:r,floatKind:v,realCdpTransport:i,runtimeMode:n}})}}}}),{setupSudoStandalone:ee}=await o(async()=>{let{setupSudoStandalone:e}=await import(`./setup-sudo-BbqNoR1S.js`).then(e=>e.n);return{setupSudoStandalone:e}},__vite__mapDeps([125,1,3]));await ee({log:t});try{await C.ready}finally{S&&o(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}T.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:C.client.getScoops().length}),w?.();let{consumeAutoPrompt:te}=await o(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),E=te(window.location.search);E&&(T.getController()?.sendUserMessage(E),t.info(`Auto-prompt submitted`,{length:E.length}))}export{X as a,Kt as c,Gr as i,eo as n,Zt as o,Pi as r,Jt as s,xo as t};