sliccy 5.88.1 → 5.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node-server/_shared/agent-wire-types.d.ts +19 -0
- package/dist/node-server/_shared/agent-wire-types.d.ts.map +1 -1
- package/dist/ui/assets/account-store-CY3L_cQF.js +44 -0
- package/dist/ui/assets/{account-store-BlsqL92L.js → account-store-DtZuHDmf.js} +1 -1
- package/dist/ui/assets/{adobe-DvE_Np41.js → adobe-BT4LLrpZ.js} +1 -1
- package/dist/ui/assets/adobe-Bc-6NIQr.js +1 -0
- package/dist/ui/assets/{agent-message-to-chat-QyCEPmi8.js → agent-message-to-chat-DH5qVsNo.js} +1 -1
- package/dist/ui/assets/{anthropic-messages-C8dDJE2X.js → anthropic-messages-Cx3KdHDK.js} +3 -3
- package/dist/ui/assets/{apps-DxHghmzu.js → apps-CDgCvWHN.js} +1 -1
- package/dist/ui/assets/{azure-openai-DtZRmgvm.js → azure-openai-BZYBbAzv.js} +1 -1
- package/dist/ui/assets/azure-openai-DXz4hF-c.js +1 -0
- package/dist/ui/assets/azure-openai-responses-D2e4727V.js +1 -0
- package/dist/ui/assets/bedrock-camp-CvcU-31w.js +1 -0
- package/dist/ui/assets/cerebras-CDYxWxu2.js +1 -0
- package/dist/ui/assets/{cerebras-Cx0ZgQXY.js → cerebras-CvIDBeTv.js} +1 -1
- package/dist/ui/assets/compat-BHfpuQ4D.js +1 -0
- package/dist/ui/assets/{connect-surface-BuUZt6Ip.js → connect-surface-Dg0fG3yA.js} +1 -1
- package/dist/ui/assets/context-compaction-DDE4L-Sj.js +58 -0
- package/dist/ui/assets/{cost-command-Cpg2Em0Q.js → cost-command-_BMgmnMI.js} +112 -111
- package/dist/ui/assets/{fs-CM-DwH_K.js → fs-CyLJ0TYi.js} +2 -2
- package/dist/ui/assets/{fs-DM4s8g2H.js → fs-DpuVKRCQ.js} +1 -1
- package/dist/ui/assets/{github-C5Z5e9up.js → github-15WpvjGl.js} +2 -2
- package/dist/ui/assets/{github-DzR_VkIs.js → github-CXAoEzN7.js} +1 -1
- package/dist/ui/assets/{github-copilot-BaIpP1i_.js → github-copilot-Ctq2koX1.js} +1 -1
- package/dist/ui/assets/github-copilot-Wogh9O3b.js +1 -0
- package/dist/ui/assets/google-generative-ai-BPByyH06.js +1 -0
- package/dist/ui/assets/{google-shared-BAKd3aSn.js → google-shared-DLE9jWCI.js} +1 -1
- package/dist/ui/assets/google-vertex-0jNZ5aI-.js +1 -0
- package/dist/ui/assets/{kernel-worker-BMk_Hanj.js → kernel-worker-CnX2JxSd.js} +598 -606
- package/dist/ui/assets/legacy-api-aliases-BLiHiLlu.js +1 -0
- package/dist/ui/assets/{local-llm-CcUDAbfs.js → local-llm-D6vzlH1q.js} +1 -1
- package/dist/ui/assets/{local-llm-CHZRZECl.js → local-llm-DUEO4jme.js} +1 -1
- package/dist/ui/assets/{main-B55fFwqN.js → main-YTQMsdfm.js} +3 -3
- package/dist/ui/assets/{mistral-conversations-CKK59QJS.js → mistral-conversations-BBexKxUC.js} +2 -2
- package/dist/ui/assets/{transform-messages-Bp94o3FD.js → models-CvUrqKSj.js} +1 -1
- package/dist/ui/assets/{mount-BDRtuCmi.js → mount-De_BQGq4.js} +2 -2
- package/dist/ui/assets/{mount-recovery-CnuIZk1w.js → mount-recovery-BZjiBIEQ.js} +1 -1
- package/dist/ui/assets/{mount-DtOQdoh4.js → mount-sGWapNTk.js} +1 -1
- package/dist/ui/assets/{new-session-CQvZiVOM.js → new-session-zluPrFE4.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-Fdgu0Hiw.js → oauth-bootstrap-BgFk_VJ2.js} +2 -2
- package/dist/ui/assets/{openai-codex-CMjyOucr.js → openai-codex-C8iCsBD9.js} +1 -1
- package/dist/ui/assets/openai-codex-bEaU3e8X.js +1 -0
- package/dist/ui/assets/openai-codex-responses-CBhbcvRK.js +7 -0
- package/dist/ui/assets/openai-completions-CBeXb_ux.js +5 -0
- package/dist/ui/assets/openai-responses-B5d1rOIe.js +1 -0
- package/dist/ui/assets/{openai-responses-shared-CiIL52L-.js → openai-responses-shared-BU1VYwTh.js} +5 -5
- package/dist/ui/assets/openrouter-BM-UDhNC.js +1 -0
- package/dist/ui/assets/{openrouter-CbDtgu4X.js → openrouter-CF8xV5wq.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DftLGLI3.js → openrouter-oauth-DjtLJhP8.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-BjWqlI0U.js → openrouter-oauth-a-7KEbrQ.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-iSOkt6dF.js → panel-rpc-handlers-MyjiRPfQ.js} +2 -2
- package/dist/ui/assets/{provider-B3ZNG-_w.js → provider-7LNCXB6L.js} +1 -1
- package/dist/ui/assets/{provider-HkcRYne7.js → provider-BH5wrYZm.js} +2 -2
- package/dist/ui/assets/{provider-settings-CvwIKkCB.js → provider-settings-DAQd7M-Z.js} +1 -1
- package/dist/ui/assets/{provider-settings-BAN99Ypu.js → provider-settings-D_k-XVth.js} +1 -1
- package/dist/ui/assets/provider-store-access-B-KfYV1X.js +1 -0
- package/dist/ui/assets/{provider-store-access-oGt3OTM2.js → provider-store-access-BIYwZNH0.js} +2 -2
- package/dist/ui/assets/{providers-DPnl8m-y.js → providers-DMaEp7Pj.js} +2 -2
- package/dist/ui/assets/{providers-Dc086P9b.js → providers-K6q9kDLS.js} +1 -1
- package/dist/ui/assets/{quick-llm-C6SOJSFV.js → quick-llm-Dg57FmQe.js} +1 -1
- package/dist/ui/assets/session-freezer-C7XAYYYW.js +23 -0
- package/dist/ui/assets/session-freezer-DbAlvJ0R.js +15 -0
- package/dist/ui/assets/{setup-standalone-prelude-CE6GZtVu.js → setup-standalone-prelude-C6YqJt2r.js} +1 -1
- package/dist/ui/assets/{setup-sudo-ysHAwoyc.js → setup-sudo-0ZNlYZ_b.js} +2 -2
- package/dist/ui/assets/{skills-hx0D6dkN.js → skills-B9c2PjwK.js} +1 -1
- package/dist/ui/assets/{src-DZ2yfAIc.js → src-mCXOSBtK.js} +44 -32
- package/dist/ui/assets/{store-DFZqmFiW.js → store-D0OiI-Xj.js} +1 -1
- package/dist/ui/assets/{sudo-CV6R2L8c.js → sudo-D0UbkO_d.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-TeapWh_c.js → upgrade-detection-DMqexaA6.js} +1 -1
- package/dist/ui/assets/{wc-attach-BtJ9bT2T.js → wc-attach-BJk2fkdb.js} +2 -2
- package/dist/ui/assets/{wc-extension-CNKTM_Bn.js → wc-extension-BwLFa8q2.js} +2 -2
- package/dist/ui/assets/{wc-follower-DMTSyIzt.js → wc-follower-Dh_Vhf9K.js} +3 -3
- package/dist/ui/assets/wc-live-D2GKoip3.js +8 -0
- package/dist/ui/assets/{wc-nav-L-P0Pfmy.js → wc-nav-sQfzGmHv.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-tdnkgUYr.js → wc-onboarding-BOSexBA4.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-bh5_VDmb.js → wc-placeholder-BvaYuwiv.js} +2 -2
- package/dist/ui/assets/{wc-settings-CY-rYR1g.js → wc-settings-ZEBxc5EW.js} +2 -2
- package/dist/ui/assets/{wc-shell-BRZwJw30.js → wc-shell-D3tTSQTN.js} +3 -3
- package/dist/ui/assets/{wc-sprinkles-Bmwh47f2.js → wc-sprinkles-4EUT4NHo.js} +2 -2
- package/dist/ui/assets/{wc-tray-C_6fkC1s.js → wc-tray-DvhYzmJ9.js} +2 -2
- package/dist/ui/assets/{xai-grok-CmLmxZBM.js → xai-grok-BwI31S4-.js} +1 -1
- package/dist/ui/assets/xai-grok-CpSEkomD.js +1 -0
- package/dist/ui/index.html +6 -6
- package/dist/ui/packages/webapp/index.html +6 -6
- package/package.json +1 -1
- package/dist/ui/assets/account-store-CRV3xUQu.js +0 -101
- package/dist/ui/assets/adobe-CxrAt4oY.js +0 -1
- package/dist/ui/assets/azure-openai-DJayxp7Q.js +0 -1
- package/dist/ui/assets/azure-openai-responses-CzG7X9qb.js +0 -1
- package/dist/ui/assets/bedrock-camp-DS0ilb3O.js +0 -1
- package/dist/ui/assets/cerebras-CFn0w69c.js +0 -1
- package/dist/ui/assets/github-copilot-BVHb90c_.js +0 -1
- package/dist/ui/assets/google-generative-ai-DzD1vsXe.js +0 -1
- package/dist/ui/assets/google-vertex-oQOD3HKr.js +0 -1
- package/dist/ui/assets/legacy-api-aliases-YuuBU-he.js +0 -1
- package/dist/ui/assets/openai-codex-CZ_pyyXO.js +0 -1
- package/dist/ui/assets/openai-codex-responses-DU5CHdDQ.js +0 -7
- package/dist/ui/assets/openai-completions-DhKgaAgM.js +0 -5
- package/dist/ui/assets/openai-responses-C4_jiYtu.js +0 -1
- package/dist/ui/assets/openrouter-DtTAJoAB.js +0 -1
- package/dist/ui/assets/provider-store-access-C7h1-PtH.js +0 -1
- package/dist/ui/assets/session-freezer-sIuZduHO.js +0 -21
- package/dist/ui/assets/wc-live-DfdMxJgj.js +0 -8
- package/dist/ui/assets/xai-grok-BEgyT7QW.js +0 -1
|
@@ -3564,7 +3564,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3564
3564
|
.col:hover { background: var(--ghost); color: var(--ink); }
|
|
3565
3565
|
.icon { display: inline-flex; place-items: center; pointer-events: none; }
|
|
3566
3566
|
.icon svg { display: block; }
|
|
3567
|
-
`),ea=`panel-right-close`,ta=`Collapse`,na=16;w(`slicc-collapse-btn`,class extends HTMLElement{static observedAttributes=[`label`,`icon`];#e;#t=null;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[$i]}connectedCallback(){this.#n()}attributeChangedCallback(){this.isConnected&&this.#n()}get label(){return this.getAttribute(`label`)??ta}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}get icon(){return this.getAttribute(`icon`)??ea}set icon(e){e==null?this.removeAttribute(`icon`):this.setAttribute(`icon`,e)}#n(){let e=this.label,t=n(this.icon,{size:na,part:`icon`}),r=E(`button`,{class:`col`,part:`button`,type:`button`,"aria-label":e,title:e},E(`slot`,null,E(`span`,{class:`icon`},t)));r.addEventListener(`click`,this.#r),this.#t=r,this.#e.replaceChildren(r)}#r=()=>{this.dispatchEvent(new CustomEvent(`collapse`,{bubbles:!0,composed:!0}))}});function
|
|
3567
|
+
`),ea=`panel-right-close`,ta=`Collapse`,na=16;w(`slicc-collapse-btn`,class extends HTMLElement{static observedAttributes=[`label`,`icon`];#e;#t=null;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[$i]}connectedCallback(){this.#n()}attributeChangedCallback(){this.isConnected&&this.#n()}get label(){return this.getAttribute(`label`)??ta}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}get icon(){return this.getAttribute(`icon`)??ea}set icon(e){e==null?this.removeAttribute(`icon`):this.setAttribute(`icon`,e)}#n(){let e=this.label,t=n(this.icon,{size:na,part:`icon`}),r=E(`button`,{class:`col`,part:`button`,type:`button`,"aria-label":e,title:e},E(`slot`,null,E(`span`,{class:`icon`},t)));r.addEventListener(`click`,this.#r),this.#t=r,this.#e.replaceChildren(r)}#r=()=>{this.dispatchEvent(new CustomEvent(`collapse`,{bubbles:!0,composed:!0}))}});var ra=5,ia=1;function aa(e){return e.replace(`claude-`,``)}function oa(e){return e==null||e===0?``:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}function sa(e){if(e.length<=ra)return{individuals:e,buckets:[]};let t=[...e].sort((e,t)=>t.cost-e.cost),n=t.slice(0,ra),r=[],i={count:0,cost:0};for(let e of t.slice(ra))i.count+=1,i.cost+=e.cost,i.cost>=ia&&(r.push(i),i={count:0,cost:0});if(i.count>0){let e=r.at(-1);e?(e.count+=i.count,e.cost+=i.cost):r.push(i)}return{individuals:n,buckets:r}}var ca=D(`
|
|
3568
3568
|
:host {
|
|
3569
3569
|
position: absolute;
|
|
3570
3570
|
top: calc(100% + 8px);
|
|
@@ -3588,7 +3588,9 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3588
3588
|
font-size: 12px;
|
|
3589
3589
|
line-height: 1.4;
|
|
3590
3590
|
color: var(--ink);
|
|
3591
|
-
|
|
3591
|
+
max-height: calc(100vh - 64px);
|
|
3592
|
+
overflow-x: hidden;
|
|
3593
|
+
overflow-y: auto;
|
|
3592
3594
|
}
|
|
3593
3595
|
|
|
3594
3596
|
:host([open]) .card {
|
|
@@ -3617,7 +3619,8 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3617
3619
|
}
|
|
3618
3620
|
|
|
3619
3621
|
.model-row,
|
|
3620
|
-
.scoop-row
|
|
3622
|
+
.scoop-row,
|
|
3623
|
+
.bucket-row {
|
|
3621
3624
|
display: flex;
|
|
3622
3625
|
justify-content: space-between;
|
|
3623
3626
|
align-items: center;
|
|
@@ -3625,6 +3628,15 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3625
3628
|
padding: 2px 0;
|
|
3626
3629
|
}
|
|
3627
3630
|
|
|
3631
|
+
.bucket-row {
|
|
3632
|
+
margin-top: 2px;
|
|
3633
|
+
padding: 4px 6px;
|
|
3634
|
+
border-radius: 6px;
|
|
3635
|
+
background: color-mix(in srgb, var(--ctx) 45%, transparent);
|
|
3636
|
+
color: var(--txt-2);
|
|
3637
|
+
font-weight: 600;
|
|
3638
|
+
}
|
|
3639
|
+
|
|
3628
3640
|
.model-row {
|
|
3629
3641
|
display: flex;
|
|
3630
3642
|
gap: 8px;
|
|
@@ -3676,7 +3688,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3676
3688
|
font-variant-numeric: tabular-nums;
|
|
3677
3689
|
color: var(--ink);
|
|
3678
3690
|
}
|
|
3679
|
-
`);w(`slicc-cost-overlay`,class extends HTMLElement{static observedAttributes=[`open`];#e;#t=[];#n=[];constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
3691
|
+
`);w(`slicc-cost-overlay`,class extends HTMLElement{static observedAttributes=[`open`];#e;#t=[];#n=[];#r=null;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[ca]}connectedCallback(){this.#i()}attributeChangedCallback(){this.isConnected&&this.#i()}get open(){return this.hasAttribute(`open`)}set open(e){this.toggleAttribute(`open`,!!e)}get models(){return this.#t}set models(e){this.#t=e,this.isConnected&&this.#i()}get scoops(){return this.#n}set scoops(e){this.#n=e,this.isConnected&&this.#i()}get total(){return this.#r}set total(e){this.#r=e!=null&&Number.isFinite(e)?e:null,this.isConnected&&this.#i()}#i(){let e=[];if(this.#t.length>0){let t=this.#t.map(e=>{let t=oa(e.tokens);return E(`div`,{class:`model-row`},E(`span`,{class:`model-name`},aa(e.model)),t?E(`span`,{class:`model-tokens`},t):!1,E(`span`,{class:`model-cost`},`$${e.cost.toFixed(2)}`))});e.push(E(`div`,{class:`section section--models`},E(`div`,{class:`section-title`},`BY MODEL`),...t))}if(this.#n.length>0){let t=sa(this.#n),n=t.individuals.map(e=>E(`div`,{class:`scoop-row`},E(`span`,{class:`scoop-name`},e.name),E(`span`,{class:`scoop-cost`},`$${e.cost.toFixed(2)}`))),r=t.buckets.map(e=>E(`div`,{class:`bucket-row`,part:`bucket`},`${e.count} ${e.count===1?`agent`:`agents`} · $${e.cost.toFixed(2)}`));e.push(E(`div`,{class:`section section--scoops`},E(`div`,{class:`section-title`},`BY AGENT`),...n,...r))}let t=this.#r??this.#t.reduce((e,t)=>e+t.cost,0);e.push(E(`div`,{class:`total-row`},E(`span`,{class:`total-label`},`Total`),E(`span`,{class:`total-cost`},`$${t.toFixed(2)}`)));let n=E(`div`,{class:`card`},...e);this.#e.replaceChildren(n)}});var la=D(`
|
|
3680
3692
|
:host {
|
|
3681
3693
|
display: flex;
|
|
3682
3694
|
align-items: center;
|
|
@@ -3705,7 +3717,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3705
3717
|
min-width: 0;
|
|
3706
3718
|
background: var(--line, #e5e5e5);
|
|
3707
3719
|
}
|
|
3708
|
-
`);w(`slicc-day-separator`,class extends HTMLElement{static observedAttributes=[`label`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
3720
|
+
`);w(`slicc-day-separator`,class extends HTMLElement{static observedAttributes=[`label`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[la]}connectedCallback(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}get label(){return this.getAttribute(`label`)}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}#t(){let e=this.label??E(`slot`);this.#e.replaceChildren(E(`span`,{class:`label`,part:`label`},e))}});var ua=`CLI float`;function da(e){if(e==null)return null;let t=e.trim();if(t===``)return null;let n=Number.parseFloat(t.replace(/^\$/,``));return Number.isFinite(n)?n:null}function fa(e){let t=da(e);return t==null?null:`$${t.toFixed(2)}`}function pa(e){return`${fa(e)??`$0.00`}/h`}var ma=`(max-width: 560px)`,ha=D(`
|
|
3709
3721
|
:host {
|
|
3710
3722
|
position: relative;
|
|
3711
3723
|
display: inline-flex;
|
|
@@ -3750,7 +3762,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3750
3762
|
background: var(--line);
|
|
3751
3763
|
}
|
|
3752
3764
|
|
|
3753
|
-
/*
|
|
3765
|
+
/* Hourly rate segment: lucide coin icon + formatted amount */
|
|
3754
3766
|
.spent {
|
|
3755
3767
|
display: inline-flex;
|
|
3756
3768
|
align-items: center;
|
|
@@ -3816,7 +3828,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3816
3828
|
@media (prefers-reduced-motion: reduce) {
|
|
3817
3829
|
.tip { transition: none; }
|
|
3818
3830
|
}
|
|
3819
|
-
`);w(`slicc-floatbar`,class extends HTMLElement{static observedAttributes=[`label`,`linked`,`online`,`spent`];#e;#t;#n=()=>{this.isConnected&&this.#c()};#r=null;#i=[];#a=[];#o;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
3831
|
+
`);w(`slicc-floatbar`,class extends HTMLElement{static observedAttributes=[`label`,`linked`,`online`,`rate`,`spent`];#e;#t;#n=()=>{this.isConnected&&this.#c()};#r=null;#i=[];#a=[];#o;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[ha],this.#t=typeof window<`u`&&typeof window.matchMedia==`function`?window.matchMedia(ma):null}connectedCallback(){this.#t?.addEventListener(`change`,this.#n),this.#l()}disconnectedCallback(){this.#t?.removeEventListener(`change`,this.#n),clearTimeout(this.#o)}attributeChangedCallback(e,t,n){t!==n&&this.isConnected&&this.#l()}get label(){return this.getAttribute(`label`)??ua}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}get linked(){return this.hasAttribute(`linked`)}set linked(e){this.toggleAttribute(`linked`,!!e)}get online(){return this.hasAttribute(`online`)}set online(e){this.toggleAttribute(`online`,!!e)}get spent(){return this.getAttribute(`spent`)}set spent(e){e==null?this.removeAttribute(`spent`):this.setAttribute(`spent`,String(e))}get rate(){return this.getAttribute(`rate`)}set rate(e){e==null?this.removeAttribute(`rate`):this.setAttribute(`rate`,String(e))}get costModels(){return this.#i}set costModels(e){this.#i=e,this.#r&&(this.#r.models=e)}get costScoops(){return this.#a}set costScoops(e){this.#a=e,this.#r&&(this.#r.scoops=e)}#s(){let e=[this.label];return e.push(pa(this.rate)),e.push(this.online?`online`:`offline`),e.join(` · `)}#c(){this.#t?.matches?this.setAttribute(`title`,this.#s()):this.removeAttribute(`title`)}#l(){let e=[];this.online&&e.push(E(`span`,{class:`fdot`,part:`dot`})),e.push(E(`span`,{class:`label`,part:`label`},E(`slot`,null,this.label))),e.push(E(`span`,{class:`sep`,part:`sep`}));let t=E(`span`,{class:`spent`,part:`spent rate`},n(`circle-dollar-sign`,{size:12}),E(`span`,{class:`amount`},pa(this.rate)));t.addEventListener(`mouseenter`,()=>this.#u()),t.addEventListener(`mouseleave`,()=>this.#d()),e.push(t),e.push(E(`span`,{class:`tip`,part:`tip`,"aria-hidden":`true`},this.#s())),this.#r=null,this.#e.replaceChildren(...e),this.#c()}#u(){if(clearTimeout(this.#o),!this.#r){let e=document.createElement(`slicc-cost-overlay`);e.models=this.#i,e.scoops=this.#a,e.total=da(this.spent),e.addEventListener(`mouseenter`,()=>this.#u()),e.addEventListener(`mouseleave`,()=>this.#d()),this.#e.appendChild(e),this.#r=e}this.#r.toggleAttribute(`open`,!0)}#d(){this.#o=setTimeout(()=>{this.#r&&this.#r.removeAttribute(`open`)},150)}});var ga=D(`
|
|
3820
3832
|
:host { display: inline-grid; }
|
|
3821
3833
|
:host([hidden]) { display: none; }
|
|
3822
3834
|
.iconbtn {
|
|
@@ -3845,7 +3857,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3845
3857
|
.iconbtn:disabled:hover { background: var(--canvas); color: var(--txt-2); }
|
|
3846
3858
|
.icon { display: grid; place-items: center; pointer-events: none; }
|
|
3847
3859
|
.icon svg { display: block; }
|
|
3848
|
-
`),
|
|
3860
|
+
`),_a=`plus`,va=16;w(`slicc-icon-button`,class extends HTMLElement{static observedAttributes=[`icon`,`disabled`,`label`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[ga]}connectedCallback(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}get icon(){return this.getAttribute(`icon`)??_a}set icon(e){e==null?this.removeAttribute(`icon`):this.setAttribute(`icon`,e)}get disabled(){return this.hasAttribute(`disabled`)}set disabled(e){e?this.setAttribute(`disabled`,``):this.removeAttribute(`disabled`)}get label(){return this.getAttribute(`label`)}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}#t(){let e=this.label,t=E(`slot`,null,E(`span`,{class:`icon`},n(this.icon,{size:va,part:`icon`}))),r=E(`button`,{type:`button`,class:`iconbtn`,part:`button`,"aria-label":e??void 0,title:e??void 0,disabled:this.disabled},t);this.#e.replaceChildren(r)}});var ya=D(`
|
|
3849
3861
|
:host { display: inline-flex; align-items: center; height: var(--ctl-h, 30px); font-family: var(--ui); line-height: 1; }
|
|
3850
3862
|
.logo { font-weight: 600; font-size: 14px; letter-spacing: -0.02em; color: var(--ink); }
|
|
3851
3863
|
.b {
|
|
@@ -3854,7 +3866,7 @@ slicc-permissions .slicc-permissions__prompt-btn:disabled {
|
|
|
3854
3866
|
}
|
|
3855
3867
|
/* Narrow / extension-sidebar: drop the gradient suffix badge to save width. */
|
|
3856
3868
|
@media (max-width: 560px) { .b { display: none; } }
|
|
3857
|
-
`);w(`slicc-logo`,class extends HTMLElement{static observedAttributes=[`badge`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
3869
|
+
`);w(`slicc-logo`,class extends HTMLElement{static observedAttributes=[`badge`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[ya]}connectedCallback(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}get badge(){return this.getAttribute(`badge`)}set badge(e){e==null?this.removeAttribute(`badge`):this.setAttribute(`badge`,e)}#t(){let e=E(`span`,{class:`logo`,part:`logo`},`sliccy`);this.badge&&e.append(E(`span`,{class:`b`,part:`badge`},this.badge)),this.#e.replaceChildren(e)}});var ba=`
|
|
3858
3870
|
slicc-pane {
|
|
3859
3871
|
display: flex;
|
|
3860
3872
|
flex-direction: column;
|
|
@@ -3893,7 +3905,7 @@ slicc-pane .slicc-pane__body {
|
|
|
3893
3905
|
min-height: 0;
|
|
3894
3906
|
overflow: auto;
|
|
3895
3907
|
}
|
|
3896
|
-
`,
|
|
3908
|
+
`,xa=`slicc-pane-style`;function Sa(e){if(e.getElementById(xa))return;let t=e.createElement(`style`);t.id=xa,t.textContent=ba,(e.head??e.documentElement).appendChild(t)}w(`slicc-pane`,class extends HTMLElement{static observedAttributes=[`elevated`];#e;#t;#n=!1;connectedCallback(){Sa(this.ownerDocument),this.#r()}attributeChangedCallback(e,t,n){e===`elevated`&&t!==n&&this.isConnected&&this.dispatchEvent(new CustomEvent(`slicc-pane-change`,{bubbles:!0,composed:!0,detail:{elevated:n!==null}}))}get elevated(){return this.hasAttribute(`elevated`)}set elevated(e){e?this.setAttribute(`elevated`,``):this.removeAttribute(`elevated`)}#r(){if(this.#n)return;this.#n=!0;let e=Array.from(this.childNodes).filter(e=>!(e instanceof HTMLElement&&e.classList.contains(`slicc-pane__surface`))),t=this.ownerDocument.createElement(`div`);t.className=`slicc-pane__surface`,t.setAttribute(`part`,`surface`),this.#e=this.ownerDocument.createElement(`div`),this.#e.className=`slicc-pane__header`,this.#e.setAttribute(`part`,`header`),this.#t=this.ownerDocument.createElement(`div`),this.#t.className=`slicc-pane__body`,this.#t.setAttribute(`part`,`body`),t.append(this.#e,this.#t);for(let t of e)t instanceof HTMLElement&&t.getAttribute(`slot`)===`header`?this.#e.appendChild(t):this.#t.appendChild(t);this.appendChild(t)}});function Ca(e){return e===`tool`||e===`sprinkle`}var wa=D(`
|
|
3897
3909
|
:host { display: none; flex: 0 0 auto; }
|
|
3898
3910
|
:host([kind="tool"]), :host([kind="sprinkle"]) { display: inline-block; }
|
|
3899
3911
|
.ptag {
|
|
@@ -3912,7 +3924,7 @@ slicc-pane .slicc-pane__body {
|
|
|
3912
3924
|
background: color-mix(in srgb, var(--violet) 22%, var(--canvas));
|
|
3913
3925
|
border-color: color-mix(in srgb, var(--violet) 38%, var(--line));
|
|
3914
3926
|
}
|
|
3915
|
-
`);w(`slicc-pane-tag`,class extends HTMLElement{static observedAttributes=[`kind`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
3927
|
+
`);w(`slicc-pane-tag`,class extends HTMLElement{static observedAttributes=[`kind`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[wa]}connectedCallback(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}get kind(){let e=this.getAttribute(`kind`);return Ca(e)?e:null}set kind(e){e==null?this.removeAttribute(`kind`):this.setAttribute(`kind`,e)}#t(){let e=E(`span`,{class:`ptag`,part:`tag`},E(`slot`,null,this.kind??``));this.#e.replaceChildren(e)}});var Ta=`
|
|
3916
3928
|
slicc-press-button {
|
|
3917
3929
|
display: inline-flex;
|
|
3918
3930
|
}
|
|
@@ -4004,7 +4016,7 @@ slicc-press-button {
|
|
|
4004
4016
|
animation: none;
|
|
4005
4017
|
}
|
|
4006
4018
|
}
|
|
4007
|
-
`,
|
|
4019
|
+
`,Ea=`slicc-press-button-style`;function Da(e){if(e.getElementById(Ea))return;let t=e.createElement(`style`);t.id=Ea,t.textContent=Ta,(e.head??e.documentElement).appendChild(t)}var Oa=`slicc-press-btn`,ka=`is-squish`,Aa=`is-wobble`;w(`slicc-press-button`,class extends HTMLElement{static get observedAttributes(){return[`label`,`tooltip`,`tooltip-pos`,`disabled`]}innerBtn=null;pressLayer=null;handle=null;initialized=!1;pendingShortTimer=null;pendingShortEvent=null;animEndListener=null;connectedCallback(){Da(this.ownerDocument),this.initialized?this.handle===null&&this.attachGesture():this.initialize(),this.syncAttributes()}disconnectedCallback(){this.handle?.destroy(),this.handle=null,this.clearPendingShort(),this.clearRipple(),this.clearAnimation()}attributeChangedCallback(){this.initialized&&this.syncAttributes()}get disabled(){return this.hasAttribute(`disabled`)}set disabled(e){this.toggleAttribute(`disabled`,e)}get label(){return this.getAttribute(`label`)}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}get tooltip(){return this.getAttribute(`tooltip`)}set tooltip(e){e==null?this.removeAttribute(`tooltip`):this.setAttribute(`tooltip`,e)}setIcon(e){this.initialized||this.initialize();let t=this.innerBtn,n=this.pressLayer;for(let e of Array.from(t.childNodes))e!==n&&e.remove();let r=new DOMParser().parseFromString(e,`text/html`).body;for(;r.firstChild;)t.appendChild(r.firstChild)}focus(e){this.initialized||this.initialize(),this.innerBtn?.focus(e)}initialize(){this.initialized=!0;let e=E(`span`,{class:`${Oa}__press-layer`,part:`press-layer`}),t=E(`button`,{type:`button`,class:`${Oa}__btn`,part:`button`},e);for(;this.firstChild;)t.appendChild(this.firstChild);this.appendChild(t),this.innerBtn=t,this.pressLayer=e,this.attachGesture()}syncAttributes(){let e=this.innerBtn;if(!e)return;let t=this.getAttribute(`label`);t==null?e.removeAttribute(`aria-label`):e.setAttribute(`aria-label`,t);let n=this.getAttribute(`tooltip`);n==null?delete e.dataset.tooltip:e.dataset.tooltip=n;let r=this.getAttribute(`tooltip-pos`);r==null?delete e.dataset.tooltipPos:e.dataset.tooltipPos=r,this.hasAttribute(`disabled`)?e.setAttribute(`disabled`,``):e.removeAttribute(`disabled`)}longPressMs(){let e=this.getAttribute(`long-press-ms`);if(e==null)return zn;let t=Number(e);return Number.isFinite(t)&&t>0?t:zn}doubleClickMs(){let e=this.getAttribute(`double-click-ms`);if(e==null)return 350;let t=Number(e);return Number.isFinite(t)&&t>0?t:350}doubleClickDisabled(){return this.hasAttribute(`disable-double-click`)}emit(e,t){e===`short-click`?this.playAnimation(ka):e===`double-click`&&this.playAnimation(Aa);let n=t?{sourceEvent:t}:{};this.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n}))}playAnimation(e){let t=this.innerBtn;if(!t)return;this.clearAnimation(),t.offsetWidth,t.classList.add(e);let n=e=>{e.target===t&&this.clearAnimation()};this.animEndListener=n,t.addEventListener(`animationend`,n)}clearAnimation(){let e=this.innerBtn;e&&(this.animEndListener&&=(e.removeEventListener(`animationend`,this.animEndListener),null),e.classList.remove(ka,Aa))}clearPendingShort(){this.pendingShortTimer!==null&&(clearTimeout(this.pendingShortTimer),this.pendingShortTimer=null),this.pendingShortEvent=null}attachGesture(){this.handle=Bn(this,{longPressMs:this.longPressMs(),onPressStart:e=>this.paintRipple(e),onPressEnd:()=>this.clearRipple(),onLongPress:()=>{if(this.pendingShortTimer!==null){this.clearPendingShort(),this.emit(`double-click`);return}this.emit(`long-press`)},onShortClick:e=>{if(this.doubleClickDisabled()){this.emit(`short-click`,e);return}if(this.pendingShortTimer!==null){this.clearPendingShort(),this.emit(`double-click`,e);return}this.pendingShortEvent=e,this.pendingShortTimer=setTimeout(()=>{this.pendingShortTimer=null;let e=this.pendingShortEvent;this.pendingShortEvent=null,this.emit(`short-click`,e??void 0)},this.doubleClickMs())}})}paintRipple(e){this.clearRipple();let t=this.pressLayer;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=e.clientY-n.top,a=Math.max(r,n.width-r),o=Math.max(i,n.height-i),s=Math.ceil(Math.hypot(a,o))+2,c=this.ownerDocument.createElement(`span`);c.className=`${Oa}__press`,c.style.left=`${r}px`,c.style.top=`${i}px`,c.style.width=`0px`,c.style.height=`0px`,c.style.transitionDuration=`${this.longPressMs()}ms`,t.appendChild(c),requestAnimationFrame(()=>{c.isConnected&&(c.style.width=`${s*2}px`,c.style.height=`${s*2}px`)})}clearRipple(){let e=this.pressLayer;if(e)for(;e.firstChild;)e.firstChild.remove()}});var ja=D(`
|
|
4008
4020
|
:host { display: inline-flex; }
|
|
4009
4021
|
:host([hidden]) { display: none; }
|
|
4010
4022
|
|
|
@@ -4034,7 +4046,7 @@ slicc-press-button {
|
|
|
4034
4046
|
outline: 2px solid var(--violet);
|
|
4035
4047
|
outline-offset: 2px;
|
|
4036
4048
|
}
|
|
4037
|
-
`);w(`slicc-swatch`,class extends HTMLElement{static observedAttributes=[`color`,`hue`,`selected`,`label`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
4049
|
+
`);w(`slicc-swatch`,class extends HTMLElement{static observedAttributes=[`color`,`hue`,`selected`,`label`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[ja]}connectedCallback(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}get color(){return this.getAttribute(`color`)}set color(e){e==null?this.removeAttribute(`color`):this.setAttribute(`color`,e)}get hue(){return this.hasAttribute(`hue`)}set hue(e){this.toggleAttribute(`hue`,!!e)}get selected(){return this.hasAttribute(`selected`)}set selected(e){this.toggleAttribute(`selected`,!!e)}get label(){return this.getAttribute(`label`)}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}#t(){let e=this.color,t=[`sw`];this.hue&&t.push(`hue`),this.selected&&t.push(`on`);let n=E(`button`,{type:`button`,part:`button`,class:t.join(` `),"aria-pressed":this.selected?`true`:`false`,"aria-label":this.label??e??`color swatch`},E(`slot`));e&&n.style.setProperty(`--swatch-color`,e),n.addEventListener(`click`,this.#n),this.#e.replaceChildren(n)}#n=()=>{this.selected=!0,this.dispatchEvent(new CustomEvent(`select`,{detail:{color:this.color},bubbles:!0,composed:!0}))}});var Ma=new Set([`rose`,`cyan`,`violet`,`amber`,`waffle`,`green`]),Na=D(`
|
|
4038
4050
|
:host {
|
|
4039
4051
|
display: inline-flex;
|
|
4040
4052
|
vertical-align: middle;
|
|
@@ -4094,7 +4106,7 @@ slicc-press-button {
|
|
|
4094
4106
|
:host-context(.dark)[hue="amber"] .tag, :host-context([data-theme="dark"])[hue="amber"] .tag { background: color-mix(in srgb, var(--amber) 22%, var(--canvas)); border-color: color-mix(in srgb, var(--amber) 38%, var(--line)); }
|
|
4095
4107
|
:host-context(.dark)[hue="waffle"] .tag, :host-context([data-theme="dark"])[hue="waffle"] .tag { background: color-mix(in srgb, var(--waffle) 22%, var(--canvas)); border-color: color-mix(in srgb, var(--waffle) 38%, var(--line)); }
|
|
4096
4108
|
:host-context(.dark)[hue="green"] .tag, :host-context([data-theme="dark"])[hue="green"] .tag { background: color-mix(in srgb, var(--green) 22%, var(--canvas)); border-color: color-mix(in srgb, var(--green) 38%, var(--line)); }
|
|
4097
|
-
`);w(`slicc-tag`,class extends HTMLElement{static observedAttributes=[`hue`,`label`,`dot`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
4109
|
+
`);w(`slicc-tag`,class extends HTMLElement{static observedAttributes=[`hue`,`label`,`dot`];#e;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[Na]}connectedCallback(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}get hue(){let e=this.getAttribute(`hue`);return e&&Ma.has(e)?e:null}set hue(e){e==null?this.removeAttribute(`hue`):this.setAttribute(`hue`,e)}get label(){return this.getAttribute(`label`)}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}get dot(){return this.hasAttribute(`dot`)}set dot(e){e?this.setAttribute(`dot`,``):this.removeAttribute(`dot`)}#t(){let e=this.label??E(`slot`),t=E(`span`,{class:`tag`,part:`tag`},this.dot?E(`span`,{class:`dot`,part:`dot`}):null,E(`span`,{class:`label`,part:`label`},e));this.#e.replaceChildren(t)}});var Pa=D(`
|
|
4098
4110
|
:host {
|
|
4099
4111
|
position: fixed;
|
|
4100
4112
|
inset: 0;
|
|
@@ -4189,7 +4201,7 @@ video {
|
|
|
4189
4201
|
color: var(--txt-3, #717171);
|
|
4190
4202
|
font-size: 13px;
|
|
4191
4203
|
}
|
|
4192
|
-
`),
|
|
4204
|
+
`),Y=null,X=null,Fa=class e extends HTMLElement{#e;#t=[];constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[Pa]}disconnectedCallback(){for(let e of this.#t)URL.revokeObjectURL(e);this.#t.length=0,Y===this&&(Y=null)}static open(t){e.close();let r=document.createElement(`slicc-quick-look`),i=t.path.split(`/`).pop()||t.path,a=E(`div`,{class:`backdrop`}),o=E(`button`,{class:`x`});o.appendChild(n(`x`,{size:14}));let s=E(`div`,{class:`header`},i,o),c=E(`div`,{class:`content`});c.appendChild(r.#r(t));let l=E(`div`,{class:`panel`},s,c);l.tabIndex=-1,r.#e.append(a,l),document.body.appendChild(r),Y=r,l.focus(),a.addEventListener(`click`,()=>r.#n(`backdrop`)),o.addEventListener(`click`,()=>r.#n(`close-button`)),X&&document.removeEventListener(`keydown`,X),X=e=>{e.key===`Escape`&&r.#n(`escape`)},document.addEventListener(`keydown`,X)}static close(){if(Y){for(let e of Y.#t)URL.revokeObjectURL(e);Y.remove(),Y=null}X&&=(document.removeEventListener(`keydown`,X),null)}#n(t){this.dispatchEvent(new CustomEvent(`quick-look-close`,{bubbles:!0,composed:!0,detail:{reason:t}})),e.close()}#r(e){let t=e.mimeType;if(t.startsWith(`text/`)||t===`application/json`)return E(`pre`,null,typeof e.content==`string`?e.content:new TextDecoder().decode(e.content));if(t.startsWith(`image/`)){let n=new Blob([typeof e.content==`string`?new TextEncoder().encode(e.content):e.content],{type:t}),r=document.createElement(`img`),i=URL.createObjectURL(n);return this.#t.push(i),r.src=i,r.alt=e.path.split(`/`).pop()||``,r}if(t.startsWith(`audio/`)){let n=new Blob([typeof e.content==`string`?new TextEncoder().encode(e.content):e.content],{type:t}),r=document.createElement(`audio`);r.controls=!0;let i=URL.createObjectURL(n);return this.#t.push(i),r.src=i,r}if(t.startsWith(`video/`)){let n=new Blob([typeof e.content==`string`?new TextEncoder().encode(e.content):e.content],{type:t}),r=document.createElement(`video`);r.controls=!0;let i=URL.createObjectURL(n);return this.#t.push(i),r.src=i,r}return E(`div`,{class:`fallback`},`Preview not available for this file type (${Ia(typeof e.content==`string`?e.content.length:e.content.byteLength)})`)}};function Ia(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}w(`slicc-quick-look`,Fa);var La=`
|
|
4193
4205
|
.slicc-chatpane {
|
|
4194
4206
|
flex: 0 0 auto;
|
|
4195
4207
|
width: calc(100% - 48px);
|
|
@@ -4234,7 +4246,7 @@ video {
|
|
|
4234
4246
|
-webkit-mask-image: none;
|
|
4235
4247
|
mask-image: none;
|
|
4236
4248
|
}
|
|
4237
|
-
`,
|
|
4249
|
+
`,Ra=`slicc-chatpane-style`;function za(e){if(e.getElementById(Ra))return;let t=e.createElement(`style`);t.id=Ra,t.textContent=La,(e.head??e.documentElement).appendChild(t)}var Ba=[`slicc-chat-thread`,`slicc-composer`];w(`slicc-chatpane`,class extends HTMLElement{static observedAttributes=[`narrow`];#e=null;#t=!1;connectedCallback(){za(this.ownerDocument),this.classList.add(`slicc-chatpane`),this.setAttribute(`part`,`pane`),this.#t=!0,this.#n(),this.#r()}disconnectedCallback(){this.#e?.disconnect(),this.#e=null}attributeChangedCallback(e,t,n){e!==`narrow`||t===n||this.isConnected&&(this.#n(),this.dispatchEvent(new CustomEvent(`slicc-chatpane-narrow-change`,{detail:{narrow:this.narrow},bubbles:!0,composed:!0})))}get narrow(){return this.hasAttribute(`narrow`)}set narrow(e){e?this.setAttribute(`narrow`,``):this.removeAttribute(`narrow`)}get nav(){return this.querySelector(`:scope > slicc-nav`)}get thread(){return this.querySelector(`:scope > slicc-chat-thread`)}get composer(){return this.querySelector(`:scope > slicc-composer`)}#n(){if(!this.#t)return;let e=this.narrow;for(let t of Ba)for(let n of this.querySelectorAll(`:scope > ${t}`))e?n.setAttribute(`open`,``):n.removeAttribute(`open`)}#r(){this.#e||(this.#e=new MutationObserver(()=>this.#n()),this.#e.observe(this,{childList:!0}))}});var Va=`
|
|
4238
4250
|
.slicc-shell { display: flex; flex: 1; min-height: 0; }
|
|
4239
4251
|
.slicc-shell > slicc-chatpane,
|
|
4240
4252
|
.slicc-shell > .chatpane {
|
|
@@ -4329,7 +4341,7 @@ video {
|
|
|
4329
4341
|
/* Hide the resize divider on narrow viewports (overlay mode). */
|
|
4330
4342
|
.slicc-shell > .slicc-shell__divider { display: none !important; }
|
|
4331
4343
|
}
|
|
4332
|
-
`,
|
|
4344
|
+
`,Ha=`slicc-shell-style`;function Ua(e){if(e.getElementById(Ha))return;let t=e.createElement(`style`);t.id=Ha,t.textContent=Va,(e.head??e.documentElement).appendChild(t)}w(`slicc-shell`,class e extends HTMLElement{static observedAttributes=[`open`,`url-state`];#e=null;#t=null;#n=!1;#r=null;#i=e=>{if(!this.urlState)return;let t=e.detail?.id;typeof t==`string`&&k(`ws`,t)};#a=()=>{this.urlState&&k(`ws`,null)};#o=()=>{if(!this.urlState)return;let e=O(`ws`);e?this.#s(e):this.open&&this.collapse()};connectedCallback(){if(Ua(this.ownerDocument),this.classList.add(`slicc-shell`),this.setAttribute(`part`,`shell`),this.#n=!0,this.#p(),this.#m(),this.#c(),this.#e=e=>{let t=e.detail?.id;typeof t==`string`&&this.select(t)},this.#t=()=>this.collapse(),this.addEventListener(`dock-select`,this.#e),this.addEventListener(`dock-collapse`,this.#t),this.addEventListener(`slicc-dock-select`,this.#i),this.addEventListener(`slicc-dock-collapse`,this.#a),this.urlState){window.addEventListener(`popstate`,this.#o);let e=O(`ws`);e&&queueMicrotask(()=>this.#s(e))}}disconnectedCallback(){this.#e&&this.removeEventListener(`dock-select`,this.#e),this.#t&&this.removeEventListener(`dock-collapse`,this.#t),this.#e=null,this.#t=null,this.removeEventListener(`slicc-dock-select`,this.#i),this.removeEventListener(`slicc-dock-collapse`,this.#a),window.removeEventListener(`popstate`,this.#o),this.#r?.remove(),this.#r=null}get urlState(){return this.hasAttribute(`url-state`)}set urlState(e){this.toggleAttribute(`url-state`,e)}#s(e){this.dock?.selectItem?.(e)}attributeChangedCallback(e,t,n){e===`open`&&t!==n&&this.isConnected&&this.#c()}get open(){return this.hasAttribute(`open`)}set open(e){this.toggleAttribute(`open`,e)}get chatpane(){return this.querySelector(`:scope > slicc-chatpane, :scope > .chatpane`)}get workbench(){return this.querySelector(`:scope > slicc-workbench-pane, :scope > .workbench`)}get dock(){return this.querySelector(`:scope > slicc-dock, :scope > .dock`)}select(e){this.open=!0,this.#l(e),this.dispatchEvent(new CustomEvent(`slicc-shell-select`,{detail:{id:e},bubbles:!0,composed:!0}))}collapse(){this.open=!1,this.dock?.clearActive?.(),this.dispatchEvent(new CustomEvent(`slicc-shell-collapse`,{bubbles:!0,composed:!0}))}#c(){if(!this.#n)return;let e=this.open;this.chatpane?.toggleAttribute(`narrow`,e),this.workbench?.toggleAttribute(`open`,e)}#l(e){this.dock?.selectItem?.(e);let t=this.workbench;t?.selectSurface&&t.selectSurface(e),this.#c()}static#u=`slicc-shell-chat-w`;static#d=.2;static#f=.8;#p(){if(this.#r)return;let e=this.workbench;if(!e)return;let t=this.ownerDocument.createElement(`div`);t.className=`slicc-shell__divider`,t.setAttribute(`role`,`separator`),t.setAttribute(`aria-orientation`,`vertical`),this.insertBefore(t,e),this.#r=t,this.#h(t)}#m(){try{let t=localStorage.getItem(e.#u);t&&this.style.setProperty(`--slicc-chat-w`,t)}catch{}}#h(t){t.addEventListener(`pointerdown`,n=>{if(n.button!==0)return;n.preventDefault(),t.setPointerCapture(n.pointerId),this.toggleAttribute(`dragging`,!0);let r=t=>{let n=this.getBoundingClientRect();if(n.width<=0)return;let r=t.clientX-n.left,i=Math.max(e.#d,Math.min(e.#f,r/n.width));this.style.setProperty(`--slicc-chat-w`,`${(i*100).toFixed(1)}%`)},i=()=>{this.removeAttribute(`dragging`),t.removeEventListener(`pointermove`,r),t.removeEventListener(`pointerup`,i),t.removeEventListener(`pointercancel`,i);try{let t=this.style.getPropertyValue(`--slicc-chat-w`);t&&localStorage.setItem(e.#u,t)}catch{}};t.addEventListener(`pointermove`,r),t.addEventListener(`pointerup`,i),t.addEventListener(`pointercancel`,i)}),t.addEventListener(`dblclick`,()=>{this.style.removeProperty(`--slicc-chat-w`);try{localStorage.removeItem(e.#u)}catch{}})}});var Wa=D(`
|
|
4333
4345
|
:host{display:inline-block;}
|
|
4334
4346
|
.switcher-more{position:relative;}
|
|
4335
4347
|
.morebtn{display:none;font:inherit;font-size:13px;font-weight:600;color:var(--txt-2);background:transparent;border:1px solid var(--line);border-radius:9999px;height:var(--ctl-h,30px);padding:0 11px;cursor:pointer;line-height:1;align-items:center;}
|
|
@@ -4351,10 +4363,10 @@ video {
|
|
|
4351
4363
|
.pop slicc-pill::part(label){display:block;}
|
|
4352
4364
|
.pop slicc-pill::part(tip){display:none;}
|
|
4353
4365
|
}
|
|
4354
|
-
`);w(`slicc-scoop-overflow`,class extends HTMLElement{static observedAttributes=[`open`];#e;#t=[];#n;#r;#i;#a=e=>{this.open&&!this.contains(e.target)&&this.close()};constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[
|
|
4366
|
+
`);w(`slicc-scoop-overflow`,class extends HTMLElement{static observedAttributes=[`open`];#e;#t=[];#n;#r;#i;#a=e=>{this.open&&!this.contains(e.target)&&this.close()};constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[Wa]}connectedCallback(){this.#o()}disconnectedCallback(){document.removeEventListener(`click`,this.#a)}attributeChangedCallback(e){e===`open`&&this.#n&&this.#c()}get items(){return this.#t}set items(e){this.#t=Array.isArray(e)?e:[],this.isConnected&&this.#s()}get count(){return this.#t.length}get hasOverflow(){return this.#t.length>0}get open(){return this.hasAttribute(`open`)}set open(e){this.toggleAttribute(`open`,e)}show(){this.open||=!0}close(){this.open&&=!1}toggle(){this.open=!this.open}#o(){let e=E(`slot`,{name:`more`},`⋯`);this.#r=E(`button`,{class:`morebtn`,part:`more`,type:`button`,title:`More scoops`,"aria-haspopup":`true`,"aria-expanded":`false`},e),this.#i=E(`div`,{class:`pop`,part:`pop`}),this.#n=E(`div`,{class:`switcher-more`,part:`wrap`},this.#r,this.#i),this.#r.addEventListener(`click`,e=>{e.stopPropagation(),this.toggle()}),this.#e.replaceChildren(this.#n),this.#s(),this.#c()}#s(){let e=this.#t.length;if(e>0?this.setAttribute(`count`,String(e)):this.removeAttribute(`count`),this.#n.classList.toggle(`has-overflow`,e>0),this.#r.setAttribute(`aria-haspopup`,`true`),e===0){this.#i.replaceChildren(E(`slot`,{name:`empty`})),this.open&&this.close();return}let t=[];this.#t.forEach((e,n)=>{let r=e.id,i=e.label??e.id,a=E(`slicc-pill`,{class:`scoop`,part:`pill`,"data-k":r,type:e.type===`cone`?`cone`:`scoop`,eyes:e.eyes===`open`||e.eyes===`dead`?e.eyes:`none`,color:e.color??!1,label:i,style:`--i:${n}`});a.addEventListener(`click`,()=>{let e=a.dataset.k??``,t=this.#t.find(t=>t.id===e);this.#l(e,t?.label??e)}),t.push(a)}),this.#i.replaceChildren(...t)}#c(){let e=this.open;this.#n.classList.toggle(`open`,e),this.#r.setAttribute(`aria-expanded`,e?`true`:`false`),document.removeEventListener(`click`,this.#a),e&&document.addEventListener(`click`,this.#a)}#l(e,t){this.dispatchEvent(new CustomEvent(`slicc-scoop-select`,{detail:{id:e,label:t},bubbles:!0,composed:!0})),this.close()}});var Ga={cone:`var(--waffle)`,researcher:`var(--cyan)`,designer:`var(--violet)`,tester:`var(--amber)`,triage:`var(--green)`},Ka=40,Z=6,qa=`
|
|
4355
4367
|
.slicc-scoop-switcher {
|
|
4356
4368
|
display: flex;
|
|
4357
|
-
gap: ${
|
|
4369
|
+
gap: ${Z}px;
|
|
4358
4370
|
flex-wrap: nowrap;
|
|
4359
4371
|
min-width: 0;
|
|
4360
4372
|
overflow: hidden;
|
|
@@ -4402,7 +4414,7 @@ video {
|
|
|
4402
4414
|
.slicc-scoop-switcher .scoop { width: 34px; }
|
|
4403
4415
|
.slicc-scoop-switcher slicc-pill.scoop { --pill-w: 34px; }
|
|
4404
4416
|
}
|
|
4405
|
-
`,
|
|
4417
|
+
`,Ja=`slicc-scoop-switcher-style`;function Ya(e){if(e.getElementById(Ja))return;let t=e.createElement(`style`);t.id=Ja,t.textContent=qa,(e.head??e.documentElement).appendChild(t)}function Xa(e){return Ga[e]??`var(--rose)`}function Za(e,t){let n=e.getAttribute(`eyes`);return n===`open`||n===`none`||n===`dead`?n:t}w(`slicc-scoop-switcher`,class extends HTMLElement{static get observedAttributes(){return[`active`,`attention`]}#e=[];#t=null;#n=null;#r=!1;#i=null;#a=null;#o=!1;#s=null;#c=e=>{let t=this.#p(e);t!==this.#s&&(this.#s=t,this.#h())};#l=()=>{this.#s!==null&&(this.#s=null,this.#h())};connectedCallback(){Ya(this.ownerDocument),this.classList.add(`slicc-scoop-switcher`),this.setAttribute(`part`,`row`),this.#o||=(this.#d(),!0),this.#a||(this.#a=e=>this.#y(e),this.addEventListener(`click`,this.#a)),this.addEventListener(`pointerover`,this.#c),this.addEventListener(`pointerleave`,this.#l),this.#f(),this.#b(),requestAnimationFrame(()=>this.reflow())}disconnectedCallback(){this.#n?.disconnect(),this.#n=null,this.#i!==null&&(cancelAnimationFrame(this.#i),this.#i=null),this.#a&&=(this.removeEventListener(`click`,this.#a),null),this.removeEventListener(`pointerover`,this.#c),this.removeEventListener(`pointerleave`,this.#l)}attributeChangedCallback(e){this.#o&&(e===`active`?this.#g():e===`attention`&&this.#h())}get scoops(){return this.#e.map(e=>({...e}))}set scoops(e){this.#e=Array.isArray(e)?e.map(e=>({...e})):[],this.#o&&this.isConnected&&(this.#f(),this.reflow())}get attention(){return this.getAttribute(`attention`)}set attention(e){e==null?this.removeAttribute(`attention`):this.setAttribute(`attention`,e)}get active(){return this.getAttribute(`active`)}set active(e){e==null?this.removeAttribute(`active`):this.setAttribute(`active`,e)}reflow(){if(!(!this.isConnected||this.#r)){this.#r=!0;try{this.#u()}finally{this.#r=!1}}}#u(){let e=[...this.querySelectorAll(`slicc-pill.scoop`)];for(let t of e)t.classList.remove(`hide`);let t=e.filter(e=>e.offsetParent!==null||e.offsetWidth>0);if(t.length===0){this.#_([]);return}let n=this.clientWidth;if(n<=0){this.#_([]),requestAnimationFrame(()=>{this.isConnected&&this.clientWidth>0&&this.reflow()});return}let r=t.map(e=>e.offsetWidth);if(r.reduce((e,t)=>e+t,0)+Z*Math.max(0,t.length-1)<=n+1){this.#_([]);return}let i=Math.max(0,n-Ka),a=[],o=0;t.forEach((e,t)=>{if(t===0){o+=r[t];return}let n=Z+r[t];a.length===0&&o+n<=i?o+=n:(e.classList.add(`hide`),a.push(e))}),this.#_(a)}select(e){this.active=e;let t=this.#e.find(t=>t.key===e)?.label??e;this.dispatchEvent(new CustomEvent(`slicc-scoop-select`,{detail:{id:e,key:e,label:t},bubbles:!0,composed:!0}))}#d(){let e=[...this.querySelectorAll(`slicc-pill`)];if(e.length===0)return;let t=e.map(e=>{let t=e.dataset.k??e.getAttribute(`label`)??``,n=e.getAttribute(`type`)===`cone`?`cone`:`scoop`;return{key:t,type:n,color:e.getAttribute(`color`)??void 0,label:e.getAttribute(`label`)??t,eyes:Za(e,n===`cone`?`open`:`none`),ephemeral:e.classList.contains(`ephemeral`)}});for(let t of e)t.remove();this.#e.length===0&&(this.#e=t)}#f(){let e=this.active,t=this.#e.map(t=>{let n=t.key,r=t.type===`cone`||n===`cone`?`cone`:`scoop`,i=t.label??n,a=t.eyes??(r===`cone`?`open`:`none`),o=e!=null&&e===n,s=Xa(n);return E(`slicc-pill`,{class:`scoop${t.ephemeral?` ephemeral`:``}`,"data-k":n,type:r,color:t.color?t.color:!1,eyes:a,fill:typeof t.fill==`number`&&Number.isFinite(t.fill)?String(Math.round(Math.min(100,Math.max(0,t.fill)))):!1,label:i,active:o,style:`--h:${s}`})});this.replaceChildren(...t),this.#h()}#p(e){let t=e.target?.closest?.(`slicc-pill.scoop`);return t&&this.contains(t)?t.dataset.k??null:null}#m(e){let t=this.#e.find(t=>t.key===e),n=t?.type===`cone`||e===`cone`?`cone`:`scoop`;return t?.eyes??(n===`cone`?`open`:`none`)}#h(){let e=this.attention;for(let t of this.querySelectorAll(`slicc-pill.scoop`)){let n=t.dataset.k??``,r=this.#s===null?e!==null&&e===n:this.#s===n,i=this.#m(n);t.setAttribute(`eyes`,r?i:`none`),t.toggleAttribute(`blink`,r&&this.#s===null&&i===`open`)}}#g(){let e=this.active;for(let t of this.querySelectorAll(`slicc-pill.scoop`)){let n=t.dataset.k===e;t.classList.toggle(`active`,n),t.toggleAttribute(`active`,n)}}#_(e){if(e.length===0){this.#t&&(this.#t.items=[]);return}let t=this.#v();t.items=e.map(e=>{let t=e.dataset.k??``;return{id:t,label:e.getAttribute(`label`)??t,type:e.getAttribute(`type`)===`cone`?`cone`:`scoop`,color:e.getAttribute(`color`)??void 0,eyes:Za(e,e.getAttribute(`type`)===`cone`?`open`:`none`)}})}#v(){if(this.#t)return this.#t;let e=this.ownerDocument.createElement(`slicc-scoop-overflow`);return e.addEventListener(`slicc-scoop-select`,e=>{let t=e.detail?.id;typeof t==`string`&&(e.stopPropagation(),this.select(t))}),this.after(e),this.#t=e,e}#y(e){let t=e.target?.closest(`slicc-pill.scoop`);if(!t||!this.contains(t))return;let n=t.dataset.k;n&&this.select(n)}#b(){this.#n||typeof ResizeObserver>`u`||(this.#n=new ResizeObserver(()=>{this.#i===null&&(this.#i=requestAnimationFrame(()=>{this.#i=null,this.reflow()}))}),this.#n.observe(this),this.parentElement&&this.#n.observe(this.parentElement))}});var Qa=`/**
|
|
4406
4418
|
* SLICC design tokens — lifted verbatim from the prototype
|
|
4407
4419
|
* (proto/StellarRubySwift.html :root + body.dark). Light is the default; dark is
|
|
4408
4420
|
* opt-in. Per project decision the prototype's token vocabulary and light-default
|
|
@@ -4466,7 +4478,7 @@ video {
|
|
|
4466
4478
|
--shaderbg: #171410;
|
|
4467
4479
|
--shadow-pane: rgba(0, 0, 0, 0.35) 0 8px 26px -10px;
|
|
4468
4480
|
}
|
|
4469
|
-
|
|
4481
|
+
`,$a=`slicc-tokens`;function eo(e=document){if(e.getElementById($a))return;let t=e.createElement(`style`);t.id=$a,t.textContent=Qa,(e.head??e.documentElement).appendChild(t)}function Q(e,t=document.body){t.classList.toggle(`dark`,e===`dark`),t.setAttribute(`data-theme`,e)}function to(e=document.body){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(`(prefers-color-scheme: dark)`),n=()=>Q(t.matches?`dark`:`light`,e);return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}var no=D(`
|
|
4470
4482
|
:host { display: inline-flex; flex: 0 0 auto; }
|
|
4471
4483
|
.themetgl {
|
|
4472
4484
|
font: inherit; font-family: var(--ui); font-size: 14px; line-height: 1;
|
|
@@ -4478,7 +4490,7 @@ video {
|
|
|
4478
4490
|
}
|
|
4479
4491
|
.themetgl:hover { background: color-mix(in srgb, var(--ink) 8%, var(--ghost)); }
|
|
4480
4492
|
.themetgl svg { display: block; }
|
|
4481
|
-
`),
|
|
4493
|
+
`),ro=16,io={light:`moon`,dark:`sun`},ao={light:`Switch to dark mode`,dark:`Switch to light mode`};w(`slicc-theme-toggle`,class extends HTMLElement{static observedAttributes=[`theme`];#e;#t=null;#n=!1;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[no];let e=E(`button`,{class:`themetgl`,part:`button`,type:`button`,"aria-pressed":`false`},E(`slot`,{name:`glyph-light`},n(io.light,{size:ro})),E(`slot`,{name:`glyph-dark`,hidden:!0},n(io.dark,{size:ro})));this.#e.replaceChildren(e),this.#t=e}connectedCallback(){this.#t?.addEventListener(`click`,this.#i),this.#a(this.theme??`light`,{silent:!0})}disconnectedCallback(){this.#t?.removeEventListener(`click`,this.#i)}attributeChangedCallback(e,t,n){e!==`theme`||t===n||this.#n||this.isConnected&&this.#a(this.#r(n)??`light`,{silent:!0})}get theme(){return this.#r(this.getAttribute(`theme`))}set theme(e){this.#a(e===`dark`?`dark`:`light`,{silent:!0})}get pressed(){return this.theme===`dark`}#r(e){return e===`dark`?`dark`:e===`light`?`light`:null}#i=()=>{this.#a(this.theme===`dark`?`light`:`dark`)};#a(e,t={}){this.#n=!0;try{if(Q(e),this.getAttribute(`theme`)!==e&&this.setAttribute(`theme`,e),this.#t){this.#t.setAttribute(`aria-pressed`,e===`dark`?`true`:`false`),this.#t.title=ao[e];let t=this.#e.querySelector(`slot[name="glyph-light"]`),n=this.#e.querySelector(`slot[name="glyph-dark"]`);t?.toggleAttribute(`hidden`,e===`dark`),n?.toggleAttribute(`hidden`,e===`light`)}for(let t of document.querySelectorAll(`slicc-pill, slicc-add-menu`))t.setAttribute(`theme`,e)}finally{this.#n=!1}t.silent||this.dispatchEvent(new CustomEvent(`slicc-theme-change`,{detail:{theme:e},bubbles:!0,composed:!0}))}}),w(`slicc-theme`,class extends HTMLElement{static observedAttributes=[`theme`];connectedCallback(){eo(this.ownerDocument),this.classList.add(`slicc-theme`),this.#e()}attributeChangedCallback(e,t,n){e===`theme`&&t!==n&&this.isConnected&&this.#e()}get theme(){return this.getAttribute(`theme`)===`dark`?`dark`:`light`}set theme(e){this.setAttribute(`theme`,e===`dark`?`dark`:`light`)}#e(){let e=this.theme;Q(e,this),this.dispatchEvent(new CustomEvent(`slicc-theme-change`,{detail:{theme:e},bubbles:!0,composed:!0}))}});function oo(e){switch(e.slice(e.lastIndexOf(`.`)).toLowerCase()){case`.png`:case`.jpg`:case`.jpeg`:case`.gif`:case`.webp`:case`.svg`:return`image`;case`.mp3`:case`.wav`:case`.ogg`:case`.m4a`:case`.flac`:return`music`;case`.mp4`:case`.webm`:case`.mov`:case`.avi`:return`film`;case`.json`:return`braces`;case`.md`:return`file-text`;case`.html`:case`.htm`:return`globe`;case`.css`:return`palette`;case`.ts`:case`.js`:case`.tsx`:case`.jsx`:case`.mjs`:case`.cjs`:return`file-code`;case`.zip`:case`.tar`:case`.gz`:case`.bz2`:return`file-archive`;case`.pdf`:return`file-text`;default:return`file`}}function so(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+`K`:e<1024*1024*1024?(e/(1024*1024)).toFixed(1)+`M`:(e/(1024*1024*1024)).toFixed(1)+`G`}var co=`
|
|
4482
4494
|
slicc-file-tree {
|
|
4483
4495
|
width: 190px;
|
|
4484
4496
|
flex: 0 0 auto;
|
|
@@ -4626,7 +4638,7 @@ slicc-file-tree .actions button:active {
|
|
|
4626
4638
|
[data-theme="dark"] slicc-file-tree .dir.on {
|
|
4627
4639
|
background: color-mix(in srgb, var(--violet) 22%, var(--canvas));
|
|
4628
4640
|
}
|
|
4629
|
-
`,
|
|
4641
|
+
`,lo=`slicc-file-tree-style`;function uo(e){if(e.getElementById(lo))return;let t=e.createElement(`style`);t.id=lo,t.textContent=co,(e.head??e.documentElement).appendChild(t)}function fo(e,t){let r=[];for(let i of e)if(i.kind===`group`)r.push(E(`div`,{class:`grp`},i.label));else if(i.kind===`dir`){let e=t.has(i.id);r.push(E(`div`,{class:e?`dir open`:`dir`,"data-dir-id":i.id,"aria-expanded":e?`true`:`false`,tabindex:`0`},n(`chevron-right`,{size:14,class:`chev`}),i.label));let a=E(`div`,{class:`children`,hidden:!e||void 0});T(a,fo(i.children??[],t)),r.push(a)}else{let e=E(`div`,{class:`actions`},E(`button`,{"data-action":`preview`,type:`button`},n(`eye`,{size:14})),E(`button`,{"data-action":`reference`,type:`button`},n(`at-sign`,{size:14})),E(`button`,{"data-action":`download`,type:`button`},n(`arrow-down-to-line`,{size:14})),E(`button`,{"data-action":`overflow`,type:`button`},n(`ellipsis`,{size:14}))),t=E(`div`,{class:`f`,"data-id":i.id,tabindex:`0`},n(oo(i.label),{size:12,class:`ficon`}),i.label,e);i.size!=null&&t.appendChild(E(`span`,{class:`sz`},so(i.size))),r.push(t)}return r}var po=class extends HTMLElement{static get observedAttributes(){return[`selected`]}#e=null;#t=new Map;#n=new Set;#r=!1;#i=null;#a=null;#o=null;connectedCallback(){uo(this.ownerDocument),this.#r||=(this.#e??(this.#e=this.#l(),this.#f()),!0),this.#u(),this.#h(),this.#g()}disconnectedCallback(){this.#i&&=(this.removeEventListener(`click`,this.#i),null),this.#a&&=(this.removeEventListener(`keydown`,this.#a),null),this.#o!=null&&(clearTimeout(this.#o),this.#o=null)}attributeChangedCallback(e){e===`selected`&&this.#r&&this.isConnected&&this.#c()}get items(){return this.#e?this.#e.slice():[]}set items(e){let t=!this.#r;this.#e=Array.isArray(e)?e.slice():[],this.#r=!0,t&&this.#f(),this.isConnected&&(this.#u(),this.#h())}toggleDir(e){if(!this.#p(e,this.#e??[]))return;let t=!this.#n.has(e);t?this.#n.add(e):this.#n.delete(e),this.#u(),this.dispatchEvent(new CustomEvent(`dir-toggle`,{bubbles:!0,composed:!0,detail:{id:e,open:t}}))}isDirOpen(e){return this.#n.has(e)}get selected(){return this.getAttribute(`selected`)}set selected(e){e==null?this.removeAttribute(`selected`):this.setAttribute(`selected`,e)}selectFile(e){let t=this.querySelector(`.f[data-id="${$(e)}"]`);if(!t)return;this.#s(e,t);let n=this.#t.get(e)??e;this.dispatchEvent(new CustomEvent(`file-select`,{bubbles:!0,composed:!0,detail:{id:e,path:n}}))}#s(e,t){this.getAttribute(`selected`)!==e&&this.setAttribute(`selected`,e),this.#c(),t.focus()}#c(){let e=this.getAttribute(`selected`);for(let t of this.querySelectorAll(`.f, .dir`))t.classList.toggle(`on`,(t.dataset.id??t.dataset.dirId)===e)}#l(){let e=[];for(let t of Array.from(this.children)){if(!(t instanceof HTMLElement))continue;let n=(t.textContent??``).trim();if(n)if(t.classList.contains(`grp`)||t.hasAttribute(`data-group`)||t.dataset.group!=null)e.push({kind:`group`,label:n});else{let r=t.dataset.id??t.id??n;e.push({kind:`file`,id:r,label:n})}}return e}#u(){let e=this.contains(document.activeElement),t=this.#e??[];this.#t.clear(),this.#d(t),this.replaceChildren(...fo(t,this.#n)),this.#c();let n=this.getAttribute(`selected`);e&&n!=null&&this.querySelector(`.f[data-id="${$(n)}"], .dir[data-dir-id="${$(n)}"]`)?.focus()}#d(e){for(let t of e)t.kind===`file`?this.#t.set(t.id,t.path??t.label):t.kind===`dir`&&(this.#t.set(t.id,t.path??t.id),this.#d(t.children??[]))}#f(){this.#n.clear();let e=t=>{for(let n of t)n.kind===`dir`&&(n.open&&this.#n.add(n.id),e(n.children??[]))};e(this.#e??[])}#p(e,t){for(let n of t)if(n.kind===`dir`&&(n.id===e||this.#p(e,n.children??[])))return!0;return!1}#m(e){let t=e.dataset.action,n=e.closest(`.f`);if(!n)return!1;let r=n.dataset.id;if(r==null)return!1;let i=this.#t.get(r)??r;return t===`preview`?this.dispatchEvent(new CustomEvent(`file-preview`,{bubbles:!0,composed:!0,detail:{id:r,path:i}})):t===`reference`?this.dispatchEvent(new CustomEvent(`file-reference`,{bubbles:!0,composed:!0,detail:{id:r,path:i}})):t===`download`?this.dispatchEvent(new CustomEvent(`file-download`,{bubbles:!0,composed:!0,detail:{id:r,path:i}})):t===`overflow`&&this.dispatchEvent(new CustomEvent(`file-overflow`,{bubbles:!0,composed:!0,detail:{id:r,path:i,anchor:e}})),!0}#h(){this.#i||(this.#i=e=>{let t=e.target,n=t?.closest(`[data-action]`);if(n&&this.contains(n)&&this.#m(n))return;let r=t?.closest(`.dir`);if(r&&this.contains(r)){let e=r.dataset.dirId;e!=null&&(this.#s(e,r),this.toggleDir(e));return}let i=t?.closest(`.f`);if(!i||!this.contains(i))return;let a=i.dataset.id;a!=null&&this.selectFile(a)},this.addEventListener(`click`,this.#i))}#g(){this.#a||(this.#a=e=>{if(e.key!==`c`||!(e.ctrlKey||e.metaKey))return;let t=this.getAttribute(`selected`);if(t==null)return;let n=this.querySelector(`.f[data-id="${$(t)}"], .dir[data-dir-id="${$(t)}"]`);if(!n)return;e.preventDefault();let r=this.#t.get(t)??t;navigator.clipboard?.writeText(r).then(()=>{this.#o!=null&&clearTimeout(this.#o),n.classList.add(`ft-copy-flash`),this.#o=setTimeout(()=>{n.classList.remove(`ft-copy-flash`),this.#o=null},300)}).catch(()=>void 0)},this.addEventListener(`keydown`,this.#a))}};function $(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}w(`slicc-file-tree`,po);var mo=`
|
|
4630
4642
|
slicc-surface {
|
|
4631
4643
|
position: absolute;
|
|
4632
4644
|
inset: 0;
|
|
@@ -4658,7 +4670,7 @@ slicc-surface:fullscreen {
|
|
|
4658
4670
|
background: var(--canvas, #fff);
|
|
4659
4671
|
position: fixed;
|
|
4660
4672
|
}
|
|
4661
|
-
`,
|
|
4673
|
+
`,ho=`slicc-surface-style`;function go(e){if(e.getElementById(ho))return;let t=e.createElement(`style`);t.id=ho,t.textContent=mo,(e.head??e.documentElement).appendChild(t)}function _o(e){return e===`block`||e===`column`?e:`flex`}w(`slicc-surface`,class extends HTMLElement{static observedAttributes=[`surface-id`,`active`,`layout`];connectedCallback(){go(this.ownerDocument),this.#e()}attributeChangedCallback(e,t,n){this.isConnected&&(e===`surface-id`?this.#e():e===`active`&&t!==n&&this.dispatchEvent(new CustomEvent(`surface-toggle`,{bubbles:!0,composed:!0,detail:{surfaceId:this.surfaceId,active:this.active,layout:this.layout}})))}get surfaceId(){return this.getAttribute(`surface-id`)}set surfaceId(e){e==null?this.removeAttribute(`surface-id`):this.setAttribute(`surface-id`,e)}get active(){return this.hasAttribute(`active`)}set active(e){this.toggleAttribute(`active`,e)}get layout(){return _o(this.getAttribute(`layout`))}set layout(e){this.setAttribute(`layout`,_o(e))}#e(){let e=this.surfaceId;e==null?delete this.dataset.s:this.dataset.s=e}});var vo=D(`
|
|
4662
4674
|
:host{display:inline-flex;white-space:nowrap;}
|
|
4663
4675
|
.tab{display:inline-flex;align-items:center;gap:7px;font-family:var(--ui);font-size:12px;color:var(--txt-2);background:transparent;border:1px solid transparent;border-radius:8px;padding:6px 10px;cursor:pointer;white-space:nowrap;}
|
|
4664
4676
|
.tab:hover{background:var(--ghost);color:var(--ink);}
|
|
@@ -4674,7 +4686,7 @@ slicc-surface:fullscreen {
|
|
|
4674
4686
|
.x{margin-left:3px;width:15px;height:15px;border-radius:4px;display:grid;place-items:center;color:var(--txt-3);}
|
|
4675
4687
|
.x:hover{background:var(--line);color:var(--ink);}
|
|
4676
4688
|
.sg svg,.x svg{display:block;}
|
|
4677
|
-
`),
|
|
4689
|
+
`),yo=13;w(`slicc-tab`,class extends HTMLElement{static observedAttributes=[`tab-id`,`kind`,`active`,`closable`,`badge`,`glyph`,`label`,`theme`];#e;#t=null;constructor(){super(),this.#e=this.attachShadow({mode:`open`}),this.#e.adoptedStyleSheets=[vo]}connectedCallback(){this.#n(),this.#r()}disconnectedCallback(){this.#i()}attributeChangedCallback(){this.isConnected&&this.#n()}get tabId(){return this.getAttribute(`tab-id`)}set tabId(e){e==null?this.removeAttribute(`tab-id`):this.setAttribute(`tab-id`,e)}get kind(){return this.getAttribute(`kind`)===`sprinkle`?`sprinkle`:`tool`}set kind(e){this.setAttribute(`kind`,e===`sprinkle`?`sprinkle`:`tool`)}get active(){return this.hasAttribute(`active`)}set active(e){this.toggleAttribute(`active`,e)}get closable(){return this.hasAttribute(`closable`)}set closable(e){this.toggleAttribute(`closable`,e)}get badge(){return this.getAttribute(`badge`)}set badge(e){e==null?this.removeAttribute(`badge`):this.setAttribute(`badge`,e)}get glyph(){return this.getAttribute(`glyph`)}set glyph(e){e==null?this.removeAttribute(`glyph`):this.setAttribute(`glyph`,e)}get label(){return this.getAttribute(`label`)}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}#n(){let e=this.kind===`sprinkle`,t=E(`button`,{class:`tab${e?` sp`:``}${this.active?` on`:``}`,part:`tab`,type:`button`});if(this.tabId!=null&&t.setAttribute(`data-t`,this.tabId),e){let e=this.badge??`sparkles`;t.append(E(`span`,{class:`sg`,part:`badge`,"aria-hidden":`true`},n(e,{size:yo})))}else this.glyph!=null&&t.append(E(`span`,{class:`gl`,part:`glyph`,"aria-hidden":`true`},this.glyph));let r=this.label;t.append(r==null?E(`slot`):document.createTextNode(r)),this.closable&&t.append(E(`span`,{class:`x`,part:`close`,"data-close":``,role:`button`,"aria-label":`Close tab`},n(`x`,{size:yo}))),this.#e.replaceChildren(t)}#r(){this.#t||(this.#t=e=>this.#a(e),this.#e.addEventListener(`click`,this.#t))}#i(){this.#t&&=(this.#e.removeEventListener(`click`,this.#t),null)}#a(e){let t=e.target,n={tabId:this.tabId};if(t?.closest(`[data-close]`)){e.stopPropagation(),this.dispatchEvent(new CustomEvent(`close`,{detail:n,bubbles:!0,composed:!0}));return}this.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}});var bo=`
|
|
4678
4690
|
slicc-tab-bar {
|
|
4679
4691
|
display: flex;
|
|
4680
4692
|
align-items: center;
|
|
@@ -4686,7 +4698,7 @@ slicc-tab-bar {
|
|
|
4686
4698
|
slicc-tab-bar[hidden] {
|
|
4687
4699
|
display: none;
|
|
4688
4700
|
}
|
|
4689
|
-
`,
|
|
4701
|
+
`,xo=`slicc-tab-bar-style`;function So(e){if(e.getElementById(xo))return;let t=e.createElement(`style`);t.id=xo,t.textContent=bo,(e.head??e.documentElement).appendChild(t)}function Co(e){return e===`sprinkle`?`sprinkle`:`tool`}w(`slicc-tab-bar`,class extends HTMLElement{static observedAttributes=[`active`];#e=[];#t=!1;#n=null;#r=null;#i=null;connectedCallback(){So(this.ownerDocument),this.#c(),this.#p()}disconnectedCallback(){this.#l(),this.#t=!1}attributeChangedCallback(e){e===`active`&&this.isConnected&&this.#o()}get active(){return this.getAttribute(`active`)}set active(e){e==null?this.removeAttribute(`active`):this.setAttribute(`active`,e)}get tabs(){return this.#e.map(e=>({...e}))}set tabs(e){this.#e=(e??[]).map(e=>({...e})),this.active!=null&&!this.#e.some(e=>e.id===this.active)&&this.#a(this.#e[0]?.id??null),this.#t=!1,this.isConnected&&this.#p()}addTab(e){let t={...e,kind:Co(e.kind)},n=this.#e.findIndex(e=>e.id===t.id);return n>=0?this.#e[n]=t:this.#e.push(t),this.#t=!1,this.isConnected&&this.#p(),this.selectTab(t.id),t}removeTab(e){let t=this.#e.findIndex(t=>t.id===e);if(t<0)return;let n=this.active===e;if(this.#e.splice(t,1),this.#t=!1,this.isConnected&&this.#p(),this.dispatchEvent(new CustomEvent(`tab-close`,{detail:{id:e},bubbles:!0,composed:!0})),n){let e=this.#e[0]?.id??null;e==null?this.#a(null):this.selectTab(e)}}selectTab(e){this.#e.some(t=>t.id===e)&&this.active!==e&&(this.#a(e),this.dispatchEvent(new CustomEvent(`tab-select`,{detail:{id:e},bubbles:!0,composed:!0})))}#a(e){e==null?this.removeAttribute(`active`):this.setAttribute(`active`,e),this.#o()}#o(){let e=this.active;for(let t of this.querySelectorAll(`:scope > slicc-tab`)){let n=t.getAttribute(`tab-id`);t.toggleAttribute(`active`,n!=null&&n===e)}}#s(e){if(!(e instanceof Element))return null;let t=e.closest(`slicc-tab`);return!t||t.parentElement!==this?null:t.getAttribute(`tab-id`)}#c(){this.#r||(this.#r=e=>this.#u(e),this.#i=e=>this.#d(e),this.addEventListener(`select`,this.#r),this.addEventListener(`close`,this.#i),this.#n=e=>this.#f(e),this.addEventListener(`click`,this.#n))}#l(){this.#r&&this.removeEventListener(`select`,this.#r),this.#i&&this.removeEventListener(`close`,this.#i),this.#n&&this.removeEventListener(`click`,this.#n),this.#r=null,this.#i=null,this.#n=null}#u(e){if(e.target===this)return;let t=this.#s(e.target);t!=null&&(e.stopPropagation(),this.selectTab(t))}#d(e){if(e.target===this)return;let t=this.#s(e.target);t!=null&&(e.stopPropagation(),this.removeTab(t))}#f(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`slicc-tab`);if(!n||n.parentElement!==this)return;let r=n.getAttribute(`tab-id`);if(r==null)return;let i=t.closest(`.x, [data-close]`);if(i&&n.contains(i)){e.stopPropagation(),this.removeTab(r);return}this.selectTab(r)}#p(){if(this.#t)return;this.#t=!0;let e=this.active,t=[];for(let n of this.#e){let r=Co(n.kind);r!==`tool`&&t.push(E(`slicc-tab`,{"tab-id":n.id,kind:r,label:n.label,part:`tab`,closable:n.closable?!0:void 0,badge:n.badge||void 0,glyph:n.glyph||void 0,active:e!=null&&e===n.id||void 0}))}this.replaceChildren(...t)}});var wo=`/**
|
|
4690
4702
|
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
|
4691
4703
|
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
4692
4704
|
* https://github.com/chjj/term.js
|
|
@@ -4971,7 +4983,7 @@ slicc-tab-bar[hidden] {
|
|
|
4971
4983
|
.xterm .xterm-scrollable-element > .shadow.top.left {
|
|
4972
4984
|
box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
|
|
4973
4985
|
}
|
|
4974
|
-
`,
|
|
4986
|
+
`,To={background:`#0c0c0e`,foreground:`#e7e7ea`,cursor:`#e7e7ea`,cursorAccent:`#0c0c0e`,selectionBackground:`#8b5cf64d`,selectionForeground:`#ffffff`,black:`#0c0c0e`,red:`#f43f5e`,green:`#5bd17b`,yellow:`#f59e0b`,blue:`#3b82f6`,magenta:`#8b5cf6`,cyan:`#06b6d4`,white:`#e7e7ea`,brightBlack:`#8a8a93`,brightRed:`#fb7185`,brightGreen:`#86efac`,brightYellow:`#fbbf24`,brightBlue:`#60a5fa`,brightMagenta:`#a78bfa`,brightCyan:`#22d3ee`,brightWhite:`#ffffff`},Eo=`
|
|
4975
4987
|
:host {
|
|
4976
4988
|
display: flex;
|
|
4977
4989
|
flex-direction: column;
|
|
@@ -5012,7 +5024,7 @@ slicc-tab-bar[hidden] {
|
|
|
5012
5024
|
/* xterm.js wants its container to size the canvas; let it fill. */
|
|
5013
5025
|
.host .xterm { height: 100%; }
|
|
5014
5026
|
.host .xterm-viewport { overflow-y: auto; }
|
|
5015
|
-
`,
|
|
5027
|
+
`,Do=null;function Oo(){return Do||=[D(wo),D(Eo)],Do}var ko=class extends HTMLElement{static observedAttributes=[`label`,`hide-header`];#e;#t=null;#n=null;#r=null;#i=null;#a=[];#o=!1;constructor(){super(),this.#e=this.attachShadow({mode:`open`})}connectedCallback(){this.#o=!1,this.#s(),this.#c()}disconnectedCallback(){this.#l()}attributeChangedCallback(e){if(this.isConnected&&e===`label`){let e=this.#e.querySelector(`.title`);e&&(e.textContent=this.label)}}get label(){return this.getAttribute(`label`)??`Terminal`}set label(e){e==null?this.removeAttribute(`label`):this.setAttribute(`label`,e)}get hideHeader(){return this.hasAttribute(`hide-header`)}set hideHeader(e){this.toggleAttribute(`hide-header`,e)}get terminal(){return this.#n}write(e){this.#n?this.#n.write(e):this.#a.push(e)}writeln(e){this.#n?this.#n.writeln(e):this.#a.push(`${e}\r\n`)}clear(){this.#n?this.#n.clear():this.#a.length=0}focus(){this.#n?.focus()}fit(){this.#r?.fit()}#s(){if(this.#t)return;this.#e.adoptedStyleSheets=Oo();let e=E(`div`,{class:`hd`,part:`header`},n(`terminal`,{size:14}),E(`span`,{class:`title`},this.label),E(`span`,{class:`spacer`})),t=E(`div`,{class:`host`,part:`host`});this.#e.replaceChildren(e,t),this.#t=t}async#c(){if(this.#n||this.#o)return;let[{Terminal:e},{FitAddon:n}]=await Promise.all([t(()=>import(`./xterm-U4TA8lIC.js`),[]),t(()=>import(`./addon-fit-DIOBYJe3.js`),[])]);if(this.#o||!this.#t)return;let r=new e({cursorBlink:!Ao(),fontSize:12,lineHeight:1.25,fontFamily:`'IBM Plex Mono', 'Source Code Pro', 'JetBrains Mono', ui-monospace, monospace`,theme:To,convertEol:!0,scrollback:2e3}),i=new n;if(r.loadAddon(i),r.open(this.#t),r.onData(e=>{this.dispatchEvent(new CustomEvent(`terminal-data`,{detail:e,bubbles:!0,composed:!0}))}),this.#n=r,this.#r=i,i.fit(),this.#a.length){for(let e of this.#a)r.write(e);this.#a.length=0}typeof ResizeObserver==`function`&&(this.#i=new ResizeObserver(()=>this.#r?.fit()),this.#i.observe(this.#t))}#l(){this.#o=!0,this.#i?.disconnect(),this.#i=null,this.#n?.dispose(),this.#n=null,this.#r=null,this.#a.length=0}};function Ao(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}w(`slicc-terminal`,ko);var jo=`
|
|
5016
5028
|
slicc-workbench-body {
|
|
5017
5029
|
flex: 1;
|
|
5018
5030
|
min-height: 0;
|
|
@@ -5033,7 +5045,7 @@ slicc-workbench-body > * {
|
|
|
5033
5045
|
slicc-workbench-body > .slicc-wbbody__active {
|
|
5034
5046
|
display: flex;
|
|
5035
5047
|
}
|
|
5036
|
-
`,
|
|
5048
|
+
`,Mo=`slicc-workbench-body-style`,No=`slicc-wbbody__active`,Po=`slicc-surface`;function Fo(e){if(e.getElementById(Mo))return;let t=e.createElement(`style`);t.id=Mo,t.textContent=jo,(e.head??e.documentElement).appendChild(t)}w(`slicc-workbench-body`,class extends HTMLElement{static observedAttributes=[`active`];#e=!1;#t=new MutationObserver(()=>this.#i());connectedCallback(){Fo(this.ownerDocument),this.#e=!0,this.#i(),this.#t.observe(this,{childList:!0})}disconnectedCallback(){this.#e=!1,this.#t.disconnect()}attributeChangedCallback(e,t,n){t!==n&&e===`active`&&this.#e&&this.#i()}get active(){return this.getAttribute(`active`)}set active(e){e==null?this.removeAttribute(`active`):this.setAttribute(`active`,e)}get activeSurface(){let e=this.active;return e==null?null:this.#n().find(t=>this.#r(t)===e)??null}get surfaces(){return this.#n()}selectSurface(e){let t=this.active;e!==t&&(this.setAttribute(`active`,e),this.#e||this.#i(),this.dispatchEvent(new CustomEvent(`slicc-surface-change`,{bubbles:!0,composed:!0,detail:{id:e,previous:t}})))}#n(){let e=[];for(let t of Array.from(this.children))t instanceof HTMLElement&&t.localName===Po&&e.push(t);return e}#r(e){return e.getAttribute(`surface-id`)||e.getAttribute(`data-s`)||e.id}#i(){let e=this.active;for(let t of this.#n()){let n=e!=null&&this.#r(t)===e;t.classList.toggle(No,n),t.toggleAttribute(`active`,n)}}});var Io=`
|
|
5037
5049
|
slicc-workbench-header {
|
|
5038
5050
|
flex: 0 0 auto;
|
|
5039
5051
|
display: flex;
|
|
@@ -5060,7 +5072,7 @@ slicc-workbench-header > slicc-collapse-btn {
|
|
|
5060
5072
|
slicc-workbench-header > slicc-tab-bar {
|
|
5061
5073
|
min-width: 0;
|
|
5062
5074
|
}
|
|
5063
|
-
`,
|
|
5075
|
+
`,Lo=`slicc-workbench-header-style`;function Ro(e){if(e.getElementById(Lo))return;let t=e.createElement(`style`);t.id=Lo,t.textContent=Io,(e.head??e.documentElement).appendChild(t)}w(`slicc-workbench-header`,class extends HTMLElement{static observedAttributes=[`kind`];#e;#t=!1;connectedCallback(){Ro(this.ownerDocument),this.#n(),this.#r(),this.addEventListener(`collapse`,this.#i)}disconnectedCallback(){this.removeEventListener(`collapse`,this.#i)}attributeChangedCallback(e){e===`kind`&&this.isConnected&&this.#r()}get kind(){let e=this.getAttribute(`kind`);return e===`tool`||e===`sprinkle`?e:null}set kind(e){e==null?this.removeAttribute(`kind`):this.setAttribute(`kind`,e)}get spacer(){return this.#n(),this.#e}#n(){if(this.#t)return;this.#t=!0;let e=this.querySelector(`:scope > .slicc-wbhead__spacer`);if(e instanceof HTMLElement){this.#e=e;return}this.#e=this.ownerDocument.createElement(`div`),this.#e.className=`slicc-wbhead__spacer`,this.#e.setAttribute(`part`,`spacer`);let t=this.querySelector(`:scope > slicc-pane-tag`),n=this.querySelector(`:scope > slicc-collapse-btn`);this.appendChild(this.#e),t&&this.appendChild(t),n&&this.appendChild(n)}#r(){let e=this.querySelector(`:scope > slicc-pane-tag`);if(!e)return;let t=this.kind;t==null?e.removeAttribute(`kind`):e.setAttribute(`kind`,t)}#i=e=>{e.target!==this&&(e.stopPropagation(),this.dispatchEvent(new CustomEvent(`collapse`,{bubbles:!0,composed:!0})))}});var zo=`
|
|
5064
5076
|
slicc-workbench-pane {
|
|
5065
5077
|
display: flex;
|
|
5066
5078
|
flex-direction: column;
|
|
@@ -5099,7 +5111,7 @@ slicc-workbench-pane slicc-pane .slicc-pane__body {
|
|
|
5099
5111
|
flex-direction: column;
|
|
5100
5112
|
min-height: 0;
|
|
5101
5113
|
}
|
|
5102
|
-
`,
|
|
5114
|
+
`,Bo=`slicc-workbench-pane-style`;function Vo(e){if(e.getElementById(Bo))return;let t=e.createElement(`style`);t.id=Bo,t.textContent=zo,(e.head??e.documentElement).appendChild(t)}w(`slicc-workbench-pane`,class extends HTMLElement{static observedAttributes=[`open`];#e;#t=!1;connectedCallback(){Vo(this.ownerDocument),this.#n()}attributeChangedCallback(e,t,n){e===`open`&&t!==n&&this.isConnected&&this.dispatchEvent(new CustomEvent(`slicc-workbench-pane-toggle`,{bubbles:!0,composed:!0,detail:{open:n!==null}}))}get open(){return this.hasAttribute(`open`)}set open(e){e?this.setAttribute(`open`,``):this.removeAttribute(`open`)}get pane(){return this.#n(),this.#e}#n(){if(this.#t)return;this.#t=!0;let e=this.querySelector(`:scope > slicc-pane`);if(e instanceof HTMLElement){this.#e=e;return}let t=Array.from(this.childNodes);this.#e=this.ownerDocument.createElement(`slicc-pane`),this.#e.setAttribute(`elevated`,``),this.#e.setAttribute(`part`,`pane`);for(let e of t)this.#e.appendChild(e);this.appendChild(this.#e)}});var Ho=`slicc_monitor_collapsed`;function Uo(){try{let e=localStorage.getItem(Ho);return new Set(e?JSON.parse(e):[])}catch{return new Set}}function Wo(e){try{localStorage.setItem(Ho,JSON.stringify([...e]))}catch{}}var Go=`
|
|
5103
5115
|
slicc-monitor {
|
|
5104
5116
|
display: block;
|
|
5105
5117
|
font-family: var(--ui);
|
|
@@ -5224,4 +5236,4 @@ slicc-monitor {
|
|
|
5224
5236
|
color: var(--txt-3);
|
|
5225
5237
|
font-size: 11px;
|
|
5226
5238
|
}
|
|
5227
|
-
`,
|
|
5239
|
+
`,Ko=`slicc-monitor-style`;function qo(e){if(e.getElementById(Ko))return;let t=e.createElement(`style`);t.id=Ko,t.textContent=Go,(e.head??e.documentElement).appendChild(t)}function Jo(e){return E(`div`,{class:`monitor-row`},E(`span`,{class:e.error?`monitor-row__dot monitor-row__dot--error`:e.active?`monitor-row__dot monitor-row__dot--active`:`monitor-row__dot`}),E(`span`,{class:`monitor-row__name`},e.name),E(`span`,{class:`monitor-row__meta`},e.meta))}function Yo(e,t,n){let r=t.has(e.id),i=e.count===0?`monitor-section monitor-section--empty`:`monitor-section`,a=[E(`span`,{class:`monitor-section__toggle`},r?`▸`:`▾`),E(`span`,{class:`monitor-section__title`},e.label)];e.meta&&a.push(E(`span`,{class:`monitor-section__meta`},e.meta)),a.push(E(`span`,{class:`monitor-section__count`},String(e.count)));let o=E(`button`,{class:`monitor-section__header`,type:`button`},...a);o.setAttribute(`aria-expanded`,String(!r)),o.addEventListener(`click`,()=>n(e.id));let s=E(`div`,{class:`monitor-section__body`});r&&s.setAttribute(`hidden`,``);for(let t of e.rows)s.appendChild(Jo(t));return E(`div`,{class:i,"data-section":e.id},o,s)}w(`slicc-monitor`,class extends HTMLElement{#e=[];#t=new Set;#n=!1;connectedCallback(){qo(this.ownerDocument),this.#n||=(this.#t=Uo(),!0),this.#e.length>0&&this.#r()}get sections(){return this.#e.map(e=>({...e,rows:e.rows.slice()}))}set sections(e){this.#e=Array.isArray(e)?e.map(e=>({...e,rows:e.rows.slice()})):[],this.isConnected&&this.#r()}#r(){let e=E(`div`,{class:`monitor-toolbar`},E(`button`,{class:`monitor-toolbar__refresh`,type:`button`},`↻ Refresh`)),t=e.querySelector(`.monitor-toolbar__refresh`);t&&t.addEventListener(`click`,()=>{this.dispatchEvent(new CustomEvent(`slicc-monitor-refresh`,{bubbles:!0,composed:!0}))});let n=[e];for(let e of this.#e)n.push(Yo(e,this.#t,e=>{this.#t.has(e)?this.#t.delete(e):this.#t.add(e),Wo(this.#t),this.#r()}));this.replaceChildren(),T(this,n)}});var Xo=e({DEFAULT_LAUNCHER_CORNER:()=>u,DEFAULT_LAUNCHER_FOLLOWER_STATUS:()=>p,HOLD_TO_ENABLE_MS:()=>Wt,LAUNCHER_FOLLOWER_STATUS_ATTR:()=>m,MACHINE_WRITTEN_MEMORY_PATH:()=>MACHINE_WRITTEN_MEMORY_PATH,REDACTED_REAL_WORLD_MEMORY_PATH:()=>REDACTED_REAL_WORLD_MEMORY_PATH,SYNTHETIC_MEMORY_PATH:()=>SYNTHETIC_MEMORY_PATH,SliccImagePreview:()=>Lt,TOKENS_CSS:()=>Qa,ensureGlobalTokens:()=>eo,followSystemTheme:()=>to,setTheme:()=>Q});export{fi as a,Fa as i,eo as n,to as r,Xo as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./logger-LESFN7Hj.js";import{t as n}from"./types-idfTVsM8.js";import{t as r}from"./global-db-DvmmimLY.js";var i=e({MCP_STORE_PATH:()=>o,deleteServer:()=>_,getServer:()=>h,listServers:()=>v,readMcpAuthEntries:()=>b,readMcpAuthEntry:()=>y,readServersFile:()=>p,setServer:()=>g,writeServersFile:()=>m});const a=t(`mcp-store`),o=`/workspace/.mcp/servers.json`;let s=null,c=null;async function l(){return s||=await import(`./fs-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./logger-LESFN7Hj.js";import{t as n}from"./types-idfTVsM8.js";import{t as r}from"./global-db-DvmmimLY.js";var i=e({MCP_STORE_PATH:()=>o,deleteServer:()=>_,getServer:()=>h,listServers:()=>v,readMcpAuthEntries:()=>b,readMcpAuthEntry:()=>y,readServersFile:()=>p,setServer:()=>g,writeServersFile:()=>m});const a=t(`mcp-store`),o=`/workspace/.mcp/servers.json`;let s=null,c=null;async function l(){return s||=await import(`./fs-DpuVKRCQ.js`).then(e=>e.t),s}async function u(e){if(e)return e;if(c&&c.dbName===`slicc-fs-global`)return c.instance;let{VirtualFS:t}=await l(),n=await t.create({dbName:r});return c={instance:n,dbName:r},n}function d(){return{version:1,servers:{}}}function f(e){if(!e||typeof e!=`object`)return d();let t=e,n=typeof t.version==`number`?t.version:1,r={};if(t.servers&&typeof t.servers==`object`)for(let[e,n]of Object.entries(t.servers)){if(!n||typeof n!=`object`)continue;let t=n;typeof t.url==`string`&&(r[e]=t)}return{version:n,servers:r}}async function p(e){try{let t=await(await u(e)).readFile(o,{encoding:`utf-8`});try{return f(JSON.parse(t))}catch(e){return a.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),d()}}catch(e){return e instanceof n&&e.code===`ENOENT`||a.warn(`Failed to read servers.json`,{error:e instanceof Error?e.message:String(e)}),d()}}async function m(e,t){let n=await u(t);await n.mkdir(`/workspace/.mcp`,{recursive:!0});let r={version:e.version||1,servers:e.servers??{}};await n.writeFile(o,JSON.stringify(r,null,2))}async function h(e,t){return(await p(t)).servers[e]??null}async function g(e,t,n){let r=await p(n),i={...r.servers[e],...t};return r.servers[e]=i,await m(r,n),i}async function _(e,t){let n=await p(t);return e in n.servers?(delete n.servers[e],await m(n,t),!0):!1}async function v(e){return(await p(e)).servers}async function y(e){let t=await h(e);return!t?.url||!t.auth?.clientId?null:{name:e,serverUrl:t.url,auth:t.auth}}async function b(){let e=await v(),t=[];for(let[n,r]of Object.entries(e))!r?.url||!r.auth?.clientId||t.push({name:n,serverUrl:r.url,auth:r.auth});return t}export{y as n,i as r,b as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-DmJSNs0I.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{o as n,r,t as i}from"./proxied-fetch-CfcFb0B0.js";import{n as a}from"./runtime-env-DH4NDw4t.js";import{t as o}from"./quick-llm-
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{o as n,r,t as i}from"./proxied-fetch-CfcFb0B0.js";import{n as a}from"./runtime-env-DH4NDw4t.js";import{t as o}from"./quick-llm-Dg57FmQe.js";import{installPanelSudoResponder as s,n as c}from"./panel-responder-BKgfV-nl.js";var l=t(`sudo-suggest`),u=[`You generalize a single shell command into a minimal glob pattern for an`,`allow-list rule. Output ONLY the pattern on one line — no prose, no quotes,`,`no backticks. Keep the leading command/sub-command verbatim and replace only`,`the volatile tail (args, paths, refs) with a single trailing "*".`,`Examples:`,` git push origin main -> git push*`,` rm -rf build/cache -> rm -rf*`,` npm install left-pad -> npm install*`].join(`
|
|
3
3
|
`),d=[`You generalize a single filesystem path into a minimal glob pattern for an`,`allow-list rule. Output ONLY the pattern on one line — no prose, no quotes,`,`no backticks. Keep the meaningful directory prefix and replace the volatile`,`leaf (and below) with "**". Examples:`,` /workspace/.git/config -> /workspace/.git/**`,` /shared/secrets/openai.key -> /shared/secrets/**`,` /workspace/src/app/main.ts -> /workspace/src/**`].join(`
|
|
4
4
|
`);async function f(e,t){if(e.suggestedPattern&&e.suggestedPattern.trim().length>0)return e.suggestedPattern.trim();let n=e.detail.trim(),r=e.kind===`command`?u:d,i=null;try{i=await o({prompt:n,system:r,maxTokens:40,temperature:0,signal:t})}catch(e){l.debug(`suggestPattern: quickLabel threw`,{error:e instanceof Error?e.message:String(e)}),i=null}return p(i)||n}function p(e){if(!e)return null;let t=(e.split(`
|
|
5
5
|
`,1)[0]?.trim()??``).replace(/^`+/,``).replace(/`+$/,``).replace(/^["']/,``).replace(/["']$/,``).trim();return t.length===0?null:t}var m=t(`sudo-ext`);function h(e={}){let t=e.suggest??f;return{async requestApproval(e){let n;try{n=await t(e)}catch{n=e.detail}return g({...e,suggestedPattern:n})}}}function g(e){return new Promise(t=>{let n=globalThis.chrome?.runtime;if(!n||typeof n.sendMessage!=`function`){m.warn(`chrome.runtime.sendMessage unavailable — denying`),t({decision:`deny`});return}let r=r=>{let i=n.lastError;if(i){m.warn(`sudo relay lastError — denying`,{error:i.message}),t({decision:`deny`});return}if(!r||typeof r!=`object`){m.warn(`sudo relay empty response — denying`),t({decision:`deny`});return}let a=r;if(!a.ok||!a.decision){m.warn(`sudo relay error response — denying`,{error:a.error}),t({decision:`deny`});return}t(_(a.decision,e.suggestedPattern??e.detail))};try{n.sendMessage({source:`offscreen`,payload:{type:c,request:e}},r)}catch(e){m.warn(`sudo relay threw — denying`,{error:e instanceof Error?e.message:String(e)}),t({decision:`deny`})}})}function _(e,t){return e.decision===`allow`?{decision:`allow`}:e.decision===`always`?{decision:`always`,pattern:typeof e.pattern==`string`&&e.pattern.trim().length>0?e.pattern.trim():t}:{decision:`deny`}}var v=t(`sudo-http`);function y(e={}){let t=e.fetchImpl??globalThis.fetch.bind(globalThis),r=e.path??`/api/sudo-approve`,a=e.suggest??f;return{async requestApproval(e){let o;try{o=await a(e)}catch{o=e.detail}try{let a=await t(n(r),{method:`POST`,headers:i({"Content-Type":`application/json`}),body:JSON.stringify({kind:e.kind,detail:e.detail,suggestedPattern:o})});return a.ok?b(await a.json(),o):(v.warn(`sudo endpoint returned non-OK status — denying`,{status:a.status}),{decision:`deny`})}catch(e){return v.warn(`sudo endpoint request failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function b(e,t){if(!e||typeof e!=`object`)return{decision:`deny`};let n=e.decision;if(n===`allow`)return{decision:`allow`};if(n===`always`){let n=e.pattern;return{decision:`always`,pattern:typeof n==`string`&&n.trim().length>0?n.trim():t}}return{decision:`deny`}}var x=t(`sudo-panel-rpc`),S=6e5;function C(t={}){let n=t.suggest??f,r=t.timeoutMs??S,i=t.getClient??(async()=>{let{getPanelRpcClient:t}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-DmJSNs0I.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1]));return t()});return{async requestApproval(e){let t;try{t=await n(e)}catch{t=e.detail}let a={...e,suggestedPattern:t},o;try{o=await i()}catch(e){return x.warn(`panel-RPC client lookup threw — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}if(!o)return x.warn(`panel-RPC client unavailable in worker realm — denying`),{decision:`deny`};try{let{decision:e}=await o.call(`sudo-request`,{request:a},{timeoutMs:r});return w(e,t)}catch(e){return x.warn(`sudo panel-RPC relay failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function w(e,t){if(!e||typeof e!=`object`)return{decision:`deny`};let n=e.decision;if(n===`allow`)return{decision:`allow`};if(n===`always`){let n=e.pattern;return{decision:`always`,pattern:typeof n==`string`&&n.trim().length>0?n.trim():t}}return{decision:`deny`}}var T=t(`sudo`),E=`__slicc_sudo`;function D(){return a()}function O(){return typeof chrome>`u`&&r()!==null}function k(){return D()?h():O()?C():y()}function A(e=k()){let t={requestApproval:t=>e.requestApproval(t)};return globalThis[E]=t,T.info(`sudo broker test hook published on globalThis.__slicc_sudo`),t}export{s as installPanelSudoResponder,A as installSudoTestHook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as e,g as t}from"./db-BTiVtoD4.js";const n=`slicc:last-seen-version`;function r(){return{version:`5.
|
|
1
|
+
import{D as e,g as t}from"./db-BTiVtoD4.js";const n=`slicc:last-seen-version`;function r(){return{version:`5.89.0`,releasedAt:`2026-07-29T20:26:21Z`}}async function i(){let e=await t(n);return e&&e.length>0?e:null}async function a(t){await e(n,t)}async function o(){let e=r(),t=await i();return t===null?(await a(e.version),{bundled:e,lastSeen:null,isUpgrade:!1}):t===e.version?{bundled:e,lastSeen:t,isUpgrade:!1}:{bundled:e,lastSeen:t,isUpgrade:!0}}async function s(e){await a(e)}export{o as detectUpgrade,s as recordVersionSeen};
|