sliccy 6.22.0 → 6.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/ui/assets/{account-store-CRyeHVEi.js → account-store-BJmwF1Tz.js} +1 -1
  2. package/dist/ui/assets/{account-store-Bd0ijUGr.js → account-store-Uzsqt0xr.js} +1 -1
  3. package/dist/ui/assets/{adobe-CYsfuYSF.js → adobe-BJPbq5bU.js} +1 -1
  4. package/dist/ui/assets/{adobe-neMQbXTc.js → adobe-CtdlbkRx.js} +1 -1
  5. package/dist/ui/assets/{apply-layout-BqS4f4uO.js → apply-layout-DKcsWZG_.js} +1 -1
  6. package/dist/ui/assets/{apps-B0Wf8ya3.js → apps-CIATgC5p.js} +1 -1
  7. package/dist/ui/assets/{azure-openai-C0pmHQ9X.js → azure-openai-BzJr8Z9u.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-B4M9D39w.js → azure-openai-CoHq3y0M.js} +1 -1
  9. package/dist/ui/assets/{cdp-uBLa5oK-.js → cdp-C5fHo_WI.js} +4 -4
  10. package/dist/ui/assets/{cerebras-CTiZ0sYm.js → cerebras-CO4Yxxxe.js} +1 -1
  11. package/dist/ui/assets/{cerebras--tTOH0OC.js → cerebras-DEzC1zNM.js} +1 -1
  12. package/dist/ui/assets/{connect-surface-DvrQvvCL.js → connect-surface-rOpJbVUT.js} +1 -1
  13. package/dist/ui/assets/extension-bridge-transport-CR4Zp6Gm.js +1 -0
  14. package/dist/ui/assets/{fs-BCdA1a1d.js → fs-BPIpzVIV.js} +2 -2
  15. package/dist/ui/assets/{fs-DTs92LAT.js → fs-Bj0-7b_a.js} +1 -1
  16. package/dist/ui/assets/{github-B8qzxS-A.js → github-BB2_dRst.js} +1 -1
  17. package/dist/ui/assets/{github-HygwBXlK.js → github-CNHOAwZB.js} +2 -2
  18. package/dist/ui/assets/{github-copilot-CYUD5p8q.js → github-copilot-6Uhi1vTM.js} +1 -1
  19. package/dist/ui/assets/{github-copilot-DC00bY6F.js → github-copilot-CUjnvD0L.js} +1 -1
  20. package/dist/ui/assets/{kernel-worker-Dghl78B8.js → kernel-worker-BLFM7aQN.js} +606 -606
  21. package/dist/ui/assets/{local-llm-CrQ5m_8c.js → local-llm-Dym65h7W.js} +1 -1
  22. package/dist/ui/assets/{local-llm-D72MrNfS.js → local-llm-IbKEQbRW.js} +1 -1
  23. package/dist/ui/assets/{main-DDsgMIbE.js → main-BJ4ZUhsm.js} +3 -3
  24. package/dist/ui/assets/main-cherry-C5R40KLy.js +1 -0
  25. package/dist/ui/assets/{mount-Bi2RAG2A.js → mount-CEMzYZKk.js} +1 -1
  26. package/dist/ui/assets/{mount-C4Sx7Fjo.js → mount-OWSqqbDt.js} +2 -2
  27. package/dist/ui/assets/{mount-recovery-CJvKs09-.js → mount-recovery-DJp-0pLQ.js} +1 -1
  28. package/dist/ui/assets/{new-session-BxUn-MwX.js → new-session-DW4XM3SN.js} +2 -2
  29. package/dist/ui/assets/{oauth-bootstrap-DpMT85Bq.js → oauth-bootstrap-BpSN7kaQ.js} +2 -2
  30. package/dist/ui/assets/{openai-codex-B4dguhl0.js → openai-codex-BGfE0Leg.js} +1 -1
  31. package/dist/ui/assets/{openai-codex-BZdBW9ws.js → openai-codex-BpnXz0-8.js} +1 -1
  32. package/dist/ui/assets/{openrouter-xsV1ulLq.js → openrouter-C2lIML3c.js} +1 -1
  33. package/dist/ui/assets/{openrouter-BRuYax9p.js → openrouter-hQWzWk4-.js} +1 -1
  34. package/dist/ui/assets/{openrouter-oauth-DKQZnJrz.js → openrouter-oauth-CW3mOcXG.js} +1 -1
  35. package/dist/ui/assets/{openrouter-oauth-DLZAsH5t.js → openrouter-oauth-CYUSJsRO.js} +1 -1
  36. package/dist/ui/assets/{panel-rpc-handlers-Dp877dzv.js → panel-rpc-handlers-BsGbNzJD.js} +2 -2
  37. package/dist/ui/assets/{panelize-shell-BAPMMXh2.js → panelize-shell-irQskG_h.js} +1 -1
  38. package/dist/ui/assets/pending-request-table-Dgn6qYdL.js +1 -0
  39. package/dist/ui/assets/{provider-Bn5Ao8TU.js → provider-Cs6KqihL.js} +2 -2
  40. package/dist/ui/assets/{provider-C9zzZ6qE.js → provider-D8sMpwPN.js} +1 -1
  41. package/dist/ui/assets/{provider-settings-Cm08l4Dh.js → provider-settings-D3IBwuXF.js} +1 -1
  42. package/dist/ui/assets/{provider-settings-BJn87vTR.js → provider-settings-DZ_T6pQn.js} +1 -1
  43. package/dist/ui/assets/{provider-store-access-IAoxA_27.js → provider-store-access-BwAVkt5V.js} +2 -2
  44. package/dist/ui/assets/provider-store-access-D6EVu_tf.js +1 -0
  45. package/dist/ui/assets/{providers-DGNJXZGp.js → providers-BVSioQK4.js} +2 -2
  46. package/dist/ui/assets/{providers-BESIM-3i.js → providers-D_u-97ui.js} +1 -1
  47. package/dist/ui/assets/{quick-llm-8skI_nfs.js → quick-llm-bj5p71o6.js} +1 -1
  48. package/dist/ui/assets/{redirect-uri-906_oLE4.js → redirect-uri-n0CTg_Xw.js} +1 -1
  49. package/dist/ui/assets/remote-cdp-transport-DjFEKevV.js +1 -0
  50. package/dist/ui/assets/{session-freezer-C2fhQ4ji.js → session-freezer-hU14mhCE.js} +2 -2
  51. package/dist/ui/assets/{setup-feature-flags-remote-B0wBHEZY.js → setup-feature-flags-remote-Cjo6AA96.js} +1 -1
  52. package/dist/ui/assets/setup-standalone-prelude-DlUDJ1Dv.js +2 -0
  53. package/dist/ui/assets/{setup-sudo-Bw-BnLie.js → setup-sudo-CEs9lMN3.js} +2 -2
  54. package/dist/ui/assets/{skills-DS0Gg7K0.js → skills-BF_KAocE.js} +1 -1
  55. package/dist/ui/assets/{src-DeB0d6Ey.js → src-C6xNlS_2.js} +90 -90
  56. package/dist/ui/assets/{store-D9br9UAd.js → store-BqChJvKZ.js} +1 -1
  57. package/dist/ui/assets/{sudo-C6tHptEV.js → sudo-DyvZeG4J.js} +1 -1
  58. package/dist/ui/assets/synthetic-cdp-transport-Ds83IPjw.js +1 -0
  59. package/dist/ui/assets/{upgrade-detection-3d1X_jqz.js → upgrade-detection-B4eojPZO.js} +1 -1
  60. package/dist/ui/assets/{wc-attach-BNijFlO5.js → wc-attach-Cqm1S-Dt.js} +2 -2
  61. package/dist/ui/assets/{wc-extension-CVKM_3RY.js → wc-extension-Drv7xKvb.js} +2 -2
  62. package/dist/ui/assets/{wc-follower-B0BsMI7g.js → wc-follower-zBBOlLyu.js} +3 -3
  63. package/dist/ui/assets/{wc-live-Kilm0tRP.js → wc-live-Dda0uXQB.js} +3 -3
  64. package/dist/ui/assets/{wc-nav-DMIbJfg-.js → wc-nav-BTDOFVcV.js} +2 -2
  65. package/dist/ui/assets/{wc-onboarding-B4sX82ad.js → wc-onboarding-CadbZZBk.js} +2 -2
  66. package/dist/ui/assets/{wc-placeholder-Bfo1Pm9K.js → wc-placeholder-ChMaPDLO.js} +2 -2
  67. package/dist/ui/assets/{wc-settings-BCxqrCuC.js → wc-settings-CJS41tWp.js} +2 -2
  68. package/dist/ui/assets/{wc-shell-CdlgW7ko.js → wc-shell-DVGrQXrX.js} +3 -3
  69. package/dist/ui/assets/{wc-sprinkles-VPYe1tdX.js → wc-sprinkles-Reea2G7v.js} +2 -2
  70. package/dist/ui/assets/wc-tray-DdH47cjj.js +2 -0
  71. package/dist/ui/assets/{wc-tray-scoops-BlHt9xWh.js → wc-tray-scoops-CSYrh_aL.js} +1 -1
  72. package/dist/ui/assets/{xai-grok-CPKXvrVc.js → xai-grok-FPGoQ90P.js} +1 -1
  73. package/dist/ui/assets/{xai-grok-L4LMKO_i.js → xai-grok-JcyD2x2g.js} +1 -1
  74. package/dist/ui/index.html +6 -6
  75. package/dist/ui/packages/webapp/index.html +6 -6
  76. package/package.json +1 -1
  77. package/dist/ui/assets/extension-bridge-transport-CikuxrQ4.js +0 -1
  78. package/dist/ui/assets/main-cherry-TVUoY5cD.js +0 -1
  79. package/dist/ui/assets/provider-store-access-JRSxv2-2.js +0 -1
  80. package/dist/ui/assets/remote-cdp-transport-BS_0BClw.js +0 -1
  81. package/dist/ui/assets/setup-standalone-prelude-CvtmaQOp.js +0 -2
  82. package/dist/ui/assets/synthetic-cdp-transport-CtfKyiws.js +0 -1
  83. package/dist/ui/assets/wc-tray-BXvE5d55.js +0 -2
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/extension-bridge-transport-CR4Zp6Gm.js","assets/logger-DDBAeTLF.js","assets/pending-request-table-Dgn6qYdL.js","assets/lick-ws-bridge-CCkYp7oZ.js","assets/runtime-mode-B91km6KC.js","assets/src-BStYtmHq.js","assets/electron-overlay-route-CjT6k9Df.js","assets/messages-BD4p8GuF.js","assets/tray-runtime-config-BxjVzwAJ.js","assets/proxied-fetch-A48etSCh.js","assets/rolldown-runtime-aKtaBQYM.js","assets/preload-helper-Czpn1I53.js","assets/base64-DpPqYZJF.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/tray-leader-Btq_ccHy.js","assets/db-ysOO0kLr.js","assets/cdp-C5fHo_WI.js","assets/navigation-watcher-murqPsVd.js","assets/handoff-link-Da4o0fy_.js","assets/remote-cdp-transport-DjFEKevV.js","assets/tray-sync-protocol-D9BQVq93.js","assets/main-cherry-C5R40KLy.js","assets/synthetic-cdp-transport-Ds83IPjw.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{c as n,l as r,s as i}from"./proxied-fetch-A48etSCh.js";import{t as a}from"./runtime-env-DH4NDw4t.js";import{t as o}from"./bridge-launch-params-BUV5qlt9.js";import"./messages-BD4p8GuF.js";import{d as s,s as c,t as l}from"./tray-runtime-config-BxjVzwAJ.js";import{n as u}from"./runtime-mode-B91km6KC.js";import{t as d}from"./setup-sudo-CEs9lMN3.js";t(`stale-asset`);var f=`slicc-stale-asset-reload`;function p(e,t){if(typeof BroadcastChannel!=`function`)return()=>{};let n=new BroadcastChannel(f),r=n=>{let r=n.data;r?.type!==`stale-asset-reload`||r.instanceId!==e||t(r.replayTurn===!0)};return n.addEventListener(`message`,r),()=>{n.removeEventListener(`message`,r),n.close()}}var m=`slicc:stale-asset-reloaded-at`,h=6e4,g=`slicc:stale-asset-replay`;function _(e=window.sessionStorage){try{e.setItem(g,`1`)}catch{}}function v(e=window.sessionStorage){try{return e.getItem(g)===`1`?(e.removeItem(g),!0):!1}catch{return!1}}function y(){return{reload:()=>window.location.reload(),storage:window.sessionStorage,now:()=>Date.now(),windowMs:h,storageKey:m}}function b(e,t,n){return e===null||t-e>=n}function x(e=y()){let t;try{t=e.storage.getItem(e.storageKey)}catch{return!1}let n=t===null?null:Number(t),r=n!==null&&Number.isFinite(n)?n:null,i=e.now();if(!b(r,i,e.windowMs))return!1;try{e.storage.setItem(e.storageKey,String(i))}catch{return!1}return e.reload(),!0}var S=null,C=null;function w(e){S||(C={...y(),...e},S=e=>{x(C)&&e.preventDefault()},window.addEventListener(`vite:preloadError`,S))}var T=null;function E(e){return T||(T=p(e,e=>{e&&_(),x(C??void 0)}),T)}var D=`slicc-cdp-superseded-banner`;function O(e){if(e.getElementById(D))return;let t=e.createElement(`div`);t.id=D,t.setAttribute(`role`,`alert`),t.textContent=`Another SLICC tab or window has taken control of this browser instance. Only one tab can drive the browser per instance — close the other tabs, then reload this page to resume.`,t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`right:0`,`z-index:2147483647`,`padding:10px 16px`,`background:#b3261e`,`color:#fff`,`font:13px/1.4 system-ui,sans-serif`,`text-align:center`,`box-shadow:0 1px 4px rgba(0,0,0,0.3)`].join(`;`),e.body.appendChild(t)}function k(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`slicc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function A(e){let t;try{t=new URLSearchParams(e)}catch{return null}if(t.get(`slicc`)!==`leader`)return null;let n=t.get(`ext`);return n?{extensionId:n}:null}var j=[100,200,400,800,1600];async function M(e,t,n,r=j,i=e=>new Promise(t=>setTimeout(t,e))){let a=r.length+1,o=null;for(let s=0;s<a;s++)try{await e.connect(t),s>0&&n.info(`CDP bridge connect succeeded after retry`,{attempt:s+1});return}catch(e){o=e,s<r.length&&await i(r[s]??0)}n.warn(`Initial CDP connect failed after retries; worker-forwarded commands will retry on demand`,o instanceof Error?o.message:String(o))}async function N(t,n,r){let{ExtensionBridgeTransport:i}=await e(async()=>{let{ExtensionBridgeTransport:e}=await import(`./extension-bridge-transport-CR4Zp6Gm.js`);return{ExtensionBridgeTransport:e}},__vite__mapDeps([0,1,2])),{mapDiscoveryPayloadToLickEvent:a,mapNavigatePayloadToLickEvent:o}=await e(async()=>{let{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}=await import(`./lick-ws-bridge-CCkYp7oZ.js`);return{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}},__vite__mapDeps([3,1,4,5,6,7,8,9,10,11,12,13,14,15,16])),s=null,c=[],l=!1,u=e=>{s=e;for(let t of c)e.sendForwardedLick(t);c.length=0},d=e=>{if(e){if(s){s.sendForwardedLick(e);return}c.length>=50&&(c.shift(),l||(l=!0,r.warn(`extension-bridge lick buffer overflow (cap 50); dropping oldest pending licks until the kernel client attaches`))),c.push(e)}},f=new t(new i({extensionId:n,onLick:e=>{d(o(e))},onDiscovery:e=>{d(a(e))},onOpenSettings:()=>{globalThis.dispatchEvent(new CustomEvent(`slicc:open-settings-from-panel`))}}));return await M(f,void 0,r),{browser:f,attachLickForwardingClient:u}}async function P(t){let{runtimeMode:f,envBaseUrl:p,window:m,log:h}=t,g=f===`electron-overlay`;h.info(`setting up standalone page runtime (BrowserAPI + CDP)`,{runtimeMode:f});let{BrowserAPI:_}=await e(async()=>{let{BrowserAPI:e}=await import(`./cdp-C5fHo_WI.js`);return{BrowserAPI:e}},__vite__mapDeps([17,1,2,18,19,5,20,21,10]));await d({log:h});let v,y,b,x=null,S=null,C=null,w=null,T,E=f===`cherry`?null:A(m.location.search),D=!!E&&a(),j=f===`cherry`||D?null:o(m.location.search);j?.apiBaseUrl&&(x=j.apiBaseUrl,r(j.apiBaseUrl),S=j.token,i(j.token)),j?.lickWsUrl&&(C=j.lickWsUrl);let P=f===`cherry`||D||j!==null,F=await c(),I=u(f,F!==null)?l:null;if(await s({locationHref:m.location.href,storage:m.localStorage,envBaseUrl:p,defaultWorkerBaseUrl:I,runtimeConfigFetcher:async()=>F}),f===`cherry`){let{setupCherryFollower:t}=await e(async()=>{let{setupCherryFollower:e}=await import(`./main-cherry-C5R40KLy.js`);return{setupCherryFollower:e}},__vite__mapDeps([22,1,5,2,17,18,19,20,21,10,23])),n=await t();v=n.browser,y=n.joinUrl,b=n.transport}else if(E&&a()){h.info(`Routing CDP through the extension bridge (leader tab)`);let e=await N(_,E.extensionId,h);v=e.browser,T=e.attachLickForwardingClient,w=E.extensionId,n(E.extensionId)}else{v=new _,j&&h.info(`Routing CDP through local standalone bridge`,{url:j.url,role:j.role??`(unset)`});let e=j?{url:j.url,protocols:j.subprotocol}:void 0;j?.role===`follower`?(h.info(`Skipping CDP connect for follower overlay tab`),v.primeConnectOptions(e)):(await M(v,e,h),v.setCdpSupersededHandler(()=>O(m.document)))}let L=v.getTransport();return globalThis.__slicc_browser=v,{browser:v,realCdpTransport:L,hasLocalCdpSurface:P,cherryJoinUrl:y,cherryTransport:b,instanceId:k(),isElectronOverlay:g,localApiBaseUrl:x,bridgeToken:S,localLickWsUrl:C,extensionDelegateId:w,attachLickForwardingClient:T}}export{E as a,x as i,P as n,w as o,v as r,A as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sudo-C6tHptEV.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-A48etSCh.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-BStYtmHq.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/quick-llm-8skI_nfs.js","assets/account-store-CRyeHVEi.js","assets/compat-BhgG-Qr-.js","assets/models-DmWu8BeM.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/openrouter.models-C8HitxAG.js","assets/context-compaction-gzCxn8vG.js","assets/secret-topology-CKyE_tTD.js","assets/secrets-bridge-client-CUeSRcdV.js","assets/port-bridge-client-B64OCgRQ.js","assets/tool-ui-DfXu6quJ.js","assets/tool-result-images-DwRGZUe_.js","assets/providers-DGNJXZGp.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-CVX95quY.js","assets/transform-messages-DgR3h-Ck.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-CXqRAmcw.js","assets/panel-responder-B6PI12mV.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";var n=e({setupSudoExtension:()=>i,setupSudoStandalone:()=>r});async function r(e){let{installSudoTestHook:n}=await t(async()=>{let{installSudoTestHook:e}=await import(`./sudo-C6tHptEV.js`);return{installSudoTestHook:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]));n()}async function i(e){let{installPanelSudoResponder:n}=await t(async()=>{let{installPanelSudoResponder:e}=await import(`./sudo-C6tHptEV.js`);return{installPanelSudoResponder:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]));n()}export{n,r as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sudo-DyvZeG4J.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-A48etSCh.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-BStYtmHq.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/quick-llm-bj5p71o6.js","assets/account-store-BJmwF1Tz.js","assets/compat-BhgG-Qr-.js","assets/models-DmWu8BeM.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/openrouter.models-C8HitxAG.js","assets/context-compaction-gzCxn8vG.js","assets/secret-topology-CKyE_tTD.js","assets/secrets-bridge-client-CUeSRcdV.js","assets/port-bridge-client-B64OCgRQ.js","assets/tool-ui-DfXu6quJ.js","assets/tool-result-images-DwRGZUe_.js","assets/providers-BVSioQK4.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-CVX95quY.js","assets/transform-messages-DgR3h-Ck.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-CXqRAmcw.js","assets/panel-responder-B6PI12mV.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";var n=e({setupSudoExtension:()=>i,setupSudoStandalone:()=>r});async function r(e){let{installSudoTestHook:n}=await t(async()=>{let{installSudoTestHook:e}=await import(`./sudo-DyvZeG4J.js`);return{installSudoTestHook:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]));n()}async function i(e){let{installPanelSudoResponder:n}=await t(async()=>{let{installPanelSudoResponder:e}=await import(`./sudo-DyvZeG4J.js`);return{installPanelSudoResponder:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]));n()}export{n,r as t};
@@ -1,4 +1,4 @@
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{n as r}from"./path-utils-DU6QhF_k.js";import{i}from"./fs-DTs92LAT.js";const a=t(`sudo:sudoers`),o=`/etc/sudoers`,s=`/etc/sudoers.d`,c=/^\/scoops\/[^/]+\/etc\/sudoers$/;function l(e){return`/scoops/${e}/etc/sudoers`}function u(e,t){return e===`no-match`?t===`require-approval`?`require-approval`:`no-match`:e}function d(){return{cmnd:[],read:[],write:[]}}function f(e){return`.+^$()[]|\\{}`.includes(e)?`\\${e}`:e}function p(e){let t=``,n=0;for(;n<e.length;){let r=e[n];r===`*`?(t+=`.*`,n+=e[n+1]===`*`?2:1):r===`?`?(t+=`.`,n+=1):(t+=f(r),n+=1)}return RegExp(`^${t}$`,`s`)}function m(e){let t=``,n=0;for(;n<e.length;){let r=e[n];r===`*`&&e[n+1]===`*`?(t.endsWith(`/`)?t=`${t.slice(0,-1)}(?:/.*)?`:t+=`.*`,n+=2,e[n]===`/`&&(n+=1)):r===`*`?(t+=`[^/]*`,n+=1):r===`?`?(t+=`[^/]`,n+=1):(t+=f(r),n+=1)}return RegExp(`^${t}$`)}function h(e){return e.split(/\r?\n/,1)[0]?.trim()??``}const g=new Set([`Cmnd`,`Read`,`Write`]);function _(e){let t=e.trim(),n=!1,r=t.search(/\s/);(r===-1?t:t.slice(0,r))===`NOPASSWD`&&(n=!0,t=r===-1?``:t.slice(r).trimStart());let i=t.search(/\s/),a=i===-1?t:t.slice(0,i);if(!g.has(a))return null;let o=i===-1?``:t.slice(i).trim();return o?{directive:a,nopasswd:n,pattern:o}:null}function v(e){let t=d();try{if(typeof e!=`string`)return t;for(let n of e.split(`
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{n as r}from"./path-utils-DU6QhF_k.js";import{i}from"./fs-Bj0-7b_a.js";const a=t(`sudo:sudoers`),o=`/etc/sudoers`,s=`/etc/sudoers.d`,c=/^\/scoops\/[^/]+\/etc\/sudoers$/;function l(e){return`/scoops/${e}/etc/sudoers`}function u(e,t){return e===`no-match`?t===`require-approval`?`require-approval`:`no-match`:e}function d(){return{cmnd:[],read:[],write:[]}}function f(e){return`.+^$()[]|\\{}`.includes(e)?`\\${e}`:e}function p(e){let t=``,n=0;for(;n<e.length;){let r=e[n];r===`*`?(t+=`.*`,n+=e[n+1]===`*`?2:1):r===`?`?(t+=`.`,n+=1):(t+=f(r),n+=1)}return RegExp(`^${t}$`,`s`)}function m(e){let t=``,n=0;for(;n<e.length;){let r=e[n];r===`*`&&e[n+1]===`*`?(t.endsWith(`/`)?t=`${t.slice(0,-1)}(?:/.*)?`:t+=`.*`,n+=2,e[n]===`/`&&(n+=1)):r===`*`?(t+=`[^/]*`,n+=1):r===`?`?(t+=`[^/]`,n+=1):(t+=f(r),n+=1)}return RegExp(`^${t}$`)}function h(e){return e.split(/\r?\n/,1)[0]?.trim()??``}const g=new Set([`Cmnd`,`Read`,`Write`]);function _(e){let t=e.trim(),n=!1,r=t.search(/\s/);(r===-1?t:t.slice(0,r))===`NOPASSWD`&&(n=!0,t=r===-1?``:t.slice(r).trimStart());let i=t.search(/\s/),a=i===-1?t:t.slice(0,i);if(!g.has(a))return null;let o=i===-1?``:t.slice(i).trim();return o?{directive:a,nopasswd:n,pattern:o}:null}function v(e){let t=d();try{if(typeof e!=`string`)return t;for(let n of e.split(`
2
2
  `)){let e=n.trim();if(!e||e.startsWith(`#`))continue;let r=_(e);if(!r){a.warn(`Skipping unrecognized sudoers line`,{line:e});continue}let i=r.directive===`Cmnd`?p:m,o={pattern:r.pattern,nopasswd:r.nopasswd,regex:i(r.pattern)};r.directive===`Cmnd`?t.cmnd.push(o):r.directive===`Read`?t.read.push(o):t.write.push(o)}return t}catch(e){return a.error(`Failed to parse sudoers; falling back to self-protection only`,{err:e}),d()}}function y(...e){let t=d();for(let n of e)n&&(t.cmnd.push(...n.cmnd),t.read.push(...n.read),t.write.push(...n.write));return t}function b(e,t){let n=!1;for(let r of e)if(r.regex.test(t)){if(r.nopasswd)return`nopasswd-allow`;n=!0}return n?`require-approval`:`no-match`}function x(e,t){return b(e.cmnd,t.trim())}function S(e){return e===`/etc/sudoers`||e===`/etc/sudoers.d`||e.startsWith(`/etc/sudoers.d/`)||c.test(e)||e===`/etc/slicc/layouts`||e.startsWith(`/etc/slicc/layouts/`)}function C(e,t,n,a){let o=r(n);if(t===`write`){if(S(o))return`require-approval`;if(a?.isContentWrite&&i(o))return`nopasswd-allow`}return b(t===`read`?e.read:e.write,o)}const w=t(`sudo:fs`),T=Symbol.for(`slicc.fs.monkeypatchUnsafe`),E=`${s}/granted`,D=[`readFile`,`readTextFile`,`readDir`,`exists`,`stat`],O=[`writeFile`],k=[`mkdir`,`rm`];async function ee(e,t,r,i){let a=h(i);if(!a)return;let o=t(),c={pattern:a,nopasswd:!0,regex:m(a)};(r===`read`?o.read:o.write).push(c);let l=`NOPASSWD ${r===`read`?`Read`:`Write`} ${a}\n`;try{await e.mkdir(s,{recursive:!0});let t=``;try{t=await e.readFile(E,{encoding:`utf-8`})}catch(e){if(!(e instanceof n&&e.code===`ENOENT`))throw e}let r=t.length>0&&!t.endsWith(`
3
3
  `)?`
4
4
  `:``;await e.writeFile(E,t+r+l)}catch(e){w.warn(`Failed to persist NOPASSWD grant; effective in-session only`,{error:e instanceof Error?e.message:String(e)})}}function te(e,t){let{broker:i,getPolicy:a}=t,o=t.defaultDisposition??`allow`,s=t.onGrant?t.onGrant:(t,n)=>ee(e,a,t,n);async function c(e,t,c=!1){let l=r(t),d=C(a(),e,l,{isContentWrite:c});if((e===`write`?u(d,o):d)!==`require-approval`)return;let f=e,p=await i.requestApproval({kind:f,detail:l});if(p.decision===`deny`)throw new n(`EACCES`,`sudo: approval denied`,l);p.decision===`always`&&await s(e,p.pattern?.trim()||l)}function l(e){return C(a(),`read`,r(e))!==`require-approval`}let d=t=>typeof e[t]==`function`,f={};for(let t of D)d(t)&&(f[t]=async(n,...r)=>(await c(`read`,n),e[t](n,...r)));for(let t of O)d(t)&&(f[t]=async(n,...r)=>(await c(`write`,n,!0),e[t](n,...r)));for(let t of k)d(t)&&(f[t]=async(n,...r)=>(await c(`write`,n),e[t](n,...r)));return d(`walk`)&&(f.walk=async function*(t,...n){await c(`read`,t),yield*e.walk(t,...n)}),d(`symlink`)&&(f.symlink=async(t,n)=>(await c(`write`,n),e.symlink(t,n))),d(`rename`)&&(f.rename=async(t,n)=>(await c(`read`,t),await c(`write`,t),await c(`write`,n),e.rename(t,n))),d(`copyFile`)&&(f.copyFile=async(t,n)=>(await c(`read`,t),await c(`write`,n),e.copyFile(t,n))),d(`mount`)&&(f.mount=async(t,...n)=>(await c(`write`,t),e.mount(t,...n))),d(`unmount`)&&(f.unmount=async t=>(await c(`write`,t),e.unmount(t))),d(`refreshMount`)&&(f.refreshMount=async(t,...n)=>(await c(`write`,t),e.refreshMount(t,...n))),d(`statSync`)&&(f.statSync=t=>l(t)?e.statSync(t):null),d(`readDirSync`)&&(f.readDirSync=t=>l(t)?e.readDirSync(t):null),new Proxy(e,{get(e,t,n){if(t===T)return!0;if(typeof t==`string`&&t in f)return f[t];let r=Reflect.get(e,t,n);return typeof r==`function`?r.bind(e):r}})}const A=`/workspace/skills`,j=`SKILL.md`,M=t(`skills-discovery`),N=[`native`,`agents`,`claude`,`marketplace`],P=new Map([[`.agents`,`agents`],[`.claude`,`claude`]]),F=new Set([`.git`,`.slicc`,`node_modules`]),I=2e4,L=[`mkdir`,`mount`,`rename`,`rm`,`unmount`,`writeFile`],R=new WeakMap,z=new WeakSet;async function B(e,t=A){let n=await W(e,t),r=await V(e);return[...N.flatMap(e=>(e===`native`?n:r.filter(t=>t.source===e)).sort((e,t)=>e.path.localeCompare(t.path)))]}async function V(e){if(H(e))return(await J(e)).map(e=>({...e}));Y(e);let t=e,n=R.get(t);if(n)return n.map(e=>({...e}));let r=await J(e);return R.set(t,r),r.map(e=>({...e}))}function H(e){try{return e[T]===!0}catch{return!1}}function U(e,t){let n=new Map,r=new Map;for(let i of e){let e=t(i);if(!n.has(e)){n.set(e,i);continue}let a=r.get(e)??{name:e,winner:n.get(e),shadowed:[]};a.shadowed.push(i),r.set(e,a)}return{winners:Array.from(n.values()),collisions:Array.from(r.values())}}async function W(e,t){let n=await Z(e,t),r=[];for(let i of n){if(i.type!==`directory`)continue;let n=`${t}/${i.name}`,a=`${n}/${j}`;await X(e,a)&&r.push({source:`native`,sourceRoot:t,path:n,skillFilePath:a})}return r}async function G(e,t){let n;try{n=await e.readTextFile(t)}catch{return[]}let r;try{r=JSON.parse(n)}catch{return[]}if(typeof r!=`object`||!r||!Array.isArray(r.plugins))return[];let i=t.replace(/\/[^/]+$/,``).replace(/\/.claude-plugin$/,``),a=[];for(let e of r.plugins){if(typeof e!=`object`||!e)continue;let t=e.source;if(typeof t!=`string`||t.startsWith(`/`)||t.split(`/`).includes(`..`))continue;let n=t.replace(/^\.\//,``).replace(/\/$/,``).replace(/^\.$/,``);a.push(n?`${i}/${n}`:i)}return a}async function K(e,t,n){let r=await G(e,`${t}/marketplace.json`),i=[];for(let t of r){let r=`${t}/skills`,a=await Z(e,r);for(let t of a){if(t.type!==`directory`)continue;let a=`${r}/${t.name}`,o=`${a}/${j}`;!await X(e,o)||n.has(a)||(n.add(a),i.push({source:`marketplace`,sourceRoot:r,path:a,skillFilePath:o}))}}return i}async function q(e,t,n,r){let i=`${t}/skills`,a=await Z(e,i),o=[];for(let t of a){if(t.type!==`directory`)continue;let a=`${i}/${t.name}`,s=`${a}/${j}`;!await X(e,s)||r.has(a)||(r.add(a),o.push({source:n,sourceRoot:i,path:a,skillFilePath:s}))}return o}async function J(e){let t=[],n=new Set,r=new Set([`/`]),i=[{path:`/`,depth:0}];for(let a=0;a<i.length;a+=1){if(a>=I){M.warn(`skills discovery: directory budget exhausted; walk truncated`,{budget:I});break}let{path:o,depth:s}=i[a],c=await Z(e,o);for(let a of c){if(a.type!==`directory`||a.name===`.`||a.name===`..`)continue;let c=o===`/`?`/${a.name}`:`${o}/${a.name}`,l=P.get(a.name);if(l){let r=await q(e,c,l,n);t.push(...r)}if(a.name===`.claude-plugin`){let r=await K(e,c,n);t.push(...r);continue}!F.has(a.name)&&s<24&&!r.has(c)&&(r.add(c),i.push({path:c,depth:s+1}))}}return t}function Y(e){if(H(e))return;let t=e;if(z.has(t))return;z.add(t);let n=e;for(let r of L){let i=n[r];if(typeof i!=`function`)continue;let a=i;try{n[r]=async(...n)=>{let r=await a.apply(e,n);return R.delete(t),r}}catch{}}}async function X(e,t){try{return await e.stat(t),!0}catch{return!1}}async function Z(e,t){try{return[...await e.readDir(t)].sort((e,t)=>e.name.localeCompare(t.name))}catch{return[]}}async function Q(e,t=`/workspace/skills`){let n=await B(e,t),r=[];for(let t of n){let n=t.path.split(`/`).pop()??t.path,i=``;if(t.skillFilePath)try{i=re(await e.readTextFile(t.skillFilePath))??``}catch{}r.push({name:n,source:t.source,sourceRoot:t.sourceRoot,path:t.path,skillFilePath:t.skillFilePath,description:i})}let{winners:i,collisions:a}=U(r,e=>e.name),o=new Map(a.map(e=>[e.winner.path,e.shadowed.map(e=>e.path)]));return i.map(e=>({...e,shadowedPaths:o.get(e.path)}))}async function $(e,t,n=`/workspace/skills`){return(await Q(e,n)).find(e=>e.name===t)||null}async function ne(e,t,n=`/workspace/skills`){let r=await $(e,t,n);if(!r?.skillFilePath)return null;try{return await e.readTextFile(r.skillFilePath)}catch{return null}}function re(e){let t=e.replace(/^\uFEFF/,``).replace(/\r\n?/g,`