@skill-map/cli 0.43.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/tutorial/sm-master/SKILL.md +7 -9
- package/dist/cli/tutorial/sm-master/references/fixture-templates.md +1 -1
- package/dist/cli/tutorial/sm-master/references/tour-plugins.md +10 -9
- package/dist/cli/tutorial/sm-master/references/tour-settings.md +4 -4
- package/dist/cli/tutorial/sm-tutorial/SKILL.md +216 -299
- package/dist/cli.js +736 -221
- package/dist/cli.js.map +1 -1
- package/dist/index.js +21 -15
- package/dist/index.js.map +1 -1
- package/dist/kernel/index.d.ts +8 -6
- package/dist/kernel/index.js +21 -15
- package/dist/kernel/index.js.map +1 -1
- package/dist/ui/chunk-27WQPOXP.js +1 -0
- package/dist/ui/{chunk-DZBSELHN.js → chunk-43S72FTV.js} +1 -1
- package/dist/ui/chunk-555ST76V.js +1 -0
- package/dist/ui/{chunk-JPYAASHN.js → chunk-5AD5ZV4I.js} +3 -3
- package/dist/ui/{chunk-CFJBTDAA.js → chunk-5ITZXW3A.js} +1 -1
- package/dist/ui/chunk-A7PRWMQD.js +1021 -0
- package/dist/ui/chunk-DL5EA245.js +123 -0
- package/dist/ui/chunk-F7I6KMHX.js +1 -0
- package/dist/ui/{chunk-77J7XU3Y.js → chunk-I5AX4U2N.js} +28 -28
- package/dist/ui/chunk-IUZRAD7S.js +1 -0
- package/dist/ui/{chunk-XOHD5XWA.js → chunk-IYM26L3O.js} +1 -1
- package/dist/ui/{chunk-SBCO7ZSP.js → chunk-LGFABCIA.js} +1 -1
- package/dist/ui/{chunk-IUDL3NDH.js → chunk-MFLFIA7C.js} +1 -1
- package/dist/ui/chunk-MS6B7344.js +315 -0
- package/dist/ui/chunk-P3SNMV4X.js +2 -0
- package/dist/ui/chunk-PZQHB7GS.js +4 -0
- package/dist/ui/chunk-QDUSFOBE.js +1 -0
- package/dist/ui/{chunk-YCR3XCIW.js → chunk-QNTAOR2L.js} +5 -5
- package/dist/ui/{chunk-CR3AANNX.js → chunk-S4S5ZMXJ.js} +1 -1
- package/dist/ui/{chunk-5WJRN3LD.js → chunk-T3IVIRRJ.js} +1 -1
- package/dist/ui/{chunk-HP375T2O.js → chunk-VGPYYAVI.js} +1 -1
- package/dist/ui/chunk-X227ITGS.js +499 -0
- package/dist/ui/index.html +1 -1
- package/dist/ui/main-O3CWFYKV.js +3 -0
- package/package.json +10 -9
- package/dist/ui/chunk-2IF446BS.js +0 -1
- package/dist/ui/chunk-DIKPNZUZ.js +0 -315
- package/dist/ui/chunk-KGCJINI6.js +0 -1
- package/dist/ui/chunk-PPE3P2JD.js +0 -1
- package/dist/ui/chunk-UOCACZLI.js +0 -123
- package/dist/ui/chunk-YL6SWAFJ.js +0 -1024
- package/dist/ui/main-VHFB7Q2D.js +0 -3
- /package/dist/ui/{chunk-C2YUQODZ.js → chunk-4SG4352Z.js} +0 -0
- /package/dist/ui/{chunk-VB56BUGO.js → chunk-WCABR6TI.js} +0 -0
package/dist/ui/index.html
CHANGED
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
<style>:root{--ff-white:#ffffff;--ff-black:#000000;--ff-gray-0:#ffffff;--ff-gray-25:#fcfcfc;--ff-gray-50:#f8f8f7;--ff-gray-75:#f2f2f0;--ff-gray-100:#e9e9e6;--ff-gray-150:#dcdcd7;--ff-gray-200:#c9c9c1;--ff-gray-300:#afafa5;--ff-gray-400:#8d8d81;--ff-gray-500:#69695f;--ff-gray-600:#505048;--ff-gray-700:#3c3c36;--ff-gray-800:#272722;--ff-gray-900:#1b1b18;--ff-gray-950:#141412;--ff-gray-1000:#0f0f0d;--ff-alpha-black-04:rgba(15, 15, 13, .04);--ff-alpha-black-06:rgba(15, 15, 13, .06);--ff-alpha-black-08:rgba(15, 15, 13, .08);--ff-alpha-black-10:rgba(15, 15, 13, .1);--ff-alpha-black-12:rgba(15, 15, 13, .12);--ff-alpha-black-15:rgba(15, 15, 13, .15);--ff-alpha-black-20:rgba(15, 15, 13, .2);--ff-alpha-black-30:rgba(15, 15, 13, .3);--ff-alpha-black-40:rgba(15, 15, 13, .4);--ff-alpha-black-60:rgba(15, 15, 13, .6);--ff-alpha-white-04:rgba(255, 255, 255, .04);--ff-alpha-white-06:rgba(255, 255, 255, .06);--ff-alpha-white-08:rgba(255, 255, 255, .08);--ff-alpha-white-10:rgba(255, 255, 255, .1);--ff-alpha-white-12:rgba(255, 255, 255, .12);--ff-alpha-white-15:rgba(255, 255, 255, .15);--ff-alpha-white-20:rgba(255, 255, 255, .2);--ff-alpha-white-30:rgba(255, 255, 255, .3);--ff-alpha-white-40:rgba(255, 255, 255, .4);--ff-alpha-white-60:rgba(255, 255, 255, .6);--ff-blue-100:#e8f2ff;--ff-blue-200:#bad8ff;--ff-blue-300:#7db7ff;--ff-blue-400:#4176ff;--ff-blue-500:#2759db;--ff-blue-600:#1b3f9e;--ff-green-100:#e7f7ef;--ff-green-300:#71c795;--ff-green-400:#2b9b5f;--ff-green-500:#1e7748;--ff-yellow-100:#fff5de;--ff-yellow-300:#e1b354;--ff-yellow-400:#bb8121;--ff-yellow-500:#916112;--ff-red-100:#feeceb;--ff-red-300:#e48d85;--ff-red-400:#c55245;--ff-red-500:#9e3a2f;--ff-radius-4:4px;--ff-radius-6:6px;--ff-radius-pill:999px;--ff-font-family-sans:"Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ff-font-family-mono:ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--ff-font-size-xs:12px;--ff-font-size-sm:14px;--ff-font-size-md:16px;--ff-font-size-lg:18px;--ff-shadow-1:0 1px 2px rgba(15, 15, 13, .05), 0 8px 20px rgba(15, 15, 13, .04);--ff-shadow-2:0 10px 28px rgba(15, 15, 13, .08), 0 3px 10px rgba(15, 15, 13, .05);--ff-shadow-3:0 18px 48px rgba(15, 15, 13, .12), 0 6px 16px rgba(15, 15, 13, .08)}:root{--ff-color-surface-page:var(--ff-gray-25);--ff-color-surface-canvas:var(--ff-gray-25);--ff-color-surface-card:var(--ff-white);--ff-color-surface-group:rgba(65, 118, 255, .14);--ff-color-surface-group-active:rgba(65, 118, 255, .2);--ff-color-surface-muted:var(--ff-gray-50);--ff-color-surface-soft:var(--ff-gray-75);--ff-color-surface-accent-soft:rgba(65, 118, 255, .1);--ff-color-border-default:var(--ff-alpha-black-12);--ff-color-border-subtle:var(--ff-alpha-black-08);--ff-color-border-strong:var(--ff-alpha-black-20);--ff-color-border-accent:var(--ff-blue-500);--ff-color-text-primary:var(--ff-gray-800);--ff-color-text-secondary:var(--ff-gray-500);--ff-color-text-tertiary:var(--ff-gray-400);--ff-color-text-inverse:var(--ff-white);--ff-color-accent:var(--ff-blue-500);--ff-color-accent-strong:var(--ff-blue-600);--ff-color-success:var(--ff-green-400);--ff-color-warning:var(--ff-yellow-400);--ff-color-danger:var(--ff-red-400);--ff-color-disabled-surface:var(--ff-gray-100);--ff-color-disabled-border:var(--ff-alpha-black-10);--ff-color-disabled-text:var(--ff-gray-300);--ff-color-selection-fill:rgba(65, 118, 255, .12);--ff-color-selection-stroke:rgba(65, 118, 255, .28);--ff-color-grid:var(--ff-alpha-black-08);--ff-color-grid-strong:var(--ff-alpha-black-15);--ff-color-connector-connected:var(--ff-blue-500);--ff-color-connection:var(--ff-gray-600);--ff-color-connection-muted:var(--ff-gray-300);--ff-color-connection-hover:var(--ff-alpha-black-12);--ff-color-grouping-drop-target-border:var(--ff-gray-800);--ff-color-grouping-drop-target-border-active:var(--ff-gray-800);--ff-color-waypoint-fill:var(--ff-white);--ff-color-waypoint-stroke:var(--ff-blue-500);--ff-color-waypoint-candidate-fill:var(--ff-white);--ff-color-waypoint-candidate-stroke:var(--ff-green-400);--ff-color-minimap-surface:var(--ff-white);--ff-color-minimap-node:var(--ff-gray-700);--ff-color-minimap-view:rgba(65, 118, 255, .14);--ff-color-magnetic-line:var(--ff-blue-500);--ff-color-magnetic-rect-fill:rgba(65, 118, 255, .08);--ff-color-magnetic-rect-border:rgba(65, 118, 255, .24);--ff-radius-node:var(--ff-radius-4);--ff-radius-group:var(--ff-radius-4);--ff-radius-control:var(--ff-radius-4);--ff-radius-socket-square:var(--ff-radius-6);--ff-radius-pill:var(--ff-radius-pill);--ff-font-sans:var(--ff-font-family-sans);--ff-font-mono:var(--ff-font-family-mono);--ff-font-size-body:var(--ff-font-size-sm);--ff-font-size-label:var(--ff-font-size-xs);--ff-shadow-surface:var(--ff-shadow-1);--ff-shadow-floating:var(--ff-shadow-2)}:root{--ff-flow-background-color:var(--ff-color-surface-page);--ff-flow-text-color:var(--ff-color-text-primary);--ff-flow-font-family:var(--ff-font-sans);--ff-flow-font-size:var(--ff-font-size-body);--ff-canvas-background-color:var(--ff-color-surface-canvas);--ff-node-background-color:var(--ff-color-surface-card);--ff-node-background-color-inverse:var(--ff-color-text-primary);--ff-node-border-color:var(--ff-color-border-default);--ff-node-border-color-selected:var(--ff-color-border-accent);--ff-node-color:var(--ff-color-text-primary);--ff-node-border-radius:var(--ff-radius-node);--ff-node-shadow:var(--ff-shadow-surface);--ff-node-shadow-selected:var(--ff-shadow-floating);--ff-node-width:120px;--ff-node-min-height:56px;--ff-node-padding:24px;--ff-group-background-color:var(--ff-color-surface-group);--ff-group-background-color-active:var(--ff-color-surface-group-active);--ff-group-border-color:var(--ff-color-border-subtle);--ff-group-border-color-selected:var(--ff-color-border-accent);--ff-group-border-color-active:var(--ff-color-border-accent);--ff-group-color:var(--ff-color-text-secondary);--ff-group-border-radius:var(--ff-radius-group);--ff-group-min-width:180px;--ff-group-min-height:120px;--ff-group-padding:24px;--ff-grouping-drop-target-border-color:var(--ff-color-grouping-drop-target-border);--ff-grouping-drop-target-border-style:dashed;--ff-grouping-drop-target-border-width:1px;--ff-grouping-drop-target-border-color-active:var(--ff-color-grouping-drop-target-border-active);--ff-grouping-drop-target-border-style-active:dashed;--ff-grouping-drop-target-border-width-active:2px;--ff-handle-background-color:var(--ff-color-surface-card);--ff-handle-border-color:var(--ff-color-border-strong);--ff-handle-color:var(--ff-color-text-secondary);--ff-handle-size:12px;--ff-handle-radius:var(--ff-radius-control);--ff-rotate-handle-size:16px;--ff-connector-background-color:var(--ff-color-surface-card);--ff-connector-border-color:var(--ff-color-border-default);--ff-connector-connected-color:var(--ff-color-connector-connected);--ff-connector-accent-color:var(--ff-color-accent);--ff-connector-disabled-color:var(--ff-color-disabled-surface);--ff-connector-disabled-border-color:var(--ff-color-disabled-border);--ff-connector-size:16px;--ff-connector-node-ring-color:var(--ff-canvas-background-color);--ff-outlet-background-color:var(--ff-color-surface-muted);--ff-outlet-border-color:var(--ff-color-border-default);--ff-outlet-color:var(--ff-color-accent);--ff-outlet-disabled-background-color:var(--ff-color-disabled-surface);--ff-outlet-disabled-border-color:var(--ff-color-disabled-border);--ff-outlet-disabled-color:var(--ff-color-disabled-text);--ff-outlet-border-radius:var(--ff-radius-pill);--ff-outlet-padding-y:6px;--ff-outlet-padding-x:12px;--ff-connection-color:var(--ff-color-connection);--ff-snap-connection-color:var(--ff-color-connection-muted);--ff-connection-hover-color:var(--ff-color-connection-hover);--ff-connection-selected-color:var(--ff-color-accent);--ff-connection-label-color:var(--ff-color-text-secondary);--ff-connection-content-color:var(--ff-node-color);--ff-connection-content-background-color:var(--ff-node-background-color);--ff-connection-content-border-color:var(--ff-node-border-color);--ff-connection-content-border-color-selected:var(--ff-connection-selected-color);--ff-connection-content-border-radius:var(--ff-node-border-radius);--ff-connection-content-font-size:13px;--ff-connection-content-padding-y:2px;--ff-connection-content-padding-x:8px;--ff-connection-width:2px;--ff-connection-hit-width:14px;--ff-connection-drag-handle-fill:var(--ff-color-surface-card);--ff-connection-drag-handle-stroke:var(--ff-color-accent);--ff-marker-color:var(--ff-connection-color);--ff-waypoint-fill:var(--ff-color-waypoint-fill);--ff-waypoint-stroke:var(--ff-color-waypoint-stroke);--ff-waypoint-candidate-fill:var(--ff-color-waypoint-candidate-fill);--ff-waypoint-candidate-stroke:var(--ff-color-waypoint-candidate-stroke);--ff-background-line-color:var(--ff-color-grid);--ff-background-dot-color:var(--ff-color-grid-strong);--ff-selection-area-color:var(--ff-color-selection-fill);--ff-selection-area-border-color:var(--ff-color-selection-stroke);--ff-minimap-background-color:var(--ff-color-minimap-surface);--ff-minimap-border-color:var(--ff-color-border-default);--ff-minimap-node-color:var(--ff-color-minimap-node);--ff-minimap-node-selected-color:var(--ff-color-accent);--ff-minimap-view-color:var(--ff-color-minimap-view);--ff-minimap-view-border-color:var(--ff-color-selection-stroke);--ff-minimap-border-radius:var(--ff-radius-node);--ff-minimap-shadow:var(--ff-shadow-floating);--ff-magnetic-line-color:var(--ff-color-magnetic-line);--ff-magnetic-rect-fill:var(--ff-color-magnetic-rect-fill);--ff-magnetic-rect-border-color:var(--ff-color-magnetic-rect-border);--ff-external-item-background-color:var(--ff-color-surface-card);--ff-external-item-border-color:var(--ff-color-border-default);--ff-external-item-color:var(--ff-color-text-primary);--ff-external-item-disabled-color:var(--ff-color-disabled-text);--ff-external-item-disabled-background-color:var(--ff-color-disabled-surface);--ff-external-item-border-radius:var(--ff-radius-node);--ff-external-item-shadow:var(--ff-shadow-surface);--ff-external-item-preview-shadow:var(--ff-shadow-floating);--ff-external-item-placeholder-background-color:var(--ff-color-surface-soft);--ff-external-item-placeholder-border-color:var(--ff-color-border-subtle)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}:root{--sm-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--sm-font-display-brand:"Geist", system-ui, sans-serif;--sm-radius-sm:3px;--sm-radius-md:4px;--sm-radius-lg:.5rem;--sm-radius-pill:999px;--sm-violet-50:#F5F3FF;--sm-violet-100:#EDE9FE;--sm-violet-200:#DDD6FE;--sm-violet-300:#C4B5FD;--sm-violet-400:#A78BFA;--sm-violet-500:#8B5CF6;--sm-violet-600:#7C3AED;--sm-violet-700:#6D28D9;--sm-violet-800:#4C1D95;--sm-violet-900:#2E1065}html,body{margin:0;padding:0;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--sm-bg-page);color:var(--p-text-color)}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--p-text-color) 30%,transparent) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--p-text-color) 25%,transparent);border-radius:var(--sm-radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--p-text-color) 45%,transparent)}:root{--sm-bg-page:#f8fafc;--sm-bg-content:#ffffff;--sm-bg-hover:#f1f5f9;--sm-border:#e2e8f0;--sm-nav-active-bg:#eff6ff;--sm-edge-invokes:#b8843a;--sm-edge-invokes-active:#f59e0b;--sm-edge-references:#7daa90;--sm-edge-references-active:#10b981;--sm-edge-mentions:#6fa2c0;--sm-edge-mentions-active:#0ea5e9;--sm-edge-supersedes:#9ca3af;--sm-edge-supersedes-active:#4b5563;--sm-edge-neutral:#6b7280;--sm-link-in-bg:#e0e7ff;--sm-link-in-fg:#3730a3;--sm-link-out-bg:#fef3c7;--sm-link-out-fg:#92400e;--sm-severity-info:#1e3a8a;--sm-severity-success:#065f46;--sm-severity-warn:#ca8a04;--sm-severity-error:#991b1b;--sm-severity-info-bg:rgba(219, 234, 254, .35);--sm-severity-success-bg:rgba(209, 250, 229, .35);--sm-severity-warn-bg:rgba(254, 243, 199, .35);--sm-severity-error-bg:rgba(254, 226, 226, .35);--sm-stat-tokens-bg:rgba(59, 130, 246, .14);--sm-stat-bytes-bg:rgba(245, 158, 11, .16);--sm-accent-fg:#ffffff;--sm-shadow-topbar:0 1px 2px rgba(0, 0, 0, .03);--sm-shadow-eventlog:0 -4px 16px rgba(0, 0, 0, .08);--sm-shadow-floating:0 4px 14px rgba(0, 0, 0, .08);--sm-shadow-card:0 1px 2px rgba(0, 0, 0, .05);--sm-shadow-card-hover:0 3px 12px rgba(0, 0, 0, .12)}</style><link rel="stylesheet" href="styles-HI4A6IWA.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-HI4A6IWA.css"></noscript></head>
|
|
31
31
|
<body>
|
|
32
32
|
<sm-root></sm-root>
|
|
33
|
-
<link rel="modulepreload" href="chunk-
|
|
33
|
+
<link rel="modulepreload" href="chunk-IUZRAD7S.js"><link rel="modulepreload" href="chunk-27WQPOXP.js"><link rel="modulepreload" href="chunk-F7I6KMHX.js"><link rel="modulepreload" href="chunk-MFLFIA7C.js"><link rel="modulepreload" href="chunk-QDUSFOBE.js"><link rel="modulepreload" href="chunk-A7PRWMQD.js"><link rel="modulepreload" href="chunk-4SG4352Z.js"><link rel="modulepreload" href="chunk-555ST76V.js"><link rel="modulepreload" href="chunk-VGPYYAVI.js"><link rel="modulepreload" href="chunk-PZQHB7GS.js"><script src="main-O3CWFYKV.js" type="module"></script></body>
|
|
34
34
|
</html>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as D,b as k,c as oe,d as st,e as at}from"./chunk-IUZRAD7S.js";import{l as Ze,m as re,n as qe,o as G,p as rt}from"./chunk-27WQPOXP.js";import{a as pe,b as et,c as tt,e as nt,g as it}from"./chunk-F7I6KMHX.js";import{b as ot}from"./chunk-MFLFIA7C.js";import{k as We,l as Ye,m as Qe,n as A}from"./chunk-QDUSFOBE.js";import{D as ne,E as ie,I as Je,J as Ke,K as He,M as Q,N as h,O as K,P as Xe,Q as H,R as X,X as Ge,n as Be,o as Ve}from"./chunk-A7PRWMQD.js";import"./chunk-4SG4352Z.js";import{b as De,f as Le,g as $e,h as te,i as ze,j as je,k as Ne,l as Fe,m as Ue}from"./chunk-555ST76V.js";import{a as Te,b as Oe,c as J,d as Ee,e as Ie,f as Ae}from"./chunk-VGPYYAVI.js";import{Bb as z,Db as O,Eb as Pe,Fa as q,Fb as y,Ia as a,L as S,P as B,Q as s,Qb as we,Rb as ce,Tb as xe,Ua as V,Ub as u,Vb as b,W as L,Wb as j,X as $,Xc as Re,_a as ye,aa as fe,bb as Y,ea as ve,eb as _e,f as ue,fb as ke,ga as be,gb as _,ha as I,ja as Z,jb as R,kb as T,m as U,pb as v,pc as c,qb as d,rb as m,sb as P,sc as Se,tb as ee,ub as de,vb as Ce,yc as Me}from"./chunk-PZQHB7GS.js";import"./chunk-WCABR6TI.js";var me="skill-map",M={brand:me,alpha:"ALPHA - do not use in production",devChip:"dev",devChipTooltip:"BFF launched from a local checkout (not the npm install).",devChipA11y:"Development build: BFF is running from a local checkout.",lensChipTooltip:t=>`Active lens: ${t}. The map reflects how ${t} interprets your files.`,lensChipA11y:t=>`Active provider lens: ${t}.`,nav:{map:"Map",files:"Files",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:(t,n)=>{let e=`Run scan
|
|
2
|
+
${t.toLocaleString()} nodes \xB7 ${n.raw.toLocaleString()} links`;if(n.raw===n.drawn)return e;let i=[],r=n.brokenSource+n.brokenTarget;return r>0&&i.push(`${r} broken`),n.selfLoops>0&&i.push(`${n.selfLoops} self-loop${n.selfLoops===1?"":"s"}`),n.duplicates>0&&i.push(`${n.duplicates} duplicate${n.duplicates===1?"":"s"}`),`${e}
|
|
3
|
+
${n.drawn.toLocaleString()} drawn (${i.join(", ")})`},mapInfoA11y:(t,n)=>`Map contains ${t} nodes and ${n.raw} links; ${n.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:(t,n)=>{let e=t?`${t} - ${me}`:me;return n?`${e} v${n}`:e}};var lt=[{path:"",pathMatch:"full",redirectTo:"map"},{path:"map",loadComponent:()=>import("./chunk-MS6B7344.js").then(t=>t.GraphView),title:M.nav.map},{path:"files",loadComponent:()=>import("./chunk-I5AX4U2N.js").then(t=>t.FilesView),title:M.nav.files},{path:"**",redirectTo:"map"}];var E={errors:{unknownMode:t=>`SKILL_MAP_MODE: unknown value "${t}"`,restPrefix:t=>`BFF error [${t}]: `,malformedResponse:"BFF returned a malformed response",demoFetchFailed:(t,n)=>`Demo bundle fetch failed for "${t}": ${n}`,demoParseFailed:(t,n)=>`Demo bundle parse failed for "${t}": ${n}`,graphFormatNotInDemo:t=>`Graph format "${t}" is not bundled in demo mode (only "ascii").`}};function se(t){let n=new TextEncoder().encode(t),e="";for(let i=0;i<n.length;i++)e+=String.fromCharCode(n[i]);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var p="/api",dt=(()=>{class t{http;ws;kindRegistry;providerRegistry;contributionsRegistry;constructor(e,i,r,o,l){this.http=e??s(J),this.ws=i??s(H),this.kindRegistry=r??s(A),this.contributionsRegistry=o??s(re),this.providerRegistry=l??s(D)}async health(){return this.getJson(`${p}/health`)}async loadScan(){let[e]=await Promise.all([this.getJson(`${p}/scan`),this.listNodes({limit:0}).catch(()=>null)]);return e}async runScan(){return this.patchJson(`${p}/scan`,{},"POST")}async listNodes(e={}){let i=Lt(e),r=await this.getJson(`${p}/nodes${i}`);return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async getNode(e,i={}){let r=se(e),o=i.includeBody?"?include=body":"";try{let l=await this.getJson(`${p}/nodes/${r}${o}`);return this.ingestRegistry(l.kindRegistry),this.ingestContributionsRegistry(l.contributionsRegistry),this.ingestProviderRegistry(l.providerRegistry),l}catch(l){if(l instanceof h&&l.code==="not-found")return null;throw l}}async listLinks(e={}){let i=$t(e),r=await this.getJson(`${p}/links${i}`);return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async listIssues(e={}){let i=zt(e),r=await this.getJson(`${p}/issues${i}`);return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async loadGraph(e="ascii"){let i=`${p}/graph?format=${encodeURIComponent(e)}`;try{return await U(this.http.get(i,{responseType:"text"}))}catch(r){throw this.translateError(r)}}async loadConfig(){let e=await this.getJson(`${p}/config`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e.value}async listPlugins(){let e=await this.getJson(`${p}/plugins`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e}async setPluginEnabled(e,i){let r=await this.patchJson(`${p}/plugins/${encodeURIComponent(e)}`,{enabled:i});return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async setPluginExtensionEnabled(e,i,r){let o=await this.patchJson(`${p}/plugins/${encodeURIComponent(e)}/extensions/${encodeURIComponent(i)}`,{enabled:r});return this.ingestRegistry(o.kindRegistry),this.ingestContributionsRegistry(o.contributionsRegistry),this.ingestProviderRegistry(o.providerRegistry),o}async applyPluginChanges(e){let i=await this.patchJson(`${p}/plugins`,{changes:e});return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async getPreferences(){return await this.getJson(`${p}/preferences`)}async setPreferences(e){return await this.patchJson(`${p}/preferences`,e)}async getProjectPreferences(){return await this.getJson(`${p}/project-preferences`)}async setProjectPreferences(e){return await this.patchJson(`${p}/project-preferences`,e)}async getProjectIgnore(){return await this.getJson(`${p}/project-ignore`)}async setProjectIgnore(e){return await this.patchJson(`${p}/project-ignore`,e)}async getActiveProvider(){return await this.getJson(`${p}/active-provider`)}async setActiveProvider(e){return await this.patchJson(`${p}/active-provider`,{activeProvider:e})}async setFavorite(e){let i=se(e);try{await U(this.http.put(`${p}/favorites/${i}`,null))}catch(r){throw this.translateError(r)}}async unsetFavorite(e){let i=se(e);try{await U(this.http.delete(`${p}/favorites/${i}`))}catch(r){throw this.translateError(r)}}async bumpSidecar(e,i={}){let r={nodePath:e};return i.force!==void 0&&(r.force=i.force),i.confirm!==void 0&&(r.confirm=i.confirm),this.patchJson(`${p}/sidecar/bump`,r,"POST")}async getUpdateStatus(){return this.getJson(`${p}/update-status`)}async getRegisteredAnnotations(){return(await this.getJson(`${p}/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,i,r){let o=new URLSearchParams({path:r});try{return(await this.getJson(`${p}/contributions/${encodeURIComponent(e)}/${encodeURIComponent(i)}?${o.toString()}`)).items[0]??null}catch{return null}}events(){return this.ws.events$}async getJson(e){try{return await U(this.http.get(e))}catch(i){throw this.translateError(i)}}async patchJson(e,i,r="PATCH"){try{let o=r==="POST"?this.http.post(e,i):this.http.patch(e,i);return await U(o)}catch(o){throw this.translateError(o)}}translateError(e){if(e instanceof h)return e;if(e instanceof Oe){let r=jt(e.error);return r?new h(r.error.code,r.error.message,r.error.details):new h("internal",e.message||E.errors.malformedResponse)}let i=e instanceof Error?e.message:String(e);return new h("internal",i)}static \u0275fac=function(i){return new(i||t)(B(J),B(H),B(A),B(re),B(D))};static \u0275prov=S({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Lt(t){let n=new URLSearchParams;t.kind&&t.kind.length>0&&n.set("kind",t.kind.join(",")),t.hasIssues!==void 0&&n.set("hasIssues",String(t.hasIssues)),t.path&&n.set("path",t.path),t.limit!==void 0&&n.set("limit",String(t.limit)),t.offset!==void 0&&n.set("offset",String(t.offset));let e=n.toString();return e?`?${e}`:""}function $t(t){let n=new URLSearchParams;t.kind&&t.kind.length>0&&n.set("kind",t.kind.join(",")),t.from&&n.set("from",t.from),t.to&&n.set("to",t.to);let e=n.toString();return e?`?${e}`:""}function zt(t){let n=new URLSearchParams;t.severity&&n.set("severity",t.severity),t.analyzerId&&n.set("analyzerId",t.analyzerId),t.node&&n.set("node",t.node),t.nodes&&t.nodes.length>0&&n.set("nodes",t.nodes.join(","));let e=n.toString();return e?`?${e}`:""}function jt(t){if(typeof t!="object"||t===null)return null;let n=t;if(n.ok!==!1)return null;let e=n.error;if(typeof e!="object"||e===null)return null;let i=e;return typeof i.code!="string"||typeof i.message!="string"?null:{ok:!1,error:{code:i.code,message:i.message,details:i.details}}}var Nt="data.json",Ft="data.meta.json",ae=class{fetchImpl;metaPromise=null;dataPromise=null;kindRegistry;providerRegistry;constructor(n=globalThis.fetch.bind(globalThis),e,i){this.fetchImpl=n,this.kindRegistry=e??s(A),this.providerRegistry=i??s(D)}async health(){return(await this.loadMeta()).health}async loadScan(){let[n,e]=await Promise.all([this.loadData(),this.loadMeta()]);return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),n}async listNodes(n={}){let e=await this.loadMeta();if(Ut(n))return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),e.nodes;let i=await this.loadData(),r=i.issues,o=i.nodes;if(n.kind&&n.kind.length>0){let x=new Set(n.kind);o=o.filter(C=>x.has(C.kind))}if(n.path){let x=Jt(n.path);o=o.filter(C=>x.test(C.path))}if(n.hasIssues===!0){let x=ct(r);o=o.filter(C=>x.has(C.path))}else if(n.hasIssues===!1){let x=ct(r);o=o.filter(C=>!x.has(C.path))}let l=o.length,g=n.offset??0,w=n.limit??1e3,f=o.slice(g,g+w);return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),{schemaVersion:"1",kind:"nodes",items:f,filters:{kind:n.kind??null,hasIssues:n.hasIssues??null,path:n.path?[n.path]:null},counts:{total:l,returned:f.length,page:{offset:g,limit:w}},kindRegistry:e.nodes.kindRegistry,providerRegistry:e.nodes.providerRegistry}}async getNode(n,e={}){let[i,r]=await Promise.all([this.loadData(),this.loadMeta()]),o=i.nodes.find(f=>f.path===n);if(!o)return null;let l=i.links.filter(f=>f.target===n),g=i.links.filter(f=>f.source===n),w=i.issues.filter(f=>f.nodeIds.includes(n));return this.kindRegistry.ingest(r.nodes.kindRegistry),this.providerRegistry.ingest(r.nodes.providerRegistry),{schemaVersion:"1",kind:"node",item:o,links:{incoming:l,outgoing:g},issues:w,kindRegistry:r.nodes.kindRegistry,providerRegistry:r.nodes.providerRegistry}}async listLinks(n={}){let e=await this.loadMeta();if(Bt(n))return this.kindRegistry.ingest(e.links.kindRegistry),this.providerRegistry.ingest(e.links.providerRegistry),e.links;let r=(await this.loadData()).links;if(n.kind&&n.kind.length>0){let o=new Set(n.kind);r=r.filter(l=>o.has(l.kind))}return n.from&&(r=r.filter(o=>o.source===n.from)),n.to&&(r=r.filter(o=>o.target===n.to)),this.kindRegistry.ingest(e.links.kindRegistry),this.providerRegistry.ingest(e.links.providerRegistry),{schemaVersion:"1",kind:"links",items:r,filters:{kind:n.kind??null,from:n.from??null,to:n.to??null},counts:{total:r.length,returned:r.length},kindRegistry:e.links.kindRegistry,providerRegistry:e.links.providerRegistry}}async listIssues(n={}){let e=await this.loadMeta();if(Vt(n))return this.kindRegistry.ingest(e.issues.kindRegistry),this.providerRegistry.ingest(e.issues.providerRegistry),e.issues;let r=(await this.loadData()).issues;if(n.severity&&(r=r.filter(o=>o.severity===n.severity)),n.analyzerId&&(r=r.filter(o=>o.analyzerId===n.analyzerId)),n.node&&(r=r.filter(o=>o.nodeIds.includes(n.node))),n.nodes&&n.nodes.length>0){let o=new Set(n.nodes);r=r.filter(l=>l.nodeIds.some(g=>o.has(g)))}return this.kindRegistry.ingest(e.issues.kindRegistry),this.providerRegistry.ingest(e.issues.providerRegistry),{schemaVersion:"1",kind:"issues",items:r,filters:{severity:n.severity??null,analyzerId:n.analyzerId??null,node:n.node??null,nodes:n.nodes&&n.nodes.length>0?[...n.nodes]:null},counts:{total:r.length,returned:r.length},kindRegistry:e.issues.kindRegistry,providerRegistry:e.issues.providerRegistry}}async loadGraph(n="ascii"){if(n!=="ascii")throw new h("bad-query",E.errors.graphFormatNotInDemo(n));return(await this.loadMeta()).graph.ascii}async loadConfig(){let n=await this.loadMeta();return this.kindRegistry.ingest(n.config.kindRegistry),this.providerRegistry.ingest(n.config.providerRegistry),n.config.value}async listPlugins(){let n=await this.loadMeta();return this.kindRegistry.ingest(n.plugins.kindRegistry),this.providerRegistry.ingest(n.plugins.providerRegistry),n.plugins}async setFavorite(n){throw new h("demo-readonly","Favorites are not available in demo mode (static bundle is immutable).")}async unsetFavorite(n){throw new h("demo-readonly","Favorites are not available in demo mode (static bundle is immutable).")}async setPluginEnabled(n,e){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async setPluginExtensionEnabled(n,e,i){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async applyPluginChanges(n){throw new h("demo-readonly","Plugin toggles are 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(n){throw new h("demo-readonly","Preference toggles are not available in demo mode (static bundle is immutable).")}async getProjectPreferences(){return{scan:{referencePaths:[]}}}async setProjectPreferences(n){throw new h("demo-readonly","Project preferences are not available in demo mode (static bundle is immutable).")}async getProjectIgnore(){return{patterns:[]}}async setProjectIgnore(n){throw new h("demo-readonly","Ignore patterns are not available in demo mode (static bundle is immutable).")}async getActiveProvider(){return{activeProvider:null,detected:[],source:"none"}}async setActiveProvider(n){throw new h("demo-readonly","Active provider lens is not available in demo mode (static bundle is immutable).")}async lookupContribution(){return null}async bumpSidecar(n,e={}){throw new h("demo-readonly","Sidecar bump is 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 ue}loadMeta(){return this.metaPromise||(this.metaPromise=this.fetchJson(Ft)),this.metaPromise}loadData(){return this.dataPromise||(this.dataPromise=this.fetchJson(Nt)),this.dataPromise}async fetchJson(n){let e;try{e=await this.fetchImpl(n)}catch(i){let r=i instanceof Error?i.message:String(i);throw new h("internal",E.errors.demoFetchFailed(n,r))}if(!e.ok)throw new h("internal",E.errors.demoFetchFailed(n,`HTTP ${e.status}`));try{return await e.json()}catch(i){let r=i instanceof Error?i.message:String(i);throw new h("internal",E.errors.demoParseFailed(n,r))}}};function Ut(t){return!(t.kind&&t.kind.length>0||t.hasIssues!==void 0||t.path||t.offset!==void 0&&t.offset!==0||t.limit!==void 0)}function Bt(t){return!(t.kind&&t.kind.length>0||t.from||t.to)}function Vt(t){return!(t.severity||t.analyzerId||t.node||t.nodes&&t.nodes.length>0)}function ct(t){let n=new Set;for(let e of t)for(let i of e.nodeIds)n.add(i);return n}function Jt(t){let e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${e}$`)}function pt(){let t=s(K);if(t==="live")return new dt(s(J),s(H));if(t==="demo")return new ae;let n=t;throw new Error(E.errors.unknownMode(String(n)))}var mt="search",gt="kinds",ht="linkKinds",ut="stabilities",ft="hasIssues",vt="staleOnly",bt="favoritesOnly",yt="severities",Kt=["error","warn"],_t=(()=>{class t{filters=s(Qe);router=s(ze);activatedRoute=s(Le);kindRegistry=s(A);destroyRef=s(fe);suppressUrlReadback=!1;constructor(){this.applyUrlToFilters(this.currentParams()),this.router.events.pipe(He(this.destroyRef)).subscribe(e=>{if(e instanceof De){if(this.suppressUrlReadback)return;this.applyUrlToFilters(this.currentParams())}}),Z(()=>{let e=this.computeQueryParams();this.writeQueryParams(e)})}currentParams(){let e=this.router.parseUrl(this.router.url),i=new URLSearchParams;for(let[r,o]of Object.entries(e.queryParams))Array.isArray(o)?i.set(r,o.join(",")):o!=null&&i.set(r,String(o));return this.activatedRoute,i}applyUrlToFilters(e){let i=e.get(mt)??"";i!==this.filters.searchText()&&this.filters.setSearchText(i);let r=Ht(e.get(gt),this.kindRegistry.kinds().map(Dt=>Dt.name));le(r,this.filters.selectedKinds())||this.filters.setKinds(r);let o=Xt(e.get(ut));le(o,this.filters.selectedStabilities())||this.filters.setStabilities(o);let l=e.get(ft)==="true";l!==this.filters.hasIssuesOnly()&&this.filters.setHasIssuesOnly(l);let g=e.get(vt)==="true";g!==this.filters.staleOnly()&&this.filters.setStaleOnly(g);let w=e.get(bt)==="true";w!==this.filters.favoritesOnly()&&this.filters.setFavoritesOnly(w);let f=Wt(e.get(ht));le(f,this.filters.selectedLinkKinds())||this.filters.setLinkKinds(f);let x=Yt(e.get(yt)),C=[];this.filters.severityErrorActive()&&C.push("error"),this.filters.severityWarnActive()&&C.push("warn"),le(x,C)||this.filters.setSeverityFilters(x)}computeQueryParams(){let e=this.filters.searchText().trim(),i=this.filters.selectedKinds(),r=this.filters.selectedLinkKinds(),o=this.filters.selectedStabilities(),l=this.filters.hasIssuesOnly(),g=this.filters.staleOnly(),w=this.filters.favoritesOnly(),f=[];return this.filters.severityErrorActive()&&f.push("error"),this.filters.severityWarnActive()&&f.push("warn"),{[mt]:e.length>0?e:null,[gt]:i.length>0?i.join(","):null,[ht]:r.length>0?r.join(","):null,[ut]:o.length>0?o.join(","):null,[ft]:l?"true":null,[vt]:g?"true":null,[bt]:w?"true":null,[yt]:f.length>0?f.join(","):null}}writeQueryParams(e){let i=this.currentParams(),r=new Map(Object.entries(e)),o=!1;for(let[l,g]of r)if((i.get(l)??null)!==g){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(i){return new(i||t)};static \u0275prov=S({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ht(t,n){if(!t)return[];let e=new Set(n);return t.split(",").map(i=>i.trim()).filter(i=>e.has(i))}function Xt(t){if(!t)return[];let n=new Set(We);return t.split(",").map(e=>e.trim()).filter(e=>n.has(e))}function Wt(t){if(!t)return[];let n=new Set(Ye);return t.split(",").map(e=>e.trim()).filter(e=>n.has(e))}function Yt(t){if(!t)return[];let n=new Set(Kt);return t.split(",").map(e=>e.trim()).filter(e=>n.has(e))}function le(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}var kt={healthFailed:t=>`ProjectInfoService: /api/health probe failed (${t})`};var W=(()=>{class t{dataSource=s(Q);status=I(null);cwd=c(()=>this.status()?.cwd??null);implVersion=c(()=>this.status()?.implVersion??null);dev=c(()=>this.status()?.dev===!0);activeProviderState=I(null);activeProvider=c(()=>this.activeProviderState());async load(){try{let e=await this.dataSource.health();this.status.set(e)}catch(e){let i=e instanceof Error?e.message:String(e);console.warn(kt.healthFailed(i))}await this.reloadActiveProvider()}async reloadActiveProvider(){try{let e=await this.dataSource.getActiveProvider();this.activeProviderState.set(e.activeProvider)}catch{}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=S({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Pt=(()=>{class t extends te{title=s(Ae);projectInfo=s(W);constructor(){super(),Z(()=>{let e=Ct(this.projectInfo.cwd()),i=this.projectInfo.implVersion();this.title.setTitle(M.documentTitle(e,i))})}updateTitle(e){let i=Ct(this.projectInfo.cwd()),r=this.projectInfo.implVersion();this.title.setTitle(M.documentTitle(i,r))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=S({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ct(t){if(!t)return null;let n=t.replace(/[\\/]+$/,"");if(!n||n===".")return null;let e=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"));return(e>=0?n.slice(e+1):n)||null}var ge=!1,he=null;async function wt(t){if(ge||pe===""||!t.consentEnabled)return;let n=await import("./chunk-X227ITGS.js");n.init({dsn:pe,release:t.release??void 0,environment:t.environment,integrations:e=>e.filter(i=>i.name!=="BrowserSession"),tracesSampleRate:0,sendDefaultPii:!1,allowUrls:[/^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?\//],beforeSend:e=>et(e)}),he=n,ge=!0}function xt(t){!ge||he===null||he.captureException(t)}var St=(()=>{class t{handleError(e){console.error(e),xt(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=S({token:t,factory:t.\u0275fac})}return t})();function Qt(...t){for(let n of t)Promise.resolve(n.load())}var Mt={providers:[be(),{provide:ve,useClass:St},Fe(lt,Ue()),{provide:te,useClass:Pt},Ee(Ie()),Ve({}),Y(async()=>{let t=s(Be),[{default:n},{definePreset:e}]=await Promise.all([import("./chunk-43S72FTV.js"),import("./chunk-5ITZXW3A.js")]),i=e(n,{semantic:{primary:{50:"#F5F3FF",100:"#EDE9FE",200:"#DDD6FE",300:"#C4B5FD",400:"#A78BFA",500:"#8B5CF6",600:"#7C3AED",700:"#6D28D9",800:"#4C1D95",900:"#2E1065",950:"#1E0A4D"}}});t.setThemeConfig({theme:{preset:i,options:{darkModeSelector:".app-dark"}}})}),{provide:K,useFactory:Xe},{provide:Q,useFactory:pt},Y(async()=>{let t=s(Q),n=s(G);try{let[e,i]=await Promise.all([t.getPreferences(),t.health()]);await Promise.all([wt({consentEnabled:e.telemetry.errorsEnabled,release:i.implVersion??null,environment:e.telemetry.environment}),tt({consentEnabled:e.telemetry.usageUiEnabled,distinctId:e.telemetry.anonymousId})]),nt({environment:e.telemetry.environment}),n.syncTheme()}catch{}}),Y(()=>{Qt(s(X),s(oe),s(W))}),Y(()=>{s(_t),s(Ze),s(G)})]};var F={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 Rt={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 Zt(t,n){if(t&1){let e=z();d(0,"div",0),P(1,"span",1),d(2,"p",2),u(3),d(4,"code",3),u(5),m()(),d(6,"a",4),u(7),m(),d(8,"p-button",5),O("onClick",function(){L(e);let r=y();return $(r.dismiss())}),m()()}if(t&2){let e=y();a(3),j(" ",e.texts.body," "),a(2),b(e.texts.installCommand),a(),v("href",e.texts.homeHref,q),a(),b(e.texts.homeCta),a(),v("ariaLabel",e.texts.dismissAria)("text",!0)("rounded",!0)}}var Tt="sm.demoBannerDismissed",Ot=(()=>{class t{mode=s(K);texts=Rt;dismissed=I(this.readDismissed());visible=c(()=>this.mode==="demo"&&!this.dismissed());dismiss(){this.dismissed.set(!0);try{globalThis.localStorage?.setItem(Tt,"1")}catch{}}readDismissed(){if(this.mode!=="demo")return!0;try{return globalThis.localStorage?.getItem(Tt)==="1"}catch{return!1}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=V({type:t,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(i,r){i&1&&R(0,Zt,9,7,"div",0),i&2&&T(r.visible()?0:-1)},dependencies:[ie,ne],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 t})();var Et={bodyAtLimit:(t,n)=>`Your graph has ${t} ${t===1?"node":"nodes"}, at the recommended limit of ${n}. Past this point the map gets hard to read and analyzer signal degrades.`,bodyOverLimit:(t,n,e)=>`Your graph has ${t} nodes, over the recommended limit of ${n} (currently allowed via --max-nodes ${e}). Past this point the map gets hard to read and analyzer signal degrades.`,bodyCapped:(t,n,e)=>`Scan capped at ${n} ${n===1?"node":"nodes"} (${e==="override"?"--max-nodes":"scan.maxNodes"}). The walker stopped at ${t} ${t===1?"file":"files"}, additional files were dropped. The map and analyzers only see what made it through.`,cta:"Edit .skillmapignore",ctaAria:"Open Settings to edit ignored patterns"};function qt(t,n){if(t&1){let e=z();ee(0,"div",0),Ce(1,"span",1),ee(2,"p",2),u(3),de(),ee(4,"button",3),Pe("click",function(){L(e);let r=y();return $(r.onCta())}),u(5),de()()}if(t&2){let e=y();_("data-mode",e.state().mode),a(3),j(" ",e.state().body," "),a(),_("aria-label",e.texts.ctaAria),a(),j(" ",e.texts.cta," ")}}var It=(()=>{class t{loader=s(X);texts=Et;openSettings=Se();state=c(()=>{let e=this.loader.scan();if(!e)return{mode:"hidden",body:""};let i=e.recommendedNodeLimit;if(i===void 0)return{mode:"hidden",body:""};let r=e.overrideMaxNodes??null,o=r??i,l=e.stats.filesWalked,g=e.stats.nodesCount;return l>o?{mode:"capped",body:this.texts.bodyCapped(l,o,r!==null?"override":"setting")}:g<i?{mode:"hidden",body:""}:r!==null&&g>i?{mode:"overLimit",body:this.texts.bodyOverLimit(g,i,r)}:{mode:"atLimit",body:this.texts.bodyAtLimit(g,i)}});visible=c(()=>this.state().mode!=="hidden");onCta(){this.openSettings.emit()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=V({type:t,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(i,r){i&1&&R(0,qt,6,4,"div",0),i&2&&T(r.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}.oversized-banner[data-mode=capped][_ngcontent-%COMP%]{background:var(--sm-severity-error-bg);color:var(--sm-severity-error)}.oversized-banner[data-mode=overLimit][_ngcontent-%COMP%], .oversized-banner[data-mode=atLimit][_ngcontent-%COMP%]{background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn)}.oversized-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem}.oversized-banner[data-mode=capped][_ngcontent-%COMP%] .oversized-banner__icon[_ngcontent-%COMP%]{color:var(--sm-severity-error)}.oversized-banner[data-mode=overLimit][_ngcontent-%COMP%] .oversized-banner__icon[_ngcontent-%COMP%], .oversized-banner[data-mode=atLimit][_ngcontent-%COMP%] .oversized-banner__icon[_ngcontent-%COMP%]{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 t})();var en=()=>[import("./chunk-DL5EA245.js").then(t=>t.SettingsModal)];function tn(t,n){if(t&1&&(d(0,"span",11),u(1),m()),t&2){let e=y();v("pTooltip",e.versionTooltip()),_("aria-label",e.texts.devChipA11y),a(),b(e.texts.devChip)}}function nn(t,n){if(t&1&&(d(0,"span",12),u(1),m()),t&2){let e=y();v("pTooltip",e.versionTooltip()),_("aria-label",e.versionA11y()),a(),b(e.versionLabel())}}function rn(t,n){if(t&1&&(d(0,"span",26),u(1),m()),t&2){let e=n,i=y();we("--provider-color",e.color)("--provider-color-dark",e.colorDark??e.color),v("pTooltip",i.texts.lensChipTooltip(e.label)),_("aria-label",i.texts.lensChipA11y(e.label)),a(),b(e.label)}}function on(t,n){if(t&1){let e=z();d(0,"button",27),O("click",function(){L(e);let r=y();return $(r.copyUpdateCommand())}),P(1,"i",28),d(2,"span"),u(3),m()(),d(4,"a",29),P(5,"i",30),m()}if(t&2){let e=y();v("pTooltip",e.updateChipTooltip()),_("aria-label",e.updateChipA11y()),a(),xe(e.updateChipIcon()),a(2),b(e.updateChipText()),a(),v("href",e.npmLinkUrl,q)("pTooltip",e.npmLinkTooltip),_("aria-label",e.npmLinkA11y)}}function sn(t,n){if(t&1&&(d(0,"p",15)(1,"bdi",31),u(2),m()()),t&2){let e=n;_("title",e),a(2),b(e)}}function an(t,n){if(t&1){let e=z();d(0,"sm-settings-modal",32),O("visibleChange",function(r){L(e);let o=y();return $(o.onSettingsVisibleChange(r))}),m()}if(t&2){let e=y();v("visible",e.settingsOpen())}}var At=(()=>{class t{loader=s(X);theme=s(it);projectInfo=s(W);providerRegistry=s(D);scanTrigger=s(at);usageTracker=s(G);updateCheck=s(oe);texts=M;settingsTexts=st;settingsOpen=I(!1);openSettings(){this.settingsOpen.set(!0),this.usageTracker.trackFeature("settings")}onSettingsVisibleChange(e){this.settingsOpen.set(e),e||this.projectInfo.reloadActiveProvider()}scanning=this.scanTrigger.scanning;scanError=this.scanTrigger.scanError;triggerScan(){return this.scanTrigger.run()}updateChipCopied=I(!1);updateChipText=c(()=>this.updateChipCopied()?k.copiedLabel:k.available);updateChipIcon=c(()=>this.updateChipCopied()?"pi pi-check":"pi pi-download");updateChipTooltip=c(()=>this.updateChipCopied()?k.copiedTooltip:k.tooltip(this.updateCheck.latest()??""));updateChipA11y=c(()=>k.a11yLabel(this.updateCheck.latest()??""));npmLinkUrl=k.npmLinkUrl;npmLinkTooltip=k.npmLinkTooltip;npmLinkA11y=k.npmLinkA11y;async copyUpdateCommand(){try{await navigator.clipboard.writeText(k.copyCommand),this.updateChipCopied.set(!0),setTimeout(()=>this.updateChipCopied.set(!1),2e3)}catch{}}versionLabel=c(()=>k.versionLabel(this.updateCheck.current()??""));versionTooltip=c(()=>k.versionTooltip(this.updateCheck.current()??""));versionA11y=c(()=>k.versionA11yLabel(this.updateCheck.current()??""));isDevBuild=this.projectInfo.dev;lensChip=c(()=>this.providerRegistry.lensChip(this.projectInfo.activeProvider()));count=this.loader.count;linkAnalysis=c(()=>rt(this.loader.nodes(),this.loader.scan()));linkCount=c(()=>this.linkAnalysis().raw);mapInfoTooltip=c(()=>M.badge.mapInfo(this.count(),this.linkAnalysis()));mapInfoA11y=c(()=>M.badge.mapInfoA11y(this.count(),this.linkAnalysis()));rootLabel=c(()=>{let e=this.projectInfo.cwd();if(e&&e!==".")return e;let i=this.loader.scan()?.roots??[];if(i.length===0)return"";let r=i[0].replace(/[\\/]+$/,"");return!r||r==="."?"":r});isDevMode=Me();themeMode=this.theme.mode;markSrc=c(()=>this.theme.extraTheme()==="matrix"?"skill-map-mark-matrix.svg":this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");themeIcon=c(()=>{switch(this.themeMode()){case"auto":return"pi pi-desktop";case"light":return"pi pi-sun";case"dark":return"fa-regular fa-moon"}});themeLabel=c(()=>{switch(this.themeMode()){case"auto":return F.toggleToLight;case"light":return F.toggleToDark;case"dark":return F.toggleToAuto}});themeTooltip=c(()=>{switch(this.themeMode()){case"auto":return F.currentAuto;case"light":return F.currentLight;case"dark":return F.currentDark}});toggleTheme(){this.theme.toggle()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=V({type:t,selectors:[["sm-root"]],decls:41,vars:32,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__alpha"],["data-testid","shell-root-label",1,"shell__tag"],["data-testid","shell-nav",1,"shell__nav"],["slot","topbar.nav.start",3,"node"],["routerLink","/map","routerLinkActive","is-active","queryParamsHandling","preserve","data-testid","nav-graph"],["routerLink","/files","routerLinkActive","is-active","queryParamsHandling","preserve","data-testid","nav-files"],[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"],["severity","secondary","size","small","data-testid","action-theme-toggle",3,"onClick","icon","ariaLabel","pTooltip","text","rounded"],["icon","pi pi-sliders-h","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(i,r){if(i&1&&(d(0,"div",0)(1,"div",1),P(2,"i",2),d(3,"h2",3),u(4),m(),d(5,"p",4),u(6),m(),d(7,"p",5),u(8),m()()(),d(9,"div",6),P(10,"sm-demo-banner"),d(11,"sm-oversized-banner",7),O("openSettings",function(){return r.openSettings()}),m(),d(12,"header",8)(13,"div",9),P(14,"img",10),d(15,"div")(16,"h1"),u(17),R(18,tn,2,3,"span",11)(19,nn,2,3,"span",12),R(20,rn,2,7,"span",13),d(21,"span",14),u(22),m(),R(23,on,6,8),m(),R(24,sn,3,2,"p",15),m()(),d(25,"nav",16),P(26,"sm-view-contributions-host",17),d(27,"a",18),u(28),m(),d(29,"a",19),u(30),m()(),d(31,"div",20)(32,"button",21),O("click",function(){return r.triggerScan()}),P(33,"i",22),m(),d(34,"p-button",23),O("onClick",function(){return r.toggleTheme()}),m(),d(35,"p-button",24),O("onClick",function(){return r.openSettings()}),m()()(),d(36,"main",25),P(37,"router-outlet"),m(),ye(38,an,1,1),_e(39,38,en),m()),i&2){let o,l,g;a(4),b(r.texts.viewportWarning.title),a(2),b(r.texts.viewportWarning.subtitle),a(2),b(r.texts.viewportWarning.body),a(6),v("ngSrc",r.markSrc()),a(3),j(" ",r.texts.brand," "),a(),T(r.isDevBuild()?18:(o=r.updateCheck.current())?19:-1,o),a(2),T((l=r.lensChip())?20:-1,l),a(),_("aria-label",r.texts.alpha),a(),b(r.texts.alpha),a(),T(r.updateCheck.isOutdated()&&!r.isDevMode?23:-1),a(),T((g=r.rootLabel())?24:-1,g),a(),_("aria-label",r.texts.a11y.viewSwitcher),a(),v("node",null),a(2),b(r.texts.nav.map),a(2),b(r.texts.nav.files),a(2),ce("is-spinning",r.scanning()),v("pTooltip",r.mapInfoTooltip())("disabled",r.scanning()),_("aria-label",r.mapInfoA11y()),a(),ce("pi-spin",r.scanning()),a(),v("icon",r.themeIcon())("ariaLabel",r.themeLabel())("pTooltip",r.themeTooltip())("text",!0)("rounded",!0),a(),v("ariaLabel",r.settingsTexts.a11y.triggerLabel)("pTooltip",r.settingsTexts.triggerTooltip)("text",!0)("rounded",!0),a(4),ke(r.settingsOpen())}},dependencies:[$e,je,Ne,ie,ne,ot,Ke,Je,Ge,Re,Ot,It,qe],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__alpha[_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__alpha[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__alpha[_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(--p-monospace-font-family);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__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 t})();Te(At,Mt).catch(t=>console.error(t));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skill-map/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.0",
|
|
4
4
|
"description": "skill-map reference implementation — kernel + CLI + adapters.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@hono/node-server": "2.0.1",
|
|
49
|
+
"@sentry/node": "10.55.0",
|
|
49
50
|
"ajv": "8.18.0",
|
|
50
51
|
"ajv-formats": "3.0.1",
|
|
51
52
|
"chokidar": "5.0.0",
|
|
@@ -55,11 +56,12 @@
|
|
|
55
56
|
"js-tiktoken": "1.0.21",
|
|
56
57
|
"js-yaml": "4.1.1",
|
|
57
58
|
"kysely": "0.28.17",
|
|
59
|
+
"posthog-node": "5.35.6",
|
|
58
60
|
"semver": "7.7.4",
|
|
59
61
|
"smol-toml": "1.6.1",
|
|
60
62
|
"typanion": "3.14.0",
|
|
61
63
|
"ws": "8.21.0",
|
|
62
|
-
"@skill-map/spec": "0.
|
|
64
|
+
"@skill-map/spec": "0.41.0"
|
|
63
65
|
},
|
|
64
66
|
"devDependencies": {
|
|
65
67
|
"@eslint/js": "10.0.1",
|
|
@@ -89,21 +91,20 @@
|
|
|
89
91
|
"typecheck": "tsc --noEmit",
|
|
90
92
|
"lint": "eslint .",
|
|
91
93
|
"lint:fix": "eslint . --fix",
|
|
92
|
-
"reference": "node scripts/build-reference.js",
|
|
93
|
-
"reference:check": "node scripts/build-reference.js --check",
|
|
94
94
|
"build-built-ins": "node ../scripts/generate-built-ins.js",
|
|
95
95
|
"built-ins:check": "node ../scripts/generate-built-ins.js --check",
|
|
96
96
|
"prebuild": "pnpm build-built-ins",
|
|
97
97
|
"validate": "pnpm validate:compile && pnpm validate:test",
|
|
98
|
-
"validate:compile": "pnpm typecheck && pnpm lint && pnpm build && pnpm
|
|
98
|
+
"validate:compile": "pnpm typecheck && pnpm lint && pnpm build && pnpm built-ins:check",
|
|
99
99
|
"validate:test": "pnpm test:ci",
|
|
100
100
|
"pretest": "tsup",
|
|
101
101
|
"pretest:coverage": "tsup",
|
|
102
102
|
"pretest:coverage:html": "tsup",
|
|
103
|
-
"test": "tsc --noEmit && node --import tsx --test --test-reporter=
|
|
104
|
-
"test:ci": "node --import tsx --test '__tests__/**/*.spec.ts' 'kernel/**/__tests__/**/*.spec.ts' 'cli/**/__tests__/**/*.spec.ts' 'server/**/__tests__/**/*.spec.ts' 'plugins/**/__tests__/**/*.spec.ts' 'core/**/__tests__/**/*.spec.ts' 'conformance/**/__tests__/**/*.spec.ts'",
|
|
105
|
-
"test:
|
|
106
|
-
"test:coverage
|
|
103
|
+
"test": "tsc --noEmit && SKILL_MAP_TELEMETRY=0 node --import tsx --test --test-reporter=./scripts/test-reporter.js --test-reporter-destination=stdout '__tests__/**/*.spec.ts' 'kernel/**/__tests__/**/*.spec.ts' 'cli/**/__tests__/**/*.spec.ts' 'server/**/__tests__/**/*.spec.ts' 'plugins/**/__tests__/**/*.spec.ts' 'core/**/__tests__/**/*.spec.ts' 'conformance/**/__tests__/**/*.spec.ts'",
|
|
104
|
+
"test:ci": "FORCE_COLOR=1 SKILL_MAP_TELEMETRY=0 node --import tsx --test --test-reporter=./scripts/test-reporter.js --test-reporter-destination=stdout '__tests__/**/*.spec.ts' 'kernel/**/__tests__/**/*.spec.ts' 'cli/**/__tests__/**/*.spec.ts' 'server/**/__tests__/**/*.spec.ts' 'plugins/**/__tests__/**/*.spec.ts' 'core/**/__tests__/**/*.spec.ts' 'conformance/**/__tests__/**/*.spec.ts'",
|
|
105
|
+
"test:spec": "SKILL_MAP_TELEMETRY=0 node --import tsx --test --test-reporter=spec '__tests__/**/*.spec.ts' 'kernel/**/__tests__/**/*.spec.ts' 'cli/**/__tests__/**/*.spec.ts' 'server/**/__tests__/**/*.spec.ts' 'plugins/**/__tests__/**/*.spec.ts' 'core/**/__tests__/**/*.spec.ts' 'conformance/**/__tests__/**/*.spec.ts'",
|
|
106
|
+
"test:coverage": "tsc --noEmit && SKILL_MAP_TELEMETRY=0 SKILL_MAP_SKIP_BENCHMARK=1 node --experimental-default-config-file --import tsx --test --experimental-test-coverage '__tests__/**/*.spec.ts' 'kernel/**/__tests__/**/*.spec.ts' 'cli/**/__tests__/**/*.spec.ts' 'server/**/__tests__/**/*.spec.ts' 'plugins/**/__tests__/**/*.spec.ts' 'core/**/__tests__/**/*.spec.ts' 'conformance/**/__tests__/**/*.spec.ts'",
|
|
107
|
+
"test:coverage:html": "tsc --noEmit && SKILL_MAP_TELEMETRY=0 SKILL_MAP_SKIP_BENCHMARK=1 c8 node --import tsx --test '__tests__/**/*.spec.ts' 'kernel/**/__tests__/**/*.spec.ts' 'cli/**/__tests__/**/*.spec.ts' 'server/**/__tests__/**/*.spec.ts' 'plugins/**/__tests__/**/*.spec.ts' 'core/**/__tests__/**/*.spec.ts' 'conformance/**/__tests__/**/*.spec.ts'",
|
|
107
108
|
"clean": "rm -rf dist coverage"
|
|
108
109
|
}
|
|
109
110
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as f,N as T,Y as _,ea as l,mc as y}from"./chunk-YL6SWAFJ.js";var B=new Set(["stale-body","stale-frontmatter","stale-both"]);function p(t){return t?B.has(t.status??null):!1}function c(t){let e=t.metadata;return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Z(t){if(!t)return null;let e=t.sidecar?.annotations;if(e&&typeof e.version=="number")return`v${e.version}`;let n=c(t.frontmatter)?.version;return typeof n=="string"&&n.length>0?`v${n}`:null}function v(t){if(!t)return null;let n=t.sidecar?.annotations?.stability;if(n==="stable"||n==="experimental"||n==="deprecated")return n;let r=c(t.frontmatter)?.stability;return r==="stable"||r==="experimental"||r==="deprecated"?r:null}function Q(t){if(!t)return[];let e=t.frontmatter,n=[];if(t.kind==="agent"&&Array.isArray(e.tools))for(let r of e.tools)typeof r=="string"&&r.length>0&&n.push(r);if(t.kind==="skill"||t.kind==="command"){let r=e["allowed-tools"];if(Array.isArray(r))for(let i of r)typeof i=="string"&&i.length>0&&n.push(i);else typeof r=="string"&&r.length>0&&n.push(r)}return n}function Y(t){return p(t?.sidecar)}function S(t){if(!t)return null;let n=t.sidecar?.annotations?.supersededBy;if(typeof n=="string"&&n.length>0)return n;let r=c(t.frontmatter)?.supersededBy;return typeof r=="string"&&r.length>0?r:null}function E(t){if(!t)return[];let n=t.sidecar?.annotations?.tags;if(Array.isArray(n))return n.filter(i=>typeof i=="string"&&i.length>0);let r=c(t.frontmatter)?.tags;return Array.isArray(r)?r.filter(i=>typeof i=="string"&&i.length>0):[]}function ee(t,e){switch(t?.sidecar?.status){case"stale-body":return e.staleBody;case"stale-frontmatter":return e.staleFrontmatter;case"stale-both":return e.staleBoth;default:return""}}function te(t){return t<1e3?`${t}`:t<1e4?`${(t/1e3).toFixed(1).replace(/\.0$/,"")}k`:`${Math.round(t/1e3)}k`}function ne(t){let e=new Date(t);if(isNaN(e.getTime()))return t;let n=Date.now()-e.getTime(),r=Math.floor(n/1e3);if(r<60)return"just now";let i=Math.floor(r/60);if(i<60)return`${i} minute${i===1?"":"s"} ago`;let o=Math.floor(i/60);if(o<24)return`${o} hour${o===1?"":"s"} ago`;let s=Math.floor(o/24);if(s<30)return`${s} day${s===1?"":"s"} ago`;let a=Math.floor(s/30);if(a<12)return`${a} month${a===1?"":"s"} ago`;let u=Math.floor(s/365);return`${u} year${u===1?"":"s"} ago`}var le=["stable","experimental","deprecated"],N=["invokes","references","mentions","supersedes"],A=class t{_searchText=l("");_selectedKinds=l([]);_kindToggleExplicitEmpty=l(!1);_selectedStabilities=l([]);_hasIssuesOnly=l(!1);_staleOnly=l(!1);_favoritesOnly=l(!1);_selectedLinkKinds=l([]);_severityErrorActive=l(!1);_severityWarnActive=l(!1);searchText=this._searchText.asReadonly();selectedKinds=this._selectedKinds.asReadonly();selectedStabilities=this._selectedStabilities.asReadonly();hasIssuesOnly=this._hasIssuesOnly.asReadonly();staleOnly=this._staleOnly.asReadonly();favoritesOnly=this._favoritesOnly.asReadonly();selectedLinkKinds=this._selectedLinkKinds.asReadonly();severityErrorActive=this._severityErrorActive.asReadonly();severityWarnActive=this._severityWarnActive.asReadonly();kindToggleExplicitEmpty=this._kindToggleExplicitEmpty.asReadonly();isActive=y(()=>this._searchText().trim().length>0||this._selectedKinds().length>0||this._kindToggleExplicitEmpty()||this._selectedStabilities().length>0||this._hasIssuesOnly()||this._staleOnly()||this._favoritesOnly()||this._selectedLinkKinds().length>0||this._severityErrorActive()||this._severityWarnActive());setSearchText(e){this._searchText.set(e)}setKinds(e){this._kindToggleExplicitEmpty.set(!1),this._selectedKinds.set([...e])}toggleKind(e,n){let r=this._selectedKinds(),i=n,s=this._kindToggleExplicitEmpty()?new Set:r.length===0?new Set(i):new Set(r);s.has(e)?s.delete(e):s.add(e),s.size===i.length?(this._selectedKinds.set([]),this._kindToggleExplicitEmpty.set(!1)):s.size===0?(this._selectedKinds.set([]),this._kindToggleExplicitEmpty.set(!0)):(this._selectedKinds.set([...s]),this._kindToggleExplicitEmpty.set(!1))}isKindActive(e){if(this._kindToggleExplicitEmpty())return!1;let n=this._selectedKinds();return n.length===0?!0:n.includes(e)}setStabilities(e){this._selectedStabilities.set([...e])}setHasIssuesOnly(e){this._hasIssuesOnly.set(e)}setStaleOnly(e){this._staleOnly.set(e)}setFavoritesOnly(e){this._favoritesOnly.set(e)}setLinkKinds(e){this._selectedLinkKinds.set([...e])}toggleLinkKind(e){let n=this._selectedLinkKinds(),r=n.length===0?new Set(N):new Set(n);r.has(e)?r.delete(e):r.add(e),r.size===N.length?this._selectedLinkKinds.set([]):this._selectedLinkKinds.set([...r])}isLinkKindActive(e){let n=this._selectedLinkKinds();return n.length===0?!0:n.includes(e)}toggleSeverity(e){e==="error"?this._severityErrorActive.set(!this._severityErrorActive()):this._severityWarnActive.set(!this._severityWarnActive())}isSeverityActive(e){return e==="error"?this._severityErrorActive():this._severityWarnActive()}setSeverityFilters(e){let n=new Set(e);this._severityErrorActive.set(n.has("error")),this._severityWarnActive.set(n.has("warn"))}reset(){this._searchText.set(""),this._selectedKinds.set([]),this._kindToggleExplicitEmpty.set(!1),this._selectedStabilities.set([]),this._hasIssuesOnly.set(!1),this._staleOnly.set(!1),this._favoritesOnly.set(!1),this._selectedLinkKinds.set([]),this._severityErrorActive.set(!1),this._severityWarnActive.set(!1)}apply(e,n){let r=this.searchText().trim().toLowerCase(),i=this.selectedKinds(),o=this._kindToggleExplicitEmpty(),s=this.selectedStabilities(),a=this.hasIssuesOnly(),u=this.staleOnly(),D=this.favoritesOnly(),k=this._severityErrorActive(),x=this._severityWarnActive(),F=(k||x)&&n!==void 0;return e.filter(d=>{if(r){let g=E(d).join(" ");if(![d.path,d.frontmatter.name??"",d.frontmatter.description??"",g].join(" ").toLowerCase().includes(r))return!1}if(o||i.length>0&&!i.includes(d.kind))return!1;if(s.length>0){let g=v(d);if(!g||!s.includes(g))return!1}return!(a&&!C(d,n)||u&&!p(d.sidecar)||D&&d.isFavorite!==!0||F&&(k&&!n.errors.has(d.path)||x&&!n.warns.has(d.path)))})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})};function C(t,e){return!!(v(t)==="deprecated"||S(t)!==null||e&&(e.errors.has(t.path)||e.warns.has(t.path)))}function b(t){let e=t.normalize("NFD");return e=e.replace(new RegExp("\\p{Mn}+","gu"),""),e=e.toLowerCase(),e=e.replace(/[-_\s]+/g," "),e=e.replace(/\s+/g," "),e.trim()}function ce(t){let e=new Map;return P(t,e),V(t,e),e}function P(t,e){for(let n of t){let r=w(n);if(r===null)continue;let i=b(r);e.has(i)||e.set(i,n.path)}}function V(t,e){for(let n of t){if(w(n)!==null)continue;let r=W(n.path);if(r.length===0)continue;let i=b(r);e.has(i)||e.set(i,n.path)}}function w(t){let e=t.frontmatter?.name;return typeof e!="string"||e.length===0?null:e}function W(t){let e=t.split("/").filter(r=>r.length>0);if(e.length===0)return t;let n=e[e.length-1];return n==="SKILL.md"&&e.length>=2?e[e.length-2]:n.replace(/\.md$/,"")}function ue(t,e,n){let r=t.charAt(0);if(r!=="/"&&r!=="@")return t;let i=e!==null?e.replace(/^[/@]/,"").trim():b(t.slice(1));return n.get(i)??t}var K={invalidHex:t=>`deriveTints: invalid hex color "${t}" (expected #RRGGBB)`};function m(t,e,n){return[Math.round(t[0]+(e[0]-t[0])*n),Math.round(t[1]+(e[1]-t[1])*n),Math.round(t[2]+(e[2]-t[2])*n)]}function H(t){let e=/^#([0-9a-f]{6})$/i.exec(t);if(!e)throw new Error(K.invalidHex(t));let n=parseInt(e[1],16);return[n>>16&255,n>>8&255,n&255]}function h([t,e,n]){let r=i=>Math.max(0,Math.min(255,i)).toString(16).padStart(2,"0");return`#${r(t)}${r(e)}${r(n)}`}var R=[255,255,255],O=[0,0,0];function I(t,e){let n=H(t);return e==="light"?{bg:h(m(n,R,.85)),fg:h(m(n,O,.5))}:{bg:h(m(n,O,.7)),fg:h(m(n,R,.6))}}var U=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,L=/^#[0-9a-f]{6}$/i,M=class t{doc=T(_);_entries=l([]);kinds=this._entries.asReadonly();index=y(()=>{let e=new Map;for(let n of this._entries())e.set(n.name,n);return e});ingest(e){if(!e)return;let n=[];for(let[i,o]of Object.entries(e)){if(!U.test(i))continue;let s=o.providers[o.primaryProviderId];if(!s)continue;let a={name:i,primaryProviderId:o.primaryProviderId,providers:o.providers,label:s.label,color:s.color};s.colorDark!==void 0&&(a.colorDark=s.colorDark),s.emoji!==void 0&&(a.emoji=s.emoji),s.icon!==void 0&&(a.icon=s.icon),n.push(a)}let r=this._entries();q(r,n)||(this._entries.set(n),this.applyCssVars())}lookup(e){return this.index().get(e)}labelOf(e){return this.lookup(e)?.label??e}colorOf(e,n="light"){let r=this.lookup(e);return r?n==="dark"?r.colorDark??r.color:r.color:"#9ca3af"}iconOf(e){return this.lookup(e)?.icon}emojiOf(e){return this.lookup(e)?.emoji}providersOf(e){return this.lookup(e)?.providers}applyCssVars(){if(!this.doc.head)return;let e=z(this.doc),n=[],r=[];for(let i of this._entries()){if(!L.test(i.color))continue;let o=i.colorDark??i.color;if(L.test(o))try{let s=I(i.color,"light"),a=I(o,"dark");n.push(`--sm-kind-${i.name}: ${i.color};`),n.push(`--sm-kind-${i.name}-bg: ${s.bg};`),n.push(`--sm-kind-${i.name}-fg: ${s.fg};`),r.push(`--sm-kind-${i.name}: ${o};`),r.push(`--sm-kind-${i.name}-bg: ${a.bg};`),r.push(`--sm-kind-${i.name}-fg: ${a.fg};`)}catch{continue}}e.textContent=`:root { ${n.join(" ")} } .app-dark { ${r.join(" ")} }`}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})},$="sm-kind-vars";function z(t){let e=t.getElementById($);return e||(e=t.createElement("style"),e.id=$,t.head.appendChild(e)),e}function q(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++){let r=t[n],i=e[n];if(r.name!==i.name||r.primaryProviderId!==i.primaryProviderId||JSON.stringify(r.providers)!==JSON.stringify(i.providers))return!1}return!0}export{p as a,Z as b,v as c,Q as d,Y as e,S as f,E as g,ee as h,te as i,ne as j,le as k,N as l,A as m,M as n,ce as o,W as p,ue as q};
|