@skill-map/cli 0.70.0 → 0.71.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.
@@ -1,4 +1,4 @@
1
1
  import{E as ht,F as fe,G as ft,H as vt,I as bt,J as ne,K as yt,f as pt,j as mt,k as gt,u as V,v as G,w as ut,x as Z}from"./chunk-SQCXHF3J.js";import{b as qe,f as et,g as tt,h as ae,i as nt,j as it,k as rt}from"./chunk-KHDWXSGR.js";import{a as M,b as me,c as Ct,d as kt}from"./chunk-GUGB4JY5.js";import{a as ct,c as he,d as h,f as F,g as dt,h as N,i as U,j as J,l as _t}from"./chunk-RSPEJBPT.js";import{a as He,b as We,c as Qe,d as Y,e as Ye,f as Ge,g as Ze}from"./chunk-Z7SOKILO.js";import{b as de,c as pe}from"./chunk-CG25RHMO.js";import{$ as ot,aa as st,ga as at,oa as lt,wa as le,xa as ce}from"./chunk-JKPG5PO7.js";import{r as Xe}from"./chunk-7WMT2LX4.js";import"./chunk-TQBXK5JN.js";import{$ as Ee,$b as g,Ab as B,Bb as Q,Cb as te,Dc as Ke,H as Pe,Ha as re,Ib as I,Ja as l,K as A,Kb as R,Lb as oe,Mb as f,N as Se,Na as Ne,O as W,P as s,Q as Me,Qa as $e,Ta as Le,V as E,W as O,Xb as Ue,Yb as Ve,Z as Re,Za as D,_ as Te,_b as Je,ac as _,bc as S,ca as Oe,da as Ie,db as je,f as we,fa as Ae,ga as q,gb as ee,ha as De,ja as ie,jb as ze,kb as Be,m as H,nb as C,qb as x,ra as Fe,rb as w,wb as b,wc as m,xb as c,xc as se,yb as p,zb as P}from"./chunk-EJVWTBMV.js";import{a as ke,b as xe}from"./chunk-ZRJ5ZCFR.js";var Gt="@",Zt=(()=>{class n{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=s(Re);loadingSchedulerFn=s(qt,{optional:!0});_engine;constructor(e,r,i,o,a){this.doc=e,this.delegate=r,this.zone=i,this.animationType=o,this.moduleImpl=a}ngOnDestroy(){this._engine?.flush()}loadImpl(){let e=()=>this.moduleImpl??import("./chunk-6FGV5O5J.js").then(i=>i),r;return this.loadingSchedulerFn?r=this.loadingSchedulerFn(e):r=e(),r.catch(i=>{throw new Pe(5300,!1)}).then(({\u0275createEngine:i,\u0275AnimationRendererFactory:o})=>{this._engine=i(this.animationType,this.doc);let a=new o(this.delegate,this._engine,this.zone);return this.delegate=a,a})}createRenderer(e,r){let i=this.delegate.createRenderer(e,r);if(i.\u0275type===0)return i;typeof i.throwOnSyntheticProps=="boolean"&&(i.throwOnSyntheticProps=!1);let o=new ve(i);return r?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(a=>{let u=a.createRenderer(e,r);o.use(u),this.scheduler??=this.injector.get(De,null,{optional:!0}),this.scheduler?.notify(10)}).catch(a=>{o.use(i)}),o}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(e){this._engine?.flush(),this.delegate.componentReplaced?.(e)}static \u0275fac=function(r){Le()};static \u0275prov=A({token:n,factory:n.\u0275fac})}return n})(),ve=class{delegate;replay=[];\u0275type=1;constructor(t){this.delegate=t}use(t){if(this.delegate=t,this.replay!==null){for(let e of this.replay)e(t);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}get destroyNode(){return this.delegate.destroyNode}appendChild(t,e){this.delegate.appendChild(t,e)}insertBefore(t,e,r,i){this.delegate.insertBefore(t,e,r,i)}removeChild(t,e,r,i){this.delegate.removeChild(t,e,r,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,r,i){this.delegate.setAttribute(t,e,r,i)}removeAttribute(t,e,r){this.delegate.removeAttribute(t,e,r)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,r,i){this.delegate.setStyle(t,e,r,i)}removeStyle(t,e,r){this.delegate.removeStyle(t,e,r)}setProperty(t,e,r){this.shouldReplay(e)&&this.replay.push(i=>i.setProperty(t,e,r)),this.delegate.setProperty(t,e,r)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,r,i){return this.shouldReplay(e)&&this.replay.push(o=>o.listen(t,e,r,i)),this.delegate.listen(t,e,r,i)}shouldReplay(t){return this.replay!==null&&t.startsWith(Gt)}},qt=new Se("");function xt(n="animations"){return Ne("NgAsyncAnimations"),Me([{provide:$e,useFactory:()=>new Zt(s(Te),s(He),s(Oe),n)},{provide:Fe,useValue:n==="noop"?"NoopAnimations":"BrowserAnimations"}])}var be="skill-map",j={brand:be,beta:"BETA - do not use in production",betaDemo:"BETA",devChip:"dev",devChipTooltip:"BFF launched from a local checkout (not the npm install).",devChipA11y:"Development build: BFF is running from a local checkout.",lensChipTooltip:n=>`Active lens: ${n}. The map reflects how ${n} interprets your files.`,lensChipA11y:n=>`Active provider lens: ${n}.`,nav:{searchLabel:"Search nodes by name or tag",searchTooltip:"Search",searchPlaceholder:"Search by name or tag...",searchAriaLabel:"Search nodes by name or tag",searchClearLabel:"Clear search"},actions:{},badge:{nodes:"nodes",mapInfo:(n,t)=>{let e=`Run scan
2
2
  ${n.toLocaleString()} nodes \xB7 ${t.raw.toLocaleString()} links`;if(t.raw===t.drawn)return e;let r=[],i=t.brokenSource+t.brokenTarget;return i>0&&r.push(`${i} broken`),t.selfLoops>0&&r.push(`${t.selfLoops} self-loop${t.selfLoops===1?"":"s"}`),t.duplicates>0&&r.push(`${t.duplicates} duplicate${t.duplicates===1?"":"s"}`),`${e}
3
3
  ${t.drawn.toLocaleString()} drawn (${r.join(", ")})`},mapInfoA11y:(n,t)=>`Map contains ${n} nodes and ${t.raw} links; ${t.drawn} drawn on the canvas`},a11y:{viewSwitcher:"View switcher"},viewportWarning:{title:"Looks like you're on a small screen",subtitle:"skill-map is built for desktop",body:"The map and inspector need room to breathe. Pop this open on a screen at least 768px wide. See you there."},documentTitle:(n,t)=>{let e=n?`${n} - ${be}`:be;return t?`${e} v${t}`:e}};var wt=[{path:"",pathMatch:"full",loadComponent:()=>import("./chunk-EVNCL7FV.js").then(n=>n.WorkspaceView),title:j.brand},{path:"intentional-fail",loadComponent:()=>import("./chunk-HLALESGR.js").then(n=>n.IntentionalFail)},{path:"**",redirectTo:""}];var z={errors:{unknownMode:n=>`SKILL_MAP_MODE: unknown value "${n}"`,restPrefix:n=>`BFF error [${n}]: `,malformedResponse:"BFF returned a malformed response",demoFetchFailed:(n,t)=>`Demo bundle fetch failed for "${n}": ${t}`,demoParseFailed:(n,t)=>`Demo bundle parse failed for "${n}": ${t}`,graphFormatNotInDemo:n=>`Graph format "${n}" is not bundled in demo mode (only "ascii").`}};function ge(n){let t=new TextEncoder().encode(n),e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var d="/api",Pt=(()=>{class n{http;ws;kindRegistry;providerRegistry;contributionsRegistry;constructor(e,r,i,o,a){this.http=e??s(Y),this.ws=r??s(N),this.kindRegistry=i??s(V),this.contributionsRegistry=o??s(Z),this.providerRegistry=a??s(J)}async health(){return this.getJson(`${d}/health`)}async loadScan(){let[e]=await Promise.all([this.getJson(`${d}/scan`),this.listNodes({limit:0}).catch(()=>null)]);return e}async loadScanMeta(){return this.getJson(`${d}/scan?meta=1`)}async loadFolders(){let e=await this.getJson(`${d}/folders`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e.items}async loadBranch(e=[],r){let i=new URLSearchParams;for(let a of e)a&&i.append("path",a);r!==void 0&&i.set("limit",String(r));let o=i.toString();return this.getJson(`${d}/branch${o?`?${o}`:""}`)}async runScan(){return this.patchJson(`${d}/scan`,{},"POST")}async listNodes(e={}){let r=en(e),i=await this.getJson(`${d}/nodes${r}`);return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async getNode(e,r={}){let i=ge(e),o=r.includeBody?"?include=body":"";try{let a=await this.getJson(`${d}/nodes/${i}${o}`);return this.ingestRegistry(a.kindRegistry),this.ingestContributionsRegistry(a.contributionsRegistry),this.ingestProviderRegistry(a.providerRegistry),a}catch(a){if(a instanceof h&&a.code==="not-found")return null;throw a}}async listLinks(e={}){let r=tn(e),i=await this.getJson(`${d}/links${r}`);return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async listIssues(e={}){let r=nn(e),i=await this.getJson(`${d}/issues${r}`);return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async loadGraph(e="ascii"){let r=`${d}/graph?format=${encodeURIComponent(e)}`;try{return await H(this.http.get(r,{responseType:"text"}))}catch(i){throw this.translateError(i)}}async loadConfig(){let e=await this.getJson(`${d}/config`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e.value}async listPlugins(){let e=await this.getJson(`${d}/plugins`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e}async setPluginEnabled(e,r){let i=await this.patchJson(`${d}/plugins/${encodeURIComponent(e)}`,{enabled:r});return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async setPluginExtensionEnabled(e,r,i){let o=await this.patchJson(`${d}/plugins/${encodeURIComponent(e)}/extensions/${encodeURIComponent(r)}`,{enabled:i});return this.ingestRegistry(o.kindRegistry),this.ingestContributionsRegistry(o.contributionsRegistry),this.ingestProviderRegistry(o.providerRegistry),o}async setPluginTrusted(e,r){let i=await this.patchJson(`${d}/plugins/${encodeURIComponent(e)}/trust`,{trusted:r});return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async applyPluginChanges(e){let r=await this.patchJson(`${d}/plugins`,{changes:e});return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async getPreferences(){return await this.getJson(`${d}/preferences`)}async setPreferences(e){return await this.patchJson(`${d}/preferences`,e)}async getProjectPreferences(){return await this.getJson(`${d}/project-preferences`)}async setProjectPreferences(e){return await this.patchJson(`${d}/project-preferences`,e)}async getProjectIgnore(){return await this.getJson(`${d}/project-ignore`)}async setProjectIgnore(e){return await this.patchJson(`${d}/project-ignore`,e)}async getActiveProvider(){return await this.getJson(`${d}/active-provider`)}async setActiveProvider(e){return await this.patchJson(`${d}/active-provider`,{activeProvider:e})}async setFavorite(e){let r=ge(e);try{await H(this.http.put(`${d}/favorites/${r}`,null))}catch(i){throw this.translateError(i)}}async unsetFavorite(e){let r=ge(e);try{await H(this.http.delete(`${d}/favorites/${r}`))}catch(i){throw this.translateError(i)}}async bumpSidecar(e,r={}){let i={nodePath:e};return r.force!==void 0&&(i.force=r.force),r.confirm!==void 0&&(i.confirm=r.confirm),this.patchJson(`${d}/sidecar/bump`,i,"POST")}async dispatchAction(e,r,i={}){let o=e.split("/").map(encodeURIComponent).join("/"),a={nodePath:r};return i.input!==void 0&&(a.input=i.input),i.confirm!==void 0&&(a.confirm=i.confirm),i.always!==void 0&&(a.always=i.always),this.patchJson(`${d}/actions/${o}`,a,"POST")}async getUpdateStatus(){return this.getJson(`${d}/update-status`)}async getRegisteredAnnotations(){return(await this.getJson(`${d}/annotations/registered`)).items}ingestRegistry(e){e&&this.kindRegistry.ingest(e)}ingestProviderRegistry(e){e&&this.providerRegistry.ingest(e)}ingestContributionsRegistry(e){this.contributionsRegistry.setRegistry(e)}async lookupContribution(e,r,i){let o=new URLSearchParams({path:i});try{return(await this.getJson(`${d}/contributions/${encodeURIComponent(e)}/${encodeURIComponent(r)}?${o.toString()}`)).items[0]??null}catch{return null}}events(){return this.ws.events$}async getJson(e){try{return await H(this.http.get(e))}catch(r){throw this.translateError(r)}}async patchJson(e,r,i="PATCH"){try{let o=i==="POST"?this.http.post(e,r):this.http.patch(e,r);return await H(o)}catch(o){throw this.translateError(o)}}translateError(e){if(e instanceof h)return e;if(e instanceof Qe){let i=rn(e.error);return i?new h(i.error.code,i.error.message,i.error.details):new h("internal",e.message||z.errors.malformedResponse)}let r=e instanceof Error?e.message:String(e);return new h("internal",r)}static \u0275fac=function(r){return new(r||n)(W(Y),W(N),W(V),W(Z),W(J))};static \u0275prov=A({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function en(n){let t=new URLSearchParams;n.kind&&n.kind.length>0&&t.set("kind",n.kind.join(",")),n.hasIssues!==void 0&&t.set("hasIssues",String(n.hasIssues)),n.path&&t.set("path",n.path),n.limit!==void 0&&t.set("limit",String(n.limit)),n.offset!==void 0&&t.set("offset",String(n.offset));let e=t.toString();return e?`?${e}`:""}function tn(n){let t=new URLSearchParams;n.kind&&n.kind.length>0&&t.set("kind",n.kind.join(",")),n.from&&t.set("from",n.from),n.to&&t.set("to",n.to);let e=t.toString();return e?`?${e}`:""}function nn(n){let t=new URLSearchParams;n.severity&&t.set("severity",n.severity),n.analyzerId&&t.set("analyzerId",n.analyzerId),n.node&&t.set("node",n.node),n.nodes&&n.nodes.length>0&&t.set("nodes",n.nodes.join(","));let e=t.toString();return e?`?${e}`:""}function rn(n){if(typeof n!="object"||n===null)return null;let t=n;if(t.ok!==!1)return null;let e=t.error;if(typeof e!="object"||e===null)return null;let r=e;return typeof r.code!="string"||typeof r.message!="string"?null:{ok:!1,error:{code:r.code,message:r.message,details:r.details}}}var on="data.json",sn="data.meta.json",ue=class{fetchImpl;metaPromise=null;dataPromise=null;kindRegistry;providerRegistry;contributionsRegistry;constructor(t=globalThis.fetch.bind(globalThis),e,r,i){this.fetchImpl=t,this.kindRegistry=e??s(V),this.providerRegistry=r??s(J),this.contributionsRegistry=i??s(Z)}async health(){return(await this.loadMeta()).health}async loadScan(){let[t,e]=await Promise.all([this.loadData(),this.loadMeta()]);return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),this.primeContributionsRegistry(e),t}async loadScanMeta(){let t=await this.loadScan();return xe(ke({},t),{nodes:[],links:[],issues:[]})}async loadFolders(){let t=await this.loadScan(),e=new Map,r=new Map;for(let i of t.issues){let o=i.severity==="error"?e:i.severity==="warn"?r:null;if(o)for(let a of i.nodeIds)o.set(a,(o.get(a)??0)+1)}return t.nodes.map(i=>({path:i.path,kind:i.kind,linksInCount:i.linksInCount,linksOutCount:i.linksOutCount,tokensTotal:i.tokens?.total??null,modifiedAtMs:i.modifiedAtMs??null,errorCount:e.get(i.path)??0,warnCount:r.get(i.path)??0,sidecarStatus:i.sidecar?.status??null}))}async loadBranch(t=[],e){let r=await this.loadScan(),i=t.filter(y=>y!==""),o=y=>i.length===0||i.some(X=>y===X||y.startsWith(`${X}/`)),a=r.nodes.filter(y=>o(y.path)).sort((y,X)=>y.path.localeCompare(X.path)),u=a.length,k=e!==void 0&&e>0?e:u,v=a.slice(0,k),T=new Set(v.map(y=>y.path)),$=r.links.filter(y=>T.has(y.source)&&T.has(y.resolvedTarget??y.target)),Yt=r.issues.filter(y=>y.nodeIds.some(X=>T.has(X)));return{schemaVersion:"1",kind:"branch",branch:{paths:[...i],total:u,rendered:v.length,truncated:u>k,cap:k},nodes:v,links:$,issues:Yt}}primeContributionsRegistry(t){this.contributionsRegistry.setRegistry(t.contributionsRegistry)}async listNodes(t={}){let e=await this.loadMeta();if(an(t))return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),this.primeContributionsRegistry(e),e.nodes;let r=await this.loadData(),i=r.issues,o=r.nodes;if(t.kind&&t.kind.length>0){let T=new Set(t.kind);o=o.filter($=>T.has($.kind))}if(t.path){let T=dn(t.path);o=o.filter($=>T.test($.path))}if(t.hasIssues===!0){let T=St(i);o=o.filter($=>T.has($.path))}else if(t.hasIssues===!1){let T=St(i);o=o.filter($=>!T.has($.path))}let a=o.length,u=t.offset??0,k=t.limit??1e3,v=o.slice(u,u+k);return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),this.primeContributionsRegistry(e),{schemaVersion:"1",kind:"nodes",items:v,filters:{kind:t.kind??null,hasIssues:t.hasIssues??null,path:t.path?[t.path]:null},counts:{total:a,returned:v.length,page:{offset:u,limit:k}},kindRegistry:e.nodes.kindRegistry,providerRegistry:e.nodes.providerRegistry}}async getNode(t,e={}){let[r,i]=await Promise.all([this.loadData(),this.loadMeta()]),o=r.nodes.find(v=>v.path===t);if(!o)return null;let a=r.links.filter(v=>v.target===t),u=r.links.filter(v=>v.source===t),k=r.issues.filter(v=>v.nodeIds.includes(t));return this.kindRegistry.ingest(i.nodes.kindRegistry),this.providerRegistry.ingest(i.nodes.providerRegistry),this.primeContributionsRegistry(i),{schemaVersion:"1",kind:"node",item:o,links:{incoming:a,outgoing:u},issues:k,kindRegistry:i.nodes.kindRegistry,providerRegistry:i.nodes.providerRegistry}}async listLinks(t={}){let e=await this.loadMeta();if(ln(t))return this.kindRegistry.ingest(e.links.kindRegistry),this.providerRegistry.ingest(e.links.providerRegistry),this.primeContributionsRegistry(e),e.links;let i=(await this.loadData()).links;if(t.kind&&t.kind.length>0){let o=new Set(t.kind);i=i.filter(a=>o.has(a.kind))}return t.from&&(i=i.filter(o=>o.source===t.from)),t.to&&(i=i.filter(o=>o.target===t.to)),this.kindRegistry.ingest(e.links.kindRegistry),this.providerRegistry.ingest(e.links.providerRegistry),this.primeContributionsRegistry(e),{schemaVersion:"1",kind:"links",items:i,filters:{kind:t.kind??null,from:t.from??null,to:t.to??null},counts:{total:i.length,returned:i.length},kindRegistry:e.links.kindRegistry,providerRegistry:e.links.providerRegistry}}async listIssues(t={}){let e=await this.loadMeta();if(cn(t))return this.kindRegistry.ingest(e.issues.kindRegistry),this.providerRegistry.ingest(e.issues.providerRegistry),this.primeContributionsRegistry(e),e.issues;let i=(await this.loadData()).issues;if(t.severity&&(i=i.filter(o=>o.severity===t.severity)),t.analyzerId&&(i=i.filter(o=>o.analyzerId===t.analyzerId)),t.node&&(i=i.filter(o=>o.nodeIds.includes(t.node))),t.nodes&&t.nodes.length>0){let o=new Set(t.nodes);i=i.filter(a=>a.nodeIds.some(u=>o.has(u)))}return this.kindRegistry.ingest(e.issues.kindRegistry),this.providerRegistry.ingest(e.issues.providerRegistry),this.primeContributionsRegistry(e),{schemaVersion:"1",kind:"issues",items:i,filters:{severity:t.severity??null,analyzerId:t.analyzerId??null,node:t.node??null,nodes:t.nodes&&t.nodes.length>0?[...t.nodes]:null},counts:{total:i.length,returned:i.length},kindRegistry:e.issues.kindRegistry,providerRegistry:e.issues.providerRegistry}}async loadGraph(t="ascii"){if(t!=="ascii")throw new h("bad-query",z.errors.graphFormatNotInDemo(t));return(await this.loadMeta()).graph.ascii}async loadConfig(){let t=await this.loadMeta();return this.kindRegistry.ingest(t.config.kindRegistry),this.providerRegistry.ingest(t.config.providerRegistry),this.primeContributionsRegistry(t),t.config.value}async listPlugins(){let t=await this.loadMeta();return this.kindRegistry.ingest(t.plugins.kindRegistry),this.providerRegistry.ingest(t.plugins.providerRegistry),this.primeContributionsRegistry(t),t.plugins}async setFavorite(t){throw new h("demo-readonly","Favorites are not available in demo mode (static bundle is immutable).")}async unsetFavorite(t){throw new h("demo-readonly","Favorites are not available in demo mode (static bundle is immutable).")}async setPluginEnabled(t,e){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async setPluginExtensionEnabled(t,e,r){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async applyPluginChanges(t){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async setPluginTrusted(t,e){throw new h("demo-readonly","Plugin trust is not available in demo mode (static bundle is immutable).")}async runScan(){throw new h("demo-readonly","Manual scan is not available in demo mode (static bundle is immutable).")}async getPreferences(){return{updateCheck:{enabled:!0},telemetry:{errorsEnabled:!1,usageCliEnabled:!1,usageUiEnabled:!1,anonymousId:null,environment:"prod"}}}async setPreferences(t){throw new h("demo-readonly","Preference toggles are not available in demo mode (static bundle is immutable).")}async getProjectPreferences(){return{allowSidecarWriters:!0,scan:{referencePaths:[]},pluginTrust:{projectEnabled:!1}}}async setProjectPreferences(t){throw new h("demo-readonly","Project preferences are not available in demo mode (static bundle is immutable).")}async getProjectIgnore(){return{patterns:[]}}async setProjectIgnore(t){throw new h("demo-readonly","Ignore patterns are not available in demo mode (static bundle is immutable).")}async getActiveProvider(){return(await this.loadMeta()).activeProvider??{activeProvider:"markdown",detected:[],source:"default",selectable:[]}}async setActiveProvider(t){throw new h("demo-readonly","Active provider lens is not available in demo mode (static bundle is immutable).")}async lookupContribution(){return null}async bumpSidecar(t,e={}){throw new h("demo-readonly","Sidecar bump is not available in demo mode (static bundle is immutable).")}async dispatchAction(t,e,r={}){throw new h("demo-readonly","Actions are not available in demo mode (static bundle is immutable).")}async getUpdateStatus(){return{current:(await this.loadMeta()).health.implVersion,latest:null,isOutdated:!1,checkedAt:null,shownAt:null}}async getRegisteredAnnotations(){return[]}events(){return we}loadMeta(){return this.metaPromise||(this.metaPromise=this.fetchJson(sn)),this.metaPromise}loadData(){return this.dataPromise||(this.dataPromise=this.fetchJson(on)),this.dataPromise}async fetchJson(t){let e;try{e=await this.fetchImpl(t)}catch(r){let i=r instanceof Error?r.message:String(r);throw new h("internal",z.errors.demoFetchFailed(t,i))}if(!e.ok)throw new h("internal",z.errors.demoFetchFailed(t,`HTTP ${e.status}`));try{return await e.json()}catch(r){let i=r instanceof Error?r.message:String(r);throw new h("internal",z.errors.demoParseFailed(t,i))}}};function an(n){return!(n.kind&&n.kind.length>0||n.hasIssues!==void 0||n.path||n.offset!==void 0&&n.offset!==0||n.limit!==void 0)}function ln(n){return!(n.kind&&n.kind.length>0||n.from||n.to)}function cn(n){return!(n.severity||n.analyzerId||n.node||n.nodes&&n.nodes.length>0)}function St(n){let t=new Set;for(let e of n)for(let r of e.nodeIds)t.add(r);return t}function dn(n){let e=n.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${e}$`)}function Mt(){let n=s(F);if(n==="live")return new Pt(s(Y),s(N));if(n==="demo")return new ue;let t=n;throw new Error(z.errors.unknownMode(String(t)))}var Rt="search",Tt="kinds",Et="linkKinds",Ot="favoritesOnly",It="severities",pn=["error","warn"],At=(()=>{class n{filters=s(gt);router=s(nt);activatedRoute=s(et);kindRegistry=s(V);destroyRef=s(Ee);suppressUrlReadback=!1;constructor(){this.applyUrlToFilters(this.currentParams()),this.router.events.pipe(ct(this.destroyRef)).subscribe(e=>{if(e instanceof qe){if(this.suppressUrlReadback)return;this.applyUrlToFilters(this.currentParams())}}),ie(()=>{let e=this.computeQueryParams();this.writeQueryParams(e)})}currentParams(){let e=this.router.parseUrl(this.router.url),r=new URLSearchParams;for(let[i,o]of Object.entries(e.queryParams))Array.isArray(o)?r.set(i,o.join(",")):o!=null&&r.set(i,String(o));return this.activatedRoute,r}applyUrlToFilters(e){let r=e.get(Rt)??"";r!==this.filters.searchText()&&this.filters.setSearchText(r);let i=mn(e.get(Tt),this.kindRegistry.kinds().map(v=>v.name));_e(i,this.filters.selectedKinds())||this.filters.setKinds(i);let o=e.get(Ot)==="true";o!==this.filters.favoritesOnly()&&this.filters.setFavoritesOnly(o);let a=gn(e.get(Et));_e(a,this.filters.selectedLinkKinds())||this.filters.setLinkKinds(a);let u=un(e.get(It)),k=[];this.filters.severityErrorActive()&&k.push("error"),this.filters.severityWarnActive()&&k.push("warn"),_e(u,k)||this.filters.setSeverityFilters(u)}computeQueryParams(){let e=this.filters.searchText().trim(),r=this.filters.selectedKinds(),i=this.filters.selectedLinkKinds(),o=this.filters.favoritesOnly(),a=[];return this.filters.severityErrorActive()&&a.push("error"),this.filters.severityWarnActive()&&a.push("warn"),{[Rt]:e.length>0?e:null,[Tt]:r.length>0?r.join(","):null,[Et]:i.length>0?i.join(","):null,[Ot]:o?"true":null,[It]:a.length>0?a.join(","):null}}writeQueryParams(e){let r=this.currentParams(),i=new Map(Object.entries(e)),o=!1;for(let[a,u]of i)if((r.get(a)??null)!==u){o=!0;break}o&&(this.suppressUrlReadback=!0,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:e,queryParamsHandling:"merge",replaceUrl:!0}).finally(()=>{setTimeout(()=>{this.suppressUrlReadback=!1},0)}))}static \u0275fac=function(r){return new(r||n)};static \u0275prov=A({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function mn(n,t){if(!n)return[];let e=new Set(t);return n.split(",").map(r=>r.trim()).filter(r=>e.has(r))}function gn(n){if(!n)return[];let t=new Set(mt);return n.split(",").map(e=>e.trim()).filter(e=>t.has(e))}function un(n){if(!n)return[];let t=new Set(pn);return n.split(",").map(e=>e.trim()).filter(e=>t.has(e))}function _e(n,t){if(n.length!==t.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}var Ft=(()=>{class n extends ae{title=s(Ze);projectInfo=s(G);constructor(){super(),ie(()=>{let e=Dt(this.projectInfo.cwd()),r=this.projectInfo.implVersion();this.title.setTitle(j.documentTitle(e,r))})}updateTitle(e){let r=Dt(this.projectInfo.cwd()),i=this.projectInfo.implVersion();this.title.setTitle(j.documentTitle(r,i))}static \u0275fac=function(r){return new(r||n)};static \u0275prov=A({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function Dt(n){if(!n)return null;let t=n.replace(/[\\/]+$/,"");if(!t||t===".")return null;let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return(e>=0?t.slice(e+1):t)||null}var ye=!1,Ce=null;async function Nt(n){if(ye||fe===""||!n.consentEnabled)return;let t=await import("./chunk-3ANNEMV4.js");t.init({dsn:fe,release:n.release??void 0,environment:n.environment,integrations:e=>hn(t.breadcrumbsIntegration,e),tracesSampleRate:0,sendDefaultPii:!1,allowUrls:[/^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?\//],beforeSend:e=>ft(e)}),Ce=t,ye=!0}function $t(n){!ye||Ce===null||Ce.captureException(n)}function hn(n,t){return t.filter(e=>e.name!=="BrowserSession").map(e=>e.name==="Breadcrumbs"?n({console:!1,fetch:!1,xhr:!1,dom:!1}):e)}var Lt=(()=>{class n{handleError(e){console.error(e),$t(e)}static \u0275fac=function(r){return new(r||n)};static \u0275prov=A({token:n,factory:n.\u0275fac})}return n})();function fn(...n){for(let t of n)Promise.resolve(t.load())}var jt={providers:[Ae(),{provide:Ie,useClass:Lt},it(wt,rt()),{provide:ae,useClass:Ft},Ye(Ge()),xt(),st({}),ee(async()=>{let n=s(ot),[{default:t},{definePreset:e}]=await Promise.all([import("./chunk-OGEE252A.js"),import("./chunk-3ZAHOYQ7.js")]),r=e(t,{semantic:{primary:{50:"#F5F3FF",100:"#EDE9FE",200:"#DDD6FE",300:"#C4B5FD",400:"#A78BFA",500:"#8B5CF6",600:"#7C3AED",700:"#6D28D9",800:"#4C1D95",900:"#2E1065",950:"#1E0A4D"}}});n.setThemeConfig({theme:{preset:r,options:{darkModeSelector:".app-dark"}}})}),{provide:F,useFactory:dt},{provide:he,useFactory:Mt},ee(async()=>{let n=s(he),t=s(ne);try{let[e,r]=await Promise.all([n.getPreferences(),n.health()]);await Promise.all([Nt({consentEnabled:e.telemetry.errorsEnabled,release:r.implVersion?`skill-map-cli@${r.implVersion}`:null,environment:e.telemetry.environment}),vt({consentEnabled:e.telemetry.usageUiEnabled,distinctId:e.telemetry.anonymousId})]),bt({environment:e.telemetry.environment}),t.syncTheme()}catch{}}),ee(()=>{fn(s(U),s(me),s(G))}),ee(()=>{s(At),s(ut),s(ne)})]};var K={toggleToAuto:"Switch to auto theme (follow system)",toggleToLight:"Switch to light theme",toggleToDark:"Switch to dark theme",currentAuto:"Auto theme (follows system)",currentLight:"Light theme",currentDark:"Dark theme"};var zt={body:"You are viewing a static demo of skill-map's UI. Install it:",installCommand:"npm i -g @skill-map/cli",homeCta:"\u2190 Back to skill-map.ai",homeHref:"/",dismissAria:"Dismiss demo banner"};function bn(n,t){if(n&1){let e=I();c(0,"div",0),P(1,"span",1),c(2,"p",2),g(3),c(4,"code",3),g(5),p()(),c(6,"a",4),g(7),p(),c(8,"p-button",5),R("onClick",function(){E(e);let i=f();return O(i.dismiss())}),p()()}if(n&2){let e=f();l(3),S(" ",e.texts.body," "),l(2),_(e.texts.installCommand),l(),b("href",e.texts.homeHref,re),l(),_(e.texts.homeCta),l(),b("ariaLabel",e.texts.dismissAria)("text",!0)("rounded",!0)}}var Bt="sm.demoBannerDismissed",Ut=(()=>{class n{mode=s(F);texts=zt;dismissed=q(this.readDismissed());visible=m(()=>this.mode==="demo"&&!this.dismissed());dismiss(){this.dismissed.set(!0);try{globalThis.localStorage?.setItem(Bt,"1")}catch{}}readDismissed(){if(this.mode!=="demo")return!0;try{return globalThis.localStorage?.getItem(Bt)==="1"}catch{return!1}}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-demo-banner"]],decls:1,vars:1,consts:[["role","status","data-testid","demo-banner",1,"demo-banner"],["aria-hidden","true",1,"demo-banner__icon","fa-solid","fa-circle-info"],[1,"demo-banner__body"],["data-testid","demo-banner-install",1,"demo-banner__cmd"],["data-testid","demo-banner-home",1,"demo-banner__home",3,"href"],["icon","fa-solid fa-xmark","severity","secondary","size","small","data-testid","demo-banner-dismiss",3,"onClick","ariaLabel","text","rounded"]],template:function(r,i){r&1&&x(0,bn,9,7,"div",0),r&2&&w(i.visible()?0:-1)},dependencies:[pe,de],styles:["[_nghost-%COMP%]{display:block}.demo-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);background:var(--p-highlight-background);color:var(--p-text-color);font-size:.875rem}.demo-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--p-primary-color)}.demo-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.demo-banner__cmd[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);background:var(--p-content-background);border:1px solid var(--p-content-border-color);border-radius:var(--sm-radius-md);padding:.05rem .4rem;font-size:.85em;margin-left:.25rem}.demo-banner__home[_ngcontent-%COMP%]{color:var(--p-primary-color);font-weight:500;text-decoration:none;white-space:nowrap}.demo-banner__home[_ngcontent-%COMP%]:hover, .demo-banner__home[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}"],changeDetection:0})}return n})();var Vt={body:n=>`The scan hit its ceiling of ${n} ${n===1?"file":"files"}; some files were dropped from the corpus. Trim .skillmapignore or raise --max-scan.`,cta:"Edit .skillmapignore",ctaAria:"Open Settings to edit ignored patterns"};function _n(n,t){if(n&1){let e=I();B(0,"div",0),te(1,"span",1),B(2,"p",2),g(3),Q(),B(4,"button",3),oe("click",function(){E(e);let i=f();return O(i.onCta())}),g(5),Q()()}if(n&2){let e=f();l(3),S(" ",e.state().body," "),l(),C("aria-label",e.texts.ctaAria),l(),S(" ",e.texts.cta," ")}}var Jt=(()=>{class n{loader=s(U);texts=Vt;openSettings=se();state=m(()=>{let e=this.loader.scanMeta();if(!e||e.scanTruncated!==!0)return{visible:!1,body:""};let r=e.scanCeiling;return r===void 0?{visible:!1,body:""}:{visible:!0,body:this.texts.body(r)}});visible=m(()=>this.state().visible);onCta(){this.openSettings.emit()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-oversized-banner"]],outputs:{openSettings:"openSettings"},decls:1,vars:1,consts:[["role","status","data-testid","oversized-banner",1,"oversized-banner"],["aria-hidden","true",1,"oversized-banner__icon","fa-solid","fa-triangle-exclamation"],["data-testid","oversized-banner-body",1,"oversized-banner__body"],["type","button","data-testid","oversized-banner-cta",1,"oversized-banner__cta",3,"click"]],template:function(r,i){r&1&&x(0,_n,6,3,"div",0),r&2&&w(i.visible()?0:-1)},styles:["[_nghost-%COMP%]{display:block}.oversized-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);font-size:.875rem;background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn)}.oversized-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-warn)}.oversized-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.oversized-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.oversized-banner__cta[_ngcontent-%COMP%]:hover, .oversized-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.oversized-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return n})();var Kt={headline:n=>`${n} ${n===1?"file":"files"} skipped, ${n===1?"it exceeds":"they exceed"} the max file size.`,more:"...",seeConsole:"See the full list in the console.",cta:"Open Project settings",ctaAria:"Open Settings to adjust the max file size or ignore patterns"};function Cn(n,t){if(n&1&&(c(0,"span",4),g(1),p()),n&2){let e=f(2);b("pTooltip",e.state().tooltip),l(),_(e.texts.more)}}function kn(n,t){if(n&1){let e=I();c(0,"div",0),P(1,"span",1),c(2,"p",2),g(3),c(4,"span",3),g(5),p(),x(6,Cn,2,2,"span",4),p(),c(7,"button",5),R("click",function(){E(e);let i=f();return O(i.onCta())}),g(8),p()()}if(n&2){let e=f();l(3),S(" ",e.texts.headline(e.state().count)," "),l(2),S(" ",e.state().first," "),l(),w(e.state().hasMore?6:-1),l(),C("aria-label",e.texts.ctaAria),l(),S(" ",e.texts.cta," ")}}var xn=5,Xt=(()=>{class n{loader=s(U);texts=Kt;openSettings=se();state=m(()=>{let e=this.loader.scanMeta(),r=e?.oversizedFiles??[],i=e?.stats?.filesOversized??r.length;if(i<=0)return{visible:!1,count:0,first:"",hasMore:!1,tooltip:""};let o=r[0]?this.describe(r[0]):"",a=i>1,u="";if(a){let k=r.slice(1);i-1>xn?u=this.texts.seeConsole:u=k.map(v=>this.describe(v)).join(`
4
- `)}return{visible:!0,count:i,first:o,hasMore:a,tooltip:u}});visible=m(()=>this.state().visible);describe(e){return`${e.path.split("/").pop()??e.path} (${pt(e.bytes)})`}onCta(){this.openSettings.emit()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-skipped-files-banner"]],outputs:{openSettings:"openSettings"},decls:1,vars:1,consts:[["role","status","data-testid","skipped-files-banner",1,"skipped-files-banner"],["aria-hidden","true",1,"skipped-files-banner__icon","fa-solid","fa-triangle-exclamation"],["data-testid","skipped-files-banner-body",1,"skipped-files-banner__body"],["data-testid","skipped-files-banner-first",1,"skipped-files-banner__first"],["data-testid","skipped-files-banner-more",1,"skipped-files-banner__more",3,"pTooltip"],["type","button","data-testid","skipped-files-banner-cta",1,"skipped-files-banner__cta",3,"click"]],template:function(r,i){r&1&&x(0,kn,9,5,"div",0),r&2&&w(i.visible()?0:-1)},dependencies:[ce,le],styles:["[_nghost-%COMP%]{display:block}.skipped-files-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);font-size:.875rem;background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn)}.skipped-files-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-warn)}.skipped-files-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.skipped-files-banner__first[_ngcontent-%COMP%]{font-weight:600}.skipped-files-banner__more[_ngcontent-%COMP%]{font-weight:600;cursor:help}.skipped-files-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.skipped-files-banner__cta[_ngcontent-%COMP%]:hover, .skipped-files-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.skipped-files-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return n})();var Ht={body:"Connection to the server was lost. Live updates are paused.",reconnectCta:"Reconnect",reconnectAria:"Retry the connection to the server"};function wn(n,t){if(n&1){let e=I();B(0,"div",0),te(1,"span",1),B(2,"p",2),g(3),Q(),B(4,"button",3),oe("click",function(){E(e);let i=f();return O(i.reconnect())}),te(5,"span",4),g(6),Q()()}if(n&2){let e=f();l(3),_(e.texts.body),l(),C("aria-label",e.texts.reconnectAria),l(2),S(" ",e.texts.reconnectCta," ")}}var Wt=(()=>{class n{mode=s(F);ws=s(N);texts=Ht;visible=m(()=>this.mode==="live"&&this.ws.connectionState()==="lost");reconnect(){this.ws.reconnect()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-connection-banner"]],decls:1,vars:1,consts:[["role","alert","data-testid","connection-banner",1,"connection-banner"],["aria-hidden","true",1,"connection-banner__icon","fa-solid","fa-plug-circle-xmark"],[1,"connection-banner__body"],["type","button","data-testid","connection-banner-reconnect",1,"connection-banner__cta",3,"click"],["aria-hidden","true",1,"fa-solid","fa-rotate-right"]],template:function(r,i){r&1&&x(0,wn,7,3,"div",0),r&2&&w(i.visible()?0:-1)},styles:["[_nghost-%COMP%]{display:block}.connection-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);background:var(--sm-severity-error-bg);color:var(--sm-severity-error);font-size:.875rem}.connection-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-error)}.connection-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.connection-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.connection-banner__cta[_ngcontent-%COMP%]:hover, .connection-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.connection-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return n})();var Pn=()=>[import("./chunk-RJUHQQOF.js").then(n=>n.SettingsModal)];function Sn(n,t){if(n&1&&(c(0,"span",11),g(1),p()),n&2){let e=f();b("pTooltip",e.versionTooltip()),C("aria-label",e.texts.devChipA11y),l(),_(e.texts.devChip)}}function Mn(n,t){if(n&1&&(c(0,"span",12),g(1),p()),n&2){let e=f();b("pTooltip",e.versionTooltip()),C("aria-label",e.versionA11y()),l(),_(e.versionLabel())}}function Rn(n,t){if(n&1&&(c(0,"span",24),g(1),p()),n&2){let e=t,r=f();Ue("--provider-color",e.color)("--provider-color-dark",e.colorDark??e.color),b("pTooltip",r.texts.lensChipTooltip(e.label)),C("aria-label",r.texts.lensChipA11y(e.label)),l(),_(e.label)}}function Tn(n,t){if(n&1){let e=I();c(0,"button",25),R("click",function(){E(e);let i=f();return O(i.copyUpdateCommand())}),P(1,"i",26),c(2,"span"),g(3),p()(),c(4,"a",27),P(5,"i",28),p()}if(n&2){let e=f();b("pTooltip",e.updateChipTooltip()),C("aria-label",e.updateChipA11y()),l(),Je(e.updateChipIcon()),l(2),_(e.updateChipText()),l(),b("href",e.npmLinkUrl,re)("pTooltip",e.npmLinkTooltip),C("aria-label",e.npmLinkA11y)}}function En(n,t){if(n&1&&(c(0,"p",15)(1,"bdi",29),g(2),p()()),n&2){let e=t;C("title",e),l(2),_(e)}}function On(n,t){if(n&1){let e=I();c(0,"sm-settings-modal",30),R("visibleChange",function(i){E(e);let o=f();return O(o.onSettingsVisibleChange(i))}),p()}if(n&2){let e=f();b("visible",e.settingsOpen())}}var Qt=(()=>{class n{loader=s(U);theme=s(_t);projectInfo=s(G);providerRegistry=s(J);scanTrigger=s(kt);wsEvents=s(N);usageTracker=s(ne);updateCheck=s(me);texts=j;isDemo=s(F)==="demo";betaLabel=this.isDemo?this.texts.betaDemo:this.texts.beta;settingsTexts=Ct;settingsOpen=q(!1);openSettings(){this.settingsOpen.set(!0),this.usageTracker.trackFeature("settings")}onSettingsVisibleChange(e){this.settingsOpen.set(e),e||this.projectInfo.reloadActiveProvider()}scanning=m(()=>this.scanTrigger.scanning()||this.wsEvents.scanActive());scanError=this.scanTrigger.scanError;triggerScan(){return this.scanTrigger.run()}updateChipCopied=q(!1);updateChipText=m(()=>this.updateChipCopied()?M.copiedLabel:M.available);updateChipIcon=m(()=>this.updateChipCopied()?"pi pi-check":"pi pi-download");updateChipTooltip=m(()=>this.updateChipCopied()?M.copiedTooltip:M.tooltip(this.updateCheck.latest()??""));updateChipA11y=m(()=>M.a11yLabel(this.updateCheck.latest()??""));npmLinkUrl=M.npmLinkUrl;npmLinkTooltip=M.npmLinkTooltip;npmLinkA11y=M.npmLinkA11y;async copyUpdateCommand(){try{await navigator.clipboard.writeText(M.copyCommand),this.updateChipCopied.set(!0),setTimeout(()=>this.updateChipCopied.set(!1),2e3)}catch{}}versionLabel=m(()=>M.versionLabel(this.updateCheck.current()??""));versionTooltip=m(()=>M.versionTooltip(this.updateCheck.current()??""));versionA11y=m(()=>M.versionA11yLabel(this.updateCheck.current()??""));isDevBuild=this.projectInfo.dev;lensChip=m(()=>this.providerRegistry.lensChip(this.projectInfo.activeProvider()));count=this.loader.count;linkAnalysis=m(()=>yt(this.loader.nodes(),this.loader.scan()));linkCount=m(()=>this.linkAnalysis().raw);mapInfoTooltip=m(()=>j.badge.mapInfo(this.count(),this.linkAnalysis()));mapInfoA11y=m(()=>j.badge.mapInfoA11y(this.count(),this.linkAnalysis()));rootLabel=m(()=>{let e=this.projectInfo.cwd();if(e&&e!==".")return e;let r=this.loader.scan()?.roots??[];if(r.length===0)return"";let i=r[0].replace(/[\\/]+$/,"");return!i||i==="."?"":i});isDevMode=Ke();themeMode=this.theme.mode;markSrc=m(()=>this.theme.extraTheme()==="matrix"?"skill-map-mark-matrix.svg":this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");themeIcon=m(()=>{switch(this.themeMode()){case"auto":return"pi pi-desktop";case"light":return"pi pi-sun";case"dark":return"fa-regular fa-moon"}});themeLabel=m(()=>{switch(this.themeMode()){case"auto":return K.toggleToLight;case"light":return K.toggleToDark;case"dark":return K.toggleToAuto}});themeTooltip=m(()=>{switch(this.themeMode()){case"auto":return K.currentAuto;case"light":return K.currentLight;case"dark":return K.currentDark}});toggleTheme(){this.theme.toggle()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-root"]],decls:39,vars:28,consts:[["role","alert","data-testid","viewport-warning",1,"viewport-warning"],[1,"viewport-warning__card"],["aria-hidden","true",1,"fa-solid","fa-desktop","viewport-warning__icon"],[1,"viewport-warning__title"],[1,"viewport-warning__subtitle"],[1,"viewport-warning__body"],["data-testid","shell",1,"shell"],[3,"openSettings"],["data-testid","shell-topbar",1,"shell__topbar"],[1,"shell__brand"],["width","32","height","32","priority","","alt","","aria-hidden","true",1,"shell__brand-mark",3,"ngSrc"],["tooltipPosition","bottom","data-testid","shell-dev",1,"shell__dev",3,"pTooltip"],["tooltipPosition","bottom","data-testid","shell-version",1,"shell__version",3,"pTooltip"],["tooltipPosition","bottom","data-testid","shell-lens",1,"shell__lens",3,"--provider-color","--provider-color-dark","pTooltip"],[1,"shell__beta"],["data-testid","shell-root-label",1,"shell__tag"],["data-testid","shell-nav",1,"shell__nav"],["slot","topbar.nav.start",3,"node"],[1,"shell__actions"],["type","button","tooltipPosition","bottom","data-testid","shell-refresh",1,"shell__refresh",3,"click","pTooltip","disabled"],["aria-hidden","true",1,"pi","pi-sync"],["tooltipPosition","left","severity","secondary","size","small","data-testid","action-theme-toggle",3,"onClick","icon","ariaLabel","pTooltip","text","rounded"],["icon","pi pi-sliders-h","tooltipPosition","left","severity","secondary","size","small","data-testid","action-settings",3,"onClick","ariaLabel","pTooltip","text","rounded"],[1,"shell__main"],["tooltipPosition","bottom","data-testid","shell-lens",1,"shell__lens",3,"pTooltip"],["type","button","tooltipPosition","bottom","data-testid","shell-update-chip",1,"shell__update-chip",3,"click","pTooltip"],["aria-hidden","true"],["target","_blank","rel","noopener noreferrer","tooltipPosition","bottom","data-testid","shell-update-npm-link",1,"shell__update-npm-link",3,"href","pTooltip"],["aria-hidden","true",1,"pi","pi-external-link"],["dir","ltr"],[3,"visibleChange","visible"]],template:function(r,i){if(r&1&&(c(0,"div",0)(1,"div",1),P(2,"i",2),c(3,"h2",3),g(4),p(),c(5,"p",4),g(6),p(),c(7,"p",5),g(8),p()()(),c(9,"div",6),P(10,"sm-demo-banner"),c(11,"sm-oversized-banner",7),R("openSettings",function(){return i.openSettings()}),p(),c(12,"sm-skipped-files-banner",7),R("openSettings",function(){return i.openSettings()}),p(),P(13,"sm-connection-banner"),c(14,"header",8)(15,"div",9),P(16,"img",10),c(17,"div")(18,"h1"),g(19),x(20,Sn,2,3,"span",11)(21,Mn,2,3,"span",12),x(22,Rn,2,7,"span",13),c(23,"span",14),g(24),p(),x(25,Tn,6,8),p(),x(26,En,3,2,"p",15),p()(),c(27,"nav",16),P(28,"sm-view-contributions-host",17),p(),c(29,"div",18)(30,"button",19),R("click",function(){return i.triggerScan()}),P(31,"i",20),p(),c(32,"p-button",21),R("onClick",function(){return i.toggleTheme()}),p(),c(33,"p-button",22),R("onClick",function(){return i.openSettings()}),p()()(),c(34,"main",23),P(35,"router-outlet"),p(),je(36,On,1,1),ze(37,36,Pn),p()),r&2){let o,a,u;l(4),_(i.texts.viewportWarning.title),l(2),_(i.texts.viewportWarning.subtitle),l(2),_(i.texts.viewportWarning.body),l(8),b("ngSrc",i.markSrc()),l(3),S(" ",i.texts.brand," "),l(),w(i.isDevBuild()?20:(o=i.updateCheck.current())?21:-1,o),l(2),w((a=i.lensChip())?22:-1,a),l(),C("aria-label",i.betaLabel),l(),_(i.betaLabel),l(),w(i.updateCheck.isOutdated()&&!i.isDevMode?25:-1),l(),w((u=i.rootLabel())?26:-1,u),l(),C("aria-label",i.texts.a11y.viewSwitcher),l(),b("node",null),l(2),Ve("is-spinning",i.scanning()),b("pTooltip",i.mapInfoTooltip())("disabled",i.scanning()),C("aria-label",i.mapInfoA11y()),l(2),b("icon",i.themeIcon())("ariaLabel",i.themeLabel())("pTooltip",i.themeTooltip())("text",!0)("rounded",!0),l(),b("ariaLabel",i.settingsTexts.a11y.triggerLabel)("pTooltip",i.settingsTexts.triggerTooltip)("text",!0)("rounded",!0),l(4),Be(i.settingsOpen())}},dependencies:[tt,pe,de,lt,ce,le,at,Xe,Ut,Jt,Xt,Wt,ht],styles:['[_nghost-%COMP%]{display:block;height:100dvh;--shell-topbar-bg: #FFFFFF;--shell-topbar-border: var(--sm-violet-100);--shell-topbar-text: var(--sm-violet-800);--shell-topbar-text-strong: var(--sm-violet-900);--shell-topbar-text-muted: var(--sm-violet-600);--shell-topbar-hover-bg: color-mix(in srgb, var(--sm-violet-500) 10%, transparent);--shell-topbar-active-bg: var(--sm-violet-100);--shell-topbar-active-text: var(--sm-violet-800);--shell-topbar-badge-bg: var(--sm-violet-100)}.app-dark[_nghost-%COMP%], .app-dark [_nghost-%COMP%]{--shell-topbar-bg: #1A1B22;--shell-topbar-border: color-mix(in srgb, var(--sm-violet-300) 8%, transparent);--shell-topbar-text: var(--sm-violet-100);--shell-topbar-text-strong: var(--sm-violet-100);--shell-topbar-text-muted: var(--sm-violet-300);--shell-topbar-hover-bg: color-mix(in srgb, var(--sm-violet-400) 12%, transparent);--shell-topbar-active-bg: color-mix(in srgb, var(--sm-violet-500) 22%, transparent);--shell-topbar-active-text: var(--sm-violet-100);--shell-topbar-badge-bg: color-mix(in srgb, var(--sm-violet-500) 14%, transparent)}.shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100dvh}.shell__topbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:color-mix(in srgb,var(--shell-topbar-bg) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--shell-topbar-border);color:var(--shell-topbar-text)}.shell__brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.shell__brand-mark[_ngcontent-%COMP%]{width:2rem;height:2rem;display:block}.shell__brand[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--shell-topbar-text-strong)}.shell__beta[_ngcontent-%COMP%]{font-family:var(--sm-font-display-brand);font-weight:600;font-size:10px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:#ad322b;background:#ad322b14;border-radius:var(--sm-radius-sm);padding:4px 8px;margin-left:8px;-webkit-user-select:none;user-select:none;display:inline-block;vertical-align:middle;white-space:nowrap}.app-dark[_nghost-%COMP%] .shell__beta[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__beta[_ngcontent-%COMP%]{color:#e07570;background:#cf464024}.shell__version[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:var(--sm-radius-sm);font-family:var(--sm-font-mono);font-size:11px;line-height:1;font-weight:500;letter-spacing:.02em;color:var(--p-text-muted-color);background:var(--p-content-hover-background);vertical-align:middle;-webkit-user-select:text;user-select:text}.shell__dev[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:var(--sm-radius-sm);font-family:var(--sm-font-display-brand);font-size:10px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a5a00;background:#d69e2e29;vertical-align:middle;-webkit-user-select:none;user-select:none}.app-dark[_nghost-%COMP%] .shell__dev[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__dev[_ngcontent-%COMP%]{color:#fbd38d;background:#d69e2e38}.shell__lens[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:var(--sm-radius-sm);font-size:11px;line-height:1;font-weight:600;letter-spacing:.02em;color:var(--provider-color);background:color-mix(in srgb,var(--provider-color) 14%,transparent);vertical-align:middle;-webkit-user-select:none;user-select:none}.app-dark[_nghost-%COMP%] .shell__lens[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__lens[_ngcontent-%COMP%]{color:var(--provider-color-dark);background:color-mix(in srgb,var(--provider-color-dark) 24%,transparent)}.shell__update-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;font-family:inherit;font-size:11px;line-height:1;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--p-primary-color);background:var(--p-primary-50);border:1px solid var(--p-primary-200);border-radius:var(--sm-radius-pill);text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease;vertical-align:middle}.shell__update-chip[_ngcontent-%COMP%]:hover, .shell__update-chip[_ngcontent-%COMP%]:focus-visible{background:var(--p-primary-100);color:var(--p-primary-700)}.shell__update-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;transform:translateY(1px)}.app-dark[_nghost-%COMP%] .shell__update-chip[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__update-chip[_ngcontent-%COMP%]{color:var(--p-primary-300);background:#ffffff0a;border-color:var(--p-primary-700)}.shell__update-npm-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:3px 4px;color:var(--p-primary-color);text-decoration:none;border-radius:var(--sm-radius-pill);transition:color .12s ease,background-color .12s ease;vertical-align:middle}.shell__update-npm-link[_ngcontent-%COMP%]:hover, .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible{color:var(--p-primary-700);background:var(--p-primary-50)}.shell__update-npm-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;transform:translateY(1px)}.app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]{color:var(--p-primary-300)}.app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible{color:var(--p-primary-200);background:#ffffff0a}.shell__tag[_ngcontent-%COMP%]{margin:.35rem 0 0;font-size:.72rem;color:var(--shell-topbar-text-muted);letter-spacing:.02em;text-transform:uppercase;max-width:40rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}.shell__nav[_ngcontent-%COMP%]{display:flex;gap:.25rem;margin-left:auto}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.5rem .9rem;border-radius:.5rem;font-size:.9rem;font-weight:500;color:var(--shell-topbar-text-muted);transition:background .15s ease,color .15s ease}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__nav[_ngcontent-%COMP%] a.is-active[_ngcontent-%COMP%]{background:var(--shell-topbar-active-bg);color:var(--shell-topbar-active-text)}.shell__search[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;position:relative}.shell__nav-search[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:.5rem;background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease}.shell__nav-search[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__search.is-open[_ngcontent-%COMP%] .shell__nav-search[_ngcontent-%COMP%]{color:var(--shell-topbar-text-strong)}.shell__nav-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.95rem}.shell__search.has-query[_ngcontent-%COMP%]:not(.is-open) .shell__nav-search[_ngcontent-%COMP%]{position:relative;color:var(--shell-topbar-text-strong)}.shell__search.has-query[_ngcontent-%COMP%]:not(.is-open) .shell__nav-search[_ngcontent-%COMP%]:after{content:"";position:absolute;top:.45rem;right:.45rem;width:6px;height:6px;border-radius:50%;background:var(--p-primary-color)}.shell__search-input[_ngcontent-%COMP%]{width:240px;height:2.25rem}.shell__search-clear[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:50%;background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;line-height:1}.shell__search-clear[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__search-clear[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.7rem}.shell__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;--p-button-text-secondary-color: var(--shell-topbar-text-muted);--p-button-text-secondary-hover-color: var(--shell-topbar-text-strong);--p-button-text-secondary-hover-background: var(--shell-topbar-hover-bg);--p-button-text-secondary-active-color: var(--shell-topbar-text-strong);--p-button-text-secondary-active-background: var(--shell-topbar-hover-bg)}.shell__refresh[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--sm-radius-pill);background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.shell__refresh[_ngcontent-%COMP%]:hover:not(:disabled), .shell__refresh[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong);outline:none}.shell__refresh[_ngcontent-%COMP%]:disabled{cursor:progress;opacity:.7}.shell__refresh[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.shell__refresh.is-spinning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_shell-refresh-spin 1s linear infinite}@keyframes _ngcontent-%COMP%_shell-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shell__main[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;width:100%}@media(max-width:1280px){.shell__topbar[_ngcontent-%COMP%]{gap:1rem;padding:.5rem 1rem}.shell__tag[_ngcontent-%COMP%]{max-width:26rem}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.4rem .7rem;font-size:.85rem}}.viewport-warning[_ngcontent-%COMP%]{display:none}@media(max-width:767px){.viewport-warning[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--sm-bg-content)}.viewport-warning__card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;max-width:22rem}.viewport-warning__icon[_ngcontent-%COMP%]{font-size:3rem;color:var(--p-primary-color);margin-bottom:.25rem}.viewport-warning__title[_ngcontent-%COMP%]{margin:0;font-size:1.35rem;font-weight:700;color:var(--p-text-color);line-height:1.25}.viewport-warning__subtitle[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:500;color:var(--p-primary-color);line-height:1.35}.viewport-warning__body[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);line-height:1.5;font-size:.9rem}.shell[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}return n})();We(Qt,jt).catch(n=>console.error(n));
4
+ `)}return{visible:!0,count:i,first:o,hasMore:a,tooltip:u}});visible=m(()=>this.state().visible);describe(e){return`${e.path.split("/").pop()??e.path} (${pt(e.bytes)})`}onCta(){this.openSettings.emit()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-skipped-files-banner"]],outputs:{openSettings:"openSettings"},decls:1,vars:1,consts:[["role","status","data-testid","skipped-files-banner",1,"skipped-files-banner"],["aria-hidden","true",1,"skipped-files-banner__icon","fa-solid","fa-triangle-exclamation"],["data-testid","skipped-files-banner-body",1,"skipped-files-banner__body"],["data-testid","skipped-files-banner-first",1,"skipped-files-banner__first"],["data-testid","skipped-files-banner-more",1,"skipped-files-banner__more",3,"pTooltip"],["type","button","data-testid","skipped-files-banner-cta",1,"skipped-files-banner__cta",3,"click"]],template:function(r,i){r&1&&x(0,kn,9,5,"div",0),r&2&&w(i.visible()?0:-1)},dependencies:[ce,le],styles:["[_nghost-%COMP%]{display:block}.skipped-files-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);font-size:.875rem;background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn)}.skipped-files-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-warn)}.skipped-files-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.skipped-files-banner__first[_ngcontent-%COMP%]{font-weight:600}.skipped-files-banner__more[_ngcontent-%COMP%]{font-weight:600;cursor:help}.skipped-files-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.skipped-files-banner__cta[_ngcontent-%COMP%]:hover, .skipped-files-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.skipped-files-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return n})();var Ht={body:"Connection to the server was lost. Live updates are paused.",reconnectCta:"Reconnect",reconnectAria:"Retry the connection to the server"};function wn(n,t){if(n&1){let e=I();B(0,"div",0),te(1,"span",1),B(2,"p",2),g(3),Q(),B(4,"button",3),oe("click",function(){E(e);let i=f();return O(i.reconnect())}),te(5,"span",4),g(6),Q()()}if(n&2){let e=f();l(3),_(e.texts.body),l(),C("aria-label",e.texts.reconnectAria),l(2),S(" ",e.texts.reconnectCta," ")}}var Wt=(()=>{class n{mode=s(F);ws=s(N);texts=Ht;visible=m(()=>this.mode==="live"&&this.ws.connectionState()==="lost");reconnect(){this.ws.reconnect()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-connection-banner"]],decls:1,vars:1,consts:[["role","alert","data-testid","connection-banner",1,"connection-banner"],["aria-hidden","true",1,"connection-banner__icon","fa-solid","fa-plug-circle-xmark"],[1,"connection-banner__body"],["type","button","data-testid","connection-banner-reconnect",1,"connection-banner__cta",3,"click"],["aria-hidden","true",1,"fa-solid","fa-rotate-right"]],template:function(r,i){r&1&&x(0,wn,7,3,"div",0),r&2&&w(i.visible()?0:-1)},styles:["[_nghost-%COMP%]{display:block}.connection-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);background:var(--sm-severity-error-bg);color:var(--sm-severity-error);font-size:.875rem}.connection-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-error)}.connection-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.connection-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.connection-banner__cta[_ngcontent-%COMP%]:hover, .connection-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.connection-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return n})();var Pn=()=>[import("./chunk-CK4C2IIP.js").then(n=>n.SettingsModal)];function Sn(n,t){if(n&1&&(c(0,"span",11),g(1),p()),n&2){let e=f();b("pTooltip",e.versionTooltip()),C("aria-label",e.texts.devChipA11y),l(),_(e.texts.devChip)}}function Mn(n,t){if(n&1&&(c(0,"span",12),g(1),p()),n&2){let e=f();b("pTooltip",e.versionTooltip()),C("aria-label",e.versionA11y()),l(),_(e.versionLabel())}}function Rn(n,t){if(n&1&&(c(0,"span",24),g(1),p()),n&2){let e=t,r=f();Ue("--provider-color",e.color)("--provider-color-dark",e.colorDark??e.color),b("pTooltip",r.texts.lensChipTooltip(e.label)),C("aria-label",r.texts.lensChipA11y(e.label)),l(),_(e.label)}}function Tn(n,t){if(n&1){let e=I();c(0,"button",25),R("click",function(){E(e);let i=f();return O(i.copyUpdateCommand())}),P(1,"i",26),c(2,"span"),g(3),p()(),c(4,"a",27),P(5,"i",28),p()}if(n&2){let e=f();b("pTooltip",e.updateChipTooltip()),C("aria-label",e.updateChipA11y()),l(),Je(e.updateChipIcon()),l(2),_(e.updateChipText()),l(),b("href",e.npmLinkUrl,re)("pTooltip",e.npmLinkTooltip),C("aria-label",e.npmLinkA11y)}}function En(n,t){if(n&1&&(c(0,"p",15)(1,"bdi",29),g(2),p()()),n&2){let e=t;C("title",e),l(2),_(e)}}function On(n,t){if(n&1){let e=I();c(0,"sm-settings-modal",30),R("visibleChange",function(i){E(e);let o=f();return O(o.onSettingsVisibleChange(i))}),p()}if(n&2){let e=f();b("visible",e.settingsOpen())}}var Qt=(()=>{class n{loader=s(U);theme=s(_t);projectInfo=s(G);providerRegistry=s(J);scanTrigger=s(kt);wsEvents=s(N);usageTracker=s(ne);updateCheck=s(me);texts=j;isDemo=s(F)==="demo";betaLabel=this.isDemo?this.texts.betaDemo:this.texts.beta;settingsTexts=Ct;settingsOpen=q(!1);openSettings(){this.settingsOpen.set(!0),this.usageTracker.trackFeature("settings")}onSettingsVisibleChange(e){this.settingsOpen.set(e),e||this.projectInfo.reloadActiveProvider()}scanning=m(()=>this.scanTrigger.scanning()||this.wsEvents.scanActive());scanError=this.scanTrigger.scanError;triggerScan(){return this.scanTrigger.run()}updateChipCopied=q(!1);updateChipText=m(()=>this.updateChipCopied()?M.copiedLabel:M.available);updateChipIcon=m(()=>this.updateChipCopied()?"pi pi-check":"pi pi-download");updateChipTooltip=m(()=>this.updateChipCopied()?M.copiedTooltip:M.tooltip(this.updateCheck.latest()??""));updateChipA11y=m(()=>M.a11yLabel(this.updateCheck.latest()??""));npmLinkUrl=M.npmLinkUrl;npmLinkTooltip=M.npmLinkTooltip;npmLinkA11y=M.npmLinkA11y;async copyUpdateCommand(){try{await navigator.clipboard.writeText(M.copyCommand),this.updateChipCopied.set(!0),setTimeout(()=>this.updateChipCopied.set(!1),2e3)}catch{}}versionLabel=m(()=>M.versionLabel(this.updateCheck.current()??""));versionTooltip=m(()=>M.versionTooltip(this.updateCheck.current()??""));versionA11y=m(()=>M.versionA11yLabel(this.updateCheck.current()??""));isDevBuild=this.projectInfo.dev;lensChip=m(()=>this.providerRegistry.lensChip(this.projectInfo.activeProvider()));count=this.loader.count;linkAnalysis=m(()=>yt(this.loader.nodes(),this.loader.scan()));linkCount=m(()=>this.linkAnalysis().raw);mapInfoTooltip=m(()=>j.badge.mapInfo(this.count(),this.linkAnalysis()));mapInfoA11y=m(()=>j.badge.mapInfoA11y(this.count(),this.linkAnalysis()));rootLabel=m(()=>{let e=this.projectInfo.cwd();if(e&&e!==".")return e;let r=this.loader.scan()?.roots??[];if(r.length===0)return"";let i=r[0].replace(/[\\/]+$/,"");return!i||i==="."?"":i});isDevMode=Ke();themeMode=this.theme.mode;markSrc=m(()=>this.theme.extraTheme()==="matrix"?"skill-map-mark-matrix.svg":this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");themeIcon=m(()=>{switch(this.themeMode()){case"auto":return"pi pi-desktop";case"light":return"pi pi-sun";case"dark":return"fa-regular fa-moon"}});themeLabel=m(()=>{switch(this.themeMode()){case"auto":return K.toggleToLight;case"light":return K.toggleToDark;case"dark":return K.toggleToAuto}});themeTooltip=m(()=>{switch(this.themeMode()){case"auto":return K.currentAuto;case"light":return K.currentLight;case"dark":return K.currentDark}});toggleTheme(){this.theme.toggle()}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=D({type:n,selectors:[["sm-root"]],decls:39,vars:28,consts:[["role","alert","data-testid","viewport-warning",1,"viewport-warning"],[1,"viewport-warning__card"],["aria-hidden","true",1,"fa-solid","fa-desktop","viewport-warning__icon"],[1,"viewport-warning__title"],[1,"viewport-warning__subtitle"],[1,"viewport-warning__body"],["data-testid","shell",1,"shell"],[3,"openSettings"],["data-testid","shell-topbar",1,"shell__topbar"],[1,"shell__brand"],["width","32","height","32","priority","","alt","","aria-hidden","true",1,"shell__brand-mark",3,"ngSrc"],["tooltipPosition","bottom","data-testid","shell-dev",1,"shell__dev",3,"pTooltip"],["tooltipPosition","bottom","data-testid","shell-version",1,"shell__version",3,"pTooltip"],["tooltipPosition","bottom","data-testid","shell-lens",1,"shell__lens",3,"--provider-color","--provider-color-dark","pTooltip"],[1,"shell__beta"],["data-testid","shell-root-label",1,"shell__tag"],["data-testid","shell-nav",1,"shell__nav"],["slot","topbar.nav.start",3,"node"],[1,"shell__actions"],["type","button","tooltipPosition","bottom","data-testid","shell-refresh",1,"shell__refresh",3,"click","pTooltip","disabled"],["aria-hidden","true",1,"pi","pi-sync"],["tooltipPosition","left","severity","secondary","size","small","data-testid","action-theme-toggle",3,"onClick","icon","ariaLabel","pTooltip","text","rounded"],["icon","pi pi-sliders-h","tooltipPosition","left","severity","secondary","size","small","data-testid","action-settings",3,"onClick","ariaLabel","pTooltip","text","rounded"],[1,"shell__main"],["tooltipPosition","bottom","data-testid","shell-lens",1,"shell__lens",3,"pTooltip"],["type","button","tooltipPosition","bottom","data-testid","shell-update-chip",1,"shell__update-chip",3,"click","pTooltip"],["aria-hidden","true"],["target","_blank","rel","noopener noreferrer","tooltipPosition","bottom","data-testid","shell-update-npm-link",1,"shell__update-npm-link",3,"href","pTooltip"],["aria-hidden","true",1,"pi","pi-external-link"],["dir","ltr"],[3,"visibleChange","visible"]],template:function(r,i){if(r&1&&(c(0,"div",0)(1,"div",1),P(2,"i",2),c(3,"h2",3),g(4),p(),c(5,"p",4),g(6),p(),c(7,"p",5),g(8),p()()(),c(9,"div",6),P(10,"sm-demo-banner"),c(11,"sm-oversized-banner",7),R("openSettings",function(){return i.openSettings()}),p(),c(12,"sm-skipped-files-banner",7),R("openSettings",function(){return i.openSettings()}),p(),P(13,"sm-connection-banner"),c(14,"header",8)(15,"div",9),P(16,"img",10),c(17,"div")(18,"h1"),g(19),x(20,Sn,2,3,"span",11)(21,Mn,2,3,"span",12),x(22,Rn,2,7,"span",13),c(23,"span",14),g(24),p(),x(25,Tn,6,8),p(),x(26,En,3,2,"p",15),p()(),c(27,"nav",16),P(28,"sm-view-contributions-host",17),p(),c(29,"div",18)(30,"button",19),R("click",function(){return i.triggerScan()}),P(31,"i",20),p(),c(32,"p-button",21),R("onClick",function(){return i.toggleTheme()}),p(),c(33,"p-button",22),R("onClick",function(){return i.openSettings()}),p()()(),c(34,"main",23),P(35,"router-outlet"),p(),je(36,On,1,1),ze(37,36,Pn),p()),r&2){let o,a,u;l(4),_(i.texts.viewportWarning.title),l(2),_(i.texts.viewportWarning.subtitle),l(2),_(i.texts.viewportWarning.body),l(8),b("ngSrc",i.markSrc()),l(3),S(" ",i.texts.brand," "),l(),w(i.isDevBuild()?20:(o=i.updateCheck.current())?21:-1,o),l(2),w((a=i.lensChip())?22:-1,a),l(),C("aria-label",i.betaLabel),l(),_(i.betaLabel),l(),w(i.updateCheck.isOutdated()&&!i.isDevMode?25:-1),l(),w((u=i.rootLabel())?26:-1,u),l(),C("aria-label",i.texts.a11y.viewSwitcher),l(),b("node",null),l(2),Ve("is-spinning",i.scanning()),b("pTooltip",i.mapInfoTooltip())("disabled",i.scanning()),C("aria-label",i.mapInfoA11y()),l(2),b("icon",i.themeIcon())("ariaLabel",i.themeLabel())("pTooltip",i.themeTooltip())("text",!0)("rounded",!0),l(),b("ariaLabel",i.settingsTexts.a11y.triggerLabel)("pTooltip",i.settingsTexts.triggerTooltip)("text",!0)("rounded",!0),l(4),Be(i.settingsOpen())}},dependencies:[tt,pe,de,lt,ce,le,at,Xe,Ut,Jt,Xt,Wt,ht],styles:['[_nghost-%COMP%]{display:block;height:100dvh;--shell-topbar-bg: #FFFFFF;--shell-topbar-border: var(--sm-violet-100);--shell-topbar-text: var(--sm-violet-800);--shell-topbar-text-strong: var(--sm-violet-900);--shell-topbar-text-muted: var(--sm-violet-600);--shell-topbar-hover-bg: color-mix(in srgb, var(--sm-violet-500) 10%, transparent);--shell-topbar-active-bg: var(--sm-violet-100);--shell-topbar-active-text: var(--sm-violet-800);--shell-topbar-badge-bg: var(--sm-violet-100)}.app-dark[_nghost-%COMP%], .app-dark [_nghost-%COMP%]{--shell-topbar-bg: #1A1B22;--shell-topbar-border: color-mix(in srgb, var(--sm-violet-300) 8%, transparent);--shell-topbar-text: var(--sm-violet-100);--shell-topbar-text-strong: var(--sm-violet-100);--shell-topbar-text-muted: var(--sm-violet-300);--shell-topbar-hover-bg: color-mix(in srgb, var(--sm-violet-400) 12%, transparent);--shell-topbar-active-bg: color-mix(in srgb, var(--sm-violet-500) 22%, transparent);--shell-topbar-active-text: var(--sm-violet-100);--shell-topbar-badge-bg: color-mix(in srgb, var(--sm-violet-500) 14%, transparent)}.shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100dvh}.shell__topbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:color-mix(in srgb,var(--shell-topbar-bg) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--shell-topbar-border);color:var(--shell-topbar-text)}.shell__brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.shell__brand-mark[_ngcontent-%COMP%]{width:2rem;height:2rem;display:block}.shell__brand[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--shell-topbar-text-strong)}.shell__beta[_ngcontent-%COMP%]{font-family:var(--sm-font-display-brand);font-weight:600;font-size:10px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:#ad322b;background:#ad322b14;border-radius:var(--sm-radius-sm);padding:4px 8px;margin-left:8px;-webkit-user-select:none;user-select:none;display:inline-block;vertical-align:middle;white-space:nowrap}.app-dark[_nghost-%COMP%] .shell__beta[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__beta[_ngcontent-%COMP%]{color:#e07570;background:#cf464024}.shell__version[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:var(--sm-radius-sm);font-family:var(--sm-font-mono);font-size:11px;line-height:1;font-weight:500;letter-spacing:.02em;color:var(--p-text-muted-color);background:var(--p-content-hover-background);vertical-align:middle;-webkit-user-select:text;user-select:text}.shell__dev[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:var(--sm-radius-sm);font-family:var(--sm-font-display-brand);font-size:10px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a5a00;background:#d69e2e29;vertical-align:middle;-webkit-user-select:none;user-select:none}.app-dark[_nghost-%COMP%] .shell__dev[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__dev[_ngcontent-%COMP%]{color:#fbd38d;background:#d69e2e38}.shell__lens[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:var(--sm-radius-sm);font-size:11px;line-height:1;font-weight:600;letter-spacing:.02em;color:var(--provider-color);background:color-mix(in srgb,var(--provider-color) 14%,transparent);vertical-align:middle;-webkit-user-select:none;user-select:none}.app-dark[_nghost-%COMP%] .shell__lens[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__lens[_ngcontent-%COMP%]{color:var(--provider-color-dark);background:color-mix(in srgb,var(--provider-color-dark) 24%,transparent)}.shell__update-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;font-family:inherit;font-size:11px;line-height:1;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--p-primary-color);background:var(--p-primary-50);border:1px solid var(--p-primary-200);border-radius:var(--sm-radius-pill);text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease;vertical-align:middle}.shell__update-chip[_ngcontent-%COMP%]:hover, .shell__update-chip[_ngcontent-%COMP%]:focus-visible{background:var(--p-primary-100);color:var(--p-primary-700)}.shell__update-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;transform:translateY(1px)}.app-dark[_nghost-%COMP%] .shell__update-chip[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__update-chip[_ngcontent-%COMP%]{color:var(--p-primary-300);background:#ffffff0a;border-color:var(--p-primary-700)}.shell__update-npm-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:3px 4px;color:var(--p-primary-color);text-decoration:none;border-radius:var(--sm-radius-pill);transition:color .12s ease,background-color .12s ease;vertical-align:middle}.shell__update-npm-link[_ngcontent-%COMP%]:hover, .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible{color:var(--p-primary-700);background:var(--p-primary-50)}.shell__update-npm-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;transform:translateY(1px)}.app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]{color:var(--p-primary-300)}.app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible{color:var(--p-primary-200);background:#ffffff0a}.shell__tag[_ngcontent-%COMP%]{margin:.35rem 0 0;font-size:.72rem;color:var(--shell-topbar-text-muted);letter-spacing:.02em;text-transform:uppercase;max-width:40rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}.shell__nav[_ngcontent-%COMP%]{display:flex;gap:.25rem;margin-left:auto}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.5rem .9rem;border-radius:.5rem;font-size:.9rem;font-weight:500;color:var(--shell-topbar-text-muted);transition:background .15s ease,color .15s ease}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__nav[_ngcontent-%COMP%] a.is-active[_ngcontent-%COMP%]{background:var(--shell-topbar-active-bg);color:var(--shell-topbar-active-text)}.shell__search[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;position:relative}.shell__nav-search[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:.5rem;background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease}.shell__nav-search[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__search.is-open[_ngcontent-%COMP%] .shell__nav-search[_ngcontent-%COMP%]{color:var(--shell-topbar-text-strong)}.shell__nav-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.95rem}.shell__search.has-query[_ngcontent-%COMP%]:not(.is-open) .shell__nav-search[_ngcontent-%COMP%]{position:relative;color:var(--shell-topbar-text-strong)}.shell__search.has-query[_ngcontent-%COMP%]:not(.is-open) .shell__nav-search[_ngcontent-%COMP%]:after{content:"";position:absolute;top:.45rem;right:.45rem;width:6px;height:6px;border-radius:50%;background:var(--p-primary-color)}.shell__search-input[_ngcontent-%COMP%]{width:240px;height:2.25rem}.shell__search-clear[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:50%;background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;line-height:1}.shell__search-clear[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__search-clear[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.7rem}.shell__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;--p-button-text-secondary-color: var(--shell-topbar-text-muted);--p-button-text-secondary-hover-color: var(--shell-topbar-text-strong);--p-button-text-secondary-hover-background: var(--shell-topbar-hover-bg);--p-button-text-secondary-active-color: var(--shell-topbar-text-strong);--p-button-text-secondary-active-background: var(--shell-topbar-hover-bg)}.shell__refresh[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--sm-radius-pill);background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.shell__refresh[_ngcontent-%COMP%]:hover:not(:disabled), .shell__refresh[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong);outline:none}.shell__refresh[_ngcontent-%COMP%]:disabled{cursor:progress;opacity:.7}.shell__refresh[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.shell__refresh.is-spinning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_shell-refresh-spin 1s linear infinite}@keyframes _ngcontent-%COMP%_shell-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shell__main[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;width:100%}@media(max-width:1280px){.shell__topbar[_ngcontent-%COMP%]{gap:1rem;padding:.5rem 1rem}.shell__tag[_ngcontent-%COMP%]{max-width:26rem}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.4rem .7rem;font-size:.85rem}}.viewport-warning[_ngcontent-%COMP%]{display:none}@media(max-width:767px){.viewport-warning[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--sm-bg-content)}.viewport-warning__card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;max-width:22rem}.viewport-warning__icon[_ngcontent-%COMP%]{font-size:3rem;color:var(--p-primary-color);margin-bottom:.25rem}.viewport-warning__title[_ngcontent-%COMP%]{margin:0;font-size:1.35rem;font-weight:700;color:var(--p-text-color);line-height:1.25}.viewport-warning__subtitle[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:500;color:var(--p-primary-color);line-height:1.35}.viewport-warning__body[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);line-height:1.5;font-size:.9rem}.shell[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}return n})();We(Qt,jt).catch(n=>console.error(n));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skill-map/cli",
3
- "version": "0.70.0",
3
+ "version": "0.71.0",
4
4
  "description": "skill-map reference implementation — kernel + CLI + adapters.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -61,7 +61,7 @@
61
61
  "smol-toml": "1.7.0",
62
62
  "typanion": "3.14.0",
63
63
  "ws": "8.21.0",
64
- "@skill-map/spec": "0.64.0"
64
+ "@skill-map/spec": "0.65.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@eslint/js": "10.0.1",